Stage 1.5: categories, enrollment expiry, access log, bulk grant, user page

This commit is contained in:
2026-04-07 11:59:13 +05:00
parent 992763aeb9
commit e9eff5bae5
16 changed files with 790 additions and 93 deletions
+4 -3
View File
@@ -1,5 +1,6 @@
import { prisma } from "@/lib/prisma";
import { Badge } from "@/components/ui/badge";
import Link from "next/link";
const roleLabel: Record<string, string> = {
admin: "Администратор",
@@ -39,10 +40,10 @@ export default async function UsersPage() {
</thead>
<tbody>
{users.map((user) => (
<tr key={user.id} className="border-b border-slate-50 last:border-0 hover:bg-slate-50">
<tr key={user.id} className="border-b last:border-0" style={{ borderColor: "var(--border)" }}>
<td className="px-5 py-3">
<p className="font-medium text-slate-800">{user.name}</p>
<p className="text-xs text-slate-400">{user.email}</p>
<Link href={`/admin/users/${user.id}`} className="font-medium hover:underline" style={{ color: "var(--foreground)" }}>{user.name}</Link>
<p className="text-xs" style={{ color: "var(--muted-foreground)" }}>{user.email}</p>
</td>
<td className="px-5 py-3">
<Badge variant={roleVariant[user.role] ?? "outline"}>