aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-03-29 21:33:15 +0000
committerMohamedBassem <me@mbassem.com>2024-03-30 02:14:59 +0000
commit30c8bc394100f2348a1f9c193036f95e045d4d6d (patch)
tree307ee15b7c6d78829e8a6bc702e8aea5c16b35b7 /apps/web
parent177e827bf7cd74008ed73973dda5a8d4f11291cf (diff)
downloadkarakeep-30c8bc394100f2348a1f9c193036f95e045d4d6d.tar.zst
fix(web): Consistent spacing in the content container in all pages. Fixes #40
Diffstat (limited to 'apps/web')
-rw-r--r--apps/web/app/dashboard/admin/page.tsx2
-rw-r--r--apps/web/app/dashboard/archive/page.tsx12
-rw-r--r--apps/web/app/dashboard/bookmarks/layout.tsx22
-rw-r--r--apps/web/app/dashboard/bookmarks/page.tsx22
-rw-r--r--apps/web/app/dashboard/favourites/page.tsx12
-rw-r--r--apps/web/app/dashboard/layout.tsx2
-rw-r--r--apps/web/app/dashboard/lists/[listId]/page.tsx2
-rw-r--r--apps/web/app/dashboard/lists/page.tsx2
-rw-r--r--apps/web/app/dashboard/preview/[bookmarkId]/page.tsx2
-rw-r--r--apps/web/app/dashboard/search/page.tsx11
-rw-r--r--apps/web/app/dashboard/settings/page.tsx2
-rw-r--r--apps/web/app/dashboard/tags/[tagName]/page.tsx10
-rw-r--r--apps/web/app/dashboard/tags/page.tsx2
-rw-r--r--apps/web/components/dashboard/UploadDropzone.tsx2
-rw-r--r--apps/web/components/dashboard/bookmarks/Bookmarks.tsx2
-rw-r--r--apps/web/components/dashboard/bookmarks/TopNav.tsx6
-rw-r--r--apps/web/components/ui/full-page-spinner.tsx (renamed from apps/web/app/dashboard/bookmarks/loading.tsx)4
-rw-r--r--apps/web/tsconfig.json2
18 files changed, 51 insertions, 68 deletions
diff --git a/apps/web/app/dashboard/admin/page.tsx b/apps/web/app/dashboard/admin/page.tsx
index c44d3142..eb80cb03 100644
--- a/apps/web/app/dashboard/admin/page.tsx
+++ b/apps/web/app/dashboard/admin/page.tsx
@@ -191,7 +191,7 @@ export default function AdminPage() {
}
return (
- <div className="m-4 flex flex-col gap-5 rounded-md border bg-background p-4">
+ <div className="flex flex-col gap-5 rounded-md border bg-background p-4">
<p className="text-2xl">Admin</p>
<Separator />
<ServerStatsSection />
diff --git a/apps/web/app/dashboard/archive/page.tsx b/apps/web/app/dashboard/archive/page.tsx
index bc6971db..3c3520cc 100644
--- a/apps/web/app/dashboard/archive/page.tsx
+++ b/apps/web/app/dashboard/archive/page.tsx
@@ -2,12 +2,10 @@ import Bookmarks from "@/components/dashboard/bookmarks/Bookmarks";
export default async function ArchivedBookmarkPage() {
return (
- <div className="continer mt-4">
- <Bookmarks
- header={<p className="text-2xl">🗄️ Archive</p>}
- query={{ archived: true }}
- showDivider={true}
- />
- </div>
+ <Bookmarks
+ header={<p className="text-2xl">🗄️ Archive</p>}
+ query={{ archived: true }}
+ showDivider={true}
+ />
);
}
diff --git a/apps/web/app/dashboard/bookmarks/layout.tsx b/apps/web/app/dashboard/bookmarks/layout.tsx
deleted file mode 100644
index a2356d23..00000000
--- a/apps/web/app/dashboard/bookmarks/layout.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import React from "react";
-import TopNav from "@/components/dashboard/bookmarks/TopNav";
-import UploadDropzone from "@/components/dashboard/UploadDropzone";
-import { Separator } from "@/components/ui/separator";
-
-export default function BookmarksLayout({
- children,
-}: Readonly<{
- children: React.ReactNode;
-}>) {
- return (
- <UploadDropzone>
- <div className="flex h-full flex-col">
- <div>
- <TopNav />
- </div>
- <Separator />
- <div className="my-4 flex-1 pb-4">{children}</div>
- </div>
- </UploadDropzone>
- );
-}
diff --git a/apps/web/app/dashboard/bookmarks/page.tsx b/apps/web/app/dashboard/bookmarks/page.tsx
index 02964482..9907df4d 100644
--- a/apps/web/app/dashboard/bookmarks/page.tsx
+++ b/apps/web/app/dashboard/bookmarks/page.tsx
@@ -1,11 +1,23 @@
+import React from "react";
import Bookmarks from "@/components/dashboard/bookmarks/Bookmarks";
+import TopNav from "@/components/dashboard/bookmarks/TopNav";
+import UploadDropzone from "@/components/dashboard/UploadDropzone";
+import { Separator } from "@/components/ui/separator";
export default async function BookmarksPage() {
return (
- <Bookmarks
- header={<p className="text-2xl">Bookmarks</p>}
- query={{ archived: false }}
- showEditorCard={true}
- />
+ <div>
+ <UploadDropzone>
+ <TopNav />
+ <Separator />
+ <div className="my-4 flex-1">
+ <Bookmarks
+ header={<p className="text-2xl">Bookmarks</p>}
+ query={{ archived: false }}
+ showEditorCard={true}
+ />
+ </div>
+ </UploadDropzone>
+ </div>
);
}
diff --git a/apps/web/app/dashboard/favourites/page.tsx b/apps/web/app/dashboard/favourites/page.tsx
index 310117b1..8df601c4 100644
--- a/apps/web/app/dashboard/favourites/page.tsx
+++ b/apps/web/app/dashboard/favourites/page.tsx
@@ -2,12 +2,10 @@ import Bookmarks from "@/components/dashboard/bookmarks/Bookmarks";
export default async function FavouritesBookmarkPage() {
return (
- <div className="continer mt-4">
- <Bookmarks
- header={<p className="text-2xl">⭐️ Favourites</p>}
- query={{ favourited: true, archived: false }}
- showDivider={true}
- />
- </div>
+ <Bookmarks
+ header={<p className="text-2xl">⭐️ Favourites</p>}
+ query={{ favourited: true, archived: false }}
+ showDivider={true}
+ />
);
}
diff --git a/apps/web/app/dashboard/layout.tsx b/apps/web/app/dashboard/layout.tsx
index 68c0bfbd..628c3a34 100644
--- a/apps/web/app/dashboard/layout.tsx
+++ b/apps/web/app/dashboard/layout.tsx
@@ -21,7 +21,7 @@ export default async function Dashboard({
<MobileSidebar />
<Separator />
</div>
- {children}
+ <div className="container p-4">{children}</div>
</main>
</div>
);
diff --git a/apps/web/app/dashboard/lists/[listId]/page.tsx b/apps/web/app/dashboard/lists/[listId]/page.tsx
index bac2b5c7..e27e1841 100644
--- a/apps/web/app/dashboard/lists/[listId]/page.tsx
+++ b/apps/web/app/dashboard/lists/[listId]/page.tsx
@@ -35,7 +35,7 @@ export default async function ListPage({
showDivider={true}
header={
<div className="flex justify-between">
- <span className="pt-4 text-2xl">
+ <span className="text-2xl">
{list.icon} {list.name}
</span>
<DeleteListButton list={list} />
diff --git a/apps/web/app/dashboard/lists/page.tsx b/apps/web/app/dashboard/lists/page.tsx
index d379b1bb..f839ca80 100644
--- a/apps/web/app/dashboard/lists/page.tsx
+++ b/apps/web/app/dashboard/lists/page.tsx
@@ -6,7 +6,7 @@ export default async function ListsPage() {
const lists = await api.lists.list();
return (
- <div className="container mt-4 flex flex-col gap-3">
+ <div className="flex flex-col gap-3">
<p className="text-2xl">📋 All Lists</p>
<Separator />
<AllListsView initialData={lists.lists} />
diff --git a/apps/web/app/dashboard/preview/[bookmarkId]/page.tsx b/apps/web/app/dashboard/preview/[bookmarkId]/page.tsx
index c9f27eac..201cbcaf 100644
--- a/apps/web/app/dashboard/preview/[bookmarkId]/page.tsx
+++ b/apps/web/app/dashboard/preview/[bookmarkId]/page.tsx
@@ -11,7 +11,7 @@ export default async function BookmarkPreviewPage({
});
return (
- <div className="max-h-screen p-4">
+ <div className="max-h-screen">
<BookmarkPreview initialData={bookmark} />
</div>
);
diff --git a/apps/web/app/dashboard/search/page.tsx b/apps/web/app/dashboard/search/page.tsx
index f09041f3..8454acc5 100644
--- a/apps/web/app/dashboard/search/page.tsx
+++ b/apps/web/app/dashboard/search/page.tsx
@@ -3,11 +3,10 @@
import { Suspense, useRef } from "react";
import BookmarksGrid from "@/components/dashboard/bookmarks/BookmarksGrid";
import { SearchInput } from "@/components/dashboard/search/SearchInput";
+import { FullPageSpinner } from "@/components/ui/full-page-spinner";
import { Separator } from "@/components/ui/separator";
import { useBookmarkSearch } from "@/lib/hooks/bookmark-search";
-import Loading from "../bookmarks/loading";
-
function SearchComp() {
const { data } = useBookmarkSearch();
@@ -15,10 +14,14 @@ function SearchComp() {
useRef<HTMLInputElement | null>(null);
return (
- <div className="container flex flex-col gap-3 p-4">
+ <div className="flex flex-col gap-3">
<SearchInput ref={inputRef} autoFocus={true} />
<Separator />
- {data ? <BookmarksGrid bookmarks={data.bookmarks} /> : <Loading />}
+ {data ? (
+ <BookmarksGrid bookmarks={data.bookmarks} />
+ ) : (
+ <FullPageSpinner />
+ )}
</div>
);
}
diff --git a/apps/web/app/dashboard/settings/page.tsx b/apps/web/app/dashboard/settings/page.tsx
index f75bc298..059660b7 100644
--- a/apps/web/app/dashboard/settings/page.tsx
+++ b/apps/web/app/dashboard/settings/page.tsx
@@ -3,7 +3,7 @@ import { ChangePassword } from "@/components/dashboard/settings/ChangePassword";
export default async function Settings() {
return (
- <div className="m-4 flex flex-col space-y-2 rounded-md border bg-background p-4">
+ <div className="flex flex-col space-y-2 rounded-md border bg-background p-4">
<p className="text-2xl">Settings</p>
<ChangePassword />
<ApiKeySettings />
diff --git a/apps/web/app/dashboard/tags/[tagName]/page.tsx b/apps/web/app/dashboard/tags/[tagName]/page.tsx
index 4785cebc..0e9e722e 100644
--- a/apps/web/app/dashboard/tags/[tagName]/page.tsx
+++ b/apps/web/app/dashboard/tags/[tagName]/page.tsx
@@ -28,11 +28,9 @@ export default async function TagPage({
}
return (
- <div className="continer mt-4">
- <Bookmarks
- header={<p className="text-2xl">{tagName}</p>}
- query={{ archived: false, tagId: tag.id }}
- />
- </div>
+ <Bookmarks
+ header={<p className="text-2xl">{tagName}</p>}
+ query={{ archived: false, tagId: tag.id }}
+ />
);
}
diff --git a/apps/web/app/dashboard/tags/page.tsx b/apps/web/app/dashboard/tags/page.tsx
index ec09e34e..f87b0fcc 100644
--- a/apps/web/app/dashboard/tags/page.tsx
+++ b/apps/web/app/dashboard/tags/page.tsx
@@ -36,7 +36,7 @@ export default async function TagsPage() {
}
return (
- <div className="container mt-2 space-y-3">
+ <div className="space-y-3">
<span className="text-2xl">All Tags</span>
<Separator />
<div className="flex flex-wrap gap-3">{tagPill}</div>
diff --git a/apps/web/components/dashboard/UploadDropzone.tsx b/apps/web/components/dashboard/UploadDropzone.tsx
index d1a423ce..b08ac0a6 100644
--- a/apps/web/components/dashboard/UploadDropzone.tsx
+++ b/apps/web/components/dashboard/UploadDropzone.tsx
@@ -76,7 +76,7 @@ export default function UploadDropzone({
<input {...getInputProps()} hidden />
<div
className={cn(
- "fixed inset-0 flex h-full w-full items-center justify-center bg-gray-200 opacity-90",
+ "fixed inset-0 z-50 flex h-full w-full items-center justify-center bg-gray-200 opacity-90",
isDragging || isUploading || isCreating ? undefined : "hidden",
)}
>
diff --git a/apps/web/components/dashboard/bookmarks/Bookmarks.tsx b/apps/web/components/dashboard/bookmarks/Bookmarks.tsx
index 81dd9361..8aa723e9 100644
--- a/apps/web/components/dashboard/bookmarks/Bookmarks.tsx
+++ b/apps/web/components/dashboard/bookmarks/Bookmarks.tsx
@@ -26,7 +26,7 @@ export default async function Bookmarks({
const bookmarks = await api.bookmarks.getBookmarks(query);
return (
- <div className="container flex flex-col gap-3">
+ <div className="flex flex-col gap-3">
{header}
{showDivider && <Separator />}
<UpdatableBookmarksGrid
diff --git a/apps/web/components/dashboard/bookmarks/TopNav.tsx b/apps/web/components/dashboard/bookmarks/TopNav.tsx
index 568af15d..189c9d5c 100644
--- a/apps/web/components/dashboard/bookmarks/TopNav.tsx
+++ b/apps/web/components/dashboard/bookmarks/TopNav.tsx
@@ -1,9 +1,5 @@
import { SearchInput } from "../search/SearchInput";
export default function TopNav() {
- return (
- <div className="container py-4">
- <SearchInput />
- </div>
- );
+ return <SearchInput />;
}
diff --git a/apps/web/app/dashboard/bookmarks/loading.tsx b/apps/web/components/ui/full-page-spinner.tsx
index 4e56c3c4..3817a04f 100644
--- a/apps/web/app/dashboard/bookmarks/loading.tsx
+++ b/apps/web/components/ui/full-page-spinner.tsx
@@ -1,6 +1,6 @@
-import Spinner from "@/components/ui/spinner";
+import Spinner from "./spinner";
-export default function Loading() {
+export function FullPageSpinner() {
return (
<div className="flex size-full">
<div className="m-auto">
diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json
index db90cf17..f7a25fc6 100644
--- a/apps/web/tsconfig.json
+++ b/apps/web/tsconfig.json
@@ -13,5 +13,5 @@
}
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
- "exclude": ["node_modules"]
+ "exclude": ["node_modules", ".next"]
}