summaryrefslogtreecommitdiff
path: root/mobile/lib/drawer.dart
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/lib/drawer.dart')
-rw-r--r--mobile/lib/drawer.dart122
1 files changed, 122 insertions, 0 deletions
diff --git a/mobile/lib/drawer.dart b/mobile/lib/drawer.dart
new file mode 100644
index 0000000..34022f6
--- /dev/null
+++ b/mobile/lib/drawer.dart
@@ -0,0 +1,122 @@
+import 'package:firebase_auth/firebase_auth.dart';
+import 'package:flutter/material.dart';
+
+class CustomDrawer extends StatelessWidget {
+ const CustomDrawer({Key? key}) : super(key: key);
+
+ Widget _buildDrawerItem({
+ required IconData icon,
+ required String text,
+ required VoidCallback onTap,
+ }) {
+ return ListTile(
+ leading: Icon(icon),
+ title: Text(text),
+ onTap: onTap,
+ );
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Drawer(
+ child: ListView(
+ padding: EdgeInsets.zero,
+ children: <Widget>[
+ const DrawerHeader(
+ decoration: BoxDecoration(
+ color: Colors.blue,
+ ),
+ child: Text(
+ 'Menu',
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 24,
+ ),
+ ),
+ ),
+ _buildDrawerItem(
+ icon: Icons.app_registration_rounded,
+ text: 'Signup',
+ onTap: () {
+ Navigator.pop(context);
+ Navigator.pushNamed(context, '/signup');
+ },
+ ),
+ _buildDrawerItem(
+ icon: Icons.login,
+ text: 'Login',
+ onTap: () {
+ Navigator.pop(context);
+ Navigator.pushNamed(context, '/login');
+ },
+ ),
+ _buildDrawerItem(
+ icon: Icons.map,
+ text: 'Routes',
+ onTap: () {
+ User? user = FirebaseAuth.instance.currentUser;
+ if (user != null) {
+ Navigator.pop(context);
+ Navigator.pushNamed(context, '/routes');
+ } else {
+ Navigator.pop(context);
+ Navigator.pushNamed(context, '/login');
+ }
+ },
+ ),
+ _buildDrawerItem(
+ icon: Icons.shopping_cart,
+ text: 'Cart',
+ onTap: () {
+ User? user = FirebaseAuth.instance.currentUser;
+ if (user != null) {
+ Navigator.pop(context);
+ Navigator.pushNamed(context, '/cart');
+ } else {
+ Navigator.pop(context);
+ Navigator.pushNamed(context, '/login');
+ }
+ },
+ ),
+ _buildDrawerItem(
+ icon: Icons.history,
+ text: 'Order History',
+ onTap: () {
+ User? user = FirebaseAuth.instance.currentUser;
+ if (user != null) {
+ Navigator.pop(context);
+ Navigator.pushNamed(context, '/order_history');
+ } else {
+ Navigator.pop(context);
+ Navigator.pushNamed(context, '/login');
+ }
+ },
+ ),
+ _buildDrawerItem(
+ icon: Icons.payment,
+ text: 'Payment & Order Tracking',
+ onTap: () {
+ User? user = FirebaseAuth.instance.currentUser;
+ if (user != null) {
+ Navigator.pop(context);
+ Navigator.pushNamed(context, '/payment');
+ } else {
+ Navigator.pop(context);
+ Navigator.pushNamed(context, '/login');
+ }
+ },
+ ),
+ _buildDrawerItem(
+ icon: Icons.logout,
+ text: 'Logout',
+ onTap: () {
+ FirebaseAuth.instance.signOut();
+ Navigator.pop(context);
+ Navigator.pushNamed(context, '/login');
+ },
+ ),
+ ],
+ ),
+ );
+ }
+}