Guest User

today_recipe_list_view

a guest
Oct 10th, 2021
35
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import 'package:flutter/material.dart';
  2.  
  3. // 1
  4. import '../components/components.dart';
  5. import '../models/models.dart';
  6.  
  7. class TodayRecipeListView extends StatelessWidget {
  8.   // 2
  9.   final List<ExploreRecipe> recipes;
  10.  
  11.   const TodayRecipeListView({
  12.     Key? key,
  13.     required this.recipes,
  14.   }) : super(key: key);
  15.  
  16.   @override
  17.   Widget build(BuildContext context) {
  18.     // 3
  19.     return Padding(
  20.       padding: const EdgeInsets.only(
  21.         left: 16,
  22.         right: 16,
  23.         top: 16,
  24.       ),
  25.       // 4
  26.       child: Column(
  27.         crossAxisAlignment: CrossAxisAlignment.start,
  28.         children: [
  29.           // 5
  30.           Text(
  31.               'Recipes of the Day 🍳',
  32.               style: Theme.of(context).textTheme.headline1),
  33.           // 6
  34.           const SizedBox(height: 16),
  35.           // 7
  36.           Container(
  37.             height: 400,
  38.             // TODO: Add ListView Here
  39.             color: Colors.transparent,
  40. // 2
  41.             child: ListView.separated(
  42.               // 3
  43.               scrollDirection: Axis.horizontal,
  44.               // 4
  45.               itemCount: recipes.length,
  46.               // 5
  47.               itemBuilder: (context, index) {
  48.                 // 6
  49.                 final recipe = recipes[index];
  50.                 return buildCard(recipe);
  51.               },
  52.               // 7
  53.               separatorBuilder: (context, index) {
  54.                 // 8
  55.                 return const SizedBox(width: 16);
  56.               },
  57.             ),
  58.           ),
  59.         ],
  60.       ),
  61.     );
  62.   }
  63.  
  64.   Widget buildCard(ExploreRecipe recipe) {
  65.     if (recipe.cardType == RecipeCardType.card1) {
  66.       return Card1(recipe: recipe);
  67.     } else if (recipe.cardType == RecipeCardType.card2) {
  68.       return Card2(recipe: recipe);
  69.     } else if (recipe.cardType == RecipeCardType.card3) {
  70.       return Card3(recipe: recipe);
  71.     } else {
  72.       throw Exception('This card doesn\'t exist yet');
  73.     }
  74.   }
  75.  
  76. }
  77.  
RAW Paste Data