import React from 'react'; import Image from 'next/image'; import { user_default_dark } from '@/assets/usericon/default/defaultusericon-export'; import { user_default_light } from '@/assets/usericon/default/defaultusericon-export'; import { useTheme } from 'next-themes'; import zod from 'zod/v4'; import { ParticipantSchema } from '@/app/api/event/[eventID]/participant/validation'; import { usePatchApiEventEventIDParticipantUser } from '@/generated/api/event-participant/event-participant'; import { useSession } from 'next-auth/react'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../ui/select'; type ParticipantListEntryProps = zod.output; export default function ParticipantListEntry({ user, status, eventID, }: ParticipantListEntryProps & { eventID?: string }) { const session = useSession(); const { resolvedTheme } = useTheme(); const defaultImage = resolvedTheme === 'dark' ? user_default_dark : user_default_light; const updateAttendance = usePatchApiEventEventIDParticipantUser(); const finalImageSrc = user.image ?? defaultImage; return (
Avatar {user.name} {user.id === session.data?.user?.id && eventID ? ( ) : ( {status} )}
); }