buildNavigationDropdownPreview function
- @Preview(name: 'Navigation Dropdown')
Widget
buildNavigationDropdownPreview(
)
Implementation
@Preview(name: 'Navigation Dropdown')
Widget buildNavigationDropdownPreview() => MaterialApp(
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: Scaffold(
appBar: AppBar(
title: const Text('Navigation Dropdown'),
backgroundColor: Colors.deepPurple.shade50,
),
body: ListView(
padding: const EdgeInsets.all(16),
children: [
VooNavigationDropdown(
config: VooNavigationConfig(items: []),
item: const VooNavigationItem(
id: 'products',
label: 'Products',
icon: Icons.shopping_bag_outlined,
selectedIcon: Icons.shopping_bag,
isExpanded: true,
children: [
VooNavigationItem(
id: 'electronics',
label: 'Electronics',
icon: Icons.devices,
route: '/products/electronics',
),
VooNavigationItem(
id: 'clothing',
label: 'Clothing',
icon: Icons.checkroom,
route: '/products/clothing',
),
VooNavigationItem(
id: 'books',
label: 'Books',
icon: Icons.menu_book,
route: '/products/books',
),
],
),
selectedId: 'electronics',
onItemSelected: (id) {
debugPrint('Selected: $id');
},
),
const SizedBox(height: 16),
VooNavigationDropdown(
config: VooNavigationConfig(items: []),
item: const VooNavigationItem(
id: 'account',
label: 'Account',
icon: Icons.account_circle_outlined,
selectedIcon: Icons.account_circle,
children: [
VooNavigationItem(
id: 'profile',
label: 'Profile',
icon: Icons.person,
route: '/account/profile',
),
VooNavigationItem(
id: 'security',
label: 'Security',
icon: Icons.security,
route: '/account/security',
),
VooNavigationItem(
id: 'billing',
label: 'Billing',
icon: Icons.credit_card,
route: '/account/billing',
),
],
),
onItemSelected: (id) {
debugPrint('Selected: $id');
},
),
],
),
),
);