SIM! ESSA VERSAO ESTA CORRETA! Pode mandar ele aplicar.
Tem TUDO que precisa:
getUser() (linha 28-33)/api/load-profile quando auth falha (linha 100-112)/api/load-pieces quando auth falha (linha 115-130)finally { setLoading(false) } (linha 156)APROVA! Manda aplicar no main.
Vou mapear tudo:
Aqui esta o escopo completo do Prontissima App:
Fluxo Principal:
| Pagina | Funcao |
|---|---|
/ (page.jsx) | Splash/redirect - verifica se usuario logado |
/onboarding | Primeira tela - beneficios do app |
/signup | Cadastro com email/senha |
/login | Login com email/senha |
/signup-success | Confirmacao pos-cadastro |
Analise Pessoal:
| Pagina | Funcao |
|---|---|
/personal-analysis | Analise de coloracao pessoal (tom de pele, cabelo) |
/analysis-report | Resultado da analise de coloracao |
/analysis-feedback | Feedback da analise |
/body-type | Tipo de corpo |
/preferences | Preferencias de estilo |
Guarda-Roupa:
| Pagina | Funcao |
|---|---|
/upload | Upload de pecas (foto, deteccao de cor, pastas SUPERIOR/INFERIOR/VESTIDO) |
/wardrobe | Visualizar guarda-roupa |
/wardrobe-edit | Editar pecas |
/wardrobe-analysis | Analise do guarda-roupa |
/wardrobe-pro-analysis | Analise pro |
/wardrobe-analysis-upgrade | Upsell para analise avancada |
/organize | Organizar pecas |
/fix-inventory | Corrigir inventario |
Criacao de Looks:
| Pagina | Funcao |
|---|---|
/create-look | Selecionar pecas e ocasiao |
/loading | Tela de geracao do look (chama IA) |
/result | Resultado do look gerado |
/history | Historico de looks |
Monetizacao:
| Pagina | Funcao |
|---|---|
/dashboard | Painel principal (pecas, creditos, looks) |
/trial | Look trial gratuito |
/paywall | Paywall - planos |
/pack-upsell | Comprar pacotes de looks |
/checkout | Pagamento (Bennu/PIX) |
/payment-success | Pagamento aprovado |
/payment-fail | Pagamento falhou |
/payment-pending | Pagamento pendente |
/limit-reached | Limite de pecas atingido |
/confirmation | Confirmacao geral |
Outros:
| Pagina | Funcao |
|---|---|
/settings | Configuracoes |
/about | Sobre o app |
/dev | Painel dev (debug) |
| API | Funcao |
|---|---|
/api/auth/signup | Cadastro Supabase Auth |
/api/create-looks | Gera looks com IA (OpenAI) |
/api/generate-look | Gera look alternativo |
/api/extract-colors | Extrai cores de imagem |
/api/analyze-body | Analisa tipo de corpo |
/api/analyze-pieces | Analisa pecas do guarda-roupa |
/api/process-image | Processa/comprime imagem |
/api/processar-creditos | Processa creditos apos pagamento |
/api/bennu-webhook | Webhook de pagamento Bennu |
/api/save-piece | Salva peca server-side (NOVO) |
/api/load-pieces | Carrega pecas server-side (NOVO) |
/api/load-profile | Carrega perfil server-side (NOVO) |
/api/get-user-id | Busca UUID por email (NOVO) |
3 tabelas:
| Tabela | Colunas principais |
|---|---|
profiles | id, email, name, plan, credits_plan, credits_packs, is_premium, body_type, skin_tone, hair_color |
wardrobe_items | id, user_id, name, image, tipo, categoria, cor, color_slug, color_rgb, image_hash |
looks | id, user_id, look_a, look_b, pieces, occasion, mood, tip |
Todas com RLS habilitado - so usuario autenticado acessa seus proprios dados.
Vars configuradas: SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY + Postgres vars.
| Lib | Funcao |
|---|---|
color-engine.js | Motor de cores (deteccao, matching) |
color-analyzer.js | Analisa cor de pecas |
style-engine.js | Motor de combinacao de looks |
generate-looks.js | Logica de geracao de looks |
skin-hair-analyzer.js | Analisa tom de pele/cabelo |
profile-color-analysis.js | Analise de coloracao pessoal |
wardrobe-db.js | CRUD guarda-roupa no Supabase |
wardrobe-storage.js | CRUD guarda-roupa no localStorage |
user-storage.js | Dados do usuario (creditos, plano) |
flow-state.js | Controle de fluxo do app |
supabase-client.js | Client Supabase browser |
transaction-storage.js | Historico de transacoes |
/api/bennu-webhook