feat: add global auth settings and pending users

This commit is contained in:
2026-07-02 06:27:32 -07:00
parent f6b7924d0c
commit 4bb4312b08
24 changed files with 2831 additions and 23 deletions

View File

@@ -0,0 +1,63 @@
import Link from "next/link";
import { Clock3, MailCheck, ShieldCheck } from "lucide-react";
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { SignOutButton } from "@/modules/auth/components/SignOutButton";
import type { PublicAccount } from "@/modules/core/types";
import { UserAvatar } from "@/modules/shared/components/UserAvatar";
type PendingAssignmentProps = {
account: PublicAccount;
};
export function PendingAssignment({ account }: PendingAssignmentProps): React.ReactElement {
return (
<main className="flex min-h-svh items-center justify-center bg-background px-4 py-10">
<section className="page-enter w-full max-w-2xl">
<div className="mb-6 flex items-center justify-between">
<div className="flex min-w-0 items-center gap-3">
<UserAvatar avatarUrl={account.avatarUrl} name={account.name} size="lg" />
<div className="min-w-0">
<p className="truncate text-sm font-medium">{account.name}</p>
<p className="truncate text-xs text-muted-foreground">{account.email}</p>
</div>
</div>
<SignOutButton />
</div>
<Card className="overflow-hidden">
<CardHeader className="border-b bg-secondary/35">
<Badge className="w-fit" variant="warning">
</Badge>
<CardTitle className="mt-3 text-2xl leading-tight"></CardTitle>
</CardHeader>
<CardContent className="grid gap-4 pt-5">
<div className="grid gap-3 md:grid-cols-3">
<div className="rounded-md border bg-background p-4">
<Clock3 className="size-5 text-amber-600" aria-hidden="true" />
<p className="mt-3 text-sm font-medium"></p>
<p className="mt-1 text-xs text-muted-foreground"></p>
</div>
<div className="rounded-md border bg-background p-4">
<MailCheck className="size-5 text-primary" aria-hidden="true" />
<p className="mt-3 text-sm font-medium"></p>
<p className="mt-1 text-xs text-muted-foreground"></p>
</div>
<div className="rounded-md border bg-background p-4">
<ShieldCheck className="size-5 text-emerald-600" aria-hidden="true" />
<p className="mt-3 text-sm font-medium"></p>
<p className="mt-1 text-xs text-muted-foreground">使</p>
</div>
</div>
<Button asChild className="w-fit" variant="outline">
<Link href="/app/dashboard"></Link>
</Button>
</CardContent>
</Card>
</section>
</main>
);
}