diff --git a/components/SettingsSidebar.tsx b/components/SettingsSidebar.tsx
index 9e629dd..944a93b 100644
--- a/components/SettingsSidebar.tsx
+++ b/components/SettingsSidebar.tsx
@@ -37,30 +37,17 @@ export default function SettingsSidebar({ className }: { className?: string }) {
-
+
-
-
-
-
diff --git a/pages/settings/archive.tsx b/pages/settings/archive.tsx
deleted file mode 100644
index ead165e..0000000
--- a/pages/settings/archive.tsx
+++ /dev/null
@@ -1,93 +0,0 @@
-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/Preserve webpages:
-
- setArchiveAsScreenshot(!archiveAsScreenshot)}
- />
-
- setArchiveAsPDF(!archiveAsPDF)}
- />
-
- setArchiveAsWaybackMachine(!archiveAsWaybackMachine)}
- />
-
-
-
-
- );
-}
diff --git a/pages/settings/appearance.tsx b/pages/settings/preference.tsx
similarity index 57%
rename from pages/settings/appearance.tsx
rename to pages/settings/preference.tsx
index 4adbff0..ed6cc02 100644
--- a/pages/settings/appearance.tsx
+++ b/pages/settings/preference.tsx
@@ -5,9 +5,43 @@ import { AccountSettings } from "@/types/global";
import { toast } from "react-hot-toast";
import React from "react";
import useLocalSettingsStore from "@/store/localSettings";
+import Checkbox from "@/components/Checkbox";
+import SubmitButton from "@/components/SubmitButton";
export default function Appearance() {
const { updateSettings } = useLocalSettingsStore();
+
+ 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);
@@ -25,40 +59,9 @@ export default function Appearance() {
setSubmitLoader(false);
};
- const [submitLoader, setSubmitLoader] = useState(false);
-
- const { account, updateAccount } = useAccountStore();
-
- const [user, setUser] = useState(
- !objectIsEmpty(account)
- ? account
- : ({
- // @ts-ignore
- id: null,
- name: "",
- username: "",
- email: "",
- emailVerified: null,
- blurredFavicons: null,
- image: "",
- isPrivate: true,
- // @ts-ignore
- createdAt: null,
- whitelistedUsers: [],
- } as unknown as AccountSettings)
- );
-
- function objectIsEmpty(obj: object) {
- return Object.keys(obj).length === 0;
- }
-
- useEffect(() => {
- if (!objectIsEmpty(account)) setUser({ ...account });
- }, [account]);
-
return (
- Appearance
+ Preference
@@ -94,12 +97,51 @@ export default function Appearance() {
- {/*
+
+ Archive Settings
+
+
+
+
+ Formats to Archive/Preserve webpages:
+
+ setArchiveAsScreenshot(!archiveAsScreenshot)}
+ />
+
+ setArchiveAsPDF(!archiveAsPDF)}
+ />
+
+
+ setArchiveAsWaybackMachine(!archiveAsWaybackMachine)
+ }
+ />
+
+
+
+
+
Link Settings
+
+
+
+
Clicking on Links should:
+
+
+ */}
+ className="mt-2 w-full sm:w-fit"
+ />
);