Files
2026-06-06 00:49:07 +08:00

39 lines
1.4 KiB
TypeScript

import type { CSSProperties } from "react";
import { UsersManager } from "@/components/admin/users/UsersManager";
import { AppSidebar } from "@/components/app-sidebar";
import {
SidebarInset,
SidebarProvider,
SidebarTrigger,
} from "@/components/ui/sidebar";
import { listAdminAppUsers } from "@/server/admin/app-users";
export const dynamic = "force-dynamic";
export default async function UsersPage() {
const users = await listAdminAppUsers();
return (
<SidebarProvider
style={
{
"--sidebar-width": "calc(var(--spacing) * 72)",
"--header-height": "calc(var(--spacing) * 12)",
} as CSSProperties
}
>
<AppSidebar variant="inset" />
<SidebarInset>
<header className="flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height)">
<div className="flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6">
<SidebarTrigger className="-ml-1" />
<h1 className="text-base font-medium">Users</h1>
</div>
</header>
<UsersManager initialUsers={users} />
</SidebarInset>
</SidebarProvider>
);
}