"use client"; import { useState } from "react"; import { Globe, MapPin, ChevronRight, Shield, Heart } from "lucide-react"; import { t, LANGUAGE_NAMES, getCountryName, getEmergencyNumber, type SupportedLanguage, } from "@/lib/i18n"; interface WelcomeScreenProps { detectedLanguage: SupportedLanguage; detectedCountry: string; onComplete: (language: SupportedLanguage, country: string) => void; } export function WelcomeScreen({ detectedLanguage, detectedCountry, onComplete, }: WelcomeScreenProps) { const [step, setStep] = useState<"detected" | "language" | "region">("detected"); const [selectedLang, setSelectedLang] = useState(detectedLanguage); const [selectedCountry, setSelectedCountry] = useState(detectedCountry); const lang = selectedLang; if (step === "language") { return (

{t("choose_language", lang)}

{(Object.entries(LANGUAGE_NAMES) as [SupportedLanguage, string][]).map( ([code, name]) => ( ) )}
); } if (step === "region") { const countries = [ "US", "CA", "GB", "AU", "NZ", "IT", "DE", "FR", "ES", "PT", "NL", "PL", "IN", "CN", "JP", "KR", "BR", "MX", "AR", "CO", "ZA", "NG", "KE", "TZ", "EG", "MA", "TR", "RU", "SA", "AE", "PK", "BD", "VN", "TH", "PH", "ID", "MY", ]; return (

{t("welcome_change_region", lang)}

{countries.map((code) => ( ))}
); } // Main detected screen return (
{/* Logo */}

{t("welcome_title", lang)}

{t("welcome_subtitle", lang)}

{/* Detection card */}

{t("welcome_detected", lang)}

{LANGUAGE_NAMES[selectedLang]}
{getCountryName(selectedCountry)} {t("emergency_call", lang)}: {getEmergencyNumber(selectedCountry)}
{/* Continue button */} {/* Change buttons */}
|
{/* Trust badges */}
{t("badge_private", lang)}
{t("badge_no_signup", lang)}
{t("badge_free", lang)}
); }