feat: refactor authentication panels and add AdminOnlyNotice component

This commit is contained in:
Abhimanyu Saharan
2026-02-08 23:30:24 +05:30
parent 03317f0baf
commit 86d93d94fe
6 changed files with 69 additions and 58 deletions

View File

@@ -5,7 +5,7 @@ export const dynamic = "force-dynamic";
import { useMemo, useState } from "react";
import Link from "next/link";
import { SignInButton, SignedIn, SignedOut, useAuth } from "@/auth/clerk";
import { SignedIn, SignedOut, useAuth } from "@/auth/clerk";
import {
type ColumnDef,
type SortingState,
@@ -40,6 +40,8 @@ import {
useGetMyMembershipApiV1OrganizationsMeMemberGet,
} from "@/api/generated/organizations/organizations";
import type { GatewayRead } from "@/api/generated/model";
import { AdminOnlyNotice } from "@/components/auth/AdminOnlyNotice";
import { SignedOutPanel } from "@/components/auth/SignedOutPanel";
const truncate = (value?: string | null, max = 24) => {
if (!value) return "—";
@@ -235,14 +237,10 @@ export default function GatewaysPage() {
return (
<DashboardShell>
<SignedOut>
<div className="col-span-2 flex min-h-[calc(100vh-64px)] items-center justify-center bg-slate-50 p-10 text-center">
<div className="rounded-xl border border-slate-200 bg-white px-8 py-6 shadow-sm">
<p className="text-sm text-slate-600">Sign in to view gateways.</p>
<SignInButton mode="modal" forceRedirectUrl="/gateways">
<Button className="mt-4">Sign in</Button>
</SignInButton>
</div>
</div>
<SignedOutPanel
message="Sign in to view gateways."
forceRedirectUrl="/gateways"
/>
</SignedOut>
<SignedIn>
<DashboardSidebar />
@@ -275,9 +273,7 @@ export default function GatewaysPage() {
<div className="p-8">
{!isAdmin ? (
<div className="rounded-xl border border-slate-200 bg-white px-6 py-5 text-sm text-slate-600 shadow-sm">
Only organization owners and admins can access gateways.
</div>
<AdminOnlyNotice message="Only organization owners and admins can access gateways." />
) : (
<>
<div className="overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm">