image-search.html 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <!-- image-search.html -->
  2. <div class="container">
  3. <!-- 顶部搜索栏 -->
  4. <header class="search-header">
  5. <div class="header-top">
  6. <div class="back-btn" routerLink="/mobile/home">
  7. <fa-icon [icon]="faArrowLeft"></fa-icon>
  8. </div>
  9. <div class="app-name">播菜汪</div>
  10. <div style="width: 36px;"></div> <!-- 占位保持对称 -->
  11. </div>
  12. <div class="search-bar">
  13. <fa-icon [icon]="faSearch"></fa-icon>
  14. <input
  15. type="text"
  16. [(ngModel)]="searchInput"
  17. placeholder="搜索美食图片素材..."
  18. (keyup.enter)="onSearch()"
  19. >
  20. </div>
  21. </header>
  22. <!-- 主内容区 -->
  23. <main class="main-content">
  24. <!-- 历史搜索 -->
  25. <div class="section history-section" *ngIf="searchHistory.length > 0">
  26. <div class="section-title">
  27. <div><fa-icon [icon]="faHistory"></fa-icon> 历史搜索</div>
  28. <button class="clear-btn" (click)="clearHistory()">清空</button>
  29. </div>
  30. <div class="history-list">
  31. <div
  32. class="history-item"
  33. *ngFor="let item of searchHistory; let i = index"
  34. (click)="performSearch(item)"
  35. >
  36. <span>{{ item }}</span>
  37. <span class="delete-btn" (click)="deleteHistoryItem(i); $event.stopPropagation()">
  38. <fa-icon [icon]="faTimes"></fa-icon>
  39. </span>
  40. </div>
  41. </div>
  42. </div>
  43. <!-- 搜索发现 -->
  44. <div class="section">
  45. <div class="section-title">
  46. <div><fa-icon [icon]="faCompass"></fa-icon> 搜索发现</div>
  47. </div>
  48. <div class="discovery-grid">
  49. <div
  50. class="grid-item"
  51. *ngFor="let item of discoveryItems"
  52. (click)="onDiscoveryClick(item)"
  53. >
  54. {{ item }}
  55. </div>
  56. </div>
  57. </div>
  58. <!-- 大家都在搜 -->
  59. <div class="section">
  60. <div class="section-title">
  61. <div><fa-icon [icon]="faFire"></fa-icon> 大家都在搜</div>
  62. </div>
  63. <div class="hot-list">
  64. <div
  65. class="hot-item"
  66. *ngFor="let item of popularSearches; let i = index"
  67. (click)="onPopularSearchClick(item)"
  68. >
  69. <div class="hot-index" [class.top3]="i < 3">{{ i + 1 }}</div>
  70. <div class="hot-keyword">
  71. {{ item.keyword }}
  72. <span class="hot-tag" *ngIf="item.tag">{{ item.tag }}</span>
  73. </div>
  74. </div>
  75. </div>
  76. </div>
  77. <!-- 美食热搜 -->
  78. <div class="section">
  79. <div class="section-title">
  80. <div><fa-icon [icon]="faUtensils"></fa-icon> 美食热搜</div>
  81. </div>
  82. <div class="hot-list">
  83. <div
  84. class="hot-item"
  85. *ngFor="let item of foodTrends; let i = index"
  86. (click)="onFoodTrendClick(item)"
  87. >
  88. <div class="hot-index" [class.top3]="i < 3">{{ i + 1 }}</div>
  89. <div class="hot-keyword">
  90. {{ item.keyword }}
  91. <span class="hot-tag" *ngIf="item.tag">{{ item.tag }}</span>
  92. </div>
  93. </div>
  94. </div>
  95. </div>
  96. <!-- 分类标签 -->
  97. <div class="section">
  98. <div class="section-title">
  99. <div><fa-icon [icon]="faTags"></fa-icon> 热门分类</div>
  100. </div>
  101. <div class="category-tags">
  102. <div
  103. class="tag"
  104. *ngFor="let category of categories"
  105. (click)="onCategoryClick(category)"
  106. >
  107. {{ category }}
  108. </div>
  109. </div>
  110. </div>
  111. </main>
  112. </div>