20 Commits

Author SHA1 Message Date
69f4fbfd7d feat(debitos): exibe valores atualizados no extrato de débitos e ajusta cabeçalho de pagamentos
Some checks failed
Dev Build & Deploy Portal / build-deploy (push) Failing after 13m59s
- ExtratoDebitosPortal: adiciona formatPeriodoRef/labelEstadoConta para o
  extrato em PDF (mantido junto com temDebitoSelecionado já mesclado)
- debitos.vue: separa lançado/atualizado/multa/juros/desconto na tabela
  e nos totalizadores, em vez de só principal/multa/juros
- pagamentos.vue: cabeçalho do accordion passa a mostrar o número da
  conta tributo junto da descrição

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-25 10:55:51 -03:00
11bc109e4b feat(certidoes): formatar datas de emissão e validade das certidões
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m36s
2026-05-26 15:40:07 -03:00
7fd1460bca feat(certidao): adicionar tratamento de erro para certidão já existente e decodificação de erros do backend
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 3m15s
2026-05-25 21:36:19 -03:00
c6adda9bfb feat(certidao): implementar verificação e download de certidão existente
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m31s
2026-05-25 19:28:54 -03:00
5e528f234b feat(auth): adicionar tratamento de erro ao salvar estado PKCE
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m36s
feat(proxy): melhorar tratamento de erro para backend inacessível
feat(certidao): adicionar validação de CPF e CNPJ
feat(iptu): ajustar manipulação de dados de imóveis retornados
feat(error): criar componente de erro para exibição de mensagens
2026-05-25 18:59:41 -03:00
e4c468e61e feat(portal): extratos reais, certidão dinâmica e filtros self-scoped
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m58s
Integra débitos, pagamentos e guias emitidas com API via composables e modais de extrato. Simplifica filtros do portal ao escopo do contribuinte logado. Refatora emissão pública de certidão com modelos dinâmicos e contrato idModelo. Corrige status de taxas (2=Paga, 3=Cancelada) e melhorias no proxy BFF/Keycloak.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-22 16:21:59 -03:00
94d49e73a2 refactor(alvara): remover módulo de alvarás do portal
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m44s
Remove página, navegação e chamadas de API de alvarás do portal
do contribuinte.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-21 20:31:07 -03:00
222b098a35 feat(acessibilidade): melhorar a gestão do tema escuro e otimizar a leitura do localStorage
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m29s
2026-05-20 21:46:30 -03:00
a48eea53bc feat(portal): módulo de emissão de taxas para o contribuinte
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m42s
- Páginas taxas/index (listagem com status e ações) e taxas/emitir (wizard)
- CamposEmissaoTaxa: campos dinâmicos por tipo (data, numérico, inputmask, texto)
- useEmissaoTaxaPortal: composable com fluxo completo — busca catálogo, calcula
  vencimento/multa-juros, valida e emite taxa via API
- taxaService: client HTTP para os endpoints /api/v1/contribuinte/taxas
- atributoMascara, formatacao, formulaCalculo: utilitários de suporte
- portal.vue: item "Taxas" no menu de navegação
- painel.vue: atalho rápido "Emitir Taxa" com ícone pi-file-export

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 17:58:52 -03:00
fa557af73c feat(pagamentos): adicionar idTaxa nos mocks e atualizar serviço de comprovante
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 3m12s
2026-05-20 13:27:22 -03:00
425146d59a feat(pagamentos): atualizar forma de pagamento e adicionar idContaCorrente nos mocks
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 3m13s
feat(painel): modificar último pagamento para data e adicionar formatação de data
2026-05-20 12:57:55 -03:00
0c9930d8f7 fix(certidao): corrigir reinicialização do documento com base na autenticação do usuário
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m35s
2026-05-20 12:51:09 -03:00
ccc428f7b5 feat(portal): adicionar mocks de dados para resumo e atividades no painel
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m28s
2026-05-20 00:47:30 -03:00
c650f5a28f feat(aviso): implementar serviço para listar avisos e integrar na página inicial
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m31s
2026-05-20 00:29:06 -03:00
e282628952 feat(dados): adicionar formatação de documentos para exibição correta de CPF e CNPJ
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m30s
2026-05-20 00:20:52 -03:00
3fb5cdb6a8 feat(portal): adicionar navegação e mock de dados para certidões, alvarás e pagamentos
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m29s
2026-05-20 00:13:10 -03:00
4ee054f98f feat: adicionar desabilitação de botões durante carregamento em várias páginas
All checks were successful
Dev Build & Deploy Portal / build-deploy (push) Successful in 2m33s
2026-05-19 18:25:57 -03:00
f3e46cca4c feat(portal): simplificar fluxo de primeiro acesso para Opção B
Remove etapas OTP (canal, código, senha). Novo fluxo: identificar (CPF/CNPJ)
→ confirmar (mostra nome + email mascarado) → sucesso (email enviado via Keycloak).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 18:09:33 -03:00
8905e7f27c feat: remove tela intermediária de login — home vai direto ao Keycloak
Remove src/pages/login.vue e atualiza index.vue e primeiro-acesso.vue
para chamar login() diretamente com login_hint pré-preenchido, eliminando
o passo desnecessário antes do redirect ao Keycloak.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 20:44:03 -03:00
71e1a3f970 feat: portal Nuxt 3 com BFF + autenticação Keycloak (Fase 1)
Substitui o portal Vite+Vue puro por Nuxt 3 com BFF embutido (Nitro server
routes) e fluxo de autenticação Keycloak via token-handler pattern.

Server (BFF):
- server/api/auth/{login,callback,refresh,logout,me}.ts — Keycloak PKCE
- server/api/proxy/[...path].ts — proxy autenticado pro core-api com tenant
- server/utils/{session,keycloak,pkce,redis,tenant,prefeitura}.ts
- server/middleware/csrf.ts — Origin check + header X-Requested-With

Auth (token-handler pattern):
- JWT vive só server-side em Redis; cliente recebe cookie session-id opaco
- Refresh transparente quando access_token expira
- Multi-tenant via hostname → X-Municipio/X-Dominio injetados no proxy
- Realm dedicado: modumfiscal-portal-{env}

Frontend (Nuxt):
- src/pages/** (file-based routing) substitui src/views/
- Plugins SSR: prefeitura (bootstrap pré-hidratação) + auth (hidrata user via /api/auth/me)
- Composables useAuth, useApi, useLoginModal, useFocusLoginInput
- Modal global de login quando middleware /portal/** bloqueia
- Splash overlay no boot esconde flash do preset inicial pro tema dinâmico
- DocumentoInput bloqueia campo quando user autenticado (pré-preenche em certidão/IPTU)

Removidos:
- index.html, vite.config.js, src/main.js, src/router/
- src/config/apiClient.js (substituído por \$fetch via /api/proxy)
- src/services/{auth,prefeitura}Service.js (lógica migrada pra composables/plugins)
- src/mocks/ (não mais usado)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 20:31:19 -03:00