54 lines
1.8 KiB
Dart
54 lines
1.8 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:schleifchenturnier/features/tournament/presentation/screens/fields_screen.dart';
|
|
import 'package:schleifchenturnier/features/tournament/presentation/screens/stats_screen.dart';
|
|
import 'package:schleifchenturnier/features/tournament/presentation/screens/timer_setup_screen.dart';
|
|
import 'player_management_screen.dart'; // wird gleich erstellt
|
|
// Später: timer_screen.dart, fields_screen.dart, stats_screen.dart
|
|
|
|
class HomeScreen extends ConsumerStatefulWidget {
|
|
const HomeScreen({super.key});
|
|
|
|
@override
|
|
ConsumerState<HomeScreen> createState() => _HomeScreenState();
|
|
}
|
|
|
|
class _HomeScreenState extends ConsumerState<HomeScreen> {
|
|
int _selectedIndex = 0;
|
|
|
|
static const List<Widget> _screens = [
|
|
PlayerManagementScreen(),
|
|
TimerSetupScreen(),
|
|
FieldsScreen(),
|
|
StatsScreen()
|
|
];
|
|
|
|
void _onTabTapped(int index) {
|
|
setState(() {
|
|
_selectedIndex = index;
|
|
});
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
appBar: AppBar(
|
|
title: const Text('Schleifchenturnier'),
|
|
centerTitle: true,
|
|
backgroundColor: Theme.of(context).colorScheme.primaryContainer,
|
|
),
|
|
body: _screens[_selectedIndex],
|
|
bottomNavigationBar: BottomNavigationBar(
|
|
type: BottomNavigationBarType.fixed,
|
|
currentIndex: _selectedIndex,
|
|
onTap: _onTabTapped,
|
|
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'),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
} |