import Link from "next/link"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { getRevisaoBriefing } from "@/lib/briefing-service"; import { EnvioBriefingForm } from "./envio-briefing-form"; function respostaTexto(resposta: { texto: string | null; complemento: string | null; selecionadas: unknown; }) { const partes: string[] = []; const selecionadas = Array.isArray(resposta.selecionadas) ? resposta.selecionadas.filter((item): item is string => typeof item === "string") : []; if (resposta.texto?.trim()) { partes.push(resposta.texto.trim()); } if (selecionadas.length > 0) { partes.push(selecionadas.join(", ")); } if (resposta.complemento?.trim()) { partes.push(`Complemento: ${resposta.complemento.trim()}`); } return partes.join(" | "); } export default async function RevisaoBriefingPage({ params }: { params: { id: string } }) { const { briefing, secoes, confirmacaoCliente } = await getRevisaoBriefing(params.id); const perguntas = secoes.flatMap((secao) => secao.perguntas); const perguntasEmBranco = perguntas.filter((pergunta) => { const resposta = pergunta.respostas[0]; const anexos = "anexos" in pergunta && Array.isArray(pergunta.anexos) ? pergunta.anexos : []; return (!resposta || !respostaTexto(resposta)) && anexos.length === 0; }).length; return (
{briefing.status.replace("_", " ")}

Revisao do briefing

Confira as respostas antes de enviar para analise.

{briefing.status !== "RASCUNHO" ? ( ) : null}
{secoes.map((secao) => ( {secao.ordem}. {secao.titulo} {secao.perguntas.map((pergunta) => { const resposta = pergunta.respostas[0]; const texto = resposta ? respostaTexto(resposta) : ""; const anexos = "anexos" in pergunta && Array.isArray(pergunta.anexos) ? pergunta.anexos : []; return (

{pergunta.rotulo}

{!texto && anexos.length === 0 ? Em branco : null}

{texto || "Sem resposta informada."}

{anexos.length > 0 ? ( ) : null}
); })} {briefing.status === "RASCUNHO" ? ( ) : null}
))}
); }