import React, { useState, useEffect } from 'react' import { Info, Github, Shield, Key, Users, Database, Upload, Clock } 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.', resetIn: 'Naechster Reset in', minutes: 'Minuten', 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', ], selfHost: 'NOMAD ist Open Source — ', selfHostLink: 'selbst hosten', close: 'Verstanden', }, en: { title: 'Welcome to the NOMAD Demo', description: 'You can view, edit and create trips. All changes are automatically reset every hour.', resetIn: 'Next reset in', minutes: 'minutes', 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', ], selfHost: 'NOMAD is open source — ', selfHostLink: 'self-host it', close: 'Got it', }, } const featureIcons = [Upload, Key, Users, Database] export default function DemoBanner() { const [dismissed, setDismissed] = useState(false) const [minutesLeft, setMinutesLeft] = useState(59 - new Date().getMinutes()) const { language } = useTranslation() const t = texts[language] || texts.en useEffect(() => { const interval = setInterval(() => setMinutesLeft(59 - new Date().getMinutes()), 10000) return () => clearInterval(interval) }, []) if (dismissed) return null return (
{t.description}
{t.fullVersionTitle}