diff --git a/components/CollectionCard.tsx b/components/CollectionCard.tsx index d68df69..1da6d9e 100644 --- a/components/CollectionCard.tsx +++ b/components/CollectionCard.tsx @@ -1,5 +1,8 @@ import Link from "next/link"; -import { AccountSettings, CollectionIncludingMembersAndLinkCount } from "@/types/global"; +import { + AccountSettings, + CollectionIncludingMembersAndLinkCount, +} from "@/types/global"; import React, { useEffect, useState } from "react"; import ProfilePhoto from "./ProfilePhoto"; import usePermissions from "@/hooks/usePermissions"; @@ -33,7 +36,9 @@ export default function CollectionCard({ collection, className }: Props) { const permissions = usePermissions(collection.id as number); - const [collectionOwner, setCollectionOwner] = useState>({}); + const [collectionOwner, setCollectionOwner] = useState< + Partial + >({}); useEffect(() => { const fetchOwner = async () => { @@ -151,9 +156,11 @@ export default function CollectionCard({ collection, className }: Props) { diff --git a/components/CollectionListing.tsx b/components/CollectionListing.tsx index 1e14b8f..a8b8f43 100644 --- a/components/CollectionListing.tsx +++ b/components/CollectionListing.tsx @@ -231,10 +231,11 @@ const renderItem = ( return (
{Icon(item as ExtendedTreeItem, onExpand, onCollapse)} diff --git a/components/Dropdown.tsx b/components/Dropdown.tsx index 0089bc8..d1944c8 100644 --- a/components/Dropdown.tsx +++ b/components/Dropdown.tsx @@ -4,15 +4,15 @@ import ClickAwayHandler from "./ClickAwayHandler"; type MenuItem = | { - name: string; - onClick: MouseEventHandler; - href?: string; - } + name: string; + onClick: MouseEventHandler; + href?: string; + } | { - name: string; - onClick?: MouseEventHandler; - href: string; - } + name: string; + onClick?: MouseEventHandler; + href: string; + } | undefined; type Props = { @@ -60,46 +60,50 @@ export default function Dropdown({ } }, [points, dropdownHeight]); - return !points || pos && ( - { - setDropdownHeight(e.height); - setDropdownWidth(e.width); - }} - style={ - points - ? { - position: "fixed", - top: `${pos?.y}px`, - left: `${pos?.x}px`, - } - : undefined - } - onClickOutside={onClickOutside} - className={`${className || "" + return ( + !points || + (pos && ( + { + setDropdownHeight(e.height); + setDropdownWidth(e.width); + }} + style={ + points + ? { + position: "fixed", + top: `${pos?.y}px`, + left: `${pos?.x}px`, + } + : undefined + } + onClickOutside={onClickOutside} + className={`${ + className || "" } py-1 shadow-md border border-neutral-content bg-base-200 rounded-md flex flex-col z-20`} - > - {items.map((e, i) => { - const inner = e && ( -
-
-

{e.name}

+ > + {items.map((e, i) => { + const inner = e && ( +
+
+

{e.name}

+
-
- ); + ); - return e && e.href ? ( - - {inner} - - ) : ( - e && ( -
+ return e && e.href ? ( + {inner} -
- ) - ); - })} - + + ) : ( + e && ( +
+ {inner} +
+ ) + ); + })} + + )) ); } diff --git a/components/InputSelect/CollectionSelection.tsx b/components/InputSelect/CollectionSelection.tsx index 31caa03..0f708fb 100644 --- a/components/InputSelect/CollectionSelection.tsx +++ b/components/InputSelect/CollectionSelection.tsx @@ -10,11 +10,11 @@ type Props = { onChange: (newValue: unknown, actionMeta: ActionMeta) => void; showDefaultValue?: boolean; defaultValue?: - | { - label: string; - value?: number; - } - | undefined; + | { + label: string; + value?: number; + } + | undefined; creatable?: boolean; }; @@ -107,7 +107,7 @@ export default function CollectionSelection({ components={{ Option: customOption, }} - // menuPosition="fixed" + // menuPosition="fixed" /> ); } else { @@ -123,7 +123,7 @@ export default function CollectionSelection({ components={{ Option: customOption, }} - // menuPosition="fixed" + // menuPosition="fixed" /> ); } diff --git a/components/LinkViews/LinkComponents/LinkActions.tsx b/components/LinkViews/LinkComponents/LinkActions.tsx index 41f40c5..e897479 100644 --- a/components/LinkViews/LinkComponents/LinkActions.tsx +++ b/components/LinkViews/LinkComponents/LinkActions.tsx @@ -79,8 +79,9 @@ export default function LinkActions({ return ( <>
  • )} - {permissions === true || permissions?.canUpdate && ( -
  • -
    { - (document?.activeElement as HTMLElement)?.blur(); - setEditLinkModal(true); - }} - > - {t("edit_link")} -
    -
  • - )} + {permissions === true || + (permissions?.canUpdate && ( +
  • +
    { + (document?.activeElement as HTMLElement)?.blur(); + setEditLinkModal(true); + }} + > + {t("edit_link")} +
    +
  • + ))} {link.type === "url" && (
  • )} - {permissions === true || permissions?.canDelete && ( -
  • -
    { - (document?.activeElement as HTMLElement)?.blur(); - e.shiftKey ? deleteLink() : setDeleteLinkModal(true); - }} - > - {t("delete")} -
    -
  • - )} + {permissions === true || + (permissions?.canDelete && ( +
  • +
    { + (document?.activeElement as HTMLElement)?.blur(); + e.shiftKey ? deleteLink() : setDeleteLinkModal(true); + }} + > + {t("delete")} +
    +
  • + ))}
diff --git a/components/LinkViews/LinkList.tsx b/components/LinkViews/LinkList.tsx index efb10c4..0abffc9 100644 --- a/components/LinkViews/LinkList.tsx +++ b/components/LinkViews/LinkList.tsx @@ -91,8 +91,9 @@ export default function LinkCardCompact({ return ( <>
selectable ? handleCheckboxClick(link) @@ -152,8 +153,8 @@ export default function LinkCardCompact({ collection={collection} position="top-3 right-3" flipDropdown={flipDropdown} - // toggleShowInfo={() => setShowInfo(!showInfo)} - // linkInfo={showInfo} + // toggleShowInfo={() => setShowInfo(!showInfo)} + // linkInfo={showInfo} />
- {newLinkModal && ( - setNewLinkModal(false)} /> - )} + {newLinkModal && setNewLinkModal(false)} />} {newCollectionModal && ( setNewCollectionModal(false)} /> )} diff --git a/components/ModalContent/EditCollectionSharingModal.tsx b/components/ModalContent/EditCollectionSharingModal.tsx index 76f0a47..d3b8627 100644 --- a/components/ModalContent/EditCollectionSharingModal.tsx +++ b/components/ModalContent/EditCollectionSharingModal.tsx @@ -2,7 +2,11 @@ import React, { useEffect, useState } from "react"; import TextInput from "@/components/TextInput"; import useCollectionStore from "@/store/collections"; import toast from "react-hot-toast"; -import { AccountSettings, CollectionIncludingMembersAndLinkCount, Member } from "@/types/global"; +import { + AccountSettings, + CollectionIncludingMembersAndLinkCount, + Member, +} from "@/types/global"; import getPublicUserData from "@/lib/client/getPublicUserData"; import useAccountStore from "@/store/account"; import usePermissions from "@/hooks/usePermissions"; @@ -62,7 +66,9 @@ export default function EditCollectionSharingModal({ const [memberUsername, setMemberUsername] = useState(""); - const [collectionOwner, setCollectionOwner] = useState>({}); + const [collectionOwner, setCollectionOwner] = useState< + Partial + >({}); useEffect(() => { const fetchOwner = async () => { diff --git a/components/ModalContent/PreservedFormatsModal.tsx b/components/ModalContent/PreservedFormatsModal.tsx index c70f8c0..4c9caec 100644 --- a/components/ModalContent/PreservedFormatsModal.tsx +++ b/components/ModalContent/PreservedFormatsModal.tsx @@ -38,7 +38,9 @@ export default function PreservedFormatsModal({ onClose, activeLink }: Props) { let isPublic = router.pathname.startsWith("/public") ? true : undefined; - const [collectionOwner, setCollectionOwner] = useState>({}); + const [collectionOwner, setCollectionOwner] = useState< + Partial + >({}); useEffect(() => { const fetchOwner = async () => { @@ -143,9 +145,9 @@ export default function PreservedFormatsModal({ onClose, activeLink }: Props) {

{t("preserved_formats")}

{screenshotAvailable(link) || - pdfAvailable(link) || - readabilityAvailable(link) || - monolithAvailable(link) ? ( + pdfAvailable(link) || + readabilityAvailable(link) || + monolithAvailable(link) ? (

{t("available_formats")}

) : ( "" @@ -206,21 +208,25 @@ export default function PreservedFormatsModal({ onClose, activeLink }: Props) {

{t("preservation_in_queue")}

{t("check_back_later")}

- ) : !isReady() && atLeastOneFormatAvailable() && ( -
- -

{t("there_are_more_formats")}

-

{t("check_back_later")}

-
+ ) : ( + !isReady() && + atLeastOneFormatAvailable() && ( +
+ +

{t("there_are_more_formats")}

+

{t("check_back_later")}

+
+ ) )}
)} - {newLinkModal && ( - setNewLinkModal(false)} /> - )} + {newLinkModal && setNewLinkModal(false)} />} {newCollectionModal && ( setNewCollectionModal(false)} /> )} diff --git a/components/NoLinksFound.tsx b/components/NoLinksFound.tsx index b42516a..a8ec44d 100644 --- a/components/NoLinksFound.tsx +++ b/components/NoLinksFound.tsx @@ -39,9 +39,7 @@ export default function NoLinksFound({ text }: Props) {
- {newLinkModal && ( - setNewLinkModal(false)} /> - )} + {newLinkModal && setNewLinkModal(false)} />} ); } diff --git a/components/PreserverdFormatRow.tsx b/components/PreserverdFormatRow.tsx index d35bfe6..6125c50 100644 --- a/components/PreserverdFormatRow.tsx +++ b/components/PreserverdFormatRow.tsx @@ -90,18 +90,20 @@ export default function PreservedFormatRow({
- {downloadable || false && ( -
handleDownload()} - className="btn btn-sm btn-square" - > - -
- )} + {downloadable || + (false && ( +
handleDownload()} + className="btn btn-sm btn-square" + > + +
+ ))} diff --git a/components/ProfileDropdown.tsx b/components/ProfileDropdown.tsx index 400969b..5b1604c 100644 --- a/components/ProfileDropdown.tsx +++ b/components/ProfileDropdown.tsx @@ -32,8 +32,9 @@ export default function ProfileDropdown() { />
  • - {isValidUrl(link?.url || "") && new URL(link?.url as string).host} + {isValidUrl(link?.url || "") && + new URL(link?.url as string).host} )} @@ -229,10 +230,10 @@ export default function ReadableView({ link }: Props) {

    {date ? new Date(date).toLocaleString("en-US", { - year: "numeric", - month: "long", - day: "numeric", - }) + year: "numeric", + month: "long", + day: "numeric", + }) : undefined}

    @@ -257,8 +258,9 @@ export default function ReadableView({ link }: Props) { > ) : (
    (localStorage.getItem("theme")); + const [theme, setTheme] = useState( + localStorage.getItem("theme") + ); const handleToggle = (e: ChangeEvent) => { setTheme(e.target.checked ? "dark" : "light"); diff --git a/layouts/CenteredForm.tsx b/layouts/CenteredForm.tsx index b40c545..5367dd6 100644 --- a/layouts/CenteredForm.tsx +++ b/layouts/CenteredForm.tsx @@ -25,8 +25,9 @@ export default function CenteredForm({
    {settings.theme && ( Linkwarden = | { - data: D; - message: string; - status: number; - } + data: D; + message: string; + status: number; + } | { - data: D; - message: string; - status: number; - }; + data: D; + message: string; + status: number; + }; export default async function getDashboardData( userId: number, diff --git a/lib/api/controllers/migration/exportData.ts b/lib/api/controllers/migration/exportData.ts index 7d242e3..3829c59 100644 --- a/lib/api/controllers/migration/exportData.ts +++ b/lib/api/controllers/migration/exportData.ts @@ -26,7 +26,7 @@ export default async function exportData(userId: number) { if (Array.isArray(data)) { data.forEach((item) => redactIds(item)); } else if (data !== null && typeof data === "object") { - const fieldsToRedact = ['id', 'parentId', 'collectionId', 'ownerId']; + const fieldsToRedact = ["id", "parentId", "collectionId", "ownerId"]; fieldsToRedact.forEach((field) => { if (field in data) { @@ -37,7 +37,10 @@ export default async function exportData(userId: number) { // Recursively call redactIds for each property that is an object or an array Object.keys(data).forEach((key) => { const value = (data as any)[key]; - if (value !== null && (typeof value === "object" || Array.isArray(value))) { + if ( + value !== null && + (typeof value === "object" || Array.isArray(value)) + ) { redactIds(value); } }); diff --git a/lib/api/controllers/migration/importFromHTMLFile.ts b/lib/api/controllers/migration/importFromHTMLFile.ts index b2b58a1..59a2787 100644 --- a/lib/api/controllers/migration/importFromHTMLFile.ts +++ b/lib/api/controllers/migration/importFromHTMLFile.ts @@ -63,7 +63,8 @@ async function processBookmarks( ) as Element; if (collectionName) { - const collectionNameContent = (collectionName.children[0] as TextNode)?.content; + const collectionNameContent = (collectionName.children[0] as TextNode) + ?.content; if (collectionNameContent) { collectionId = await createCollection( userId, @@ -274,4 +275,3 @@ function processNodes(nodes: Node[]) { nodes.forEach(findAndProcessDL); return nodes; } - diff --git a/lib/api/controllers/migration/importFromWallabag.ts b/lib/api/controllers/migration/importFromWallabag.ts index f482f39..b723d3f 100644 --- a/lib/api/controllers/migration/importFromWallabag.ts +++ b/lib/api/controllers/migration/importFromWallabag.ts @@ -84,23 +84,23 @@ export default async function importFromWallabag( tags: link.tags && link.tags[0] ? { - connectOrCreate: link.tags.map((tag) => ({ - where: { - name_ownerId: { - name: tag.trim(), - ownerId: userId, - }, - }, - create: { - name: tag.trim(), - owner: { - connect: { - id: userId, + connectOrCreate: link.tags.map((tag) => ({ + where: { + name_ownerId: { + name: tag.trim(), + ownerId: userId, }, }, - }, - })), - } + create: { + name: tag.trim(), + owner: { + connect: { + id: userId, + }, + }, + }, + })), + } : undefined, }, }); diff --git a/lib/api/controllers/users/userId/deleteUserById.ts b/lib/api/controllers/users/userId/deleteUserById.ts index af3eb88..a481893 100644 --- a/lib/api/controllers/users/userId/deleteUserById.ts +++ b/lib/api/controllers/users/userId/deleteUserById.ts @@ -24,10 +24,7 @@ export default async function deleteUserById( if (!isServerAdmin) { if (user.password) { - const isPasswordValid = bcrypt.compareSync( - body.password, - user.password - ); + const isPasswordValid = bcrypt.compareSync(body.password, user.password); if (!isPasswordValid && !isServerAdmin) { return { diff --git a/lib/api/storage/readFile.ts b/lib/api/storage/readFile.ts index a8eee58..fc9d2e7 100644 --- a/lib/api/storage/readFile.ts +++ b/lib/api/storage/readFile.ts @@ -28,10 +28,10 @@ export default async function readFile(filePath: string) { try { let returnObject: | { - file: Buffer | string; - contentType: ReturnContentTypes; - status: number; - } + file: Buffer | string; + contentType: ReturnContentTypes; + status: number; + } | undefined; const headObjectAsync = util.promisify( diff --git a/lib/client/utils.ts b/lib/client/utils.ts index 010372c..c1aa219 100644 --- a/lib/client/utils.ts +++ b/lib/client/utils.ts @@ -7,10 +7,15 @@ export function isPWA() { } export function isIphone() { - return /iPhone/.test(navigator.userAgent) && !(window as unknown as { MSStream?: any }).MSStream; + return ( + /iPhone/.test(navigator.userAgent) && + !(window as unknown as { MSStream?: any }).MSStream + ); } -export function dropdownTriggerer(e: React.FocusEvent | React.MouseEvent) { +export function dropdownTriggerer( + e: React.FocusEvent | React.MouseEvent +) { let targetEl = e.currentTarget; if (targetEl && targetEl.matches(":focus")) { setTimeout(function () { diff --git a/lib/shared/getArchiveValidity.ts b/lib/shared/getArchiveValidity.ts index fdf0457..fc553f8 100644 --- a/lib/shared/getArchiveValidity.ts +++ b/lib/shared/getArchiveValidity.ts @@ -39,7 +39,9 @@ export function monolithAvailable( ); } -export function previewAvailable(link: LinkIncludingShortenedCollectionAndTags) { +export function previewAvailable( + link: LinkIncludingShortenedCollectionAndTags +) { return ( link && link.preview && diff --git a/next-i18next.config.js b/next-i18next.config.js index 06c3d23..b78b3b8 100644 --- a/next-i18next.config.js +++ b/next-i18next.config.js @@ -2,7 +2,7 @@ module.exports = { i18n: { defaultLocale: "en", - locales: ["en","it"], + locales: ["en", "it"], }, reloadOnPrerender: process.env.NODE_ENV === "development", }; diff --git a/pages/admin.tsx b/pages/admin.tsx index 4f603e6..362a78e 100644 --- a/pages/admin.tsx +++ b/pages/admin.tsx @@ -104,9 +104,7 @@ export default function Admin() {

    {t("no_users_found")}

    )} - {newUserModal && ( - setNewUserModal(false)} /> - )} + {newUserModal && setNewUserModal(false)} />}
    ); } diff --git a/pages/api/v1/archives/[linkId].ts b/pages/api/v1/archives/[linkId].ts index bd7e856..e2a08d1 100644 --- a/pages/api/v1/archives/[linkId].ts +++ b/pages/api/v1/archives/[linkId].ts @@ -189,8 +189,12 @@ export default async function Index(req: NextApiRequest, res: NextApiResponse) { where: { id: linkId }, data: { preview: isPDF ? "unavailable" : undefined, - image: isImage ? `archives/${collectionPermissions.id}/${linkId + suffix}` : null, - pdf: isPDF ? `archives/${collectionPermissions.id}/${linkId + suffix}` : null, + image: isImage + ? `archives/${collectionPermissions.id}/${linkId + suffix}` + : null, + pdf: isPDF + ? `archives/${collectionPermissions.id}/${linkId + suffix}` + : null, lastPreserved: new Date().toISOString(), }, }); diff --git a/pages/collections/[id].tsx b/pages/collections/[id].tsx index ed0fa38..baede3d 100644 --- a/pages/collections/[id].tsx +++ b/pages/collections/[id].tsx @@ -54,7 +54,9 @@ export default function Index() { const { account } = useAccountStore(); - const [collectionOwner, setCollectionOwner] = useState>({}); + const [collectionOwner, setCollectionOwner] = useState< + Partial + >({}); useEffect(() => { const fetchOwner = async () => { @@ -108,8 +110,9 @@ export default function Index() {
    {activeCollection && ( @@ -210,7 +213,7 @@ export default function Index() { /> )} {activeCollection.members - .sort((a, b) => (a.userId) - (b.userId)) + .sort((a, b) => a.userId - b.userId) .map((e, i) => { return ( {activeCollection.members.length > 0 && - activeCollection.members.length === 1 + activeCollection.members.length === 1 ? t("by_author_and_other", { - author: collectionOwner.name, - count: activeCollection.members.length, - }) - : activeCollection.members.length > 0 && - activeCollection.members.length !== 1 - ? t("by_author_and_others", { author: collectionOwner.name, count: activeCollection.members.length, }) + : activeCollection.members.length > 0 && + activeCollection.members.length !== 1 + ? t("by_author_and_others", { + author: collectionOwner.name, + count: activeCollection.members.length, + }) : t("by_author", { - author: collectionOwner.name, - })} + author: collectionOwner.name, + })}

    @@ -291,15 +294,15 @@ export default function Index() { setSortBy={setSortBy} editMode={ permissions === true || - permissions?.canUpdate || - permissions?.canDelete + permissions?.canUpdate || + permissions?.canDelete ? editMode : undefined } setEditMode={ permissions === true || - permissions?.canUpdate || - permissions?.canDelete + permissions?.canUpdate || + permissions?.canDelete ? setEditMode : undefined } @@ -307,11 +310,11 @@ export default function Index() {

    {activeCollection?._count?.links === 1 ? t("showing_count_result", { - count: activeCollection?._count?.links, - }) + count: activeCollection?._count?.links, + }) : t("showing_count_results", { - count: activeCollection?._count?.links, - })} + count: activeCollection?._count?.links, + })}

    diff --git a/pages/dashboard.tsx b/pages/dashboard.tsx index 01735ac..c86ded5 100644 --- a/pages/dashboard.tsx +++ b/pages/dashboard.tsx @@ -60,7 +60,10 @@ export default function Dashboard() { handleNumberOfLinksToShow(); }, [width]); - const importBookmarks = async (e: React.ChangeEvent, format: MigrationFormat) => { + const importBookmarks = async ( + e: React.ChangeEvent, + format: MigrationFormat + ) => { const file: File | null = e.target.files && e.target.files[0]; if (file) { @@ -324,9 +327,7 @@ export default function Dashboard() { )} - {newLinkModal && ( - setNewLinkModal(false)} /> - )} + {newLinkModal && setNewLinkModal(false)} />} ); } diff --git a/pages/login.tsx b/pages/login.tsx index 4eb59c8..e1b530c 100644 --- a/pages/login.tsx +++ b/pages/login.tsx @@ -224,9 +224,9 @@ export default function Login({ loading={submitLoader} > {value.name.toLowerCase() === "google" || - value.name.toLowerCase() === "apple" && ( + (value.name.toLowerCase() === "apple" && ( - )} + ))} {value.name} diff --git a/pages/public/collections/[id].tsx b/pages/public/collections/[id].tsx index 5ce0f41..4eb0b8d 100644 --- a/pages/public/collections/[id].tsx +++ b/pages/public/collections/[id].tsx @@ -37,7 +37,9 @@ export default function PublicCollections() { const router = useRouter(); - const [collectionOwner, setCollectionOwner] = useState>({}); + const [collectionOwner, setCollectionOwner] = useState< + Partial + >({}); const [searchFilter, setSearchFilter] = useState({ name: true, @@ -103,8 +105,9 @@ export default function PublicCollections() {
    {collection && ( @@ -175,20 +178,20 @@ export default function PublicCollections() {

    {collection.members.length > 0 && - collection.members.length === 1 + collection.members.length === 1 ? t("by_author_and_other", { - author: collectionOwner.name, - count: collection.members.length, - }) - : collection.members.length > 0 && - collection.members.length !== 1 - ? t("by_author_and_others", { author: collectionOwner.name, count: collection.members.length, }) + : collection.members.length > 0 && + collection.members.length !== 1 + ? t("by_author_and_others", { + author: collectionOwner.name, + count: collection.members.length, + }) : t("by_author", { - author: collectionOwner.name, - })} + author: collectionOwner.name, + })}

    @@ -212,11 +215,11 @@ export default function PublicCollections() { placeholder={ collection._count?.links === 1 ? t("search_count_link", { - count: collection._count?.links, - }) + count: collection._count?.links, + }) : t("search_count_links", { - count: collection._count?.links, - }) + count: collection._count?.links, + }) } /> diff --git a/pages/register.tsx b/pages/register.tsx index 6e7fc1e..282558b 100644 --- a/pages/register.tsx +++ b/pages/register.tsx @@ -133,9 +133,9 @@ export default function Register({ loading={submitLoader} > {value.name.toLowerCase() === "google" || - value.name.toLowerCase() === "apple" && ( + (value.name.toLowerCase() === "apple" && ( - )} + ))} {value.name} @@ -149,8 +149,8 @@ export default function Register({ text={ process.env.NEXT_PUBLIC_STRIPE ? t("trial_offer_desc", { - count: Number(process.env.NEXT_PUBLIC_TRIAL_PERIOD_DAYS || 14), - }) + count: Number(process.env.NEXT_PUBLIC_TRIAL_PERIOD_DAYS || 14), + }) : t("register_desc") } data-testid="registration-form" diff --git a/pages/settings/account.tsx b/pages/settings/account.tsx index 0484214..0939d12 100644 --- a/pages/settings/account.tsx +++ b/pages/settings/account.tsx @@ -29,19 +29,19 @@ export default function Account() { !objectIsEmpty(account) ? account : ({ - // @ts-ignore - id: null, - name: "", - username: "", - email: "", - emailVerified: null, - password: undefined, - image: "", - isPrivate: true, - // @ts-ignore - createdAt: null, - whitelistedUsers: [], - } as unknown as AccountSettings) + // @ts-ignore + id: null, + name: "", + username: "", + email: "", + emailVerified: null, + password: undefined, + image: "", + isPrivate: true, + // @ts-ignore + createdAt: null, + whitelistedUsers: [], + } as unknown as AccountSettings) ); const { t } = useTranslation(); @@ -102,7 +102,10 @@ export default function Account() { setSubmitLoader(false); }; - const importBookmarks = async (e: ChangeEvent, format: MigrationFormat) => { + const importBookmarks = async ( + e: ChangeEvent, + format: MigrationFormat + ) => { setSubmitLoader(true); const file = e.target.files?.[0]; @@ -421,7 +424,8 @@ export default function Account() {

    {t("delete_account_warning")} - {process.env.NEXT_PUBLIC_STRIPE && " " + t("cancel_subscription_notice")} + {process.env.NEXT_PUBLIC_STRIPE && + " " + t("cancel_subscription_notice")}

    diff --git a/types/global.ts b/types/global.ts index 3f5cae0..3a7e696 100644 --- a/types/global.ts +++ b/types/global.ts @@ -81,7 +81,7 @@ export enum Sort { DescriptionZA, } -export type Order = { [key: string]: 'asc' | 'desc' }; +export type Order = { [key: string]: "asc" | "desc" }; export type LinkRequestQuery = { sort: Sort;