From e6486465decd612f7e437abe904960a47ff359ce Mon Sep 17 00:00:00 2001 From: kamtschatka Date: Mon, 1 Jul 2024 13:03:53 +0200 Subject: refactor: added the bookmark type to the database (#256) * refactoring asset types Extracted out functions to silently delete assets and to update them after crawling Generalized the mapping of assets to bookmark fields to make extending them easier * Added the bookmark type to the database Introduced an enum to have better type safety cleaned up the code and based some code on the type directly * add BookmarkType.UNKNWON * lint and remove unused function --------- Co-authored-by: MohamedBassem --- apps/web/components/dashboard/bookmarks/EditorCard.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'apps/web/components/dashboard/bookmarks/EditorCard.tsx') diff --git a/apps/web/components/dashboard/bookmarks/EditorCard.tsx b/apps/web/components/dashboard/bookmarks/EditorCard.tsx index a1055e8e..78bd0742 100644 --- a/apps/web/components/dashboard/bookmarks/EditorCard.tsx +++ b/apps/web/components/dashboard/bookmarks/EditorCard.tsx @@ -19,6 +19,7 @@ import { useForm } from "react-hook-form"; import { z } from "zod"; import { useCreateBookmarkWithPostHook } from "@hoarder/shared-react/hooks/bookmarks"; +import { BookmarkTypes } from "@hoarder/shared/types/bookmarks"; import { useUploadAsset } from "../UploadDropzone"; @@ -99,7 +100,7 @@ export default function EditorCard({ className }: { className?: string }) { if (urls.length === 1) { // Only 1 url in the textfield --> simply import it - mutate({ type: "link", url: text }); + mutate({ type: BookmarkTypes.LINK, url: text }); return; } // multiple urls found --> ask the user if it should be imported as multiple URLs or as a text bookmark @@ -128,7 +129,7 @@ export default function EditorCard({ className }: { className?: string }) { tryToImportUrls(text); } catch (e) { // Not a URL - mutate({ type: "text", text }); + mutate({ type: BookmarkTypes.TEXT, text }); } }; @@ -240,7 +241,10 @@ export default function EditorCard({ className }: { className?: string }) { variant="secondary" loading={isPending} onClick={() => { - mutate({ type: "text", text: multiUrlImportState.text }); + mutate({ + type: BookmarkTypes.TEXT, + text: multiUrlImportState.text, + }); setMultiUrlImportState(null); }} > @@ -254,7 +258,7 @@ export default function EditorCard({ className }: { className?: string }) { loading={isPending} onClick={() => { multiUrlImportState.urls.forEach((url) => - mutate({ type: "link", url: url.toString() }), + mutate({ type: BookmarkTypes.LINK, url: url.toString() }), ); setMultiUrlImportState(null); }} -- cgit v1.2.3-70-g09d2