Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
216 commits
Select commit Hold shift + click to select a range
9bfacba
feat: add 7 business templates with complete order form
TiagoIA-UX Feb 24, 2026
d935968
feat: SaaS multi-tenant com Supabase Free - Sistema completo de carda…
TiagoIA-UX Feb 24, 2026
df2a667
docs: guia passo a passo para configurar Supabase
TiagoIA-UX Feb 24, 2026
0564d26
feat: login apenas com Google OAuth
TiagoIA-UX Feb 24, 2026
70bddd2
feat: add LGPD compliance - privacy policy, terms of use, cookie banner
TiagoIA-UX Feb 24, 2026
f9bf3ee
feat: add easy management section to landing page
TiagoIA-UX Feb 25, 2026
737ab30
feat: integrate Mercado Pago payment system
TiagoIA-UX Feb 25, 2026
1ddcbcf
fix: remove unused useSearchParams to fix build
TiagoIA-UX Feb 25, 2026
1934bb5
fix: resolve infinite loop when creating restaurant
TiagoIA-UX Feb 25, 2026
7eb7078
feat: novo fluxo de compra com escolha de template e 2 planos - Págin…
TiagoIA-UX Feb 25, 2026
063bbfb
feat: add SaaS plans, activation and metrics
TiagoIA-UX Mar 2, 2026
867ba6d
chore: add CI workflow
TiagoIA-UX Mar 2, 2026
5f91def
docs: remove origem publica do README e metadados
TiagoIA-UX Mar 9, 2026
9491c5a
feat: ship onboarding flow, payment hardening, and schema alignment
TiagoIA-UX Mar 9, 2026
472ea8f
feat: checkpoint stable ship flow and unified cardapio renderer
TiagoIA-UX Mar 9, 2026
68763d4
chore: clean lint warnings without behavior changes
TiagoIA-UX Mar 9, 2026
78bc24e
chore: resolve pending local diffs before contextual editor
TiagoIA-UX Mar 9, 2026
217f0f8
feat: contextual editor with click-to-edit preview and inline product…
TiagoIA-UX Mar 9, 2026
cc0440b
docs: record contextual editor session state
TiagoIA-UX Mar 9, 2026
fa9416e
refactor: centralize inline text fields into configurable map
TiagoIA-UX Mar 10, 2026
1f17aba
feat: extend configurable inline map to product section fields
TiagoIA-UX Mar 10, 2026
454ee05
docs: update notes for configurable inline editor state
TiagoIA-UX Mar 10, 2026
ba84c84
docs: fix notes markdown formatting
TiagoIA-UX Mar 10, 2026
921aaad
docs: normalize notes file ending
TiagoIA-UX Mar 10, 2026
9795e67
Auditoria e correções: onboarding, cupons, pagamento, templates e mel…
TiagoIA-UX Mar 12, 2026
0e2f9e6
docs: atualiza README com audit:full, templates e fluxo de publicação
TiagoIA-UX Mar 12, 2026
1be8070
chore: script push-release.ps1 para deploy
TiagoIA-UX Mar 12, 2026
f148a6e
feat: melhorias de segurança, arquitetura e marketing
TiagoIA-UX Mar 12, 2026
0d3a2f2
fix(scripts): corrigir argumentos de processOnboardingPayment
TiagoIA-UX Mar 12, 2026
2ce73e2
feat: refine landing page copy
TiagoIA-UX Mar 12, 2026
40f64ad
refactor: tighten commercial copy
TiagoIA-UX Mar 12, 2026
1503984
feat: enhance landing motion and clarity
TiagoIA-UX Mar 12, 2026
c8491e3
feat: adiciona checkout, home-header, guia PDF e ajustes em auth/logi…
TiagoIA-UX Mar 14, 2026
fd49e3e
chore: adiciona arquivo de verificação do Google Search Console
TiagoIA-UX Mar 14, 2026
a022d85
fix: remove duplicação no workflow de CI
TiagoIA-UX Mar 14, 2026
e16a985
fix: adiciona rota explícita para verificação Google Search Console
TiagoIA-UX Mar 14, 2026
5563a57
fix: usa rewrite para verificação Google (contorna bug Next.js com .h…
TiagoIA-UX Mar 14, 2026
0366665
fix: adiciona verificação Google via meta tag (método alternativo mai…
TiagoIA-UX Mar 14, 2026
4b59950
feat: expande sitemap com páginas públicas para melhor indexação
TiagoIA-UX Mar 14, 2026
6fc413e
feat: adiciona screenshots do painel na landing page
TiagoIA-UX Mar 14, 2026
1ab5c7d
feat: reforça 'o dono faz tudo no painel sem desenvolvedor' + doc de …
TiagoIA-UX Mar 14, 2026
59add85
refine: copy mostra O QUE o dono faz (adicionar, editar, trocar) em v…
TiagoIA-UX Mar 14, 2026
d1d4377
feat: hero com bullet points • checklist 'No painel você consegue' • …
TiagoIA-UX Mar 14, 2026
5d38764
docs: checklist GitHub para não-programadores
TiagoIA-UX Mar 14, 2026
efba9ae
docs: adiciona PROMPT PhD para auditoria, melhorias e alerta de capac…
TiagoIA-UX Mar 14, 2026
55273bf
feat: 3 pilares - Pedir direto, Dashboard secreto, frases prontas e b…
TiagoIA-UX Mar 14, 2026
78dd26d
feat: sistema de afiliados completo + design system
TiagoIA-UX Mar 15, 2026
876f6fa
fix: lazy init Groq client + adminUserId undefined no route de clientes
TiagoIA-UX Mar 15, 2026
2f06445
chore: limpar pasta 'Cardápio Digital' - remover cópia antiga, reorga…
TiagoIA-UX Mar 15, 2026
c1b5fc7
fix: corrigir fluxo de atribuição de comissão de afiliados
TiagoIA-UX Mar 15, 2026
42041eb
fix: adicionar price_brl/tenant_id e eliminar flicker no cadastro de …
TiagoIA-UX Mar 15, 2026
008dac8
feat: 6 melhorias no programa de afiliados
TiagoIA-UX Mar 15, 2026
d317dc9
feat: faixa de copyright no rodapé
TiagoIA-UX Mar 15, 2026
f6ec81a
feat: auditoria financeira — bônus simbólicos + análise de margem
TiagoIA-UX Mar 15, 2026
a5230ec
feat: edicao segura do nome do restaurante
TiagoIA-UX Mar 15, 2026
682fb60
fix: escala de bonus 10/25/50/100
TiagoIA-UX Mar 15, 2026
0ea92ba
feat: escala de bonus corrigida + painel saldo rendendo
TiagoIA-UX Mar 15, 2026
9260a3b
fix: remover CSS inline warnings em painel/afiliados
TiagoIA-UX Mar 15, 2026
f4e6abb
feat: fundo de bônus financiado por reserva de setup
TiagoIA-UX Mar 15, 2026
03c2626
fix: corrigir erro ao criar afiliado
TiagoIA-UX Mar 15, 2026
c4fd246
feat: identidade Zairyx no checkout MercadoPago + auditoria afiliados
TiagoIA-UX Mar 15, 2026
338dddb
feat: script de verificação de migrations + guia de produção
TiagoIA-UX Mar 16, 2026
719980b
chore: SQL unificado das 22 migrations para colar no Supabase SQL Editor
TiagoIA-UX Mar 16, 2026
8ab1acf
fix: patch compatibilidade plans.name NOT NULL para SQL Editor Supabase
TiagoIA-UX Mar 16, 2026
7187e85
fix: patch dinamico remove NOT NULL de colunas legadas em plans
TiagoIA-UX Mar 16, 2026
a932a94
chore: SQL delta cirurgico para banco de producao (apenas o que falta)
TiagoIA-UX Mar 16, 2026
5036620
fix: parser de env remove literal \\r\\n do vercel env pull no Windows
TiagoIA-UX Mar 16, 2026
e1f1d9f
feat: script de teste do fluxo completo de afiliados
TiagoIA-UX Mar 16, 2026
8f380db
feat: expande teste de afiliados para 18 fluxos (78% cobertura)
TiagoIA-UX Mar 16, 2026
a20b81a
fix: observabilidade + idempotência na rota de pagamento de comissões
TiagoIA-UX Mar 16, 2026
09c1e58
feat: webhook Mercado Pago production-ready (Dica #1)
TiagoIA-UX Mar 16, 2026
2dec29b
feat: Cloudflare R2 — sistema de upload de imagens
TiagoIA-UX Mar 16, 2026
f4044af
fix: test-r2-upload.ts — corrige import path e remove dependência do …
TiagoIA-UX Mar 16, 2026
0ca0326
feat: ImageUploader — upload direto para R2 no painel de configurações
TiagoIA-UX Mar 16, 2026
2e242a4
fix: restaura export ImageUploader no index.ts (removido pelo formatter)
TiagoIA-UX Mar 16, 2026
f13debd
fix: 3 bugs — login auto-redirect, header auth-aware, comprar planos …
TiagoIA-UX Mar 16, 2026
4de2ca9
fix: editor visual escapa do layout do painel (tela cheia sem sidebar)
TiagoIA-UX Mar 16, 2026
7c5204b
fix: editor visual em tela cheia sem sidebar do painel
TiagoIA-UX Mar 16, 2026
c348cf8
feat: configuracoes full-screen split — painel 380px + preview 60% da…
TiagoIA-UX Mar 16, 2026
206deb5
chore: remove pasta 'Cardápio Digital' (Obsidian/acentos) — docs movi…
TiagoIA-UX Mar 17, 2026
67c0ea8
fix: remove GET duplicado em webhook/mercadopago (build error Turbopack)
TiagoIA-UX Mar 17, 2026
7d540f5
fix: type annotation em getSession no home-header (TS implicit any)
TiagoIA-UX Mar 17, 2026
e2671c6
fix: remove export duplicado de ImageUploader em shared/index.ts
TiagoIA-UX Mar 17, 2026
860e75a
fix: vendedorTierTestId non-null assertion em criarIndicacao (TS stri…
TiagoIA-UX Mar 17, 2026
a1f7f7f
fix: Buffer → Uint8Array em new Blob() no test-r2-upload (TS BlobPart…
TiagoIA-UX Mar 17, 2026
2ca12df
feat: padroniza upload de imagem em produtos (sem URL manual visível)
TiagoIA-UX Mar 17, 2026
d03cb76
feat: editor inline usa upload direto para imagem de produto
TiagoIA-UX Mar 17, 2026
a3ee48b
feat: remove URLs manuais residuais e endurece auth em rotas API
TiagoIA-UX Mar 17, 2026
f7e01fc
feat: otimiza pipeline de imagem (WebP client-side + limite server + …
TiagoIA-UX Mar 17, 2026
9e9098d
feat: ativa otimização real de imagem no frontend e ajusta compressão…
TiagoIA-UX Mar 17, 2026
15dd72c
perf: refina LCP do cardápio com sizes explícitos no hero e logo
TiagoIA-UX Mar 17, 2026
4946870
feat: instrumenta Web Vitals com Vercel Speed Insights
TiagoIA-UX Mar 17, 2026
b86285a
feat: melhora hero e transparência de marca no checkout
TiagoIA-UX Mar 17, 2026
cd724af
refactor: unifica microcopys institucionais e lapida hero
TiagoIA-UX Mar 17, 2026
226c368
fix: alinha pricing público, checkout e favicon
TiagoIA-UX Mar 17, 2026
72e181c
refactor: deixa copy comercial mais atraente para deliverys
TiagoIA-UX Mar 17, 2026
f4080bc
chore: atualiza referencias para dominio oficial
TiagoIA-UX Mar 17, 2026
df822f6
feat: realinha funil publico ao checkout por template
TiagoIA-UX Mar 17, 2026
611e71a
feat: realinha copy publica do programa de afiliados
TiagoIA-UX Mar 17, 2026
6fd366a
refactor: refina copy premium do funil publico
TiagoIA-UX Mar 17, 2026
7faa5c2
chore: salvar estado atual do projeto
TiagoIA-UX Mar 17, 2026
0cc9138
feat: amplia formas de pagamento MP e comunica no site
TiagoIA-UX Mar 17, 2026
a2b854a
chore: alinhar checkout e preços com fonte central
TiagoIA-UX Mar 17, 2026
25c6345
fix: alinha meios de pagamento com preços do checkout
TiagoIA-UX Mar 17, 2026
585c2ef
security: auditoria completa pre-producao DevSecOps
TiagoIA-UX Mar 18, 2026
d97ca90
fix: metricas landing + badges sem evidencia + favicon + cleanup
TiagoIA-UX Mar 18, 2026
e86f20d
fix(legal): adequação LGPD/CDC nos textos jurídicos
TiagoIA-UX Mar 18, 2026
fc6ac48
fix: whatsapp business links, security hardening, legal docs update
TiagoIA-UX Mar 18, 2026
62a0ccd
Fix: WhatsApp Business Links, Security Hardening, Legal Docs Update, …
TiagoIA-UX Mar 18, 2026
08df956
Feat: Refinamento Legal, Privacidade e Transparência
TiagoIA-UX Mar 18, 2026
50e414a
Style: Prettier Formatting
TiagoIA-UX Mar 18, 2026
01c1958
Feat: Templates Seed Completo, Cart UX, SEO Regional, Ancoragem de Preco
TiagoIA-UX Mar 18, 2026
c0135bb
fix: corrigir erros de build e seguranca
TiagoIA-UX Mar 18, 2026
589a815
feat(ux): melhorias de conversao e marketing
TiagoIA-UX Mar 18, 2026
78d05bd
feat: sistema de afiliados, admin e chat-widget
TiagoIA-UX Mar 18, 2026
fd1e1de
chore: config, docs, layout e dependencias
TiagoIA-UX Mar 18, 2026
37bc5b6
Merge remote-tracking branch 'origin/rename/cardapio-digital' into re…
TiagoIA-UX Mar 18, 2026
c0a7888
Merge pull request #9 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 18, 2026
612b0a8
fix: adicionar icones e dependencias faltantes para build
TiagoIA-UX Mar 18, 2026
3f34cda
Merge pull request #17 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 18, 2026
c0ca3e3
fix: hero 7->15 templates + combos restaurante + nomes regionais
TiagoIA-UX Mar 19, 2026
d84de39
Merge pull request #18 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
885f2e2
fix: petshop image + format templates-config + cleanup deleted files
TiagoIA-UX Mar 19, 2026
cbc9986
Merge pull request #19 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
0ba0c48
fix(cadu): tom humanizado — linguagem calorosa e natural
TiagoIA-UX Mar 19, 2026
4dadbcb
Merge pull request #20 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
0a2c90f
feat: admin venda direta - 100% receita sem comissao afiliado
TiagoIA-UX Mar 19, 2026
a1b72ca
Merge pull request #21 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
e4ef35b
fix: hardening venda direta + origin_sale em todos os canais
TiagoIA-UX Mar 19, 2026
323a03e
Merge pull request #22 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
05cfb8e
fix: corrige ultimo '7 modelos' para '15 modelos' na home
TiagoIA-UX Mar 19, 2026
dc5bee7
Merge pull request #23 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
3cc2eb9
fix(security): remove SECURITY DEFINER de 4 views + formatter
TiagoIA-UX Mar 19, 2026
1bdd3b4
Merge pull request #24 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
853d124
fix(db): corrige search_path + RLS policies (linter 026)
TiagoIA-UX Mar 19, 2026
a8c8e1b
Merge pull request #25 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
111338c
security: hardening completo — headers HTTP, rate limit chat, timingS…
TiagoIA-UX Mar 19, 2026
51e5ec8
Merge pull request #26 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
825c846
feat: sistema enterprise completo (suporte + freelancers + penalidade…
TiagoIA-UX Mar 19, 2026
d4ce797
Merge pull request #27 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
2f7ac1e
Change contact email for commercial licensing
TiagoIA-UX Mar 19, 2026
849baac
fix: cron schedules para Vercel Hobby (1x/dia)
TiagoIA-UX Mar 19, 2026
90b8bb7
chore: enterprise repo governance — BSL 1.1, README rewrite, security…
TiagoIA-UX Mar 19, 2026
01eb3b3
Merge pull request #28 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
63a62dd
test: E2E test automation — Playwright checkout + chaos tests
TiagoIA-UX Mar 19, 2026
e7cd5e1
Merge pull request #29 from TiagoIA-UX/rename/cardapio-digital
TiagoIA-UX Mar 19, 2026
286c5e9
primeiro commit
TiagoIA-UX Mar 19, 2026
d3a2bde
fix: resolve 921 lint errors - eslint config, setState effects, test …
TiagoIA-UX Mar 19, 2026
b0ab692
docs: add affiliate and restaurant chaos test prompts
TiagoIA-UX Mar 19, 2026
f7831be
docs: rewrite go-live audit with real codebase data
TiagoIA-UX Mar 19, 2026
c81407c
docs: add realistic audit system document with codebase data
TiagoIA-UX Mar 19, 2026
aa350d5
docs: add manual mobile testing ebook with 11 test scenarios
TiagoIA-UX Mar 19, 2026
5296cfd
chore: publish repo updates and testing guides
TiagoIA-UX Mar 19, 2026
3acea1e
fix(security): validacao HMAC movida para antes do roteamento no webh…
TiagoIA-UX Mar 21, 2026
b221f10
fix(legal+security): remover dados falsos + idempotencia webhook
TiagoIA-UX Mar 21, 2026
8a08d18
feat: multi-restaurant support, meus cardapios, placeholder eliminati…
TiagoIA-UX Mar 23, 2026
8cd5aaf
chore: add local audit checks and harden CI
TiagoIA-UX Mar 23, 2026
7572f34
fix: harden webhook payload handling
TiagoIA-UX Mar 23, 2026
c863fcc
fix: load purchased templates without relation join
TiagoIA-UX Mar 23, 2026
867e8b9
chore: add go-live runbook and production payment guardrails
TiagoIA-UX Mar 23, 2026
3ef1654
fix: block unpaid users from creating painel restaurantes
TiagoIA-UX Mar 23, 2026
45e99d6
fix: link purchased templates to provisioned restaurants
TiagoIA-UX Mar 23, 2026
009df7c
chore: remove sensitive Copilot Chat diagnostic file
TiagoIA-UX Mar 24, 2026
59398e3
fix: resolve PR #8 review issues - cart endpoint, admin pagination, d…
TiagoIA-UX Mar 24, 2026
cecc38a
auto-commit for b2e49d4d-d283-48e0-a312-6f3d1eefb4a9
emergent-agent-e1 Mar 24, 2026
2c48000
auto-commit for 76895575-c248-4a1a-9b44-1243b0e5bab9
emergent-agent-e1 Mar 24, 2026
c3cc44f
auto-commit for 80cf701d-e138-4f41-9dd9-2bda59a74470
emergent-agent-e1 Mar 24, 2026
4f5806c
auto-commit for 7dac4866-7500-4159-9bd3-72c03978cc23
emergent-agent-e1 Mar 24, 2026
ede3b89
auto-commit for 0e952c3f-61b8-484a-a705-3f47f32da71a
emergent-agent-e1 Mar 24, 2026
1b63faa
auto-commit for 8d5af75e-945b-4e4e-814c-0f4f257f0459
emergent-agent-e1 Mar 25, 2026
b8959d2
merge: sincroniza com origin/main (resolve conflito em page.tsx aceit…
TiagoIA-UX Mar 25, 2026
3d47f88
feat: remoção freelancer, coesão do painel, testes de personas, docs
TiagoIA-UX Mar 25, 2026
c31061a
chore: remove 26 arquivos .md obsoletos e reorganiza Imagens/
TiagoIA-UX Mar 25, 2026
2a5a46d
chore: remove 27 arquivos mortos (scripts, componentes, artefatos)
TiagoIA-UX Mar 25, 2026
a0be77a
fix(audit): remove rotas deprecadas, fix SEO e slug collision
TiagoIA-UX Mar 25, 2026
56cc9de
docs: adiciona relatorio PHD_AUDIT_REPORT.md
TiagoIA-UX Mar 25, 2026
e8fa459
fix(security): remove email hardcoded e add security logging no admin…
TiagoIA-UX Mar 25, 2026
8e8913e
fix: cleanup lastSeenStore, move @types/qrcode to devDeps, add revisa…
TiagoIA-UX Mar 25, 2026
a41e5c3
fix(images): regenerate 814 product images with unique Pexels photos\…
TiagoIA-UX Mar 25, 2026
085a138
fix(images): add 11 missing açaí adicionais + replace all 38 açaí ima…
TiagoIA-UX Mar 25, 2026
30c192f
fix(images): complete all 15 templates + fix açaí hero cookie image\n…
TiagoIA-UX Mar 25, 2026
18bdd3c
fix: replace ALL Unsplash images with Pexels in templates-config\n\n-…
TiagoIA-UX Mar 25, 2026
e948fe1
feat: harden canal digital e onboarding
TiagoIA-UX Mar 25, 2026
6338fae
fix: narrow delivery assistant slug type
TiagoIA-UX Mar 25, 2026
716f17e
feat: delivery mode gate, PIX phase 1, conversion tracking, A/B test,…
TiagoIA-UX Mar 25, 2026
dd56643
refactor(landing): pivô estratégico — foco Plano Básico iFood (15%) +…
TiagoIA-UX Mar 26, 2026
98bd5b5
feat(pricing): reajuste estratégico Básico R$59→R$97 / Pro R$89→R$149
TiagoIA-UX Mar 26, 2026
4a988cc
landing: posicionamento híbrido iFood + canal próprio
TiagoIA-UX Mar 26, 2026
6138434
fix: lint hook A/B + registrar debug routes no admin registry
TiagoIA-UX Mar 26, 2026
8151fa3
test: script de teste PIX sandbox Mercado Pago
TiagoIA-UX Mar 26, 2026
c8f14db
test: E2E completo todas as personas e fluxos de pagamento sandbox
TiagoIA-UX Mar 26, 2026
c725a66
feat: pagamento real delivery via MP Preference + webhook + WhatsApp …
TiagoIA-UX Mar 26, 2026
c0ae03b
fix: immutable cart state (StrictMode), WhatsApp 55 prefix, cookie ba…
TiagoIA-UX Mar 26, 2026
4f60f11
test: add 38 E2E tests for cart, checkout, UX hints, and edge cases
TiagoIA-UX Mar 26, 2026
bf90914
fix(tests): correct 15 failing E2E tests — all 154 now pass
TiagoIA-UX Mar 26, 2026
08ca2c2
ci: add E2E Playwright job to CI pipeline + update delivery test script
TiagoIA-UX Mar 26, 2026
b3a7802
fix(responsive): comparison table mobile-friendly — hide secondary co…
TiagoIA-UX Mar 26, 2026
ad3670c
chore: add Google Search Console verification file (google97080e0a7b8…
TiagoIA-UX Mar 26, 2026
178f72e
feat(admin): integração Google Search Console no painel SEO
TiagoIA-UX Mar 26, 2026
b884e0b
chore: gitignore SA key, lint auto-format, setup-gsc script
TiagoIA-UX Mar 26, 2026
b4d1017
docs: relatório executivo GSC + guia Emergent.sh landing page Páscoa
TiagoIA-UX Mar 26, 2026
e25e2ea
style: auto-format page.tsx (prettier)
TiagoIA-UX Mar 26, 2026
89e50d8
perf+sec: image optimization, CSP headers, lazy loading, audit log
TiagoIA-UX Mar 26, 2026
6ad1e27
feat: implement IA learning and network expansion flow
TiagoIA-UX Mar 26, 2026
a102164
feat: Mega Menu, Chat IA, Planos, Métricas, Network Expansion, Testim…
TiagoIA-UX Mar 27, 2026
d9219ef
fix: corrigir email admin para globemarket7@gmail.com
TiagoIA-UX Mar 27, 2026
93064e5
fix: remove duplicate formatCurrency export in network-expansion.ts (…
TiagoIA-UX Mar 27, 2026
1d98185
fix: type implicit any params in metrics reduce (TS7006)
TiagoIA-UX Mar 27, 2026
5b25b2d
fix: contextualiza chat do painel
TiagoIA-UX Mar 27, 2026
fa9f1c1
feat: adiciona pipeline de catalogo por imagem
TiagoIA-UX Mar 27, 2026
6e22a1e
feat: atualiza mapa gerado de imagens
TiagoIA-UX Mar 27, 2026
b393966
fix: improve metrics page error handling and fix e2e tests
Mar 29, 2026
a95b8a6
fix: accept 403 as valid path traversal protection in security test
Mar 29, 2026
b64a94b
feat: transform landing page to educational approach + Google Meu Neg…
Mar 29, 2026
ab8d68b
feat: add /painel/metricas page for restaurant analytics
Mar 29, 2026
f4cb396
Initial plan
Copilot Mar 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
50 changes: 50 additions & 0 deletions .cursor/rules/cardapio-digital-padroes.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
description: Padrões e regras do projeto Cardápio Digital para evitar erros comuns
globs: "**/*.{ts,tsx}"
alwaysApply: true
---

# Padrões Cardápio Digital

## React e Hooks

1. **Hooks nunca condicionais**: `useState`, `useMemo`, `useCallback`, `useEffect` devem ser chamados incondicionalmente, antes de qualquer `return` antecipado.

2. **setState em useEffect**: Evitar chamar `setState` diretamente no corpo síncrono do `useEffect`. Se necessário sincronizar com URL ou props, usar `queueMicrotask(() => setState(...))` para evitar cascading renders.

3. **Dependências de useEffect**: Incluir todas as variáveis usadas dentro do effect. Para objetos, preferir o objeto completo (ex: `[previewRestaurant, products]`) em vez de propriedades específicas quando o linter exigir.

4. **useMemo**: Para o React Compiler, usar dependências que correspondam ao que é efetivamente lido. Ex: `[restaurant]` em vez de `[restaurant?.template_slug]` quando o valor derivado depende do objeto inteiro.

## Imagens

- Usar `next/image` (`Image` de `next/image`) em vez de `<img>` para otimização e LCP.

## Testes

- Ao alterar preços em `lib/pricing.ts` ou `lib/restaurant-onboarding.ts`, atualizar `tests/onboarding-and-templates.test.ts` para refletir os valores corretos.

## Banco de Dados

- A tabela `templates` deve estar populada para `/dev/unlock` e Meus Templates. Seed em `supabase/migrations/009_templates_seed.sql`.

## Antes de Commitar

Executar: `npm run build && npm run lint && npm test`

## Deploy e Verificação Google Search Console

O Next.js trata URLs com `.html` como arquivos estáticos e retorna 404. Para verificação do Google:

1. **Criar rota** em `app/api/google-verification/route.ts` que retorna o conteúdo exato do arquivo (ex: `google-site-verification: google1a0b3e572aae5f34.html`) com `Content-Type: text/html`.

2. **Adicionar rewrite** no `next.config.mjs`:
```js
async rewrites() {
return [{ source: '/googleXXXX.html', destination: '/api/google-verification' }]
}
```

3. **Opcional**: excluir `google*.html` no matcher do middleware para evitar interferência.

4. **Verificar branch** na Vercel (Settings > Git > Production Branch). Se for `main`, fazer merge ou alterar a branch de produção.
60 changes: 60 additions & 0 deletions .cursor/rules/zairyx.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
description: Contexto global da Zairyx para tarefas de codigo, auditoria e deploy
globs: ['**/*.ts', '**/*.tsx', '**/*.mjs', '**/*.js', '**/*.sql']
alwaysApply: true
---

# ZAIRYX - Contexto Operacional

## Produto

- Plataforma SaaS B2B de cardapio digital para operacoes reais de alimentacao no Brasil.
- Fluxo principal: landing -> templates -> compra -> webhook Mercado Pago -> provisioning -> painel -> cardapio publico em r/[slug].
- O termo preferido na interface e nos fluxos comerciais e delivery, nao restaurante, quando o contexto for venda do produto.
- O sistema ja suporta multiplos cardapios por usuario. Nao reassumir modelo single-restaurant em telas, queries ou provisioning.

## Stack real do projeto

- Next.js 16 App Router + React 19 + TypeScript strict.
- Tailwind CSS 4 + Radix UI + shadcn/ui.
- Supabase Auth + Postgres + RLS.
- Zustand para carrinho e estado local de compra.
- Mercado Pago para checkout e webhook.
- Upstash Redis para rate limit.
- Cloudflare R2 para upload de imagens.
- Playwright para E2E e tsx --test para testes unitarios.

## Estrutura importante

- app/api/checkout/criar-sessao/route.ts cria sessao de compra.
- app/api/webhook/mercadopago/route.ts provisiona acesso apos pagamento.
- app/meus-templates/page.tsx lista compras e cardapios do usuario.
- app/painel/layout.tsx controla selecao do cardapio ativo.
- middleware.ts e o middleware oficial do Next.js neste repositorio.
- lib/supabase/client.ts, server.ts e admin.ts sao os pontos oficiais de acesso ao Supabase.

## Regras de implementacao

- Nao reintroduzir placeholders, fallbacks ficticios ou credenciais de exemplo em codigo de producao.
- Nao criar fallback para Supabase URL/chave. Se faltar env, falhe explicitamente.
- Nao usar Math.random para codigo sensivel, token ou identificador de seguranca.
- Toda API publica deve considerar rate limit e validacao server-side.
- Webhook Mercado Pago deve validar assinatura antes de processar o evento.
- Nao alterar migrations antigas em supabase/migrations. Sempre criar nova migration.
- Nao criar segundo client Supabase fora de lib/supabase.
- Nao usar dados cross-tenant sem filtro por user_id, restaurant_id ou tenant_id.

## Regras de codigo

- Preferir imports com alias @/.
- Formularios devem usar React Hook Form + Zod quando houver validacao de input.
- APIs devem responder com NextResponse.json e mensagens claras em portugues.
- Em componentes React, loading, erro e empty state precisam ser explicitos.
- Manter compatibilidade com a organizacao atual de paginas, hooks, services e store.

## Ambiente e deploy

- Site publico principal: https://zairyx.com
- O deploy de producao e feito pela Vercel a partir da branch main.
- Scripts relevantes: npm run doctor, npm run lint, npm test, npm run build, npm run ship:all, npm run check.
- O checker local em scripts/check.mjs e a CI em .github/workflows/ci.yml sao as referencias para auditoria pre-deploy.
22 changes: 22 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/alpine
{
"name": "Alpine",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/base:alpine-3.22"

// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "uname -a",

// Configure tool-specific properties.
// "customizations": {},

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
87 changes: 87 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# =============================================
# CARDAPIO DIGITAL - EXEMPLO DE AMBIENTE
# Copie para .env.local e preencha os valores reais.
# Para instalar rapido em ambiente local, mantenha sandbox.
# =============================================

# === SITE ===
# Para checkout Mercado Pago em localhost, use HTTPS e rode: npm run dev:https
NEXT_PUBLIC_SITE_URL=https://localhost:3000
NEXT_PUBLIC_APP_URL=https://localhost:3000

# === VERCEL ===
VERCEL_TOKEN=

# === SUPABASE ===
NEXT_PUBLIC_SUPABASE_URL=https://seu-projeto.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...sua-anon-key
SUPABASE_SERVICE_ROLE_KEY=eyJ...sua-service-role-key

# === MERCADO PAGO - CONTROLE DE AMBIENTE ===
# sandbox = usa credenciais de teste e mostra aviso visual no painel
# production = usa credenciais reais
MERCADO_PAGO_ENV=sandbox
NEXT_PUBLIC_MERCADO_PAGO_ENV=sandbox

# === MERCADO PAGO - SANDBOX ===
MERCADO_PAGO_TEST_ACCESS_TOKEN=TEST-sua-access-token-de-teste
MERCADO_PAGO_TEST_PUBLIC_KEY=TEST-sua-public-key-de-teste
NEXT_PUBLIC_MERCADO_PAGO_TEST_PUBLIC_KEY=TEST-sua-public-key-de-teste
MERCADO_PAGO_TEST_SELLER_ID=TESTUSER796097820704191816
MERCADO_PAGO_TEST_BUYER_ID=TESTUSER5736431075969203028

# === MERCADO PAGO - PRODUCAO ===
# Preencha apenas quando estiver pronto para cobrar clientes reais.
MERCADO_PAGO_ACCESS_TOKEN=APP_USR-seu-access-token-real
MERCADO_PAGO_PUBLIC_KEY=APP_USR-sua-public-key-real
NEXT_PUBLIC_MERCADO_PAGO_PUBLIC_KEY=APP_USR-sua-public-key-real

# Compatibilidade com integracoes antigas
MP_ACCESS_TOKEN=

# Segredo opcional para validar notificacoes do Mercado Pago
MP_WEBHOOK_SECRET=

# === CRON JOB ===
CRON_SECRET=gere-uma-chave-forte-aqui

# === ADMIN / AUTOMACOES ===
ADMIN_SECRET_KEY=gere-uma-chave-forte-diferente-da-cron
OWNER_EMAIL=voce@seudominio.com
INTERNAL_API_SECRET=gere-uma-chave-forte-para-webhooks-internos

# === DESENVOLVIMENTO LOCAL ===
# Ative apenas quando precisar liberar rotas de desenvolvimento no ambiente local.
# ALLOW_DEV_UNLOCK: API (unlock-all-templates). NEXT_PUBLIC_ALLOW_DEV_UNLOCK: botão em Meus Templates.
ALLOW_DEV_UNLOCK=false
NEXT_PUBLIC_ALLOW_DEV_UNLOCK=false

# === IA / EMAIL ===
GROQ_API_KEY=
RESEND_API_KEY=
RESEND_FROM_DOMAIN=seu-dominio.com

# === STORAGE R2 ===
R2_ACCOUNT_ID=
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_BUCKET=
R2_PUBLIC_URL=

# === GOOGLE SEARCH CONSOLE (Painel SEO Admin) ===
# 1. Crie Service Account: https://console.cloud.google.com/iam-admin/serviceaccounts
# 2. Gere chave JSON e copie client_email e private_key
# 3. No Search Console, adicione o email da service account como usuario
# 4. Habilite a API: https://console.cloud.google.com/apis/library/searchconsole.googleapis.com
GOOGLE_SERVICE_ACCOUNT_EMAIL=
GOOGLE_SERVICE_ACCOUNT_PRIVATE_KEY=
GOOGLE_SITE_URL=https://www.zairyx.com

# === UTILITARIOS DE MIGRACAO / INSPECAO ===
SUPABASE_PROJECT_REF=
SUPABASE_MANAGEMENT_TOKEN=

# === OBSERVACOES ===
# 1. Em producao, altere MERCADO_PAGO_ENV e NEXT_PUBLIC_MERCADO_PAGO_ENV para production.
# 2. Configure o webhook do Mercado Pago apontando para /api/webhook/subscriptions e /api/webhook/mercadopago.
# 3. Rode npm run doctor antes de subir o projeto ou publicar na hospedagem.
Loading