import { useEffect, useState } from 'react'; import type { AnswerType, QuestionType } from '@sauci/shared'; import { Badge } from '@/components/ui/badge'; import { Skeleton } from '@/components/ui/skeleton'; import { Image as ImageIcon, Music2 } from 'lucide-react'; import { getAdminResponseMedia } from '@/lib/adminApi'; import { formatAdminResponse, QUESTION_TYPE_LABELS, type AdminResponseData } from '@/lib/questionResponses'; interface ResponseAnswerProps { answer: AnswerType; responseId?: string; questionType?: QuestionType | null; responseData?: AdminResponseData; responderId?: string; responderName?: string | null; } export function ResponseAnswer({ answer, responseId, questionType, responseData = null, responderId, responderName, }: ResponseAnswerProps) { const formatted = formatAdminResponse(questionType, answer, responseData, { responderId, responderName }); const resolvedType = questionType ?? 'swipe'; return (
{formatted.detail}
)} {(resolvedType === 'photo' || resolvedType === 'audio') && responseId && (
{mediaType === 'photo' ?