- Adds Next.js route src/app/api/create-user/route.ts for secure creation (JWT validation, password generation).
- Adds client fallback in lib/api.ts: signup via /auth/v1/signup then call create-user Edge Function.
- Wires CredentialsDialog into registration forms and maps RLS errors to a user-friendly message.
- Removes banner from pp/paciente/page.tsx.
NOTE: Not fully resolved — requires SUPABASE_SERVICE_ROLE_KEY on server and/or RLS policy changes; server route needs Next.js restart.
- What was done:
- Added a server-side Next.js route at `src/app/api/create-user/route.ts` that validates the requester token, checks roles, generates a temporary password and forwards the creation to the Supabase Edge Function using the service role key.
- Client wired to call the route via `lib/config.ts` (`FUNCTIONS_ENDPOINTS.CREATE_USER` -> `/api/create-user`) and the `criarUsuario()` wrapper in `lib/api.ts`.
- Status / missing work:
- Important: user creation is NOT working yet (requests to `/api/create-user` return 404 in dev).
- Next steps: restart dev server, ensure `SUPABASE_SERVICE_ROLE_KEY` is set in the environment, check server logs and run a test POST with a valid admin JWT.
- Standardize borders for all fields (inputs, selects, textareas) with gray-300
- Add consistent hover effect (gray-400) across all fields
- Implement active highlight (blue) on navigation buttons
- Adjust field height from h-10 to h-11 for better proportion
- Add blue hover effect on back button
- Remove unnecessary icons from information card
- Ensure visual consistency only in light mode
- Apply changes to: Input, Textarea, HeaderAgenda, FooterAgenda,
calendar-registration-form and financeiro page
BREAKING CHANGE: Input and Textarea components now use border-gray-300
by default in light mode instead of border-input
- Corrigir botão "Hoje" para ter hover azul ao invés de branco
- Adicionar CSS para padronizar todos os hovers para azul
- Corrigir ícones que ficavam invisíveis no hover
- Melhorar consistência visual entre modo claro e escuro
ações para formulários de agendamento
- calendar-registration-form.tsx:
- Otimizadas importações de ícones e
adicionadas novas caixas de seleção para
reembolso e impressão de etiquetas.
- Introduzido campo 'Profissional
solicitante' com funcionalidade de busca.
- Removido botão 'Cancelar' interno.
- FooterAgenda.tsx:
- Consolidado botões de ação,
removendo 'Cancelar' e 'Salvar as
alterações' redundantes.
- Atualização das páginas de login (admin, paciente e geral)
- Melhorias nos componentes input e textarea
- Atualizações nas páginas do profissional
- Atualização de dependências
Implements automatic creation in Supabase Auth with mandatory
email confirmation. Adds credentials popup and clear messages
about the confirmation process.
BREAKING CHANGE: Users must confirm email before login
🔧 Correções no Menu Lateral:
- Fix: Resolve problema onde clicar em "Relatórios" também ativava "Dashboard"
- Ajusta lógica de detecção do item ativo na sidebar
- Evita conflito entre rotas /dashboard e /dashboard/relatorios
- Funciona corretamente em ambos os modos (claro e escuro)
🎨 Padronização das Páginas de Agendamento:
- Padroniza sistema completo de agendamento (agenda, procedimento, financeiro)
- Adiciona página /financeiro com informações financeiras e formas de pagamento
- Padroniza componentes HeaderAgenda e FooterAgenda para modo escuro
- Padroniza ListaEspera com cores responsivas e tabela temática
- Padroniza página de calendário principal com dropdown melhorado
- Padroniza página de relatórios com cards e gráficos adaptativos
📐 Melhorias no Alinhamento dos Formulários:
- Fix: Corrige alinhamento dos campos no formulário de agendamento
- Reorganiza layout de "Data de nascimento" e "Telefone" em colunas separadas
- Alinha perfeitamente campos "Início" e "Término" em grid 2 colunas
- Melhora layout geral da seção "Informações do atendimento"
- Ajusta proporções do textarea de observações
- Layout mais limpo e profissional em todas as telas
✨ Benefícios:
- Navegação precisa no menu lateral
- Sistema de agendamento completamente padronizado
- Formulários com campos perfeitamente alinhados
- Experiência visual consistente em modo claro e escuro
- Interface mais profissional e intuitiva