tab1.page.html 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <ion-header [translucent]="true">
  2. <ion-toolbar class="custom-header">
  3. <ion-title class="logo">
  4. 🍳 <span>味知星厨</span>
  5. </ion-title>
  6. <ion-buttons slot="end">
  7. <ion-button class="nav-btn" (click)="login()">登录</ion-button>
  8. <ion-button class="nav-btn" (click)="register()">注册</ion-button>
  9. </ion-buttons>
  10. </ion-toolbar>
  11. </ion-header>
  12. <ion-content [fullscreen]="true" class="bg-light">
  13. <!-- 搜索栏 -->
  14. <ion-card class="search-card">
  15. <ion-row class="search-row">
  16. <ion-col size="10">
  17. <ion-input
  18. class="search-input"
  19. type="text"
  20. placeholder="搜索食谱(如:番茄炒蛋、低卡沙拉)"
  21. [(ngModel)]="searchQuery"
  22. autocomplete="food"
  23. spellcheck="false"
  24. aria-label="食谱搜索"
  25. ></ion-input>
  26. </ion-col>
  27. <ion-col size="2">
  28. <ion-button
  29. class="search-btn"
  30. shape="round"
  31. (click)="performSearch()"
  32. aria-label="搜索食谱"
  33. >
  34. <ion-icon name="search" class="icon-md text-white"></ion-icon>
  35. </ion-button>
  36. </ion-col>
  37. </ion-row>
  38. </ion-card>
  39. <!-- 分类网格 -->
  40. <ion-grid class="category-grid" fixed>
  41. <ion-row class="ion-justify-content-around">
  42. <ion-col
  43. size="6"
  44. md="4"
  45. lg="3"
  46. class="category-card"
  47. *ngFor="let category of categories"
  48. (click)="navigateToCategory(category)"
  49. >
  50. <ion-card class="card-hover">
  51. <ion-card-content class="text-center p-4">
  52. <ion-icon [name]="category.icon" class="category-icon"></ion-icon>
  53. <p class="category-title">{{ category.name }}</p>
  54. </ion-card-content>
  55. </ion-card>
  56. </ion-col>
  57. </ion-row>
  58. </ion-grid>
  59. <!-- 推荐食谱 -->
  60. <ion-card class="recommend-card">
  61. <ion-card-header class="px-4 pt-4">
  62. <h2 class="section-title">今日推荐食谱</h2>
  63. </ion-card-header>
  64. <ion-card-content class="px-4">
  65. <ion-grid fixed>
  66. <ion-row class="ion-justify-content-around">
  67. <ion-col
  68. size="12"
  69. md="6"
  70. lg="4"
  71. class="recipe-card"
  72. *ngFor="let recipe of recommendedRecipes"
  73. (click)="goToRecipeDetail(recipe.id)"
  74. >
  75. <ion-card class="recipe-card-hover">
  76. <ion-img [src]="recipe.image"></ion-img>
  77. <ion-card-content class="p-4">
  78. <h3 class="recipe-title">{{ recipe.title }}</h3>
  79. <div class="recipe-meta">
  80. <ion-icon name="time" class="icon-md"></ion-icon> {{ recipe.time }}分钟
  81. <ion-icon name="star" class="icon-md text-primary"></ion-icon> {{ recipe.rating }}评分
  82. </div>
  83. </ion-card-content>
  84. </ion-card>
  85. </ion-col>
  86. </ion-row>
  87. </ion-grid>
  88. </ion-card-content>
  89. </ion-card>
  90. <!-- 用户信息 -->
  91. <ion-card class="user-info-card">
  92. <ion-row class="align-items-center p-4 text-white">
  93. <ion-col>
  94. <p class="greeting">
  95. 你好,<span class="username">小明</span>!<br>
  96. 今天想尝试什么新料理呢?
  97. </p>
  98. </ion-col>
  99. <ion-col size="auto">
  100. <ion-avatar class="user-avatar" (click)="goToAIChat()">
  101. <ion-label>M</ion-label>
  102. </ion-avatar>
  103. </ion-col>
  104. </ion-row>
  105. </ion-card>
  106. </ion-content>