Skip to content

Commit 7ee128d

Browse files
committed
Tambahkan navigator dari UI List Meal ke Detail Meal
1 parent 95acfb0 commit 7ee128d

File tree

1 file changed

+27
-13
lines changed

1 file changed

+27
-13
lines changed

lib/src/ui/listmeals/list_meals_screen.dart

+27-13
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
33
import 'package:food_recipe/src/blocs/listmeals/list_meals_bloc.dart';
44
import 'package:food_recipe/src/models/categories/categories.dart';
55
import 'package:food_recipe/src/models/filtercategories/filter_categories.dart';
6+
import 'package:food_recipe/src/ui/detailmeals/detail_meals_screen.dart';
67
import 'package:food_recipe/src/utils/utils.dart';
78

89
class ListMealsScreen extends StatefulWidget {
@@ -74,8 +75,16 @@ class _ListMealsScreenState extends State<ListMealsScreen> {
7475
padding: const EdgeInsets.only(bottom: 16.0),
7576
child: GestureDetector(
7677
onTap: () {
77-
// TODO: do something in here
78-
print("tap item list meals");
78+
Navigator.push(
79+
context,
80+
MaterialPageRoute(builder: (context) {
81+
return DetailMealsScreen(
82+
filterCategoryItem.idMeal,
83+
filterCategoryItem.strMeal,
84+
filterCategoryItem.strMealThumb,
85+
);
86+
}),
87+
);
7988
},
8089
child: Card(
8190
elevation: 8.0,
@@ -86,14 +95,17 @@ class _ListMealsScreenState extends State<ListMealsScreen> {
8695
borderRadius: BorderRadius.circular(16.0),
8796
child: Stack(
8897
children: <Widget>[
89-
FadeInImage(
90-
image: NetworkImage(
91-
filterCategoryItem.strMealThumb),
92-
placeholder: AssetImage(
93-
"assets/images/img_placeholder.jpg"),
94-
fit: BoxFit.cover,
95-
width: double.infinity,
96-
height: mediaQuery.size.width / 1.5,
98+
Hero(
99+
tag: "image_detail_meals_${filterCategoryItem.idMeal}",
100+
child: FadeInImage(
101+
image: NetworkImage(
102+
filterCategoryItem.strMealThumb),
103+
placeholder: AssetImage(
104+
"assets/images/img_placeholder.jpg"),
105+
fit: BoxFit.cover,
106+
width: double.infinity,
107+
height: mediaQuery.size.width / 1.5,
108+
),
97109
),
98110
Container(
99111
width: double.infinity,
@@ -115,13 +127,15 @@ class _ListMealsScreenState extends State<ListMealsScreen> {
115127
Padding(
116128
padding: const EdgeInsets.all(16.0),
117129
child: Row(
118-
crossAxisAlignment: CrossAxisAlignment.start,
130+
crossAxisAlignment:
131+
CrossAxisAlignment.start,
119132
children: <Widget>[
120133
Expanded(
121134
child: Text(
122135
filterCategoryItem.strMeal,
123-
style:
124-
Theme.of(context).textTheme.title,
136+
style: Theme.of(context)
137+
.textTheme
138+
.title,
125139
maxLines: 2,
126140
),
127141
),

0 commit comments

Comments
 (0)