diff --git a/client/src/App.jsx b/client/src/App.jsx index e3f7ce8..35ff8b2 100644 --- a/client/src/App.jsx +++ b/client/src/App.jsx @@ -87,7 +87,6 @@ export default function App() { return ( - {demoMode && isAuthenticated && } } /> } /> diff --git a/client/src/components/Layout/DemoBanner.jsx b/client/src/components/Layout/DemoBanner.jsx index 68da3be..8a41f58 100644 --- a/client/src/components/Layout/DemoBanner.jsx +++ b/client/src/components/Layout/DemoBanner.jsx @@ -1,17 +1,18 @@ import React, { useState } from 'react' -import { Info, Github, Shield, Key, Users, Database, X } from 'lucide-react' +import { Info, Github, Shield, Key, Users, Database, Upload } from 'lucide-react' import { useTranslation } from '../../i18n' const texts = { de: { title: 'Willkommen zur NOMAD Demo', description: 'Du kannst Reisen ansehen, bearbeiten und eigene erstellen. Alle Aenderungen werden jede Stunde automatisch zurueckgesetzt.', + uploadNote: 'Datei-Uploads (Fotos, Dokumente, Cover) sind in der Demo deaktiviert.', fullVersionTitle: 'In der Vollversion zusaetzlich verfuegbar:', features: [ + 'Datei-Uploads (Fotos, Dokumente, Reise-Cover)', 'API-Schluessel verwalten (Google Maps, Wetter)', 'Benutzer & Rechte verwalten', 'Automatische Backups & Wiederherstellung', - 'Registrierung & Sicherheitseinstellungen', ], selfHost: 'NOMAD ist Open Source — ', selfHostLink: 'selbst hosten', @@ -20,12 +21,13 @@ const texts = { en: { title: 'Welcome to the NOMAD Demo', description: 'You can view, edit and create trips. All changes are automatically reset every hour.', + uploadNote: 'File uploads (photos, documents, covers) are disabled in demo mode.', fullVersionTitle: 'Additionally available in the full version:', features: [ + 'File uploads (photos, documents, trip covers)', 'API key management (Google Maps, Weather)', 'User & permission management', 'Automatic backups & restore', - 'Registration & security settings', ], selfHost: 'NOMAD is open source — ', selfHostLink: 'self-host it', @@ -33,20 +35,15 @@ const texts = { }, } -const featureIcons = [Key, Users, Database, Shield] +const featureIcons = [Upload, Key, Users, Database] export default function DemoBanner() { - const [dismissed, setDismissed] = useState(() => sessionStorage.getItem('demo_dismissed') === 'true') + const [dismissed, setDismissed] = useState(false) const { language } = useTranslation() const t = texts[language] || texts.en if (dismissed) return null - const handleClose = () => { - sessionStorage.setItem('demo_dismissed', 'true') - setDismissed(true) - } - return (
+ }} onClick={() => setDismissed(true)}>
-

+

{t.description}

+

+ + {t.uploadNote} +

+

{t.fullVersionTitle}

@@ -107,7 +113,7 @@ export default function DemoBanner() {
-