diff options
| author | MohamedBassem <me@mbassem.com> | 2024-02-09 15:32:04 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-02-09 15:32:04 +0000 |
| commit | 4fae8f04f546d2b3f6053870d93385fa36af4742 (patch) | |
| tree | fbf91f3c3c3d2bd85e9e4cfc8200d275a78fb700 /packages/web/app/dashboard/bookmarks/components/Bookmarks.tsx | |
| parent | b25f17509e704eb41523bf455a33804cabf8aaca (diff) | |
| download | karakeep-4fae8f04f546d2b3f6053870d93385fa36af4742.tar.zst | |
[ui] Adding the favourites and archive pages
Diffstat (limited to 'packages/web/app/dashboard/bookmarks/components/Bookmarks.tsx')
| -rw-r--r-- | packages/web/app/dashboard/bookmarks/components/Bookmarks.tsx | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/web/app/dashboard/bookmarks/components/Bookmarks.tsx b/packages/web/app/dashboard/bookmarks/components/Bookmarks.tsx new file mode 100644 index 00000000..6a9ffe1b --- /dev/null +++ b/packages/web/app/dashboard/bookmarks/components/Bookmarks.tsx @@ -0,0 +1,38 @@ +import { redirect } from "next/navigation"; +import BookmarksGrid from "./BookmarksGrid"; +import { authOptions } from "@/lib/auth"; +import { getServerSession } from "next-auth"; +import { getBookmarks } from "@/lib/services/bookmarks"; +import { ZGetBookmarksRequest } from "@/lib/types/api/bookmarks"; + +export default async function Bookmarks({ + favourited, + archived, + title, +}: ZGetBookmarksRequest & { title: string }) { + const session = await getServerSession(authOptions); + if (!session) { + redirect("/"); + } + const bookmarks = await getBookmarks(session.user.id, { + favourited, + archived, + }); + + if (bookmarks.length == 0) { + // TODO: This needs to be polished + return ( + <> + <div className="container pb-4 text-2xl">{title}</div> + <div className="container">No bookmarks</div> + </> + ); + } + + return ( + <> + <div className="container pb-4 text-2xl">{title}</div> + <BookmarksGrid bookmarks={bookmarks} /> + </> + ); +} |
