feat: show nonComplianceReason detail banner under identification section when report is NÃO CONFORME
This commit is contained in:
@@ -114,6 +114,19 @@ export const ReportDisplay: React.FC<ReportDisplayProps> = ({ report }) => {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Banner de Não Conformidade se aplicável */}
|
||||
{compliance.status === 'NÃO CONFORME' && compliance.nonComplianceReason && (
|
||||
<div className="mb-4 bg-rose-50 dark:bg-rose-950/20 border border-rose-200 dark:border-rose-800/50 rounded-lg p-3 text-[10px] text-rose-800 dark:text-rose-300 leading-normal flex gap-2.5 items-start">
|
||||
<svg className="w-4 h-4 shrink-0 text-rose-600 dark:text-rose-400 mt-0.5" fill="none" viewBox="0 0 24 24" strokeWidth="2.5" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
|
||||
</svg>
|
||||
<div>
|
||||
<h4 className="font-black uppercase tracking-wider text-[9px] text-rose-900 dark:text-rose-200 mb-0.5">Motivo da Não Conformidade Normativa</h4>
|
||||
<p className="font-medium">{compliance.nonComplianceReason}</p>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Seções 2 e 3: Propriedades (Lado a Lado no Desktop) */}
|
||||
<section className="grid grid-cols-1 md:grid-cols-12 gap-2 mb-3 flex-grow">
|
||||
|
||||
|
||||
@@ -75,6 +75,7 @@ const reportSchema = {
|
||||
type: Type.OBJECT,
|
||||
properties: {
|
||||
status: { type: Type.STRING, enum: ["CONFORME", "NÃO CONFORME"], description: "Status geral de conformidade." },
|
||||
nonComplianceReason: { type: Type.STRING, description: "Se o status for 'NÃO CONFORME', explique detalhadamente o motivo da não conformidade, citando quais propriedades ou elementos químicos falharam e quais eram os limites da norma técnica analisada. Se for 'CONFORME', retorne uma string vazia." },
|
||||
mechanical: {
|
||||
type: Type.ARRAY,
|
||||
items: {
|
||||
@@ -196,6 +197,7 @@ FORMATO DO RETORNO:
|
||||
},
|
||||
"compliance": {
|
||||
"status": "CONFORME",
|
||||
"nonComplianceReason": "",
|
||||
"mechanical": [
|
||||
{ "property": "Yield Strength (Limite de Escoamento)", "norm": "Min: 345 MPa", "certificate": "415 MPa", "status": "OK", "differencePercentage": "+20.3%" }
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user