import React, { useEffect, useState } from 'react'; import { Link, useNavigate } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import { Shield, Phone, Mail, CheckCircle, Star, Car, FileText, Calculator, Users, Download, Search, AlertCircle, AlertTriangle, Clock, FileCheck, PhoneCall, MapPin, Gauge, Heart, Ambulance, Activity } from 'lucide-react'; import Layout from '@/components/Layout'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import GeneralNotice from '@/components/GeneralNotice'; import HeroSlider from '@/components/HeroSlider'; import TwoColumnTab from '@/components/tab-pages/TwoColumnTab'; declare global { interface Window { Dropbox?: { choose: (options: { linkType?: 'preview' | 'direct'; multiselect?: boolean; extensions?: string[]; success: (files: Array<{ link: string; name: string; bytes: number }>) => void; }) => void; }; } } const Unfall = () => { const { t } = useTranslation('unfall'); const navigate = useNavigate(); const baseUrl = import.meta.env.BASE_URL; const assetUrl = (fileName: string) => `${baseUrl}${encodeURI(fileName)}`; const [activeTab, setActiveTab] = useState('overview'); const [searchQuery, setSearchQuery] = useState(''); const dropboxAppKey = import.meta.env.VITE_DROPBOX_APP_KEY as string | undefined; const dropboxFileRequestUrl = import.meta.env.VITE_DROPBOX_FILE_REQUEST_URL as string | undefined; const [calculatorData, setCalculatorData] = useState({ profession: '', coverageType: '', }); const [formData, setFormData] = useState({ name: '', phone: '', email: '', accidentDateTime: '', accidentLocation: '', accidentType: '', accidentDescription: '', injuries: '', otherParties: '', witnesses: '', policeReport: '', policyNumber: '', message: '', }); const [attachments, setAttachments] = useState>([]); useEffect(() => { if (!dropboxAppKey) return; if (typeof window === 'undefined') return; if (window.Dropbox) return; const existing = document.querySelector('script[data-dropbox-chooser="1"]'); if (existing) return; const script = document.createElement('script'); script.src = 'https://www.dropbox.com/static/api/2/dropins.js'; script.id = 'dropboxjs'; script.type = 'text/javascript'; script.setAttribute('data-dropbox-chooser', '1'); script.setAttribute('data-app-key', dropboxAppKey); document.body.appendChild(script); }, [dropboxAppKey]); const benefits = [ { icon: Shield, title: 'Invaliditätsschutz', description: 'Sicherung bei dauerhaften Gesundheitsschäden' }, { icon: Heart, title: 'Todesfallsumme', description: 'Absicherung für Hinterbliebene' }, { icon: Calculator, title: 'Progressionsleistung', description: 'Steigende Leistungen bei schweren Unfällen' }, { icon: CheckCircle, title: 'Unfallrente', description: 'Monatliche Zahlungen bei Erwerbsunfähigkeit' } ]; const searchItems = [ { title: 'Unfallmitteilung', description: 'Checkliste, Angaben, nächste Schritte', tab: 'claims' }, { title: 'Unfallmitteilung senden', description: 'Formular ausfüllen + Anhänge via Dropbox', tab: 'form' }, { title: 'Entschädigung / Ansprüche', description: 'Schmerzensgeld, Verdienstausfall, Kosten', tab: 'claims' }, { title: 'Unfall-Rechner', description: 'Grobe Beitragsschätzung zur Orientierung', tab: 'calculator' }, { title: 'Infothek', description: 'Download, Druck, Hinweise', tab: 'catalog' }, ]; const normalizedQuery = searchQuery.trim().toLowerCase(); const filteredSearchItems = normalizedQuery ? searchItems.filter((item) => { const haystack = `${item.title} ${item.description}`.toLowerCase(); return haystack.includes(normalizedQuery); }) : []; const services = [ 'Private Unfallversicherung', 'Berufsunfallversicherung', 'Kinder-Unfallversicherung', 'Studenten-Unfallversicherung', 'Senioren-Unfallversicherung', 'Sport-Unfallversicherung' ]; const handleFormChange = ( e: React.ChangeEvent ) => { const { name, value } = e.target; setFormData((prev) => ({ ...prev, [name]: value })); }; const handleCalculatorChange = ( e: React.ChangeEvent ) => { const { name, value } = e.target; setCalculatorData((prev) => ({ ...prev, [name]: value, })); }; const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); alert('Vielen Dank! Wir melden uns kurzfristig bei dir.'); }; return (

Hilfe nach einem Unfall

setSearchQuery(e.target.value)} className="w-full rounded-md border border-gray-300 bg-white pl-9 pr-3 py-2 text-sm" placeholder="Suche (z. B. Unfallmitteilung, Ansprüche, Checkliste, Formular)" />
{filteredSearchItems.length > 0 && (
{filteredSearchItems.map((item) => ( ))}
)}
setActiveTab(next)} className="w-full">
Übersicht Details Statistik Rechner Anfrage Mitteilung Infothek
Sicherheit für jede Lebenslage

