import { useState } from "react" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { Cookie, Crown, Palette, Settings, Link2, Globe, Loader2, LayoutTemplate, ScrollText, ListChecks } from "lucide-react" import { toast } from "sonner" import { usePro } from "@/contexts/pro-context" import { useCookieConsent } from "../hooks/use-cookie-consent" import { GeneralTab } from "./tabs/general-tab" import { AppearanceTab } from "./tabs/appearance-tab" import { BehaviorTab } from "./tabs/behavior-tab" import { CategoriesTab } from "./tabs/categories-tab" import { IntegrationsTab } from "./tabs/integrations-tab" import { AdvancedTab } from "./tabs/advanced-tab" import { ConsentLogsTab } from "./tabs/consent-logs-tab" import { UpgradeTab } from "./tabs/upgrade-tab" import { FeatureHeader } from "@/components/feature-header" import { ProIndicator } from "@/components/pro/pro-indicator" export function CookieConsentSettings() { const { isPro } = usePro() const { settings, loading, saving, hasChanges, updateSettings, updateContentSettings, updateAppearanceSettings, updateBehaviorSettings, updateIntegrationSettings, updateGeoSettings, updateLoggingSettings, addCategory, updateCategory, removeCategory, saveSettings, resetToDefaults, } = useCookieConsent() const [activeTab, setActiveTab] = useState("general") const handleSave = async () => { const result = await saveSettings() if (result.success) { toast.success("Settings saved", { description: "Your cookie consent settings have been saved successfully." }) } else { toast.error("Failed to save settings", { description: "Please try again or check your connection." }) } } if (loading) { return (

Loading settings...

) } return ( } title="Cookie Consent" description="Configurable cookie preferences, integration gating, and consent records" documentationUrl="https://www.swiftcommerce.io/help/compliance/cookie-consent/" enabled={settings.enabled} onEnabledChange={(checked) => updateSettings('enabled', checked)} hasChanges={hasChanges} isSaving={saving} onSave={handleSave} onReset={resetToDefaults} > {/* Tabs */} General Appearance Categories Behavior {isPro && ( Integrations )} {isPro && ( Consent Logs )} {isPro && ( Advanced )} {!isPro && ( Upgrade to Pro )} {isPro && ( )} {isPro && ( )} {isPro && ( )} {!isPro && ( )} ) }