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.