import 'package:flutter/material.dart'; class MainDrawer extends StatelessWidget { final Function(String identifier) onSelectScreen; const MainDrawer({Key? key, required this.onSelectScreen}) : super(key: key); @override Widget build(BuildContext context) { return Drawer( child: Column( children: [ DrawerHeader( padding: const EdgeInsets.all(20), decoration: BoxDecoration( gradient: LinearGradient( colors: [ Theme.of(context).colorScheme.primaryContainer, Theme.of(context) .colorScheme .primaryContainer .withOpacity(0.8), ], begin: Alignment.topLeft, end: Alignment.bottomRight, ), ), child: Row( children: [ Icon( Icons.fastfood, color: Theme.of(context).colorScheme.primary, ), const SizedBox( width: 18, ), Text( 'Cooking up!', style: Theme.of(context).textTheme.titleLarge!.copyWith( color: Theme.of(context).colorScheme.primary, ), ), ], ), ), ListTile( leading: Icon( Icons.restaurant, size: 26, color: Theme.of(context).colorScheme.onBackground, ), title: Text('Meals', style: Theme.of(context).textTheme.titleSmall!.copyWith( color: Colors.white, fontSize: 24, )), onTap: () { onSelectScreen('meals'); }, ), ListTile( leading: Icon( Icons.settings, size: 26, color: Theme.of(context).colorScheme.onBackground, ), title: Text('Filters', style: Theme.of(context).textTheme.titleSmall!.copyWith( color: Colors.white, fontSize: 24, )), onTap: () { onSelectScreen('filters'); }, ) ], ), ); } }