|
@@ -0,0 +1,101 @@
|
|
|
+<!-- 设计师顶部导航栏 -->
|
|
|
+<header class="top-navbar">
|
|
|
+ <div class="navbar-left">
|
|
|
+ <button class="menu-toggle" (click)="toggleSidebar()">
|
|
|
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
|
|
+ <line x1="3" y1="12" x2="21" y2="12"></line>
|
|
|
+ <line x1="3" y1="6" x2="21" y2="6"></line>
|
|
|
+ <line x1="3" y1="18" x2="21" y2="18"></line>
|
|
|
+ </svg>
|
|
|
+ </button>
|
|
|
+ <h1 class="app-title">设计师工作台</h1>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="navbar-center">
|
|
|
+ <div class="search-container">
|
|
|
+ <input
|
|
|
+ type="text"
|
|
|
+ [(ngModel)]="searchTerm"
|
|
|
+ placeholder="搜索项目、客户或案例..."
|
|
|
+ class="search-input"
|
|
|
+ />
|
|
|
+ <button class="search-button">
|
|
|
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
|
|
+ <circle cx="11" cy="11" r="8"></circle>
|
|
|
+ <path d="m21 21-4.35-4.35"></path>
|
|
|
+ </svg>
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="navbar-right">
|
|
|
+ <button class="notification-btn">
|
|
|
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
|
|
+ <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
|
|
|
+ </svg>
|
|
|
+ <span class="notification-badge">3</span>
|
|
|
+ </button>
|
|
|
+ <div class="user-profile">
|
|
|
+ <img src="https://picsum.photos/id/65/40/40" alt="用户头像" class="user-avatar">
|
|
|
+ <span class="user-name">{{userName}}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</header>
|
|
|
+
|
|
|
+<!-- 主要内容区 -->
|
|
|
+<main class="main-content">
|
|
|
+ <!-- 左侧侧边栏 -->
|
|
|
+ <aside class="sidebar" [class.collapsed]="!sidebarOpen">
|
|
|
+ <nav class="sidebar-nav">
|
|
|
+ <a routerLink="/designer/dashboard" class="nav-item" routerLinkActive="active">
|
|
|
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
|
|
+ <path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"></path>
|
|
|
+ </svg>
|
|
|
+ <span>工作台</span>
|
|
|
+ </a>
|
|
|
+ <a routerLink="/designer/personal-board" class="nav-item" routerLinkActive="active">
|
|
|
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
|
|
+ <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path>
|
|
|
+ <circle cx="12" cy="7" r="4"></circle>
|
|
|
+ </svg>
|
|
|
+ <span>个人看板</span>
|
|
|
+ </a>
|
|
|
+ <a routerLink="/designer/project-detail/1" class="nav-item" routerLinkActive="active">
|
|
|
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
|
|
+ <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
|
|
|
+ <polyline points="14 2 14 8 20 8"></polyline>
|
|
|
+ <line x1="16" y1="13" x2="8" y2="13"></line>
|
|
|
+ <line x1="16" y1="17" x2="8" y2="17"></line>
|
|
|
+ <polyline points="10 9 9 9 8 9"></polyline>
|
|
|
+ </svg>
|
|
|
+ <span>项目详情</span>
|
|
|
+ </a>
|
|
|
+ <a routerLink="/designer/case-library" class="nav-item" routerLinkActive="active">
|
|
|
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
|
|
+ <path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path>
|
|
|
+ <path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path>
|
|
|
+ </svg>
|
|
|
+ <span>案例库</span>
|
|
|
+ </a>
|
|
|
+ </nav>
|
|
|
+
|
|
|
+ <div class="sidebar-footer">
|
|
|
+ <div class="storage-info">
|
|
|
+ <span>在线时长: {{onlineHours}}h</span>
|
|
|
+ </div>
|
|
|
+ <button class="logout-btn">
|
|
|
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
|
|
+ <path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path>
|
|
|
+ <polyline points="16 17 21 12 16 7"></polyline>
|
|
|
+ <line x1="21" y1="12" x2="9" y2="12"></line>
|
|
|
+ </svg>
|
|
|
+ <span>退出登录</span>
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ </aside>
|
|
|
+
|
|
|
+ <!-- 中间内容区 -->
|
|
|
+ <div class="content-wrapper" [class.expanded]="!sidebarOpen">
|
|
|
+ <ng-content></ng-content>
|
|
|
+ </div>
|
|
|
+</main>
|