Implemented a shared mobile shell and navigation aligned to the new architecture, plus refactored the dashboard and
tab flows.
- Added a dynamic MobileShell with sticky header (notification bell with badge, quick QR when an event is
active, event switcher for multi-event users) and stabilized bottom tabs (home, tasks, uploads, profile)
driven by useMobileNav (resources/js/admin/mobile/components/MobileShell.tsx, components/BottomNav.tsx, hooks/
useMobileNav.ts).
- Centralized event handling now supports 0/1/many-event states without auto-selecting in multi-tenant mode and
exposes helper flags/activeSlug for consumers (resources/js/admin/context/EventContext.tsx).
- Rebuilt the mobile dashboard into explicit states: onboarding/no-event, single-event focus, and multi-event picker
with featured/secondary actions, KPI strip, and alerts (resources/js/admin/mobile/DashboardPage.tsx).
- Introduced tab entry points that respect event context and prompt selection when needed (resources/js/admin/
mobile/TasksTabPage.tsx, UploadsTabPage.tsx). Refreshed tasks/uploads detail screens to use the new shell and sync
event selection (resources/js/admin/mobile/EventTasksPage.tsx, EventPhotosPage.tsx).
- Updated mobile routes and existing screens to the new tab keys and header/footer behavior (resources/js/admin/
router.tsx, mobile/* pages, i18n nav/header strings).
This commit is contained in:
@@ -1,14 +1,28 @@
|
||||
{
|
||||
"nav": {
|
||||
"dashboard": "Übersicht",
|
||||
"events": "Events",
|
||||
"home": "Start",
|
||||
"tasks": "Aufgaben",
|
||||
"uploads": "Uploads",
|
||||
"profile": "Profil",
|
||||
"alerts": "Alerts",
|
||||
"profile": "Profil"
|
||||
"events": "Events"
|
||||
},
|
||||
"actions": {
|
||||
"back": "Zurück",
|
||||
"close": "Schließen",
|
||||
"refresh": "Aktualisieren"
|
||||
},
|
||||
"header": {
|
||||
"appName": "Event Admin",
|
||||
"selectEvent": "Wähle ein Event, um fortzufahren",
|
||||
"empty": "Lege dein erstes Event an, um zu starten",
|
||||
"eventSwitcher": "Event auswählen",
|
||||
"noEventsTitle": "Erstes Event erstellen",
|
||||
"noEventsBody": "Starte ein Event, um Aufgaben, Uploads und QR-Poster zu nutzen.",
|
||||
"createEvent": "Event erstellen",
|
||||
"noDate": "Datum folgt",
|
||||
"active": "Aktiv",
|
||||
"quickQr": "QR öffnen",
|
||||
"clearSelection": "Auswahl entfernen"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,28 @@
|
||||
{
|
||||
"nav": {
|
||||
"dashboard": "Dashboard",
|
||||
"events": "Events",
|
||||
"home": "Home",
|
||||
"tasks": "Tasks",
|
||||
"uploads": "Uploads",
|
||||
"profile": "Profile",
|
||||
"alerts": "Alerts",
|
||||
"profile": "Profile"
|
||||
"events": "Events"
|
||||
},
|
||||
"actions": {
|
||||
"back": "Back",
|
||||
"close": "Close",
|
||||
"refresh": "Refresh"
|
||||
},
|
||||
"header": {
|
||||
"appName": "Event Admin",
|
||||
"selectEvent": "Select an event to continue",
|
||||
"empty": "Create your first event to get started",
|
||||
"eventSwitcher": "Choose an event",
|
||||
"noEventsTitle": "Create your first event",
|
||||
"noEventsBody": "Start an event to access tasks, uploads, QR posters and more.",
|
||||
"createEvent": "Create event",
|
||||
"noDate": "Date tbd",
|
||||
"active": "Active",
|
||||
"quickQr": "Quick QR",
|
||||
"clearSelection": "Clear selection"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user