import { DoorOpen, Eye, Globe, Lock, Pencil, Sofa, Users } from 'lucide-react' import Link from 'next/link' import { redirect } from 'next/navigation' import { AdminBreadcrumb } from '@/components/admin/admin-breadcrumb' import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' import { Card, CardContent } from '@/components/ui/card' import { canAccess, getAdminContext, PERMS } from '@/lib/permissions' import { loadRoom } from '../../_lib/load-room' const stateVariants: Record = { open: 'default', locked: 'secondary', password: 'destructive', invisible: 'outline', } export default async function RoomShowPage({ params, }: { params: Promise<{ locale: string; id: string }> }) { const { id } = await params const { session, permissions } = await getAdminContext() if (!canAccess(permissions, PERMS.ROOMS_VIEW, session.user.rank)) redirect('/admin') const room = await loadRoom(id) const canEdit = session.user.rank >= 4 return (
{/* Hero */}

{room.name}

#{room.id} {room.state}
{room.description &&

{room.description}

}
{room.users} / {room.usersMax} users Owner: {room.owner.username}
{canEdit && ( )}
{/* Info grid */}

{room.users} / {room.usersMax}

Current Users

{room.state}

Access State

{room.score}

Score

{room.category}

Category

) }