feat: adopt kumo green ui system

This commit is contained in:
2026-07-02 07:12:31 -07:00
parent 4bb4312b08
commit 0f0bd8813d
32 changed files with 1453 additions and 796 deletions

View File

@@ -9,6 +9,7 @@ import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import { Card } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Select } from "@/components/ui/select";
import type { ApiResult } from "@/modules/core/server/api";
import type { Organization } from "@/modules/core/types";
@@ -206,17 +207,14 @@ function AuthPanelContent({ mode }: AuthPanelProps): React.ReactElement {
{mode === "register" && !invitationToken && organizations.length > 0 ? (
<label className="block space-y-2">
<span className="text-sm font-medium"></span>
<select
className="h-11 w-full rounded-md border bg-background px-3 text-sm outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring"
<Select
aria-label="申请加入机构"
name="organizationId"
>
<option value=""></option>
{organizations.map((organization) => (
<option key={organization.id} value={organization.id}>
{organization.name}
</option>
))}
</select>
options={[
{ value: "", label: "暂不加入机构" },
...organizations.map((organization) => ({ value: organization.id, label: organization.name })),
]}
/>
</label>
) : null}

View File

@@ -1,8 +1,7 @@
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 { LinkButton } 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";
@@ -52,9 +51,9 @@ export function PendingAssignment({ account }: PendingAssignmentProps): React.Re
<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>
<LinkButton className="w-fit" href="/app/dashboard" variant="outline">
</LinkButton>
</CardContent>
</Card>
</section>