feat: rediriger vers l'onglet Statistiques a la fin d'une session

This commit is contained in:
qlionbleusam
2026-08-04 15:38:14 +02:00
parent b641e80d62
commit 6130e63cfb
4 changed files with 29 additions and 5 deletions
+22 -4
View File
@@ -5,6 +5,23 @@ import 'features/statistics/statistics_screen.dart';
import 'features/garage/weapon_list_screen.dart';
import 'core/theme/app_theme.dart';
/// Index des onglets de la barre de navigation principale.
const int mainTabHome = 0;
const int mainTabHistory = 1;
const int mainTabStats = 2;
const int mainTabGarage = 3;
/// Clé du holder : permet de piloter l'onglet actif depuis n'importe quel
/// écran (ex. fin de session -> onglet Stats).
final GlobalKey<State<MainNavigationHolder>> mainNavKey =
GlobalKey<State<MainNavigationHolder>>();
/// Ouvre l'onglet [index] de la navigation principale.
void openMainTab(int index) {
final state = mainNavKey.currentState;
if (state is _MainNavigationHolderState) state.selectTab(index);
}
class MainNavigationHolder extends StatefulWidget {
const MainNavigationHolder({super.key});
@@ -21,11 +38,12 @@ class _MainNavigationHolderState extends State<MainNavigationHolder> {
int _statsTick = 0;
int _historyTick = 0;
void _onItemTapped(int index) {
void selectTab(int index) {
if (!mounted) return;
setState(() {
_selectedIndex = index;
if (index == 1) _historyTick++;
if (index == 2) _statsTick++;
if (index == mainTabHistory) _historyTick++;
if (index == mainTabStats) _statsTick++;
});
}
@@ -54,7 +72,7 @@ class _MainNavigationHolderState extends State<MainNavigationHolder> {
),
child: BottomNavigationBar(
currentIndex: _selectedIndex,
onTap: _onItemTapped,
onTap: selectTab,
type: BottomNavigationBarType.fixed,
backgroundColor: Theme.of(context).cardColor,
selectedItemColor: AppTheme.primaryColor,