diff options
| author | MohamedBassem <me@mbassem.com> | 2024-02-09 16:47:17 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-02-09 16:51:24 +0000 |
| commit | 7400914396eea0c9a1fb7bc59e022babc2186f42 (patch) | |
| tree | 36e4a3d05b43d15254d75fddebc0594747b70a91 /packages/web/app/dashboard/bookmarks/components/LinkCard.tsx | |
| parent | 5c0fd0143e5ded1d8e957ec5e59e21d7c629d036 (diff) | |
| download | karakeep-7400914396eea0c9a1fb7bc59e022babc2186f42.tar.zst | |
[feature] Add the ability to favourite and archive bookmarks
Diffstat (limited to 'packages/web/app/dashboard/bookmarks/components/LinkCard.tsx')
| -rw-r--r-- | packages/web/app/dashboard/bookmarks/components/LinkCard.tsx | 55 |
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> |
