Pular para o conteúdo

Prompt 0077 — One-page: CTA de slides, fechar modal e registo

Prompt 0077 — One-page: CTA de slides, fechar modal e registo

Seção intitulada “Prompt 0077 — One-page: CTA de slides, fechar modal e registo”
  1. Esclarecimento e UX: a apresentação Marp não deve ser retirada da Visão Executiva em /framework/sinergia-one-page/; a intenção é manter acesso com chamada visível no corpo da página (não depender só do menu Starlight, onde o link global aos slides tinha sido removido). Incluir secção com âncora #slides explicando o deck e o modo de abrir/fechar.
  2. Comportamento do modal: ao fechar os slides (×, clique fora, Esc), evitar que a página fique sem interação — em especial após fullscreen dentro do iframe (Marp): sair do fullscreen no documento pai e no document do iframe, com dois requestAnimationFrame antes de dialog.close() quando aplicável; no evento close do <dialog>, repetir cleanup assíncrono (fullscreen + about:blank no iframe + hash) para o caso de fecho nativo com Esc.
  3. Registo e repositório: após a implementação, atualizar os prompts (docs/userPrompts/, tabela historico/prompts.md, npm run sync-prompts em docs/site/) e fazer commit e push só dos ficheiros de documentação e registo (sem misturar artefactos de build ruidosos).
  • docs/site/public/framework/sinergia-one-page/index.html: secção Apresentação em slides (id="slides"), instruções de fecho; lógica exitFullscreen em cadeia (Promise + requestAnimationFrame); endSlidesSession no × e no backdrop; close com exitFullscreenEverywhere().finally(…) para Esc; botão de secção ligado a openSlides.
  • apresentacao-executiva.css: estilos .slides-cta__panel, kbd, etc.
  • Commit anterior no histórico: a0f96dd (fix one-page e modal). Este prompt: ficheiro prompt-0077-…, linha no índice, registro-prompts sincronizado, commit e push de prompts.