fix: 4 bugs in panel navigation, Google Search Console verification, and dashboard links#58
Draft
fix: 4 bugs in panel navigation, Google Search Console verification, and dashboard links#58
Conversation
- Add templates: restaurante, pizzaria, lanchonete, bar, cafeteria, acai, sushi - Create shared OrderForm component with customer data, delivery/pickup, address, payment method - Enhanced landing page showcasing all 7 templates in 'Veja como fica' section - WhatsApp integration with formatted order messages - Add SEO: robots.ts, sitemap.ts with dynamic URL generation - Remove static public files in favor of Next.js App Router
…pio digital SaaS: - Banco de dados PostgreSQL com RLS (Supabase Free) - Autenticacao com Supabase Auth - Painel administrativo (/painel) com dashboard, produtos, pedidos e config - Cardapio dinamico publico (/r/[slug]) - API segura de pedidos com calculo server-side - Login e cadastro de restaurantes - Header com navegacao na landing page
- Add /privacidade page with LGPD-compliant privacy policy - Add /termos page with terms of service - Add cookie consent banner component - Update footer with correct legal links and branding - Update login page with links to legal pages
- Highlight that customers can edit everything: name, logo, products, prices - Show add/remove product functionality - Emphasize simple and intuitive interface
- Add checkout page with PIX (R) and card (6x R.50) options - Create payment API and webhook for automatic activation - Block admin panel for unpaid users - Add payment status fields to Restaurant type - Create success, error, and pending payment pages
- Fix layout to skip checks on create-restaurant page - Redirect to checkout if restaurant exists but unpaid
…a /comprar/[template] com escolha de plano (self-service ou feito-pra-voce) - Página /finalizar-compra para processar pagamento após login - API de pagamento atualizada com novos preços (PIX: 247/497, Cartão: 3x99/199) - Landing page com botões 'Quero esse' nos templates - Migration SQL com campo template
Made-with: Cursor
Made-with: Cursor
…horias gerais - API onboarding (status, submit) e página de onboarding - Validação de cupons e migração cupom primeiros clientes - Ajustes em pagamento, webhook MercadoPago e status - Página de preços, cookies, status e editor no painel - Novas libs: coupon-validation, format-currency, image-validation, pricing - Migrações: onboarding_submissions, orders_troco_para, templates_seed - Correções em checkout, pedidos, planos e componentes - Atualização de testes onboarding-and-templates
- Remove unoptimized:true (enable Next.js Image Optimization) - Add Supabase + R2 remote patterns for images - Tighten CSP: script-src, style-src, font-src, img-src, connect-src - Lazy load Footer, FaqSection, SavingsCalculator (dynamic imports) - Add admin_audit_log table (migration 043) - Add lib/admin-audit.ts helper for logAdminAction() Ref: Emergent.sh audit recommendations
…onialsSection + E2E tests - Mega Menu com categorias Produto/Recursos no header - Chat widget com quick replies categorizados - Sidebar colapsável no painel + badges (new/beta) - Admin layout reorganizado em 3 grupos (Principal/Gestão/Ferramentas) - AI learning: análise de sentimento + categorização de tópicos - Network expansion: tier Franquia + helpers formatCurrency/getDiscountTierLabel - Métricas admin: tempo médio resolução + top razões escalação - Proteção email administrador no painel de métricas - TestimonialsSection: carousel 5 depoimentos, autoplay, stats - E2E landing-conversion: 20 testes (hero, CTAs, proof, testimonials, SEO) - E2E security-comprehensive: 24 testes (headers, auth, XSS, rate limit)
…Turbopack build error)
- Fixed admin/metrics page to handle missing database tables gracefully (plans, activation_events, ai_escalations, ai_learning_entries) - Fixed security-audit.spec.ts open redirect test to work with any baseURL - Fixed cliente.spec.ts payment tests to accept 429 rate limit responses - All core e2e tests now pass (100+ tests)
- Updated security-comprehensive.spec.ts to accept 403 (forbidden) as a valid response for path traversal attempts alongside 400/404 - All 140+ e2e tests now pass (100% success rate)
…ócio service MUDANÇAS DE NEUROMARKETING: - Substituído tom agressivo por abordagem educativa nas boas práticas - Seção de comparação iFood agora mostra estratégia complementar (não competição) - Removidas cores vermelhas de 'dor' por cores neutras e positivas - Badge do hero mudado de 'urgência' para 'educação' NOVA SEÇÃO - GOOGLE MEU NEGÓCIO: - Explicação educativa sobre visibilidade em buscas locais gratuitas - Orientação sobre como aparecer em 'lanche perto de mim' no Google - Serviço opcional de cadastro profissional por R$350 - CTA para WhatsApp com mensagem personalizada PROPOSTA DE VALOR ATUALIZADA: - iFood = pescar clientes novos - Canal próprio = fidelizar e lucrar 100% - Google Meu Negócio gratuito = visibilidade local orgânica - Estratégia inteligente ao invés de 'guerra' contra plataformas
Nova página de métricas do painel: - Pedidos hoje/semana/mês - Faturamento por período - Ticket médio - Produtos mais vendidos (top 5) - Gráfico de pedidos dos últimos 7 dias - Design responsivo com cards e visualizações A rota já estava registrada em lib/panel/navigation.ts
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Agent-Logs-Url: https://github.com/TiagoIA-UX/Cardapio-Digital/sessions/b135d388-4c50-4058-9e18-bf320b3bdf59 Co-authored-by: TiagoIA-UX <140929733+TiagoIA-UX@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix dashboard active highlight in navigation panel
fix: 4 bugs in panel navigation, Google Search Console verification, and dashboard links
Mar 29, 2026
12 tasks
TiagoIA-UX
approved these changes
Apr 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Four bugs identified during a code audit of
lib/panel/navigation.ts,next.config.mjs, andapp/painel/page.tsx. Fixes cover incorrect sidebar active state, missing SEO verification route, inconsistent link construction, and a misplaced nav item.Changes
lib/panel/navigation.ts— DashboardmatchPrefixestoo broadmatchPrefixes: ['/painel']matched every sub-route viastartsWith, risking incorrect highlight in future logic. Changed to['/painel/']. Active state is unaffected —isNavigationItemActivealready short-circuits onid === 'dashboard'with exact match.lib/panel/navigation.ts— Métricas in wrong nav groupmetricaswas ingroupId: 'rede'("Rede"), moved togroupId: 'overview'("Visão geral") alongside Dashboard and Pedidos.next.config.mjs+app/api/google-verification-2/route.ts— Second GSC token not servedpublic/google97080e0a7b8aa4f2.htmlexisted but had no rewrite. Added rewrite and new API route returning the correct verification token:app/painel/page.tsx— Inconsistent link constructionFour "Primeiros passos" links used inline
\/painel/editor${painelContextParam}`instead ofgetRestaurantScopedHref. Standardized all four to usegetRestaurantScopedHref(path, restaurant?.id)and removed the now-unusedpainelContextParam` constant.Original prompt
Contexto
Durante auditoria do código foram identificados 4 bugs nos arquivos
lib/panel/navigation.tsenext.config.mjs. Todos devem ser corrigidos na mesma PR.Bug 1 —
matchPrefixesdo Dashboard conflita com todas as sub-rotas do painel (CRÍTICO)Arquivo:
lib/panel/navigation.tsProblema: O item
dashboardpossuimatchPrefixes: ['/painel']. A funçãoisNavigationItemActiveusapathname.startsWith(prefix), então toda rota dentro de/painel(como/painel/metricas,/painel/pedidos,/painel/produtos, etc.) também marca o Dashboard como ativo na sidebar. Isso causa highlight incorreto na navegação.Correção: Alterar o
matchPrefixesdo dashboard para['/painel'], mas a lógica deisNavigationItemActivejá tem um caso especial paraid === 'dashboard'que faz match exato (pathname === '/painel' || pathname === '/painel/'). O problema real é que o própriomatchPrefixesestá amplo demais e pode causar outros problemas em lógica futura.Mudar
matchPrefixesdo dashboard de:Para:
Isso não quebrará o
isNavigationItemActive(que já tem tratamento especial paraid === 'dashboard'), mas evita que qualquer código futuro ou teste que usematchPrefixesdiretamente faça match incorreto.Bug 2 — Segundo arquivo de verificação do Google Search Console sem rewrite (CRÍTICO para SEO)
Arquivos:
next.config.mjsepublic/google97080e0a7b8aa4f2.htmlProblema: Existe um segundo arquivo de verificação do Google Search Console em
public/google97080e0a7b8aa4f2.html, mas onext.config.mjssó tem rewrite para o primeiro arquivo (google1a0b3e572aae5f34.html). O Next.js não serve arquivos.htmlda pastapublicdiretamente para arquivos de verificação em certas configurações — e mesmo que sirvam, o middleware pode interferir. Além disso, há apenas uma rota de API de verificação que retorna o conteúdo do primeiro token, não do segundo.Correção:
next.config.mjspara/google97080e0a7b8aa4f2.htmlapontando para uma nova rota de API.app/api/google-verification-2/route.tscom o conteúdo correto do segundo token:google-site-verification: google97080e0a7b8aa4f2.html.Bug 3 — Navegação usa
painelContextParaminline em alguns links do Dashboard masgetRestaurantScopedHrefem outros (inconsistência)Arquivo:
app/painel/page.tsxProblema: No Dashboard (
app/painel/page.tsx), os links dos "Primeiros passos do dono" usampainelContextParammontado manualmente com template string:Enquanto outros links na mesma página usam
getRestaurantScopedHref. Isso é inconsistente e pode gerar URLs duplicadas de?restaurant=segetRestaurantScopedHreffor chamado em cima de uma URL que já tem o parâmetro. Padronizar todos os links para usargetRestaurantScopedHref.Correção: Substituir os 4 links inline para usar
getRestaurantScopedHref(path, restaurant?.id).Bug 4 — Item "Métricas" agrupado em
redeem vez deoverview(UX incorreta)Arquivo:
lib/panel/navigation.tsProblema: O item de Métricas está no grupo
rede(seção "Rede" da sidebar), mas conceptualmente pertence à seção de "Visão geral" junto com Dashboard e Pedidos. Usuários não vão procurar Métricas na seção "Rede" — isso é especialmente confuso quando o restaurante não tem rede (unidade única).Correção: Mover o item
metricasdogroupId: 'rede'paragroupId: 'overview'.Resumo das mudanças
lib/panel/navigation.tsmatchPrefixesdo dashboard; movermetricaspara grupooverviewnext.config.mjsgoogle97080e0a7b8aa4f2.htmlapp/api/google-verification-2/route.tsapp/painel/page.tsxgetRestaurantScopedHrefThe following is the prior conversation context from the user's chat exploration (may be truncated):
User: reuna tudo que for util para upgrade de todos os commites sem quebrar nadda hoje o emergent testou e validou em e2e o software e precisa ver estes commite sorganizar ar upgrade no repo e pushar
Assistant: Aqui está o panorama completo e organizado do repositório
TiagoIA-UX/Cardapio-Digital— todos os commits de hoje (29/03/2026) foram feitos pelo Emergent Agent e estão todos já nomain. Não há nada pendente para pushar — tudo já foi commitado. Veja o resumo organizado:📦 Repositório:
TiagoIA-UX/Cardapio-Digital✅ Commits de hoje (29/03/2026) — validados e já no
main| # | SHA | Hora | Autor | O que fez |
|---|-----|---...
This pull request was created from Copilot chat.
⌨️ Start Copilot coding agent tasks without leaving your editor — available in VS Code, Visual Studio, JetBrains IDEs and Eclipse.