Skip to content

Onboarding: botão "entrar com Google" contradiz "sem cadastro" — deixar login explicitamente opcional #17

Closed

Description

@caioross

Origem: feedback da persona O Iniciante (Discussion #14, primeira impressão) — "o texto diz 'sem cadastro, sem firula' e no topo tem um botão 'entrar com Google'. Fiquei na dúvida se eu precisava logar pra jogar."

Problema

Sinais contraditórios nos 3 primeiros segundos:

  • Hero afirma "Sem cadastro, sem firula" — src/components/HomeView.tsx:242 (e o H1 SEO em :222).
  • No canto superior há "entrar com Google" sem nenhuma pista de que é opcional — src/components/HomeView.tsx:201-206.

Para a persona Iniciante (que "tem medo de fazer errado", §0.3), essa ambiguidade cria atrito de conversão logo na entrada: ele não sabe se precisa logar para jogar (não precisa — o login só pré-preenche o nick, ver :62).

Acceptance criteria

  • Fica visualmente claro que jogar não exige login: microcopy tipo "opcional" perto do botão, ou o CTA principal deixando explícito "jogar sem login / sem cadastro".
  • O botão continua funcional para quem quiser logar (não remover o Google).
  • prefers-reduced-motion respeitado; sem regressão de layout no header em mobile (hidden sm:inline já em uso).
  • pnpm typecheck + pnpm build verdes.

Dica de abordagem

Fatia mínima: adicionar um rótulo "opcional" ou tooltip ao lado do botão entrar com Google (:201-206) e/ou reforçar no CTA de criar sala que não precisa de conta. Sem novo fluxo de auth — puro esclarecimento de copy/UI.

Activity

  1. added
    P3Algum dia / baixo impacto
    area:uiInterface, design system, animação, game feel
    on Jul 8, 2026
  2. added
    em-resolucaoClaim: um Resolvedor está trabalhando nisto
    and removed
    em-resolucaoClaim: um Resolvedor está trabalhando nisto
    on Jul 26, 2026
  3. caioross commented on Jul 26, 2026

    @caioross
    OwnerAuthor

    Resolvido em PR #85 (auto/issue-17-login-optional).

    Confirmei a premissa no código: entrar só pré-preenche o nick (HomeView.tsx:76 → useAuth.ts:21,30). Dois toques, um por viewport: title/aria-label + rótulo visível "opcional" no header (via o hidden sm:inline já convencional, então o mobile não ganha elemento novo — sem risco de regressão), e uma linha de microcopy sob o campo de nick (// é só o nick — sem conta, sem e-mail) que cobre o mobile, onde o rótulo do header fica escondido. Botão do Google intacto, nenhuma animação nova.

    Gate verde: typecheck · build · 54 testes · persistência 49 · métricas 37.

    ⚠ Screenshot não foi possível: o preview da Vercel buildou, mas está atrás do deployment protection e o link de bypass falhou. No lugar, verifiquei o output do build — a microcopy do nick está no HTML pré-renderizado, e os strings do header estão no bundle client (ausentes do HTML porque todo o bloco de auth é gated por hasBrowserSupabase(), o que também deixa "entrar com Google" com 0 ocorrências — gate pré-existente, não a mudança). Falta só conferência de pixel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Algum dia / baixo impactoarea:uiInterface, design system, animação, game feel

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions