Commit graph

22 commits

Author SHA1 Message Date
NANDO9322
e78de535c1 feat: implementação do financeiro e suporte a múltiplas funções
Este commit introduz o módulo financeiro completo e refatora o sistema de profissionais para suportar múltiplas funções, corrigindo a contabilização e validação de equipes.

Principais alterações:

- **Módulo Financeiro:**
  - Criação da tabela `financial_transactions` e queries associadas.
  - Implementação do backend (Handler/Service) para gerenciar transações.
  - Nova página [Finance.tsx](cci:7://file:///c:/Projetos/photum/frontend/pages/Finance.tsx:0:0-0:0) com listagem, edição, filtros avançados e agrupamento por FOT.
  - Correção na busca de FOTs e formatação de datas.

- **Gestão de Equipe e Profissionais:**
  - Refatoração para suportar múltiplas funções por profissional (Backend & Frontend).
  - Atualização do [Dashboard](cci:1://file:///c:/Projetos/photum/frontend/pages/Dashboard.tsx:31:0-1663:2) e [EventTable](cci:1://file:///c:/Projetos/photum/frontend/components/EventTable.tsx:28:0-659:2) para contabilizar corretamente profissionais (Fotografo, Cinegrafista, Recepcionista) verificando a lista de funções.
  - Implementação de validação de cota no aceite de convites (bloqueia se a equipe da função específica já estiver completa).
  - Ajuste visual nos indicadores de "Equipe Completa" e contadores de faltantes na listagem de eventos.

- **Geral:**
  - Atualização da documentação Swagger.
  - Ajustes de tipagem e migrações de banco de dados.
2026-01-15 18:07:39 -03:00
JoaoVitorMS0
a1d5434414 feat: Implementar sistema completo de gestão de equipe e restrições
- Adicionar restrições de exclusão de FOT quando há eventos associados
- Implementar tooltips para motivos de recusa de eventos por fotógrafos
- Filtrar eventos recusados das listas de fotógrafos
- Adicionar sistema de filtros avançados no modal de gerenciar equipe
- Implementar campos completos de gestão de equipe (fotógrafos, recepcionistas, cinegrafistas, estúdios, pontos de foto, pontos decorados, pontos LED)
- Adicionar colunas de gestão na tabela principal com cálculos automáticos de profissionais faltantes
- Implementar controle de visibilidade da seção de gestão apenas para empresas
- Adicionar status visual "Profissionais OK" com indicadores de completude
- Implementar sistema de cálculo em tempo real de equipe necessária vs confirmada
- Adicionar validações condicionais baseadas no tipo de usuário
2026-01-13 13:24:38 -03:00
NANDO9322
7536bddacb feat: sistema de validação de conflitos e melhorias na UX da agenda
Implementa validação de horários para evitar conflitos no aceite de eventos, correções na sincronização de dados da agenda e melhorias na interface de gestão de equipe.

Backend:
- handler.go: Correção no retorno do endpoint [UpdateAssignmentStatus](cci:1://file:///c:/Projetos/photum/backend/internal/agenda/handler.go:279:0-313:1) para enviar JSON válido e evitar erros no frontend.
- service.go: Implementação da lógica de validação de conflitos antes de aceitar um evento.
- agenda.sql: Nova query `CheckProfessionalBusyDate` para verificação de sobreposição de horários.

Frontend:
- Dashboard.tsx: Adição de tooltip e texto para exibir o "Motivo da Rejeição" na gestão de equipe (Desktop/Mobile).
- EventScheduler.tsx: Filtro para excluir profissionais com status 'REJEITADO' e correção na label de 'Pendente'.
- EventDetails.tsx: Refatoração para usar estado global ([useData](cci:1://file:///c:/Projetos/photum/frontend/contexts/DataContext.tsx:1156:0-1160:2)), garantindo atualização imediata de datas e locais.
- DataContext.tsx: Mapeamento do campo `local_evento` e melhoria no tratamento de erro otimista.
- Ajustes gerais em ProfessionalDetailsModal, Login e correções de tipos.
2025-12-30 11:24:53 -03:00
NANDO9322
002dee832d feat: Ajusta a edição de eventos no gerenciamento de agenda, incluindo atribuição de profissionais e status 2025-12-29 19:55:50 -03:00
NANDO9322
636ad73993 feat: aprimora responsividade mobile, form de eventos e persistência de dados
- Frontend:
  - Implementa visualização em cards mobile para lista de Eventos (/painel), Gestão de Cursos (/cursos) e modal de Equipe.
  - Corrige rolagem e layout do modal de detalhes do profissional em telas pequenas.
  - Unifica seleção de turma (Curso/Inst/Ano) no formulário de eventos para simplificar UX.
  - Adiciona botão "Voltar" no formulário de eventos.
  - Adiciona integração de busca de CEP e validação de "Qtd Estúdios".
  - Ajusta inputs de avaliação (estrelas) e exibição de disponibilidade de horário.
  - Atualiza interfaces (types.ts) para incluir campos novos (cep, email no profissional).

- Backend:
  - Adiciona persistência do campo "email" na tabela de profissionais.
  - Corrige bug de persistência nula no campo "media" (avaliação).
  - Atualiza queries SQL e gera novos modelos (sqlc) para refletir mudanças no schema.
  - Atualiza documentação Swagger.
2025-12-25 12:22:53 -03:00
NANDO9322
434548c158 feat(staffing): implementa sistema de disponibilidade e escalonamento
- Adiciona tabela `disponibilidade_profissionais` no schema
- Adiciona coluna `posicao` para mapa de profissionais no evento
- Implementa Service e Handler para gerenciar Disponibilidade (Set/Get)
- Implementa lógica de Escalonamento: listar disponíveis e atribuir posição
- Atualiza rotas da API e serviço do frontend

feat(frontend): implementa modal de detalhes e updates otimistas na equipe

- Adiciona componente ProfessionalDetailsModal para exibir dados completos do profissional
- Implementa update otimista em DataContext para adição/removação instantânea da equipe
- Corrige bug crítico de sintaxe e estrutura na Dashboard.tsx
- Adiciona badges de status (Pendente/Confirmado/Rejeitado) na listagem de equipe
- Corrige erro de referência de variável (professionalId) no fluxo de atribuição
2025-12-23 17:29:40 -03:00
NANDO9322
cd196a0275 feat(auth): adiciona tipo profissional ao schema e corrige avatar
- 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
2025-12-22 12:37:42 -03:00
João Vitor
888ae9eb62 feat: Adicionar sistema de código de acesso, upload de foto de perfil e melhorias de UI
- 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
2025-12-18 15:12:20 -03:00
NANDO9322
7128541b44 fix: corrige criação duplicada de eventos, parse de data e filtro de FOT 2025-12-16 20:41:28 -03:00
NANDO9322
28b76a0f54 feat(fot-management): implementação de ações editar/excluir e correção no mapeamento da agenda
- 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
2025-12-16 18:10:46 -03:00
NANDO9322
66c7306553 feat: implementa filtro de agenda por usuário e corrige exibição de detalhes
- 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.
2025-12-16 13:44:02 -03:00
NANDO9322
bae43a14cb fix: validação de usuários inativos e melhorias na lista de aprovação
- 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
2025-12-15 15:06:34 -03:00
NANDO9322
78c284c28a feat: Implementado a API de backend inicial e a interface de usuário de frontend para autenticação, gerenciamento de usuários e cadastro profissional.
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.
2025-12-15 11:17:34 -03:00
NANDO9322
a337e27f2a feat(auth): implementação do fluxo de cadastro duplo (clientes e profissionais)
- 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
2025-12-12 13:01:30 -03:00
NANDO9322
f7e79f3673 feat: (auth) ajuste mensagens de erro 2025-12-10 19:33:20 -03:00
NANDO9322
cf0cf4e95f feat(client): integra autenticacao real e melhora fluxo de login
- 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
2025-12-10 19:00:49 -03:00
yagostn
5f7aaf9b63 feat: melhorias de UI e novas funcionalidades
- 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
2025-12-10 16:53:16 -03:00
yagostn
b99807beb3 feat: atualizacao de rotas 2025-12-08 10:31:40 -03:00
João Vitor
de5ceea1f3 feat: reestruturar página de equipe com sistema de profissionais multi-função
- 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
2025-12-08 03:12:45 -03:00
João Vitor
3096f07102 feat: adicionar sistema completo de gestão de cursos e turmas
- 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
2025-12-08 02:53:00 -03:00
yagostn
f73095e3d4 feat: mudancas de layout 2025-12-05 10:43:48 -03:00
João Vitor
3f6923fa7a feat: Modelo One Repo 2025-12-03 09:44:21 -03:00