import Checkbox from "@/components/Checkbox"; import SubmitButton from "@/components/SubmitButton"; import SettingsLayout from "@/layouts/SettingsLayout"; import React, { useEffect, useState } from "react"; import useAccountStore from "@/store/account"; import { toast } from "react-hot-toast"; import { AccountSettings } from "@/types/global"; export default function Archive() { const [submitLoader, setSubmitLoader] = useState(false); const { account, updateAccount } = useAccountStore(); const [user, setUser] = useState(account); const [archiveAsScreenshot, setArchiveAsScreenshot] = useState(false); const [archiveAsPDF, setArchiveAsPDF] = useState(false); const [archiveAsWaybackMachine, setArchiveAsWaybackMachine] = useState(false); useEffect(() => { setUser({ ...account, archiveAsScreenshot, archiveAsPDF, archiveAsWaybackMachine, }); }, [account, archiveAsScreenshot, archiveAsPDF, archiveAsWaybackMachine]); function objectIsEmpty(obj: object) { return Object.keys(obj).length === 0; } useEffect(() => { if (!objectIsEmpty(account)) { setArchiveAsScreenshot(account.archiveAsScreenshot); setArchiveAsPDF(account.archiveAsPDF); setArchiveAsWaybackMachine(account.archiveAsWaybackMachine); } }, [account]); const submit = async () => { setSubmitLoader(true); const load = toast.loading("Applying..."); const response = await updateAccount({ ...user, }); toast.dismiss(load); if (response.ok) { toast.success("Settings Applied!"); } else toast.error(response.data as string); setSubmitLoader(false); }; return (

Archive Settings

Formats to Archive webpages:

setArchiveAsScreenshot(!archiveAsScreenshot)} /> setArchiveAsPDF(!archiveAsPDF)} /> setArchiveAsWaybackMachine(!archiveAsWaybackMachine)} />
); }