Commit graph

186 commits

Author SHA1 Message Date
NANDO9322
4ce07c1fc5 fix:(cadastro) ajusta redirecionamento ao cadatrar um cliente 2026-02-09 09:17:03 -03:00
NANDO9322
29662a1081 fix:(cadastro-fot) Forma no do foto em caixa alta 2026-02-09 01:07:16 -03:00
NANDO9322
9c6ee3afdb feat: habilita edição de perfil para clientes e corrige carga de dados
Backend:
- Adiciona endpoint `PUT /api/me` para permitir atualização de dados do usuário logado.
- Implementa query `UpdateCadastroCliente` e função de serviço [UpdateClientData]para persistir alterações de clientes.
- Atualiza handlers [Me], [Login] e [ListPending] para incluir e mapear corretamente campos de cliente (CPF, Endereço, Telefone).
- Corrige mapeamento do campo `phone` na struct de resposta do usuário.

Frontend:
- Habilita o formulário de edição em [Profile.tsx] para usuários do tipo 'CLIENTE' (Event Owner).
- Adiciona função [updateUserProfile] em [apiService.ts] para consumir o novo endpoint.
- Atualiza [AuthContext] para persistir campos do cliente (CPF, Endereço, etc.) durante a restauração de sessão ([restoreSession], corrigindo o bug de perfil vazio ao recarregar a página.
- Padroniza envio de dados no Registro e Aprovação para usar `snake_case` (ex: `cpf_cnpj`, `professional_type`).
- Atualiza tipos em [types.ts] para incluir campos de endereço e documentos.
2026-02-09 00:56:09 -03:00
NANDO9322
788e0dca70 feat: melhorias no dashboard e correções no perfil
- Implementa filtros de Empresa e Instituição no Dashboard.
- Adiciona barra de estatísticas de equipe (fotógrafos, cinegrafistas, recepcionistas) na modal de Gerenciar Equipe.
- Corrige bug de atualização da interface após editar evento (mapeamento snake_case).
- Adiciona máscaras de input (CPF/CNPJ, Telefone) na página de Perfil.
- Corrige ordenação e persistência da listagem de eventos por FOT.
- Corrige crash e corrupção de dados na página de Perfil.

fix: permite reenviar notificação de logística

- Remove bloqueio do botão de notificação de logística quando já enviada.
- Altera texto do botão para "Reenviar Notificação" quando aplicável.

feat: melhorias no dashboard, perfil e logística

- Implementa filtros de Empresa e Instituição no Dashboard.
- Adiciona barra de estatísticas de equipe na modal de Gerenciar Equipe.
- Desacopla notificação de logística da aprovação do evento (agora apenas manual).
- Permite reenviar notificação de logística e remove exibição redundante de data.
- Adiciona máscaras de input (CPF/CNPJ, Telefone) no Perfil.
- Corrige atualização da interface pós-edição de evento.
- Corrige crash, ordenação e persistência na listagem de eventos e perfil.
2026-02-08 12:54:41 -03:00
NANDO9322
1c20b570c0 fix:(ux) ajuste nos inputs 2026-02-07 00:02:47 -03:00
NANDO9322
2fd1e2ece7 fix(backend): corrige persistência da região na criação de FOT e ordenação
- Corrige bug onde a região não era salva no banco durante a criação de FOT (campo faltante no service).
- Adiciona fallback para garantir região "SP" caso o header x-regiao esteja vazio.
- Altera ordenação da listagem para updated_at DESC (editados aparecem no topo).
2026-02-06 23:37:59 -03:00
NANDO9322
3b7bd6a181 fix: ajuste handler 2026-02-06 22:07:33 -03:00
NANDO9322
c1c71643bb feat(profile): melhorias no fluxo de perfil e correções no backend
Frontend:
- Implementado fluxo de inicialização para novos perfis (modal "Complete seu Cadastro").
- Adicionada lógica para pré-preencher nome e email do usuário no cadastro.
- Adicionada renderização condicional: abas "Dados Bancários" e "Profissional" são ocultadas para clientes (EVENT_OWNER).
- Unificada a função de salvar (criação e edição) com tratativa correta de erros e feedback (Toast).
- Adicionado fallback para exibir o email do usuário caso o do perfil esteja vazio.

Backend:
- SQL: Ajustada query `GetProfissionalByUsuarioID` para buscar email da tabela de usuários (LEFT JOIN).
- Handler: Implementado fallback para usar `UsuarioEmail` na resposta se o `Email` do perfil for nulo.
- Service: Correção no salvamento (Create/Update) para tratar `funcao_profissional_id` com UUID vazio (Nil) como NULL, evitando erro de chave estrangeira (FK).

Fixes #profile-save-error, #role-visibility
2026-02-06 21:45:29 -03:00
NANDO9322
a4982e588e feat(profile): melhorias no fluxo de perfil e correções no backend
Frontend:
- Implementado fluxo de inicialização para novos perfis (modal "Complete seu Cadastro").
- Adicionada lógica para pré-preencher nome e email do usuário no cadastro.
- Adicionada renderização condicional: abas "Dados Bancários" e "Profissional" são ocultadas para clientes (EVENT_OWNER).
- Unificada a função de salvar (criação e edição) com tratativa correta de erros e feedback (Toast).
- Adicionado fallback para exibir o email do usuário caso o do perfil esteja vazio.

Backend:
- SQL: Ajustada query `GetProfissionalByUsuarioID` para buscar email da tabela de usuários (LEFT JOIN).
- Handler: Implementado fallback para usar `UsuarioEmail` na resposta se o `Email` do perfil for nulo.
- Service: Correção no salvamento (Create/Update) para tratar `funcao_profissional_id` com UUID vazio (Nil) como NULL, evitando erro de chave estrangeira (FK).

Fixes #profile-save-error, #role-visibility
2026-02-06 21:44:00 -03:00
NANDO9322
21987d221e feat(ux): melhorias de navegação, formulário e fluxo de eventos
Backend:
- Adiciona campo `contacts` (JSONB) na tabela `agendas` e atualiza lógica de criação.

Frontend:
- Adiciona campos dinâmicos de contato no formulário de Novo Evento.
- Otimiza busca do Mapbox priorizando a região selecionada (SP/MG).
- Implementa "Deep Linking" no Dashboard (abrir detalhes do evento direto via URL).
- Corrige "flicker" (piscada da lista) ao carregar detalhes via link permitindo carregamento suave.
- Adiciona botão "Aprovar" e fluxo de aprovação na visualização de detalhes.
- Corrige fluxo de edição (salvar retorna para detalhes sem recarregar a página).
- Corrige navegação dos botões "Voltar" em Detalhes e Logística para retornarem corretamente à lista/painel.
- Melhora layout do cabeçalho de detalhes (remove ID vazio e unifica títulos duplicados).
- Ajusta clique no Logo para forçar reset da navegação para o Painel.
2026-02-06 13:32:11 -03:00
NANDO9322
e86bd0a570 fix:(equipe) ajustado cadastro por regiao no acesso correspondente 2026-02-06 11:34:39 -03:00
NANDO9322
c5f1c40243 fix:(equipe) ajustado cadastro por regiao no acesso master 2026-02-06 11:14:55 -03:00
NANDO9322
82b597bda3 feat: implementa user pesquisa de teste 2026-02-06 10:30:26 -03:00
NANDO9322
b2f8c00b13 Fix: Migracao para corrigir FK de tipos de evento duplicados 2026-02-05 17:49:36 -03:00
NANDO9322
956c84a4bc Fix: Deduplicacao de tipos de evento e limpeza de anos invalidos 2026-02-05 17:37:43 -03:00
NANDO9322
f8bb2e66dd feat: suporte completo multi-região (SP/MG) e melhorias na validação de importação
Detalhes das alterações:

[Banco de Dados]
- Ajuste nas constraints UNIQUE das tabelas de catálogo (cursos, empresas, tipos_eventos, etc.) para incluir a coluna `regiao`, permitindo dados duplicados entre regiões mas únicos por região.
- Correção crítica na constraint da tabela `precos_tipos_eventos` para evitar conflitos de UPSERT (ON CONFLICT) durante a inicialização.
- Implementação de lógica de Seed para a região 'MG':
  - Clonagem automática de catálogos base de 'SP' para 'MG' (Tipos de Evento, Serviços, etc.).
  - Inserção de tabela de preços específica para 'MG' via script de migração.

[Backend - Go]
- Atualização geral dos Handlers e Services para filtrar dados baseados no cabeçalho `x-regiao`.
- Ajuste no Middleware de autenticação para processar e repassar o contexto da região.
- Correção de queries SQL (geradas pelo sqlc) para suportar os novos filtros regionais.

[Frontend - React]
- Implementação do envio global do cabeçalho `x-regiao` nas requisições da API.
- Correção no componente [PriceTableEditor](cci:1://file:///c:/Projetos/photum/frontend/components/System/PriceTableEditor.tsx:26:0-217:2) para carregar e salvar preços respeitando a região selecionada (fix de "Preços zerados" em MG).
- Refatoração profunda na tela de Importação ([ImportData.tsx](cci:7://file:///c:/Projetos/photum/frontend/pages/ImportData.tsx:0:0-0:0)):
  - Adição de feedback visual detalhado para registros ignorados.
  - Categorização explícita de erros: "CPF Inválido", "Região Incompatível", "Linha Vazia/Separador".
  - Correção na lógica de contagem para considerar linhas vazias explicitamente no relatório final, garantindo que o total bata com o Excel.

[Geral]
- Correção de diversos erros de lint e tipagem TSX.
- Padronização de logs de erro no backend para facilitar debug.
2026-02-05 16:18:40 -03:00
NANDO9322
1bfdc689d0 perf: otimização crítica no modal de equipe e correção de requests duplicados
- Implementada paginação (Load More) na lista de profissionais para suportar grandes volumes de dados sem travar a UI.
- Otimização do cálculo de disponibilidade (busy check) de O(N*M) para O(N) usando Sets pré-calculados.
- Adicionado estado de processamento nos botões de ação para prevenir cliques múltiplos e requisições duplicadas.
- Refatoração dos filtros para uso de `useMemo`, evitando re-renderizações desnecessárias.
2026-02-04 16:46:37 -03:00
NANDO9322
90e1508409 fix: correções na criação de usuários admin e no formulário de aprovação
- Frontend: Refatoração do componente UserApproval para corrigir perda de foco nos inputs (extração de modais).
- Backend: Implementação da criação automática do perfil profissional (cadastro_profissionais) ao criar um novo usuário admin.
- Backend: Correção para evitar duplicidade de profissionais, utilizando o email para vincular ao perfil existente.
- API: Ajuste para retornar dados completos (nome, telefone, empresa) na listagem de usuários do admin.
2026-02-04 13:08:31 -03:00
NANDO9322
58ee90df73 fix: ajuste formulario de cadastro de pesquisador 2026-02-04 10:49:33 -03:00
NANDO9322
02309f74c0 feat: Implementa validação de e-mail único e melhorias na aprovação de usuários
Backend:
- Adiciona constraint UNIQUE para 'email' na tabela cadastro_profissionais.
- Atualiza schema.sql para converter e-mails vazios para NULL automaticamente.
- Modifica query CreateProfissional para usar ON CONFLICT (email) DO UPDATE (Upsert).
- Ajusta helper toPgText para tratar string vazia como NULL, permitindo múltiplos profissionais sem e-mail.

Frontend:
- Adiciona Modal de Detalhes do Usuário na página de Aprovação.
- Oculta seletor de função para usuários do tipo 'Cliente'.
2026-02-03 17:46:52 -03:00
NANDO9322
ec2d96333f Fix: Visibilidade da agenda para clientes e correções no filtro de códigos de acesso
- Backend: Implementada query `ListAgendasByCompany` e ajustada lógica do serviço de agenda para filtrar eventos pela empresa do usuário.
- Backend: Adicionada migração segura (idempotente) para incluir coluna `empresa_id` em produção.
- Frontend: Corrigido filtro [getEventsByRole] para exibir eventos importados (da empresa) para o cliente.
- Frontend: Renomeada aba de aprovação para 'Cadastros Clientes'.
2026-02-03 12:47:43 -03:00
NANDO9322
a35c8c27fa fix: ajuste no SQL de hml 2026-02-03 12:17:27 -03:00
NANDO9322
67a82f2189 fix: (codigo-acesso) ajustado filtros 2026-02-03 11:29:45 -03:00
NANDO9322
8e95828f85 fix: ajuste de logica para erro 413 "payload grande demais" 2026-02-02 19:53:42 -03:00
NANDO9322
cea13a379c fix:(finance) ajuste nos campos do importe de extrato 2026-02-02 19:29:04 -03:00
NANDO9322
a51401d9ba feat(finance): overhaul completo do financeiro (Import, Filtros, UI)
- Melhora Importação: ignora linhas vazias/inválidas automaticamente.
- Filtros Server-Side: busca em todas as páginas (FOT, Nome, etc.).
- Colunas Novas: adiciona Curso, Instituição, Ano e Empresa na tabela.
- UI/UX: Corrige ordenação (vazios no fim) e adiciona scrollbar no topo.
2026-02-02 19:16:37 -03:00
NANDO9322
542c8d4388 feat(profissionais): implementa importação via Excel e dashboard de equipe
Frontend:
- Implementa leitura e processamento de arquivos Excel (.xlsx) para Profissionais.
- Adiciona validação e truncamento automático de campos (CPF, UF, Whatsapp) para evitar erros.
- Cria lógica de mapeamento automático de Funções (ex: Fotógrafo, Cinegrafista).
- Adiciona card "Total Geral" na dashboard de Equipe (/equipe).

Backend:
- Cria endpoint e serviço de importação para cadastro em massa.
- Implementa tratamento de erros robusto e prevenção de panics (nil pointers).
- Ajusta queries de inserção e atualização (Upsert) no banco de dados.

Geral:
- Funcionalidade de importação estabilizada e validada.
- Implementa fluxo de edicao inteligente e otimizacoes
- Implementa deteccao de CPF existente no Admin (TeamPage) com redirecionamento automatico para Edicao.
- Isola formulario em ProfessionalModal para performance.
- Adiciona pre-checagem de CPF na API publica (retornando apenas dados seguros).
- Otimiza renderizacao da lista de equipe.
2026-02-02 16:15:16 -03:00
NANDO9322
a6ba63203a feat(agenda): Implementação completa da Importação de Agenda e melhorias de UX
- Backend: Implementada lógica de importação de Agenda (Upsert) em `internal/agenda`.
- Backend: Criadas queries SQL para busca de FOT e Tipos de Evento.
- Frontend: Adicionada aba de Importação de Agenda em `ImportData.tsx`.
- Frontend: Implementado Parser de Excel para Agenda com tratamento de datas.
- UX: Adicionada Barra de Rolagem Superior Sincronizada na Tabela de Eventos.
- UX: Implementado `LoadingScreen` global unificado (Auth + DataContext).
- Perf: Adicionada Paginação no `EventTable` para resolver travamentos com grandes listas.
- Security: Proteção de rotas de importação (RequireWriteAccess).
2026-02-02 12:10:13 -03:00
NANDO9322
60155bdf56 feat: implementação da Importação de Excel e melhorias na Gestão de FOT
Backend:
- Implementa rota e serviço de importação em lote (`/api/import/fot`).
- Adiciona suporte a "Upsert" para atualizar registros existentes sem duplicar.
- Corrige e migra schema do banco: ajuste na precisão de valores monetários e correções de sintaxe.

Frontend:
- Cria página de Importação de Dados com visualização de log e tratamento de erros.
- Implementa melhorias de UX nas tabelas (Importação e Gestão de FOT):
  - Contadores de total de registros.
  - Funcionalidade "Drag-to-Scroll" (arrastar para rolar).
  - Barra de rolagem superior sincronizada na tabela de gestão.
- Corrige bug de "tela branca" ao filtrar dados vazios na gestão.
2026-02-02 11:19:56 -03:00
NANDO9322
d471b4fc0d - Adiciona filtro de role RESEARCHER na tela de Aprovação.
- Implementa edição de Role na tela de Aprovação com suporte a funções virtuais (Cine/Recep).
- Atualiza apiService com updateUserRole.
- Corrige visibilidade do Dashboard para RESEARCHER (DataContext).
- Backend: ListPending retorna tipo_profissional original.
2026-01-31 14:20:51 -03:00
NANDO9322
b497ea8c72 feat(settings): implementa aba sistema e vincula perfil à api
- adiciona aba 'Sistema' nas configurações para gestão de tabelas auxiliares (CRUD) e tabela de preços
- vincula formulário de perfil com dados do usuário logado (API /api/profissionais)
- oculta abas 'Notificações' e 'Aparência'
- corrige layout e bugs de estado na página de configurações
2026-01-31 12:48:42 -03:00
NANDO9322
c71095b5f3 feat: Refatoração da página de Perfil com novo layout Sidebar e correções de Header e Backend 2026-01-31 11:54:26 -03:00
NANDO9322
d72b492882 Merge branch 'hml' into appwrite-hml 2026-01-30 19:21:50 -03:00
NANDO9322
6b9299dd7a feat: improve logistics notification persistence and finance grouping 2026-01-30 19:16:54 -03:00
NANDO9322
0109f717f3 Merge branch 'hml' into appwrite-hml 2026-01-30 13:56:41 -03:00
NANDO9322
c1af6eb8b4 feat(ui): melhorias na usabilidade do painel e correções 2026-01-30 13:55:36 -03:00
NANDO9322
7c64e33c20 Merge branch 'hml' into appwrite-hml 2026-01-30 13:35:38 -03:00
NANDO9322
a762bf8b5e feat(finance): melhorias no extrato UX e correções de config 2026-01-30 13:30:30 -03:00
Andre F. Rodrigues
14880f682f
Merge pull request #49 from rede5/hml
Hml
2026-01-29 22:18:04 -03:00
NANDO9322
8469f7d55c Merge branch 'dev' into hml 2026-01-29 22:16:36 -03:00
NANDO9322
765496065a feat: suporte a FOT alfanumérico e correções de UI
Backend:
- Migration 007: alterada coluna `fot` de INTEGER para VARCHAR(50).
- Ajustados serviços (finance, agenda) e handlers para processar FOT como string.
- Regenerados modelos e queries do banco de dados (sqlc).

Frontend:
- [FotForm](cci:1://file:///c:/Projetos/photum/frontend/components/FotForm.tsx:13:0-348:2): Permitido input de texto/alfanumérico (ex: "20000MG").
- [EventTable](cci:1://file:///c:/Projetos/photum/frontend/components/EventTable.tsx:29:0-684:2): Removido bloqueio do botão "Aprovar" para equipes incompletas.
- [Dashboard](cci:1://file:///c:/Projetos/photum/frontend/pages/Dashboard.tsx:31:0-1749:2): Corrigida duplicação do campo "Qtd Formandos".
- [Dashboard](cci:1://file:///c:/Projetos/photum/frontend/pages/Dashboard.tsx:31:0-1749:2): Filtros de "Gerenciar Equipe" agora usam funções dinâmicas (IDs) em vez de valores fixos.
- `Navbar`: Logo agora redireciona corretamente para `/painel`.
2026-01-29 22:15:14 -03:00
Andre F. Rodrigues
b726a499f9
Merge pull request #48 from rede5/dev
merge dev > hml
2026-01-29 18:33:40 -03:00
Andre F. Rodrigues
a76cad50d7
Merge pull request #47 from rede5/dev
atualizacao dev > hml
2026-01-29 18:24:33 -03:00
NANDO9322
86fbc864ab chore: sync appwrite deploy 2026-01-29 17:01:11 -03:00
Caio Machado
348d99abd9
Merge pull request #46 from rede5/feat/dokku-setup
fix(swagger): usar URL relativa para doc.json
2026-01-29 14:58:53 -03:00
Caio Machado
c043b2e243 fix(swagger): usar URL relativa para doc.json
Corrige o problema do Swagger UI mostrando localhost:8080 em produção.
A URL relativa "doc.json" funciona em qualquer ambiente pois o browser
resolve automaticamente o caminho completo baseado na URL atual.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 14:53:17 -03:00
Caio Machado
3e3116d2fa
Merge pull request #45 from rede5/feat/dokku-setup
feat: atualiza URL do Swagger para suportar ambientes de produção
2026-01-29 14:27:50 -03:00
Caio Machado
428ceed0cb feat: atualiza URL do Swagger para suportar ambientes de produção 2026-01-29 14:25:41 -03:00
Caio Machado
9981e8895c
Merge pull request #44 from rede5/feat/dokku-setup
feat: adiciona configuração do Docker e arquivos de ambiente para sup…
2026-01-29 12:48:57 -03:00
Caio Machado
b02891a14c feat: adiciona configuração do Docker e arquivos de ambiente para suporte ao Dokku 2026-01-29 12:46:25 -03:00