"use client" import { useState, useEffect } from 'react' import { createClient } from '@/lib/supabase/client' import { Button } from '@/components/ui/button' import Link from 'next/link' import { motion } from 'framer-motion' import { type User } from '@supabase/supabase-js' import { ArrowRight, CheckCircle2, MessageSquare, BookOpen, Layers, LifeBuoy, Users, ClipboardList, Zap, ArrowUpRight, ShieldCheck, Calendar, Sparkles, Activity } from 'lucide-react' import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, } from '@/components/ui/dialog' import { AsciiShaderBackground } from '@/components/AsciiShaderBackground' import { ProcessSteps } from '@/components/ProcessSteps' import { ScrollIndicator } from '@/components/ScrollIndicator' import { WorkspaceZentrale } from '@/components/WorkspaceZentrale' import { useTheme } from '@/components/ThemeProvider' interface HomeClientProps { initialUser: User | null } export function HomeClient({ initialUser }: HomeClientProps) { const { branding } = useTheme() const [user, setUser] = useState(initialUser) const [mounted, setMounted] = useState(false) const [calendarOpen, setCalendarOpen] = useState(false) useEffect(() => { setMounted(true) const supabase = createClient() // Listen to client-side auth state changes to stay in sync const { data: { subscription } } = supabase.auth.onAuthStateChange((event, session) => { setUser(session?.user ?? null) }) return () => { subscription.unsubscribe() } }, []) const containerVariants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.15 } } } const itemVariants = { hidden: { y: 20, opacity: 0 }, visible: { y: 0, opacity: 1, transition: { type: "spring" as const, stiffness: 100, damping: 15 } } } return (
{/* Hero Section */}
{/* Headline */}
CASPOS Software Lizenzen & Module Erwerben und verwalten Sie Lizenzen für CASPOS Kassensysteme.
{/* Hero CTAs */} {/* Quick Access Actions Bar */} {mounted && user && (

Mein Dashboard Schnellzugriff

Kundenliste Verwalten
Bestellungen Status einsehen
)}
{/* Dialog / Popup für Termin-Kalender (Geplant) */}
Termin-Kalender In Planung
Der Termin-Kalender bietet in Kürze eine Übersicht für anstehende Schulungen, Online- & Vor-Ort-Workshops sowie Termine für Blauer-Mittwoch-Partner zur direkten Anmeldung.
Geplante Features & Angebote:
  • Anmeldung zu Online- & Vor-Ort-Workshops
  • Anstehende Schulungstermine auf einen Blick
  • Spezielle Schulungen für Blauer-Mittwoch-Partner
  • Kalender-Export (.ics / Google / Outlook)
{/* Grid of modules / Workspace-Zentrale */} {/* Stepper info */} {/* Footer */}
) }