+
setIsOpen(!isOpen)}
+ className={cn(
+ "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
+ )}
+ >
+
+ {selectedLabel || placeholder}
+
+
+
+
+ {isOpen && (
+
+
+ {React.Children.map(children, (child) => {
+ if (React.isValidElement(child)) {
+ return (
+
handleSelect(child.props.value, child.props.children)}
+ className={cn(
+ "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground",
+ selectedValue === child.props.value && "bg-accent text-accent-foreground"
+ )}
+ >
+
+ {selectedValue === child.props.value && (
+
+
+
+ )}
+
+ {child.props.children}
+
+ )
+ }
+ return child
+ })}
+
+
+ )}
+
+ {/* Click outside to close */}
+ {isOpen && (
+
setIsOpen(false)}
+ />
+ )}
+
+ )
+ }
+)
+
+SimpleSelect.displayName = "SimpleSelect"
+
+interface SimpleSelectItemProps {
+ value: string
+ children: React.ReactNode
+}
+
+const SimpleSelectItem = ({ value, children }: SimpleSelectItemProps) => {
+ return
{children}
+}
+
+SimpleSelectItem.displayName = "SimpleSelectItem"
+
+export { SimpleSelect, SimpleSelectItem }
diff --git a/src/hooks/usePostHog.ts b/src/hooks/usePostHog.ts
new file mode 100644
index 0000000..c03a7ae
--- /dev/null
+++ b/src/hooks/usePostHog.ts
@@ -0,0 +1,29 @@
+import { useEffect } from 'react'
+import { posthog } from '../lib/posthog'
+
+export const usePostHog = () => {
+ useEffect(() => {
+ // PostHog is already initialized in main.tsx
+ return () => {
+ // Cleanup if needed
+ }
+ }, [])
+
+ return {
+ capture: (event: string, properties?: Record
) => {
+ posthog.capture(event, properties)
+ },
+ identify: (userId: string, properties?: Record) => {
+ posthog.identify(userId, properties)
+ },
+ reset: () => {
+ posthog.reset()
+ },
+ isFeatureEnabled: (flag: string) => {
+ return posthog.isFeatureEnabled(flag)
+ },
+ getFeatureFlag: (flag: string) => {
+ return posthog.getFeatureFlag(flag)
+ }
+ }
+}
diff --git a/src/lib/emailService.ts b/src/lib/emailService.ts
new file mode 100644
index 0000000..14aaa72
--- /dev/null
+++ b/src/lib/emailService.ts
@@ -0,0 +1,109 @@
+// Simple email service for form submissions
+// This uses a free webhook service to send emails
+
+export const sendCompanyRegistrationEmail = async (formData: any) => {
+ const emailData = {
+ to: 'knuth.timo@gmail.com',
+ subject: 'Neue Unternehmensanmeldung - EnergieProfis',
+ message: `
+Neue Unternehmensanmeldung
+
+Firmenname: ${formData.companyName}
+Ansprechpartner: ${formData.contactPerson}
+E-Mail: ${formData.email}
+Telefon: ${formData.phone}
+Website: ${formData.website || 'Nicht angegeben'}
+PLZ: ${formData.zipCode}
+Stadt: ${formData.city}
+Energiearten: ${formData.energyTypes.join(', ')}
+Leistungen: ${formData.services.join(', ')}
+Jahre Erfahrung: ${formData.experience}
+Einzugsgebiet: ${formData.coverageArea || 'Nicht angegeben'}
+Kontaktpräferenz: ${formData.contactPreference}
+Newsletter: ${formData.newsletter ? 'Ja' : 'Nein'}
+
+Unternehmensbeschreibung:
+${formData.description}
+ `
+ };
+
+ try {
+ // Log the data for now (this will show in console)
+ console.log('=== NEUE UNTERNEHMENSANMELDUNG ===');
+ console.log('📧 An: knuth.timo@gmail.com');
+ console.log('📋 Betreff: Neue Unternehmensanmeldung - EnergieProfis');
+ console.log('📄 Daten:', formData);
+ console.log('=====================================');
+
+ // Try to send email using EmailJS
+ try {
+ const emailResponse = await fetch('https://api.emailjs.com/api/v1.0/email/send', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ service_id: 'service_09n6j0x',
+ template_id: 'template_a5sc93m',
+ user_id: 'aAqMJarAgKThnW487',
+ template_params: {
+ to_email: emailData.to,
+ subject: emailData.subject,
+ message: emailData.message,
+ company_name: formData.companyName,
+ contact_person: formData.contactPerson,
+ email: formData.email,
+ phone: formData.phone,
+ website: formData.website || 'Nicht angegeben',
+ zip_code: formData.zipCode,
+ city: formData.city,
+ energy_types: formData.energyTypes.join(', '),
+ services: formData.services.join(', '),
+ experience: formData.experience,
+ coverage_area: formData.coverageArea || 'Nicht angegeben',
+ contact_preference: formData.contactPreference,
+ newsletter: formData.newsletter ? 'Ja' : 'Nein',
+ description: formData.description
+ }
+ })
+ });
+
+ if (emailResponse.ok) {
+ console.log('✅ E-Mail erfolgreich an knuth.timo@gmail.com gesendet!');
+ return { success: true };
+ } else {
+ const errorText = await emailResponse.text();
+ console.log('⚠️ E-Mail-Service Fehler:', emailResponse.status, errorText);
+ console.log('📧 Daten werden trotzdem geloggt für manuelle Verarbeitung');
+ return { success: false, data: emailData };
+ }
+ } catch (emailError) {
+ console.log('⚠️ E-Mail-Service nicht verfügbar, aber Daten wurden geloggt');
+ return { success: false, data: emailData };
+ }
+ } catch (error) {
+ console.error('Error sending email:', error);
+ console.log('Form data for manual processing:', emailData);
+ return { success: false, error: error.message, data: emailData };
+ }
+};
+
+// Alternative: Simple console logging for development
+export const logCompanyRegistration = (formData: any) => {
+ console.log('=== NEUE UNTERNEHMENSANMELDUNG ===');
+ console.log('Firmenname:', formData.companyName);
+ console.log('Ansprechpartner:', formData.contactPerson);
+ console.log('E-Mail:', formData.email);
+ console.log('Telefon:', formData.phone);
+ console.log('Website:', formData.website || 'Nicht angegeben');
+ console.log('PLZ:', formData.zipCode);
+ console.log('Stadt:', formData.city);
+ console.log('Energiearten:', formData.energyTypes.join(', '));
+ console.log('Leistungen:', formData.services.join(', '));
+ console.log('Jahre Erfahrung:', formData.experience);
+ console.log('Einzugsgebiet:', formData.coverageArea || 'Nicht angegeben');
+ console.log('Kontaktpräferenz:', formData.contactPreference);
+ console.log('Newsletter:', formData.newsletter ? 'Ja' : 'Nein');
+ console.log('Unternehmensbeschreibung:', formData.description);
+ console.log('=====================================');
+};
diff --git a/src/lib/posthog.ts b/src/lib/posthog.ts
new file mode 100644
index 0000000..66eb910
--- /dev/null
+++ b/src/lib/posthog.ts
@@ -0,0 +1,21 @@
+import posthog from 'posthog-js'
+
+const POSTHOG_API_KEY = import.meta.env.VITE_POSTHOG_API_KEY || 'phc_jIkj0hQSY670vRaUVjSRSDOqmLCDGkL6GJy44iqE84M'
+
+export const initPostHog = () => {
+ if (typeof window !== 'undefined') {
+ posthog.init(POSTHOG_API_KEY, {
+ api_host: 'https://app.posthog.com',
+ person_profiles: 'identified_only',
+ capture_pageview: true,
+ capture_pageleave: true,
+ loaded: (posthog) => {
+ if (process.env.NODE_ENV === 'development') {
+ console.log('PostHog loaded successfully')
+ }
+ }
+ })
+ }
+}
+
+export { posthog }
diff --git a/src/main.tsx b/src/main.tsx
index 719464e..935c56f 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -1,5 +1,9 @@
import { createRoot } from 'react-dom/client'
import App from './App.tsx'
import './index.css'
+import { initPostHog } from './lib/posthog'
+
+// Initialize PostHog
+initPostHog()
createRoot(document.getElementById("root")!).render( );
diff --git a/src/pages/CookieEinstellungen.tsx b/src/pages/CookieEinstellungen.tsx
new file mode 100644
index 0000000..8d232ba
--- /dev/null
+++ b/src/pages/CookieEinstellungen.tsx
@@ -0,0 +1,210 @@
+import { useState } from "react";
+import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
+import { Button } from "@/components/ui/button";
+import { Switch } from "@/components/ui/switch";
+import { Label } from "@/components/ui/label";
+import Header from "@/components/Header";
+import Footer from "@/components/Footer";
+
+const CookieEinstellungen = () => {
+ const [necessaryCookies, setNecessaryCookies] = useState(true); // Always true, can't be disabled
+ const [analyticsCookies, setAnalyticsCookies] = useState(false);
+ const [marketingCookies, setMarketingCookies] = useState(false);
+
+ const handleSavePreferences = () => {
+ // Save cookie preferences to localStorage
+ localStorage.setItem('cookiePreferences', JSON.stringify({
+ necessary: necessaryCookies,
+ analytics: analyticsCookies,
+ marketing: marketingCookies
+ }));
+
+ // Show success message
+ alert('Ihre Cookie-Einstellungen wurden gespeichert!');
+ };
+
+ const handleAcceptAll = () => {
+ setAnalyticsCookies(true);
+ setMarketingCookies(true);
+ localStorage.setItem('cookiePreferences', JSON.stringify({
+ necessary: true,
+ analytics: true,
+ marketing: true
+ }));
+ alert('Alle Cookies wurden akzeptiert!');
+ };
+
+ const handleRejectAll = () => {
+ setAnalyticsCookies(false);
+ setMarketingCookies(false);
+ localStorage.setItem('cookiePreferences', JSON.stringify({
+ necessary: true,
+ analytics: false,
+ marketing: false
+ }));
+ alert('Alle optionalen Cookies wurden abgelehnt!');
+ };
+
+ return (
+
+
+
+
+
+
Cookie-Einstellungen
+
+
+
+ Was sind Cookies?
+
+
+
+ Cookies sind kleine Textdateien, die auf Ihrem Gerät gespeichert werden, wenn Sie unsere Website besuchen.
+ Sie helfen uns dabei, Ihre Präferenzen zu speichern und die Website für Sie zu verbessern.
+ Wir verwenden verschiedene Arten von Cookies für unterschiedliche Zwecke.
+
+
+
+
+
+
+ Cookie-Kategorien
+
+
+ {/* Necessary Cookies */}
+
+
+
Notwendige Cookies
+
+ Diese Cookies sind für das Funktionieren der Website unerlässlich. Sie können nicht deaktiviert werden.
+ Sie werden normalerweise nur als Reaktion auf Aktionen gesetzt, die Sie ausführen und die einer Anfrage nach Diensten entsprechen.
+
+
+
+
+
+ {/* Analytics Cookies */}
+
+
+
Analyse-Cookies
+
+ Diese Cookies ermöglichen es uns, die Anzahl der Besucher zu zählen und zu verstehen, wie Besucher mit unserer Website interagieren.
+ Alle Informationen, die diese Cookies sammeln, werden aggregiert und sind daher anonym.
+
+
+
+
+
+ {/* Marketing Cookies */}
+
+
+
Marketing-Cookies
+
+ Diese Cookies werden verwendet, um Besuchern auf Webseiten zu folgen. Die Absicht ist, Anzeigen zu zeigen,
+ die relevant und ansprechend für den einzelnen Benutzer sind und daher wertvoller für Publisher und Drittanbieter sind.
+
+
+
+
+
+
+
+
+
+ Detaillierte Cookie-Informationen
+
+
+
+
Notwendige Cookies
+
+
+ session_id
+ Speichert Ihre Session-ID
+
+
+ cookie_preferences
+ Speichert Ihre Cookie-Einstellungen
+
+
+
+
+
+
Analyse-Cookies
+
+
+ _ga
+ Google Analytics - Unterscheidet Benutzer
+
+
+ _gid
+ Google Analytics - Unterscheidet Benutzer
+
+
+
+
+
+
Marketing-Cookies
+
+
+ _fbp
+ Facebook Pixel - Verfolgt Besucher
+
+
+
+
+
+
+
+
+ Ihre Rechte
+
+
+
+ Sie haben das Recht, Ihre Cookie-Einstellungen jederzeit zu ändern. Sie können auch Cookies,
+ die bereits auf Ihrem Gerät gespeichert sind, über Ihren Browser löschen.
+
+
+
Chrome: Einstellungen → Erweitert → Datenschutz und Sicherheit → Cookies und andere Websitedaten
+
Firefox: Einstellungen → Datenschutz & Sicherheit → Cookies und Website-Daten
+
Safari: Einstellungen → Datenschutz → Cookies und Website-Daten verwalten
+
Edge: Einstellungen → Cookies und Websiteberechtigungen → Cookies und gespeicherte Daten
+
+
+
+
+ {/* Action Buttons */}
+
+
+ Einstellungen speichern
+
+
+ Alle akzeptieren
+
+
+ Alle ablehnen
+
+
+
+
+
+
+
+ );
+};
+
+export default CookieEinstellungen;
diff --git a/src/pages/Datenschutz.tsx b/src/pages/Datenschutz.tsx
new file mode 100644
index 0000000..618c65d
--- /dev/null
+++ b/src/pages/Datenschutz.tsx
@@ -0,0 +1,158 @@
+import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
+import Header from "@/components/Header";
+import Footer from "@/components/Footer";
+
+const Datenschutz = () => {
+ return (
+
+
+
+
+
+
Datenschutzerklärung
+
+
+
+ 1. Datenschutz auf einen Blick
+
+
+
+
Allgemeine Hinweise
+
+ Die folgenden Hinweise geben einen einfachen Überblick darüber, was mit Ihren personenbezogenen Daten passiert, wenn Sie diese Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgeführten Datenschutzerklärung.
+
+
+
+
+
Datenerfassung auf dieser Website
+
+ Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen Kontaktdaten können Sie dem Abschnitt „Hinweis zur Verantwortlichen Stelle" in dieser Datenschutzerklärung entnehmen.
+
+
+
+
+
+
+
+ 2. Allgemeine Hinweise und Pflichtinformationen
+
+
+
+
Datenschutz
+
+ Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend den gesetzlichen Datenschutzvorschriften sowie dieser Datenschutzerklärung.
+
+
+
+
+
Hinweis zur verantwortlichen Stelle
+
+ Die verantwortliche Stelle für die Datenverarbeitung auf dieser Website ist der Betreiber dieser Website.
+
+
+
+
+
Speicherdauer
+
+ Soweit innerhalb dieser Datenschutzerklärung keine speziellere Speicherdauer genannt wurde, verbleiben Ihre personenbezogenen Daten bei uns, bis der Zweck für die Datenverarbeitung entfällt. Wenn Sie ein berechtigtes Löschersuchen geltend machen oder eine Einwilligung zur Datenverarbeitung widerrufen, werden Ihre Daten gelöscht, sofern wir keine anderen rechtlich zulässigen Gründe für die Speicherung Ihrer personenbezogenen Daten haben.
+
+
+
+
+
+
+
+ 3. Datenerfassung auf dieser Website
+
+
+
+
Server-Log-Dateien
+
+ Der Provider der Seiten erhebt und speichert automatisch Informationen in so genannten Server-Log-Dateien, die Ihr Browser automatisch an uns übermittelt. Dies sind:
+
+
+ Browsertyp und Browserversion
+ verwendetes Betriebssystem
+ Referrer URL
+ Hostname des zugreifenden Rechners
+ Uhrzeit der Serveranfrage
+ IP-Adresse
+
+
+ Eine Zusammenführung dieser Daten mit anderen Datenquellen wird nicht vorgenommen. Die Erfassung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO.
+
+
+
+
+
Kontaktformular
+
+ Wenn Sie uns per Kontaktformular Anfragen zukommen lassen, werden Ihre Angaben aus dem Anfrageformular inklusive der von Ihnen dort angegebenen Kontaktdaten zwecks Bearbeitung der Anfrage und für den Fall von Anschlussfragen bei uns gespeichert. Diese Daten geben wir nicht ohne Ihre Einwilligung weiter.
+
+
+
+
+
+
+
+ 4. Analyse-Tools und Tools von Drittanbietern
+
+
+
+
Google Analytics
+
+ Diese Website nutzt Funktionen des Webanalysedienstes Google Analytics. Anbieter ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland.
+
+
+ Google Analytics verwendet so genannte "Cookies". Das sind Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch das Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert.
+
+
+
+
+
+
+
+ 5. Ihre Rechte
+
+
+
+
Widerruf Ihrer Einwilligung zur Datenverarbeitung
+
+ Viele Datenverarbeitungsvorgänge sind nur mit Ihrer ausdrücklichen Einwilligung möglich. Sie können eine bereits erteilte Einwilligung jederzeit widerrufen. Die Rechtmäßigkeit der bis zum Widerruf erfolgten Datenverarbeitung bleibt vom Widerruf unberührt.
+
+
+
+
+
Recht auf Datenübertragbarkeit
+
+ Sie haben das Recht, Daten, die wir auf Grundlage Ihrer Einwilligung oder in Erfüllung eines Vertrags automatisiert verarbeiten, an sich oder an einen Dritten in einem gängigen, maschinenlesbaren Format aushändigen zu lassen. Sofern Sie die direkte Übertragung der Daten an einen anderen Verantwortlichen verlangen, erfolgt dies nur, soweit es technisch machbar ist.
+
+
+
+
+
SSL- bzw. TLS-Verschlüsselung
+
+ Diese Seite nutzt aus Sicherheitsgründen und zum Schutz der Übertragung vertraulicher Inhalte, wie zum Beispiel Bestellungen oder Anfragen, die Sie an uns als Seitenbetreiber senden, eine SSL- bzw. TLS-Verschlüsselung. Eine verschlüsselte Verbindung erkennen Sie daran, dass die Adresszeile des Browsers von "http://" auf "https://" wechselt und an dem Schloss-Symbol in Ihrer Browserzeile.
+
+
+
+
+
+
+
+ 6. Kontakt
+
+
+
+ Bei Fragen zum Datenschutz können Sie uns über die auf dieser Website verfügbaren Kontaktmöglichkeiten erreichen.
+
+
+
+
+
+
+
+
+ );
+};
+
+export default Datenschutz;
diff --git a/src/pages/Impressum.tsx b/src/pages/Impressum.tsx
new file mode 100644
index 0000000..a0c57e6
--- /dev/null
+++ b/src/pages/Impressum.tsx
@@ -0,0 +1,49 @@
+import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
+import Header from "@/components/Header";
+import Footer from "@/components/Footer";
+
+const Impressum = () => {
+ return (
+
+
+
+
+
+
Impressum
+
+
+
+ Angaben gemäß § 5 TMG
+
+
+
+
Betreiber dieser Website
+
+ Diese Website wird von einem privaten Betreiber geführt.
+
+
+
+
+
Haftungsausschluss
+
+ Die Inhalte dieser Website dienen der allgemeinen Information. Wir übernehmen keine Gewähr für die Vollständigkeit, Richtigkeit oder Aktualität der bereitgestellten Informationen.
+
+
+
+
+
Urheberrecht
+
+ Die Inhalte dieser Website unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers.
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default Impressum;
diff --git a/src/pages/UnternehmenListen.tsx b/src/pages/UnternehmenListen.tsx
index 370eddc..d5cd4aa 100644
--- a/src/pages/UnternehmenListen.tsx
+++ b/src/pages/UnternehmenListen.tsx
@@ -3,13 +3,17 @@ import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Textarea } from "@/components/ui/textarea";
-import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
+import { SimpleSelect, SimpleSelectItem } from "@/components/ui/simple-select";
import { Label } from "@/components/ui/label";
import { Checkbox } from "@/components/ui/checkbox";
import { Building2, MapPin, Phone, Mail, Globe, CheckCircle, Users, Award, Clock } from "lucide-react";
import Header from "@/components/Header";
+import { usePostHog } from "@/hooks/usePostHog";
+import { sendCompanyRegistrationEmail } from "@/lib/emailService";
const UnternehmenListen = () => {
+ const posthog = usePostHog();
+
const [formData, setFormData] = useState({
companyName: "",
contactPerson: "",
@@ -37,6 +41,14 @@ const UnternehmenListen = () => {
...prev,
[field]: value
}));
+
+ // Track form interactions
+ if (field === 'experience') {
+ posthog.capture('experience_selected', {
+ experience_level: value,
+ form_section: 'company_registration'
+ });
+ }
};
const handleEnergyTypeChange = (type: string, checked: boolean) => {
@@ -51,6 +63,13 @@ const UnternehmenListen = () => {
energyTypes: prev.energyTypes.filter(t => t !== type)
}));
}
+
+ // Track energy type selection
+ posthog.capture('energy_type_selected', {
+ energy_type: type,
+ selected: checked,
+ form_section: 'company_registration'
+ });
};
const handleServiceChange = (service: string, checked: boolean) => {
@@ -65,14 +84,63 @@ const UnternehmenListen = () => {
services: prev.services.filter(s => s !== service)
}));
}
+
+ // Track service selection
+ posthog.capture('service_selected', {
+ service: service,
+ selected: checked,
+ form_section: 'company_registration'
+ });
};
const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault();
setIsSubmitting(true);
- // Simulate API call
- await new Promise(resolve => setTimeout(resolve, 2000));
+ // Track form submission in PostHog
+ posthog.capture('company_registration_started', {
+ company_name: formData.companyName,
+ energy_types: formData.energyTypes,
+ services: formData.services,
+ experience: formData.experience,
+ location: `${formData.zipCode} ${formData.city}`
+ });
+
+ try {
+ // Send email notification via webhook
+ const result = await sendCompanyRegistrationEmail(formData);
+
+ if (result.success) {
+ console.log('✅ E-Mail erfolgreich an Webhook gesendet!');
+ console.log('📧 Daten wurden an knuth.timo@gmail.com weitergeleitet');
+
+ // Track successful submission
+ posthog.capture('company_registration_completed', {
+ company_name: formData.companyName,
+ energy_types: formData.energyTypes,
+ services: formData.services,
+ experience: formData.experience,
+ location: `${formData.zipCode} ${formData.city}`
+ });
+ } else {
+ console.log('⚠️ Webhook-Fehler, aber Daten wurden geloggt:', result.data);
+
+ // Track failed submission
+ posthog.capture('company_registration_failed', {
+ company_name: formData.companyName,
+ error: result.error || 'Webhook failed'
+ });
+ }
+
+ } catch (error) {
+ console.error('❌ Fehler beim Senden der E-Mail:', error);
+
+ // Track failed submission
+ posthog.capture('company_registration_failed', {
+ company_name: formData.companyName,
+ error: error.message
+ });
+ }
setIsSubmitting(false);
setIsSubmitted(true);
@@ -266,17 +334,16 @@ const UnternehmenListen = () => {
Jahre Erfahrung *
- handleInputChange("experience", value)}>
-
-
-
-
- 0-2 Jahre
- 3-5 Jahre
- 6-10 Jahre
- Über 10 Jahre
-
-
+ handleInputChange("experience", value)}
+ placeholder="Erfahrung wählen"
+ >
+ 0-2 Jahre
+ 3-5 Jahre
+ 6-10 Jahre
+ Über 10 Jahre
+
Einzugsgebiet