Browse Source

commit

master
andrymodeste 4 months ago
parent
commit
eea0be9934
  1. 29
      lib/main.dart
  2. 8
      lib/pages/categorie.dart
  3. 65
      lib/widgets/bottom_navigation.dart

29
lib/main.dart

@ -1,7 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:itrimobe/pages/menu.dart';
import 'layouts/main_layout.dart'; import 'layouts/main_layout.dart';
import 'pages/tables.dart'; import 'pages/tables.dart';
import 'pages/categorie.dart'; // Import de votre page de catégories import 'pages/categorie.dart';
import 'pages/commandes_screen.dart'; import 'pages/commandes_screen.dart';
import 'pages/login_screen.dart'; import 'pages/login_screen.dart';
@ -16,7 +17,7 @@ class MyApp extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(
title: 'Restaurant App', title: 'Restaurant App',
debugShowCheckedModeBanner: false, // ICI pour enlever le "DEBUG" debugShowCheckedModeBanner: false,
theme: ThemeData( theme: ThemeData(
primarySwatch: Colors.green, primarySwatch: Colors.green,
visualDensity: VisualDensity.adaptivePlatformDensity, visualDensity: VisualDensity.adaptivePlatformDensity,
@ -36,7 +37,29 @@ class MyApp extends StatelessWidget {
currentRoute: '/commandes', currentRoute: '/commandes',
child: OrdersManagementScreen(), child: OrdersManagementScreen(),
), ),
// MODIFICATION : Route simple pour le menu
'/menu': (context) => const MainLayout(
currentRoute: '/menu',
child: MenuPage(), // Pas de paramètres requis maintenant
),
},
// onGenerateRoute pour gérer les paramètres optionnels
onGenerateRoute: (settings) {
if (settings.name == '/menu-with-table') {
final args = settings.arguments as Map<String, dynamic>?;
return MaterialPageRoute(
builder: (context) => MainLayout(
currentRoute: '/menu',
child: MenuPage(
tableId: args?['tableId'] ?? 0,
personne: args?['personne'] ?? 1,
),
),
);
}
return null;
}, },
); );
} }
} }

8
lib/pages/categorie.dart

@ -37,8 +37,8 @@ class _CategoriesPageState extends State<CategoriesPage> {
final jsonBody = json.decode(response.body); final jsonBody = json.decode(response.body);
final dynamic rawData = jsonBody['data']['categories']; // ici ! final dynamic rawData = jsonBody['data']['categories']; // ici !
print('✅ Données récupérées :'); // print('✅ Données récupérées :');
print(rawData); // print(rawData);
if (rawData is List) { if (rawData is List) {
setState(() { setState(() {
@ -58,8 +58,8 @@ class _CategoriesPageState extends State<CategoriesPage> {
isLoading = false; isLoading = false;
}); });
if (kDebugMode) { if (kDebugMode) {
print('Erreur HTTP: ${response.statusCode}'); // print('Erreur HTTP: ${response.statusCode}');
print('Contenu de la réponse: ${response.body}'); // print('Contenu de la réponse: ${response.body}');
} }
} }
} catch (e) { } catch (e) {

65
lib/widgets/bottom_navigation.dart

@ -13,8 +13,6 @@ class AppBottomNavigation extends StatelessWidget {
this.isDesktop = false, this.isDesktop = false,
}); });
BuildContext? get context => null;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (isDesktop) return const SizedBox.shrink(); if (isDesktop) return const SizedBox.shrink();
@ -24,7 +22,7 @@ class AppBottomNavigation extends StatelessWidget {
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12), padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12),
child: Row( child: Row(
children: [ children: [
// Tables Tab // Tables Tab - Index 0
GestureDetector( GestureDetector(
onTap: () => onItemTapped(0), onTap: () => onItemTapped(0),
child: Container( child: Container(
@ -68,7 +66,7 @@ class AppBottomNavigation extends StatelessWidget {
const SizedBox(width: 20), const SizedBox(width: 20),
// Commandes Tab // Commandes Tab - Index 1
GestureDetector( GestureDetector(
onTap: () => onItemTapped(1), onTap: () => onItemTapped(1),
child: Container( child: Container(
@ -112,15 +110,14 @@ class AppBottomNavigation extends StatelessWidget {
const SizedBox(width: 20), const SizedBox(width: 20),
// Catégories Tab (Corrigé) // Catégories Tab - Index 2
GestureDetector( GestureDetector(
onTap: () => onItemTapped(2), // Index 2 pour catégories onTap: () => onItemTapped(2),
child: Container( child: Container(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
decoration: BoxDecoration( decoration: BoxDecoration(
color: color:
selectedIndex == selectedIndex == 2
2 // Index 2 pour catégories
? Colors.green.shade700 ? Colors.green.shade700
: Colors.transparent, : Colors.transparent,
borderRadius: BorderRadius.circular(20), borderRadius: BorderRadius.circular(20),
@ -129,8 +126,7 @@ class AppBottomNavigation extends StatelessWidget {
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Icon( Icon(
Icons Icons.category_outlined,
.category_outlined, // Icône plus appropriée pour catégories
color: color:
selectedIndex == 2 selectedIndex == 2
? Colors.white ? Colors.white
@ -156,6 +152,49 @@ class AppBottomNavigation extends StatelessWidget {
), ),
), ),
const SizedBox(width: 20),
GestureDetector(
onTap: () => onItemTapped(3),
child: Container(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
decoration: BoxDecoration(
color:
selectedIndex == 3
? Colors.green.shade700
: Colors.transparent,
borderRadius: BorderRadius.circular(20),
),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(
Icons.restaurant_menu,
color:
selectedIndex == 3
? Colors.white
: Colors.grey.shade600,
size: 16,
),
const SizedBox(width: 6),
Text(
'Menu',
style: TextStyle(
color:
selectedIndex == 3
? Colors.white
: Colors.grey.shade600,
fontWeight:
selectedIndex == 3
? FontWeight.w500
: FontWeight.normal,
),
),
],
),
),
),
const Spacer(), const Spacer(),
// User Profile Section // User Profile Section
@ -165,7 +204,7 @@ class AppBottomNavigation extends StatelessWidget {
); );
} }
Widget _buildUserProfile(context) { Widget _buildUserProfile(BuildContext context) {
return Row( return Row(
children: [ children: [
const SizedBox(width: 6), const SizedBox(width: 6),
@ -173,7 +212,7 @@ class AppBottomNavigation extends StatelessWidget {
icon: const Icon(Icons.logout), icon: const Icon(Icons.logout),
onPressed: () { onPressed: () {
Navigator.pushReplacement( Navigator.pushReplacement(
context!, context,
MaterialPageRoute(builder: (context) => const LoginScreen()), MaterialPageRoute(builder: (context) => const LoginScreen()),
); );
}, },
@ -181,4 +220,4 @@ class AppBottomNavigation extends StatelessWidget {
], ],
); );
} }
} }
Loading…
Cancel
Save