"use client"; import { invoke } from "@tauri-apps/api/core"; import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Button } from "@/components/ui/button"; import { Checkbox } from "@/components/ui/checkbox"; import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Label } from "@/components/ui/label"; interface WindowResizeWarningDialogProps { isOpen: boolean; onResult: (proceed: boolean) => void; browserType?: string; } export function WindowResizeWarningDialog({ isOpen, onResult, browserType, }: WindowResizeWarningDialogProps) { const { t } = useTranslation(); const [dontShowAgain, setDontShowAgain] = useState(false); useEffect(() => { if (isOpen) { setDontShowAgain(false); } }, [isOpen]); const handleContinue = async () => { if (dontShowAgain) { try { await invoke("dismiss_window_resize_warning"); } catch (error) { console.error("Failed to dismiss window resize warning:", error); } } onResult(true); }; const handleCancel = () => { onResult(false); }; const isCamoufox = browserType === "camoufox"; const title = isCamoufox ? t("warnings.windowResizeCamoufoxTitle") : t("warnings.windowResizeTitle"); const description = isCamoufox ? t("warnings.windowResizeCamoufoxDescription") : t("warnings.windowResizeDescription"); return ( e.preventDefault()} onPointerDownOutside={(e) => e.preventDefault()} onInteractOutside={(e) => e.preventDefault()} > {title}

{description}

setDontShowAgain(checked === true)} />
); }