|
|
|
@ -2,6 +2,9 @@ import 'package:flutter/material.dart'; |
|
|
|
import 'package:http/http.dart' as http; |
|
|
|
import 'dart:convert'; |
|
|
|
|
|
|
|
// Ajoutez cet import pour la page panier |
|
|
|
import 'cart_page.dart'; // Assurez-vous que le fichier cart_page.dart est dans le même dossier |
|
|
|
|
|
|
|
class MenuPage extends StatefulWidget { |
|
|
|
final int tableId; |
|
|
|
final int personne; |
|
|
|
@ -104,6 +107,23 @@ class _MenuPageState extends State<MenuPage> { |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
// Fonction pour naviguer vers la page panier |
|
|
|
void _navigateToCart() { |
|
|
|
Navigator.push( |
|
|
|
context, |
|
|
|
MaterialPageRoute( |
|
|
|
builder: (context) => CartPage( |
|
|
|
tableId: widget.tableId, |
|
|
|
personne: widget.personne, |
|
|
|
cartItems: List.from(_cart), // Copie de la liste pour éviter les modifications |
|
|
|
), |
|
|
|
), |
|
|
|
).then((_) { |
|
|
|
// Optionnel: actualiser le panier au retour de la page panier |
|
|
|
// Vous pourriez implémenter une logique pour synchroniser les modifications |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
/// Conversion sécurisée du prix en string avec 2 décimales |
|
|
|
String formatPrix(dynamic prix) { |
|
|
|
if (prix == null) return ""; |
|
|
|
@ -197,9 +217,7 @@ class _MenuPageState extends State<MenuPage> { |
|
|
|
color: Colors.green[700], |
|
|
|
child: Center( |
|
|
|
child: TextButton( |
|
|
|
onPressed: () { |
|
|
|
// TODO: Naviguer vers la page panier |
|
|
|
}, |
|
|
|
onPressed: _navigateToCart, // Navigation vers la page panier |
|
|
|
child: Text( |
|
|
|
"Voir le panier (${_cart.length})", |
|
|
|
style: TextStyle(color: Colors.white, fontSize: 16), |
|
|
|
|