fix(catalogue): keep filtered investment results separate from educational guides
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
import { Link } from '@inertiajs/react';
|
||||
import type { EducationalArticle } from './educational-article-card';
|
||||
|
||||
/** Guides remain available on request; they are not matching investment results. */
|
||||
export default function CatalogueGuideLinks({ articles }: { articles: EducationalArticle[] }) {
|
||||
if (!articles.length) return null;
|
||||
return <details className="rounded border p-3">
|
||||
<summary className="cursor-pointer font-medium">Guias do sector — apoio opcional</summary>
|
||||
<ul className="mt-3 space-y-2">
|
||||
{articles.map((article) => <li key={article.href}>
|
||||
<Link className="underline" href={article.href}>Ler guia: {article.title}</Link>
|
||||
</li>)}
|
||||
</ul>
|
||||
</details>;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import EducationalGuides from '@/components/educational-guides';
|
||||
import CatalogueGuideLinks from '@/components/catalogue-guide-links';
|
||||
import OpportunityCorridorGroups, { type CorridorGroup } from '@/components/opportunity-corridor-groups';
|
||||
import { searchTerritoryHref } from '@/lib/search-territory';
|
||||
import type { EducationalArticle } from '@/components/educational-article-card';
|
||||
@@ -381,6 +381,11 @@ export default function Catalogue({
|
||||
);
|
||||
}}
|
||||
/>
|
||||
<h2 className="text-xl font-semibold">
|
||||
Oportunidades publicadas
|
||||
{filters.sector && ` · ${references.sectors.find((sector) => sector.slug === filters.sector)?.name ?? filters.sector}`}
|
||||
{territorySelection.length > 0 && ` · ${territorySelection.map((territory) => territory.name).join(' / ')}`}
|
||||
</h2>
|
||||
<SearchState
|
||||
loading={searchLoading}
|
||||
error={searchError}
|
||||
@@ -423,7 +428,7 @@ export default function Catalogue({
|
||||
}));
|
||||
}}
|
||||
>
|
||||
Alargar pesquisa (remover localização)
|
||||
Pesquisar noutras províncias (remover localização)
|
||||
</button>
|
||||
)}
|
||||
{['grid', 'list', 'map', 'combined', 'corridors'].map((value, i) => (
|
||||
@@ -646,10 +651,10 @@ export default function Catalogue({
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
{!results.total && (
|
||||
{!searchLoading && !searchError && !results.total && (
|
||||
<p className={card}>
|
||||
Sem oportunidades com estes filtros. Explore as fichas
|
||||
territoriais ou{' '}
|
||||
Não há oportunidades publicadas com estes filtros no cadastro consultado.
|
||||
A informação disponível pode ser incompleta. Pode{' '}
|
||||
<Link href="/apoio" className="underline">
|
||||
peça apoio
|
||||
</Link>
|
||||
@@ -757,7 +762,7 @@ export default function Catalogue({
|
||||
</div>
|
||||
</section>
|
||||
)}
|
||||
<EducationalGuides articles={guides} />
|
||||
<CatalogueGuideLinks articles={guides} />
|
||||
</Frame>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user