service (#2)
Reviewed-on: http://catelliub.zapto.org:3000/brontomark/flux/pulls/2 Co-authored-by: Mark M2 Macbook <marco@catelli.it> Co-committed-by: Mark M2 Macbook <marco@catelli.it>
This commit is contained in:
@@ -3,6 +3,8 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flux/core/blocs/session/session_bloc.dart';
|
||||
import 'package:flux/core/theme/theme.dart';
|
||||
import 'package:flux/features/master_data/master_data_hub_content.dart';
|
||||
import 'package:flux/features/services/blocs/services_cubit.dart';
|
||||
import 'package:flux/features/services/ui/services_screen.dart';
|
||||
import 'dashboard_content.dart'; // Importiamo il contenuto della dashboard
|
||||
|
||||
class HomeScreen extends StatefulWidget {
|
||||
@@ -16,6 +18,16 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
int _selectedIndex = 0;
|
||||
bool _extendRailway = false;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
// Caricamento "silenzioso" all'avvio dell'app
|
||||
// Usiamo WidgetsBinding per assicurarci che il contesto sia pronto
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
context.read<ServicesCubit>().loadServices();
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BlocBuilder<SessionBloc, SessionState>(
|
||||
@@ -63,7 +75,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
),
|
||||
BottomNavigationBarItem(
|
||||
icon: Icon(Icons.receipt_long),
|
||||
label: 'Operazioni',
|
||||
label: 'Servizi',
|
||||
),
|
||||
BottomNavigationBarItem(
|
||||
icon: Icon(Icons.folder_shared),
|
||||
@@ -111,7 +123,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
NavigationRailDestination(
|
||||
icon: Icon(Icons.receipt_long_outlined),
|
||||
selectedIcon: Icon(Icons.receipt_long),
|
||||
label: Text('Operazioni'),
|
||||
label: Text('Servizi'),
|
||||
),
|
||||
NavigationRailDestination(
|
||||
icon: Icon(Icons.folder_shared_outlined),
|
||||
@@ -148,17 +160,18 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
|
||||
// Switch tra le sottopagine
|
||||
Widget _buildPageContent(int index, bool isLargeScreen) {
|
||||
switch (index) {
|
||||
case 0:
|
||||
return DashboardContent(
|
||||
return IndexedStack(
|
||||
index: index,
|
||||
children: [
|
||||
DashboardContent(
|
||||
isLargeScreen: isLargeScreen,
|
||||
onTabRequested: (idx) => setState(() => _selectedIndex = 2),
|
||||
);
|
||||
case 1:
|
||||
return const Center(child: Text('Operazioni'));
|
||||
case 2:
|
||||
),
|
||||
|
||||
ServicesScreen(),
|
||||
|
||||
// L'unico punto di ingresso per tutte le anagrafiche
|
||||
return MasterDataHubContent(
|
||||
MasterDataHubContent(
|
||||
// Qui gestiamo la navigazione "interna" all'hub
|
||||
onOpenPage: (widget) {
|
||||
Navigator.push(
|
||||
@@ -166,9 +179,8 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
MaterialPageRoute(builder: (context) => widget),
|
||||
);
|
||||
},
|
||||
);
|
||||
default:
|
||||
return DashboardContent(isLargeScreen: isLargeScreen);
|
||||
}
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user