@credithub/harlan-components 1.55.0 → 1.55.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,70 +12,79 @@ var __assign = (this && this.__assign) || function () {
12
12
  import ProtestosIcon from '../../assets/icones/protestos';
13
13
  import { useGlobalData } from '../../contexts/globalDataContext';
14
14
  import { normalizeName, similarNames } from '../../utils/similarNames';
15
- import React, { useContext, useEffect, useState } from 'react';
15
+ import React, { useContext, useEffect, useMemo, useState } from 'react';
16
16
  import StatusMessage from '../interface/statusMessage';
17
17
  import Section from '../section';
18
18
  import { Queries, RequestStatus } from '../webservice';
19
19
  var Liminar = function () {
20
+ var _a;
20
21
  var ctx = useContext(Queries.LiminarCenprot);
21
- var _a = useGlobalData(), globalData = _a.data, setData = _a.setData;
22
- var _b = useState(false), dataUpdated = _b[0], setDataUpdated = _b[1];
23
- var _c = useState(false), hideSection = _c[0], setHideSection = _c[1];
22
+ var _b = useGlobalData(), globalData = _b.data, setData = _b.setData;
23
+ var _c = useState(false), checkCompleted = _c[0], setCheckCompleted = _c[1];
24
24
  useEffect(function () {
25
- var _a, _b, _c, _d, _e, _f;
25
+ var _a, _b, _c, _d, _e;
26
+ if (checkCompleted)
27
+ return; // roda apenas uma vez
26
28
  var processosJuridicosData = (_a = globalData === null || globalData === void 0 ? void 0 : globalData.processosJuridicosData) !== null && _a !== void 0 ? _a : {
27
29
  isLoaded: true,
28
30
  empresa: []
29
31
  };
30
- if (!dataUpdated &&
31
- ((_b = globalData === null || globalData === void 0 ? void 0 : globalData.dossie) === null || _b === void 0 ? void 0 : _b.carousel) &&
32
- (processosJuridicosData === null || processosJuridicosData === void 0 ? void 0 : processosJuridicosData.isLoaded)) {
32
+ if (((_b = globalData === null || globalData === void 0 ? void 0 : globalData.dossie) === null || _b === void 0 ? void 0 : _b.carousel) && (processosJuridicosData === null || processosJuridicosData === void 0 ? void 0 : processosJuridicosData.isLoaded)) {
33
33
  var empresaNome = globalData.dossie.carousel.name || '';
34
34
  var empresaNomeNormalizado_1 = normalizeName(empresaNome);
35
- var processosAtivo = (_e = (_d = (_c = globalData === null || globalData === void 0 ? void 0 : globalData.processosJuridicosData) === null || _c === void 0 ? void 0 : _c.empresa) === null || _d === void 0 ? void 0 : _d.filter(function (processo) {
35
+ var validAssuntos_1 = [
36
+ 'protesto indevido de títulos',
37
+ 'inclusão indevida em cadastro de inadimplentes',
38
+ 'liminar',
39
+ 'sustação de Protesto',
40
+ 'inexequibilidade do titulo / inexigibilidade da obrigação',
41
+ 'Adimplemento e Extinção',
42
+ 'Inexequibilidade do Título / Inexequibilidade da Obrigação | Tutela de Urgência | Protesto Indevido de Título'
43
+ ].map(normalizeName);
44
+ var processosAtivo = (_d = (_c = globalData === null || globalData === void 0 ? void 0 : globalData.processosJuridicosData) === null || _c === void 0 ? void 0 : _c.empresa) === null || _d === void 0 ? void 0 : _d.filter(function (processo) {
36
45
  var _a;
37
- return (_a = processo.envolvidos_ultima_movimentacao) === null || _a === void 0 ? void 0 : _a.some(function (envolvido) {
38
- var nomeNormalizado = normalizeName(envolvido.nome_sem_filtro);
39
- return (similarNames(nomeNormalizado, empresaNomeNormalizado_1) &&
40
- envolvido.envolvido_tipo === 'Ativo');
46
+ var hasAtivoEnvolvido = (_a = processo.envolvidos_ultima_movimentacao) === null || _a === void 0 ? void 0 : _a.some(function (envolvido) {
47
+ var nomeEnvolvidoNormalizado = normalizeName(envolvido.nome_sem_filtro);
48
+ return (envolvido.envolvido_tipo === 'Ativo' &&
49
+ similarNames(nomeEnvolvidoNormalizado, empresaNomeNormalizado_1));
41
50
  });
42
- })) === null || _e === void 0 ? void 0 : _e.filter(function (processo) {
43
51
  var assuntos = Array.isArray(processo.assuntos)
44
52
  ? processo.assuntos
45
53
  : [processo.assuntos];
46
- return assuntos.some(function (assunto) {
54
+ var hasValidAssunto = assuntos.some(function (assunto) {
47
55
  var assuntoNormalizado = normalizeName(assunto);
48
- return (similarNames(assuntoNormalizado, normalizeName('protesto indevido de títulos')) ||
49
- similarNames(assuntoNormalizado, normalizeName('inclusão indevida em cadastro de inadimplentes')));
56
+ return validAssuntos_1.some(function (valid) {
57
+ return similarNames(assuntoNormalizado, valid);
58
+ });
50
59
  });
60
+ return hasAtivoEnvolvido && hasValidAssunto;
51
61
  });
52
62
  var indiciosDeLiminar_1 = false;
53
63
  if (ctx.type === RequestStatus.Error) {
54
64
  console.error('Erro na requisição de liminares:', ctx.error || 'Erro desconhecido');
55
65
  }
56
66
  else if (ctx.type === RequestStatus.Success) {
57
- indiciosDeLiminar_1 = ((_f = ctx.document) === null || _f === void 0 ? void 0 : _f.indiciosDeLiminar) === true;
67
+ indiciosDeLiminar_1 = ((_e = ctx.document) === null || _e === void 0 ? void 0 : _e.indiciosDeLiminar) === true;
58
68
  }
59
- var hasLiminarFromProcessos = processosAtivo && processosAtivo.length > 0;
60
- var finalStatus_1 = indiciosDeLiminar_1 || hasLiminarFromProcessos
69
+ var finalStatus_1 = indiciosDeLiminar_1 || (processosAtivo && processosAtivo.length > 0)
61
70
  ? 'Encontrado'
62
71
  : 'Não encontrado';
63
- setData(function (prevState) { return (__assign(__assign({}, prevState), { liminar: {
64
- indiciosDeLiminar: indiciosDeLiminar_1,
65
- message: finalStatus_1
66
- } })); });
67
- setDataUpdated(true);
68
- if (!indiciosDeLiminar_1 && !hasLiminarFromProcessos) {
69
- setHideSection(true);
70
- }
72
+ setData(function (prev) { return (__assign(__assign({}, prev), { liminar: { indiciosDeLiminar: indiciosDeLiminar_1, message: finalStatus_1 } })); });
73
+ setCheckCompleted(true);
71
74
  }
72
- }, [ctx, dataUpdated, globalData, setData]);
73
- if (hideSection)
75
+ }, [checkCompleted, globalData, ctx, setData]);
76
+ if (checkCompleted && ((_a = globalData === null || globalData === void 0 ? void 0 : globalData.liminar) === null || _a === void 0 ? void 0 : _a.message) === 'Não encontrado') {
74
77
  return null;
75
- var fallbackCtx = __assign(__assign({}, ctx), { type: ctx.type === RequestStatus.Error ? RequestStatus.Success : ctx.type, document: ctx.type === RequestStatus.Error
76
- ? { indiciosDeLiminar: false }
77
- : ctx.document });
78
- return (React.createElement(Section, { title: "Liminares para Remo\u00E7\u00E3o de Protesto", subtitle: "Ind\u00EDcios de liminares para oculta\u00E7\u00E3o de registros.", icon: ProtestosIcon, ctx: fallbackCtx, onSuccess: function (doc) {
78
+ }
79
+ var derivedCtx = useMemo(function () {
80
+ if (!checkCompleted) {
81
+ return __assign(__assign({}, ctx), { type: RequestStatus.Loading });
82
+ }
83
+ return __assign(__assign({}, ctx), { type: ctx.type === RequestStatus.Error ? RequestStatus.Success : ctx.type, document: ctx.type === RequestStatus.Error
84
+ ? { indiciosDeLiminar: false }
85
+ : ctx.document });
86
+ }, [checkCompleted, ctx]);
87
+ return (React.createElement(Section, { title: "Liminares para Remo\u00E7\u00E3o de Protesto", subtitle: "Ind\u00EDcios de liminares para oculta\u00E7\u00E3o de registros.", icon: ProtestosIcon, ctx: derivedCtx, onSuccess: function (doc) {
79
88
  var _a;
80
89
  var globalMessage = ((_a = globalData === null || globalData === void 0 ? void 0 : globalData.liminar) === null || _a === void 0 ? void 0 : _a.message) || 'Não encontrado';
81
90
  return {