Files
Investidor-V2/resources/js/pages/desk/sources.tsx
T
nala 1106509116
tests / ci (push) Canceled after 0s
vrsao 2
2026-10-08 14:02:01 +02:00

70 lines
2.6 KiB
TypeScript

import { Link } from '@inertiajs/react';
import { Frame, card } from '@/pages/investment/shared';
export default function Sources({
total,
attachmentCount,
forms,
}: {
total: number;
attachmentCount: number;
forms: {
identifier: string;
sha256: string;
size: number;
edition: string;
provenance: string;
consultation: string;
legal_documentary_status: string;
rule_use: string;
official_confirmation: string;
fields_status: string;
}[];
}) {
return (
<Frame title="Acervo e exemplares de formulários">
<Link href="/balcao-virtual/painel" className="underline">
Voltar ao Balcão
</Link>
<p>
Inventário privado: {total} ficheiros e {attachmentCount} anexos
incorporados. O inventário integral foi preservado antes da
selecção. Nada foi importado ou publicado automaticamente.
</p>
<p>
Os exemplares abaixo preservam origem, hash e campos no
original. Edição, homologação e correspondência a formulários
oficiais permanecem por verificar. Esta pendência permite
continuar a preparar o dossier.
</p>
{forms.map((f) => (
<article key={f.sha256 + f.identifier} className={card}>
<h2 className="font-bold">{f.identifier}</h2>
<p>
{f.provenance} · {f.size} bytes · edição:{' '}
{f.edition === 'not_identified'
? 'por identificar'
: f.edition}
</p>
<p className="text-xs break-all">SHA-256: {f.sha256}</p>
<p>
Consulta: inventário local, sem autorização de
publicação. Situação documental: não verificada.
Utilização em regras ou cálculos: nenhuma.
</p>
<p>
Confirmação oficial: pendente. Campos: preservados no
ficheiro original; correspondência por verificar.
</p>
</article>
))}
{!forms.length && (
<p>
Inventário não disponível nesta instalação. Os serviços de
preparação não dependem da sua publicação.
</p>
)}
</Frame>
);
}