53 lines
2.1 KiB
TypeScript
53 lines
2.1 KiB
TypeScript
export type TerritorialSourceEvidence = {
|
|
association: string;
|
|
role: string;
|
|
source_reference: string | null;
|
|
source_quote: string | null;
|
|
supports: string;
|
|
traceability: string;
|
|
official_source_accepted: boolean;
|
|
existing_validation: string | null;
|
|
};
|
|
export default function TerritorialSources({
|
|
sources,
|
|
}: {
|
|
sources?: TerritorialSourceEvidence[];
|
|
}) {
|
|
if (!sources?.length) return null;
|
|
return (
|
|
<section className="min-w-0 space-y-3 rounded border p-4 [overflow-wrap:anywhere]">
|
|
<h2 className="text-xl font-bold">
|
|
Fundamento documental das associações
|
|
</h2>
|
|
<p>
|
|
Fontes oficiais identificadas são aceites; recuperar uma
|
|
referência não retira a aceitação existente. O fundamento
|
|
aplica-se à informação indicada, sem deduzir implantação,
|
|
disponibilidade ou capacidade.
|
|
</p>
|
|
{sources.map((source, i) => (
|
|
<article className="border-t pt-3" key={i}>
|
|
<h3 className="font-semibold">
|
|
{source.role} — {source.association}
|
|
</h3>
|
|
<p>
|
|
Fonte:{' '}
|
|
{source.source_reference ??
|
|
'ligação ao exemplar por recuperar'}
|
|
</p>
|
|
<p>{source.source_quote ?? source.supports}</p>
|
|
<p>
|
|
{source.official_source_accepted
|
|
? 'Fonte oficial identificada e aceite.'
|
|
: 'Aceitação existente preservada; ponte ao exemplar oficial por recuperar. Esta referência não recebe outra classificação de proveniência.'}{' '}
|
|
Rastreabilidade: {source.traceability}. Estado
|
|
registado:{' '}
|
|
{source.existing_validation ?? 'sem campo específico'};
|
|
preservado.
|
|
</p>
|
|
</article>
|
|
))}
|
|
</section>
|
|
);
|
|
}
|