page.tsx30 lines · main
1import { AuthKeysClient } from '../../keys/keys-client';
2import { loadAuthV2Workspace } from '../../lib/load-workspace';
3
4export const metadata = { title: 'Auth · keys' };
5export const dynamic = 'force-dynamic';
6
7export default async function AuthProjectKeysPage({
8 params,
9}: {
10 params: Promise<{ projectId: string }>;
11}) {
12 const { projectId } = await params;
13 const projects = await loadAuthV2Workspace();
14 const project = projects.find((p) => p.id === projectId);
15 const list = project ? [project] : projects.filter((p) => p.id === projectId);
16
17 return (
18 <section>
19 <header className="mb-6">
20 <h2 className="font-mono text-lg tracking-tight text-[var(--color-text)]">
21 keys
22 </h2>
23 <p className="mt-1 font-mono text-sm text-[var(--color-text-muted)]">
24 SDK keys for this project only
25 </p>
26 </header>
27 <AuthKeysClient projects={list.length ? list : projects} lockProjectId={projectId} />
28 </section>
29 );
30}