aboutsummaryrefslogtreecommitdiffstats
path: root/packages/web/app/dashboard/bookmarks/components/BookmarksGrid.tsx
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-02-28 20:45:28 +0000
committerMohamedBassem <me@mbassem.com>2024-02-28 20:45:28 +0000
commit3208dda3848ad739f54cebf44c423e2b68e85b2d (patch)
tree25602c451354a296e8779197fdd42acab7526502 /packages/web/app/dashboard/bookmarks/components/BookmarksGrid.tsx
parent7096fb3941579e5c045796361745d597e03ff7fc (diff)
downloadkarakeep-3208dda3848ad739f54cebf44c423e2b68e85b2d.tar.zst
feature: Add support for storing and previewing raw notes
Diffstat (limited to 'packages/web/app/dashboard/bookmarks/components/BookmarksGrid.tsx')
-rw-r--r--packages/web/app/dashboard/bookmarks/components/BookmarksGrid.tsx20
1 files changed, 16 insertions, 4 deletions
diff --git a/packages/web/app/dashboard/bookmarks/components/BookmarksGrid.tsx b/packages/web/app/dashboard/bookmarks/components/BookmarksGrid.tsx
index e07d48b6..c960c8b7 100644
--- a/packages/web/app/dashboard/bookmarks/components/BookmarksGrid.tsx
+++ b/packages/web/app/dashboard/bookmarks/components/BookmarksGrid.tsx
@@ -3,11 +3,18 @@
import LinkCard from "./LinkCard";
import { ZBookmark, ZGetBookmarksRequest } from "@/lib/types/api/bookmarks";
import { api } from "@/lib/trpc";
+import TextCard from "./TextCard";
-function renderBookmark(bookmark: ZBookmark) {
+function renderBookmark(bookmark: ZBookmark, className: string) {
switch (bookmark.content.type) {
case "link":
- return <LinkCard key={bookmark.id} bookmark={bookmark} />;
+ return (
+ <LinkCard key={bookmark.id} bookmark={bookmark} className={className} />
+ );
+ case "text":
+ return (
+ <TextCard key={bookmark.id} bookmark={bookmark} className={className} />
+ );
}
}
@@ -25,8 +32,13 @@ export default function BookmarksGrid({
return <p>No bookmarks</p>;
}
return (
- <div className="container grid grid-cols-1 gap-4 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
- {data.bookmarks.map((b) => renderBookmark(b))}
+ <div className="container grid grid-flow-row-dense grid-cols-1 gap-4 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
+ {data.bookmarks.map((b) =>
+ renderBookmark(
+ b,
+ "border-grey-100 border bg-gray-50 duration-300 ease-in hover:border-blue-300 hover:transition-all",
+ ),
+ )}
</div>
);
}