説明なし
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

project-page.component.html 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <div class="independent-project-page">
  2. @if (isLoading) {
  3. <div class="loading">
  4. <mat-spinner diameter="40"></mat-spinner>
  5. <p>加载项目中...</p>
  6. </div>
  7. } @else if (error) {
  8. <div class="error">
  9. <mat-icon class="error-icon">error</mat-icon>
  10. <h3>加载失败</h3>
  11. <p>{{ error }}</p>
  12. <button mat-raised-button color="primary" (click)="goBack()">返回首页</button>
  13. </div>
  14. } @else if (project && projectId) {
  15. <!-- 独立子页页头:无主页菜单,简洁设计 -->
  16. <header class="independent-page-header">
  17. <div class="header-left">
  18. <button mat-icon-button class="back-button" (click)="goBack()" matTooltip="返回主页">
  19. <mat-icon>arrow_back</mat-icon>
  20. </button>
  21. <div class="project-info">
  22. <h1 class="project-title">{{ project.title }}</h1>
  23. <div class="project-meta">
  24. <span class="project-id">ID: {{ projectId }}</span>
  25. <span class="project-status">
  26. <mat-icon class="status-icon">circle</mat-icon>
  27. <span>独立连接</span>
  28. </span>
  29. </div>
  30. </div>
  31. </div>
  32. <div class="header-right">
  33. <!-- 独立连接状态指示器 -->
  34. <div class="connection-status" matTooltip="独立SSE连接状态">
  35. <mat-icon [class.connected]="independentEventService.isConnectedStatus()"
  36. [class.disconnected]="!independentEventService.isConnectedStatus()">
  37. {{ independentEventService.isConnectedStatus() ? 'wifi' : 'wifi_off' }}
  38. </mat-icon>
  39. <span class="status-text">
  40. {{ independentEventService.isConnectedStatus() ? '已连接' : '断开' }}
  41. </span>
  42. </div>
  43. </div>
  44. </header>
  45. <!-- 项目内容区域 -->
  46. <main class="independent-project-content">
  47. <app-project-tab
  48. [independentEventService]="independentEventService"
  49. [projectId]="projectId">
  50. </app-project-tab>
  51. </main>
  52. }
  53. </div>