From 69f0b124bbea317c23ce501cab3ee83488ed223a Mon Sep 17 00:00:00 2001 From: Rodribm10 Date: Tue, 14 Apr 2026 22:05:19 -0300 Subject: [PATCH] docs: plano Fase 5 - polish visual (hero, carrossel, skeletons, confetti) --- ...04-14-reserva-1001-fase-5-polish-visual.md | 133 ++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 docs/superpowers/plans/2026-04-14-reserva-1001-fase-5-polish-visual.md diff --git a/docs/superpowers/plans/2026-04-14-reserva-1001-fase-5-polish-visual.md b/docs/superpowers/plans/2026-04-14-reserva-1001-fase-5-polish-visual.md new file mode 100644 index 000000000..111645cb0 --- /dev/null +++ b/docs/superpowers/plans/2026-04-14-reserva-1001-fase-5-polish-visual.md @@ -0,0 +1,133 @@ +# Reserva 1001 — Fase 5: Polish visual + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development + +**Goal:** Transformar a página pública num produto premium com animações, carrossel, skeletons e micro-interações. A base funcional está toda pronta (fases 1-4); esta fase é exclusivamente sobre percepção de qualidade. + +**Tech stack adicional:** framer-motion (já instalado) · animejs (já instalado) · canvas-confetti (instalar) · embla-carousel-react (instalar — pro carrossel de fotos) + +**Spec:** `docs/superpowers/specs/2026-04-13-reserva-1001-design.md` seção 10 +**Fases anteriores:** 1, 2, 3, 3.5, 4 completas + +--- + +## Escopo + +### ✅ Entra nesta fase + +1. **Hero section** no topo da página pública com reveal escalonado (framer-motion) +2. **Carrossel de fotos** substitui o grid atual — com swipe, indicadores, lightbox em tela cheia +3. **Stagger entrance** nas opções de categoria/unidade quando muda a marca (framer-motion `staggerChildren`) +4. **Price pulse** — animação de escala quando o preço recalcula (anime.js) +5. **QR code glow** — borda animada pulsando na tela de checkout (CSS + motion) +6. **Skeleton screens** em vez de spinners no form e galeria +7. **SuccessScreen upgrade** — confetti + check SVG desenhado com anime.js +8. **Micro-interactions** em botões (hover scale, subtle glow) +9. **AnimatePresence** pras transições entre etapas (form → checkout → success) + +### ❌ Fora de escopo + +- Mudanças de layout (ex: hero "parallax" com scroll) — só reveal +- Mudança de fontes/cores (é editável no admin) +- Mexer em lógica de negócio + +--- + +## Tasks + +### Task 1: Hero section com reveal + +**Files:** +- Create: `src/components/reservation/HeroSection.tsx` +- Modify: `src/pages/ReservationPage.tsx` (usa HeroSection no topo) + +Cria um hero mais impactante: stagger entrance dos elementos (subtítulo → título → tagline) com `motion.div` e `variants`. Timeline: 0ms subtítulo, 200ms título, 400ms tagline. + +### Task 2: Carrossel de fotos com lightbox + +**Files:** +- Install: `pnpm add embla-carousel-react` +- Modify: `src/components/reservation/ImageGallery.tsx` (substitui grid por carrossel) + +Swipe horizontal, dots indicadores, autoplay 4s (pausa no hover). Click numa foto abre lightbox em tela cheia (overlay escuro + `` centralizado + botão X + ←/→ pra navegar + ESC pra fechar). + +### Task 3: Stagger entrance nos selects de categoria/unidade + +**Files:** +- Modify: `src/components/reservation/StayDetailsStep.tsx` + +Quando a marca muda e as unidades/categorias re-renderizam, cada `