"use client"; import { useState, useEffect } from 'react'; import { useCookieConsentStore, type CookiePreferences } from '../../store/cookieConsentStore'; import { useTranslation } from 'react-i18next'; import { X, ShieldCheck, BarChart3, Target, Lock, Check } from 'lucide-react'; export default function CookiePreferencesModal() { const { t } = useTranslation(); const { record, isPreferencesOpen, closePreferences, savePreferences, acceptAll, rejectAll, } = useCookieConsentStore(); // Local state for interactive toggling inside the modal const [localPrefs, setLocalPrefs] = useState({ necessary: true, analytics: false, marketing: false, }); // Sync local state when modal opens useEffect(() => { if (isPreferencesOpen) { setLocalPrefs({ necessary: true, analytics: Boolean(record.preferences.analytics), marketing: Boolean(record.preferences.marketing), }); } }, [isPreferencesOpen, record.preferences]); // Handle ESC key to close useEffect(() => { if (!isPreferencesOpen) return; const handleKeyDown = (e: KeyboardEvent) => { if (e.key === 'Escape') closePreferences(); }; window.addEventListener('keydown', handleKeyDown); return () => window.removeEventListener('keydown', handleKeyDown); }, [isPreferencesOpen, closePreferences]); if (!isPreferencesOpen) return null; const handleSave = () => { savePreferences(localPrefs); }; return (
e.stopPropagation()} > {/* Header */}

{t('cookie.prefSubtitle', 'จัดการความยินยอมในการจัดเก็บและใช้งานคุกกี้ตาม พ.ร.บ. คุ้มครองข้อมูลส่วนบุคคล (PDPA)')}

{/* Body / Cookie Categories */}
{/* 1. Necessary Cookies */}

{t('cookie.catNecessaryTitle', 'คุกกี้ที่จำเป็นอย่างยิ่ง (Strictly Necessary)')}

{t('cookie.alwaysActive', 'เปิดใช้งานเสมอ')}

{t( 'cookie.catNecessaryDesc', 'คุกกี้เหล่านี้มีความจำเป็นต่อการทำงานพื้นฐานของเว็บไซต์ เช่น การเข้าสู่ระบบ ความปลอดภัย การจดจำสินค้าในตะกร้า และการตั้งค่าภาษา เว็บไซต์ไม่สามารถทำงานได้อย่างถูกต้องหากไม่มีคุกกี้เหล่านี้' )}

{/* 2. Analytics Cookies */}

{t('cookie.catAnalyticsTitle', 'คุกกี้เพื่อการวิเคราะห์และวัดผล (Analytics & Performance)')}

{t( 'cookie.catAnalyticsDesc', 'ช่วยให้เราทราบสถิติการเข้าชม พฤติกรรมหน้าเว็บยอดนิยม และเส้นทางการใช้งานของผู้ใช้ เพื่อนำข้อมูลไปปรับปรุงประสิทธิภาพและบริการ (เช่น Google Analytics 4) ข้อมูลจะถูกจัดเก็บแบบไม่ระบุตัวตนโดยตรง' )}

{/* 3. Marketing Cookies */}

{t('cookie.catMarketingTitle', 'คุกกี้เพื่อการตลาดและโฆษณา (Marketing & Targeting)')}

{t( 'cookie.catMarketingDesc', 'ใช้เพื่อนำเสนอโปรโมชัน โฆษณา และเนื้อหาที่สอดคล้องกับความสนใจของท่านผ่านแพลตฟอร์มพันธมิตร (เช่น Meta Pixel, TikTok Pixel, Google Ads) รวมถึงวัดประสิทธิผลของแคมเปญ' )}

{/* Footer / Buttons */}
); }