app shell

This commit is contained in:
2026-05-24 09:49:07 +02:00
parent 31066a4d8f
commit 415811f592
2 changed files with 388 additions and 99 deletions

View File

@@ -126,78 +126,89 @@ class AppRouter {
ShellRoute(
builder: (context, state, child) => AppShell(child: child),
routes: [
// ==========================================
// 1. DASHBOARD
// ==========================================
GoRoute(
path: '/',
name: Routes.home,
builder: (context, state) => const HomeScreen(),
),
// ==========================================
// 2. HUB ANAGRAFICHE E SOTTO-ROTTE
// ==========================================
GoRoute(
path: '/master-data',
name: Routes.masterData,
builder: (context, state) => const MasterDataHubScreen(),
routes: [
GoRoute(
path: 'products', // Diventa /master-data/products
path:
'customers', // Niente slash iniziale per le sottorotte! -> /master-data/customers
name: Routes.customers,
builder: (context, state) => const CustomersListScreen(),
),
GoRoute(
path: 'providers', // -> /master-data/providers
name: Routes.providers,
builder: (context, state) => const ProviderListScreen(),
),
GoRoute(
path: 'products', // -> /master-data/products
name: Routes.products,
builder: (context, state) {
context.read<ProductsCubit>().refreshCubit();
return const ProductsScreen();
},
),
GoRoute(
path: 'company-settings',
path: 'staff', // -> /master-data/staff
name: Routes.staff,
builder: (context, state) => const StaffScreen(),
),
GoRoute(
path:
'stores', // Sistemata l'inversione path/name -> /master-data/stores
name: Routes.stores,
builder: (context, state) => const StoresScreen(),
),
GoRoute(
path: 'company-settings', // -> /master-data/company-settings
name: Routes.companySettings,
builder: (context, state) => BlocProvider(
create: (context) => CompanySettingsCubit(),
child: const CompanySettingsScreen(),
),
),
GoRoute(
path: 'staff',
name: Routes.staff, // Diventa /master-data/staff
builder: (context, state) => const StaffScreen(),
),
GoRoute(
path: Routes.stores,
name: 'stores', // Diventa /master-data/stores
builder: (context, state) => const StoresScreen(),
),
GoRoute(
path: '/providers',
name: Routes.providers,
builder: (context, state) => const ProviderListScreen(),
),
],
),
// ==========================================
// 3. IMPOSTAZIONI
// ==========================================
GoRoute(
path: '/settings',
name: Routes.settings,
builder: (context, state) => const SettingsScreen(),
routes: [
GoRoute(
path: 'themeSettings',
path: 'themeSettings', // -> /settings/themeSettings
name: Routes.themeSettings,
builder: (context, state) => const ThemeSettingsView(),
),
],
),
// ==========================================
// 4. SCHERMATE PRINCIPALI EXTRA NELLA SHELL
// (Accessibili ad es. dalla dashboard, mantengono la sidebar)
// ==========================================
GoRoute(
path: '/operations',
name: Routes.operations,
builder: (context, state) => const OperationListScreen(),
),
GoRoute(
path: '/customers',
name: Routes.customers,
builder: (context, state) =>
const CustomersListScreen(), // O come si chiama il tuo widget della lista!
),
GoRoute(
path: '/tickets',
name: Routes.tickets,