From 23604033feb1d9ca862142445dcbc7beb07daa2b Mon Sep 17 00:00:00 2001 From: Kenio de Souza Date: Tue, 28 Oct 2025 17:18:05 -0300 Subject: [PATCH] =?UTF-8?q?fix(eslint):=20Corre=C3=A7=C3=A3o=20autom=C3=A1?= =?UTF-8?q?tica=20de=20c=C3=B3digo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eslint.config.mjs | 136 ++-- .../administrativo/andamentos/page.tsx | 10 +- .../administrativo/atos/partes-tipos/page.tsx | 10 +- .../administrativo/bairros/page.tsx | 6 +- .../administrativo/censec/naturezas/page.tsx | 6 +- .../administrativo/censec/qualidades/page.tsx | 6 +- .../centrais/censec/centrais/page.tsx | 6 +- .../censec/naturezas-litigios/page.tsx | 6 +- .../centrais/censec/qualidades/page.tsx | 6 +- .../centrais/censec/tipos-atos/page.tsx | 6 +- .../administrativo/cidades/page.tsx | 6 +- .../administrativo/imoveis/rurais/page.tsx | 2 +- .../imoveis/tipos-logradouros/page.tsx | 6 +- .../administrativo/imoveis/urbanos/page.tsx | 4 +- .../administrativo/medidas/tipos/page.tsx | 6 +- .../administrativo/minutas/naturezas/page.tsx | 12 +- .../pessoas/estados-civis/page.tsx | 6 +- .../administrativo/pessoas/fisicas/page.tsx | 4 +- .../administrativo/pessoas/juridicas/page.tsx | 5 +- .../pessoas/profissoes/page.tsx | 6 +- .../pessoas/regimes-bens/page.tsx | 6 +- .../pessoas/regimes-comunhao/page.tsx | 6 +- .../administrativo/reconhecimentos/page.tsx | 10 +- .../(t_servico_tipo)/servicos-tipo/page.tsx | 92 ++- .../t_servico_tipo/TServicoTipoForm.tsx | 741 ++++++++---------- .../t_servico_tipo/TServicoTipoTable.tsx | 9 +- .../TServicoEtiquetaReadData.ts | 8 +- .../TServicoEtiquetaRemoveData.ts | 7 +- .../TServicoEtiquetaSaveData.ts | 10 +- .../TServicoTipo/TServicoTipoEditData.ts | 6 +- .../TServicoTipo/TServicoTipoIndexData.ts | 5 +- .../TServicoTipo/TServicoTipoRemoveData.ts | 7 +- .../TServicoTipo/TServicoTipoSaveData.ts | 16 +- .../TTBReconhecimentoTipoIndexData.ts | 4 +- .../useCCaixaServicoReadHook.ts | 6 +- .../g_emolumento/useGEmolumentoReadHook.ts | 1 - .../useGEmolumentoItemReadHook.ts | 11 +- .../useGMarcacaoTipoReadHook.ts | 7 +- .../useTServicoEtiquetaReadHook.ts | 33 +- .../useTServicoEtiquetaRemoveHook.ts | 8 +- .../useTServicoEtiquetaSaveHook.ts | 14 +- .../t_servico_tipo/useTServicoTipoEditHook.ts | 9 +- .../t_servico_tipo/useTServicoTipoReadHook.ts | 6 +- .../useTServicoTipoRemoveHook.ts | 8 +- .../t_servico_tipo/useTServicoTipoSaveHook.ts | 8 +- .../useTTBReconhecimentoTipoReadHook.ts | 10 +- .../_interfaces/CCaixaServicoInterface.ts | 30 +- .../_interfaces/CCaixaServicoReadInterface.ts | 2 +- .../_interfaces/GEmolumentoInterface.ts | 34 +- .../_interfaces/GEmolumentoItemInterface.ts | 58 +- .../GEmolumentoItemReadInterface.ts | 6 +- .../_interfaces/GEmolumentoReadInterface.ts | 4 +- .../_interfaces/GMarcacaoTipoInterface.ts | 2 +- .../_interfaces/GMarcacaoTipoReadInterface.ts | 2 +- .../_interfaces/TServicoEtiquetaInterface.ts | 8 +- .../TServicoEtiquetaServicoIdReadInterface.ts | 4 +- .../_interfaces/TServicoTipoInterface.ts | 50 +- .../TTBReconhecimentoTipoInterface.ts | 6 +- .../TTBReconhecimentoTipoReadInterface.ts | 6 +- .../_schemas/TServicoEtiquetaSchema.ts | 1 - .../cadastros/_schemas/TServicoTipoSchema.ts | 16 +- .../CCaixaServicoIndexService.ts | 6 +- .../g_emolumento/GEmolumentoIndexService.ts | 6 +- .../GEmolumentoItemValorService.ts | 2 +- .../GMarcacaoTipoIndexService.ts | 6 +- .../TServicoEtiquetaSaveService.ts | 5 +- .../TServicoEtiquetaServicoIdService.ts | 5 +- .../t_servico_tipo/TServicoTipoEditService.ts | 2 +- .../TServicoTipoIndexService.ts | 2 +- .../TServicoTipoRemoveService.ts | 2 +- .../t_servico_tipo/TServicoTipoSaveService.ts | 2 +- .../TTBReconhecimentoTipoIndexService.ts | 2 +- src/app/(protected)/layout.tsx | 8 +- src/app/(protected)/page.tsx | 74 +- .../confirm_exclusion/ConfirmExclusion.tsx | 197 +++-- .../confirm_exclusion/useConfirmExclusion.ts | 14 +- src/components/app-sidebar.tsx | 31 +- src/components/nav-main.tsx | 4 +- src/components/nav-projects.tsx | 4 +- src/components/ui/input-otp.tsx | 51 +- src/components/ui/sidebar.tsx | 2 +- src/components/ui/switch.tsx | 23 +- src/components/ui/table.tsx | 86 +- .../CCaixaServico/CCaixaServicoSelect.tsx | 179 +++-- .../components/GCidade/GCidadeForm.tsx | 1 - .../GEmolumento/GEmolumentoSelect.tsx | 270 ++++--- .../GMarcacaoTipo/GMarcacaoTipoSelect.tsx | 189 +++-- .../GMedidaTipo/GMedidaTipoIndex.tsx | 1 - .../components/GNatureza/GNaturezaIndex.tsx | 1 - .../components/GTBBairro/GTBBairroIndex.tsx | 1 - .../components/GTBBairro/GTBBairroTable.tsx | 1 - .../GTBEstadoCivil/GTBEstadoCivilIndex.tsx | 1 - .../GTBRegimeBens/GTBRegimeBensForm.tsx | 1 - .../GTBRegimeComunhaoIndex.tsx | 1 - .../GTBTipoLogradouroIndex.tsx | 1 - .../TAtoParteTipo/TAtoParteTipoIndex.tsx | 1 - .../components/TCensec/TCensecIndex.tsx | 1 - .../TCensecNaturezaLitigioIndex.tsx | 1 - .../TCensecQualidade/TCensecQualidadeForm.tsx | 1 - .../TCensecQualidadeIndex.tsx | 1 - .../TCensecQualidadeAtoIndex.tsx | 1 - .../TCensecTipoAto/TCensecTipoAtoForm.tsx | 1 - .../TCensecTipoAto/TCensecTipoAtoIndex.tsx | 1 - .../TCensecTipoNaturezaForm.tsx | 1 - .../TCensecTipoNaturezaIndex.tsx | 1 - .../components/TImovel/TImovelForm.tsx | 2 - .../components/TImovel/TImovelIndex.tsx | 1 - .../TImovelUnidadeRuralIndex.tsx | 1 - .../TImovelUnidadeUrbanoIndex.tsx | 1 - .../TPessoaFisica/TPessoaFisicaColumns.tsx | 1 - .../TPessoaFisica/TPessoaFisicaForm.tsx | 1 - .../TPessoaJuridicaColumns.tsx | 1 - .../TPessoaRepresentanteIndex.tsx | 2 - .../TTBAndamentoServicoIndex.tsx | 1 - .../TTBReconhecimentoTipoSelect.tsx | 177 +++-- .../useTImovelUnidadeRuralDeleteHook.ts | 1 - .../useTImovelUnidadeRuralSaveHook.ts | 1 - .../useTImovelUnidadeUrbanoDeleteHook.ts | 1 - .../useTImovelUnidadeUrbanoSaveHook.ts | 1 - .../useTPessoaFisicaIndexHook.ts | 1 - .../TPessoaFisica/useTPessoaFisicaSaveHook.ts | 1 - .../useTPessoaJuridicaIndexHook.ts | 1 - .../useTPessoaJuridicaSaveHook.ts | 1 - src/shared/actions/api/buildQueryString.ts | 2 +- .../CategoriaServicoSelect.tsx | 152 ++-- .../confirmacao/ConfirmacaoCheckBox.tsx | 12 +- .../confirmacao/ConfirmacaoSelect.tsx | 6 +- src/shared/components/dataTable/DataTable.tsx | 1 - .../numericInputField/NumericInputField.tsx | 25 +- .../tipoPessoa/tipoPessoaSelect.tsx | 27 +- src/shared/enums/CategoriaServicoEnum.ts | 12 +- .../hooks/auth/useGUsuarioGetJWTHook.ts | 1 - 132 files changed, 1454 insertions(+), 1703 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index b754e85..be5690a 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,74 +1,70 @@ -import js from "@eslint/js"; -import reactPlugin from "eslint-plugin-react"; -import reactHooks from "eslint-plugin-react-hooks"; -import jsxA11y from "eslint-plugin-jsx-a11y"; -import importPlugin from "eslint-plugin-import"; -import tseslint from "typescript-eslint"; +import js from '@eslint/js'; +import reactPlugin from 'eslint-plugin-react'; +import reactHooks from 'eslint-plugin-react-hooks'; +import jsxA11y from 'eslint-plugin-jsx-a11y'; +import importPlugin from 'eslint-plugin-import'; +import tseslint from 'typescript-eslint'; export default [ - js.configs.recommended, - ...tseslint.configs.recommended, - { - files: ["**/*.ts", "**/*.tsx"], - ignores: ["node_modules/**", ".next/**", "out/**", "dist/**"], - languageOptions: { - ecmaVersion: "latest", - sourceType: "module", - parser: tseslint.parser, - parserOptions: { - project: "./tsconfig.json", - }, - globals: { - React: true, - JSX: true, - }, - }, - plugins: { - react: reactPlugin, - "react-hooks": reactHooks, - "jsx-a11y": jsxA11y, - import: importPlugin, - }, - settings: { - react: { version: "detect" }, - "import/resolver": { - typescript: { - alwaysTryTypes: true, - project: "./tsconfig.json", - }, - node: { - extensions: [".js", ".jsx", ".ts", ".tsx"], - }, - }, - }, - rules: { - "react/react-in-jsx-scope": "off", - "react/jsx-uses-react": "off", - "react/jsx-uses-vars": "warn", - "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "warn", - "import/order": [ - "error", - { - groups: [ - ["builtin", "external"], - ["internal"], - ["parent", "sibling", "index"], - ], - pathGroups: [ - { - pattern: "@/**", - group: "internal", - position: "after", - }, - ], - alphabetize: { order: "asc", caseInsensitive: true }, - "newlines-between": "always", - }, - ], - "import/no-duplicates": "error", - "import/newline-after-import": ["error", { count: 1 }], - "no-unused-vars": "warn", - }, + js.configs.recommended, + ...tseslint.configs.recommended, + { + files: ['**/*.ts', '**/*.tsx'], + ignores: ['node_modules/**', '.next/**', 'out/**', 'dist/**'], + languageOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + parser: tseslint.parser, + parserOptions: { + project: './tsconfig.json', + }, + globals: { + React: true, + JSX: true, + }, }, + plugins: { + react: reactPlugin, + 'react-hooks': reactHooks, + 'jsx-a11y': jsxA11y, + import: importPlugin, + }, + settings: { + react: { version: 'detect' }, + 'import/resolver': { + typescript: { + alwaysTryTypes: true, + project: './tsconfig.json', + }, + node: { + extensions: ['.js', '.jsx', '.ts', '.tsx'], + }, + }, + }, + rules: { + 'react/react-in-jsx-scope': 'off', + 'react/jsx-uses-react': 'off', + 'react/jsx-uses-vars': 'warn', + 'react-hooks/rules-of-hooks': 'error', + 'react-hooks/exhaustive-deps': 'warn', + 'import/order': [ + 'error', + { + groups: [['builtin', 'external'], ['internal'], ['parent', 'sibling', 'index']], + pathGroups: [ + { + pattern: '@/**', + group: 'internal', + position: 'after', + }, + ], + alphabetize: { order: 'asc', caseInsensitive: true }, + 'newlines-between': 'always', + }, + ], + 'import/no-duplicates': 'error', + 'import/newline-after-import': ['error', { count: 1 }], + 'no-unused-vars': 'warn', + }, + }, ]; diff --git a/src/app/(protected)/(administrativo)/administrativo/andamentos/page.tsx b/src/app/(protected)/(administrativo)/administrativo/andamentos/page.tsx index 3861396..bb34147 100644 --- a/src/app/(protected)/(administrativo)/administrativo/andamentos/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/andamentos/page.tsx @@ -1,9 +1,5 @@ -import TTBAndamentoServicoIndex from "@/packages/administrativo/components/TTBAndamentoServico/TTBAndamentoServicoIndex"; +import TTBAndamentoServicoIndex from '@/packages/administrativo/components/TTBAndamentoServico/TTBAndamentoServicoIndex'; export default function TAtoParteTipo() { - - return ( - < TTBAndamentoServicoIndex /> - ); - -} \ No newline at end of file + return ; +} diff --git a/src/app/(protected)/(administrativo)/administrativo/atos/partes-tipos/page.tsx b/src/app/(protected)/(administrativo)/administrativo/atos/partes-tipos/page.tsx index c00fb3e..79cb7cd 100644 --- a/src/app/(protected)/(administrativo)/administrativo/atos/partes-tipos/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/atos/partes-tipos/page.tsx @@ -1,9 +1,5 @@ -import TAtoParteTipoIndex from "@/packages/administrativo/components/TAtoParteTipo/TAtoParteTipoIndex"; +import TAtoParteTipoIndex from '@/packages/administrativo/components/TAtoParteTipo/TAtoParteTipoIndex'; export default function TAtoParteTipo() { - - return ( - < TAtoParteTipoIndex /> - ); - -} \ No newline at end of file + return ; +} diff --git a/src/app/(protected)/(administrativo)/administrativo/bairros/page.tsx b/src/app/(protected)/(administrativo)/administrativo/bairros/page.tsx index d391288..e16ff6b 100644 --- a/src/app/(protected)/(administrativo)/administrativo/bairros/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/bairros/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import GTBBairroIndex from "@/packages/administrativo/components/GTBBairro/GTBBairroIndex"; +import GTBBairroIndex from '@/packages/administrativo/components/GTBBairro/GTBBairroIndex'; export default function GCidadePage() { - return ( - < GTBBairroIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/censec/naturezas/page.tsx b/src/app/(protected)/(administrativo)/administrativo/censec/naturezas/page.tsx index e77066d..db66051 100644 --- a/src/app/(protected)/(administrativo)/administrativo/censec/naturezas/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/censec/naturezas/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import TCensecTipoNaturezaIndex from "@/packages/administrativo/components/TCensecTipoNatureza/TCensecTipoNaturezaIndex"; +import TCensecTipoNaturezaIndex from '@/packages/administrativo/components/TCensecTipoNatureza/TCensecTipoNaturezaIndex'; export default function TCensecTipoNaturezaPage() { - return ( - < TCensecTipoNaturezaIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/censec/qualidades/page.tsx b/src/app/(protected)/(administrativo)/administrativo/censec/qualidades/page.tsx index 94b9d04..391676d 100644 --- a/src/app/(protected)/(administrativo)/administrativo/censec/qualidades/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/censec/qualidades/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import TCensecQualidadeIndex from "@/packages/administrativo/components/TCensecQualidade/TCensecQualidadeIndex"; +import TCensecQualidadeIndex from '@/packages/administrativo/components/TCensecQualidade/TCensecQualidadeIndex'; export default function TCensecQualidadePage() { - return ( - < TCensecQualidadeIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/centrais/censec/centrais/page.tsx b/src/app/(protected)/(administrativo)/administrativo/centrais/censec/centrais/page.tsx index 8196519..a58a3c8 100644 --- a/src/app/(protected)/(administrativo)/administrativo/centrais/censec/centrais/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/centrais/censec/centrais/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import TCensecIndex from "@/packages/administrativo/components/TCensec/TCensecIndex"; +import TCensecIndex from '@/packages/administrativo/components/TCensec/TCensecIndex'; export default function GTBEstadoCivilPage() { - return ( - < TCensecIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/centrais/censec/naturezas-litigios/page.tsx b/src/app/(protected)/(administrativo)/administrativo/centrais/censec/naturezas-litigios/page.tsx index d195fb7..f9562b4 100644 --- a/src/app/(protected)/(administrativo)/administrativo/centrais/censec/naturezas-litigios/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/centrais/censec/naturezas-litigios/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import TCensecNaturezaLitigioIndex from "@/packages/administrativo/components/TCensecNaturezaLitigio/TCensecNaturezaLitigioIndex"; +import TCensecNaturezaLitigioIndex from '@/packages/administrativo/components/TCensecNaturezaLitigio/TCensecNaturezaLitigioIndex'; export default function GCidadePage() { - return ( - < TCensecNaturezaLitigioIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/centrais/censec/qualidades/page.tsx b/src/app/(protected)/(administrativo)/administrativo/centrais/censec/qualidades/page.tsx index c061f40..98f252f 100644 --- a/src/app/(protected)/(administrativo)/administrativo/centrais/censec/qualidades/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/centrais/censec/qualidades/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import TCensecQualidadeIndex from "@/packages/administrativo/components/TCensecQualidade/TCensecQualidadeIndex"; +import TCensecQualidadeIndex from '@/packages/administrativo/components/TCensecQualidade/TCensecQualidadeIndex'; export default function GTBEstadoCivilPage() { - return ( - < TCensecQualidadeIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/centrais/censec/tipos-atos/page.tsx b/src/app/(protected)/(administrativo)/administrativo/centrais/censec/tipos-atos/page.tsx index 352b068..257110c 100644 --- a/src/app/(protected)/(administrativo)/administrativo/centrais/censec/tipos-atos/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/centrais/censec/tipos-atos/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import TCensecTipoAtoIndex from "@/packages/administrativo/components/TCensecTipoAto/TCensecTipoAtoIndex"; +import TCensecTipoAtoIndex from '@/packages/administrativo/components/TCensecTipoAto/TCensecTipoAtoIndex'; export default function GTBEstadoCivilPage() { - return ( - < TCensecTipoAtoIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/cidades/page.tsx b/src/app/(protected)/(administrativo)/administrativo/cidades/page.tsx index 498d0ee..93f8b77 100644 --- a/src/app/(protected)/(administrativo)/administrativo/cidades/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/cidades/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import GCidadeIndex from "@/packages/administrativo/components/GCidade/GCidadeIndex"; +import GCidadeIndex from '@/packages/administrativo/components/GCidade/GCidadeIndex'; export default function GCidadePage() { - return ( - < GCidadeIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/imoveis/rurais/page.tsx b/src/app/(protected)/(administrativo)/administrativo/imoveis/rurais/page.tsx index 155e76a..b15671c 100644 --- a/src/app/(protected)/(administrativo)/administrativo/imoveis/rurais/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/imoveis/rurais/page.tsx @@ -1,6 +1,6 @@ 'use client'; -import TImovelIndex from "@/packages/administrativo/components/TImovel/TImovelIndex"; +import TImovelIndex from '@/packages/administrativo/components/TImovel/TImovelIndex'; export default function TImovelRuralPage() { return ( diff --git a/src/app/(protected)/(administrativo)/administrativo/imoveis/tipos-logradouros/page.tsx b/src/app/(protected)/(administrativo)/administrativo/imoveis/tipos-logradouros/page.tsx index 04f2049..1b9d834 100644 --- a/src/app/(protected)/(administrativo)/administrativo/imoveis/tipos-logradouros/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/imoveis/tipos-logradouros/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import GTBTipoLogradouroIndex from "@/packages/administrativo/components/GTBTipoLogradouro/GTBTipoLogradouroIndex"; +import GTBTipoLogradouroIndex from '@/packages/administrativo/components/GTBTipoLogradouro/GTBTipoLogradouroIndex'; export default function GMedidaTipoPage() { - return ( - < GTBTipoLogradouroIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/imoveis/urbanos/page.tsx b/src/app/(protected)/(administrativo)/administrativo/imoveis/urbanos/page.tsx index d2ed097..e356506 100644 --- a/src/app/(protected)/(administrativo)/administrativo/imoveis/urbanos/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/imoveis/urbanos/page.tsx @@ -1,6 +1,6 @@ 'use client'; -import TImovelIndex from "@/packages/administrativo/components/TImovel/TImovelIndex"; +import TImovelIndex from '@/packages/administrativo/components/TImovel/TImovelIndex'; export default function TImovelUrbanoPage() { return ( @@ -10,4 +10,4 @@ export default function TImovelUrbanoPage() { tipoClasse={1} /> ); -} \ No newline at end of file +} diff --git a/src/app/(protected)/(administrativo)/administrativo/medidas/tipos/page.tsx b/src/app/(protected)/(administrativo)/administrativo/medidas/tipos/page.tsx index f2d2b5a..67a3023 100644 --- a/src/app/(protected)/(administrativo)/administrativo/medidas/tipos/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/medidas/tipos/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import GMedidaTipoIndex from "@/packages/administrativo/components/GMedidaTipo/GMedidaTipoIndex"; +import GMedidaTipoIndex from '@/packages/administrativo/components/GMedidaTipo/GMedidaTipoIndex'; export default function GMedidaTipoPage() { - return ( - < GMedidaTipoIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/minutas/naturezas/page.tsx b/src/app/(protected)/(administrativo)/administrativo/minutas/naturezas/page.tsx index 557c8bf..9a1e352 100644 --- a/src/app/(protected)/(administrativo)/administrativo/minutas/naturezas/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/minutas/naturezas/page.tsx @@ -1,11 +1,5 @@ -import GNaturezaIndex from "@/packages/administrativo/components/GNatureza/GNaturezaIndex"; +import GNaturezaIndex from '@/packages/administrativo/components/GNatureza/GNaturezaIndex'; export default function GNaturezaPage() { - - return ( - - ); - -} \ No newline at end of file + return ; +} diff --git a/src/app/(protected)/(administrativo)/administrativo/pessoas/estados-civis/page.tsx b/src/app/(protected)/(administrativo)/administrativo/pessoas/estados-civis/page.tsx index 737c164..634d7e1 100644 --- a/src/app/(protected)/(administrativo)/administrativo/pessoas/estados-civis/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/pessoas/estados-civis/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import GTBEstadoCivilIndex from "@/packages/administrativo/components/GTBEstadoCivil/GTBEstadoCivilIndex"; +import GTBEstadoCivilIndex from '@/packages/administrativo/components/GTBEstadoCivil/GTBEstadoCivilIndex'; export default function GTBEstadoCivilPage() { - return ( - < GTBEstadoCivilIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/pessoas/fisicas/page.tsx b/src/app/(protected)/(administrativo)/administrativo/pessoas/fisicas/page.tsx index e870828..2038d74 100644 --- a/src/app/(protected)/(administrativo)/administrativo/pessoas/fisicas/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/pessoas/fisicas/page.tsx @@ -3,7 +3,5 @@ import TPessoaFisicaIndex from '@/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaIndex'; export default function TPessoaFisica() { - return ( - - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/pessoas/juridicas/page.tsx b/src/app/(protected)/(administrativo)/administrativo/pessoas/juridicas/page.tsx index d3a0eb3..a4292ef 100644 --- a/src/app/(protected)/(administrativo)/administrativo/pessoas/juridicas/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/pessoas/juridicas/page.tsx @@ -3,8 +3,5 @@ import TPessoaJuridicaIndex from '@/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaIndex'; export default function TPessoaFisica() { - - return ( - - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/pessoas/profissoes/page.tsx b/src/app/(protected)/(administrativo)/administrativo/pessoas/profissoes/page.tsx index 8ac0f10..db1b077 100644 --- a/src/app/(protected)/(administrativo)/administrativo/pessoas/profissoes/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/pessoas/profissoes/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import GTBProfissaoIndex from "@/packages/administrativo/components/GTBProfissao/GTBProfissaoIndex"; +import GTBProfissaoIndex from '@/packages/administrativo/components/GTBProfissao/GTBProfissaoIndex'; export default function GTBEstadoCivilPage() { - return ( - < GTBProfissaoIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/pessoas/regimes-bens/page.tsx b/src/app/(protected)/(administrativo)/administrativo/pessoas/regimes-bens/page.tsx index 52f0ffd..27a7d23 100644 --- a/src/app/(protected)/(administrativo)/administrativo/pessoas/regimes-bens/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/pessoas/regimes-bens/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import GTBRegimeBensIndex from "@/packages/administrativo/components/GTBRegimeBens/GTBRegimeBensIndex"; +import GTBRegimeBensIndex from '@/packages/administrativo/components/GTBRegimeBens/GTBRegimeBensIndex'; export default function GTBRegimeBensPage() { - return ( - < GTBRegimeBensIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/pessoas/regimes-comunhao/page.tsx b/src/app/(protected)/(administrativo)/administrativo/pessoas/regimes-comunhao/page.tsx index b513d3d..6742deb 100644 --- a/src/app/(protected)/(administrativo)/administrativo/pessoas/regimes-comunhao/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/pessoas/regimes-comunhao/page.tsx @@ -1,9 +1,7 @@ 'use client'; -import GTBRegimeComunhaoIndex from "@/packages/administrativo/components/GTBRegimeComunhao/GTBRegimeComunhaoIndex"; +import GTBRegimeComunhaoIndex from '@/packages/administrativo/components/GTBRegimeComunhao/GTBRegimeComunhaoIndex'; export default function GTBRegimeBensPage() { - return ( - < GTBRegimeComunhaoIndex /> - ); + return ; } diff --git a/src/app/(protected)/(administrativo)/administrativo/reconhecimentos/page.tsx b/src/app/(protected)/(administrativo)/administrativo/reconhecimentos/page.tsx index 58247dc..04e411e 100644 --- a/src/app/(protected)/(administrativo)/administrativo/reconhecimentos/page.tsx +++ b/src/app/(protected)/(administrativo)/administrativo/reconhecimentos/page.tsx @@ -1,9 +1,5 @@ -import TTBReconhecimentoTipoIndex from "@/packages/administrativo/components/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndex"; +import TTBReconhecimentoTipoIndex from '@/packages/administrativo/components/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndex'; export default function TAtoParteTipo() { - - return ( - < TTBReconhecimentoTipoIndex /> - ); - -} \ No newline at end of file + return ; +} diff --git a/src/app/(protected)/(cadastros)/cadastros/(t_servico_tipo)/servicos-tipo/page.tsx b/src/app/(protected)/(cadastros)/cadastros/(t_servico_tipo)/servicos-tipo/page.tsx index adb453a..5215447 100644 --- a/src/app/(protected)/(cadastros)/cadastros/(t_servico_tipo)/servicos-tipo/page.tsx +++ b/src/app/(protected)/(cadastros)/cadastros/(t_servico_tipo)/servicos-tipo/page.tsx @@ -30,7 +30,9 @@ export default function TServicoTipoPage() { const { editTServicoTipo } = useTServicoTipoEditHook(); // Estados - const [selectedServicoTipo, setSelectedServicoTipo] = useState(null); + const [selectedServicoTipo, setSelectedServicoTipo] = useState( + null, + ); const [isFormOpen, setIsFormOpen] = useState(false); // Estado para saber qual item será deletado @@ -49,45 +51,45 @@ export default function TServicoTipoPage() { /** * Abre o formulário no modo de edição ou criação */ - const handleOpenForm = useCallback(async (data: TServicoTipoInterface | null) => { + const handleOpenForm = useCallback( + async (data: TServicoTipoInterface | null) => { + // Fecha o formulário antes de reabrir (garante reset limpo) + setIsFormOpen(false); - // Fecha o formulário antes de reabrir (garante reset limpo) - setIsFormOpen(false); - - // Se nenhum dado for passado, abre o formulário em modo de criação - if (!data) { - setSelectedServicoTipo(null); - setIsFormOpen(true); - return; - } - - // Define o item selecionado para edição - setSelectedServicoTipo(data); - - // Aguarda carregar/editar o registro (o hook espera o objeto TServicoTipoInterface) - await editTServicoTipo(data); - - // Atualiza a lista de dados - await fetchTServicoTipo(); - - setIsFormOpen(true); - - }, [editTServicoTipo, fetchTServicoTipo]); - - - /** - * Fecha o formulário e limpa o item selecionado - */ - const handleCloseForm = useCallback((_: null, __: boolean) => { + // Se nenhum dado for passado, abre o formulário em modo de criação + if (!data) { setSelectedServicoTipo(null); - setIsFormOpen(false); - }, []); + setIsFormOpen(true); + return; + } - /** - * Salva os dados do formulário - */ - const handleSave = useCallback(async (formData: TServicoTipoInterface) => { - + // Define o item selecionado para edição + setSelectedServicoTipo(data); + + // Aguarda carregar/editar o registro (o hook espera o objeto TServicoTipoInterface) + await editTServicoTipo(data); + + // Atualiza a lista de dados + await fetchTServicoTipo(); + + setIsFormOpen(true); + }, + [editTServicoTipo, fetchTServicoTipo], + ); + + /** + * Fecha o formulário e limpa o item selecionado + */ + const handleCloseForm = useCallback((_: null, __: boolean) => { + setSelectedServicoTipo(null); + setIsFormOpen(false); + }, []); + + /** + * Salva os dados do formulário + */ + const handleSave = useCallback( + async (formData: TServicoTipoInterface) => { // Aguarda salvar o registro await saveTServicoTipo(formData); @@ -95,13 +97,8 @@ export default function TServicoTipoPage() { fetchTServicoTipo(); }, [saveTServicoTipo, fetchTServicoTipo], - - - ); - - /** * Quando o usuário clica em "remover" na tabela */ @@ -116,7 +113,6 @@ export default function TServicoTipoPage() { [openConfirmDialog], ); - /** * Executa a exclusão de fato quando o usuário confirma */ @@ -137,8 +133,6 @@ export default function TServicoTipoPage() { handleCancel(); }, [itemToDelete, removeTServicoTipo, fetchTServicoTipo, handleCancel]); - - /** * Busca inicial dos dados */ @@ -168,7 +162,11 @@ export default function TServicoTipoPage() { {/* Tabela de Tipos de Serviço */} - + @@ -194,4 +192,4 @@ export default function TServicoTipoPage() { /> ); -} \ No newline at end of file +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_components/t_servico_tipo/TServicoTipoForm.tsx b/src/app/(protected)/(cadastros)/cadastros/_components/t_servico_tipo/TServicoTipoForm.tsx index fd274ee..37ac514 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_components/t_servico_tipo/TServicoTipoForm.tsx +++ b/src/app/(protected)/(cadastros)/cadastros/_components/t_servico_tipo/TServicoTipoForm.tsx @@ -1,10 +1,10 @@ 'use client'; -import React from "react"; +import React from 'react'; import z from 'zod'; import { useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; -import { useState } from 'react'; +import { useState } from 'react'; import { Button } from '@/components/ui/button'; import { Dialog, @@ -41,25 +41,24 @@ import { TableHead, TableHeader, TableRow, -} from "@/components/ui/table" +} from '@/components/ui/table'; import { TServicoTipoSchema, TServicoTipoFormValues } from '../../_schemas/TServicoTipoSchema'; import { useEffect } from 'react'; import GMarcacaoTipoSelect from '@/packages/administrativo/components/GMarcacaoTipo/GMarcacaoTipoSelect'; import GEmolumentoSelect from '@/packages/administrativo/components/GEmolumento/GEmolumentoSelect'; -import { useGEmolumentoItemReadHook } from "@/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento_item/useGEmolumentoItemReadHook"; -import { GEmolumentoItemReadInterface } from "@/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoItemReadInterface"; -import CategoriaServicoSelect from "@/shared/components/categoriaServicoSelect/CategoriaServicoSelect"; -import CCaixaServicoSelect from "@/packages/administrativo/components/CCaixaServico/CCaixaServicoSelect"; -import { TServicoTipoSaveData } from "../../_data/TServicoTipo/TServicoTipoSaveData"; -import TTBReconhecimentoTipoSelect from "@/packages/administrativo/components/TTBReconhecimentoTipo/TTBReconhecimentoTipoSelect"; -import { ConfirmacaoCheckBox } from "@/shared/components/confirmacao/ConfirmacaoCheckBox"; -import ConfirmacaoSelect from "@/shared/components/confirmacao/ConfirmacaoSelect"; -import { TipoPessoaSelect } from "@/shared/components/tipoPessoa/tipoPessoaSelect"; -import { useTServicoEtiquetaReadHook } from "@/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaReadHook"; -import { useTServicoEtiquetaSaveHook } from "@/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaSaveHook"; -import { useTServicoEtiquetaRemoveHook } from "@/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaRemoveHook"; - +import { useGEmolumentoItemReadHook } from '@/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento_item/useGEmolumentoItemReadHook'; +import { GEmolumentoItemReadInterface } from '@/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoItemReadInterface'; +import CategoriaServicoSelect from '@/shared/components/categoriaServicoSelect/CategoriaServicoSelect'; +import CCaixaServicoSelect from '@/packages/administrativo/components/CCaixaServico/CCaixaServicoSelect'; +import { TServicoTipoSaveData } from '../../_data/TServicoTipo/TServicoTipoSaveData'; +import TTBReconhecimentoTipoSelect from '@/packages/administrativo/components/TTBReconhecimentoTipo/TTBReconhecimentoTipoSelect'; +import { ConfirmacaoCheckBox } from '@/shared/components/confirmacao/ConfirmacaoCheckBox'; +import ConfirmacaoSelect from '@/shared/components/confirmacao/ConfirmacaoSelect'; +import { TipoPessoaSelect } from '@/shared/components/tipoPessoa/tipoPessoaSelect'; +import { useTServicoEtiquetaReadHook } from '@/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaReadHook'; +import { useTServicoEtiquetaSaveHook } from '@/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaSaveHook'; +import { useTServicoEtiquetaRemoveHook } from '@/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaRemoveHook'; // Propriedades esperadas pelo componente interface Props { @@ -71,226 +70,202 @@ interface Props { // Componente principal do formulário export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Props) { + // Inicializa o react-hook-form com validação via Zod + const form = useForm({ + resolver: zodResolver(TServicoTipoSchema), + defaultValues: { + servico_tipo_id: 0, + emolumento_id: 0, + emolumento_obrigatorio: 0, + descricao: '', + maximo_pessoa: 0, + tipo_item: '', + frenteverso: 'N', + averbacao: 'N', + transferencia_veiculo: 'N', + usar_a4: 'N', + etiqueta_unica: 'N', + situacao: 'A', + selar: 'N', + valor_emolumento: 0, + valor_taxa_judiciaria: 0, + fundesp_valor: 0, + valor_total: 0, + tipo_pessoa: 'F', // ou "J" + } as unknown as TServicoTipoFormValues, + }); - // Inicializa o react-hook-form com validação via Zod - const form = useForm({ - resolver: zodResolver(TServicoTipoSchema), - defaultValues: { - servico_tipo_id: 0, - emolumento_id: 0, - emolumento_obrigatorio: 0, - descricao: "", - maximo_pessoa: 0, - tipo_item: "", - frenteverso: "N", - averbacao: "N", - transferencia_veiculo: "N", - usar_a4: "N", - etiqueta_unica: "N", - situacao: "A", - selar: "N", - valor_emolumento: 0, - valor_taxa_judiciaria: 0, - fundesp_valor: 0, - valor_total: 0, - tipo_pessoa: "F", // ou "J" - } as unknown as TServicoTipoFormValues, - }); + // Carrega o ID caso esteja informado no form + const servico_tipo_id = form.getValues('servico_tipo_id') || 0; + // Hook responsável por buscar emolumentos no backend + const { tServicoEtiqueta, fetchTServicoEtiqueta } = useTServicoEtiquetaReadHook(); - // Carrega o ID caso esteja informado no form - const servico_tipo_id = form.getValues('servico_tipo_id') || 0; + // Hook responsável em salvar o a etiqueta selecionada + const { tServicoEtiquetaSave, fetchTServicoEtiquetaSave } = useTServicoEtiquetaSaveHook(); - // Hook responsável por buscar emolumentos no backend - const { tServicoEtiqueta, fetchTServicoEtiqueta } = useTServicoEtiquetaReadHook(); + // Hook responsável em excluir a etiqueta selecionada + const { fetchTServicoEtiquetaRemove } = useTServicoEtiquetaRemoveHook(); - // Hook responsável em salvar o a etiqueta selecionada - const { tServicoEtiquetaSave, fetchTServicoEtiquetaSave } = useTServicoEtiquetaSaveHook(); + // Estado para gerenciar os itens da tabela de etiquetas/carimbos + const [itensTabela, setItensTabela] = useState< + { servico_etiqueta_id: string | number; descricao: string }[] + >([]); - // Hook responsável em excluir a etiqueta selecionada - const { fetchTServicoEtiquetaRemove } = useTServicoEtiquetaRemoveHook(); - - // Estado para gerenciar os itens da tabela de etiquetas/carimbos - const [itensTabela, setItensTabela] = useState<{ servico_etiqueta_id: string | number; descricao: string }[]>([]); - - - // Carrega os dados de emolumentos apenas uma vez ao montar o componente - React.useEffect(() => { - - // Função para consumir o endpoint da api - const loadData = async () => { - - // Verifica se o ID do serviço tipo foi informado - if(servico_tipo_id > 0){ - - // Consumo o endpoint da api - await fetchTServicoEtiqueta({servico_tipo_id}); - } - }; - - // Chama a função para consumir o endpoint da api - loadData(); - - }, [servico_tipo_id]); - - - // Atualiza itensTabela sempre que tServicoEtiqueta for carregado - React.useEffect(() => { - - // Verifica se a consulta retornou os dados como objeto - if (Array.isArray(tServicoEtiqueta) && tServicoEtiqueta.length > 0) { - - // Lista os itens - const mapped = tServicoEtiqueta.map((item) => ({ - servico_etiqueta_id: Number(item.servico_etiqueta_id ?? 0), - descricao: String(item.descricao ?? 'Sem descrição'), - })); - - setItensTabela(mapped); - - } else { - setItensTabela([]); + // Carrega os dados de emolumentos apenas uma vez ao montar o componente + React.useEffect(() => { + // Função para consumir o endpoint da api + const loadData = async () => { + // Verifica se o ID do serviço tipo foi informado + if (servico_tipo_id > 0) { + // Consumo o endpoint da api + await fetchTServicoEtiqueta({ servico_tipo_id }); } - }, [tServicoEtiqueta]); + }; + // Chama a função para consumir o endpoint da api + loadData(); + }, [servico_tipo_id]); - // Função para adicionar um novo item à tabela Etiquetas/Carimbos - const handleAddEtiquetaCarimbo = async () => { + // Atualiza itensTabela sempre que tServicoEtiqueta for carregado + React.useEffect(() => { + // Verifica se a consulta retornou os dados como objeto + if (Array.isArray(tServicoEtiqueta) && tServicoEtiqueta.length > 0) { + // Lista os itens + const mapped = tServicoEtiqueta.map((item) => ({ + servico_etiqueta_id: Number(item.servico_etiqueta_id ?? 0), + descricao: String(item.descricao ?? 'Sem descrição'), + })); - // Captura o valor selecionado do formulário - const valorSelecionado = form.getValues("etiquetas_carimbos"); + setItensTabela(mapped); + } else { + setItensTabela([]); + } + }, [tServicoEtiqueta]); - // Se não houver valor selecionado, não faz nada - if (!valorSelecionado) return; + // Função para adicionar um novo item à tabela Etiquetas/Carimbos + const handleAddEtiquetaCarimbo = async () => { + // Captura o valor selecionado do formulário + const valorSelecionado = form.getValues('etiquetas_carimbos'); - // Verifica se o item já se encontra na tabela - const alreadyExists = itensTabela.some( - (p) => String(p.descricao).trim() === String(valorSelecionado.value).trim() + // Se não houver valor selecionado, não faz nada + if (!valorSelecionado) return; + + // Verifica se o item já se encontra na tabela + const alreadyExists = itensTabela.some( + (p) => String(p.descricao).trim() === String(valorSelecionado.value).trim(), + ); + + // Caso o item já esteja na tabela, para o procedimento + if (alreadyExists) { + return; + } + + // --- Envio opcional para API --- + try { + // Verifica se o ID do serviço tipo foi informado + if (servico_tipo_id > 0) { + // Monta o objeto do item selecionado + const data = { + etiqueta_modelo_id: valorSelecionado.key, + servico_tipo_id: servico_tipo_id, + }; + + // Consumo o endpoint da api + const response = await fetchTServicoEtiquetaSave(data); + + // Verifica se tServicoEtiquetaSave é um objeto válido (não null e não array) + if (response && typeof response === 'object' && !Array.isArray(response)) { + // Monta o objeto com um único item para a tabela + const item = { + servico_etiqueta_id: Number(response.servico_etiqueta_id) ?? 0, + descricao: String(valorSelecionado.value) ?? 'Sem descrição', + }; + + // Adiciona o item na tabela + setItensTabela((prev) => { + const idAtual = String(response.servico_etiqueta_id ?? ''); + const exists = prev.some((p) => String(p.servico_etiqueta_id ?? '') === idAtual); + return exists ? prev : [...prev, item]; + }); + } + } + + // Se ocorrer erros, informo + } catch (error) { + console.log('Erro ao enviar o serviço para a API: ' + error); + } + }; + + // Função para remover um item da tabela + const handleRemoveItem = async (servico_etiqueta_id: number) => { + try { + // Verifica se o ID da etiqueta tipo foi informado + if (servico_etiqueta_id > 0) { + // Monta o objeto do item selecionado + const data = { + servico_etiqueta_id: servico_etiqueta_id, + }; + + // Consumo o endpoint da api + await fetchTServicoEtiquetaRemove(data); + } + + // Atualiza a tabela no form + setItensTabela((prev) => + prev.filter((p) => Number(p.servico_etiqueta_id) !== servico_etiqueta_id), ); - // Caso o item já esteja na tabela, para o procedimento - if (alreadyExists) { - return; - } - - // --- Envio opcional para API --- - try { - - // Verifica se o ID do serviço tipo foi informado - if(servico_tipo_id > 0){ - - // Monta o objeto do item selecionado - const data = { - etiqueta_modelo_id: valorSelecionado.key, - servico_tipo_id: servico_tipo_id, - }; - - // Consumo o endpoint da api - const response = await fetchTServicoEtiquetaSave(data); - - // Verifica se tServicoEtiquetaSave é um objeto válido (não null e não array) - if (response && typeof response === 'object' && !Array.isArray(response)) { - - // Monta o objeto com um único item para a tabela - const item = { - servico_etiqueta_id: Number(response.servico_etiqueta_id) ?? 0, - descricao: String(valorSelecionado.value) ?? "Sem descrição", - }; - - // Adiciona o item na tabela - setItensTabela((prev) => { - const idAtual = String(response.servico_etiqueta_id ?? ''); - const exists = prev.some((p) => String(p.servico_etiqueta_id ?? '') === idAtual); - return exists ? prev : [...prev, item]; - }); - - } - - } - // Se ocorrer erros, informo - } catch (error) { + } catch (error) { + console.log('Erro ao enviar o serviço para a API: ' + error); + } + }; - console.log("Erro ao enviar o serviço para a API: " + error) + // Parâmetros para o hook de leitura de emolumento_item + // Inicializa com valores padrão (0) para evitar uso de propriedades não declaradas. + const gEmolumentoItemReadParams: GEmolumentoItemReadInterface = { emolumento_id: 0, valor: 0 }; + + // Estados locais + const [open, setOpen] = React.useState(false); + const [isLoading, setIsLoading] = React.useState(false); + + // Hook que realiza a leitura do emolumento_item + const { gGEmolumentoItem, fetchGEmolumentoItem } = useGEmolumentoItemReadHook(); + + // Busca os dados ao montar o componente (somente se houver ID válido) + React.useEffect(() => { + const loadData = async () => { + // Validação: só executa se houver emolumento_id informado e válido + if ( + !gEmolumentoItemReadParams?.emolumento_id || // se não existir o campo + isNaN(Number(gEmolumentoItemReadParams.emolumento_id)) || // se não for número + Number(gEmolumentoItemReadParams.emolumento_id) <= 0 // se for zero ou negativo + ) { + return; // encerra sem executar a busca + } + + // Executa a busca apenas se ainda não houver dados carregados + if (!gGEmolumentoItem.length) { + setIsLoading(true); + await fetchGEmolumentoItem(gEmolumentoItemReadParams); + setIsLoading(false); } }; - - // Função para remover um item da tabela - const handleRemoveItem = async (servico_etiqueta_id: number) => { - - try{ - - // Verifica se o ID da etiqueta tipo foi informado - if(servico_etiqueta_id > 0){ - - // Monta o objeto do item selecionado - const data = { - servico_etiqueta_id: servico_etiqueta_id, - }; - - // Consumo o endpoint da api - await fetchTServicoEtiquetaRemove(data); - - } - - // Atualiza a tabela no form - setItensTabela((prev) => prev.filter((p) => Number(p.servico_etiqueta_id) !== servico_etiqueta_id)); - - // Se ocorrer erros, informo - } catch (error) { - - console.log("Erro ao enviar o serviço para a API: " + error) - } - }; - - - // Parâmetros para o hook de leitura de emolumento_item - // Inicializa com valores padrão (0) para evitar uso de propriedades não declaradas. - const gEmolumentoItemReadParams: GEmolumentoItemReadInterface = { emolumento_id: 0, valor: 0 }; - - // Estados locais - const [open, setOpen] = React.useState(false); - const [isLoading, setIsLoading] = React.useState(false); - - // Hook que realiza a leitura do emolumento_item - const { gGEmolumentoItem, fetchGEmolumentoItem } = useGEmolumentoItemReadHook(); - - // Busca os dados ao montar o componente (somente se houver ID válido) - React.useEffect(() => { - const loadData = async () => { - // Validação: só executa se houver emolumento_id informado e válido - if ( - !gEmolumentoItemReadParams?.emolumento_id || // se não existir o campo - isNaN(Number(gEmolumentoItemReadParams.emolumento_id)) || // se não for número - Number(gEmolumentoItemReadParams.emolumento_id) <= 0 // se for zero ou negativo - ) { - return; // encerra sem executar a busca - } - - // Executa a busca apenas se ainda não houver dados carregados - if (!gGEmolumentoItem.length) { - setIsLoading(true); - await fetchGEmolumentoItem(gEmolumentoItemReadParams); - setIsLoading(false); - } - }; - - loadData(); - }, [gEmolumentoItemReadParams.emolumento_id]); - + loadData(); + }, [gEmolumentoItemReadParams.emolumento_id]); // Captura o ID do serviço para uso local - const servicoTipoId = Number(form.watch("servico_tipo_id") || data?.servico_tipo_id || 0); + const servicoTipoId = Number(form.watch('servico_tipo_id') || data?.servico_tipo_id || 0); // Função chamada ao clicar em "Salvar" const handleSave = async (formData: TServicoTipoFormValues) => { - try { - // Se o form não trouxe o ID, tenta puxar de `data` - const servico_tipo_id = formData.servico_tipo_id || data?.servico_tipo_id || form.getValues('servico_tipo_id') || 0; - + const servico_tipo_id = + formData.servico_tipo_id || data?.servico_tipo_id || form.getValues('servico_tipo_id') || 0; + // Atualiza o valor dentro do formData formData.servico_tipo_id = Number(servico_tipo_id); @@ -300,30 +275,24 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop // Intercepta e trata o valor de emolumento_obrigatorio const emolumentoObrigatorio = Number(formData.emolumento_obrigatorio ?? 0); - formData.emolumento_obrigatorio = - emolumentoObrigatorio === 0 ? null : emolumentoObrigatorio; - + formData.emolumento_obrigatorio = emolumentoObrigatorio === 0 ? null : emolumentoObrigatorio; // Detecta automaticamente se é edição const isEditing = !!formData.servico_tipo_id && Number(formData.servico_tipo_id) > 0; - // Envia os dados para o módulo com o método correto const response = await TServicoTipoSaveData({ ...formData, metodo: isEditing ? 'PUT' : 'POST', // 💡 Definição explícita do método }); - // Atualiza o formulário apenas se o retorno for válido if (response?.data?.servico_tipo_id) { - const novoId = response.data.servico_tipo_id; - form.setValue('servico_tipo_id', novoId); // mantém o ID atualizado - - - // Merge dos dados para preservar valores locais - form.reset({ ...form.getValues(), ...response.data }); + const novoId = response.data.servico_tipo_id; + form.setValue('servico_tipo_id', novoId); // mantém o ID atualizado + // Merge dos dados para preservar valores locais + form.reset({ ...form.getValues(), ...response.data }); console.log(`Serviço ${isEditing ? 'atualizado' : 'criado'} com sucesso (ID: ${novoId})`); } else { @@ -332,42 +301,38 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop } catch (error) { console.log('Erro ao salvar:', error); } - }; - - - // Carrega os dados apenas quando o modal + }; + + // Carrega os dados apenas quando o modal // abrir e houver um registro para editar useEffect(() => { - // Remove as etiquetas selecionadas setItensTabela([]); - if (isOpen && data && Number(data.servico_tipo_id ?? 0) > 0) { + if (isOpen && data && Number(data.servico_tipo_id ?? 0) > 0) { /** Carrega os dados no formulário */ form.reset(data); // edição - } else if (isOpen && !data) { - /** Reseta os campos do formulário */ form.reset({ servico_tipo_id: 0, emolumento_id: 0, - emolumento_obrigatorio: 0, - descricao: "", + emolumento_obrigatorio: 0, + descricao: '', maximo_pessoa: 0, - tipo_item: "", - frenteverso: "N", - averbacao: "N", - transferencia_veiculo: "N", - usar_a4: "N", - etiqueta_unica: "N", - situacao: "A", - selar: "N", + tipo_item: '', + frenteverso: 'N', + averbacao: 'N', + transferencia_veiculo: 'N', + usar_a4: 'N', + etiqueta_unica: 'N', + situacao: 'A', + selar: 'N', valor_emolumento: 0, valor_taxa_judiciaria: 0, fundesp_valor: 0, valor_total: 0, - tipo_pessoa: "F", + tipo_pessoa: 'F', }); } }, [isOpen, data]); @@ -377,12 +342,12 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop } return ( - { - if (!open) onClose(null, false); - }} - > + { + if (!open) onClose(null, false); + }} + > {/* Cabeçalho do diálogo */} @@ -393,25 +358,23 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop {/* Estrutura do formulário */}
- - {/* Abas principais */} - + Dados do Tipo de Serviço - Configurações - @@ -422,9 +385,7 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop {/* Aba: Dados do Tipo de Serviço */} - -
- +
{/* Campo: Descrição */}
Descrição do Tipo - + @@ -450,9 +415,7 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop render={({ field }) => ( Categoria - + )} @@ -467,9 +430,9 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop render={({ field }) => ( Serviço Padrão - - - + + + )} @@ -484,10 +447,7 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop render={({ field }) => ( Serviço Caixa - + )} @@ -514,11 +474,7 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop {/* Campo: Usar A4 (Checkbox) */}
- +
{/* Campo: Etiqueta Única (Texto normal) */} @@ -530,33 +486,33 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop />
- {/* Campo: Frente/Verso (Texto normal) */}
{ - const categoriaSelecionada = form.watch("tipo_item"); - const isEnabled = categoriaSelecionada === "A"; + const categoriaSelecionada = form.watch('tipo_item'); + const isEnabled = categoriaSelecionada === 'A'; return ( - + field.onChange(checked ? "S" : "N")} // grava "S" ou "N" + checked={field.value === 'S'} // marca quando o valor for "S" + onCheckedChange={(checked) => field.onChange(checked ? 'S' : 'N')} // grava "S" ou "N" disabled={!isEnabled} /> - Frente/Verso + + Frente/Verso + ); }} /> -
- +
{/* Campo: Etiqueta Única (Texto normal) */}
@@ -565,35 +521,31 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop name="situacao" render={({ field }) => { // Considera "A" ou vazio como marcado - const isChecked = field.value === "A" || !field.value; + const isChecked = field.value === 'A' || !field.value; return ( - + { - field.onChange(checked ? "A" : "I"); // grava "A" ou "I" no form + field.onChange(checked ? 'A' : 'I'); // grava "A" ou "I" no form }} /> - Ativo + Ativo ); }} /> -
- - +
{/* Outras abas */} - -
- +
{/* Campo: Serviço tipo (Select) */}
( Tipo - + )} /> -
- +
{/* Campo: Pessoa (Select) */}
-
- +
{/* Campo: Quantidade de pessoas */}
@@ -632,15 +580,12 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop min={1} max={100} placeholder="Digite a quantidade de pessoas" - className="flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm - ring-offset-background placeholder:text-muted-foreground - focus-visible:outline-none focus-visible:ring-2 - focus-visible:ring-ring focus-visible:ring-offset-2" + className="border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-sm focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none" {...field} - value={field.value ?? ""} // Garante que nunca seja undefined + value={field.value ?? ''} // Garante que nunca seja undefined onChange={(e) => { // Converte para número se houver valor - const value = e.target.value === "" ? "" : Number(e.target.value); + const value = e.target.value === '' ? '' : Number(e.target.value); field.onChange(value); }} /> @@ -661,23 +606,24 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop render={({ field }) => ( Biometria - - Sim - Não + + Sim + + + Não + )} /> -
+ {/* Campo: CPF/CNPJ (Select) */}
@@ -687,24 +633,24 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop render={({ field }) => ( CPF/CNPJ - - Sim - Não + + Sim + + + Não + )} /> -
- + {/* Campo: autorização (Select) */}
@@ -714,24 +660,24 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop render={({ field }) => ( Autorização - - Sim - Não + + Sim + + + Não + )} /> -
- + {/* Campo: abonador (Select) */}
@@ -741,24 +687,24 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop render={({ field }) => ( Abonador - - Sim - Não + + Sim + + + Não + )} /> -
- + {/* Campo: etiquetas/carimbos (Select) */}
@@ -778,8 +724,7 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop )} /> -
- + {/* Campo: etiquetas/carimbos botão adicionar */}
@@ -794,8 +739,7 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop Adicionar -
- + {/* Campo: etiquetas/carimbos (Select) */}
@@ -836,16 +780,11 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop )} -
- - + -
- -
- +
{/* Campo: Biometria (Select) */}
( Selar - - Sim - Não + + Sim + + + Não + )} /> -
- +
{/* Campo: emolumentos (Select) */}
- ( - - Emolumento + ( + + Emolumento - - - - )} - /> - -
+ /> + + + )} + /> +
{/* Campo: emolumentos adicional (Select) */}
@@ -944,17 +884,12 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop render={({ field }) => ( Emolumento Adicional (Mesma etiqueta) - + )} /> -
- + {/* Campo: Quantidade de pessoas */}
@@ -965,9 +900,11 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop Emolumento R$ - @@ -985,16 +922,18 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop Taxa Judiciária R$ - )} /> -
+ {/* Campo: Quantidade de pessoas */}
@@ -1005,16 +944,18 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop Fundesp R$ - )} /> -
+ {/* Campo: Quantidade de pessoas */}
@@ -1031,11 +972,8 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop )} /> -
- - + -
{/* Campo oculto: ID */} @@ -1045,19 +983,18 @@ export default function TServicoTipoForm({ isOpen, data, onClose, onSave }: Prop {/* Rodapé do diálogo */} - - + diff --git a/src/app/(protected)/(cadastros)/cadastros/_components/t_servico_tipo/TServicoTipoTable.tsx b/src/app/(protected)/(cadastros)/cadastros/_components/t_servico_tipo/TServicoTipoTable.tsx index 722e255..d0c6e0a 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_components/t_servico_tipo/TServicoTipoTable.tsx +++ b/src/app/(protected)/(cadastros)/cadastros/_components/t_servico_tipo/TServicoTipoTable.tsx @@ -22,7 +22,8 @@ import { EllipsisIcon, PencilIcon, Trash2Icon } from 'lucide-react'; import TServicoTipoInterface from '../../_interfaces/TServicoTipoInterface'; // Import alterado // Tipagem das props do componente da tabela -interface TServicoTipoTableProps { // Nome da interface alterado +interface TServicoTipoTableProps { + // Nome da interface alterado data: TServicoTipoInterface[]; // lista de tipos de serviço onEdit: (item: TServicoTipoInterface, isEditingFormStatus: boolean) => void; // callback para edição onDelete: (item: TServicoTipoInterface, isEditingFormStatus: boolean) => void; // callback para exclusão @@ -48,12 +49,12 @@ export default function TServicoTipoTable({ data, onEdit, onDelete }: TServicoTi {data.map((item) => ( // Assumindo que o ID do Tipo de Serviço é 'servico_tipo_id' - + {/* ID do Tipo de Serviço */} {item.servico_tipo_id} {/* Nome/descrição do Tipo de Serviço (descricao) */} - {item.descricao} + {item.descricao} {/* As células de IBGE e UF foram removidas */} {/* Ações (menu dropdown) */} @@ -97,4 +98,4 @@ export default function TServicoTipoTable({ data, onEdit, onDelete }: TServicoTi ); -} \ No newline at end of file +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaReadData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaReadData.ts index 9d7fb3e..7988274 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaReadData.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaReadData.ts @@ -5,22 +5,22 @@ import API from '@/shared/services/api/Api'; // import { Methods } from '@/shared/services/api/enums/ApiMethodEnum'; // // Importa a interface tipada que define a estrutura dos dados do tipo de serviço -import { TServicoEtiquetaInterface } from '../../_interfaces/TServicoEtiquetaInterface'; +import { TServicoEtiquetaInterface } from '../../_interfaces/TServicoEtiquetaInterface'; // Importa função que encapsula chamadas assíncronas e trata erros automaticamente import { withClientErrorHandler } from '@/shared/actions/withClientErrorHandler/withClientErrorHandler'; // // Função assíncrona que implementa a lógica de localizar um tipo de serviço -async function executeTServicoEtiquetaService(data: TServicoEtiquetaInterface) { +async function executeTServicoEtiquetaService(data: TServicoEtiquetaInterface) { // Instancia o cliente da API para enviar a requisição const api = new API(); // // Executa a requisição para a API com o método apropriado e envia o ID no endpoint return await api.send({ method: Methods.GET, // Verbo GET para consulta - endpoint: `administrativo/t_servico_etiqueta/servico_tipo/${data.servico_tipo_id}`, // Endpoint e ID alterados + endpoint: `administrativo/t_servico_etiqueta/servico_tipo/${data.servico_tipo_id}`, // Endpoint e ID alterados }); } // Exporta a função de Readr tipo de serviço já encapsulada com tratamento de erros -export const TServicoEtiquetaReadData = withClientErrorHandler(executeTServicoEtiquetaService); // Nome da exportação alterado \ No newline at end of file +export const TServicoEtiquetaReadData = withClientErrorHandler(executeTServicoEtiquetaService); // Nome da exportação alterado diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaRemoveData.ts index 1c6bdcf..bbbc1f7 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaRemoveData.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaRemoveData.ts @@ -11,7 +11,8 @@ import { TServicoEtiquetaInterface } from '../../_interfaces/TServicoEtiquetaInt import { withClientErrorHandler } from '@/shared/actions/withClientErrorHandler/withClientErrorHandler'; // // Função assíncrona que implementa a lógica de remover um tipo de serviço -async function executeTServicoEtiquetaRemoveData(data: TServicoEtiquetaInterface) { // Nome da função alterado +async function executeTServicoEtiquetaRemoveData(data: TServicoEtiquetaInterface) { + // Nome da função alterado // Instancia o cliente da API para enviar a requisição const api = new API(); // @@ -19,9 +20,9 @@ async function executeTServicoEtiquetaRemoveData(data: TServicoEtiquetaInterface // Executa a requisição para a API com o método apropriado e envia o ID no endpoint return await api.send({ method: Methods.DELETE, // Verbo DELETE para exclusão - endpoint: `administrativo/t_servico_etiqueta/${data.servico_etiqueta_id}`, // Endpoint e ID alterados + endpoint: `administrativo/t_servico_etiqueta/${data.servico_etiqueta_id}`, // Endpoint e ID alterados }); } // Exporta a função de remover tipo de serviço já encapsulada com tratamento de erros -export const TServicoEtiquetaRemoveData = withClientErrorHandler(executeTServicoEtiquetaRemoveData); // Nome da exportação alterado \ No newline at end of file +export const TServicoEtiquetaRemoveData = withClientErrorHandler(executeTServicoEtiquetaRemoveData); // Nome da exportação alterado diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaSaveData.ts index b56e5fb..0c32e70 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaSaveData.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoEtiqueta/TServicoEtiquetaSaveData.ts @@ -14,10 +14,8 @@ import { TServicoEtiquetaInterface } from '../../_interfaces/TServicoEtiquetaInt import { withClientErrorHandler } from '@/shared/actions/withClientErrorHandler/withClientErrorHandler'; // // Função assíncrona que implementa a lógica de salvar (criar/atualizar) um tipo de serviço -async function executeTServicoEtiquetaSaveData(data: TServicoEtiquetaFormValues) { - - try{ - +async function executeTServicoEtiquetaSaveData(data: TServicoEtiquetaFormValues) { + try { // Instancia o cliente da API para enviar a requisição const api = new API(); // @@ -27,13 +25,11 @@ async function executeTServicoEtiquetaSaveData(data: TServicoEtiquetaFormValues) endpoint: `administrativo/t_servico_etiqueta`, // Endpoint e ID alterados body: data, // payload enviado para a API }); - } catch (error) { - console.error('Erro no TServicoEtiquetaSaveData:', error); throw error; // propaga erro para o form } } // Exporta a função de salvar tipo de serviço já encapsulada com tratamento de erros -export const TServicoEtiquetaSaveData = withClientErrorHandler(executeTServicoEtiquetaSaveData); // Nome da exportação alterado \ No newline at end of file +export const TServicoEtiquetaSaveData = withClientErrorHandler(executeTServicoEtiquetaSaveData); // Nome da exportação alterado diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoEditData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoEditData.ts index a94106d..ab2d56d 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoEditData.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoEditData.ts @@ -11,16 +11,16 @@ import TServicoTipoInterface from '../../_interfaces/TServicoTipoInterface'; // import { withClientErrorHandler } from '@/shared/actions/withClientErrorHandler/withClientErrorHandler'; // // Função assíncrona que implementa a lógica de localizar um tipo de serviço -async function executeTServicoTipoEditService(data: TServicoTipoInterface) { +async function executeTServicoTipoEditService(data: TServicoTipoInterface) { // Instancia o cliente da API para enviar a requisição const api = new API(); // // Executa a requisição para a API com o método apropriado e envia o ID no endpoint return await api.send({ method: Methods.GET, // Verbo GET para consulta - endpoint: `administrativo/t_servico_tipo/${data.servico_tipo_id}`, // Endpoint e ID alterados + endpoint: `administrativo/t_servico_tipo/${data.servico_tipo_id}`, // Endpoint e ID alterados }); } // Exporta a função de Readr tipo de serviço já encapsulada com tratamento de erros -export const TServicoTipoEditData = withClientErrorHandler(executeTServicoTipoEditService); // Nome da exportação alterado \ No newline at end of file +export const TServicoTipoEditData = withClientErrorHandler(executeTServicoTipoEditService); // Nome da exportação alterado diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoIndexData.ts index 36533f8..7003e6e 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoIndexData.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoIndexData.ts @@ -9,16 +9,15 @@ import { withClientErrorHandler } from '@/shared/actions/withClientErrorHandler/ // Função assíncrona que implementa a lógica de buscar todos os tipos de serviço (GET) async function executeTServicoTipoIndexData() { - // Instancia o cliente da API para enviar a requisição const api = new API(); // // Executa a requisição para a API com o método apropriado e o endpoint da tabela t_servico_tipo return await api.send({ method: Methods.GET, // GET listar todos os itens - endpoint: `administrativo/t_servico_tipo/` // Endpoint atualizado + endpoint: `administrativo/t_servico_tipo/`, // Endpoint atualizado }); } // Exporta a função de listar tipos de serviço já encapsulada com tratamento de erros -export const TServicoTipoIndexData = withClientErrorHandler(executeTServicoTipoIndexData); \ No newline at end of file +export const TServicoTipoIndexData = withClientErrorHandler(executeTServicoTipoIndexData); diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoRemoveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoRemoveData.ts index 0534182..aa5c6c3 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoRemoveData.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoRemoveData.ts @@ -11,7 +11,8 @@ import TServicoTipoInterface from '../../_interfaces/TServicoTipoInterface'; // import { withClientErrorHandler } from '@/shared/actions/withClientErrorHandler/withClientErrorHandler'; // // Função assíncrona que implementa a lógica de remover um tipo de serviço -async function executeTServicoTipoRemoveData(data: TServicoTipoInterface) { // Nome da função alterado +async function executeTServicoTipoRemoveData(data: TServicoTipoInterface) { + // Nome da função alterado // Instancia o cliente da API para enviar a requisição const api = new API(); // @@ -19,9 +20,9 @@ async function executeTServicoTipoRemoveData(data: TServicoTipoInterface) { // N // Executa a requisição para a API com o método apropriado e envia o ID no endpoint return await api.send({ method: Methods.DELETE, // Verbo DELETE para exclusão - endpoint: `administrativo/t_servico_tipo/${data.servico_tipo_id}`, // Endpoint e ID alterados + endpoint: `administrativo/t_servico_tipo/${data.servico_tipo_id}`, // Endpoint e ID alterados }); } // Exporta a função de remover tipo de serviço já encapsulada com tratamento de erros -export const TServicoTipoRemoveData = withClientErrorHandler(executeTServicoTipoRemoveData); // Nome da exportação alterado \ No newline at end of file +export const TServicoTipoRemoveData = withClientErrorHandler(executeTServicoTipoRemoveData); // Nome da exportação alterado diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoSaveData.ts index 18308b7..53f6d83 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoSaveData.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_data/TServicoTipo/TServicoTipoSaveData.ts @@ -14,17 +14,17 @@ import TServicoTipoInterface from '../../_interfaces/TServicoTipoInterface'; // import { withClientErrorHandler } from '@/shared/actions/withClientErrorHandler/withClientErrorHandler'; // // Função assíncrona que implementa a lógica de salvar (criar/atualizar) um tipo de serviço -async function executeTServicoTipoSaveData(data: TServicoTipoFormValues & { metodo?: 'POST' | 'PUT' }) { - +async function executeTServicoTipoSaveData( + data: TServicoTipoFormValues & { metodo?: 'POST' | 'PUT' }, +) { // Verifica se existe ID do tipo de serviço para decidir se é atualização (PUT) ou criação (POST) const isEditing = !!data.servico_tipo_id && Number(data.servico_tipo_id) > 0; // Define método: prioridade para valor passado manualmente (metodo) - const method = data.metodo ?? (isEditing ? 'PUT' : 'POST'); + const method = data.metodo ?? (isEditing ? 'PUT' : 'POST'); - try{ - - console.log(data) + try { + console.log(data); // Instancia o cliente da API para enviar a requisição const api = new API(); // @@ -35,13 +35,11 @@ async function executeTServicoTipoSaveData(data: TServicoTipoFormValues & { meto endpoint: `administrativo/t_servico_tipo/${data.servico_tipo_id || ''}`, // Endpoint e ID alterados body: data, // payload enviado para a API }); - } catch (error) { - console.error('Erro no TServicoTipoSaveData:', error); throw error; // propaga erro para o form } } // Exporta a função de salvar tipo de serviço já encapsulada com tratamento de erros -export const TServicoTipoSaveData = withClientErrorHandler(executeTServicoTipoSaveData); // Nome da exportação alterado \ No newline at end of file +export const TServicoTipoSaveData = withClientErrorHandler(executeTServicoTipoSaveData); // Nome da exportação alterado diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData.ts index 7e37517..659c993 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData.ts @@ -24,4 +24,6 @@ async function executeTTBReconhecimentoTipoIndexData(data: TTBReconhecimentoTipo } // Exporta a função encapsulada pelo handler de erro, garantindo tratamento uniforme em caso de falhas -export const TTBReconhecimentoTipoIndexData = withClientErrorHandler(executeTTBReconhecimentoTipoIndexData); +export const TTBReconhecimentoTipoIndexData = withClientErrorHandler( + executeTTBReconhecimentoTipoIndexData, +); diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/c_caixa_servico/useCCaixaServicoReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/c_caixa_servico/useCCaixaServicoReadHook.ts index 1a4b34d..5288571 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/c_caixa_servico/useCCaixaServicoReadHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/c_caixa_servico/useCCaixaServicoReadHook.ts @@ -11,7 +11,6 @@ import { CCaixaServicoReadInterface } from '../../_interfaces/CCaixaServicoReadI import { CCaixaServicoIndexService } from '../../_services/c_caixa_servico/CCaixaServicoIndexService'; import { CCaixaServicoInterface } from '../../_interfaces/CCaixaServicoInterface'; - // Hook personalizado para leitura (consulta) dos tipos de marcação export const useCCaixaServicoReadHook = () => { // Obtém a função que atualiza a resposta global do sistema @@ -33,5 +32,8 @@ export const useCCaixaServicoReadHook = () => { }; // Retorna os dados e a função de busca, memorizando o valor para evitar recriações desnecessárias - return useMemo(() => ({ cCaixaServico, fetchCCaixaServico }), [cCaixaServico, fetchCCaixaServico]); + return useMemo( + () => ({ cCaixaServico, fetchCCaixaServico }), + [cCaixaServico, fetchCCaixaServico], + ); }; diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento/useGEmolumentoReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento/useGEmolumentoReadHook.ts index d4bd9df..b18cc96 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento/useGEmolumentoReadHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento/useGEmolumentoReadHook.ts @@ -11,7 +11,6 @@ import { GEmolumentoReadInterface } from '../../_interfaces/GEmolumentoReadInter import { GEmolumentoIndexService } from '../../_services/g_emolumento/GEmolumentoIndexService'; import { GEmolumentoInterface } from '../../_interfaces/GEmolumentoInterface'; - // Hook personalizado para leitura (consulta) dos emolumentos export const useGEmolumentoReadHook = () => { // Obtém a função que atualiza a resposta global do sistema diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento_item/useGEmolumentoItemReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento_item/useGEmolumentoItemReadHook.ts index a6ef557..000908a 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento_item/useGEmolumentoItemReadHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento_item/useGEmolumentoItemReadHook.ts @@ -11,7 +11,6 @@ import { GEmolumentoItemReadInterface } from '../../_interfaces/GEmolumentoItemR import { GEmolumentoItemValorService } from '../../_services/g_emolumento_item/GEmolumentoItemValorService'; import { GEmolumentoItemInterface } from '../../_interfaces/GEmolumentoItemInterface'; - // Hook personalizado para leitura (consulta) dos emolumentos export const useGEmolumentoItemReadHook = () => { const { setResponse } = useResponse(); @@ -27,11 +26,10 @@ export const useGEmolumentoItemReadHook = () => { // Retorna a resposta completa (para uso externo) return response; - } catch (error) { - console.error("Erro ao buscar item de emolumento:", error); + console.error('Erro ao buscar item de emolumento:', error); setResponse({ - message: "Erro ao buscar item de emolumento", + message: 'Erro ao buscar item de emolumento', error: error instanceof Error ? error.message : String(error), }); return null; // Retorna nulo para segurança @@ -39,8 +37,5 @@ export const useGEmolumentoItemReadHook = () => { }; // Retorna função e dados memorizados - return useMemo( - () => ({ gGEmolumentoItem, fetchGEmolumentoItem }), - [gGEmolumentoItem] - ); + return useMemo(() => ({ gGEmolumentoItem, fetchGEmolumentoItem }), [gGEmolumentoItem]); }; diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_marcacao_tipo/useGMarcacaoTipoReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_marcacao_tipo/useGMarcacaoTipoReadHook.ts index 696eb74..b7f99e1 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/g_marcacao_tipo/useGMarcacaoTipoReadHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/g_marcacao_tipo/useGMarcacaoTipoReadHook.ts @@ -11,10 +11,8 @@ import { GMarcacaoTipoInterface } from '../../_interfaces/GMarcacaoTipoInterface // Importa o serviço responsável por buscar os dados de "GMarcacaoTipo" na API import { GMarcacaoTipoIndexService } from '../../_services/g_marcacao_tipo/GMarcacaoTipoIndexService'; - // Hook personalizado para leitura (consulta) dos tipos de marcação export const useGMarcacaoTipoReadHook = () => { - // Obtém a função que atualiza a resposta global do sistema const { setResponse } = useResponse(); @@ -34,5 +32,8 @@ export const useGMarcacaoTipoReadHook = () => { }; // Retorna os dados e a função de busca, memorizando o valor para evitar recriações desnecessárias - return useMemo(() => ({ gMarcacaoTipo, fetchGMarcacaoTipo }), [gMarcacaoTipo, fetchGMarcacaoTipo]); + return useMemo( + () => ({ gMarcacaoTipo, fetchGMarcacaoTipo }), + [gMarcacaoTipo, fetchGMarcacaoTipo], + ); }; diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaReadHook.ts index 88b50ab..3c5369d 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaReadHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaReadHook.ts @@ -12,7 +12,6 @@ import { TServicoEtiquetaServicoIdService } from '../../_services/t_servico_etiq // Hook personalizado para leitura (consulta) dos tipos de marcação export const useTServicoEtiquetaReadHook = () => { - // Obtém a função que atualiza a resposta global do sistema const { setResponse } = useResponse(); @@ -20,24 +19,24 @@ export const useTServicoEtiquetaReadHook = () => { const [tServicoEtiqueta, setTServicoEtiqueta] = useState([]); // Função responsável por buscar os dados da API e atualizar o estado - const fetchTServicoEtiqueta = useCallback(async (data: TServicoEtiquetaInterface) => { + const fetchTServicoEtiqueta = useCallback( + async (data: TServicoEtiquetaInterface) => { + try { + // Executa o serviço que faz a requisição à API + const response = await TServicoEtiquetaServicoIdService(data); - try{ + // Atualiza o estado local com os dados retornados + setTServicoEtiqueta(response.data); - // Executa o serviço que faz a requisição à API - const response = await TServicoEtiquetaServicoIdService(data); - - // Atualiza o estado local com os dados retornados - setTServicoEtiqueta(response.data); - - // Atualiza o contexto global de resposta (ex: para exibir alertas ou mensagens) - setResponse(response); - - } catch (error) { - console.error('Erro ao buscar etiquetas:', error); - return { data: [] }; - } - }, [setResponse]); + // Atualiza o contexto global de resposta (ex: para exibir alertas ou mensagens) + setResponse(response); + } catch (error) { + console.error('Erro ao buscar etiquetas:', error); + return { data: [] }; + } + }, + [setResponse], + ); // Retorna os dados e a função de busca, memorizando o valor para evitar recriações desnecessárias return { tServicoEtiqueta, fetchTServicoEtiqueta }; diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaRemoveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaRemoveHook.ts index 8599229..8d1d8b9 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaRemoveHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaRemoveHook.ts @@ -1,10 +1,10 @@ -import { useResponse } from "@/shared/components/response/ResponseContext"; // Contexto global para gerenciar respostas da API +import { useResponse } from '@/shared/components/response/ResponseContext'; // Contexto global para gerenciar respostas da API // Interface tipada do tipo de serviço -import { TServicoEtiquetaInterface } from "../../_interfaces/TServicoEtiquetaInterface"; +import { TServicoEtiquetaInterface } from '../../_interfaces/TServicoEtiquetaInterface'; // Função que remove o tipo de serviço via API -import { TServicoEtiquetaRemoveData } from "../../_data/TServicoEtiqueta/TServicoEtiquetaRemoveData"; +import { TServicoEtiquetaRemoveData } from '../../_data/TServicoEtiqueta/TServicoEtiquetaRemoveData'; // Hook customizado para remoção de tipos de serviço export const useTServicoEtiquetaRemoveHook = () => { @@ -22,4 +22,4 @@ export const useTServicoEtiquetaRemoveHook = () => { // Retorna a função de remoção para ser usada no componente return { fetchTServicoEtiquetaRemove }; -}; \ No newline at end of file +}; diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaSaveHook.ts index 25ebfcf..9f54360 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaSaveHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_etiqueta/useTServicoEtiquetaSaveHook.ts @@ -2,23 +2,23 @@ import { useState } from 'react'; import { useResponse } from '@/shared/components/response/ResponseContext'; // Interface tipada do serviço etiqueta -import { TServicoEtiquetaInterface } from '../../_interfaces/TServicoEtiquetaInterface'; +import { TServicoEtiquetaInterface } from '../../_interfaces/TServicoEtiquetaInterface'; // Serviço que salva os dados do serviço etiqueta import { TServicoEtiquetaSaveService } from '../../_services/t_servico_etiqueta/TServicoEtiquetaSaveService'; export const useTServicoEtiquetaSaveHook = () => { const { setResponse } = useResponse(); - + // Estado local para armazenar os dados do serviço etiqueta salvos - const [tServicoEtiquetaSave, setTServicoEtiquetaSave] = useState(null); + const [tServicoEtiquetaSave, setTServicoEtiquetaSave] = + useState(null); /** * Função que executa o salvamento de um serviço etiqueta. * @param data Os dados do serviço etiqueta a serem salvos. */ const fetchTServicoEtiquetaSave = async (data: TServicoEtiquetaInterface) => { - // Chama o serviço de salvamento const response = await TServicoEtiquetaSaveService(data); @@ -26,12 +26,12 @@ export const useTServicoEtiquetaSaveHook = () => { setTServicoEtiquetaSave(response.data); // Manda a resposta para o verificador de resposta global - ///setResponse(response); + ///setResponse(response); // Manda a resposta para o verificador de resposta global return response.data; - } + }; // Retorna o estado e a função de salvamento para uso no componente return { tServicoEtiquetaSave, fetchTServicoEtiquetaSave }; -}; \ No newline at end of file +}; diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoEditHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoEditHook.ts index 67f927e..b0094f8 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoEditHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoEditHook.ts @@ -1,10 +1,10 @@ -import { useResponse } from "@/shared/components/response/ResponseContext"; // Contexto global para gerenciar respostas da API +import { useResponse } from '@/shared/components/response/ResponseContext'; // Contexto global para gerenciar respostas da API // Interface tipada do tipo de serviço -import TServicoTipoInterface from "../../_interfaces/TServicoTipoInterface"; +import TServicoTipoInterface from '../../_interfaces/TServicoTipoInterface'; // Função que Edit o tipo de serviço via API -import { TServicoTipoEditData } from "../../_data/TServicoTipo/TServicoTipoEditData"; +import { TServicoTipoEditData } from '../../_data/TServicoTipo/TServicoTipoEditData'; // Hook customizado para remoção de tipos de serviço export const useTServicoTipoEditHook = () => { @@ -13,7 +13,6 @@ export const useTServicoTipoEditHook = () => { // Função assíncrona que Edit um tipo de serviço const editTServicoTipo = async (data: TServicoTipoInterface) => { - // Chama a função de remoção passando os dados do tipo de serviço const response = await TServicoTipoEditData(data); @@ -23,4 +22,4 @@ export const useTServicoTipoEditHook = () => { // Retorna a função de remoção para ser usada no componente return { editTServicoTipo }; -}; \ No newline at end of file +}; diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoReadHook.ts index cdb3acd..b827959 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoReadHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoReadHook.ts @@ -2,10 +2,10 @@ import { useResponse } from '@/shared/components/response/ResponseContext'; // C import { useState } from 'react'; // Serviço que busca a lista de tipos de serviço (TServicoTipoIndexService) -import { TServicoTipoIndexService } from '../../_services/t_servico_tipo/TServicoTipoIndexService'; +import { TServicoTipoIndexService } from '../../_services/t_servico_tipo/TServicoTipoIndexService'; // Interface tipada do tipo de serviço -import TServicoTipoInterface from '../../_interfaces/TServicoTipoInterface'; +import TServicoTipoInterface from '../../_interfaces/TServicoTipoInterface'; // Hook customizado para leitura de dados de tipos de serviço export const useTServicoTipoReadHook = () => { @@ -32,4 +32,4 @@ export const useTServicoTipoReadHook = () => { // Retorna os dados e a função de busca para serem usados no componente return { tServicoTipo, fetchTServicoTipo }; -}; \ No newline at end of file +}; diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoRemoveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoRemoveHook.ts index 7c7c8f4..e0f8d5d 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoRemoveHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoRemoveHook.ts @@ -1,10 +1,10 @@ -import { useResponse } from "@/shared/components/response/ResponseContext"; // Contexto global para gerenciar respostas da API +import { useResponse } from '@/shared/components/response/ResponseContext'; // Contexto global para gerenciar respostas da API // Interface tipada do tipo de serviço -import TServicoTipoInterface from "../../_interfaces/TServicoTipoInterface"; +import TServicoTipoInterface from '../../_interfaces/TServicoTipoInterface'; // Função que remove o tipo de serviço via API -import { TServicoTipoRemoveData } from "../../_data/TServicoTipo/TServicoTipoRemoveData"; +import { TServicoTipoRemoveData } from '../../_data/TServicoTipo/TServicoTipoRemoveData'; // Hook customizado para remoção de tipos de serviço export const useTServicoTipoRemoveHook = () => { @@ -22,4 +22,4 @@ export const useTServicoTipoRemoveHook = () => { // Retorna a função de remoção para ser usada no componente return { removeTServicoTipo }; -}; \ No newline at end of file +}; diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoSaveHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoSaveHook.ts index 1ed50de..964d127 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoSaveHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_servico_tipo/useTServicoTipoSaveHook.ts @@ -2,14 +2,14 @@ import { useState } from 'react'; import { useResponse } from '@/shared/components/response/ResponseContext'; // Interface tipada do tipo de serviço -import TServicoTipoInterface from '../../_interfaces/TServicoTipoInterface'; +import TServicoTipoInterface from '../../_interfaces/TServicoTipoInterface'; // Serviço que salva os dados do tipo de serviço import { TServicoTipoSaveService } from '../../_services/t_servico_tipo/TServicoTipoSaveService'; export const useTServicoTipoSaveHook = () => { const { setResponse } = useResponse(); - + // Estado local para armazenar os dados do tipo de serviço salvos const [tServicoTipo, setTServicoTipo] = useState(null); @@ -26,8 +26,8 @@ export const useTServicoTipoSaveHook = () => { // Manda a resposta para o verificador de resposta global setResponse(response); - } + }; // Retorna o estado e a função de salvamento para uso no componente return { tServicoTipo, saveTServicoTipo }; -}; \ No newline at end of file +}; diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook.ts index 88a8eaa..c0f2697 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook.ts @@ -11,14 +11,15 @@ import { TTBReconhecimentoTipoInterface } from '../../_interfaces/TTBReconhecime // Importa o serviço responsável por buscar os dados de "TTBReconhecimentoTipo" na API import { TTBReconhecimentoTipoIndexService } from '../../_services/t_tb_reconhecimentotipo/TTBReconhecimentoTipoIndexService'; - // Hook personalizado para leitura (consulta) dos tipos de marcação export const useTTBReconhecimentoTipoReadHook = () => { // Obtém a função que atualiza a resposta global do sistema const { setResponse } = useResponse(); // Define o estado local que armazenará a lista de tipos de marcação - const [tTBReconhecimentoTipo, setTTBReconhecimentoTipo] = useState([]); + const [tTBReconhecimentoTipo, setTTBReconhecimentoTipo] = useState< + TTBReconhecimentoTipoInterface[] + >([]); // Função responsável por buscar os dados da API e atualizar o estado const fetchTTBReconhecimentoTipo = async (data: TTBReconhecimentoTipoReadInterface) => { @@ -33,5 +34,8 @@ export const useTTBReconhecimentoTipoReadHook = () => { }; // Retorna os dados e a função de busca, memorizando o valor para evitar recriações desnecessárias - return useMemo(() => ({ tTBReconhecimentoTipo, fetchTTBReconhecimentoTipo }), [tTBReconhecimentoTipo, fetchTTBReconhecimentoTipo]); + return useMemo( + () => ({ tTBReconhecimentoTipo, fetchTTBReconhecimentoTipo }), + [tTBReconhecimentoTipo, fetchTTBReconhecimentoTipo], + ); }; diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/CCaixaServicoInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/CCaixaServicoInterface.ts index 13fd319..c6595b6 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/CCaixaServicoInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/CCaixaServicoInterface.ts @@ -1,17 +1,17 @@ // Interface que representa a tabela C_CAIXA_SERVICO export interface CCaixaServicoInterface { - interno_sistema?: string; // VARCHAR(1) - caixa_servico_id: number; // NUMERIC(10,2) NOT NULL - Chave primária - descricao?: string; // VARCHAR(60) - situacao?: string; // VARCHAR(1) - tipo_transacao?: string; // VARCHAR(1) - sistema_id?: number; // NUMERIC(14,3) - selo_grupo_id?: number; // NUMERIC(10,2) - emitir_relatorio?: string; // VARCHAR(1) - repasse?: string; // VARCHAR(1) - repetir_descricao?: string; // VARCHAR(1) - codigo_conta?: number; // NUMERIC(10,2) - tipo_conta_carneleao?: string; // VARCHAR(60) - centro_de_custa_id?: number; // NUMERIC(10,2) - Chave estrangeira - devolucao_juizo?: string; // VARCHAR(1) -} \ No newline at end of file + interno_sistema?: string; // VARCHAR(1) + caixa_servico_id: number; // NUMERIC(10,2) NOT NULL - Chave primária + descricao?: string; // VARCHAR(60) + situacao?: string; // VARCHAR(1) + tipo_transacao?: string; // VARCHAR(1) + sistema_id?: number; // NUMERIC(14,3) + selo_grupo_id?: number; // NUMERIC(10,2) + emitir_relatorio?: string; // VARCHAR(1) + repasse?: string; // VARCHAR(1) + repetir_descricao?: string; // VARCHAR(1) + codigo_conta?: number; // NUMERIC(10,2) + tipo_conta_carneleao?: string; // VARCHAR(60) + centro_de_custa_id?: number; // NUMERIC(10,2) - Chave estrangeira + devolucao_juizo?: string; // VARCHAR(1) +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/CCaixaServicoReadInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/CCaixaServicoReadInterface.ts index b528407..52ed3ef 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/CCaixaServicoReadInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/CCaixaServicoReadInterface.ts @@ -1,3 +1,3 @@ export interface CCaixaServicoReadInterface { sistema_id?: number; -} \ No newline at end of file +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoInterface.ts index 9998089..64c2518 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoInterface.ts @@ -1,20 +1,20 @@ // Interface que representa a tabela G_EMOLUMENTO export interface GEmolumentoInterface { - emolumento_id?: number; // NUMERIC(10,2) - Chave primária - descricao?: string; // VARCHAR(260) - tipo?: string; // VARCHAR(1) - sistema_id?: number; // NUMERIC(10,2) - selo_grupo_id?: number; // NUMERIC(10,2) - reg_averb?: string; // VARCHAR(1) - pre_definido?: string; // VARCHAR(1) - situacao?: string; // VARCHAR(1) - situacao_ri?: string; // VARCHAR(1) - com_reducao?: string; // VARCHAR(1) - motivo_reducao?: string; // VARCHAR(120) - valor_maximo_certidao?: number; // NUMERIC(14,3) - tipo_objetivo?: string; // VARCHAR(3) - modelo_tag?: string; // VARCHAR(3) - codigo_nota_id?: number; // NUMERIC(10,2) - convenio_codhab?: string; // VARCHAR(1) - item_df?: string; // VARCHAR(10) + emolumento_id?: number; // NUMERIC(10,2) - Chave primária + descricao?: string; // VARCHAR(260) + tipo?: string; // VARCHAR(1) + sistema_id?: number; // NUMERIC(10,2) + selo_grupo_id?: number; // NUMERIC(10,2) + reg_averb?: string; // VARCHAR(1) + pre_definido?: string; // VARCHAR(1) + situacao?: string; // VARCHAR(1) + situacao_ri?: string; // VARCHAR(1) + com_reducao?: string; // VARCHAR(1) + motivo_reducao?: string; // VARCHAR(120) + valor_maximo_certidao?: number; // NUMERIC(14,3) + tipo_objetivo?: string; // VARCHAR(3) + modelo_tag?: string; // VARCHAR(3) + codigo_nota_id?: number; // NUMERIC(10,2) + convenio_codhab?: string; // VARCHAR(1) + item_df?: string; // VARCHAR(10) } diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoItemInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoItemInterface.ts index 609426d..11b9857 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoItemInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoItemInterface.ts @@ -1,32 +1,32 @@ // Interface que representa a tabela G_EMOLUMENTO_ITEM (inferido) export interface GEmolumentoItemInterface { - valor_emolumento?: number; // NUMERIC(14,3) - emolumento_item_id: number; // NUMERIC(10,2) NOT NULL - Chave primária (assumida) - emolumento_id?: number; // NUMERIC(10,2) - valor_inicio?: number; // NUMERIC(14,3) - valor_fim?: number; // NUMERIC(14,3) - valor_taxa_judiciaria?: number; // NUMERIC(14,3) - emolumento_periodo_id?: number; // NUMERIC(10,2) - codigo?: number; // NUMERIC(10,2) - pagina_extra?: number; // NUMERIC(10,2) - valor_pagina_extra?: number; // NUMERIC(14,3) - valor_outra_taxa1?: number; // NUMERIC(14,3) - codigo_selo?: string; // VARCHAR(30) - valor_fundo_ri?: number; // NUMERIC(14,3) - codigo_tabela?: string; // VARCHAR(30) - selo_grupo_id?: number; // NUMERIC(10,2) - codigo_km?: string; // VARCHAR(30) - emolumento_acresce?: number; // NUMERIC(14,3) - taxa_acresce?: number; // NUMERIC(14,3) - funcivil_acresce?: number; // NUMERIC(14,3) - valor_fracao?: number; // NUMERIC(14,3) - valor_por_excedente_emol?: number; // NUMERIC(14,3) - valor_por_excedente_tj?: number; // NUMERIC(14,3) - valor_por_excedente_fundo?: number; // NUMERIC(14,3) - valor_limite_excedente_emol?: number; // NUMERIC(14,3) - valor_limite_excedente_tj?: number; // NUMERIC(14,3) + valor_emolumento?: number; // NUMERIC(14,3) + emolumento_item_id: number; // NUMERIC(10,2) NOT NULL - Chave primária (assumida) + emolumento_id?: number; // NUMERIC(10,2) + valor_inicio?: number; // NUMERIC(14,3) + valor_fim?: number; // NUMERIC(14,3) + valor_taxa_judiciaria?: number; // NUMERIC(14,3) + emolumento_periodo_id?: number; // NUMERIC(10,2) + codigo?: number; // NUMERIC(10,2) + pagina_extra?: number; // NUMERIC(10,2) + valor_pagina_extra?: number; // NUMERIC(14,3) + valor_outra_taxa1?: number; // NUMERIC(14,3) + codigo_selo?: string; // VARCHAR(30) + valor_fundo_ri?: number; // NUMERIC(14,3) + codigo_tabela?: string; // VARCHAR(30) + selo_grupo_id?: number; // NUMERIC(10,2) + codigo_km?: string; // VARCHAR(30) + emolumento_acresce?: number; // NUMERIC(14,3) + taxa_acresce?: number; // NUMERIC(14,3) + funcivil_acresce?: number; // NUMERIC(14,3) + valor_fracao?: number; // NUMERIC(14,3) + valor_por_excedente_emol?: number; // NUMERIC(14,3) + valor_por_excedente_tj?: number; // NUMERIC(14,3) + valor_por_excedente_fundo?: number; // NUMERIC(14,3) + valor_limite_excedente_emol?: number; // NUMERIC(14,3) + valor_limite_excedente_tj?: number; // NUMERIC(14,3) valor_limite_excedente_fundo?: number; // NUMERIC(14,3) - fundo_selo?: number; // NUMERIC(14,3) - distribuicao?: number; // NUMERIC(14,3) - vrc_ext?: number; // NUMERIC(10,2) - Renomeado de VRCEXT para vrc_ext (convenção) -} \ No newline at end of file + fundo_selo?: number; // NUMERIC(14,3) + distribuicao?: number; // NUMERIC(14,3) + vrc_ext?: number; // NUMERIC(10,2) - Renomeado de VRCEXT para vrc_ext (convenção) +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoItemReadInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoItemReadInterface.ts index 1ba73db..79144fc 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoItemReadInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoItemReadInterface.ts @@ -1,4 +1,4 @@ export interface GEmolumentoItemReadInterface { - emolumento_id?: number, - valor?: number -} \ No newline at end of file + emolumento_id?: number; + valor?: number; +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoReadInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoReadInterface.ts index 3e2f596..111562f 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoReadInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoReadInterface.ts @@ -1,3 +1,3 @@ export interface GEmolumentoReadInterface { - sistema_id?: number -} \ No newline at end of file + sistema_id?: number; +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GMarcacaoTipoInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GMarcacaoTipoInterface.ts index 7e3be09..1127a0c 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GMarcacaoTipoInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GMarcacaoTipoInterface.ts @@ -17,4 +17,4 @@ export interface GMarcacaoTipoInterface { protegida?: string; ativar_separador?: string; sql_completo?: string; -} \ No newline at end of file +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GMarcacaoTipoReadInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GMarcacaoTipoReadInterface.ts index 9c95bb0..ca49448 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/GMarcacaoTipoReadInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/GMarcacaoTipoReadInterface.ts @@ -2,4 +2,4 @@ export interface GMarcacaoTipoReadInterface { grupo?: string; sistema_id?: number; situacao?: string; -} \ No newline at end of file +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoEtiquetaInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoEtiquetaInterface.ts index 9ab50d7..67c03aa 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoEtiquetaInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoEtiquetaInterface.ts @@ -1,7 +1,7 @@ // Interface que representa a tabela T_TB_RECONHECIMENTOTIPO export interface TServicoEtiquetaInterface { - servico_etiqueta_id?: number; // NUMERIC(10,2) NOT NULL - Chave primária - etiqueta_modelo_id?: number; // NUMERIC(10,2) - servico_tipo_id?: number; // NUMERIC(10,2) - descricao?: string + servico_etiqueta_id?: number; // NUMERIC(10,2) NOT NULL - Chave primária + etiqueta_modelo_id?: number; // NUMERIC(10,2) + servico_tipo_id?: number; // NUMERIC(10,2) + descricao?: string; } diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoEtiquetaServicoIdReadInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoEtiquetaServicoIdReadInterface.ts index 12ce5b0..4c5b92b 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoEtiquetaServicoIdReadInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoEtiquetaServicoIdReadInterface.ts @@ -1,3 +1,3 @@ export interface TServicoEtiquetaServicoIdReadInterface { - servico_tipo_id?: number -} \ No newline at end of file + servico_tipo_id?: number; +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoTipoInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoTipoInterface.ts index 872097e..a7e6e7c 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoTipoInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TServicoTipoInterface.ts @@ -1,27 +1,27 @@ export default interface TServicoTipoInterface { - servico_tipo_id?: number; // SERVICO_TIPO_ID NUMERIC(10,2) NOT NULL (PK) - descricao: string; // DESCRICAO VARCHAR(60) - valor?: number; // VALOR NUMERIC(14,3) - requer_autorizacao?: string; // REQUER_AUTORIZACAO VARCHAR(1) - requer_biometria?: string; // REQUER_BIOMETRIA VARCHAR(1) - tipo_pessoa?: string; // TIPO_PESSOA VARCHAR(1) - tb_reconhecimentotipo_id?: number; // TB_RECONHECIMENTOTIPO_ID NUMERIC(10,2) (FK) - requer_abonador?: string; // REQUER_ABONADOR VARCHAR(1) - situacao?: string; // SITUACAO VARCHAR(1) - requer_cpf?: string; // REQUER_CPF VARCHAR(1) - servico_padrao?: string; // SERVICO_PADRAO VARCHAR(1) - maximo_pessoa?: number; // MAXIMO_PESSOA NUMERIC(10,2) - alterar_valor?: string; // ALTERAR_VALOR VARCHAR(1) - servico_caixa_id?: number; // SERVICO_CAIXA_ID NUMERIC(10,2) - caixa_servico_id?: number; // LIBERAR_DESCONTO VARCHAR(1) - valor_fixo?: string; // VALOR_FIXO VARCHAR(1) - emolumento_id?: number; // EMOLUMENTO_ID NUMERIC(10,2) (FK) - emolumento_obrigatorio?: number; // EMOLUMENTO_OBRIGATORIO NUMERIC(10,2) (FK) - ato_praticado?: string; // ATO_PRATICADO VARCHAR(1) - selar?: string; // SELAR VARCHAR(1) - frenteverso?: string; // FRENTEVERSO VARCHAR(1) - etiqueta_unica?: string; // ETIQUETA_UNICA VARCHAR(1) - transferencia_veiculo?: string; // TRANSFERENCIA_VEICULO VARCHAR(1) - usar_a4?: string; // USAR_A4 VARCHAR(1) - averbacao?: string; // AVERBACAO VARCHAR(1) + servico_tipo_id?: number; // SERVICO_TIPO_ID NUMERIC(10,2) NOT NULL (PK) + descricao: string; // DESCRICAO VARCHAR(60) + valor?: number; // VALOR NUMERIC(14,3) + requer_autorizacao?: string; // REQUER_AUTORIZACAO VARCHAR(1) + requer_biometria?: string; // REQUER_BIOMETRIA VARCHAR(1) + tipo_pessoa?: string; // TIPO_PESSOA VARCHAR(1) + tb_reconhecimentotipo_id?: number; // TB_RECONHECIMENTOTIPO_ID NUMERIC(10,2) (FK) + requer_abonador?: string; // REQUER_ABONADOR VARCHAR(1) + situacao?: string; // SITUACAO VARCHAR(1) + requer_cpf?: string; // REQUER_CPF VARCHAR(1) + servico_padrao?: string; // SERVICO_PADRAO VARCHAR(1) + maximo_pessoa?: number; // MAXIMO_PESSOA NUMERIC(10,2) + alterar_valor?: string; // ALTERAR_VALOR VARCHAR(1) + servico_caixa_id?: number; // SERVICO_CAIXA_ID NUMERIC(10,2) + caixa_servico_id?: number; // LIBERAR_DESCONTO VARCHAR(1) + valor_fixo?: string; // VALOR_FIXO VARCHAR(1) + emolumento_id?: number; // EMOLUMENTO_ID NUMERIC(10,2) (FK) + emolumento_obrigatorio?: number; // EMOLUMENTO_OBRIGATORIO NUMERIC(10,2) (FK) + ato_praticado?: string; // ATO_PRATICADO VARCHAR(1) + selar?: string; // SELAR VARCHAR(1) + frenteverso?: string; // FRENTEVERSO VARCHAR(1) + etiqueta_unica?: string; // ETIQUETA_UNICA VARCHAR(1) + transferencia_veiculo?: string; // TRANSFERENCIA_VEICULO VARCHAR(1) + usar_a4?: string; // USAR_A4 VARCHAR(1) + averbacao?: string; // AVERBACAO VARCHAR(1) } diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBReconhecimentoTipoInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBReconhecimentoTipoInterface.ts index 8144ce6..bbf207c 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBReconhecimentoTipoInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBReconhecimentoTipoInterface.ts @@ -1,6 +1,6 @@ // Interface que representa a tabela T_TB_RECONHECIMENTOTIPO export interface TTbReconhecimentoTipoInterface { - tb_reconhecimentotipo_id: number; // NUMERIC(10,2) NOT NULL - Chave primária - descricao?: string; // VARCHAR(30) - situacao?: string; // VARCHAR(1) + tb_reconhecimentotipo_id: number; // NUMERIC(10,2) NOT NULL - Chave primária + descricao?: string; // VARCHAR(30) + situacao?: string; // VARCHAR(1) } diff --git a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBReconhecimentoTipoReadInterface.ts b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBReconhecimentoTipoReadInterface.ts index 69948ee..c1732f6 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBReconhecimentoTipoReadInterface.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_interfaces/TTBReconhecimentoTipoReadInterface.ts @@ -1,4 +1,4 @@ export interface TTBReconhecimentoTipoReadInterface { - tb_reconhecimentotipo_id?: number, - descricao?: string -} \ No newline at end of file + tb_reconhecimentotipo_id?: number; + descricao?: string; +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/TServicoEtiquetaSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/TServicoEtiquetaSchema.ts index 11dc09e..b7d3b06 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_schemas/TServicoEtiquetaSchema.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/TServicoEtiquetaSchema.ts @@ -11,5 +11,4 @@ export interface TServicoEtiquetaFormValues { /** Relacionamento com o tipo de serviço (FK) */ servico_tipo_id?: number; - } diff --git a/src/app/(protected)/(cadastros)/cadastros/_schemas/TServicoTipoSchema.ts b/src/app/(protected)/(cadastros)/cadastros/_schemas/TServicoTipoSchema.ts index 3fae76f..8fb4cb2 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_schemas/TServicoTipoSchema.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_schemas/TServicoTipoSchema.ts @@ -1,12 +1,12 @@ -import z from "zod"; +import z from 'zod'; /** * Tipos utilitários para campos simples */ -const SN = z.enum(["S", "N"]).default("N"); // Campos do tipo Sim/Não -const AI = z.enum(["A", "I"]).default("A"); // Situação Ativo/Inativo -const OneCharString = z.string().max(1, "Deve ter no máximo 1 caractere").optional(); -const RequiredString = z.string().min(1, "O campo é obrigatório"); +const SN = z.enum(['S', 'N']).default('N'); // Campos do tipo Sim/Não +const AI = z.enum(['A', 'I']).default('A'); // Situação Ativo/Inativo +const OneCharString = z.string().max(1, 'Deve ter no máximo 1 caractere').optional(); +const RequiredString = z.string().min(1, 'O campo é obrigatório'); const OptionalNumber = z.number().optional(); const RequiredNumber = z.number(); @@ -15,10 +15,10 @@ const RequiredNumber = z.number(); */ export const TServicoTipoSchema = z.object({ // Identificador - servico_tipo_id: RequiredNumber.describe("ID do Tipo de Serviço").optional(), + servico_tipo_id: RequiredNumber.describe('ID do Tipo de Serviço').optional(), // Campos principais - descricao: z.string().max(60, "A descrição deve ter no máximo 60 caracteres").optional(), + descricao: z.string().max(60, 'A descrição deve ter no máximo 60 caracteres').optional(), categoria: z.string().optional(), // Controle de flags (S/N) @@ -46,7 +46,7 @@ export const TServicoTipoSchema = z.object({ valor: OptionalNumber, maximo_pessoa: OptionalNumber, servico_caixa_id: OptionalNumber, - emolumento_id: z.number().nullable(), + emolumento_id: z.number().nullable(), emolumento_obrigatorio: z.number().nullable(), // Relacionamentos e permissões diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/c_caixa_servico/CCaixaServicoIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/c_caixa_servico/CCaixaServicoIndexService.ts index 1b7f368..c9d11be 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/c_caixa_servico/CCaixaServicoIndexService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/c_caixa_servico/CCaixaServicoIndexService.ts @@ -9,12 +9,10 @@ import { CCaixaServicoReadInterface } from '../../_interfaces/CCaixaServicoReadI async function executeCCaixaServicoIndexService(data: CCaixaServicoReadInterface) { // Chama a função que realiza a requisição à API e aguarda a resposta const response = await CCaixaServicoIndexData(data); - + // Retorna a resposta obtida da requisição return response; } // Exporta o serviço encapsulado pelo handler de erro, garantindo tratamento uniforme em caso de falhas -export const CCaixaServicoIndexService = withClientErrorHandler( - executeCCaixaServicoIndexService, -); +export const CCaixaServicoIndexService = withClientErrorHandler(executeCCaixaServicoIndexService); diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_emolumento/GEmolumentoIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_emolumento/GEmolumentoIndexService.ts index beef86e..4d46361 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/g_emolumento/GEmolumentoIndexService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_emolumento/GEmolumentoIndexService.ts @@ -9,12 +9,10 @@ import { GEmolumentoReadInterface } from '../../_interfaces/GEmolumentoReadInter async function executeGEmolumentoIndexService(data: GEmolumentoReadInterface) { // Chama a função que realiza a requisição à API e aguarda a resposta const response = await GEmolumentoIndexData(data); - + // Retorna a resposta obtida da requisição return response; } // Exporta o serviço encapsulado pelo handler de erro, garantindo tratamento uniforme em caso de falhas -export const GEmolumentoIndexService = withClientErrorHandler( - executeGEmolumentoIndexService, -); +export const GEmolumentoIndexService = withClientErrorHandler(executeGEmolumentoIndexService); diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_emolumento_item/GEmolumentoItemValorService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_emolumento_item/GEmolumentoItemValorService.ts index 6bb2963..9c74b1f 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/g_emolumento_item/GEmolumentoItemValorService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_emolumento_item/GEmolumentoItemValorService.ts @@ -9,7 +9,7 @@ import { GEmolumentoItemReadInterface } from '../../_interfaces/GEmolumentoItemR async function executeGEmolumentoItemValorService(data: GEmolumentoItemReadInterface) { // Chama a função que realiza a requisição à API e aguarda a resposta const response = await GEmolumentoItemValorData(data); - + // Retorna a resposta obtida da requisição return response; } diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/g_marcacao_tipo/GMarcacaoTipoIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/g_marcacao_tipo/GMarcacaoTipoIndexService.ts index cf886af..7a058ee 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/g_marcacao_tipo/GMarcacaoTipoIndexService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/g_marcacao_tipo/GMarcacaoTipoIndexService.ts @@ -9,12 +9,10 @@ import { GMarcacaoTipoReadInterface } from '../../_interfaces/GMarcacaoTipoReadI async function executeGMarcacaoTipoIndexService(data: GMarcacaoTipoReadInterface) { // Chama a função que realiza a requisição à API e aguarda a resposta const response = await GMarcacaoTipoIndexData(data); - + // Retorna a resposta obtida da requisição return response; } // Exporta o serviço encapsulado pelo handler de erro, garantindo tratamento uniforme em caso de falhas -export const GMarcacaoTipoIndexService = withClientErrorHandler( - executeGMarcacaoTipoIndexService, -); +export const GMarcacaoTipoIndexService = withClientErrorHandler(executeGMarcacaoTipoIndexService); diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_etiqueta/TServicoEtiquetaSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_etiqueta/TServicoEtiquetaSaveService.ts index e6675ef..ef0a70d 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_etiqueta/TServicoEtiquetaSaveService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_etiqueta/TServicoEtiquetaSaveService.ts @@ -9,7 +9,6 @@ import { TServicoEtiquetaInterface } from '../../_interfaces/TServicoEtiquetaInt // Função assíncrona que executa o salvamento de um serviço etiqueta async function executeTServicoEtiquetaSaveService(data: TServicoEtiquetaInterface) { - // Chama a função que salva os dados do serviço etiqueta const response = await TServicoEtiquetaSaveData(data); @@ -18,4 +17,6 @@ async function executeTServicoEtiquetaSaveService(data: TServicoEtiquetaInterfac } // Exporta o serviço de salvamento de serviço etiqueta já encapsulado com tratamento de erros -export const TServicoEtiquetaSaveService = withClientErrorHandler(executeTServicoEtiquetaSaveService); \ No newline at end of file +export const TServicoEtiquetaSaveService = withClientErrorHandler( + executeTServicoEtiquetaSaveService, +); diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_etiqueta/TServicoEtiquetaServicoIdService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_etiqueta/TServicoEtiquetaServicoIdService.ts index 1d56a87..702d7db 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_etiqueta/TServicoEtiquetaServicoIdService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_etiqueta/TServicoEtiquetaServicoIdService.ts @@ -8,7 +8,6 @@ import { TServicoEtiquetaInterface } from '../../_interfaces/TServicoEtiquetaInt // Função assíncrona que executa a consulta de um tipo de serviço etiqueta async function executeTServicoEtiquetaServicoIdService(data: TServicoEtiquetaInterface) { - // Chama a função que consulta os dados do tipo de serviço etiqueta const response = await TServicoEtiquetaReadData(data); @@ -17,4 +16,6 @@ async function executeTServicoEtiquetaServicoIdService(data: TServicoEtiquetaInt } // Exporta o serviço de remoção de tipo de serviço já encapsulado com tratamento de erros -export const TServicoEtiquetaServicoIdService = withClientErrorHandler(executeTServicoEtiquetaServicoIdService); \ No newline at end of file +export const TServicoEtiquetaServicoIdService = withClientErrorHandler( + executeTServicoEtiquetaServicoIdService, +); diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoEditService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoEditService.ts index 873e321..9e0ab2e 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoEditService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoEditService.ts @@ -17,4 +17,4 @@ async function executeTServicoTipoEditService(data: TServicoTipoInterface) { } // Exporta o serviço de remoção de tipo de serviço já encapsulado com tratamento de erros -export const TServicoTipoEditService = withClientErrorHandler(executeTServicoTipoEditService); \ No newline at end of file +export const TServicoTipoEditService = withClientErrorHandler(executeTServicoTipoEditService); diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoIndexService.ts index da0f6be..d8654ca 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoIndexService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoIndexService.ts @@ -14,4 +14,4 @@ async function executeTServicoTipoIndexService() { } // Exporta o serviço de índice de tipos de serviço já encapsulado com tratamento de erros -export const TServicoTipoIndexService = withClientErrorHandler(executeTServicoTipoIndexService); \ No newline at end of file +export const TServicoTipoIndexService = withClientErrorHandler(executeTServicoTipoIndexService); diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoRemoveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoRemoveService.ts index 346a859..4376393 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoRemoveService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoRemoveService.ts @@ -17,4 +17,4 @@ async function executeTServicoTipoRemoveService(data: TServicoTipoInterface) { } // Exporta o serviço de remoção de tipo de serviço já encapsulado com tratamento de erros -export const TServicoTipoRemoveService = withClientErrorHandler(executeTServicoTipoRemoveService); \ No newline at end of file +export const TServicoTipoRemoveService = withClientErrorHandler(executeTServicoTipoRemoveService); diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoSaveService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoSaveService.ts index 7a4ff82..770d824 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoSaveService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_servico_tipo/TServicoTipoSaveService.ts @@ -17,4 +17,4 @@ async function executeTServicoTipoSaveService(data: TServicoTipoInterface) { } // Exporta o serviço de salvamento de tipo de serviço já encapsulado com tratamento de erros -export const TServicoTipoSaveService = withClientErrorHandler(executeTServicoTipoSaveService); \ No newline at end of file +export const TServicoTipoSaveService = withClientErrorHandler(executeTServicoTipoSaveService); diff --git a/src/app/(protected)/(cadastros)/cadastros/_services/t_tb_reconhecimentotipo/TTBReconhecimentoTipoIndexService.ts b/src/app/(protected)/(cadastros)/cadastros/_services/t_tb_reconhecimentotipo/TTBReconhecimentoTipoIndexService.ts index fece097..f9fca02 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_services/t_tb_reconhecimentotipo/TTBReconhecimentoTipoIndexService.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_services/t_tb_reconhecimentotipo/TTBReconhecimentoTipoIndexService.ts @@ -9,7 +9,7 @@ import { TTBReconhecimentoTipoReadInterface } from '../../_interfaces/TTBReconhe async function executeTTBReconhecimentoTipoIndexService(data: TTBReconhecimentoTipoReadInterface) { // Chama a função que realiza a requisição à API e aguarda a resposta const response = await TTBReconhecimentoTipoIndexData(data); - + // Retorna a resposta obtida da requisição return response; } diff --git a/src/app/(protected)/layout.tsx b/src/app/(protected)/layout.tsx index 0e86ae0..c6fea82 100644 --- a/src/app/(protected)/layout.tsx +++ b/src/app/(protected)/layout.tsx @@ -56,15 +56,11 @@ export default function RootLayout({ - - Building Your Application - + Building Your Application - - Data Fetching - + Data Fetching diff --git a/src/app/(protected)/page.tsx b/src/app/(protected)/page.tsx index a1f4581..bf69e37 100644 --- a/src/app/(protected)/page.tsx +++ b/src/app/(protected)/page.tsx @@ -4,51 +4,47 @@ import useGUsuarioGetJWTHook from '@/shared/hooks/auth/useGUsuarioGetJWTHook'; import { useEffect, useState } from 'react'; export default function Page() { - const { userAuthenticated } = useGUsuarioGetJWTHook(); + const { userAuthenticated } = useGUsuarioGetJWTHook(); - // Inicializa time como null para renderizar só no cliente - const [time, setTime] = useState(null); + // Inicializa time como null para renderizar só no cliente + const [time, setTime] = useState(null); - useEffect(() => { - setTime(new Date()); // define data inicial no cliente - const interval = setInterval(() => setTime(new Date()), 1000); - return () => clearInterval(interval); - }, []); + useEffect(() => { + setTime(new Date()); // define data inicial no cliente + const interval = setInterval(() => setTime(new Date()), 1000); + return () => clearInterval(interval); + }, []); - // Se ainda não temos a hora, renderiza nada para evitar mismatch - if (!time || !userAuthenticated?.data) return null; + // Se ainda não temos a hora, renderiza nada para evitar mismatch + if (!time || !userAuthenticated?.data) return null; - const hours = time.getHours(); - const greeting = - hours < 12 ? 'Bom dia' : hours < 18 ? 'Boa tarde' : 'Boa noite'; + const hours = time.getHours(); + const greeting = hours < 12 ? 'Bom dia' : hours < 18 ? 'Boa tarde' : 'Boa noite'; - const formattedDate = time.toLocaleDateString('pt-BR', { - weekday: 'long', - day: '2-digit', - month: 'long', - }); - const formattedTime = time.toLocaleTimeString('pt-BR'); + const formattedDate = time.toLocaleDateString('pt-BR', { + weekday: 'long', + day: '2-digit', + month: 'long', + }); + const formattedTime = time.toLocaleTimeString('pt-BR'); - return ( -
-
-

- {greeting},{' '} - {userAuthenticated.data.nome}{' '} - 👋 -

+ return ( +
+
+

+ {greeting}, {userAuthenticated.data.nome} 👋 +

-

- Hoje é {formattedDate}, {formattedTime} -

+

+ Hoje é {formattedDate}, {formattedTime} +

-
-

- Que bom ter você de volta! 🎉 - Aproveite o seu dia e continue alcançando seus objetivos. -

-
-
-
- ); +
+

+ Que bom ter você de volta! 🎉 Aproveite o seu dia e continue alcançando seus objetivos. +

+
+
+
+ ); } diff --git a/src/app/_components/confirm_exclusion/ConfirmExclusion.tsx b/src/app/_components/confirm_exclusion/ConfirmExclusion.tsx index e647429..e6f9226 100644 --- a/src/app/_components/confirm_exclusion/ConfirmExclusion.tsx +++ b/src/app/_components/confirm_exclusion/ConfirmExclusion.tsx @@ -2,123 +2,110 @@ import React, { useState } from 'react'; import { - AlertDialog, - AlertDialogCancel, - AlertDialogContent, - AlertDialogDescription, - AlertDialogFooter, - AlertDialogHeader, - AlertDialogTitle, - AlertDialogAction, + AlertDialog, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle, + AlertDialogAction, } from '@/components/ui/alert-dialog'; -import { - InputOTP, - InputOTPGroup, - InputOTPSlot, -} from '@/components/ui/input-otp'; +import { InputOTP, InputOTPGroup, InputOTPSlot } from '@/components/ui/input-otp'; interface ConfirmExclusionProps { - isOpen: boolean; - title: string; - description?: string; - expectedCode: string; - confirmText?: string; - cancelText?: string; - onConfirm: () => void; - onCancel: () => void; - onResendCode: () => void; // Função para reenviar o código + isOpen: boolean; + title: string; + description?: string; + expectedCode: string; + confirmText?: string; + cancelText?: string; + onConfirm: () => void; + onCancel: () => void; + onResendCode: () => void; // Função para reenviar o código } export default function ConfirmExclusion({ - isOpen, - title, - description, - expectedCode, - confirmText = 'Continuar', - cancelText = 'Cancelar', - onConfirm, - onCancel, - onResendCode, // A função para reenvio do código + isOpen, + title, + description, + expectedCode, + confirmText = 'Continuar', + cancelText = 'Cancelar', + onConfirm, + onCancel, + onResendCode, // A função para reenvio do código }: ConfirmExclusionProps) { - const [code, setCode] = useState(''); - const [isValid, setIsValid] = useState(false); - const [isResending, setIsResending] = useState(false); // Novo estado para controle de envio do código + const [code, setCode] = useState(''); + const [isValid, setIsValid] = useState(false); + const [isResending, setIsResending] = useState(false); // Novo estado para controle de envio do código - const handleChange = (value: string) => { - setCode(value); - setIsValid(value === expectedCode); - }; + const handleChange = (value: string) => { + setCode(value); + setIsValid(value === expectedCode); + }; - const handleResendCode = async () => { - setIsResending(true); - try { - await onResendCode(); // Chamando a função de reenvio - } catch (error) { - console.error("Erro ao reenviar código", error); - } finally { - setIsResending(false); // Resetando o estado de envio - } - }; + const handleResendCode = async () => { + setIsResending(true); + try { + await onResendCode(); // Chamando a função de reenvio + } catch (error) { + console.error('Erro ao reenviar código', error); + } finally { + setIsResending(false); // Resetando o estado de envio + } + }; - return ( - !open && onCancel()}> - - - {title} - {description && ( - - {description} - - )} - + return ( + !open && onCancel()}> + + + {title} + {description && ( + + {description} + + )} + -
-
- - - {expectedCode.split('').map((_, index) => ( - - ))} - - -
+
+
+ + + {expectedCode.split('').map((_, index) => ( + + ))} + + +
- {/* Botão "Reenviar Código" */} -
- - Não recebeu o código? - - -
-
+ {/* Botão "Reenviar Código" */} +
+ Não recebeu o código? + +
+
- - - {cancelText} - - - {confirmText} - - -
-
- ); + + + {cancelText} + + + {confirmText} + + +
+
+ ); } diff --git a/src/app/_components/confirm_exclusion/useConfirmExclusion.ts b/src/app/_components/confirm_exclusion/useConfirmExclusion.ts index 25a2c9d..62d9eac 100644 --- a/src/app/_components/confirm_exclusion/useConfirmExclusion.ts +++ b/src/app/_components/confirm_exclusion/useConfirmExclusion.ts @@ -1,4 +1,4 @@ -import { useCallback, useState } from "react"; +import { useCallback, useState } from 'react'; interface UseConfirmExclusionOptions { onConfirm?: () => void; @@ -6,15 +6,19 @@ interface UseConfirmExclusionOptions { expectedCode: string; // código que o usuário precisa digitar } -export function useConfirmExclusion({ onConfirm, onCancel, expectedCode }: UseConfirmExclusionOptions) { +export function useConfirmExclusion({ + onConfirm, + onCancel, + expectedCode, +}: UseConfirmExclusionOptions) { const [isOpen, setIsOpen] = useState(false); - const [code, setCode] = useState(""); + const [code, setCode] = useState(''); const [isValid, setIsValid] = useState(false); const openDialog = useCallback(() => setIsOpen(true), []); const closeDialog = useCallback(() => { setIsOpen(false); - setCode(""); // limpa o código quando fecha + setCode(''); // limpa o código quando fecha setIsValid(false); }, []); @@ -35,7 +39,7 @@ export function useConfirmExclusion({ onConfirm, onCancel, expectedCode }: UseCo setCode(value); setIsValid(value === expectedCode); }, - [expectedCode] + [expectedCode], ); return { diff --git a/src/components/app-sidebar.tsx b/src/components/app-sidebar.tsx index 0047c5d..a33ccd8 100644 --- a/src/components/app-sidebar.tsx +++ b/src/components/app-sidebar.tsx @@ -106,8 +106,8 @@ const data = { url: '/administrativo/pessoas/estados-civis', }, { - title: "Regimes/Comunhão", - url: "/administrativo/pessoas/regimes-comunhao/", + title: 'Regimes/Comunhão', + url: '/administrativo/pessoas/regimes-comunhao/', }, { title: 'Tipo de Medida', @@ -130,12 +130,12 @@ const data = { url: '/administrativo/minutas/naturezas', }, { - title: "Censec/Tipo do Ato", - url: "/administrativo/centrais/censec/tipos-atos" + title: 'Censec/Tipo do Ato', + url: '/administrativo/centrais/censec/tipos-atos', }, { - title: "Censec/Qualidades", - url: "/administrativo/centrais/censec/qualidades" + title: 'Censec/Qualidades', + url: '/administrativo/centrais/censec/qualidades', }, { title: 'Censec/Centrais', @@ -146,14 +146,13 @@ const data = { url: '/administrativo/centrais/censec/naturezas-litigios', }, { - title: "Serviços/Tipos", - url: "/cadastros/servicos-tipo/", + title: 'Serviços/Tipos', + url: '/cadastros/servicos-tipo/', }, { - title: "Atos/Partes Tipos", - url: "/administrativo/atos/partes-tipos", + title: 'Atos/Partes Tipos', + url: '/administrativo/atos/partes-tipos', }, - ], }, ], @@ -182,16 +181,12 @@ export function AppSidebar({ ...props }: React.ComponentProps) { alt="Logo do site" width={100} height={100} - className='rounded-lg' + className="rounded-lg" />
- - Orius Tecnologia - - - 25.9.1 - + Orius Tecnologia + 25.9.1
diff --git a/src/components/nav-main.tsx b/src/components/nav-main.tsx index 7b62742..47bbb51 100644 --- a/src/components/nav-main.tsx +++ b/src/components/nav-main.tsx @@ -31,9 +31,7 @@ export function NavMain({ }) { return ( - - SAAS - + SAAS {items.map((item) => ( - - Escrituras - + Escrituras {projects.map((item) => ( diff --git a/src/components/ui/input-otp.tsx b/src/components/ui/input-otp.tsx index 614f70e..8ec7b98 100644 --- a/src/components/ui/input-otp.tsx +++ b/src/components/ui/input-otp.tsx @@ -1,58 +1,51 @@ -"use client" +'use client'; -import * as React from "react" -import { OTPInput, OTPInputContext } from "input-otp" -import { MinusIcon } from "lucide-react" +import * as React from 'react'; +import { OTPInput, OTPInputContext } from 'input-otp'; +import { MinusIcon } from 'lucide-react'; -import { cn } from "@/lib/utils" +import { cn } from '@/lib/utils'; function InputOTP({ className, containerClassName, ...props }: React.ComponentProps & { - containerClassName?: string + containerClassName?: string; }) { return ( - ) + ); } -function InputOTPGroup({ className, ...props }: React.ComponentProps<"div">) { +function InputOTPGroup({ className, ...props }: React.ComponentProps<'div'>) { return ( -
- ) +
+ ); } function InputOTPSlot({ index, className, ...props -}: React.ComponentProps<"div"> & { - index: number +}: React.ComponentProps<'div'> & { + index: number; }) { - const inputOTPContext = React.useContext(OTPInputContext) - const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {} + const inputOTPContext = React.useContext(OTPInputContext); + const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {}; return (
@@ -63,15 +56,15 @@ function InputOTPSlot({
)}
- ) + ); } -function InputOTPSeparator({ ...props }: React.ComponentProps<"div">) { +function InputOTPSeparator({ ...props }: React.ComponentProps<'div'>) { return (
- ) + ); } -export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } +export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }; diff --git a/src/components/ui/sidebar.tsx b/src/components/ui/sidebar.tsx index d4dc14f..d3d8082 100644 --- a/src/components/ui/sidebar.tsx +++ b/src/components/ui/sidebar.tsx @@ -548,7 +548,7 @@ function SidebarMenuAction({ 'peer-data-[size=lg]/menu-button:top-2.5', 'group-data-[collapsible=icon]:hidden', showOnHover && - 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0', + 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0', className, )} {...props} diff --git a/src/components/ui/switch.tsx b/src/components/ui/switch.tsx index 6a2b524..d15e20b 100644 --- a/src/components/ui/switch.tsx +++ b/src/components/ui/switch.tsx @@ -1,31 +1,28 @@ -"use client" +'use client'; -import * as React from "react" -import * as SwitchPrimitive from "@radix-ui/react-switch" +import * as React from 'react'; +import * as SwitchPrimitive from '@radix-ui/react-switch'; -import { cn } from "@/lib/utils" +import { cn } from '@/lib/utils'; -function Switch({ - className, - ...props -}: React.ComponentProps) { +function Switch({ className, ...props }: React.ComponentProps) { return ( - ) + ); } -export { Switch } +export { Switch }; diff --git a/src/components/ui/table.tsx b/src/components/ui/table.tsx index 51b74dd..418ebdd 100644 --- a/src/components/ui/table.tsx +++ b/src/components/ui/table.tsx @@ -1,116 +1,92 @@ -"use client" +'use client'; -import * as React from "react" +import * as React from 'react'; -import { cn } from "@/lib/utils" +import { cn } from '@/lib/utils'; -function Table({ className, ...props }: React.ComponentProps<"table">) { +function Table({ className, ...props }: React.ComponentProps<'table'>) { return ( -
+
- ) + ); } -function TableHeader({ className, ...props }: React.ComponentProps<"thead">) { - return ( - - ) +function TableHeader({ className, ...props }: React.ComponentProps<'thead'>) { + return ; } -function TableBody({ className, ...props }: React.ComponentProps<"tbody">) { +function TableBody({ className, ...props }: React.ComponentProps<'tbody'>) { return ( - ) + ); } -function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">) { +function TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) { return ( tr]:last:border-b-0", - className - )} + className={cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', className)} {...props} /> - ) + ); } -function TableRow({ className, ...props }: React.ComponentProps<"tr">) { +function TableRow({ className, ...props }: React.ComponentProps<'tr'>) { return ( - ) + ); } -function TableHead({ className, ...props }: React.ComponentProps<"th">) { +function TableHead({ className, ...props }: React.ComponentProps<'th'>) { return (
[role=checkbox]]:translate-y-[2px]", - className + 'text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]', + className, )} {...props} /> - ) + ); } -function TableCell({ className, ...props }: React.ComponentProps<"td">) { +function TableCell({ className, ...props }: React.ComponentProps<'td'>) { return ( [role=checkbox]]:translate-y-[2px]", - className + 'p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]', + className, )} {...props} /> - ) + ); } -function TableCaption({ - className, - ...props -}: React.ComponentProps<"caption">) { +function TableCaption({ className, ...props }: React.ComponentProps<'caption'>) { return (
- ) + ); } -export { - Table, - TableHeader, - TableBody, - TableFooter, - TableHead, - TableRow, - TableCell, - TableCaption, -} +export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption }; diff --git a/src/packages/administrativo/components/CCaixaServico/CCaixaServicoSelect.tsx b/src/packages/administrativo/components/CCaixaServico/CCaixaServicoSelect.tsx index 125a8aa..3b03b5e 100644 --- a/src/packages/administrativo/components/CCaixaServico/CCaixaServicoSelect.tsx +++ b/src/packages/administrativo/components/CCaixaServico/CCaixaServicoSelect.tsx @@ -1,97 +1,96 @@ 'use client'; -import React from "react"; -import { Button } from "@/components/ui/button"; +import React from 'react'; +import { Button } from '@/components/ui/button'; import { - Command, - CommandEmpty, - CommandGroup, - CommandInput, - CommandItem, - CommandList, -} from "@/components/ui/command"; -import { FormControl } from "@/components/ui/form"; -import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; -import { cn } from "@/lib/utils"; -import { CheckIcon, ChevronsUpDownIcon } from "lucide-react"; -import GetCapitalize from "@/shared/actions/text/GetCapitalize"; -import { useCCaixaServicoReadHook } from "@/app/(protected)/(cadastros)/cadastros/_hooks/c_caixa_servico/useCCaixaServicoReadHook"; -import { CCaixaServicoReadInterface } from "@/app/(protected)/(cadastros)/cadastros/_interfaces/CCaixaServicoReadInterface"; + Command, + CommandEmpty, + CommandGroup, + CommandInput, + CommandItem, + CommandList, +} from '@/components/ui/command'; +import { FormControl } from '@/components/ui/form'; +import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; +import { cn } from '@/lib/utils'; +import { CheckIcon, ChevronsUpDownIcon } from 'lucide-react'; +import GetCapitalize from '@/shared/actions/text/GetCapitalize'; +import { useCCaixaServicoReadHook } from '@/app/(protected)/(cadastros)/cadastros/_hooks/c_caixa_servico/useCCaixaServicoReadHook'; +import { CCaixaServicoReadInterface } from '@/app/(protected)/(cadastros)/cadastros/_interfaces/CCaixaServicoReadInterface'; export default function CCaixaServicoSelect({ sistema_id, field }: any) { + const cCaixaServicoReadParams: CCaixaServicoReadInterface = { sistema_id }; - const cCaixaServicoReadParams: CCaixaServicoReadInterface = { sistema_id }; - - const [open, setOpen] = React.useState(false); - const [isLoading, setIsLoading] = React.useState(false); - const { cCaixaServico, fetchCCaixaServico } = useCCaixaServicoReadHook(); - // Busca os dados uma única vez ao montar - React.useEffect(() => { - const loadData = async () => { - if (!cCaixaServico.length) { - setIsLoading(true); - await fetchCCaixaServico(cCaixaServicoReadParams); - setIsLoading(false); - } - }; - loadData(); - }, []); - const selected = cCaixaServico?.find( - (item) => String(item.caixa_servico_id) === String(field.value) - ); - return ( - - - - - - - - - - - - {isLoading ? "Carregando..." : "Nenhum resultado encontrado."} - - - {cCaixaServico?.map((item) => ( - { - field.onChange(Number(item.caixa_servico_id)); // envia apenas o número - setOpen(false); - }} - > - - {GetCapitalize(item.descricao)} - - ))} - - - - - - ); + const [open, setOpen] = React.useState(false); + const [isLoading, setIsLoading] = React.useState(false); + const { cCaixaServico, fetchCCaixaServico } = useCCaixaServicoReadHook(); + // Busca os dados uma única vez ao montar + React.useEffect(() => { + const loadData = async () => { + if (!cCaixaServico.length) { + setIsLoading(true); + await fetchCCaixaServico(cCaixaServicoReadParams); + setIsLoading(false); + } + }; + loadData(); + }, []); + const selected = cCaixaServico?.find( + (item) => String(item.caixa_servico_id) === String(field.value), + ); + return ( + + + + + + + + + + + + {isLoading ? 'Carregando...' : 'Nenhum resultado encontrado.'} + + + {cCaixaServico?.map((item) => ( + { + field.onChange(Number(item.caixa_servico_id)); // envia apenas o número + setOpen(false); + }} + > + + {GetCapitalize(item.descricao)} + + ))} + + + + + + ); } diff --git a/src/packages/administrativo/components/GCidade/GCidadeForm.tsx b/src/packages/administrativo/components/GCidade/GCidadeForm.tsx index b455abc..c386a5e 100644 --- a/src/packages/administrativo/components/GCidade/GCidadeForm.tsx +++ b/src/packages/administrativo/components/GCidade/GCidadeForm.tsx @@ -35,7 +35,6 @@ import { useGUfReadHook } from '@/packages/administrativo/hooks/GUF/useGUfReadHo import { GCidadeSchema } from '../../schemas/GCidade/GCidadeSchema'; - // Hook responsável em trazer todos os estados brasileiros // Define o tipo do formulário com base no schema Zod diff --git a/src/packages/administrativo/components/GEmolumento/GEmolumentoSelect.tsx b/src/packages/administrativo/components/GEmolumento/GEmolumentoSelect.tsx index 0b3df97..e073935 100644 --- a/src/packages/administrativo/components/GEmolumento/GEmolumentoSelect.tsx +++ b/src/packages/administrativo/components/GEmolumento/GEmolumentoSelect.tsx @@ -1,158 +1,156 @@ 'use client'; // Garante execução no cliente (Next.js App Router) -import React from "react"; -import { Button } from "@/components/ui/button"; +import React from 'react'; +import { Button } from '@/components/ui/button'; import { - Command, - CommandEmpty, - CommandGroup, - CommandInput, - CommandItem, - CommandList, -} from "@/components/ui/command"; -import { FormControl } from "@/components/ui/form"; -import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; -import { cn } from "@/lib/utils"; -import { CheckIcon, ChevronsUpDownIcon } from "lucide-react"; -import GetCapitalize from "@/shared/actions/text/GetCapitalize"; -import { useGEmolumentoReadHook } from "@/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento/useGEmolumentoReadHook"; -import { GEmolumentoReadInterface } from "@/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoReadInterface"; - + Command, + CommandEmpty, + CommandGroup, + CommandInput, + CommandItem, + CommandList, +} from '@/components/ui/command'; +import { FormControl } from '@/components/ui/form'; +import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; +import { cn } from '@/lib/utils'; +import { CheckIcon, ChevronsUpDownIcon } from 'lucide-react'; +import GetCapitalize from '@/shared/actions/text/GetCapitalize'; +import { useGEmolumentoReadHook } from '@/app/(protected)/(cadastros)/cadastros/_hooks/g_emolumento/useGEmolumentoReadHook'; +import { GEmolumentoReadInterface } from '@/app/(protected)/(cadastros)/cadastros/_interfaces/GEmolumentoReadInterface'; // Tipagem das props do componente interface GEmolumentoSelectProps { - sistema_id: number; // ID do sistema usado para buscar os emolumentos - field: any; // Objeto de controle do react-hook-form - onSelectChange?: (emolumento: { key: number; value: string }) => void; // Função callback opcional para disparar eventos externos - className?: string; // Classe CSS opcional para customização + sistema_id: number; // ID do sistema usado para buscar os emolumentos + field: any; // Objeto de controle do react-hook-form + onSelectChange?: (emolumento: { key: number; value: string }) => void; // Função callback opcional para disparar eventos externos + className?: string; // Classe CSS opcional para customização } - // Componente principal do select de emolumentos -export default function GEmolumentoSelect({ sistema_id, field, onSelectChange, className }: GEmolumentoSelectProps) { +export default function GEmolumentoSelect({ + sistema_id, + field, + onSelectChange, + className, +}: GEmolumentoSelectProps) { + // Define parâmetros de leitura para o hook que busca os emolumentos + const gEmolumentoReadParams: GEmolumentoReadInterface = { sistema_id }; - // Define parâmetros de leitura para o hook que busca os emolumentos - const gEmolumentoReadParams: GEmolumentoReadInterface = { sistema_id }; + // Estados locais do componente + const [open, setOpen] = React.useState(false); // Controla abertura do popover + const [isLoading, setIsLoading] = React.useState(false); // Exibe “Carregando...” enquanto busca dados - // Estados locais do componente - const [open, setOpen] = React.useState(false); // Controla abertura do popover - const [isLoading, setIsLoading] = React.useState(false); // Exibe “Carregando...” enquanto busca dados + // Hook responsável por buscar emolumentos no backend + const { gEmolumento, fetchGEmolumento } = useGEmolumentoReadHook(); - // Hook responsável por buscar emolumentos no backend - const { gEmolumento, fetchGEmolumento } = useGEmolumentoReadHook(); + // Carrega os dados de emolumentos apenas uma vez ao montar o componente + React.useEffect(() => { + const loadData = async () => { + if (!gEmolumento.length) { + setIsLoading(true); + await fetchGEmolumento(gEmolumentoReadParams); + setIsLoading(false); + } + }; + loadData(); + }, []); // ← executa apenas uma vez - // Carrega os dados de emolumentos apenas uma vez ao montar o componente - React.useEffect(() => { - const loadData = async () => { - if (!gEmolumento.length) { - setIsLoading(true); - await fetchGEmolumento(gEmolumentoReadParams); - setIsLoading(false); - } - }; - loadData(); - }, []); // ← executa apenas uma vez + // Obtém o item selecionado com base no valor atual do campo + const selected = gEmolumento?.find( + (item) => Number(item.emolumento_id) === Number(field.value ?? 0), + ); + // Estrutura visual do componente + return ( + + {/* === Botão principal (exibe valor selecionado) === */} + + + + + + {/* === Conteúdo do Popover (lista de opções) === */} + + + {/* Campo de busca dentro do popover */} + - // Estrutura visual do componente - return ( - - {/* === Botão principal (exibe valor selecionado) === */} - - - - - + + {/* Estado vazio ou carregando */} + + {isLoading ? 'Carregando...' : 'Nenhum resultado encontrado.'} + - {/* === Conteúdo do Popover (lista de opções) === */} - - - {/* Campo de busca dentro do popover */} - + {/* Grupo de opções */} + + {gEmolumento?.map((item) => ( + { + // Cria objeto com ID e descrição + const selectedValue = { + key: Number(item.emolumento_id), + value: item.descricao, + }; - - {/* Estado vazio ou carregando */} - - {isLoading ? "Carregando..." : "Nenhum resultado encontrado."} - + // Atualiza o valor no react-hook-form com o ID numérico + field.onChange(Number(item.emolumento_id ?? 0)); - {/* Grupo de opções */} - - {gEmolumento?.map((item) => ( - { - // Cria objeto com ID e descrição - const selectedValue = { - key: Number(item.emolumento_id), - value: item.descricao, - }; + // Dispara callback externo, se existir (mantém o objeto completo) + if (onSelectChange) + onSelectChange({ + key: Number(item.emolumento_id), + value: item.descricao, + }); - // Atualiza o valor no react-hook-form com o ID numérico - field.onChange(Number(item.emolumento_id ?? 0)); - - // Dispara callback externo, se existir (mantém o objeto completo) - if (onSelectChange) - onSelectChange({ - key: Number(item.emolumento_id), - value: item.descricao, - }); - - // Fecha o popover - setOpen(false); - }} - - > - {/* Ícone de seleção (check) */} - - {/* Nome formatado do emolumento */} - {GetCapitalize(item.descricao)} - - ))} - - - - - - ); + // Fecha o popover + setOpen(false); + }} + > + {/* Ícone de seleção (check) */} + + {/* Nome formatado do emolumento */} + {GetCapitalize(item.descricao)} + + ))} + + + + + + ); } diff --git a/src/packages/administrativo/components/GMarcacaoTipo/GMarcacaoTipoSelect.tsx b/src/packages/administrativo/components/GMarcacaoTipo/GMarcacaoTipoSelect.tsx index e6c6058..4720476 100644 --- a/src/packages/administrativo/components/GMarcacaoTipo/GMarcacaoTipoSelect.tsx +++ b/src/packages/administrativo/components/GMarcacaoTipo/GMarcacaoTipoSelect.tsx @@ -1,102 +1,101 @@ 'use client'; -import React from "react"; -import { Button } from "@/components/ui/button"; +import React from 'react'; +import { Button } from '@/components/ui/button'; import { - Command, - CommandEmpty, - CommandGroup, - CommandInput, - CommandItem, - CommandList, -} from "@/components/ui/command"; -import { FormControl } from "@/components/ui/form"; -import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; -import { cn } from "@/lib/utils"; -import { CheckIcon, ChevronsUpDownIcon } from "lucide-react"; -import GetCapitalize from "@/shared/actions/text/GetCapitalize"; -import { useGMarcacaoTipoReadHook } from "@/app/(protected)/(cadastros)/cadastros/_hooks/g_marcacao_tipo/useGMarcacaoTipoReadHook"; -import { GMarcacaoTipoReadInterface } from "@/app/(protected)/(cadastros)/cadastros/_interfaces/GMarcacaoTipoReadInterface"; + Command, + CommandEmpty, + CommandGroup, + CommandInput, + CommandItem, + CommandList, +} from '@/components/ui/command'; +import { FormControl } from '@/components/ui/form'; +import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; +import { cn } from '@/lib/utils'; +import { CheckIcon, ChevronsUpDownIcon } from 'lucide-react'; +import GetCapitalize from '@/shared/actions/text/GetCapitalize'; +import { useGMarcacaoTipoReadHook } from '@/app/(protected)/(cadastros)/cadastros/_hooks/g_marcacao_tipo/useGMarcacaoTipoReadHook'; +import { GMarcacaoTipoReadInterface } from '@/app/(protected)/(cadastros)/cadastros/_interfaces/GMarcacaoTipoReadInterface'; export default function GMarcacaoTipoSelect({ grupo, sistema_id, situacao, field }: any) { + const gMarcacaoTipoReadParams: GMarcacaoTipoReadInterface = { grupo, sistema_id, situacao }; - const gMarcacaoTipoReadParams: GMarcacaoTipoReadInterface = { grupo, sistema_id, situacao }; - - const [open, setOpen] = React.useState(false); - const [isLoading, setIsLoading] = React.useState(false); - const { gMarcacaoTipo, fetchGMarcacaoTipo } = useGMarcacaoTipoReadHook(); - // Busca os dados uma única vez ao montar - React.useEffect(() => { - const loadData = async () => { - if (!gMarcacaoTipo.length) { - setIsLoading(true); - await fetchGMarcacaoTipo(gMarcacaoTipoReadParams); - setIsLoading(false); - } - }; - loadData(); - }, []); - const selected = gMarcacaoTipo?.find( - (item) => String(item.marcacao_tipo_id) === String(field.value) - ); - return ( - - - - - - - - - - - - {isLoading ? "Carregando..." : "Nenhum resultado encontrado."} - - - {gMarcacaoTipo?.map((item) => ( - { - field.onChange({ - key: Number(item.marcacao_tipo_id), - value: item.descricao, - }); - setOpen(false); - }} - > - - {GetCapitalize(item.descricao)} - - ))} - - - - - - ); + const [open, setOpen] = React.useState(false); + const [isLoading, setIsLoading] = React.useState(false); + const { gMarcacaoTipo, fetchGMarcacaoTipo } = useGMarcacaoTipoReadHook(); + // Busca os dados uma única vez ao montar + React.useEffect(() => { + const loadData = async () => { + if (!gMarcacaoTipo.length) { + setIsLoading(true); + await fetchGMarcacaoTipo(gMarcacaoTipoReadParams); + setIsLoading(false); + } + }; + loadData(); + }, []); + const selected = gMarcacaoTipo?.find( + (item) => String(item.marcacao_tipo_id) === String(field.value), + ); + return ( + + + + + + + + + + + + {isLoading ? 'Carregando...' : 'Nenhum resultado encontrado.'} + + + {gMarcacaoTipo?.map((item) => ( + { + field.onChange({ + key: Number(item.marcacao_tipo_id), + value: item.descricao, + }); + setOpen(false); + }} + > + + {GetCapitalize(item.descricao)} + + ))} + + + + + + ); } diff --git a/src/packages/administrativo/components/GMedidaTipo/GMedidaTipoIndex.tsx b/src/packages/administrativo/components/GMedidaTipo/GMedidaTipoIndex.tsx index 9d04acf..ac1fce7 100644 --- a/src/packages/administrativo/components/GMedidaTipo/GMedidaTipoIndex.tsx +++ b/src/packages/administrativo/components/GMedidaTipo/GMedidaTipoIndex.tsx @@ -17,7 +17,6 @@ import { useGMedidaTipoRemoveHook } from '../../hooks/GMedidaTipo/useGMedidaTipo import { useGMedidaTipoSaveHook } from '../../hooks/GMedidaTipo/useGMedidaTipoSaveHook'; import { GMedidaTipoInterface } from '../../interfaces/GMedidaTipo/GMedidaTipoInterface'; - const initialMedidaTipo: GMedidaTipoInterface = { medida_tipo_id: 0, sigla: '', diff --git a/src/packages/administrativo/components/GNatureza/GNaturezaIndex.tsx b/src/packages/administrativo/components/GNatureza/GNaturezaIndex.tsx index 55940a9..195da05 100644 --- a/src/packages/administrativo/components/GNatureza/GNaturezaIndex.tsx +++ b/src/packages/administrativo/components/GNatureza/GNaturezaIndex.tsx @@ -2,7 +2,6 @@ import { useEffect, useState, useCallback } from 'react'; - import { useGNaturezaDeleteHook } from '@/packages/administrativo/hooks/GNatureza/useGNaturezaDeleteHook'; import { useGNaturezaIndexHook } from '@/packages/administrativo/hooks/GNatureza/useGNaturezaIndexHook'; import { useGNaturezaSaveHook } from '@/packages/administrativo/hooks/GNatureza/useGNaturezaSaveHook'; diff --git a/src/packages/administrativo/components/GTBBairro/GTBBairroIndex.tsx b/src/packages/administrativo/components/GTBBairro/GTBBairroIndex.tsx index 5a6528a..5fb9e13 100644 --- a/src/packages/administrativo/components/GTBBairro/GTBBairroIndex.tsx +++ b/src/packages/administrativo/components/GTBBairro/GTBBairroIndex.tsx @@ -17,7 +17,6 @@ import GTBBairroForm from './GTBBairroForm'; import GTBBairroTable from './GTBBairroTable'; import { GTBBairroInterface } from '../../interfaces/GTBBairro/GTBBairroInterface'; - const initialBairro: GTBBairroInterface = { sistema_id: null, tb_bairro_id: 0, diff --git a/src/packages/administrativo/components/GTBBairro/GTBBairroTable.tsx b/src/packages/administrativo/components/GTBBairro/GTBBairroTable.tsx index c4f3454..bc215ed 100644 --- a/src/packages/administrativo/components/GTBBairro/GTBBairroTable.tsx +++ b/src/packages/administrativo/components/GTBBairro/GTBBairroTable.tsx @@ -23,7 +23,6 @@ import { SituacoesEnum } from '@/shared/enums/SituacoesEnum'; import { GTBBairroInterface } from '../../interfaces/GTBBairro/GTBBairroInterface'; - interface GTBBairroTableProps { data: GTBBairroInterface[]; onEdit: (item: GTBBairroInterface, isEditingFormStatus: boolean) => void; diff --git a/src/packages/administrativo/components/GTBEstadoCivil/GTBEstadoCivilIndex.tsx b/src/packages/administrativo/components/GTBEstadoCivil/GTBEstadoCivilIndex.tsx index 2ea7bc3..92d092a 100644 --- a/src/packages/administrativo/components/GTBEstadoCivil/GTBEstadoCivilIndex.tsx +++ b/src/packages/administrativo/components/GTBEstadoCivil/GTBEstadoCivilIndex.tsx @@ -16,7 +16,6 @@ import { useGTBEstadoCivilRemoveHook } from '../../hooks/GTBEstadoCivil/useGTBEs import { useGTBEstadoCivilSaveHook } from '../../hooks/GTBEstadoCivil/useGTBEstadoCivilSaveHook'; import { GTBEstadoCivilInterface } from '../../interfaces/GTBEstadoCivil/GTBEstadoCivilInterface'; - const initalEstadoCivil: GTBEstadoCivilInterface = { tb_estadocivil_id: 0, sistema_id: 0, diff --git a/src/packages/administrativo/components/GTBRegimeBens/GTBRegimeBensForm.tsx b/src/packages/administrativo/components/GTBRegimeBens/GTBRegimeBensForm.tsx index 5808300..eed693a 100644 --- a/src/packages/administrativo/components/GTBRegimeBens/GTBRegimeBensForm.tsx +++ b/src/packages/administrativo/components/GTBRegimeBens/GTBRegimeBensForm.tsx @@ -28,7 +28,6 @@ import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { GTBRegimeBensSchema } from '@/packages/administrativo/schemas/GTBRegimeBens/GTBRegimeBensSchema'; - type FormValues = z.infer; interface Props { diff --git a/src/packages/administrativo/components/GTBRegimeComunhao/GTBRegimeComunhaoIndex.tsx b/src/packages/administrativo/components/GTBRegimeComunhao/GTBRegimeComunhaoIndex.tsx index 547cdc1..b33e312 100644 --- a/src/packages/administrativo/components/GTBRegimeComunhao/GTBRegimeComunhaoIndex.tsx +++ b/src/packages/administrativo/components/GTBRegimeComunhao/GTBRegimeComunhaoIndex.tsx @@ -15,7 +15,6 @@ import { useGTBRegimeComunhaoRemoveHook } from '../../hooks/GTBRegimeComunhao/us import { useGTBRegimeComunhaoSaveHook } from '../../hooks/GTBRegimeComunhao/useGTBRegimeComunhaoSaveHook'; import GTBRegimeComunhaoInterface from '../../interfaces/GTBRegimeComunhao/GTBRegimeComunhaoInterface'; - export default function GTBRegimeComunhaoIndex() { // Hooks para leitura e salvamento const { gTBRegimeComunhao, fetchGTBRegimeComunhao } = useGTBRegimeComunhaoReadHook(); diff --git a/src/packages/administrativo/components/GTBTipoLogradouro/GTBTipoLogradouroIndex.tsx b/src/packages/administrativo/components/GTBTipoLogradouro/GTBTipoLogradouroIndex.tsx index 72f790d..228ed26 100644 --- a/src/packages/administrativo/components/GTBTipoLogradouro/GTBTipoLogradouroIndex.tsx +++ b/src/packages/administrativo/components/GTBTipoLogradouro/GTBTipoLogradouroIndex.tsx @@ -16,7 +16,6 @@ import { useGTBTipoLogradouroRemoveHook } from '../../hooks/GTBTipoLogradouro/us import { useGTBTipoLogradouroSaveHook } from '../../hooks/GTBTipoLogradouro/useGTBTipoLogradouroSaveHook'; import { GTBTipoLogradouroInterface } from '../../interfaces/GTBTipoLogradouro/GTBTipoLogradouroInterface'; - export default function GTBTipoLogradouroIndex() { // Controle de exibição de respostas const { setResponse } = useResponse(); diff --git a/src/packages/administrativo/components/TAtoParteTipo/TAtoParteTipoIndex.tsx b/src/packages/administrativo/components/TAtoParteTipo/TAtoParteTipoIndex.tsx index 5ef0c11..aeb6ebe 100644 --- a/src/packages/administrativo/components/TAtoParteTipo/TAtoParteTipoIndex.tsx +++ b/src/packages/administrativo/components/TAtoParteTipo/TAtoParteTipoIndex.tsx @@ -2,7 +2,6 @@ import { useEffect, useState, useCallback } from 'react'; - import { useTAtoParteTipoDeleteHook } from '@/packages/administrativo/hooks/TAtoParteTipo/useTAtoParteTipoDeleteHook'; import { useTAtoParteTipoIndexHook } from '@/packages/administrativo/hooks/TAtoParteTipo/useTAtoParteTipoIndexHook'; import { useTAtoParteTipoSaveHook } from '@/packages/administrativo/hooks/TAtoParteTipo/useTAtoParteTipoSaveHook'; diff --git a/src/packages/administrativo/components/TCensec/TCensecIndex.tsx b/src/packages/administrativo/components/TCensec/TCensecIndex.tsx index 3074935..2e4a0d6 100644 --- a/src/packages/administrativo/components/TCensec/TCensecIndex.tsx +++ b/src/packages/administrativo/components/TCensec/TCensecIndex.tsx @@ -15,7 +15,6 @@ import { useTCensecReadHook } from '../../hooks/TCensec/useTCensecReadHook'; import { useTCensecSaveHook } from '../../hooks/TCensec/useTCensecSaveHook'; import TCensecInterface from '../../interfaces/TCensec/TCensecInterface'; - export default function TCensecIndex() { // Controle de estado do botão const [buttonIsLoading, setButtonIsLoading] = useState(false); diff --git a/src/packages/administrativo/components/TCensecNaturezaLitigio/TCensecNaturezaLitigioIndex.tsx b/src/packages/administrativo/components/TCensecNaturezaLitigio/TCensecNaturezaLitigioIndex.tsx index 2b251a2..6c46a87 100644 --- a/src/packages/administrativo/components/TCensecNaturezaLitigio/TCensecNaturezaLitigioIndex.tsx +++ b/src/packages/administrativo/components/TCensecNaturezaLitigio/TCensecNaturezaLitigioIndex.tsx @@ -17,7 +17,6 @@ import TCensecNaturezaLitigioForm from './TCensecNaturezaLitigioForm'; import TCensecNaturezaLitigioTable from './TCensecNaturezaLitigioTable'; import { TCensecNaturezaLitigioInterface } from '../../interfaces/TCensecNaturezaLitigio/TCensecNaturezaLitigioInterface'; - const initialCensecNaturezaLitigio: TCensecNaturezaLitigioInterface = { censec_naturezalitigio_id: 0, descricao: '', diff --git a/src/packages/administrativo/components/TCensecQualidade/TCensecQualidadeForm.tsx b/src/packages/administrativo/components/TCensecQualidade/TCensecQualidadeForm.tsx index 2c07e31..3d17091 100644 --- a/src/packages/administrativo/components/TCensecQualidade/TCensecQualidadeForm.tsx +++ b/src/packages/administrativo/components/TCensecQualidade/TCensecQualidadeForm.tsx @@ -29,7 +29,6 @@ import SituacoesSelect from '@/shared/components/situacoes/SituacoesSelect'; import { useTCensecQualidadeFormHook } from '../../hooks/TCensecQualidade/useTCensecQualidadeHook'; import { TCensecQualidadeFormInterface } from '../../interfaces/TCensecQualidade/TCensecQualidadeFormInterface'; - export default function TCensecQualidadeForm({ isOpen, data, diff --git a/src/packages/administrativo/components/TCensecQualidade/TCensecQualidadeIndex.tsx b/src/packages/administrativo/components/TCensecQualidade/TCensecQualidadeIndex.tsx index 85f6b4d..bdeb86e 100644 --- a/src/packages/administrativo/components/TCensecQualidade/TCensecQualidadeIndex.tsx +++ b/src/packages/administrativo/components/TCensecQualidade/TCensecQualidadeIndex.tsx @@ -2,7 +2,6 @@ import { useEffect, useState, useCallback } from 'react'; - import { useTCensecQualidadeDeleteHook } from '@/packages/administrativo/hooks/TCensecQualidade/useTCensecQualidadeDeleteHook'; import { useTCensecQualidadeIndexHook } from '@/packages/administrativo/hooks/TCensecQualidade/useTCensecQualidadeIndexHook'; import { useTCensecQualidadeSaveHook } from '@/packages/administrativo/hooks/TCensecQualidade/useTCensecQualidadeSaveHook'; diff --git a/src/packages/administrativo/components/TCensecQualidadeAto/TCensecQualidadeAtoIndex.tsx b/src/packages/administrativo/components/TCensecQualidadeAto/TCensecQualidadeAtoIndex.tsx index 0ffafbd..3e46dbe 100644 --- a/src/packages/administrativo/components/TCensecQualidadeAto/TCensecQualidadeAtoIndex.tsx +++ b/src/packages/administrativo/components/TCensecQualidadeAto/TCensecQualidadeAtoIndex.tsx @@ -2,7 +2,6 @@ import React, { useEffect, useState, useCallback } from 'react'; - import ConfirmDialog from '@/shared/components/confirmDialog/ConfirmDialog'; import { useConfirmDialog } from '@/shared/components/confirmDialog/useConfirmDialog'; import Header from '@/shared/components/structure/Header'; diff --git a/src/packages/administrativo/components/TCensecTipoAto/TCensecTipoAtoForm.tsx b/src/packages/administrativo/components/TCensecTipoAto/TCensecTipoAtoForm.tsx index 1e6761f..8158703 100644 --- a/src/packages/administrativo/components/TCensecTipoAto/TCensecTipoAtoForm.tsx +++ b/src/packages/administrativo/components/TCensecTipoAto/TCensecTipoAtoForm.tsx @@ -41,7 +41,6 @@ import { SituacoesEnum } from '@/shared/enums/SituacoesEnum'; import TCensecInterface from '../../interfaces/TCensec/TCensecInterface'; import { TCensecTipoAtoSchema } from '../../schemas/TCensecTipoAto/TCensecTipoAtoSchema'; - type FormValues = z.infer; interface TCensecTipoAtoFormProps { diff --git a/src/packages/administrativo/components/TCensecTipoAto/TCensecTipoAtoIndex.tsx b/src/packages/administrativo/components/TCensecTipoAto/TCensecTipoAtoIndex.tsx index 70a3f57..9fdaa6a 100644 --- a/src/packages/administrativo/components/TCensecTipoAto/TCensecTipoAtoIndex.tsx +++ b/src/packages/administrativo/components/TCensecTipoAto/TCensecTipoAtoIndex.tsx @@ -17,7 +17,6 @@ import { useTCensecTipoAtoRemoveHook } from '../../hooks/TCensecTipoAto/useTCens import { useTCensecTipoAtoSaveHook } from '../../hooks/TCensecTipoAto/useTCensecTipoAtoSaveHook'; import { TCensecTipoAtoInterface } from '../../interfaces/TCensecTipoAto/TCensecTipoAtoInterface'; - // Estado inicial para criação const initialTCensecTipoAto: TCensecTipoAtoInterface = { censec_tipoato_id: 0, diff --git a/src/packages/administrativo/components/TCensecTipoNatureza/TCensecTipoNaturezaForm.tsx b/src/packages/administrativo/components/TCensecTipoNatureza/TCensecTipoNaturezaForm.tsx index f3950fe..91b5514 100644 --- a/src/packages/administrativo/components/TCensecTipoNatureza/TCensecTipoNaturezaForm.tsx +++ b/src/packages/administrativo/components/TCensecTipoNatureza/TCensecTipoNaturezaForm.tsx @@ -32,7 +32,6 @@ import { useTCensecTipoNaturezaFormHook } from '../../hooks/TCensecTipoNatureza/ import { TCensecTipoNaturezaFormInterface } from '../../interfaces/TCensecTipoNatureza/TCensecTipoNaturezaFormInterface'; import TCensecTipoAtoSelect from '../TCensecTipoAto/TCensecTipoAtoSelect'; - export default function TCensecTipoNaturezaForm({ isOpen, data, diff --git a/src/packages/administrativo/components/TCensecTipoNatureza/TCensecTipoNaturezaIndex.tsx b/src/packages/administrativo/components/TCensecTipoNatureza/TCensecTipoNaturezaIndex.tsx index 53ff874..795d8a2 100644 --- a/src/packages/administrativo/components/TCensecTipoNatureza/TCensecTipoNaturezaIndex.tsx +++ b/src/packages/administrativo/components/TCensecTipoNatureza/TCensecTipoNaturezaIndex.tsx @@ -2,7 +2,6 @@ import { useEffect, useState, useCallback } from 'react'; - import { useTCensecTipoNaturezaDeleteHook } from '@/packages/administrativo/hooks/TCensecTipoNatureza/useTCensecTipoNaturezaDeleteHook'; import { useTCensecTipoNaturezaIndexHook } from '@/packages/administrativo/hooks/TCensecTipoNatureza/useTCensecTipoNaturezaIndexHook'; import { useTCensecTipoNaturezaSaveHook } from '@/packages/administrativo/hooks/TCensecTipoNatureza/useTCensecTipoNaturezaSaveHook'; diff --git a/src/packages/administrativo/components/TImovel/TImovelForm.tsx b/src/packages/administrativo/components/TImovel/TImovelForm.tsx index 4e45508..66e9d61 100644 --- a/src/packages/administrativo/components/TImovel/TImovelForm.tsx +++ b/src/packages/administrativo/components/TImovel/TImovelForm.tsx @@ -34,8 +34,6 @@ import GTBBairroSelect from '../GTBBairro/GTBBairroSelect'; import TImovelUnidadeRuralIndex from '../TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralIndex'; import TImovelUnidadeUrbanoPage from '../TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoIndex'; - - export default function TImovelForm({ isOpen, data, diff --git a/src/packages/administrativo/components/TImovel/TImovelIndex.tsx b/src/packages/administrativo/components/TImovel/TImovelIndex.tsx index bf6b260..73ccb35 100644 --- a/src/packages/administrativo/components/TImovel/TImovelIndex.tsx +++ b/src/packages/administrativo/components/TImovel/TImovelIndex.tsx @@ -2,7 +2,6 @@ import { useEffect, useState, useCallback } from 'react'; - import { useTImovelDeleteHook } from '@/packages/administrativo/hooks/TImovel/useTImovelDeleteHook'; import { useTImovelIndexHook } from '@/packages/administrativo/hooks/TImovel/useTImovelIndexHook'; import { useTImovelSaveHook } from '@/packages/administrativo/hooks/TImovel/useTImovelSaveHook'; diff --git a/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralIndex.tsx b/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralIndex.tsx index 386ede0..3eeaeeb 100644 --- a/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralIndex.tsx +++ b/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralIndex.tsx @@ -2,7 +2,6 @@ import { useEffect, useState, useCallback } from 'react'; - import { useTImovelUnidadeRuralDeleteHook } from '@/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeRural/useTImovelUnidadeRuralDeleteHook'; import { useTImovelUnidadeRuralIndexHook } from '@/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeRural/useTImovelUnidadeRuralIndexHook'; import { useTImovelUnidadeRuralSaveHook } from '@/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeRural/useTImovelUnidadeRuralSaveHook'; diff --git a/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoIndex.tsx b/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoIndex.tsx index 3513ba1..9257ead 100644 --- a/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoIndex.tsx +++ b/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoIndex.tsx @@ -14,7 +14,6 @@ import Header from '@/shared/components/structure/Header'; import TImovelUnidadeUrbanoForm from './TImovelUnidadeUrbanoForm'; import TImovelUnidadeUrbanoTable from './TImovelUnidadeUrbanoTable'; - export default function TImovelUnidadeUrbanoPage({ imovel_id }: TImovelUnidadePageInterface) { const TImovelUnidadePage: TImovelUnidadePageInterface = { imovel_id: imovel_id, diff --git a/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaColumns.tsx b/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaColumns.tsx index c67bee5..d8a5d6d 100644 --- a/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaColumns.tsx +++ b/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaColumns.tsx @@ -17,7 +17,6 @@ import { FormatPhone } from '@/shared/actions/phone/FormatPhone'; import GetNameInitials from '@/shared/actions/text/GetNameInitials'; import empty from '@/shared/actions/validations/empty'; - /** * Função para criar a definição das colunas da tabela */ diff --git a/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaForm.tsx b/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaForm.tsx index 10bfff3..50c5aab 100644 --- a/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaForm.tsx +++ b/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaForm.tsx @@ -42,7 +42,6 @@ import { Sexo } from '@/shared/enums/SexoEnum'; import { useGTBEstadoCivilReadHook } from '../../../hooks/GTBEstadoCivil/useGTBEstadoCivilReadHook'; - import { useGTBRegimeComunhaoReadHook } from '../../../hooks/GTBRegimeComunhao/useGTBRegimeComunhaoReadHook'; import { useTPessoaFisicaFormHook } from '@/packages/administrativo/hooks/TPessoa/TPessoaFisica/useTPessoaFisicaFormHook'; diff --git a/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaColumns.tsx b/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaColumns.tsx index fe9e0a8..f999158 100644 --- a/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaColumns.tsx +++ b/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaColumns.tsx @@ -16,7 +16,6 @@ import { FormatDateTime } from '@/shared/actions/dateTime/FormatDateTime'; import { FormatPhone } from '@/shared/actions/phone/FormatPhone'; import empty from '@/shared/actions/validations/empty'; - export default function TPessoaJuridicaColumns( onEdit: (item: TPessoaJuridicaInterface, isEditingFormStatus: boolean) => void, onDelete: (item: TPessoaJuridicaInterface, isEditingFormStatus: boolean) => void, diff --git a/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteIndex.tsx b/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteIndex.tsx index 5669279..4dfed26 100644 --- a/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteIndex.tsx +++ b/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteIndex.tsx @@ -2,8 +2,6 @@ import React, { useEffect, useState, useCallback } from 'react'; - - import ConfirmDialog from '@/shared/components/confirmDialog/ConfirmDialog'; import { useConfirmDialog } from '@/shared/components/confirmDialog/useConfirmDialog'; import Loading from '@/shared/components/loading/loading'; diff --git a/src/packages/administrativo/components/TTBAndamentoServico/TTBAndamentoServicoIndex.tsx b/src/packages/administrativo/components/TTBAndamentoServico/TTBAndamentoServicoIndex.tsx index 098b71d..a28f781 100644 --- a/src/packages/administrativo/components/TTBAndamentoServico/TTBAndamentoServicoIndex.tsx +++ b/src/packages/administrativo/components/TTBAndamentoServico/TTBAndamentoServicoIndex.tsx @@ -15,7 +15,6 @@ import TTBAndamentoServicoForm from './TTBAndamentoServicoForm'; import TTBAndamentoServicoTable from './TTBAndamentoServicoTable'; import TTBAndamentoServicoInterface from '../../interfaces/TTBAndamentoServico/TTBAndamentoServicoInterface'; - export default function TTBAndamentoServicoIndex() { // Hooks para leitura e salvamento const { tTBAndamentosServicos, fetchTTBAndamentoServico } = useTTBAndamentoServicoReadHook(); diff --git a/src/packages/administrativo/components/TTBReconhecimentoTipo/TTBReconhecimentoTipoSelect.tsx b/src/packages/administrativo/components/TTBReconhecimentoTipo/TTBReconhecimentoTipoSelect.tsx index cb77454..1a00275 100644 --- a/src/packages/administrativo/components/TTBReconhecimentoTipo/TTBReconhecimentoTipoSelect.tsx +++ b/src/packages/administrativo/components/TTBReconhecimentoTipo/TTBReconhecimentoTipoSelect.tsx @@ -1,95 +1,94 @@ 'use client'; -import React from "react"; -import { Button } from "@/components/ui/button"; +import React from 'react'; +import { Button } from '@/components/ui/button'; import { - Command, - CommandEmpty, - CommandGroup, - CommandInput, - CommandItem, - CommandList, -} from "@/components/ui/command"; -import { FormControl } from "@/components/ui/form"; -import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; -import { cn } from "@/lib/utils"; -import { CheckIcon, ChevronsUpDownIcon } from "lucide-react"; -import GetCapitalize from "@/shared/actions/text/GetCapitalize"; -import { useTTBReconhecimentoTipoReadHook } from "@/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook"; -import { TTBREconhecimentoTipoReadInterface } from "@/app/(protected)/(cadastros)/cadastros/_interfaces/TTBREconhecimentoTipoReadInterface"; + Command, + CommandEmpty, + CommandGroup, + CommandInput, + CommandItem, + CommandList, +} from '@/components/ui/command'; +import { FormControl } from '@/components/ui/form'; +import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; +import { cn } from '@/lib/utils'; +import { CheckIcon, ChevronsUpDownIcon } from 'lucide-react'; +import GetCapitalize from '@/shared/actions/text/GetCapitalize'; +import { useTTBReconhecimentoTipoReadHook } from '@/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook'; +import { TTBREconhecimentoTipoReadInterface } from '@/app/(protected)/(cadastros)/cadastros/_interfaces/TTBREconhecimentoTipoReadInterface'; export default function TTBReconhecimentoTipoSelect({ field }: any) { - - const [open, setOpen] = React.useState(false); - const [isLoading, setIsLoading] = React.useState(false); - const { tTBReconhecimentoTipo, fetchTTBReconhecimentoTipo } = useTTBReconhecimentoTipoReadHook(); - // Busca os dados uma única vez ao montar - React.useEffect(() => { - const loadData = async () => { - if (!tTBReconhecimentoTipo.length) { - setIsLoading(true); - await fetchTTBReconhecimentoTipo(); - setIsLoading(false); - } - }; - loadData(); - }, []); - const selected = tTBReconhecimentoTipo?.find( - (item) => Number(item.tb_reconhecimentotipo_id) === Number(field.value) - ); - return ( - - - - - - - - - - - - {isLoading ? "Carregando..." : "Nenhum resultado encontrado."} - - - {tTBReconhecimentoTipo?.map((item) => ( - { - field.onChange(Number(item.tb_reconhecimentotipo_id)); // envia apenas o número - setOpen(false); - }} - > - - {GetCapitalize(item.descricao)} - - ))} - - - - - - ); + const [open, setOpen] = React.useState(false); + const [isLoading, setIsLoading] = React.useState(false); + const { tTBReconhecimentoTipo, fetchTTBReconhecimentoTipo } = useTTBReconhecimentoTipoReadHook(); + // Busca os dados uma única vez ao montar + React.useEffect(() => { + const loadData = async () => { + if (!tTBReconhecimentoTipo.length) { + setIsLoading(true); + await fetchTTBReconhecimentoTipo(); + setIsLoading(false); + } + }; + loadData(); + }, []); + const selected = tTBReconhecimentoTipo?.find( + (item) => Number(item.tb_reconhecimentotipo_id) === Number(field.value), + ); + return ( + + + + + + + + + + + + {isLoading ? 'Carregando...' : 'Nenhum resultado encontrado.'} + + + {tTBReconhecimentoTipo?.map((item) => ( + { + field.onChange(Number(item.tb_reconhecimentotipo_id)); // envia apenas o número + setOpen(false); + }} + > + + {GetCapitalize(item.descricao)} + + ))} + + + + + + ); } diff --git a/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeRural/useTImovelUnidadeRuralDeleteHook.ts b/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeRural/useTImovelUnidadeRuralDeleteHook.ts index d37c636..c548209 100644 --- a/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeRural/useTImovelUnidadeRuralDeleteHook.ts +++ b/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeRural/useTImovelUnidadeRuralDeleteHook.ts @@ -4,7 +4,6 @@ import { TImovelUnidadeRuralInterface } from '@/packages/administrativo/interfac import { TImovelUnidadeRuralDeleteService } from '@/packages/administrativo/services/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralDeleteService'; import { useResponse } from '@/shared/components/response/ResponseContext'; - export const useTImovelUnidadeRuralDeleteHook = () => { const { setResponse } = useResponse(); diff --git a/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeRural/useTImovelUnidadeRuralSaveHook.ts b/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeRural/useTImovelUnidadeRuralSaveHook.ts index f0cdc8e..a41410f 100644 --- a/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeRural/useTImovelUnidadeRuralSaveHook.ts +++ b/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeRural/useTImovelUnidadeRuralSaveHook.ts @@ -6,7 +6,6 @@ import { TImovelUnidadeRuralInterface } from '@/packages/administrativo/interfac import { TImovelUnidadeRuralSaveService } from '@/packages/administrativo/services/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralSaveService'; import { useResponse } from '@/shared/components/response/ResponseContext'; - export const useTImovelUnidadeRuralSaveHook = () => { const { setResponse } = useResponse(); diff --git a/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeUrbano/useTImovelUnidadeUrbanoDeleteHook.ts b/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeUrbano/useTImovelUnidadeUrbanoDeleteHook.ts index 5a3fd63..fc40c13 100644 --- a/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeUrbano/useTImovelUnidadeUrbanoDeleteHook.ts +++ b/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeUrbano/useTImovelUnidadeUrbanoDeleteHook.ts @@ -4,7 +4,6 @@ import { TImovelUnidadeUrbanoInterface } from '@/packages/administrativo/interfa import { TImovelUnidadeUrbanoDeleteService } from '@/packages/administrativo/services/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoDeleteService'; import { useResponse } from '@/shared/components/response/ResponseContext'; - export const useTImovelUnidadeUrbanoDeleteHook = () => { const { setResponse } = useResponse(); diff --git a/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeUrbano/useTImovelUnidadeUrbanoSaveHook.ts b/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeUrbano/useTImovelUnidadeUrbanoSaveHook.ts index 6d95c79..a4ae9a7 100644 --- a/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeUrbano/useTImovelUnidadeUrbanoSaveHook.ts +++ b/src/packages/administrativo/hooks/TImovelUnidade/TImovelUnidadeUrbano/useTImovelUnidadeUrbanoSaveHook.ts @@ -6,7 +6,6 @@ import { TImovelUnidadeUrbanoInterface } from '@/packages/administrativo/interfa import { TImovelUnidadeUrbanoSaveService } from '@/packages/administrativo/services/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoSaveService'; import { useResponse } from '@/shared/components/response/ResponseContext'; - export const useTImovelUnidadeUrbanoSaveHook = () => { const { setResponse } = useResponse(); diff --git a/src/packages/administrativo/hooks/TPessoa/TPessoaFisica/useTPessoaFisicaIndexHook.ts b/src/packages/administrativo/hooks/TPessoa/TPessoaFisica/useTPessoaFisicaIndexHook.ts index 4b6e609..feb748a 100644 --- a/src/packages/administrativo/hooks/TPessoa/TPessoaFisica/useTPessoaFisicaIndexHook.ts +++ b/src/packages/administrativo/hooks/TPessoa/TPessoaFisica/useTPessoaFisicaIndexHook.ts @@ -4,7 +4,6 @@ import TPessoaFisicaInterface from '@/packages/administrativo/interfaces/TPessoa import { TPessoaFisicaIndexService } from '@/packages/administrativo/services/TPessoa/TPessoaFisica/TPessoaFisicaIndexService'; import { useResponse } from '@/shared/components/response/ResponseContext'; - export const useTPessoaFisicaIndexHook = () => { const { setResponse } = useResponse(); diff --git a/src/packages/administrativo/hooks/TPessoa/TPessoaFisica/useTPessoaFisicaSaveHook.ts b/src/packages/administrativo/hooks/TPessoa/TPessoaFisica/useTPessoaFisicaSaveHook.ts index 3ca7682..8c93098 100644 --- a/src/packages/administrativo/hooks/TPessoa/TPessoaFisica/useTPessoaFisicaSaveHook.ts +++ b/src/packages/administrativo/hooks/TPessoa/TPessoaFisica/useTPessoaFisicaSaveHook.ts @@ -6,7 +6,6 @@ import TPessoaFisicaInterface from '@/packages/administrativo/interfaces/TPessoa import { TPessoaFisicaSaveService } from '@/packages/administrativo/services/TPessoa/TPessoaFisica/TPessoaFisicaSaveService'; import { useResponse } from '@/shared/components/response/ResponseContext'; - export const useTPessoaFisicaSaveHook = () => { const { setResponse } = useResponse(); diff --git a/src/packages/administrativo/hooks/TPessoa/TPessoaJuridica/useTPessoaJuridicaIndexHook.ts b/src/packages/administrativo/hooks/TPessoa/TPessoaJuridica/useTPessoaJuridicaIndexHook.ts index e612185..90b4b07 100644 --- a/src/packages/administrativo/hooks/TPessoa/TPessoaJuridica/useTPessoaJuridicaIndexHook.ts +++ b/src/packages/administrativo/hooks/TPessoa/TPessoaJuridica/useTPessoaJuridicaIndexHook.ts @@ -4,7 +4,6 @@ import TPessoaJuridicaInterface from '@/packages/administrativo/interfaces/TPess import { TPessoaJuridicaIndexService } from '@/packages/administrativo/services/TPessoa/TPessoaJuridica/TPessoaJuridicaIndexService'; import { useResponse } from '@/shared/components/response/ResponseContext'; - export const useTPessoaJuridicaIndexHook = () => { const { setResponse } = useResponse(); const [tPessoaJuridica, setPessoaJuridica] = useState([]); diff --git a/src/packages/administrativo/hooks/TPessoa/TPessoaJuridica/useTPessoaJuridicaSaveHook.ts b/src/packages/administrativo/hooks/TPessoa/TPessoaJuridica/useTPessoaJuridicaSaveHook.ts index 0c90c86..9048c24 100644 --- a/src/packages/administrativo/hooks/TPessoa/TPessoaJuridica/useTPessoaJuridicaSaveHook.ts +++ b/src/packages/administrativo/hooks/TPessoa/TPessoaJuridica/useTPessoaJuridicaSaveHook.ts @@ -6,7 +6,6 @@ import TPessoaJuridicaInterface from '@/packages/administrativo/interfaces/TPess import { TPessoaJuridicaSaveService } from '@/packages/administrativo/services/TPessoa/TPessoaJuridica/TPessoaJuridicaSaveService'; import { useResponse } from '@/shared/components/response/ResponseContext'; - export const useTPessoaJuridicaSaveHook = () => { const { setResponse } = useResponse(); diff --git a/src/shared/actions/api/buildQueryString.ts b/src/shared/actions/api/buildQueryString.ts index 37293fe..7f05445 100644 --- a/src/shared/actions/api/buildQueryString.ts +++ b/src/shared/actions/api/buildQueryString.ts @@ -11,4 +11,4 @@ export function buildQueryString(params: Record): string { .join('&'); return query ? `?${query}` : ''; -} \ No newline at end of file +} diff --git a/src/shared/components/categoriaServicoSelect/CategoriaServicoSelect.tsx b/src/shared/components/categoriaServicoSelect/CategoriaServicoSelect.tsx index 47c3a0d..701e953 100644 --- a/src/shared/components/categoriaServicoSelect/CategoriaServicoSelect.tsx +++ b/src/shared/components/categoriaServicoSelect/CategoriaServicoSelect.tsx @@ -1,87 +1,85 @@ -import { Button } from "@/components/ui/button"; +import { CheckIcon, ChevronsUpDownIcon } from 'lucide-react'; +import React from 'react'; + +import { Button } from '@/components/ui/button'; import { - Command, - CommandEmpty, - CommandGroup, - CommandInput, - CommandItem, - CommandList, -} from "@/components/ui/command"; -import { FormControl } from "@/components/ui/form"; -import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; -import { cn } from "@/lib/utils"; -import { CategoriaServicoEnum } from "@/shared/enums/CategoriaServicoEnum"; -import { CheckIcon, ChevronsUpDownIcon } from "lucide-react"; -import React from "react"; + Command, + CommandEmpty, + CommandGroup, + CommandInput, + CommandItem, + CommandList, +} from '@/components/ui/command'; +import { FormControl } from '@/components/ui/form'; +import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; +import { cn } from '@/lib/utils'; +import { CategoriaServicoEnum } from '@/shared/enums/CategoriaServicoEnum'; type CategoriaServicoSelectProps = { - field: { - value?: string | null; - onChange: (value: string) => void; - }; + field: { + value?: string | null; + onChange: (value: string) => void; + }; }; export default function CategoriaServicoSelect({ field }: CategoriaServicoSelectProps) { - const [open, setOpen] = React.useState(false); + const [open, setOpen] = React.useState(false); - // Cria as opções a partir do enum - const options = Object.entries(CategoriaServicoEnum).map(([key, label]) => ({ - value: String(key), - label, - })); + // Cria as opções a partir do enum + const options = Object.entries(CategoriaServicoEnum).map(([key, label]) => ({ + value: String(key), + label, + })); - const selectedLabel = - field.value != null - ? options.find((o) => o.value === String(field.value))?.label ?? "Selecione..." - : "Selecione..."; + const selectedLabel = + field.value != null + ? (options.find((o) => o.value === String(field.value))?.label ?? 'Selecione...') + : 'Selecione...'; - return ( - - - - - - - - - - - Nenhum resultado encontrado. - - {options.map((item) => ( - { - field.onChange(item.value); // envia número - setOpen(false); - }} - > - - {item.label} - - ))} - - - - - - ); + return ( + + + + + + + + + + + Nenhum resultado encontrado. + + {options.map((item) => ( + { + field.onChange(item.value); // envia número + setOpen(false); + }} + > + + {item.label} + + ))} + + + + + + ); } diff --git a/src/shared/components/confirmacao/ConfirmacaoCheckBox.tsx b/src/shared/components/confirmacao/ConfirmacaoCheckBox.tsx index 2b8255f..706bab2 100644 --- a/src/shared/components/confirmacao/ConfirmacaoCheckBox.tsx +++ b/src/shared/components/confirmacao/ConfirmacaoCheckBox.tsx @@ -1,5 +1,5 @@ -import { FormControl, FormField, FormItem, FormLabel } from "@/components/ui/form"; -import { Checkbox } from "@/components/ui/checkbox"; +import { Checkbox } from '@/components/ui/checkbox'; +import { FormControl, FormField, FormItem, FormLabel } from '@/components/ui/form'; interface ConfirmacaoCheckBoxProps { name: string; @@ -13,14 +13,14 @@ export function ConfirmacaoCheckBox({ name, label, control }: ConfirmacaoCheckBo control={control} name={name} render={({ field }) => ( - + field.onChange(checked ? "S" : "N")} + checked={field.value === 'S'} + onCheckedChange={(checked) => field.onChange(checked ? 'S' : 'N')} /> - {label} + {label} )} /> diff --git a/src/shared/components/confirmacao/ConfirmacaoSelect.tsx b/src/shared/components/confirmacao/ConfirmacaoSelect.tsx index 363f07a..686affd 100644 --- a/src/shared/components/confirmacao/ConfirmacaoSelect.tsx +++ b/src/shared/components/confirmacao/ConfirmacaoSelect.tsx @@ -31,16 +31,16 @@ export default function ConfirmacaoSelect({ field }: any) { variant="outline" role="combobox" aria-expanded={open} - className="justify-between cursor-pointer" + className="cursor-pointer justify-between" > {field.value ? options.find((item) => item.value === field.value)?.label : 'Selecione...'} - + - + diff --git a/src/shared/components/dataTable/DataTable.tsx b/src/shared/components/dataTable/DataTable.tsx index 44e8baa..f99c703 100644 --- a/src/shared/components/dataTable/DataTable.tsx +++ b/src/shared/components/dataTable/DataTable.tsx @@ -33,7 +33,6 @@ import { TableRow, } from '@/components/ui/table'; - import DataTableInterface from './interfaces/DataTableInterface'; export function DataTable({ diff --git a/src/shared/components/numericInputField/NumericInputField.tsx b/src/shared/components/numericInputField/NumericInputField.tsx index b136ee4..5df99e0 100644 --- a/src/shared/components/numericInputField/NumericInputField.tsx +++ b/src/shared/components/numericInputField/NumericInputField.tsx @@ -1,15 +1,10 @@ -"use client"; +'use client'; -import React from "react"; -import { Control, FieldValues, Path } from "react-hook-form"; -import { - FormField, - FormItem, - FormLabel, - FormControl, - FormMessage, -} from "@/components/ui/form"; -import { Input } from "@/components/ui/input"; +import React from 'react'; +import { Control, FieldValues, Path } from 'react-hook-form'; + +import { FormField, FormItem, FormLabel, FormControl, FormMessage } from '@/components/ui/form'; +import { Input } from '@/components/ui/input'; interface NumericInputFieldProps { control: Control; @@ -24,8 +19,8 @@ interface NumericInputFieldProps { export function NumericInputField({ control, name, - label = "Número", - placeholder = "Digite um número", + label = 'Número', + placeholder = 'Digite um número', disabled = false, min, max, @@ -43,13 +38,13 @@ export function NumericInputField({ {...field} type="text" disabled={disabled} - value={field.value ?? ""} + value={field.value ?? ''} placeholder={placeholder} inputMode="numeric" pattern="[0-9]*" onChange={(e) => { // Mantém apenas números - let value = e.target.value.replace(/[^0-9]/g, ""); + let value = e.target.value.replace(/[^0-9]/g, ''); // Limita faixa, se definido if (min !== undefined && Number(value) < min) value = String(min); diff --git a/src/shared/components/tipoPessoa/tipoPessoaSelect.tsx b/src/shared/components/tipoPessoa/tipoPessoaSelect.tsx index dabe9fd..abbd70b 100644 --- a/src/shared/components/tipoPessoa/tipoPessoaSelect.tsx +++ b/src/shared/components/tipoPessoa/tipoPessoaSelect.tsx @@ -1,21 +1,16 @@ -"use client"; +'use client'; -import React from "react"; -import { Control, FieldValues, Path } from "react-hook-form"; -import { - FormField, - FormItem, - FormLabel, - FormControl, - FormMessage, -} from "@/components/ui/form"; +import React from 'react'; +import { Control, FieldValues, Path } from 'react-hook-form'; + +import { FormField, FormItem, FormLabel, FormControl, FormMessage } from '@/components/ui/form'; import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem, -} from "@/components/ui/select"; +} from '@/components/ui/select'; interface PessoaTipoSelectProps { control: Control; @@ -28,9 +23,9 @@ interface PessoaTipoSelectProps { export function TipoPessoaSelect({ control, name, - label = "Pessoa", + label = 'Pessoa', disabled = false, - placeholder = "Selecione uma opção", + placeholder = 'Selecione uma opção', }: PessoaTipoSelectProps) { return ( ({ render={({ field }) => ( {label && {label}} - diff --git a/src/shared/enums/CategoriaServicoEnum.ts b/src/shared/enums/CategoriaServicoEnum.ts index 224a0bf..4781296 100644 --- a/src/shared/enums/CategoriaServicoEnum.ts +++ b/src/shared/enums/CategoriaServicoEnum.ts @@ -1,7 +1,7 @@ export const CategoriaServicoEnum = { - A: 'Autenticação', - C: 'Certidão', - G: 'Serviços Gerais', - R: 'Reconhecimento', - B: 'Geral', -} as const; \ No newline at end of file + A: 'Autenticação', + C: 'Certidão', + G: 'Serviços Gerais', + R: 'Reconhecimento', + B: 'Geral', +} as const; diff --git a/src/shared/hooks/auth/useGUsuarioGetJWTHook.ts b/src/shared/hooks/auth/useGUsuarioGetJWTHook.ts index 9ed3ef1..42a7e2b 100644 --- a/src/shared/hooks/auth/useGUsuarioGetJWTHook.ts +++ b/src/shared/hooks/auth/useGUsuarioGetJWTHook.ts @@ -3,7 +3,6 @@ import { jwtDecode } from 'jwt-decode'; import { useEffect, useState } from 'react'; - import GetSigla from '@/shared/actions/text/GetSigla'; import GUsuarioAuthenticatedInterface from '@/shared/interfaces/GUsuarioAuthenticatedInterface';