更新方形Logo和头颈部CT默认分类
- 侧边栏 Logo 改为导入根目录 logo_square.png,favicon 也切换为 /logo_square.png,并让前端服务显式提供该根目录图片。 - 头颈部CT分割默认模板分类名改为纯中文,去掉括号英文翻译,颜色和 maskid 保持用户给定顺序。 - 增加旧版头颈部CT英文括号 label 的窄迁移,启动 seed 时自动把旧默认系统模板更新为纯中文默认。 - 更新前端 Logo 测试、后端默认模板和恢复出厂设置测试,覆盖纯中文分类和根目录方形 Logo。 - 更新 AGENTS、README、前端审计、需求冻结和测试计划文档,记录根目录 Logo 和头颈部CT纯中文默认分类。
This commit is contained in:
@@ -38,4 +38,10 @@ describe('Sidebar', () => {
|
||||
|
||||
expect(screen.getByTitle('AI智能分割').querySelector('[data-testid="ai-segmentation-icon"]')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('uses the root logo_square asset for the sidebar logo', () => {
|
||||
render(<Sidebar activeModule="dashboard" setActiveModule={vi.fn()} />);
|
||||
|
||||
expect(screen.getByAltText('Logo')).toHaveAttribute('src', expect.stringContaining('logo_square'));
|
||||
});
|
||||
});
|
||||
|
||||
@@ -5,6 +5,7 @@ import type { ActiveModule } from '../App';
|
||||
import { ModelStatusBadge } from './ModelStatusBadge';
|
||||
import { useStore } from '../store/useStore';
|
||||
import { AiSegmentationIcon } from './AiSegmentationIcon';
|
||||
import logoSquareUrl from '../../logo_square.png';
|
||||
|
||||
interface SidebarProps {
|
||||
activeModule: ActiveModule;
|
||||
@@ -26,7 +27,7 @@ export function Sidebar({ activeModule, setActiveModule }: SidebarProps) {
|
||||
return (
|
||||
<aside className="w-16 flex flex-col items-center py-6 bg-[#0d0d0d] border-r border-white/10 z-50 gap-8">
|
||||
<div className="w-10 h-10 rounded-lg overflow-hidden flex items-center justify-center bg-white">
|
||||
<img src="/logo.png" alt="Logo" className="w-full h-full object-cover" />
|
||||
<img src={logoSquareUrl} alt="Logo" className="w-full h-full object-cover" />
|
||||
</div>
|
||||
<nav className="flex flex-col gap-6 w-full px-2">
|
||||
{navItems.map((item) => {
|
||||
|
||||
Reference in New Issue
Block a user