navigator.push
class CategoriesScreen extends StatelessWidget {
const CategoriesScreen({super.key});
void selectCategory(BuildContext context) {
Navigator.push(
context,
MaterialPageRoute(
builder: (ctx) => MealsScreen(
title: 'Some title',
meals: [],
),
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Pick your category")),
body: GridView(
padding: const EdgeInsets.all(24),
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
childAspectRatio: 3 / 2,
crossAxisSpacing: 20,
mainAxisSpacing: 20,
),
children: [
for (final category in availableCategories)
CategoryGridItem(
category: category,
selectCategory: () {
selectCategory(context);
},
)
],
),
);
}
}