O formulário de registro estava incorretamente utilizando um endpoint que exigia autenticação, resultando em um erro de 'Invalid JWT' para novos usuários. Esta alteração refatora a página para usar o endpoint público 'register-patient', que inicia o fluxo de confirmação por e-mail.
- Corrige bug na página de consultas do médico que impedia a exibição dos agendamentos devido a inconsistências nos IDs de usuário e médico. A lógica agora mapeia corretamente o user_id da autenticação para o doctor_id correspondente antes de buscar os dados.
Melhora a UX da agenda do médico, agrupando as consultas por dia e focando na data atual por padrão, com uma interface de cards mais limpa e informativa.
Adiciona validação de CPF no frontend no formulário de criação de novo usuário (/manager/usuario/novo) para evitar erros de check constraint do banco de dados, fornecendo feedback imediato ao usuário.
Refina o fluxo de login para múltiplos perfis, garantindo que a role seja salva corretamente e eliminando bugs de sessão.
- Cria o hook customizado 'useAuthLayout' para gerenciar os dados do usuário e as permissões de acesso de forma centralizada.
- Refatora todos os layouts (Manager, Doctor, Secretary, Patient, etc.) para utilizar o novo hook, simplificando o código e eliminando repetição.
- Corrige o bug no fluxo de login de múltiplos perfis, garantindo que a role seja salva corretamente em minúsculas.
- Implementa a exibição correta do avatar do usuário em todos os layouts, corrigindo a montagem da URL do Supabase Storage.
- Corrige o erro de CORS no upload de avatar na página de perfil do paciente, utilizando a API REST para atualizar a tabela 'profiles' diretamente.
- Adiciona a funcionalidade completa de edição de dados e troca de foto na página 'Meus Dados' do paciente.
Remove o componente de formulário de criação de médico (`/manager/home/novo`) que estava duplicado e desatualizado.
O botão "Novo Usuário" na página de gerenciamento de médicos (`/manager/home`) foi redirecionado para o formulário genérico e aprimorado em `/manager/usuario/novo`.
Essa alteração centraliza toda a lógica de criação de usuários em um único componente, aproveitando a UI condicional já implementada para a role "medico" e simplificando a manutenção do código.
Remove o componente de formulário de criação de médico (`/manager/home/novo`) que estava duplicado e desatualizado.
O botão "Novo Usuário" na página de gerenciamento de médicos (`/manager/home`) foi redirecionado para o formulário genérico e aprimorado em `/manager/usuario/novo`.
Essa alteração centraliza toda a lógica de criação de usuários em um único componente, aproveitando a UI condicional já implementada para a role "medico" e simplificando a manutenção do código.
Refatora o formulário de criação de usuários no painel do manager para lidar com a lógica de múltiplos endpoints, diferenciando a criação de médicos das demais roles.
- Adiciona campos condicionais para CRM e especialidade na UI.
- Implementa a chamada ao endpoint `/functions/v1/create-doctor` para a role "medico".
- Ajusta o payload para o endpoint `/create-user-with-password` para as outras roles.
fix(patient): corrige renderização duplicada do layout nas páginas de agendamento e consultas, removendo o wrapper redundante do `PatientLayout`.
refactor(services): ajusta os serviços `doctorsApi` e `usersApi` para alinhar com os schemas de dados corretos da API.