diff --git a/package.json b/package.json index e5f0916..a141600 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lageplan", - "version": "1.4.14", + "version": "1.4.15", "description": "Feuerwehr Lageplan - Krokier-App für Einsatzdokumentation", "private": true, "scripts": { diff --git a/src/components/layout/topbar.tsx b/src/components/layout/topbar.tsx index 878e86a..1941cd8 100644 --- a/src/components/layout/topbar.tsx +++ b/src/components/layout/topbar.tsx @@ -13,6 +13,8 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, + DropdownMenuLabel, + DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu' import { @@ -184,7 +186,7 @@ export function Topbar({ @@ -347,36 +349,102 @@ export function Topbar({ )} - {/* Mobile: overflow menu with all secondary actions */} + {/* Mobile: EIN Menü mit allen Aktionen (ersetzt die früheren zwei getrennten Menüs) */} - - + + {userName && ( + <> + + {userName}{userRole ? ` · ${userRole}` : ''} + + + + )} + + {/* Einsatz / Übung */} {project && onEndProject && ( {project.mode === 'UEBUNG' ? 'Übung beenden' : 'Einsatz beenden'} )} - - {isDarkMode ? : } - {isDarkMode ? 'Tagmodus' : 'Nachtmodus'} + onNewProject('UEBUNG')}> + + Neue Übung + + + Einsätze verwalten + + + + + {/* Karte / Export */} + handleExport('png')}> + + Als PNG exportieren + + handleExport('pdf')}> + + Als PDF exportieren + + {onClearAll && ( + + + Zeichnung leeren + + )} + {onTogglePresentationLock && ( + + {presentationLocked ? : } + {presentationLocked ? 'Präsentation: gesperrt' : 'Präsentationsmodus'} + + )} + + + + {/* Ansicht */} {isFullscreen ? : } {isFullscreen ? 'Vollbild verlassen' : 'Vollbild'} + + {isDarkMode ? : } + {isDarkMode ? 'Tagmodus' : 'Nachtmodus'} + + + + + {/* System / Konto */} + {(userRole === 'SERVER_ADMIN' || userRole === 'TENANT_ADMIN') && ( + window.location.href = '/admin'}> + + Administration + + )} setIsHoseSettingsOpen(true)}> - Einstellungen + Schlaucheinstellungen + + {onStartTour && ( + + + Tour starten + + )} + setShowPasswordDialog(true)}> + + Kennwort ändern {onLogout && ( - + - Abmelden {userName && `(${userName})`} + Abmelden )}