Hilfe nach einem Unfall Schnelle Schritte, Unfallmitteilung & mögliche Ansprüche

Im Ernstfall zählt eine klare Reihenfolge: Sicherheit, Dokumentation, Meldung. Hier findest du eine kompakte Anleitung, was du sofort tun solltest und welche Angaben wir für eine schnelle Unfallmitteilung benötigen.

Invaliditätsschutz
bis 100% Invaliditätsgrad
Todesfallsumme
Absicherung für Familie
} right={ (
Unfallversicherung { (e.currentTarget as HTMLImageElement).style.display = 'none'; }} />
Privat, Beruf, Kinder, Sport
Tarifcheck – schnell, fair und passend zu deinem Bedarf.
) } />

Kurz & klar

Wichtig Unfälle können jeden treffen. Günstig Bereits ab wenigen Euro pro Monat. Hilfe im Schadenfall Klare Schritte & Kontaktmöglichkeiten.

Details & Vorteile

Die Unfallversicherung sichert die finanziellen Folgen bei Unfällen ab. Sie leistet bei Invalidität, Todesfall oder temporären Unfallfolgen. Wir helfen Ihnen, die richtige Leistungssumme und Tarif zu finden.

{benefits.map((benefit, index) => { const Icon = benefit.icon; return ( {benefit.title} {benefit.description} ); })}

Leistungen (Auszug)

{services.map((service, index) => (

{service}

))}
} right={ Tipp Leistungssumme prüfen. Mindestens 50.000 € Invaliditätssumme, besser 100.000-250.000 € für optimalen Schutz. } />

Unfallstatistik

Unfälle gehören zu den häufigsten Ursachen für Invalidität und Todesfälle. Eine gute Unfallversicherung schützt vor den finanziellen Folgen.

Häufige Unfallursachen Stürze, Verkehrsunfälle, Sportunfälle. Statistik 8 Mio. Unfälle/Jahr, 30.000 Todesfälle.
} right={ Tipp Vorsorge ist besser als Nachsorge. Unfallverhütung im Alltag und Sport kann viele Risiken reduzieren. Eine gute Versicherung schützt vor den Rest. } />

Unfall-Rechner

Richtwert zur Orientierung. Für ein exaktes Angebot brauchen wir u. a. Beruf, Risikogruppe und gewünschte Leistungssumme.

Grobe Beitragsschätzung Unverbindlich – wir kalkulieren danach exakt.
Richtwert (Beispiel)
Ab ca. 5 €/Monat
Abhängig von Berufsgruppe, Risikogruppe, Leistungssumme.
} right={ Was wir fürs Angebot brauchen Je genauer, desto besser.
Berufliche Tätigkeit und Risiken
Gewünschte Leistungssumme
Vorversicherungen? Sportrisiken?
} />

Unfallmitteilung senden

Fülle die wichtigsten Angaben aus. Anhänge (Fotos, Arztberichte, Belege) kannst du vorerst über Dropbox hochladen oder aus Dropbox auswählen – Speicherung in der Datenbank folgt.