From 4f17ea61cbb11a72712a1ea8c98904a1cc513e41 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sun, 14 Apr 2024 00:51:56 +0300 Subject: feature(web): Allow changing the bookmark grid layout (#98) --- .../components/dashboard/bookmarks/AssetCard.tsx | 96 ++++++++------- .../dashboard/bookmarks/BookmarkCardSkeleton.tsx | 30 ----- .../bookmarks/BookmarkLayoutAdaptingCard.tsx | 131 +++++++++++++++++++++ .../dashboard/bookmarks/BookmarksGrid.tsx | 44 +++++-- .../components/dashboard/bookmarks/EditorCard.tsx | 9 +- .../components/dashboard/bookmarks/LinkCard.tsx | 125 +++++++++++--------- .../web/components/dashboard/bookmarks/TagList.tsx | 5 +- .../components/dashboard/bookmarks/TextCard.tsx | 54 +++++---- .../dashboard/preview/BookmarkPreview.tsx | 2 +- .../dashboard/sidebar/SidebarProfileOptions.tsx | 90 +++++++++++--- apps/web/components/ui/imageCard.tsx | 69 ----------- 11 files changed, 404 insertions(+), 251 deletions(-) delete mode 100644 apps/web/components/dashboard/bookmarks/BookmarkCardSkeleton.tsx create mode 100644 apps/web/components/dashboard/bookmarks/BookmarkLayoutAdaptingCard.tsx delete mode 100644 apps/web/components/ui/imageCard.tsx (limited to 'apps/web/components') diff --git a/apps/web/components/dashboard/bookmarks/AssetCard.tsx b/apps/web/components/dashboard/bookmarks/AssetCard.tsx index 8997a7e2..3bda1ee8 100644 --- a/apps/web/components/dashboard/bookmarks/AssetCard.tsx +++ b/apps/web/components/dashboard/bookmarks/AssetCard.tsx @@ -3,12 +3,48 @@ import Image from "next/image"; import { isBookmarkStillTagging } from "@/lib/bookmarkUtils"; import { api } from "@/lib/trpc"; -import { cn } from "@/lib/utils"; -import type { ZBookmark } from "@hoarder/trpc/types/bookmarks"; +import type { + ZBookmark, + ZBookmarkTypeAsset, +} from "@hoarder/trpc/types/bookmarks"; -import BookmarkActionBar from "./BookmarkActionBar"; -import TagList from "./TagList"; +import { BookmarkLayoutAdaptingCard } from "./BookmarkLayoutAdaptingCard"; + +function AssetImage({ + bookmark, + className, +}: { + bookmark: ZBookmarkTypeAsset; + className?: string; +}) { + const bookmarkedAsset = bookmark.content; + switch (bookmarkedAsset.assetType) { + case "image": { + return ( + asset + ); + } + case "pdf": { + return ( +