'use client' import { useState, useEffect } from 'react' import { useRouter } from 'next/navigation' import { PerformanceProvider, usePerformance } from '@/lib/spatial-ui/PerformanceContext' import { FocusProvider } from '@/lib/spatial-ui/FocusContext' import { FloatingMessage } from '@/components/spatial-ui/FloatingMessage' import { GlassCard, AnalogClock, Compass, BarChart, TemperatureDisplay, ProgressRing, StatDisplay, ListItem, ActionButton, QualityIndicator, } from './_components/DashboardWidgets' // ============================================================================= // MAIN DASHBOARD // ============================================================================= function DashboardContent() { const router = useRouter() const { settings } = usePerformance() const [mousePos, setMousePos] = useState({ x: 0, y: 0 }) const [time, setTime] = useState(new Date()) useEffect(() => { const timer = setInterval(() => setTime(new Date()), 1000) return () => clearInterval(timer) }, []) useEffect(() => { if (!settings.enableParallax) return const handleMouseMove = (e: MouseEvent) => setMousePos({ x: e.clientX, y: e.clientY }) window.addEventListener('mousemove', handleMouseMove) return () => window.removeEventListener('mousemove', handleMouseMove) }, [settings.enableParallax]) const windowWidth = typeof window !== 'undefined' ? window.innerWidth : 1920 const windowHeight = typeof window !== 'undefined' ? window.innerHeight : 1080 const parallax = settings.enableParallax ? { x: (mousePos.x / windowWidth - 0.5) * 15, y: (mousePos.y / windowHeight - 0.5) * 15 } : { x: 0, y: 0 } const greeting = time.getHours() < 12 ? 'Guten Morgen' : time.getHours() < 18 ? 'Guten Tag' : 'Guten Abend' const weeklyData = [ { label: 'Mo', value: 4 }, { label: 'Di', value: 7 }, { label: 'Mi', value: 3 }, { label: 'Do', value: 8 }, { label: 'Fr', value: 6, highlight: true }, { label: 'Sa', value: 2 }, { label: 'So', value: 0 }, ] return (
{time.toLocaleDateString('de-DE', { weekday: 'long', day: 'numeric', month: 'long' })}
{time.toLocaleTimeString('de-DE', { hour: '2-digit', minute: '2-digit' })}
SW Wind
12 km/h
28
Diese Woche
156
Gesamt
durch KI-Unterstuetzung