app.html 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <div class="app-shell">
  2. <aside class="sidebar">
  3. <div class="brand">
  4. <div class="brand-mark">提</div>
  5. <div>
  6. <h1>提号AI</h1>
  7. <p>Brief 到名单交付工作台</p>
  8. </div>
  9. </div>
  10. <nav class="side-nav" aria-label="主导航">
  11. <button
  12. type="button"
  13. *ngFor="let item of state.visibleNavItems"
  14. [class.active]="state.activeView === item.key"
  15. (click)="state.setView(item.key)"
  16. >
  17. <span>{{ item.label }}</span>
  18. <small>{{ item.note }}</small>
  19. </button>
  20. </nav>
  21. <button type="button" class="nav-mode-button" (click)="state.toggleSimpleMode()">
  22. {{ state.simpleMode ? '显示完整业务模块' : '切回商务简洁模式' }}
  23. </button>
  24. <div class="sidebar-footer">
  25. <span class="status-dot"></span>
  26. <div>
  27. <strong>真实接口</strong>
  28. <small>{{ state.apiState }}</small>
  29. </div>
  30. </div>
  31. </aside>
  32. <main class="main">
  33. <header class="topbar utility-topbar">
  34. <div>
  35. <p class="eyebrow">当前任务</p>
  36. <h2>{{ state.taskDisplayName }}</h2>
  37. </div>
  38. <div class="topbar-status">
  39. <span>{{ state.activeNavItem.label }}</span>
  40. <span>流程 {{ state.currentStep }}/{{ state.steps.length }} · {{ state.steps[state.currentStep - 1].label }}</span>
  41. <span>交付准备度 {{ state.exportReadiness }}%</span>
  42. </div>
  43. <div class="topbar-actions">
  44. <button type="button" class="ghost-button" (click)="state.backToWorkflow()" title="回到提号工作台">回到工作台</button>
  45. <button type="button" class="ghost-button" (click)="state.toggleSimpleMode()" title="切换简洁或完整模式">
  46. {{ state.simpleMode ? '完整模式' : '简洁模式' }}
  47. </button>
  48. </div>
  49. </header>
  50. <ng-container [ngSwitch]="state.activeView">
  51. <app-workspace-flow *ngSwitchCase="'workspaceFlow'"></app-workspace-flow>
  52. <app-workspace-page *ngSwitchCase="'workspace'"></app-workspace-page>
  53. <app-creator-search-page *ngSwitchCase="'creatorSearch'"></app-creator-search-page>
  54. <app-delivery-page *ngSwitchCase="'delivery'"></app-delivery-page>
  55. <app-tasks-page *ngSwitchCase="'tasks'"></app-tasks-page>
  56. <app-resources-page *ngSwitchCase="'resources'"></app-resources-page>
  57. <app-rules-page *ngSwitchCase="'rules'"></app-rules-page>
  58. <app-learning-page *ngSwitchCase="'learning'"></app-learning-page>
  59. <app-templates-page *ngSwitchCase="'templates'"></app-templates-page>
  60. <app-progress-board-page *ngSwitchCase="'progressBoard'"></app-progress-board-page>
  61. </ng-container>
  62. </main>
  63. </div>