diff --git a/apps/web/app/admin/_components/admin-sidebar.tsx b/apps/web/app/admin/_components/admin-sidebar.tsx
index 5ba0575e1..c051d2728 100644
--- a/apps/web/app/admin/_components/admin-sidebar.tsx
+++ b/apps/web/app/admin/_components/admin-sidebar.tsx
@@ -1,9 +1,7 @@
-import { redirect } from 'next/navigation';
+import { User } from '@supabase/supabase-js';
import { Home, Users } from 'lucide-react';
-import { requireUser } from '@kit/supabase/require-user';
-import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
import {
Sidebar,
SidebarContent,
@@ -14,14 +12,7 @@ import {
import { AppLogo } from '~/components/app-logo';
import { ProfileAccountDropdownContainer } from '~/components/personal-account-dropdown-container';
-export async function AdminSidebar() {
- const client = getSupabaseServerActionClient();
- const user = await requireUser(client);
-
- if (user.error) {
- redirect(user.redirectTo);
- }
-
+export function AdminSidebar(props: { user: User }) {
return (
@@ -44,7 +35,7 @@ export async function AdminSidebar() {
-
+
);
diff --git a/apps/web/app/admin/layout.tsx b/apps/web/app/admin/layout.tsx
index 67caeab9c..db1792771 100644
--- a/apps/web/app/admin/layout.tsx
+++ b/apps/web/app/admin/layout.tsx
@@ -2,16 +2,19 @@ import { Page, PageMobileNavigation, PageNavigation } from '@kit/ui/page';
import { AdminSidebar } from '~/admin/_components/admin-sidebar';
import { AdminMobileNavigation } from '~/admin/_components/mobile-navigation';
+import { requireUserInServerComponent } from '~/lib/server/require-user-in-server-component';
export const metadata = {
title: `Super Admin`,
};
-export default function AdminLayout(props: React.PropsWithChildren) {
+export default async function AdminLayout(props: React.PropsWithChildren) {
+ const user = await requireUserInServerComponent();
+
return (
-
+