aboutsummaryrefslogtreecommitdiffstats
path: root/packages/web/app/dashboard/bookmarks/components/LinkCard.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/web/app/dashboard/bookmarks/components/LinkCard.tsx')
-rw-r--r--packages/web/app/dashboard/bookmarks/components/LinkCard.tsx55
1 files changed, 3 insertions, 52 deletions
diff --git a/packages/web/app/dashboard/bookmarks/components/LinkCard.tsx b/packages/web/app/dashboard/bookmarks/components/LinkCard.tsx
index aeef6bae..039cb156 100644
--- a/packages/web/app/dashboard/bookmarks/components/LinkCard.tsx
+++ b/packages/web/app/dashboard/bookmarks/components/LinkCard.tsx
@@ -1,63 +1,14 @@
-"use client";
-
import { Badge } from "@/components/ui/badge";
-import { Button } from "@/components/ui/button";
-import {
- DropdownMenu,
- DropdownMenuContent,
- DropdownMenuItem,
- DropdownMenuTrigger,
-} from "@/components/ui/dropdown-menu";
import {
ImageCard,
ImageCardBody,
ImageCardFooter,
ImageCardTitle,
} from "@/components/ui/imageCard";
-import { useToast } from "@/components/ui/use-toast";
-import APIClient from "@/lib/api";
import { ZBookmark } from "@/lib/types/api/bookmarks";
-import { MoreHorizontal, Trash2 } from "lucide-react";
import Link from "next/link";
-import { useRouter } from "next/navigation";
-
-export function LinkOptions({ linkId }: { linkId: string }) {
- const { toast } = useToast();
- const router = useRouter();
-
- const unbookmarkLink = async () => {
- const [_, error] = await APIClient.deleteBookmark(linkId);
+import BookmarkOptions from "./BookmarkOptions";
- if (error) {
- toast({
- variant: "destructive",
- title: "Something went wrong",
- description: "There was a problem with your request.",
- });
- } else {
- toast({
- description: "The link has been deleted!",
- });
- }
-
- router.refresh();
- };
- return (
- <DropdownMenu>
- <DropdownMenuTrigger asChild>
- <Button variant="ghost">
- <MoreHorizontal />
- </Button>
- </DropdownMenuTrigger>
- <DropdownMenuContent className="w-fit">
- <DropdownMenuItem className="text-destructive" onClick={unbookmarkLink}>
- <Trash2 className="mr-2 size-4" />
- <span>Delete</span>
- </DropdownMenuItem>
- </DropdownMenuContent>
- </DropdownMenu>
- );
-}
export default function LinkCard({ bookmark }: { bookmark: ZBookmark }) {
const link = bookmark.content;
@@ -71,7 +22,7 @@ export default function LinkCard({ bookmark }: { bookmark: ZBookmark }) {
image={link?.imageUrl ?? undefined}
>
<ImageCardTitle>
- <Link className="line-clamp-3" href={link.url}>
+ <Link className="line-clamp-2" href={link.url}>
{link?.title ?? parsedUrl.host}
</Link>
</ImageCardTitle>
@@ -93,7 +44,7 @@ export default function LinkCard({ bookmark }: { bookmark: ZBookmark }) {
{parsedUrl.host}
</Link>
</div>
- <LinkOptions linkId={bookmark.id} />
+ <BookmarkOptions bookmark={bookmark} />
</div>
</ImageCardFooter>
</ImageCard>