import { useState, useEffect, useCallback } from "react"; import { useLocation } from "wouter"; import { Star, ChevronLeft, ChevronRight, X } from "lucide-react"; const SIGNS = [ { name: "Widder", symbol: "♈", date: "21.03 – 19.04", element: "Feuer" }, { name: "Stier", symbol: "♉", date: "20.04 – 20.05", element: "Erde" }, { name: "Zwillinge", symbol: "♊", date: "21.05 – 20.06", element: "Luft" }, { name: "Krebs", symbol: "♋", date: "21.06 – 22.07", element: "Wasser" }, { name: "Löwe", symbol: "♌", date: "23.07 – 22.08", element: "Feuer" }, { name: "Jungfrau", symbol: "♍", date: "23.08 – 22.09", element: "Erde" }, { name: "Waage", symbol: "♎", date: "23.09 – 22.10", element: "Luft" }, { name: "Skorpion", symbol: "♏", date: "23.10 – 21.11", element: "Wasser" }, { name: "Schütze", symbol: "♐", date: "22.11 – 21.12", element: "Feuer" }, { name: "Steinbock", symbol: "♑", date: "22.12 – 19.01", element: "Erde" }, { name: "Wassermann", symbol: "♒", date: "20.01 – 18.02", element: "Luft" }, { name: "Fische", symbol: "♓", date: "19.02 – 20.03", element: "Wasser" }, ]; const DAILY_TEXTS = [ "Ein wunderbarer Tag für neue Begegnungen. Die Sterne stehen günstig für spontane Entscheidungen.", "Heute ist Geduld gefragt. Lassen Sie sich Zeit und genießen Sie die kleinen Freuden des Alltags.", "Kommunikation steht im Vordergrund. Ein gutes Gespräch kann heute Wunder wirken.", "Vertrauen Sie auf Ihre Intuition. Ihr Bauchgefühl weist Ihnen den richtigen Weg.", "Kreativität und Mut werden heute belohnt. Zeigen Sie, was in Ihnen steckt!", "Ordnung und Struktur bringen heute den Erfolg. Nutzen Sie die Energie für wichtige Aufgaben.", "Harmonie und Ausgeglichenheit bestimmen den Tag. Genießen Sie die Zeit mit Ihren Liebsten.", "Tiefgründige Erkenntnisse warten auf Sie. Nehmen Sie sich Zeit für Reflexion.", "Abenteuerlust liegt in der Luft! Planen Sie etwas Besonderes für heute.", "Disziplin und Ausdauer zahlen sich aus. Bleiben Sie an Ihren Zielen dran.", "Originelle Ideen kommen heute von ganz allein. Lassen Sie Ihrer Fantasie freien Lauf.", "Einfühlungsvermögen und Mitgefühl stärken heute Ihre Beziehungen.", ]; function getDailyText(signIndex: number): string { const dayOfYear = Math.floor((Date.now() - new Date(new Date().getFullYear(), 0, 0).getTime()) / 86400000); return DAILY_TEXTS[(signIndex + dayOfYear) % DAILY_TEXTS.length]; } function HoroscopeModal({ onClose, initialSign }: { onClose: () => void; initialSign: number }) { const [selected, setSelected] = useState(initialSign); return (
e.stopPropagation()} >

Tageshoroskop

{SIGNS.map((sign, i) => ( ))}
{SIGNS[selected].symbol}

{SIGNS[selected].name}

{SIGNS[selected].date} · {SIGNS[selected].element}

{getDailyText(selected)}

); } export function HoroscopeWidget() { const [showModal, setShowModal] = useState(false); const [index, setIndex] = useState(0); const [paused, setPaused] = useState(false); const next = useCallback(() => setIndex((i) => (i + 1) % SIGNS.length), []); useEffect(() => { if (paused) return; const timer = setInterval(next, 6000); return () => clearInterval(timer); }, [paused, next]); const sign = SIGNS[index]; return ( <>
setPaused(true)} onMouseLeave={() => setPaused(false)} onClick={() => setShowModal(true)} data-testid="widget-horoscope" >

Horoskop

{sign.symbol}

{sign.name}

{sign.date}

{getDailyText(index)}

{SIGNS.map((_, i) => (
{showModal && setShowModal(false)} />} ); }