aboutsummaryrefslogtreecommitdiffstats
path: root/packages/web/app/dashboard/bookmarks/components/LinkCard.tsx
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-02-09 01:50:35 +0000
committerMohamedBassem <me@mbassem.com>2024-02-09 01:57:31 +0000
commit08a5694e451218f1bcb2ad9eb42fd93250afbb96 (patch)
tree2cc2351f26b0ab98268db4bc463c0c3aa3f78a3b /packages/web/app/dashboard/bookmarks/components/LinkCard.tsx
parentc5bfa5000f178475d0b019b5a960916134b2ecfb (diff)
downloadkarakeep-08a5694e451218f1bcb2ad9eb42fd93250afbb96.tar.zst
[refactor] Extract the bookmark model to be a high level model to support other type of bookmarks
Diffstat (limited to 'packages/web/app/dashboard/bookmarks/components/LinkCard.tsx')
-rw-r--r--packages/web/app/dashboard/bookmarks/components/LinkCard.tsx15
1 files changed, 8 insertions, 7 deletions
diff --git a/packages/web/app/dashboard/bookmarks/components/LinkCard.tsx b/packages/web/app/dashboard/bookmarks/components/LinkCard.tsx
index b5a051e8..1cbd8865 100644
--- a/packages/web/app/dashboard/bookmarks/components/LinkCard.tsx
+++ b/packages/web/app/dashboard/bookmarks/components/LinkCard.tsx
@@ -16,7 +16,7 @@ import {
} from "@/components/ui/imageCard";
import { useToast } from "@/components/ui/use-toast";
import APIClient from "@/lib/api";
-import { ZBookmarkedLink } from "@/lib/types/api/links";
+import { ZBookmark } from "@/lib/types/api/bookmarks";
import { MoreHorizontal, Trash2 } from "lucide-react";
import Link from "next/link";
import { useRouter } from "next/navigation";
@@ -26,7 +26,7 @@ export function LinkOptions({ linkId }: { linkId: string }) {
const router = useRouter();
const unbookmarkLink = async () => {
- let [_, error] = await APIClient.unbookmarkLink(linkId);
+ let [_, error] = await APIClient.deleteBookmark(linkId);
if (error) {
toast({
@@ -59,7 +59,8 @@ export function LinkOptions({ linkId }: { linkId: string }) {
);
}
-export default function LinkCard({ link }: { link: ZBookmarkedLink }) {
+export default function LinkCard({ bookmark }: { bookmark: ZBookmark }) {
+ const link = bookmark.content;
const parsedUrl = new URL(link.url);
return (
@@ -67,15 +68,15 @@ export default function LinkCard({ link }: { link: ZBookmarkedLink }) {
className={
"bg-gray-50 duration-300 ease-in border border-grey-100 hover:transition-all hover:border-blue-300"
}
- image={link.details?.imageUrl ?? undefined}
+ image={link?.imageUrl ?? undefined}
>
<ImageCardTitle>
<Link className="line-clamp-3" href={link.url}>
- {link.details?.title ?? parsedUrl.host}
+ {link?.title ?? parsedUrl.host}
</Link>
</ImageCardTitle>
<ImageCardBody className="py-2 overflow-clip">
- {link.tags.map((t) => (
+ {bookmark.tags.map((t) => (
<Badge
variant="default"
className="bg-gray-300 text-gray-500"
@@ -92,7 +93,7 @@ export default function LinkCard({ link }: { link: ZBookmarkedLink }) {
{parsedUrl.host}
</Link>
</div>
- <LinkOptions linkId={link.id} />
+ <LinkOptions linkId={bookmark.id} />
</div>
</ImageCardFooter>
</ImageCard>