import { Shield, Loader2, Settings, Crown, BarChart3 } from "lucide-react" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { toast } from "sonner" import { FeatureHeader } from "@/components/feature-header" import { usePro } from "@/contexts/pro-context" import { ProIndicator } from "@/components/pro/pro-indicator" import { useRecaptchaSettings } from "../hooks/use-recaptcha-settings" import { GeneralTab } from "./tabs/general-tab" import { SettingsTab } from "./tabs/settings-tab" import { AnalyticsTab } from "./tabs/analytics-tab" import { RecaptchaUpgradeTab } from "./tabs/upgrade-tab" // Documentation URL for reCAPTCHA feature const RECAPTCHA_DOCS_URL = "https://www.swiftcommerce.io/help/spam/recaptcha/" export function RecaptchaSettings() { const { isPro } = usePro() const { settings, isSaving, isLoading, hasChanges, updateSettings, toggleLocation, toggleBypassRole, setProvider, setVersion, setV2Mode, setV3Display, saveSettings, resetToDefaults, } = useRecaptchaSettings() const handleSave = async () => { const result = await saveSettings() if (result.success) { toast.success("Settings saved", { description: "Your reCAPTCHA settings have been saved successfully." }) } else { toast.error("Failed to save settings", { description: "Please try again or check your connection." }) } } const handleReset = () => { resetToDefaults() toast.success("Settings reset", { description: "All settings have been reset to their defaults. Don't forget to save." }) } if (isLoading) { return (

Loading settings...

) } return ( } title="reCAPTCHA Settings" description="Protect your site from bots and spam attacks with Google reCAPTCHA" documentationUrl={RECAPTCHA_DOCS_URL} enabled={settings.enabled} onEnabledChange={(checked) => updateSettings('enabled', checked)} hasChanges={hasChanges} isSaving={isSaving} onSave={handleSave} onReset={handleReset} resetConfirmMessage="This will reset all reCAPTCHA settings to their default values. Your API keys will be cleared and you'll need to re-enter them." > {/* Content Area */}
{/* Settings Tabs */} General Settings {isPro && ( Analytics )} {!isPro && ( Upgrade to Pro )} {isPro && ( )} {!isPro && ( )}
) }