Remove shits

This commit is contained in:
Daniel Arantes Loverde
2026-02-05 17:01:43 -03:00
parent 51d02f6715
commit 379bb35cfa
2 changed files with 0 additions and 307 deletions

View File

@@ -1,172 +0,0 @@
# Mobile — SwiftUI
## Etapa 01 - Contexto e Objetivos
O objetivo é criar uma base mínima para um aplicativo de pedidos com autenticação via login, cadastro e código OTP.
----
## Etapa 02 — Esqueleto do Projeto e Views
- Criar projeto SwiftUI.
- Criar NavigationStack e views LoginView, RegistrationView e OtpView.
- Navegar entre telas.
----
## Etapa 03 — LoginView
- Logo e título "Boas-vindas!".
- Descrição "Entre para continuar seu pedido.".
- Inputs para e-mail e telefone.
- Botão "Receber Código".
- Link "Crie sua conta".
----
## Etapa 04 — RegistrationView
- Título "Crie sua conta".
- Descrição "Preencha os dados abaixo...".
- Inputs nome, e-mail e telefone.
- Termos com switch.
- Botão "Cadastrar e Receber Código".
- Link "Já tem uma conta? Entrar".
----
## Etapa 05 — OtpView
- Título "OTP".
- Texto "Enviado para <email>".
- Inputs para código OTP.
- Botão para enviar código.
- Ação "Reenviar código".
----
## Etapa 06 — View Models
- Criar view models para cada view.
- Validar campos básicos.
- Gerenciar estados de loading e erros.
----
## Etapa 07 — Validações e Máscaras
- Validar e-mail válido.
- Máscara para telefone.
- Limitar número de dígitos do OTP.
----
## Etapa 08 — Estados e Feedbacks
- Mostrar loading no botão.
- Desabilitar botão se inválido.
- Feedback de erros inline.
----
## Etapa 09 — Acessibilidade
- Labels claros.
- Áreas de toque adequadas.
- Suporte a Dynamic Type.
----
## Etapa 10 — Dark Mode
- Cores adaptadas para modo escuro.
- Testar contrastes e legibilidade.
----
## Etapa 11 — Ajustes de UI (referencias)
- Espaçamentos consistentes.
- Tipografia alinhada ao design system.
- Botões com padding padrão.
- Estados visuais claros.
----
## Etapa 11 — Checklist de Refinamento (Autenticação)
### Itens Globais
- [ ] Espaçamentos consistentes (8 / 16 / 24) entre títulos, descrições, inputs e botões.
- [ ] Cores alinhadas ao design system (backgroundLight/dark, textPrimary, primary para links/CTAs).
- [ ] Tipografia: heading1 para títulos, body para textos e labels, botão usando componente padrão.
- [ ] Estados: carregamento, desabilitado (opacidade), erro/validação inline quando necessário.
- [ ] Acessibilidade: áreas de toque ≥ 44x44, labels claros, suporte a tamanhos dinâmicos de fonte.
### Login (LoginView)
- [ ] Respiro após logo (≥ 16pt) e título “Boasvindas!” com heading1.
- [ ] Descrição “Entre para continuar seu pedido.” com cor secundária e bom contraste no dark mode.
- [ ] Inputs “Email” e “Telefone” com `LoginField` padronizado; autocapitalization off (ok).
- [ ] (Opcional) Validação leve: email válido e telefone numérico/máscara.
- [ ] CTA “Receber Código” com padding horizontal 24 e top 816; estado desabilitado se necessário.
- [ ] Texto de ajuda centralizado com padding horizontal 40.
- [ ] Link “Crie sua conta” com espaçamento 816 do texto anterior.
### Cadastro (RegistrationView)
- [ ] Título “Crie sua conta” com heading1.
- [ ] Descrição “Preencha os dados abaixo...” com body, padding top 8 e bottom 20 (ok).
- [ ] Inputs: Nome, Email, Telefone com labels; ajustar keyboardType para email/telefone.
- [ ] Termos: frase contínua sem quebras estranhas; links “Termos de Uso” e “Política de Privacidade” em primary.
- [ ] Switch dos termos posicionado à direita (ok).
- [ ] CTA “Cadastrar e Receber Código” desabilitado até Nome/Email/Telefone preenchidos e switch ativado (ok); opacidade 0.5 quando desabilitado.
- [ ] Bloco “Já tem uma conta? Entrar” com espaçamento superior 16 (ok).
- [ ] Verificar contraste dos inputs e textos em dark mode.
### OTP (OtpView)
- [ ] Título “OTP” com heading1 e texto “Enviado para <email>”.
- [ ] Inputs para 68 dígitos (conforme definição final); foco automático no primeiro campo.
- [ ] CTA desabilitado até todos os dígitos preenchidos.
- [ ] Ação “Reenviar código” com timeout/contador.
- [ ] Estados de erro (código inválido/expirado) e mensagens claras.
### Decisões em Aberto
- [ ] Termos/Privacidade: navegação interna (views com conteúdo) ou URLs externas (Link/SFSafariView)?
- [ ] Validações: mínima (campos preenchidos) ou reforçada (formato + mensagens inline)?
- [ ] Máscara de telefone: aplicar padrão BR (ex.: (11) 988887777)?
- [ ] Dark mode: paleta de cinzas/texto secundário para contraste ideal.
## Progresso — Etapa 11 (Autenticação)
Data de atualização: 2026-02-05
### Itens Globais
- [x] Espaçamentos consistentes básicos nas telas de Login e Cadastro.
- [x] Cores e tipografia aplicadas via AppColors/AppTypography.
- [ ] Revisão completa de dark mode (contraste de textos secundários).
- [ ] Estados de carregamento e mensagens de erro padronizados.
### Login (LoginView)
- [x] Estrutura com logo, título e descrição.
- [x] Inputs padronizados (LoginField) para email e telefone.
- [ ] Validação leve (formato de email/telefone) e mensagens inline.
- [ ] Estado desabilitado do CTA quando inputs vazios (opcional nesta etapa).
### Cadastro (RegistrationView)
- [x] Título e descrição com espaçamentos ajustados.
- [x] Inputs com labels e `LoginField`.
- [x] Termos com texto contínuo; links para “Termos de Uso” e “Política de Privacidade”.
- [x] Switch dos termos à direita.
- [x] CTA desabilitado até Nome/Email/Telefone preenchidos e switch ativado.
- [x] Espaçamento superior 16 no bloco “Já tem uma conta? Entrar”.
- [ ] Ajustar keyboardType para email/telefone e (opcional) máscara BR.
### OTP (OtpView)
- [x] Estrutura básica com título e indicação de email.
- [ ] Campos de dígitos (68) com foco e validação.
- [ ] CTA desabilitado até preenchimento completo.
- [ ] Reenvio de código com contador.
### Decisões em Aberto
- [ ] Termos/Privacidade: interno vs. URL externa.
- [ ] Validações: mínima vs. reforçada (com mensagens inline).
- [ ] Máscara de telefone: padrão BR.
- [ ] Dark mode: paleta de cinzas/texto secundário.

