import { redirect } from 'next/navigation' import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs' import { canAccess, getAdminContext, PERMS } from '@/lib/permissions' import { getWatchedUserIds } from '@/lib/services/watch' import { UserAccountInfo } from '../../_components/user-account-info' import { UserBadgesReadonly } from '../../_components/user-badges-readonly' import { UserHero } from '../../_components/user-hero' import { loadUserById } from '../../_lib/load-user' import { UserActivityLog } from '../../[id]/user-activity-log' import { UserQuickActions } from '../../[id]/user-quick-actions' import { UserRooms } from '../../[id]/user-rooms' export default async function UserShowPage({ params, }: { params: Promise<{ locale: string; id: string }> }) { const { id } = await params const { session, permissions } = await getAdminContext() if (!canAccess(permissions, PERMS.USERS_VIEW, session.user.rank)) { redirect('/admin') } const canEdit = canAccess(permissions, PERMS.USERS_EDIT, session.user.rank) const data = await loadUserById(id) const watched = await getWatchedUserIds(session.user.id) return (
Account Info Badges ({data.user.badges.length}) Rooms ({data.roomCount}) Activity

Badges ({data.user.badges.length})

{canEdit && ( )}
) }