aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web/app
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/app')
-rw-r--r--apps/web/app/admin/background_jobs/page.tsx7
-rw-r--r--apps/web/app/admin/layout.tsx3
-rw-r--r--apps/web/app/admin/overview/page.tsx7
-rw-r--r--apps/web/app/invite/[token]/page.tsx28
4 files changed, 41 insertions, 4 deletions
diff --git a/apps/web/app/admin/background_jobs/page.tsx b/apps/web/app/admin/background_jobs/page.tsx
index 6a13dd64..92b9e370 100644
--- a/apps/web/app/admin/background_jobs/page.tsx
+++ b/apps/web/app/admin/background_jobs/page.tsx
@@ -1,5 +1,10 @@
+import { AdminCard } from "@/components/admin/AdminCard";
import BackgroundJobs from "@/components/admin/BackgroundJobs";
export default function BackgroundJobsPage() {
- return <BackgroundJobs />;
+ return (
+ <AdminCard>
+ <BackgroundJobs />
+ </AdminCard>
+ );
}
diff --git a/apps/web/app/admin/layout.tsx b/apps/web/app/admin/layout.tsx
index 20bd38bb..62a6932a 100644
--- a/apps/web/app/admin/layout.tsx
+++ b/apps/web/app/admin/layout.tsx
@@ -1,5 +1,4 @@
import { redirect } from "next/navigation";
-import { AdminCard } from "@/components/admin/AdminCard";
import { AdminNotices } from "@/components/admin/AdminNotices";
import MobileSidebar from "@/components/shared/sidebar/MobileSidebar";
import Sidebar from "@/components/shared/sidebar/Sidebar";
@@ -54,7 +53,7 @@ export default async function AdminLayout({
>
<div className="flex flex-col gap-1">
<AdminNotices />
- <AdminCard>{children}</AdminCard>
+ {children}
</div>
</SidebarLayout>
);
diff --git a/apps/web/app/admin/overview/page.tsx b/apps/web/app/admin/overview/page.tsx
index 226fb9d5..fe463058 100644
--- a/apps/web/app/admin/overview/page.tsx
+++ b/apps/web/app/admin/overview/page.tsx
@@ -1,5 +1,10 @@
+import { AdminCard } from "@/components/admin/AdminCard";
import ServerStats from "@/components/admin/ServerStats";
export default function AdminOverviewPage() {
- return <ServerStats />;
+ return (
+ <AdminCard>
+ <ServerStats />
+ </AdminCard>
+ );
}
diff --git a/apps/web/app/invite/[token]/page.tsx b/apps/web/app/invite/[token]/page.tsx
new file mode 100644
index 00000000..874146fc
--- /dev/null
+++ b/apps/web/app/invite/[token]/page.tsx
@@ -0,0 +1,28 @@
+import { redirect } from "next/navigation";
+import InviteAcceptForm from "@/components/invite/InviteAcceptForm";
+import KarakeepLogo from "@/components/KarakeepIcon";
+import { getServerAuthSession } from "@/server/auth";
+
+interface InvitePageProps {
+ params: {
+ token: string;
+ };
+}
+
+export default async function InvitePage({ params }: InvitePageProps) {
+ const session = await getServerAuthSession();
+ if (session) {
+ redirect("/");
+ }
+
+ return (
+ <div className="flex min-h-screen items-center justify-center bg-gray-50 px-4 py-12 sm:px-6 lg:px-8">
+ <div className="w-full max-w-md space-y-8">
+ <div className="flex items-center justify-center">
+ <KarakeepLogo height={80} />
+ </div>
+ <InviteAcceptForm token={params.token} />
+ </div>
+ </div>
+ );
+}