marian/src/pages/Flottenversicherung.tsx
2026-01-25 01:42:29 +01:00

765 lines
42 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React, { useState } from 'react';
import { Link, useNavigate } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
import { Shield, Phone, Mail, CheckCircle, Star, Truck, FileText, Calculator, Users, Download, Search, AlertCircle, AlertTriangle, Clock, FileCheck, PhoneCall, Home } 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';
const Flottenversicherung = () => {
const { t } = useTranslation('flottenversicherung');
const navigate = useNavigate();
const baseUrl = import.meta.env.BASE_URL;
const assetUrl = (fileName: string) => `${baseUrl}${encodeURI(fileName)}`;
const [activeTab, setActiveTab] = useState('overview');
const [formData, setFormData] = useState({
company: '',
contactName: '',
phone: '',
email: '',
fleetSize: '',
vehicleTypes: '',
usage: '',
currentInsurer: '',
message: ''
});
const benefits = [
{
icon: Shield,
title: 'Komplettschutz',
description: 'Umfassender Schutz für Ihre gesamte Fahrzeugflotte'
},
{
icon: Users,
title: 'Flottenmanagement',
description: 'Zentrale Verwaltung aller Fahrzeuge'
},
{
icon: FileText,
title: 'Flexible Verträge',
description: 'Anpassbare Deckungen für verschiedene Fahrzeugtypen'
},
{
icon: Calculator,
title: 'Günstige Konditionen',
description: 'Spezielle Flottentarife mit Rabatten'
}
];
const services = [
'Firmenwagen-Flottenversicherung',
'Lieferwagen-Flottenversicherung',
'Baustellenfahrzeuge Versicherung',
'Transporter-Flottenversicherung',
'Flotten-Haftpflichtversicherung',
'Flotten-Kaskoversicherung'
];
const handleFormChange = (
e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>
) => {
const { name, value } = e.target;
setFormData((prev) => ({
...prev,
[name]: value
}));
};
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
alert('Vielen Dank! Wir melden uns kurzfristig bei dir.');
};
return (
<Layout>
<div className="min-h-screen bg-gray-50">
{/* Hero Section */}
<div className="container mx-auto px-4 md:px-6 py-8">
<div className="max-w-screen-2xl mx-auto">
<h2 className="text-2xl font-bold text-gray-900 mb-6 text-center">
{t('title', 'Flottenversicherung')}
</h2>
<div className="bg-white rounded-lg border border-gray-200 shadow-sm">
<Tabs
value={activeTab}
onValueChange={(next) => {
setActiveTab(next);
}}
className="w-full"
>
<div className="border-b border-gray-100 px-4 pt-6 pb-2 bg-gradient-to-r from-blue-50 to-white">
<TabsList className="grid grid-cols-2 md:grid-cols-4 lg:grid-cols-7 gap-2 w-full h-auto bg-transparent border-0 shadow-none">
<TabsTrigger
value="overview"
className="relative px-3 py-2.5 text-sm font-medium rounded-lg transition-all duration-200 data-[state=active]:bg-blue-600 data-[state=active]:text-white data-[state=active]:shadow-md data-[state=inactive]:bg-white data-[state=inactive]:text-gray-600 data-[state=inactive]:hover:bg-gray-50 data-[state=inactive]:border border-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 !outline-none !ring-0"
>
<Home className="w-4 h-4 mr-1.5" />
{t('tabs.overview', 'Übersicht')}
</TabsTrigger>
<TabsTrigger
value="details"
className="relative px-3 py-2.5 text-sm font-medium rounded-lg transition-all duration-200 data-[state=active]:bg-blue-600 data-[state=active]:text-white data-[state=active]:shadow-md data-[state=inactive]:bg-white data-[state=inactive]:text-gray-600 data-[state=inactive]:hover:bg-gray-50 data-[state=inactive]:border border-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 !outline-none !ring-0"
>
<FileText className="w-4 h-4 mr-1.5" />
{t('tabs.details', 'Details')}
</TabsTrigger>
<TabsTrigger
value="statistics"
className="relative px-3 py-2.5 text-sm font-medium rounded-lg transition-all duration-200 data-[state=active]:bg-blue-600 data-[state=active]:text-white data-[state=active]:shadow-md data-[state=inactive]:bg-white data-[state=inactive]:text-gray-600 data-[state=inactive]:hover:bg-gray-50 data-[state=inactive]:border border-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 !outline-none !ring-0"
>
<Calculator className="w-4 h-4 mr-1.5" />
{t('tabs.statistics', 'Statistik')}
</TabsTrigger>
<TabsTrigger
value="calculator"
className="relative px-3 py-2.5 text-sm font-medium rounded-lg transition-all duration-200 data-[state=active]:bg-blue-600 data-[state=active]:text-white data-[state=active]:shadow-md data-[state=inactive]:bg-white data-[state=inactive]:text-gray-600 data-[state=inactive]:hover:bg-gray-50 data-[state=inactive]:border border-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 !outline-none !ring-0"
>
<Calculator className="w-4 h-4 mr-1.5" />
{t('tabs.calculator', 'Rechner')}
</TabsTrigger>
<TabsTrigger
value="form"
className="relative px-3 py-2.5 text-sm font-medium rounded-lg transition-all duration-200 data-[state=active]:bg-blue-600 data-[state=active]:text-white data-[state=active]:shadow-md data-[state=inactive]:bg-white data-[state=inactive]:text-gray-600 data-[state=inactive]:hover:bg-gray-50 data-[state=inactive]:border border-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 !outline-none !ring-0"
>
<Phone className="w-4 h-4 mr-1.5" />
{t('tabs.form', 'Anfrage')}
</TabsTrigger>
<TabsTrigger
value="claims"
className="relative px-3 py-2.5 text-sm font-medium rounded-lg transition-all duration-200 data-[state=active]:bg-blue-600 data-[state=active]:text-white data-[state=active]:shadow-md data-[state=inactive]:bg-white data-[state=inactive]:text-gray-600 data-[state=inactive]:hover:bg-gray-50 data-[state=inactive]:border border-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 !outline-none !ring-0"
>
<AlertCircle className="w-4 h-4 mr-1.5" />
{t('tabs.claims', 'Schaden')}
</TabsTrigger>
<TabsTrigger
value="catalog"
className="relative px-3 py-2.5 text-sm font-medium rounded-lg transition-all duration-200 data-[state=active]:bg-blue-600 data-[state=active]:text-white data-[state=active]:shadow-md data-[state=inactive]:bg-white data-[state=inactive]:text-gray-600 data-[state=inactive]:hover:bg-gray-50 data-[state=inactive]:border border-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 !outline-none !ring-0"
>
<Search className="w-4 h-4 mr-1.5" />
{t('tabs.catalog', 'Katalog')}
</TabsTrigger>
</TabsList>
</div>
{/* Content */}
<div className="p-4 md:p-6">
<TabsContent value="overview" className="mt-0">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-8 items-center">
<div>
<div className="inline-flex items-center gap-2 rounded-full bg-blue-50 border border-blue-200 px-3 py-1 text-sm text-blue-800 mb-4">
<Star className="w-4 h-4" />
<span>{t('hero.badge', 'Für Unternehmen & Fuhrparks')}</span>
</div>
<h1 className="text-3xl md:text-4xl font-bold text-gray-900 leading-tight">
{t('hero.title', 'Flottenversicherung')}
<span className="block text-blue-700">{t('hero.subtitle', 'optimale Flottenlösungen für dein Unternehmen')}</span>
</h1>
<p className="mt-4 text-gray-600 text-lg">
{t(
'hero.description',
'Zentrale Policierung, flexible Deckungen und attraktive Konditionen wir finden die passende Lösung für deine Fahrzeugflotte.'
)}
</p>
<div className="mt-6 flex flex-col sm:flex-row gap-3">
<Button
onClick={() => setActiveTab('form')}
className="bg-blue-700 hover:bg-blue-800"
>
{t('hero.primaryCta', 'Angebot anfordern')}
</Button>
<Button
variant="outline"
onClick={() => navigate('/kontakt')}
className="border-gray-300"
>
{t('hero.secondaryCta', 'Beratung')}
</Button>
</div>
<div className="mt-6 grid grid-cols-1 sm:grid-cols-2 gap-3">
<div className="flex items-center gap-3 rounded-lg border border-gray-200 bg-white p-3">
<Truck className="w-5 h-5 text-blue-700" />
<div className="text-sm">
<div className="font-semibold text-gray-900">Viele Fahrzeugtypen</div>
<div className="text-gray-600">PKW, Transporter, LKW</div>
</div>
</div>
<div className="flex items-center gap-3 rounded-lg border border-gray-200 bg-white p-3">
<Users className="w-5 h-5 text-blue-700" />
<div className="text-sm">
<div className="font-semibold text-gray-900">Zentrale Verwaltung</div>
<div className="text-gray-600">Fahrerkreis & Flotte</div>
</div>
</div>
</div>
</div>
<div className="relative">
<div className="absolute inset-0 bg-gradient-to-tr from-blue-100 to-white rounded-2xl" />
<div className="relative rounded-2xl border border-gray-200 bg-white shadow-sm overflow-hidden">
<img
src={assetUrl('head_kfz_gewerblich.jpg')}
alt="Flottenversicherung"
className="w-full h-[320px] object-cover"
onError={(e) => {
(e.currentTarget as HTMLImageElement).style.display = 'none';
}}
/>
<div className="p-5">
<div className="flex items-center gap-2 text-sm text-gray-600">
<Shield className="w-4 h-4" />
<span>{t('hero.imageHint', 'Haftpflicht + Kasko für Flotten')}</span>
</div>
<div className="mt-2 text-sm text-gray-600">
{t('hero.imageText', 'Individuell kalkuliert passend zu Einsatz & Risiko.')}
</div>
</div>
</div>
</div>
</div>
<div className="mt-10 bg-white rounded-xl border border-gray-200 p-6">
<h3 className="text-xl font-bold text-gray-900 mb-4">Kurz & klar</h3>
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<Card className="border-gray-200">
<CardHeader>
<CardTitle className="text-base flex items-center gap-2">
<CheckCircle className="w-4 h-4 text-blue-700" />
Skalierbar
</CardTitle>
<CardDescription>
Fahrzeuge hinzufügen/entfernen ohne Chaos.
</CardDescription>
</CardHeader>
</Card>
<Card className="border-gray-200">
<CardHeader>
<CardTitle className="text-base flex items-center gap-2">
<Calculator className="w-4 h-4 text-blue-700" />
Vergleich
</CardTitle>
<CardDescription>
Richtwert ermitteln und Angebot einholen.
</CardDescription>
</CardHeader>
</Card>
<Card className="border-gray-200">
<CardHeader>
<CardTitle className="text-base flex items-center gap-2">
<PhoneCall className="w-4 h-4 text-blue-700" />
Schadenhilfe
</CardTitle>
<CardDescription>
Klare Schritte im Schadenfall.
</CardDescription>
</CardHeader>
</Card>
</div>
</div>
</TabsContent>
<TabsContent value="details" className="mt-0">
<div className="grid grid-cols-1 lg:grid-cols-3 gap-6">
<div className="lg:col-span-2">
<h3 className="text-2xl font-bold text-gray-900">Details & Vorteile</h3>
<p className="mt-2 text-gray-600">
Flottenversicherung bündelt mehrere Fahrzeuge in einer Lösung für weniger
Verwaltungsaufwand und häufig bessere Konditionen. Besonders sinnvoll bei
regelmäßig wechselnden Fahrern und Fahrzeugen.
</p>
{/* Benefits Grid */}
<div className="mt-6 grid grid-cols-1 md:grid-cols-2 gap-4">
{benefits.map((benefit, index) => {
const Icon = benefit.icon;
return (
<Card key={index} className="border-gray-200">
<CardHeader>
<CardTitle className="text-base flex items-center gap-2">
<Icon className="h-5 w-5 text-blue-700" />
{benefit.title}
</CardTitle>
<CardDescription className="text-gray-600">{benefit.description}</CardDescription>
</CardHeader>
</Card>
);
})}
</div>
{/* Services */}
<div className="mt-8">
<h4 className="text-lg font-semibold text-gray-900 mb-3">Leistungen (Auszug)</h4>
<div className="grid grid-cols-1 md:grid-cols-2 gap-3">
{services.map((service, index) => (
<div
key={index}
className="flex items-start gap-3 rounded-lg border border-gray-200 bg-white p-3"
>
<CheckCircle className="h-5 w-5 text-blue-700 mt-0.5 flex-shrink-0" />
<p className="text-gray-700">{service}</p>
</div>
))}
</div>
</div>
</div>
<div>
<Card className="border-gray-200">
<CardHeader>
<CardTitle className="text-lg">Für wen passt das?</CardTitle>
<CardDescription>
Ab wenigen Fahrzeugen sinnvoll je nach Struktur.
</CardDescription>
</CardHeader>
<CardContent className="space-y-3 text-sm text-gray-700">
<div className="flex items-start gap-2">
<CheckCircle className="w-4 h-4 text-blue-700 mt-0.5" />
<span>Handwerk / Bau / Service-Flotten</span>
</div>
<div className="flex items-start gap-2">
<CheckCircle className="w-4 h-4 text-blue-700 mt-0.5" />
<span>Lieferdienste / Logistik</span>
</div>
<div className="flex items-start gap-2">
<CheckCircle className="w-4 h-4 text-blue-700 mt-0.5" />
<span>Außendienst / Firmenwagen</span>
</div>
</CardContent>
</Card>
</div>
</div>
</TabsContent>
<TabsContent value="statistics" className="mt-0">
<div className="grid grid-cols-1 lg:grid-cols-3 gap-6">
<div className="lg:col-span-2">
<h3 className="text-2xl font-bold text-gray-900">Unfallstatistik</h3>
<p className="mt-2 text-gray-600">
In Flotten treten Schäden oft im Alltag auf: Rangieren, Parken, Lieferstopps.
Einheitliche Prozesse (Meldung, Dokumentation, Fahrerunterweisung) reduzieren
Ausfallzeiten und Kosten.
</p>
<div className="mt-6 grid grid-cols-1 md:grid-cols-2 gap-4">
<Card className="border-gray-200">
<CardHeader>
<CardTitle className="text-base flex items-center gap-2">
<AlertTriangle className="w-5 h-5 text-blue-700" />
Typische Flottenschäden
</CardTitle>
<CardDescription>
Parkrempler, Rangierschäden, Glas, Auffahrunfälle.
</CardDescription>
</CardHeader>
</Card>
<Card className="border-gray-200">
<CardHeader>
<CardTitle className="text-base flex items-center gap-2">
<Clock className="w-5 h-5 text-blue-700" />
Ausfallzeit minimieren
</CardTitle>
<CardDescription>
Schnelle Meldung + Werkstattnetz verkürzen Standzeiten.
</CardDescription>
</CardHeader>
</Card>
</div>
</div>
<div>
<Card className="border-gray-200">
<CardHeader>
<CardTitle className="text-lg">Tipp</CardTitle>
<CardDescription>
Einheitlicher Prozess im Unternehmen.
</CardDescription>
</CardHeader>
<CardContent className="text-sm text-gray-700">
Definiere eine kurze Checkliste (Fotos, Daten, Meldung) und schule Fahrer.
</CardContent>
</Card>
</div>
</div>
</TabsContent>
<TabsContent value="calculator" className="mt-0">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-6">
<div>
<h3 className="text-2xl font-bold text-gray-900">Vergleichsrechner</h3>
<p className="mt-2 text-gray-600">
Für Flotten ist eine genaue Kalkulation individuell. Hier ein Richtwert,
danach erstellen wir dir ein Angebot.
</p>
<Card className="mt-6 border-gray-200">
<CardHeader>
<CardTitle className="text-lg flex items-center gap-2">
<Calculator className="w-5 h-5 text-blue-700" />
Grobe Beitragsschätzung
</CardTitle>
<CardDescription>
Unverbindlich abhängig von Einsatz & Schadenverlauf.
</CardDescription>
</CardHeader>
<CardContent className="space-y-4">
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<div>
<label className="text-sm font-medium text-gray-700">Flottengröße</label>
<select
name="fleetSize"
value={formData.fleetSize}
onChange={handleFormChange}
className="mt-1 w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-sm"
>
<option value="">Bitte wählen</option>
<option value="2-5">2-5 Fahrzeuge</option>
<option value="6-15">6-15 Fahrzeuge</option>
<option value="16-50">16-50 Fahrzeuge</option>
<option value="50+">50+ Fahrzeuge</option>
</select>
</div>
<div>
<label className="text-sm font-medium text-gray-700">Nutzung</label>
<select
name="usage"
value={formData.usage}
onChange={handleFormChange}
className="mt-1 w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-sm"
>
<option value="">Bitte wählen</option>
<option value="delivery">Lieferung / Kurier</option>
<option value="service">Service / Handwerk</option>
<option value="sales">Außendienst</option>
<option value="mixed">Gemischt</option>
</select>
</div>
</div>
<div className="rounded-lg border border-blue-200 bg-blue-50 p-4">
<div className="text-sm text-blue-900 font-semibold">Richtwert (Beispiel)</div>
<div className="mt-1 text-sm text-blue-900">
Flottenbeitrag ab <span className="font-bold">ca. 85 </span>/Monat
</div>
<div className="text-xs text-blue-900/80 mt-2">
Stark abhängig von Fahrzeugmix, Region, Fahrern, Schadenquote.
</div>
</div>
<Button
onClick={() => setActiveTab('form')}
className="w-full bg-blue-700 hover:bg-blue-800"
>
Jetzt konkretes Angebot anfordern
</Button>
</CardContent>
</Card>
</div>
<div>
<Card className="border-gray-200">
<CardHeader>
<CardTitle className="text-lg">Was wir fürs Angebot brauchen</CardTitle>
<CardDescription>
Ein paar Eckdaten reichen für den Start.
</CardDescription>
</CardHeader>
<CardContent className="space-y-3 text-sm text-gray-700">
<div className="flex items-start gap-2">
<FileText className="w-4 h-4 text-blue-700 mt-0.5" />
<span>Fahrzeugliste (Typen, Kennzeichen optional)</span>
</div>
<div className="flex items-start gap-2">
<Search className="w-4 h-4 text-blue-700 mt-0.5" />
<span>Jährliche Fahrleistung / Einsatzgebiet</span>
</div>
<div className="flex items-start gap-2">
<AlertCircle className="w-4 h-4 text-blue-700 mt-0.5" />
<span>Schadenverlauf / Vorversicherung</span>
</div>
</CardContent>
</Card>
</div>
</div>
</TabsContent>
<TabsContent value="form" className="mt-0">
<div className="grid grid-cols-1 lg:grid-cols-3 gap-6">
<div className="lg:col-span-2">
<h3 className="text-2xl font-bold text-gray-900">Anfrageformular</h3>
<p className="mt-2 text-gray-600">
{t('form.description', 'Sende uns ein paar Angaben wir erstellen dir ein passendes Flottenangebot.')}
</p>
<Card className="mt-6 border-gray-200">
<CardContent className="p-6">
<form onSubmit={handleSubmit} className="space-y-4">
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<div>
<label className="text-sm font-medium text-gray-700">Unternehmen</label>
<input
name="company"
value={formData.company}
onChange={handleFormChange}
className="mt-1 w-full rounded-md border border-gray-300 px-3 py-2 text-sm"
required
/>
</div>
<div>
<label className="text-sm font-medium text-gray-700">Ansprechpartner</label>
<input
name="contactName"
value={formData.contactName}
onChange={handleFormChange}
className="mt-1 w-full rounded-md border border-gray-300 px-3 py-2 text-sm"
required
/>
</div>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<div>
<label className="text-sm font-medium text-gray-700">Telefon</label>
<input
name="phone"
value={formData.phone}
onChange={handleFormChange}
className="mt-1 w-full rounded-md border border-gray-300 px-3 py-2 text-sm"
/>
</div>
<div>
<label className="text-sm font-medium text-gray-700">E-Mail</label>
<input
type="email"
name="email"
value={formData.email}
onChange={handleFormChange}
className="mt-1 w-full rounded-md border border-gray-300 px-3 py-2 text-sm"
required
/>
</div>
</div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<div>
<label className="text-sm font-medium text-gray-700">Flottengröße</label>
<select
name="fleetSize"
value={formData.fleetSize}
onChange={handleFormChange}
className="mt-1 w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-sm"
>
<option value="">Bitte wählen</option>
<option value="2-5">2-5</option>
<option value="6-15">6-15</option>
<option value="16-50">16-50</option>
<option value="50+">50+</option>
</select>
</div>
<div>
<label className="text-sm font-medium text-gray-700">Fahrzeugtypen</label>
<input
name="vehicleTypes"
value={formData.vehicleTypes}
onChange={handleFormChange}
className="mt-1 w-full rounded-md border border-gray-300 px-3 py-2 text-sm"
placeholder="z. B. PKW, Transporter"
/>
</div>
<div>
<label className="text-sm font-medium text-gray-700">Nutzung</label>
<select
name="usage"
value={formData.usage}
onChange={handleFormChange}
className="mt-1 w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-sm"
>
<option value="">Bitte wählen</option>
<option value="delivery">Lieferung / Kurier</option>
<option value="service">Service / Handwerk</option>
<option value="sales">Außendienst</option>
<option value="mixed">Gemischt</option>
</select>
</div>
</div>
<div>
<label className="text-sm font-medium text-gray-700">Aktueller Versicherer (optional)</label>
<input
name="currentInsurer"
value={formData.currentInsurer}
onChange={handleFormChange}
className="mt-1 w-full rounded-md border border-gray-300 px-3 py-2 text-sm"
/>
</div>
<div>
<label className="text-sm font-medium text-gray-700">Nachricht</label>
<textarea
name="message"
value={formData.message}
onChange={handleFormChange}
className="mt-1 w-full rounded-md border border-gray-300 px-3 py-2 text-sm min-h-[120px]"
placeholder="Wichtige Infos: Fahrzeugmix, Einsatzgebiet, gewünschte Deckungen"
/>
</div>
<Button type="submit" className="bg-blue-700 hover:bg-blue-800">
Anfrage senden
</Button>
</form>
</CardContent>
</Card>
</div>
<div>
<Card className="border-gray-200">
<CardHeader>
<CardTitle className="text-lg">Direktkontakt</CardTitle>
<CardDescription>
Wenn es schnell gehen soll.
</CardDescription>
</CardHeader>
<CardContent className="space-y-3 text-sm text-gray-700">
<div className="flex items-center gap-2">
<Phone className="w-4 h-4 text-blue-700" />
<span>Telefon: 0171 / 9864053</span>
</div>
<div className="flex items-center gap-2">
<Mail className="w-4 h-4 text-blue-700" />
<span>E-Mail: info@finanzen-mizera.de</span>
</div>
<div className="pt-2">
<Button variant="outline" className="w-full" onClick={() => navigate('/kontakt')}>
Kontaktseite
</Button>
</div>
</CardContent>
</Card>
</div>
</div>
</TabsContent>
<TabsContent value="claims" className="mt-0">
<div className="grid grid-cols-1 lg:grid-cols-3 gap-6">
<div className="lg:col-span-2">
<h3 className="text-2xl font-bold text-gray-900">Schadenmeldung</h3>
<p className="mt-2 text-gray-600">
Im Flottenbetrieb ist Geschwindigkeit entscheidend: schnelle Meldung,
klare Dokumentation und ein zentraler Ansprechpartner.
</p>
<div className="mt-6 space-y-3">
<div className="flex items-start gap-3 rounded-lg border border-gray-200 bg-white p-4">
<AlertTriangle className="w-5 h-5 text-blue-700 mt-0.5" />
<div>
<div className="font-semibold text-gray-900">Sicherheit zuerst</div>
<div className="text-gray-600 text-sm">Unfallstelle sichern, ggf. 110/112.</div>
</div>
</div>
<div className="flex items-start gap-3 rounded-lg border border-gray-200 bg-white p-4">
<FileCheck className="w-5 h-5 text-blue-700 mt-0.5" />
<div>
<div className="font-semibold text-gray-900">Dokumentation</div>
<div className="text-gray-600 text-sm">Fotos, Daten, Fahrer, Fahrzeug, Zeugen.</div>
</div>
</div>
<div className="flex items-start gap-3 rounded-lg border border-gray-200 bg-white p-4">
<PhoneCall className="w-5 h-5 text-blue-700 mt-0.5" />
<div>
<div className="font-semibold text-gray-900">Melden</div>
<div className="text-gray-600 text-sm">So schnell wie möglich melden wir steuern den Prozess.</div>
</div>
</div>
</div>
<div className="mt-6 flex flex-col sm:flex-row gap-3">
<Button onClick={() => setActiveTab('form')} className="bg-blue-700 hover:bg-blue-800">
Hilfe anfordern
</Button>
<Link to="/kontakt" className="inline-flex">
<Button variant="outline">Kontakt</Button>
</Link>
</div>
</div>
<div>
<Card className="border-gray-200">
<CardHeader>
<CardTitle className="text-lg">Notfall-Info</CardTitle>
<CardDescription>
In akuten Situationen immer 110 / 112 wählen.
</CardDescription>
</CardHeader>
<CardContent className="text-sm text-gray-700 space-y-2">
<div className="flex items-start gap-2">
<PhoneCall className="w-4 h-4 text-blue-700 mt-0.5" />
<span>Polizei: 110</span>
</div>
<div className="flex items-start gap-2">
<PhoneCall className="w-4 h-4 text-blue-700 mt-0.5" />
<span>Rettung: 112</span>
</div>
</CardContent>
</Card>
</div>
</div>
</TabsContent>
<TabsContent value="catalog" className="mt-0">
<div className="grid grid-cols-1 lg:grid-cols-3 gap-6">
<div className="lg:col-span-2">
<h3 className="text-2xl font-bold text-gray-900">Bußgeldkatalog</h3>
<p className="mt-2 text-gray-600">
Informiere dich über Bußgelder & Punkte. Externe Quelle:
</p>
<div className="mt-4 flex flex-col sm:flex-row gap-3">
<a
href="https://www.derbussgeldkatalog.de/geschwindigkeit/?Ads-Kampagne-Bussgeldkatalog&gad_source=1&gad_campaignid=22848963551&gclid=CjwKCAiA09jKBhB9EiwAgB8l-EEMEsLQRd9_7VP8lxqXg8NBMFKwGCo1NDVYVwH2K0LQMfRmmDNAxRoCglsQAvD_BwE"
target="_blank"
rel="noopener noreferrer"
className="inline-flex"
>
<Button className="bg-blue-700 hover:bg-blue-800">
Zum Bußgeldkatalog
</Button>
</a>
<Button variant="outline" className="gap-2" onClick={() => window.print()}>
<Download className="w-4 h-4" />
Als PDF speichern
</Button>
</div>
</div>
<div>
<Card className="border-gray-200">
<CardHeader>
<CardTitle className="text-lg">Hinweis</CardTitle>
<CardDescription>
Werte können sich ändern bitte immer die aktuelle Quelle prüfen.
</CardDescription>
</CardHeader>
</Card>
</div>
</div>
</TabsContent>
<GeneralNotice />
</div>
</Tabs>
</div>
</div>
</div>
</div>
</Layout>
);
};
export default Flottenversicherung;