import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../../core/theme/app_colors.dart'; import '../dashboard_config.dart'; /// Layout mode switcher (Sport / Touring / Minimal). class DashboardLayoutSwitcher extends ConsumerWidget { const DashboardLayoutSwitcher({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { final currentLayout = ref.watch(dashboardConfigProvider); final isDark = Theme.of(context).brightness == Brightness.dark; final iconColor = isDark ? AppColors.cyberCyan : AppColors.lightPrimary; return PopupMenuButton( icon: Icon(Icons.dashboard_customize_outlined, color: iconColor, size: 20), tooltip: 'Change Dashboard Layout', initialValue: currentLayout, onSelected: (layout) { ref.read(dashboardConfigProvider.notifier).setLayout(layout); }, itemBuilder: (context) => [ const PopupMenuItem( value: DashboardLayout.sport, child: Row( children: [ Icon(Icons.sports_motorsports_outlined, size: 18), SizedBox(width: 8), Text('Sport Cockpit'), ], ), ), const PopupMenuItem( value: DashboardLayout.touring, child: Row( children: [ Icon(Icons.map_outlined, size: 18), SizedBox(width: 8), Text('Touring (Map & Stats)'), ], ), ), const PopupMenuItem( value: DashboardLayout.minimal, child: Row( children: [ Icon(Icons.speed_outlined, size: 18), SizedBox(width: 8), Text('Minimal HUD'), ], ), ), ], ); } }