Skip to content

Legacy como padrão com redirect para app moderna#5

Draft
jandersonss wants to merge 3 commits into
mainfrom
cursor/legacy-default-redirect-7afd
Draft

Legacy como padrão com redirect para app moderna#5
jandersonss wants to merge 3 commits into
mainfrom
cursor/legacy-default-redirect-7afd

Conversation

@jandersonss

@jandersonss jandersonss commented May 24, 2026

Copy link
Copy Markdown
Owner

Problema

Browsers antigos (WebOS < Chrome 72) não conseguiam carregar a app Next.js moderna. O redirect anterior tentava detectar o browser depois de carregar o bundle pesado — tarde demais.

Solução

Estratégia de carregamento invertida

  1. Middleware (middleware.ts): browsers sem suporte moderno são redirecionados para /legacy antes de renderizar rotas do dashboard.
  2. Página /legacy: script inline detecta browsers modernos e redireciona para a rota original com forceModern=1.
  3. Fallback no layout: script de segurança para casos em que o middleware não intercepta.

Funcionalidades replicadas no legacy

  • Hero section com slides rotativos, backdrop, tags e CTA
  • Continuar assistindo via /api/watch-progress (com fallback localStorage)
  • Sugestões TMDb — carrosséis diários (Em Alta, Lançamentos, gêneros) filtrados pelo catálogo IPTV
  • Configuração TMDb na home (usa a mesma API /api/tmdb/config da app moderna)
  • Home com cards de TV ao Vivo / Filmes / Séries
  • Login com visual cinematográfico alinhado à app moderna

Parâmetros de URL

Parâmetro Efeito
forceModern=1 Força app moderna
forceLegacy=1 Permanece no legacy mesmo em browser moderno
redirect=/caminho Preserva destino após redirect

Como testar

  • Simular WebOS antigo: User-Agent com Web0S e Chrome/53 → deve abrir /legacy
  • Browser moderno em /legacy → redirect automático para /dashboard?forceModern=1
  • Com TMDb configurado (app moderna ou painel legacy) → carrosséis de sugestões na home legacy
Open in Web Open in Cursor 

cursoragent and others added 3 commits May 24, 2026 23:28
- Middleware redireciona browsers antigos para /legacy antes do Next carregar
- Script na página legacy envia browsers modernos para o app com forceModern=1
- Home legacy com hero rotativo, continuar assistindo e cards de categorias
- Login e layout alinhados ao design da app principal

Co-authored-by: Janderson Lemos <jsolemos@gmail.com>
- Busca trending, lançamentos e gêneros via API TMDb
- Cruza resultados com catálogo IPTV (mesma lógica da app moderna)
- Painel para configurar chave TMDb direto no legacy

Co-authored-by: Janderson Lemos <jsolemos@gmail.com>
- legacy-root fica vazio no SSR (suppressHydrationWarning)
- Loader inicial em legacy-boot, removido ao montar o bundle

Co-authored-by: Janderson Lemos <jsolemos@gmail.com>
@jandersonss
jandersonss force-pushed the cursor/legacy-default-redirect-7afd branch from a169880 to 61aac2a Compare July 14, 2026 18:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants