tab1.page.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import { Component, OnInit, Renderer2 } from '@angular/core';
  2. import { Router } from '@angular/router';
  3. import { NavController } from '@ionic/angular';
  4. @Component({
  5. selector: 'app-tab1',
  6. templateUrl: 'tab1.page.html',
  7. styleUrls: ['tab1.page.scss'],
  8. standalone: false,
  9. })
  10. export class Tab1Page implements OnInit {
  11. searchQuery: string = '';
  12. categories: any[] = [
  13. { name: '中式菜系', icon: 'utensils' },
  14. { name: '西式料理', icon: 'fork-knife' },
  15. { name: '减脂轻食', icon: 'carrot' },
  16. { name: '甜点烘焙', icon: 'cake' },
  17. { name: '汤羹粥品', icon: 'bowl' },
  18. { name: '素食主义', icon: 'leaf' },
  19. ];
  20. recommendedRecipes: any[] = [
  21. { id: 1, title: '香煎鸡胸肉配时蔬', image: '/assets/food/jxr.jpg', time: 30, rating: 4.8 },
  22. { id: 2, title: '奶油蘑菇意面', image: '/assets/food/nymg.jpg', time: 45, rating: 4.9 },
  23. { id: 3, title: '蔬菜鸡胸肉沙拉', image: '/assets/food/jxsl.jpg', time: 25, rating: 4.7 },
  24. ];
  25. constructor(private router: Router, private renderer: Renderer2,private navCtrl: NavController) {}
  26. ngOnInit() {
  27. setTimeout(() => {
  28. const recipeCards = document.querySelectorAll('.recipe-card');
  29. recipeCards.forEach(card => {
  30. this.renderer.setStyle(card, 'opacity', '1');
  31. this.renderer.setStyle(card, 'transform', 'translateY(0)');
  32. });
  33. }, 1000);
  34. }
  35. login() {
  36. this.router.navigate(['/login']);
  37. }
  38. register() {
  39. this.router.navigate(['/register']);
  40. }
  41. navigateToCategory(category: any) {
  42. this.router.navigate(['/category', category.name]);
  43. }
  44. goToRecipeDetail(recipeId: number) {
  45. this.router.navigate(['/recipe', recipeId]);
  46. }
  47. performSearch() {
  48. const query = this.searchQuery.trim();
  49. if (query) {
  50. this.router.navigate(['/search-results'], { queryParams: { q: query } });
  51. }
  52. }
  53. goToDetail() {
  54. this.navCtrl.navigateForward(["tabs","tab1","page-detail"]);
  55. console.log('Navigating to page-detail');
  56. }
  57. }