import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'player_management_screen.dart'; import 'timer_setup_screen.dart'; import 'fields_screen.dart'; import 'stats_screen.dart'; import 'settings_screen.dart'; class HomeScreen extends ConsumerStatefulWidget { const HomeScreen({super.key}); @override ConsumerState createState() => _HomeScreenState(); } class _HomeScreenState extends ConsumerState { int _selectedIndex = 0; static const List _screens = [ PlayerManagementScreen(), TimerSetupScreen(), FieldsScreen(), StatsScreen(), ]; void _onTabTapped(int index) { setState(() { _selectedIndex = index; }); } // Zeigt das Zahnrad nur auf Spieler- und Statistik-Tab bool _showSettingsIcon() { return _selectedIndex == 0 || _selectedIndex == 3; } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Schleifchenturnier'), centerTitle: true, backgroundColor: Theme.of(context).colorScheme.primaryContainer, foregroundColor: Theme.of(context).colorScheme.onPrimaryContainer, elevation: 4, actions: _showSettingsIcon() ? [ IconButton( icon: const Icon(Icons.settings), onPressed: () { Navigator.of(context).push( MaterialPageRoute(builder: (_) => const SettingsScreen()), ); }, ), ] : null, ), body: _screens[_selectedIndex], bottomNavigationBar: BottomNavigationBar( type: BottomNavigationBarType.fixed, currentIndex: _selectedIndex, onTap: _onTabTapped, selectedItemColor: Theme.of(context).colorScheme.primary, unselectedItemColor: Colors.grey.shade600, items: const [ BottomNavigationBarItem(icon: Icon(Icons.people), label: 'Spieler'), BottomNavigationBarItem(icon: Icon(Icons.timer), label: 'Timer'), BottomNavigationBarItem(icon: Icon(Icons.sports_volleyball), label: 'Felder'), BottomNavigationBarItem(icon: Icon(Icons.bar_chart), label: 'Statistik'), ], ), ); } }