View File

@@ -1,135 +0,0 @@
# Mobile — SwiftUI
## Etapa 01 - Contexto e Objetivos
O objetivo é criar uma base mínima para um aplicativo de pedidos com autenticação via login, cadastro e código OTP.
----
## Etapa 02 — Esqueleto do Projeto e Views
- Criar projeto SwiftUI.
- Criar NavigationStack e views LoginView, RegistrationView e OtpView.
- Navegar entre telas.
----
## Etapa 03 — LoginView
- Logo e título "Boas-vindas!".
- Descrição "Entre para continuar seu pedido.".
- Inputs para e-mail e telefone.
- Botão "Receber Código".
- Link "Crie sua conta".
----
## Etapa 04 — RegistrationView
- Título "Crie sua conta".
- Descrição "Preencha os dados abaixo...".
- Inputs nome, e-mail e telefone.
- Termos com switch.
- Botão "Cadastrar e Receber Código".
- Link "Já tem uma conta? Entrar".
----
## Etapa 05 — OtpView
- Título "OTP".
- Texto "Enviado para <email>".
- Inputs para código OTP.
- Botão para enviar código.
- Ação "Reenviar código".
----
## Etapa 06 — View Models
- Criar view models para cada view.
- Validar campos básicos.
- Gerenciar estados de loading e erros.
----
## Etapa 07 — Validações e Máscaras
- Validar e-mail válido.
- Máscara para telefone.
- Limitar número de dígitos do OTP.
----
## Etapa 08 — Estados e Feedbacks
- Mostrar loading no botão.
- Desabilitar botão se inválido.
- Feedback de erros inline.
----
## Etapa 09 — Acessibilidade
- Labels claros.
- Áreas de toque adequadas.
- Suporte a Dynamic Type.
----
## Etapa 10 — Dark Mode
- Cores adaptadas para modo escuro.
- Testar contrastes e legibilidade.
----
## Etapa 11 — Ajustes de UI (referencias)
- Espaçamentos consistentes.
- Tipografia alinhada ao design system.
- Botões com padding padrão.
- Estados visuais claros.
----
## Etapa 11 — Checklist de Refinamento (Autenticação)
### Itens Globais
- [ ] Espaçamentos consistentes (8 / 16 / 24) entre títulos, descrições, inputs e botões.
- [ ] Cores alinhadas ao design system (backgroundLight/dark, textPrimary, primary para links/CTAs).
- [ ] Tipografia: heading1 para títulos, body para textos e labels, botão usando componente padrão.
- [ ] Estados: carregamento, desabilitado (opacidade), erro/validação inline quando necessário.
- [ ] Acessibilidade: áreas de toque ≥ 44x44, labels claros, suporte a tamanhos dinâmicos de fonte.
### Login (LoginView)
- [ ] Respiro após logo (≥ 16pt) e título “Boasvindas!” com heading1.
- [ ] Descrição “Entre para continuar seu pedido.” com cor secundária e bom contraste no dark mode.
- [ ] Inputs “Email” e “Telefone” com `LoginField` padronizado; autocapitalization off (ok).
- [ ] (Opcional) Validação leve: email válido e telefone numérico/máscara.
- [ ] CTA “Receber Código” com padding horizontal 24 e top 816; estado desabilitado se necessário.
- [ ] Texto de ajuda centralizado com padding horizontal 40.
- [ ] Link “Crie sua conta” com espaçamento 816 do texto anterior.
### Cadastro (RegistrationView)
- [ ] Título “Crie sua conta” com heading1.
- [ ] Descrição “Preencha os dados abaixo...” com body, padding top 8 e bottom 20 (ok).
- [ ] Inputs: Nome, Email, Telefone com labels; ajustar keyboardType para email/telefone.
- [ ] Termos: frase contínua sem quebras estranhas; links “Termos de Uso” e “Política de Privacidade” em primary.
- [ ] Switch dos termos posicionado à direita (ok).
- [ ] CTA “Cadastrar e Receber Código” desabilitado até Nome/Email/Telefone preenchidos e switch ativado (ok); opacidade 0.5 quando desabilitado.
- [ ] Bloco “Já tem uma conta? Entrar” com espaçamento superior 16 (ok).
- [ ] Verificar contraste dos inputs e textos em dark mode.
### OTP (OtpView)
- [ ] Título “OTP” com heading1 e texto “Enviado para <email>”.
- [ ] Inputs para 68 dígitos (conforme definição final); foco automático no primeiro campo.
- [ ] CTA desabilitado até todos os dígitos preenchidos.
- [ ] Ação “Reenviar código” com timeout/contador.
- [ ] Estados de erro (código inválido/expirado) e mensagens claras.
### Decisões em Aberto
- [ ] Termos/Privacidade: navegação interna (views com conteúdo) ou URLs externas (Link/SFSafariView)?
- [ ] Validações: mínima (campos preenchidos) ou reforçada (formato + mensagens inline)?
- [ ] Máscara de telefone: aplicar padrão BR (ex.: (11) 988887777)?
- [ ] Dark mode: paleta de cinzas/texto secundário para contraste ideal.