feat: add more import/export formats for cookies

This commit is contained in:
zhom
2026-02-21 22:13:02 +04:00
parent 206be3ff12
commit 8b9ad44ebc
17 changed files with 769 additions and 42 deletions
+19
View File
@@ -7,6 +7,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { CamoufoxConfigDialog } from "@/components/camoufox-config-dialog";
import { CommercialTrialModal } from "@/components/commercial-trial-modal";
import { CookieCopyDialog } from "@/components/cookie-copy-dialog";
import { CookieExportDialog } from "@/components/cookie-export-dialog";
import { CookieImportDialog } from "@/components/cookie-import-dialog";
import { CreateProfileDialog } from "@/components/create-profile-dialog";
import { DeleteConfirmationDialog } from "@/components/delete-confirmation-dialog";
@@ -146,6 +147,9 @@ export default function Home() {
const [cookieImportDialogOpen, setCookieImportDialogOpen] = useState(false);
const [currentProfileForCookieImport, setCurrentProfileForCookieImport] =
useState<BrowserProfile | null>(null);
const [cookieExportDialogOpen, setCookieExportDialogOpen] = useState(false);
const [currentProfileForCookieExport, setCurrentProfileForCookieExport] =
useState<BrowserProfile | null>(null);
const [selectedProfilesForCookies, setSelectedProfilesForCookies] = useState<
string[]
>([]);
@@ -697,6 +701,11 @@ export default function Home() {
setCookieImportDialogOpen(true);
}, []);
const handleExportCookies = useCallback((profile: BrowserProfile) => {
setCurrentProfileForCookieExport(profile);
setCookieExportDialogOpen(true);
}, []);
const handleGroupAssignmentComplete = useCallback(async () => {
// No need to manually reload - useProfileEvents will handle the update
setGroupAssignmentDialogOpen(false);
@@ -1004,6 +1013,7 @@ export default function Home() {
onConfigureCamoufox={handleConfigureCamoufox}
onCopyCookiesToProfile={handleCopyCookiesToProfile}
onImportCookies={handleImportCookies}
onExportCookies={handleExportCookies}
runningProfiles={runningProfiles}
isUpdating={isUpdating}
onDeleteSelectedProfiles={handleDeleteSelectedProfiles}
@@ -1156,6 +1166,15 @@ export default function Home() {
profile={currentProfileForCookieImport}
/>
<CookieExportDialog
isOpen={cookieExportDialogOpen}
onClose={() => {
setCookieExportDialogOpen(false);
setCurrentProfileForCookieExport(null);
}}
profile={currentProfileForCookieExport}
/>
<DeleteConfirmationDialog
isOpen={showBulkDeleteConfirmation}
onClose={() => setShowBulkDeleteConfirmation(false)}