"use client"; import { useState } from "react"; import Link from "next/link"; import { buttonVariants } from "@/components/ui/button"; import FilePickerButton from "@/components/ui/file-picker-button"; import { Progress } from "@/components/ui/progress"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { useBookmarkImport } from "@/lib/hooks/useBookmarkImport"; import { useTranslation } from "@/lib/i18n/client"; import { cn } from "@/lib/utils"; import { Download, Upload } from "lucide-react"; import { Card, CardContent } from "../ui/card"; function ImportCard({ text, description, children, }: { text: string; description: string; children: React.ReactNode; }) { return (

{text}

{description}

{children}
); } function ExportButton() { const { t } = useTranslation(); const [format, setFormat] = useState<"json" | "netscape">("json"); return (

Export File

{t("settings.import.export_links_and_notes")}

Export

); } export function ImportExportRow() { const { t } = useTranslation(); const { importProgress, runUploadBookmarkFile } = useBookmarkImport(); return (
runUploadBookmarkFile({ file, source: "html" }) } >

Import

runUploadBookmarkFile({ file, source: "pocket" }) } >

Import

runUploadBookmarkFile({ file, source: "omnivore" }) } >

Import

runUploadBookmarkFile({ file, source: "linkwarden" }) } >

Import

runUploadBookmarkFile({ file, source: "tab-session-manager" }) } >

Import

runUploadBookmarkFile({ file, source: "karakeep" }) } >

Import

{importProgress && (

Processed {importProgress.done} of {importProgress.total} bookmarks

)}
); } export default function ImportExport() { const { t } = useTranslation(); return (

{t("settings.import.import_export_bookmarks")}

); }