'use client' import { useEffect, useState } from 'react' import { useLanguage } from '@/lib/i18n' import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog' import { getConsent, setConsent } from '@/lib/consent/cookie-consent' import { toast } from 'sonner' interface CookiePreferencesDialogProps { open: boolean onOpenChange: (open: boolean) => void } export function CookiePreferencesDialog({ open, onOpenChange }: CookiePreferencesDialogProps) { const { t } = useLanguage() const [analytics, setAnalytics] = useState(false) useEffect(() => { if (!open) return const current = getConsent() setAnalytics(current?.analytics ?? false) }, [open]) const handleSave = () => { setConsent({ analytics, marketing: false }) toast.success(t('consent.preferences.saved')) onOpenChange(false) } return ( ) } function CategoryRow({ title, description, checked, onChange, locked, alwaysOnLabel, }: { title: string description: string checked: boolean onChange?: (v: boolean) => void locked?: boolean alwaysOnLabel?: string }) { return (
{title}
{description}
{locked && alwaysOnLabel && ({alwaysOnLabel}
)}