acrescimo no hero de Porquê investir em Moçambique?
Partir de uma ideia Sectores de investimento
This commit is contained in:
@@ -2769,3 +2769,16 @@ Preservação por comparação dos registos preexistentes: **32 documentos, 31 r
|
||||
**Guia da equipa no destino:** abrir a [gestão única](https://teste-investidor.tempo.co.mz/gestao-conteudos) → **Gerir conteúdos, versões e histórico** → escolher **Rascunhos**, pesquisar o título e abrir **Editar artigo** ou **Ler / pré-visualizar artigo**. Corrigir o texto e o tratamento de imagem → **Pré-visualizar alterações** → **Guardar artigo como rascunho** → **Ler revisão guardada**. Usar **Voltar ao acervo para metadados e publicação** para corrigir título, descrição, origem, enquadramento, acesso e direitos. **Publicar** continua separado, conforme a autorização e os campos existentes, quando a equipa decidir publicar. Guardar uma edição de um artigo publicado retira-o até nova publicação expressa. Não há comandos ou intervenção do Codex neste percurso corrente.
|
||||
|
||||
Recibo: [cadastro, acessos e preservação no destino](legacy-editorial-installation-receipt-20261022.json). A [lista única dos 50](../v2/auditoria-portal/legado-correspondencia-integral.md) e o CSV existente contêm os endereços **privados** efectivos dos 28; não são links de artigos já publicados. Capturas locais em `outputs/legacy-editorial-install-20261022/`, incluindo `editor-recovered-homologation.png`. Mantêm-se dois originais incompletos e a revisão editorial dos textos pela equipa. A Tempo não declarou ter conferido commit, pacote ou guia. **A carteira vazia e os projectos âncora continuam como falha separada, sem causa confirmada; esta entrega não a resolve.** (Saldo histórico desta entrega de 22/10; superado pela reposição auditada e reconciliação de 23/10 descritas acima. Não representa o estado actual.)
|
||||
|
||||
|
||||
## Descoberta — 26/10/2026
|
||||
|
||||
Origem: pedido expresso da Tempo nesta conversa. Requisito existente V2-01; sem nova matriz. Inventário antes da verificação: as cinco páginas já existem; o menu apresentava ideia antes de porquê, sectores antes do simulador, que estava em Realização. A página inicial tinha apenas os atalhos Consultar oportunidades e Simulador Fiscal. Não foi confirmada eliminação de funcionalidade neste recorte; reutilizam-se os destinos e as provas anteriores, sem reabrir as aprovações históricas.
|
||||
|
||||
Alteração local: menu Descoberta e atalhos iniciais passam a Porquê investir em Moçambique (`/porque-investir`) → Partir de uma ideia (`/investimentos/iniciar`) → Consultar oportunidades (`/oportunidades`) → Simulador Fiscal (`/simulador-fiscal`, com contexto existente no menu) → Sectores de investimento (`/sectores`). O atalho de oportunidades passa de mudança de vista local a ligação à página do catálogo. Restantes catálogos e destinos conservados; início de preparação privada mantém a autenticação existente.
|
||||
|
||||
Guia: na barra, abrir Descoberta e seleccionar o item; na página inicial, os cinco atalhos seguem a mesma ordem e abrem as respectivas páginas. O simulador passa a pertencer a Descoberta. Código, schema, dados, configuração e permissões: só muda o código de apresentação/navegação; sem migrations ou escritas em dados, sem alteração de permissões. Nenhuma perda de dados inferida por leituras de interface. Disponibilização e verificação do destino não executadas nesta alteração local.
|
||||
|
||||
Verificação local do delta: seis testes existentes de navegação passaram; ordem dos cinco destinos e preservação do contexto/rascunho fiscal conferidas com e sem contexto. `npm run types:check`, `npm run build` e `git diff --check` passaram. Traduções dos novos rótulos do menu acrescentadas em inglês, francês e espanhol. Sem nova conferência visual no navegador ou publicação no destino. Critérios transversais da matriz permanecem no estado anterior; esta reorganização não os encerra.
|
||||
|
||||
Correcção expressa da Tempo, 26/10/2026: acrescentar interrogação a **Porquê investir em Moçambique?**, uniformizada no atalho, menu, caminho de navegação, título da página e traduções. Compactar os cinco atalhos iniciais: margens internas horizontais de 20 para 12 px por lado e verticais de 12 para 6 px; intervalo de 12 para 8 px; margem superior de 24 para 16 px; altura mínima de 36 px a partir de 640 px de largura, mantendo 44 px no telemóvel. São escolhas de apresentação para executar este pedido. Inventário preservado: cinco destinos, ordem, contexto fiscal e acessos anteriores; sem funcionalidade desaparecida confirmada neste delta. Verificação desta correcção: `npm run build` e `git diff --check` passaram. Sem nova conferência visual no navegador ou publicação no destino.
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,3 +1,4 @@
|
||||
import { Link } from '@inertiajs/react';
|
||||
import { ArrowRight, Search } from 'lucide-react';
|
||||
import { useEffect, useState } from 'react';
|
||||
import type { FormEvent } from 'react';
|
||||
@@ -127,7 +128,6 @@ type PortalHeroProps = {
|
||||
query: string;
|
||||
setQuery: (value: string) => void;
|
||||
onSearch: (event: FormEvent<HTMLFormElement>) => void;
|
||||
onNavigate: (view: 'opportunities') => void;
|
||||
stats?: HomeResponse['data']['stats'];
|
||||
};
|
||||
|
||||
@@ -136,7 +136,6 @@ export default function PortalHero({
|
||||
query,
|
||||
setQuery,
|
||||
onSearch,
|
||||
onNavigate,
|
||||
stats,
|
||||
}: PortalHeroProps) {
|
||||
const [currentSlide, setCurrentSlide] = useState(0);
|
||||
@@ -261,20 +260,38 @@ export default function PortalHero({
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div className="mt-6 flex flex-wrap items-center justify-center gap-3">
|
||||
<button
|
||||
onClick={() => onNavigate('opportunities')}
|
||||
className="inline-flex min-h-11 items-center gap-2 rounded-xl bg-white px-5 py-3 text-sm font-semibold text-[#101820] transition-colors hover:bg-slate-100 focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white"
|
||||
<div className="mt-4 flex flex-wrap items-center justify-center gap-2">
|
||||
<Link
|
||||
href="/porque-investir"
|
||||
className="inline-flex min-h-11 items-center rounded-lg border border-white/50 bg-black/15 px-3 py-1.5 text-sm font-semibold text-white transition-colors hover:bg-white/15 focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white sm:min-h-9"
|
||||
>
|
||||
Consultar oportunidades{' '}
|
||||
Porquê investir em Moçambique?
|
||||
</Link>
|
||||
<Link
|
||||
href="/investimentos/iniciar"
|
||||
className="inline-flex min-h-11 items-center rounded-lg border border-white/50 bg-black/15 px-3 py-1.5 text-sm font-semibold text-white transition-colors hover:bg-white/15 focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white sm:min-h-9"
|
||||
>
|
||||
Partir de uma ideia
|
||||
</Link>
|
||||
<Link
|
||||
href="/oportunidades"
|
||||
className="inline-flex min-h-11 items-center gap-1.5 rounded-lg bg-white px-3 py-1.5 text-sm font-semibold text-[#101820] transition-colors hover:bg-slate-100 focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white sm:min-h-9"
|
||||
>
|
||||
Consultar oportunidades
|
||||
<ArrowRight size={16} aria-hidden="true" />
|
||||
</button>
|
||||
<a
|
||||
</Link>
|
||||
<Link
|
||||
href="/simulador-fiscal"
|
||||
className="inline-flex min-h-11 items-center rounded-xl border border-white/50 bg-black/15 px-5 py-3 text-sm font-semibold text-white transition-colors hover:bg-white/15 focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white"
|
||||
className="inline-flex min-h-11 items-center rounded-lg border border-white/50 bg-black/15 px-3 py-1.5 text-sm font-semibold text-white transition-colors hover:bg-white/15 focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white sm:min-h-9"
|
||||
>
|
||||
Simulador Fiscal
|
||||
</a>
|
||||
</Link>
|
||||
<Link
|
||||
href="/sectores"
|
||||
className="inline-flex min-h-11 items-center rounded-lg border border-white/50 bg-black/15 px-3 py-1.5 text-sm font-semibold text-white transition-colors hover:bg-white/15 focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white sm:min-h-9"
|
||||
>
|
||||
Sectores de investimento
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
<dl
|
||||
|
||||
@@ -58,10 +58,28 @@ const menuTranslations = [
|
||||
'solicitudes recibidas',
|
||||
],
|
||||
[
|
||||
'Porquê investir em Moçambique',
|
||||
'Why invest in Mozambique',
|
||||
'Pourquoi investir au Mozambique',
|
||||
'Por qué invertir en Mozambique',
|
||||
'Porquê investir em Moçambique?',
|
||||
'Why invest in Mozambique?',
|
||||
'Pourquoi investir au Mozambique ?',
|
||||
'Por qué invertir en Mozambique?',
|
||||
],
|
||||
[
|
||||
'Partir de uma ideia',
|
||||
'Start with an idea',
|
||||
'Partir d’une idée',
|
||||
'Partir de una idea',
|
||||
],
|
||||
[
|
||||
'Consultar oportunidades',
|
||||
'Browse opportunities',
|
||||
'Consulter les opportunités',
|
||||
'Consultar oportunidades',
|
||||
],
|
||||
[
|
||||
'Simulador Fiscal',
|
||||
'Tax simulator',
|
||||
'Simulateur fiscal',
|
||||
'Simulador fiscal',
|
||||
],
|
||||
[
|
||||
'Oportunidades de investimento',
|
||||
|
||||
@@ -30,7 +30,7 @@ const names: Record<string, string> = {
|
||||
'/contacto': 'Contacto',
|
||||
'/politica-de-privacidade': 'Política de Privacidade',
|
||||
'/termos-de-uso': 'Termos de Uso',
|
||||
'/porque-investir': 'Porquê investir em Moçambique',
|
||||
'/porque-investir': 'Porquê investir em Moçambique?',
|
||||
'/investimentos/iniciar': 'Iniciar ou continuar investimento',
|
||||
'/explorar/agronegocio': 'Explorar agronegócio',
|
||||
'/agronegocio': 'Artigo de agronegócio',
|
||||
|
||||
@@ -445,20 +445,25 @@ export function portalNavigation(access: PortalNavAccess): PortalNavItem[] {
|
||||
id: 'discovery',
|
||||
label: 'Descoberta',
|
||||
children: [
|
||||
link(
|
||||
'why',
|
||||
'Porquê investir em Moçambique?',
|
||||
'/porque-investir',
|
||||
),
|
||||
link(
|
||||
'idea-entry',
|
||||
'Partir de uma ideia',
|
||||
'/investimentos/iniciar',
|
||||
),
|
||||
link(
|
||||
'why',
|
||||
'Porquê investir em Moçambique',
|
||||
'/porque-investir',
|
||||
'opportunities',
|
||||
'Consultar oportunidades',
|
||||
'/oportunidades',
|
||||
),
|
||||
link(
|
||||
'opportunities',
|
||||
'Oportunidades de investimento',
|
||||
'/oportunidades',
|
||||
'simulator',
|
||||
'Simulador Fiscal',
|
||||
access.context?.simulator || '/simulador-fiscal',
|
||||
),
|
||||
link('sectors', 'Sectores de investimento', '/sectores'),
|
||||
link('locations', 'Localizações', '/oportunidades?view=map'),
|
||||
@@ -500,11 +505,6 @@ export function portalNavigation(access: PortalNavAccess): PortalNavItem[] {
|
||||
label: 'Realização',
|
||||
children: [
|
||||
link('start', 'Iniciar investimento', '/investimentos/iniciar'),
|
||||
link(
|
||||
'simulator',
|
||||
'Incentivos e simulador fiscal',
|
||||
access.context?.simulator || '/simulador-fiscal',
|
||||
),
|
||||
link(
|
||||
'licensing',
|
||||
'Licenciamento',
|
||||
|
||||
@@ -1001,7 +1001,6 @@ export default function PortalInvestidorApp({
|
||||
setQuery={setHeroQuery}
|
||||
onSearch={handleHeroSearch}
|
||||
stats={home.data?.data.stats}
|
||||
onNavigate={navigate}
|
||||
/>
|
||||
<InvestmentContextCards />
|
||||
<QueryStatus
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Link } from '@inertiajs/react';
|
||||
import { Frame, card, button } from '@/pages/investment/shared';
|
||||
export default function WhyInvest() {
|
||||
return (
|
||||
<Frame title="Porquê investir em Moçambique">
|
||||
<Frame title="Porquê investir em Moçambique?">
|
||||
<section className={card + ' space-y-4'}>
|
||||
<h2 className="text-2xl font-bold">
|
||||
Encontrar possibilidades e avaliar as condições
|
||||
|
||||
@@ -100,7 +100,7 @@ void test('reconciled navigation selects discovery, realization and private supp
|
||||
);
|
||||
assert.equal(
|
||||
currentNavigationGroup(groups, '/simulador-fiscal'),
|
||||
'realization',
|
||||
'discovery',
|
||||
);
|
||||
assert.equal(
|
||||
currentNavigationGroup(groups, '/balcao-virtual/dossiers/fixture'),
|
||||
|
||||
Reference in New Issue
Block a user