diff --git a/src/app/(mentor)/mentor/workspace/[projectId]/page.tsx b/src/app/(mentor)/mentor/workspace/[projectId]/page.tsx index ddc7a11..986cd3d 100644 --- a/src/app/(mentor)/mentor/workspace/[projectId]/page.tsx +++ b/src/app/(mentor)/mentor/workspace/[projectId]/page.tsx @@ -1,21 +1,29 @@ 'use client' import { useParams, useRouter } from 'next/navigation' +import { useSession } from 'next-auth/react' import { trpc } from '@/lib/trpc/client' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card' import { Button } from '@/components/ui/button' import { Badge } from '@/components/ui/badge' import { Skeleton } from '@/components/ui/skeleton' import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs' +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from '@/components/ui/tooltip' import { WorkspaceChat } from '@/components/mentor/workspace-chat' import { FilePromotionPanel } from '@/components/mentor/file-promotion-panel' import { WorkspaceFilesPanel } from '@/components/mentor/workspace-files-panel' -import { ArrowLeft, MessageSquare, FileText, Upload } from 'lucide-react' +import { ArrowLeft, MessageSquare, FileText, Upload, Users } from 'lucide-react' import { toast } from 'sonner' export default function MentorWorkspaceDetailPage() { const params = useParams() const router = useRouter() + const { data: session } = useSession() const projectId = params.projectId as string // Get mentor assignment for this project @@ -27,6 +35,22 @@ export default function MentorWorkspaceDetailPage() { { enabled: !!projectId } ) + // Co-mentor visibility (PR8 multi-mentor): show who else is on the team. + // Gracefully tolerates stale tabs where the caller no longer has access + // (assignment dropped) — query just returns nothing in that case. + const { data: projectMentors } = trpc.mentor.getProjectMentors.useQuery( + { projectId }, + { enabled: !!projectId, retry: false } + ) + + const currentUserId = session?.user?.id + const coMentors = (projectMentors ?? []).filter( + a => a.mentor.id !== currentUserId + ) + const coMentorNames = coMentors.map(a => a.mentor.name ?? 'Unnamed mentor') + const visibleCoMentors = coMentorNames.slice(0, 3) + const hiddenCoMentors = coMentorNames.slice(3) + if (isLoading) { return (
{project.teamName}
)} + {coMentors.length > 0 && ( +