From e6486465decd612f7e437abe904960a47ff359ce Mon Sep 17 00:00:00 2001
From: kamtschatka <simon.schatka@gmx.at>
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 <me@mbassem.com>
---
 apps/mobile/components/bookmarks/BookmarkCard.tsx | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

(limited to 'apps/mobile/components/bookmarks/BookmarkCard.tsx')

diff --git a/apps/mobile/components/bookmarks/BookmarkCard.tsx b/apps/mobile/components/bookmarks/BookmarkCard.tsx
index 128696a1..8faa8618 100644
--- a/apps/mobile/components/bookmarks/BookmarkCard.tsx
+++ b/apps/mobile/components/bookmarks/BookmarkCard.tsx
@@ -26,6 +26,7 @@ import {
   isBookmarkStillLoading,
   isBookmarkStillTagging,
 } from "@hoarder/shared-react/utils/bookmarkUtils";
+import { BookmarkTypes } from "@hoarder/shared/types/bookmarks";
 
 import { TailwindResolver } from "../TailwindResolver";
 import { Divider } from "../ui/Divider";
@@ -161,7 +162,7 @@ function TagList({ bookmark }: { bookmark: ZBookmark }) {
 
 function LinkCard({ bookmark }: { bookmark: ZBookmark }) {
   const { settings } = useAppSettings();
-  if (bookmark.content.type !== "link") {
+  if (bookmark.content.type !== BookmarkTypes.LINK) {
     throw new Error("Wrong content type rendered");
   }
 
@@ -223,7 +224,7 @@ function LinkCard({ bookmark }: { bookmark: ZBookmark }) {
 }
 
 function TextCard({ bookmark }: { bookmark: ZBookmark }) {
-  if (bookmark.content.type !== "text") {
+  if (bookmark.content.type !== BookmarkTypes.TEXT) {
     throw new Error("Wrong content type rendered");
   }
   const content = bookmark.content.text;
@@ -262,7 +263,7 @@ function TextCard({ bookmark }: { bookmark: ZBookmark }) {
 
 function AssetCard({ bookmark }: { bookmark: ZBookmark }) {
   const { settings } = useAppSettings();
-  if (bookmark.content.type !== "asset") {
+  if (bookmark.content.type !== BookmarkTypes.ASSET) {
     throw new Error("Wrong content type rendered");
   }
   const title = bookmark.title ?? bookmark.content.fileName;
@@ -322,13 +323,13 @@ export default function BookmarkCard({
 
   let comp;
   switch (bookmark.content.type) {
-    case "link":
+    case BookmarkTypes.LINK:
       comp = <LinkCard bookmark={bookmark} />;
       break;
-    case "text":
+    case BookmarkTypes.TEXT:
       comp = <TextCard bookmark={bookmark} />;
       break;
-    case "asset":
+    case BookmarkTypes.ASSET:
       comp = <AssetCard bookmark={bookmark} />;
       break;
   }
-- 
cgit v1.2.3-70-g09d2

