Front refactor: SP2 — landing no design novo (build pblico)#143
Merged
Conversation
No-basePath public landing export, separate from the /app build:
- next.config.ts: split .next cache via NEXT_DIST_DIR; document the two builds
- package.json: build:public (MARKETING_BUILD=1, no basePath) → export-landing
- scripts/export-landing.mjs: stage out/ → out-public/ with /_next assets,
preserve favicon.svg/privacidade/termos/plano from zinom-site/public,
assert index.html references /_next/ with no /app prefix
- marketing.css: landing.css ported, re-tokenized to Refined Editorial (teal
#2f5d50, Inter/JetBrains Mono self-hosted, warm paper bg)
- icons.tsx: ICONS map ported to React SVG components (no innerHTML)
- useReveal.ts: watchVisible() ported (IO + scroll/resize fallback, reduced-motion)
- hooks/marketing-access.ts: register/request-invite via raw same-origin fetch
- lib/marketing/{feed,chat}-scenario.ts: pure scripted demo data
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
All landing sections ported faithfully from zinom-site/public (index.html + landing.js) as React, zero inline scripts: - Nav (desktop links + CTAs, hamburger w/ aria, scroll shadow, Escape/resize close) - Hero (eyebrow, <em>memória</em> title, lede, hero-eq) + SourcesStrip (5 chips) - AccessCard (#acesso): invite/waitlist tabs → /portal/register, /portal/request-invite; ?invite/?email prefill, ?error=link top note, ok/field-err states - HowItWorks (#como): animated diagram (6 nodes rotate `lit` @1400ms) + 3 steps - Pricing (#planos): 4 plans (Free/Essencial/Pro featured/Ilimitado) w/ off feats - CtaBand + Footer (4 cols, all links incl. mailto/privacidade/termos/MCP) - icons.tsx: + ICON_SVG raw strings for the imperatively-built demo nodes page.tsx is the build switch: MARKETING_BUILD=1 renders <Landing/> at / with the SEO metadata (title/description/favicon, lang pt-BR from root layout); otherwise the /app/ → /inicio/ redirect (moved to AppRedirect client child). "Entrar" → /app/login/. export-landing reads the distDir export (EXPORT_DIR). Public build verified: out-public/index.html references /_next/ with no /app prefix; Inter + JetBrains Mono self-hosted under _next/static/media (no CDN). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- lib/marketing/feed-scenario.test.ts: chunkTargetUpTo matches the cumulative +18/+27/+28/+52 from landing-feed.js; payoff hits 0.94/0.87/0.71 - lib/marketing/chat-scenario.test.ts: 4 scenarios valid (user→…→answer, steps 1..4) - components/marketing/useReveal.test.tsx: reduced-motion shows immediately; off-screen stays hidden - e2e-landing/landing.spec.ts + playwright.landing.config.ts: serves the staged out-public/ at root (as the worker would). Asserts SEO meta/lang/favicon, no /app/_next requests, anchor targets, nav hamburger (open/Escape/link close), access card invite 200→#sent / 400→field-err, waitlist, ?invite&?email prefill, ?error=link note, demos run (#fl-count-n>0, #chat-body .msg), no-overflow 360/1440. All green: unit 225/225 (9 new), landing e2e 12/12. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Landing redesenhada (Refined Editorial) como export Next sem basePath (build:public). Infra inerte pro app build. Deploy do landing (zinom-site) feito separado.
🤖 Generated with Claude Code