page.tsx33 lines · main
1import { AuthIdpClientsClient } from '../../idp/idp-clients-client';
2import { loadAuthV2Workspace } from '../../lib/load-workspace';
3
4export const metadata = { title: 'Auth · IdP clients' };
5export const dynamic = 'force-dynamic';
6
7export default async function AuthProjectIdpPage({
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 IdP clients
22 </h2>
23 <p className="mt-1 font-mono text-sm text-[var(--color-text-muted)]">
24 apps that use this project as their login office (OpenID Connect)
25 </p>
26 </header>
27 <AuthIdpClientsClient
28 projects={list.length ? list : projects}
29 lockProjectId={projectId}
30 />
31 </section>
32 );
33}