- Adiciona coluna `tipo_profissional` à tabela `usuarios`
- Atualiza handlers e services do Backend Go para persistir o tipo
- Atualiza registro no Frontend para enviar o nome da função (ex: "Cinegrafista")
- Corrige uploads S3 para compatibilidade com Civo (PathStyle)
- Script para definir política pública de leitura no bucket S3
- Adiciona fallback para imagens de avatar na Navbar
- Adicionar modal de verificação de código de acesso na página inicial para cadastro
- Adicionar modal de seleção profissional/cliente após verificação do código
- Criar página AccessCodeManagement para CEO/SUPERADMIN gerar e gerenciar códigos de acesso
- Adicionar upload de foto de perfil no formulário de cadastro de profissional
- Adicionar upload de foto de perfil no modal de edição de perfil
- Remover botão 'Entrar/Cadastrar' do header nas rotas de login e cadastro
- Separar campos Conta e PIX no cadastro de profissional (apenas PIX obrigatório)
- Adicionar campo de descrição de equipamentos no cadastro de profissional
- Remover edição manual de 'Gastos Captação' (campo calculado)
- Converter página de códigos de acesso para formato de tabela estilo Excel
- Restaurar fallback de login do usuário demo quando o backend estiver indisponível
- Padronizar espaçamentos e fontes do header nas páginas administrativas
- Adicionar novo item de menu 'Códigos de Acesso' para CEO/SUPERADMIN
- Dashboard: Ajusta exibição do campo LOCAL para mostrar o nome do local.
- Dashboard: Atualiza exibição do ENDEREÇO para formato completo.
- UserApproval: Remove funcionalidade e botão de rejeitar usuários.
- Atualiza o EventForm para buscar a lista de empresas via /api/empresas para usuários BUSINESS_OWNER e SUPERADMIN.
- Adiciona campo de seleção de 'Empresa' antes do carregamento das FOTs (Turmas).
- Implementa lógica em cascata: Seleção de Empresa -> Carrega Turmas -> Filtra Cursos -> Filtra Instituições.
- Adiciona mensagem de aviso quando a empresa selecionada não possui turmas cadastradas.
- Refatora o gerenciamento de estado para utilizar o ID da empresa ao invés do nome, garantindo maior integridade.
- Implementadas ações de Editar e Excluir na página de Gestão de FOT
- Adicionado filtro de busca para FOTs
- Corrigido desalinhamento de colunas na tabela de Gestão de FOT
- Atualizado FotForm para suportar a edição de registros existentes
- Corrigido erro de renderização do React no Dashboard mapeando corretamente os objetos de atribuição
- Removidos dados de mock (INITIAL_EVENTS) e corrigido erro de referência nula no DataContext
- Adicionados métodos de atualização/exclusão ao apiService
- Backend: Adiciona `user_id` na tabela agenda e implementa queries de filtro por role.
- Frontend(Context): Corrige dependência do `useEffect` para garantir busca correta ao logar.
- Frontend(Context): Melhora mapeamento de dados (Número FOT, Fallback de Nome, Formandos).
- Frontend(UI): Atualiza EventTable e Dashboard para exibir número FOT e dados vinculados corretamente.
- Frontend(Fix): Resolve erros de TypeScript no enum EventStatus.
- Refatora CourseManagement para listar dados de /api/cadastro-fot
- Cria componente FotForm para novo cadastro de turmas
- Adiciona validação de unicidade para número FOT
- Integra dropdowns com endpoints /api/cursos e /api/anos-formaturas
- Corrige duplicidade no registro de profissionais no backend
- Bloqueia login e auto-login para usuários com status inativo
- Implementa logout chamando endpoint do backend para limpar cookies
- Adiciona verificação de status ativo na restauração de sessão
- Inclui coluna 'Telefone' na tabela de aprovação de cadastros
- Corrige bug de renderização nas tabelas ao trocar de abas
implementação de listagem de usuários admin, padronização de roles e melhorias nos cadastros
Backend:
- Adicionados endpoints administrativos [ListUsers](cci:1://file:///c:/Projetos/photum/backend/internal/auth/service.go:268:0-270:1) e [GetUser](cci:1://file:///c:/Projetos/photum/backend/internal/auth/handler.go:475:0-514:1).
- Padronizadas as constantes de [UserRole](cci:1://file:///c:/Projetos/photum/backend/internal/auth/service.go:202:0-216:1) (`SUPERADMIN`, `BUSINESS_OWNER`, etc.) para alinhar com o frontend.
- Atualizada a função [EnsureDemoUsers](cci:1://file:///c:/Projetos/photum/backend/internal/auth/service.go:230:0-266:1) para migrar usuários existentes para as novas roles.
- Documentação Swagger regenerada.
Frontend:
- Adicionado busca automática de CEP no formulário de Cadastro Profissional (AwesomeAPI).
- Adicionado texto de ajuda e ordenação (priorizando "Não Cadastrado") no select de Empresas.
- Add photographer finance page at /meus-pagamentos with payment history table
- Remove university management page and related routes
- Update Finance and UserApproval pages with consistent spacing and typography
- Fix Dashboard background color to match other pages (bg-gray-50)
- Standardize navbar logo sizing across all pages
- Change institution field in course form from dropdown to text input
- Add year and semester fields for university graduation dates
- Improve header spacing on all pages to pt-20 sm:pt-24 md:pt-28 lg:pt-32
- Apply font-serif styling consistently across page headers
- backend: atualizado /auth/register para retornar userId e access_token
- backend: desabilitada criação automática de perfil parcial no registro
- backend: adicionado suporte a cookie access_token no middleware e handlers
- frontend: atualizado AuthContext para enviar role e retornar token
- frontend: implementado registro de profissional em 2 etapas (Usuário -> Perfil)
- frontend: adicionado serviço createProfessional com suporte a header de auth
- frontend: definido role correto (EVENT_OWNER) para cadastro de clientes
Backend:
- Atualiza endpoint /auth/register para aceitar e exigir 'role' no corpo da requisição.
- Atualiza handler de registro para criar perfil profissional condicionalmente baseado na role.
- Regenera documentação Swagger para refletir novos parâmetros de registro.
Frontend:
- Atualiza apiService para usar o endpoint correto /api/tipos-eventos.
- Corrige EventForm para renderizar objetos de tipo de evento corretamente (usando estrutura id/nome).
- Corrige erro de sintaxe JSX no componente EventFiltersBar.
- Sistema FOT (Formatura Operations Tracking):
* Tela de Gestão FOT (/cursos) com tabela Excel-style
* Modal CourseForm com 10 campos (FOT, Empresa, Instituição, etc)
* Validação de FOT (5 dígitos numéricos)
* Edição de turmas ao clicar na linha
* Integração com API backend (empresas, níveis educacionais, universidades)
- Dashboard renovado (/painel):
* Tabela com 8 colunas (FOT, Data, Curso, Instituição, Ano, Empresa, Tipo, Status)
* Filtros avançados: FOT (busca numérica), Data, Tipo de Evento
* Removidos filtros de Estado e Cidade
* Página de detalhes com tabela vertical (12 informações)
* Botão Aprovar redireciona para modal de equipe
- Sistema de Aprovação Dupla (/aprovacao):
* 2 tabelas separadas por abas (Usuários Normais e Profissionais)
* Coluna Universidade renomeada para Empresa
* Coluna Função nos profissionais
* Workflow de aprovação com atribuição de equipe
- Cadastro Profissional (/cadastro-profissional):
* Formulário específico para fotógrafos
* Dropdown de Função Profissional da API
* Tratamento de erro quando backend offline
- Modal de Criar Evento:
* Tipo de Evento como primeiro campo
* Nome do Evento (Opcional) como segundo campo
- Componentes novos:
* EventTable.tsx - Tabela de eventos com ordenação
* EventFiltersBar.tsx - Filtros avançados (3 filtros)
* CourseForm.tsx - Formulário FOT completo
* ProfessionalForm.tsx - Cadastro profissional
- API Service:
* Integração com backend Go
* Endpoints: /api/empresas, /api/funcoes, /api/niveis-educacionais, /api/universidades, /graduation-years
- Documentação:
* README.md principal atualizado
* frontend/README.md atualizado
* Documentação completa de componentes e features
- Integra AuthContext com API do Backend (/auth/login e /auth/register)
- Implementa Modo Hibrido: Demo Users usam Mock, outros usam API Real
- Habilita campo de senha e adiciona toggle de visibilidade (olho)
- Conecta formulario de Registro ao backend
- Adiciona preenchimento automatico de senha para usuarios de demonstracao
- Mapeia status 'ativo' do usuario vindo da API
- Tradução de rotas para português (entrar, cadastro, configuracoes, etc)
- Ajuste de responsividade na página Financeiro (mobile)
- Correção navegação Configurações para usuário CEO/Business Owner
- Modal de gerenciamento de equipe com lista de profissionais
- Exibição de fotógrafos, cinegrafistas e recepcionistas disponíveis por data
- Ajuste de layout da logo nas telas de login e cadastro
- Correção de z-index do header
- Melhoria de espaçamento e padding em cards
- Adiciona coluna de Cidade com ordenação independente na tabela de eventos
- Implementa ordenação clicável em todas as colunas (nome, tipo, data, horário, cidade, local, status)
- Remove dependência de estado para filtro de cidade
- Adiciona exibição de curso/turma no modal de detalhes do evento
- Torna campo curso/turma obrigatório no formulário de solicitação de evento
- Remove campo de imagem de capa do formulário
- Corrige importação de getActiveCoursesByInstitutionId no Dashboard
- Renomear 'Equipe & Fotógrafos' para 'Equipe' no título e navbar
- Adicionar suporte para 3 tipos de profissionais: Fotógrafo, Cinegrafista, Recepcionista
- Implementar cards estatísticos separados por função profissional
- Adicionar filtros por função (Fotógrafos, Cinegrafistas, Recepcionistas)
- Adicionar filtros por status (Disponível, Em Evento, Inativo)
- Transformar cards em tabela responsiva com colunas: Nome, Função Profissional, Disponibilidade
- Expandir interface Professional com campos completos do Excel:
* Endereço completo (rua, número, complemento, bairro, cidade, UF)
* Dados bancários (banco, agência, conta/pix, tipo cartão, titular)
* Recursos (carro disponível, possui estúdio, quantidade)
* Sistema de avaliações detalhado (6 critérios + média)
* Valores (tabela free, extra no cachê)
* Observações
- Redesenhar modal 'Adicionar Profissional' com formulário extenso organizado em seções
- Atualizar modal de detalhes com todas as novas informações
- Adicionar ícones específicos por função (Camera, Video, UserCheck)
- Remover fotos da tabela mantendo apenas informações essenciais
- Adicionada interface Course em types.ts
- Criado CourseForm para cadastro/edição de turmas
- Implementada página CourseManagement com tabelas Excel-like
- Adicionadas funções CRUD de cursos no DataContext
- Integrado dropdown de cursos no EventForm baseado na instituição
- Adicionada rota 'courses' no App.tsx
- Link 'Gestão de Cursos' inserido no menu principal após 'Equipe & Fotógrafos'
- Removido 'Configurações' do menu principal (mantido apenas no dropdown do avatar)
- Implementado comportamento de toggle para seleção de universidades
- Sistema restrito a SUPERADMIN e BUSINESS_OWNER
- Adiciona campo de número de pessoas com validação numérica
- Atualiza tipos de eventos para eventos universitários (formatura, colação, etc)
- Substitui horário único por horários de início e término obrigatórios
- Adiciona campo de curso relacionado ao evento
- Reorganiza ordem dos campos no formulário de instituição (CEP primeiro)
- Atualiza coordenadas padrão do mapa para Americana-SP
- Melhora layout do mapa: cards de coordenadas e instruções abaixo do mapa