Skip to content

Admin app

Entry: lib/main_admin.dart · Flavor: admin · Access: role admin

After a role-checked login (RoleGate(allowedRoles: ['admin'])), the admin app opens AdminShell (lib/admin/screens/admin_shell.dart), a five-tab bottom navigation with a sign-out button.

Tab Screen What you can do
Orders admin_order_screen.dart The same live kitchen queue as the chef app, plus marking orders paid.
Menu menu_list_screen.dart Add, edit and delete menu items, and toggle availability.
Categories category_admin_screen.dart Create, edit and delete menu categories.
Users user_list_screen.dart List users, edit names, set roles (user, chef, admin), delete users.
Analytics analytics_dashboard.dart Totals for users, menu items and orders, and a revenue chart.

All admin screens share AdminTheme (lib/admin/theme/admin_theme.dart): teal primary, coral accent, light grey background.

Promoting the first admin

Nobody can open the admin app until someone has the admin role. Set the first one by hand in the Firestore console. See Firebase setup.