meal_category.dart
user_0176460
plain_text
9 months ago
4.2 kB
29
Indexable
import 'package:flutter/material.dart';
class MealCategory {
final String name;
final IconData? icon;
final Color color;
MealCategory({required this.name, this.icon, required this.color});
}
class MealCategories {
static List<MealCategory> getAllCategories() {
return [
// Daily Meals
MealCategory(
name: 'Breakfast',
icon: Icons.free_breakfast,
color: Colors.brown,
),
MealCategory(
name: 'Brunch',
icon: Icons.brunch_dining,
color: Colors.orange,
),
MealCategory(
name: 'Lunch',
icon: Icons.lunch_dining,
color: Colors.green,
),
MealCategory(
name: 'Dinner',
icon: Icons.dinner_dining,
color: Colors.blue,
),
MealCategory(name: 'Dessert', icon: Icons.cake, color: Colors.pink),
MealCategory(name: 'Snack', icon: Icons.cookie, color: Colors.amber),
// Course Types
MealCategory(name: 'Appetizer', icon: Icons.tapas, color: Colors.purple),
MealCategory(
name: 'Main Course',
icon: Icons.restaurant,
color: Colors.red,
),
MealCategory(
name: 'Side Dish',
icon: Icons.rice_bowl,
color: Colors.teal,
),
MealCategory(
name: 'Soup',
icon: Icons.soup_kitchen,
color: Colors.deepOrange,
),
MealCategory(name: 'Salad', icon: Icons.eco, color: Colors.lightGreen),
MealCategory(
name: 'Beverage',
icon: Icons.local_cafe,
color: Colors.brown[700]!,
),
// Special Categories
MealCategory(
name: 'Comfort Food',
icon: Icons.favorite,
color: Colors.red[300]!,
),
MealCategory(
name: 'Quick & Easy',
icon: Icons.timer,
color: Colors.blue[300]!,
),
MealCategory(
name: 'Healthy',
icon: Icons.fitness_center,
color: Colors.green[300]!,
),
MealCategory(
name: 'Party Food',
icon: Icons.celebration,
color: Colors.purple[300]!,
),
MealCategory(
name: 'Kids-Friendly',
icon: Icons.child_care,
color: Colors.indigo[300]!,
),
// Dietary Preferences
MealCategory(
name: 'Vegetarian',
icon: Icons.eco,
color: Colors.green[600]!,
),
MealCategory(name: 'Vegan', icon: Icons.spa, color: Colors.green[800]!),
MealCategory(
name: 'Gluten-Free',
icon: Icons.no_food,
color: Colors.grey[600]!,
),
MealCategory(name: 'Keto', icon: Icons.egg, color: Colors.yellow[800]!),
// Cooking Methods
MealCategory(
name: 'Grilled',
icon: Icons.outdoor_grill,
color: Colors.red[700]!,
),
MealCategory(
name: 'Baked',
icon: Icons.bakery_dining,
color: Colors.brown[600]!,
),
MealCategory(
name: 'Slow Cooker',
icon: Icons.slow_motion_video,
color: Colors.blueGrey,
),
MealCategory(name: 'Air Fryer', icon: Icons.air, color: Colors.cyan),
MealCategory(name: 'One-Pot', icon: Icons.aod, color: Colors.grey[700]!),
// Cuisine Types
MealCategory(
name: 'Italian',
icon: Icons.local_pizza,
color: Colors.red[400]!,
),
MealCategory(name: 'Mexican', icon: Icons.eco, color: Colors.red[600]!),
MealCategory(
name: 'Asian',
icon: Icons.ramen_dining,
color: Colors.orange[700]!,
),
MealCategory(
name: 'Mediterranean',
icon: Icons.set_meal,
color: Colors.blue[600]!,
),
MealCategory(
name: 'Indian',
icon: Icons.kebab_dining,
color: Colors.deepOrange[600]!,
),
];
}
static MealCategory? findByName(String name) {
try {
return getAllCategories().firstWhere((category) => category.name == name);
} catch (e) {
return null;
}
}
}
Editor is loading...
Leave a Comment