update setting pages's icon

This commit is contained in:
Yee Jia Wei 2023-12-17 17:32:33 +08:00
parent dc6c17f8c4
commit d849b37f6c
4 changed files with 30 additions and 38 deletions

View File

@ -1,11 +1,9 @@
import SettingsSidebar from "@/components/SettingsSidebar"; import SettingsSidebar from "@/components/SettingsSidebar";
import { ReactNode, useEffect, useState } from "react"; import React, { ReactNode, useEffect, useState } from "react";
import ModalManagement from "@/components/ModalManagement"; import ModalManagement from "@/components/ModalManagement";
import useModalStore from "@/store/modals"; import useModalStore from "@/store/modals";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import ClickAwayHandler from "@/components/ClickAwayHandler"; import ClickAwayHandler from "@/components/ClickAwayHandler";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faBars, faChevronLeft } from "@fortawesome/free-solid-svg-icons";
import Link from "next/link"; import Link from "next/link";
import useWindowDimensions from "@/hooks/useWindowDimensions"; import useWindowDimensions from "@/hooks/useWindowDimensions";
@ -55,14 +53,18 @@ export default function SettingsLayout({ children }: Props) {
onClick={toggleSidebar} onClick={toggleSidebar}
className="text-neutral btn btn-square btn-sm btn-ghost lg:hidden" className="text-neutral btn btn-square btn-sm btn-ghost lg:hidden"
> >
<FontAwesomeIcon icon={faBars} className="w-5 h-5" /> <i
className="bi-list text-xl"
></i>
</div> </div>
<Link <Link
href="/dashboard" href="/dashboard"
className="text-neutral btn btn-square btn-sm btn-ghost" className="text-neutral btn btn-square btn-sm btn-ghost"
> >
<FontAwesomeIcon icon={faChevronLeft} className="w-5 h-5" /> <i
className="bi-chevron-left text-xl"
></i>
</Link> </Link>
</div> </div>

View File

@ -1,10 +1,4 @@
import { useState, useEffect } from "react"; import { useState, useEffect } from "react";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import {
faClose,
faFileExport,
faFileImport,
} from "@fortawesome/free-solid-svg-icons";
import useAccountStore from "@/store/account"; import useAccountStore from "@/store/account";
import { AccountSettings } from "@/types/global"; import { AccountSettings } from "@/types/global";
import { toast } from "react-hot-toast"; import { toast } from "react-hot-toast";
@ -215,7 +209,9 @@ export default function Account() {
} }
className="absolute top-1 left-1 btn btn-xs btn-circle btn-neutral btn-outline bg-base-100" className="absolute top-1 left-1 btn btn-xs btn-circle btn-neutral btn-outline bg-base-100"
> >
<FontAwesomeIcon icon={faClose} className="w-3 h-3" /> <i
className="bi-x"
></i>
</div> </div>
)} )}
<div className="absolute -bottom-3 left-0 right-0 mx-auto w-fit text-center"> <div className="absolute -bottom-3 left-0 right-0 mx-auto w-fit text-center">
@ -254,10 +250,9 @@ export default function Account() {
className="flex gap-2 text-sm btn btn-outline btn-neutral group" className="flex gap-2 text-sm btn btn-outline btn-neutral group"
id="import-dropdown" id="import-dropdown"
> >
<FontAwesomeIcon <i
icon={faFileImport} className="bi-cloud-upload text-xl duration-100"
className="w-5 h-5 duration-100" ></i>
/>
<p>Import From</p> <p>Import From</p>
</div> </div>
<ul className="shadow menu dropdown-content z-[1] bg-base-200 border border-neutral-content rounded-box mt-1 w-60"> <ul className="shadow menu dropdown-content z-[1] bg-base-200 border border-neutral-content rounded-box mt-1 w-60">
@ -309,10 +304,9 @@ export default function Account() {
<p className="mb-2">Download your data instantly.</p> <p className="mb-2">Download your data instantly.</p>
<Link className="w-fit" href="/api/v1/migration"> <Link className="w-fit" href="/api/v1/migration">
<div className="flex w-fit gap-2 text-sm btn btn-outline btn-neutral group"> <div className="flex w-fit gap-2 text-sm btn btn-outline btn-neutral group">
<FontAwesomeIcon <i
icon={faFileExport} className="bi-cloud-download text-xl duration-100"
className="w-5 h-5 duration-100" ></i>
/>
<p>Export Data</p> <p>Export Data</p>
</div> </div>
</Link> </Link>

View File

@ -1,14 +1,9 @@
import SettingsLayout from "@/layouts/SettingsLayout"; import SettingsLayout from "@/layouts/SettingsLayout";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faSun, faMoon } from "@fortawesome/free-solid-svg-icons";
import { useState, useEffect } from "react"; import { useState, useEffect } from "react";
import useAccountStore from "@/store/account"; import useAccountStore from "@/store/account";
import { AccountSettings } from "@/types/global"; import { AccountSettings } from "@/types/global";
import { toast } from "react-hot-toast"; import { toast } from "react-hot-toast";
import SubmitButton from "@/components/SubmitButton";
import React from "react"; import React from "react";
import Checkbox from "@/components/Checkbox";
import LinkPreview from "@/components/LinkPreview";
import useLocalSettingsStore from "@/store/localSettings"; import useLocalSettingsStore from "@/store/localSettings";
export default function Appearance() { export default function Appearance() {
@ -72,28 +67,32 @@ export default function Appearance() {
<p className="mb-3">Select Theme</p> <p className="mb-3">Select Theme</p>
<div className="flex gap-3 w-full"> <div className="flex gap-3 w-full">
<div <div
className={`w-full text-center outline-solid outline-neutral-content outline dark:outline-neutral-700 h-40 duration-100 rounded-md flex items-center justify-center cursor-pointer select-none bg-black ${ className={`w-full text-center outline-solid outline-neutral-content outline dark:outline-neutral-700 h-28 duration-100 rounded-md flex items-center justify-center cursor-pointer select-none bg-black ${
localStorage.getItem("theme") === "dark" localStorage.getItem("theme") === "dark"
? "dark:outline-primary text-primary" ? "dark:outline-primary text-primary"
: "text-white" : "text-white"
}`} }`}
onClick={() => updateSettings({ theme: "dark" })} onClick={() => updateSettings({ theme: "dark" })}
> >
<FontAwesomeIcon icon={faMoon} className="w-1/2 h-1/2" /> <i
<p className="text-2xl">Dark Theme</p> className="bi-moon text-6xl"
></i>
<p className="ml-2 text-2xl">Dark</p>
{/* <hr className="my-3 outline-1 outline-neutral-content dark:outline-neutral-700" /> */} {/* <hr className="my-3 outline-1 outline-neutral-content dark:outline-neutral-700" /> */}
</div> </div>
<div <div
className={`w-full text-center outline-solid outline-neutral-content outline dark:outline-neutral-700 h-40 duration-100 rounded-md flex items-center justify-center cursor-pointer select-none bg-white ${ className={`w-full text-center outline-solid outline-neutral-content outline dark:outline-neutral-700 h-28 duration-100 rounded-md flex items-center justify-center cursor-pointer select-none bg-white ${
localStorage.getItem("theme") === "light" localStorage.getItem("theme") === "light"
? "outline-primary text-primary" ? "outline-primary text-primary"
: "text-black" : "text-black"
}`} }`}
onClick={() => updateSettings({ theme: "light" })} onClick={() => updateSettings({ theme: "light" })}
> >
<FontAwesomeIcon icon={faSun} className="w-1/2 h-1/2" /> <i
<p className="text-2xl">Light Theme</p> className="bi-sun text-6xl"
></i>
<p className="ml-2 text-2xl">Light</p>
{/* <hr className="my-3 outline-1 outline-neutral-content dark:outline-neutral-700" /> */} {/* <hr className="my-3 outline-1 outline-neutral-content dark:outline-neutral-700" /> */}
</div> </div>
</div> </div>

View File

@ -1,11 +1,9 @@
import { useState } from "react"; import React, { useState } from "react";
import { toast } from "react-hot-toast"; import { toast } from "react-hot-toast";
import TextInput from "@/components/TextInput"; import TextInput from "@/components/TextInput";
import CenteredForm from "@/layouts/CenteredForm"; import CenteredForm from "@/layouts/CenteredForm";
import { signOut, useSession } from "next-auth/react"; import { signOut, useSession } from "next-auth/react";
import Link from "next/link"; import Link from "next/link";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faChevronLeft } from "@fortawesome/free-solid-svg-icons";
export default function Delete() { export default function Delete() {
const [password, setPassword] = useState(""); const [password, setPassword] = useState("");
@ -59,10 +57,9 @@ export default function Delete() {
href="/settings/account" href="/settings/account"
className="absolute top-4 left-4 btn btn-ghost btn-square btn-sm" className="absolute top-4 left-4 btn btn-ghost btn-square btn-sm"
> >
<FontAwesomeIcon <i
icon={faChevronLeft} className="bi-chevron-left text-neutral text-xl"
className="w-5 h-5 text-neutral" ></i>
/>
</Link> </Link>
<div className="flex items-center gap-2 w-full rounded-md h-8"> <div className="flex items-center gap-2 w-full rounded-md h-8">
<p className="text-red-500 dark:text-red-500 truncate w-full text-3xl text-center"> <p className="text-red-500 dark:text-red-500 truncate w-full text-3xl text-center">