@credithub/harlan-components 1.55.2 → 1.56.0

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,78 +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, useMemo, useState } from 'react';
15
+ import React, { useContext, useEffect, useMemo, useState, useRef } 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
+ var _a, _b, _c;
21
21
  var ctx = useContext(Queries.LiminarCenprot);
22
- var _b = useGlobalData(), globalData = _b.data, setData = _b.setData;
23
- var _c = useState(false), checkCompleted = _c[0], setCheckCompleted = _c[1];
22
+ var _d = useGlobalData(), globalData = _d.data, setData = _d.setData;
23
+ var _e = useState(undefined), liminarResult = _e[0], setLiminarResult = _e[1];
24
+ var didRunRef = useRef(false);
25
+ var carousel = (_a = globalData === null || globalData === void 0 ? void 0 : globalData.dossie) === null || _a === void 0 ? void 0 : _a.carousel;
26
+ var isPJDataLoaded = (_b = globalData === null || globalData === void 0 ? void 0 : globalData.processosJuridicosData) === null || _b === void 0 ? void 0 : _b.isLoaded;
27
+ var empresas = (_c = globalData === null || globalData === void 0 ? void 0 : globalData.processosJuridicosData) === null || _c === void 0 ? void 0 : _c.empresa;
24
28
  useEffect(function () {
25
- var _a, _b, _c, _d, _e;
26
- if (checkCompleted)
27
- return; // roda apenas uma vez
28
- var processosJuridicosData = (_a = globalData === null || globalData === void 0 ? void 0 : globalData.processosJuridicosData) !== null && _a !== void 0 ? _a : {
29
- isLoaded: true,
30
- empresa: []
31
- };
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
- var empresaNome = globalData.dossie.carousel.name || '';
34
- var empresaNomeNormalizado_1 = normalizeName(empresaNome);
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) {
45
- var _a;
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));
50
- });
51
- var assuntos = Array.isArray(processo.assuntos)
52
- ? processo.assuntos
53
- : [processo.assuntos];
54
- var hasValidAssunto = assuntos.some(function (assunto) {
55
- var assuntoNormalizado = normalizeName(assunto);
56
- return validAssuntos_1.some(function (valid) {
57
- return similarNames(assuntoNormalizado, valid);
58
- });
29
+ var _a;
30
+ if (didRunRef.current)
31
+ return;
32
+ if (!carousel || !isPJDataLoaded)
33
+ return;
34
+ var empresaNome = carousel.name || '';
35
+ var empresaNomeNormalizado = normalizeName(empresaNome);
36
+ var validAssuntos = [
37
+ 'protesto indevido de títulos',
38
+ 'inclusão indevida em cadastro de inadimplentes',
39
+ 'liminar',
40
+ 'sustação de Protesto',
41
+ 'inexequibilidade do titulo / inexequibilidade da obrigação',
42
+ 'Adimplemento e Extinção',
43
+ 'Inexequibilidade do Título / Inexequibilidade da Obrigação | Tutela de Urgência | Protesto Indevido de Título'
44
+ ].map(normalizeName);
45
+ var processosAtivo = empresas === null || empresas === void 0 ? void 0 : empresas.filter(function (processo) {
46
+ var _a;
47
+ var hasAtivoEnvolvido = (_a = processo.envolvidos_ultima_movimentacao) === null || _a === void 0 ? void 0 : _a.some(function (envolvido) {
48
+ var nomeEnvolvidoNormalizado = normalizeName(envolvido.nome_sem_filtro);
49
+ return (envolvido.envolvido_tipo === 'Ativo' &&
50
+ similarNames(nomeEnvolvidoNormalizado, empresaNomeNormalizado));
51
+ });
52
+ var assuntos = Array.isArray(processo.assuntos)
53
+ ? processo.assuntos
54
+ : [processo.assuntos];
55
+ var hasValidAssunto = assuntos.some(function (assunto) {
56
+ var assuntoNormalizado = normalizeName(assunto);
57
+ return validAssuntos.some(function (valid) {
58
+ return similarNames(assuntoNormalizado, valid);
59
59
  });
60
- return hasAtivoEnvolvido && hasValidAssunto;
61
60
  });
62
- var indiciosDeLiminar_1 = false;
63
- if (ctx.type === RequestStatus.Error) {
64
- console.error('Erro na requisição de liminares:', ctx.error || 'Erro desconhecido');
65
- }
66
- else if (ctx.type === RequestStatus.Success) {
67
- indiciosDeLiminar_1 = ((_e = ctx.document) === null || _e === void 0 ? void 0 : _e.indiciosDeLiminar) === true;
68
- }
69
- var finalStatus_1 = indiciosDeLiminar_1 || (processosAtivo && processosAtivo.length > 0)
70
- ? 'Encontrado'
71
- : 'Não encontrado';
72
- setData(function (prev) { return (__assign(__assign({}, prev), { liminar: { indiciosDeLiminar: indiciosDeLiminar_1, message: finalStatus_1 } })); });
73
- setCheckCompleted(true);
61
+ return hasAtivoEnvolvido && hasValidAssunto;
62
+ });
63
+ var indiciosDeLiminar = false;
64
+ if (ctx.type === RequestStatus.Error) {
65
+ console.error('Erro na requisição de liminares:', ctx.error || 'Erro desconhecido');
74
66
  }
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') {
77
- return null;
78
- }
67
+ else if (ctx.type === RequestStatus.Success) {
68
+ indiciosDeLiminar = ((_a = ctx.document) === null || _a === void 0 ? void 0 : _a.indiciosDeLiminar) === true;
69
+ }
70
+ var finalStatus = indiciosDeLiminar || (processosAtivo && processosAtivo.length > 0)
71
+ ? 'Encontrado'
72
+ : 'Não encontrado';
73
+ setData(function (prev) { return (__assign(__assign({}, prev), { liminar: { indiciosDeLiminar: indiciosDeLiminar, message: finalStatus } })); });
74
+ setLiminarResult(finalStatus);
75
+ didRunRef.current = true;
76
+ }, [carousel, isPJDataLoaded, empresas, ctx.type, setData]);
79
77
  var derivedCtx = useMemo(function () {
80
- if (!checkCompleted) {
78
+ if (liminarResult === undefined) {
81
79
  return __assign(__assign({}, ctx), { type: RequestStatus.Loading });
82
80
  }
83
81
  return __assign(__assign({}, ctx), { type: ctx.type === RequestStatus.Error ? RequestStatus.Success : ctx.type, document: ctx.type === RequestStatus.Error
84
82
  ? { indiciosDeLiminar: false }
85
83
  : ctx.document });
86
- }, [checkCompleted, ctx]);
84
+ }, [liminarResult, ctx]);
85
+ if (liminarResult === 'Não encontrado') {
86
+ return null;
87
+ }
87
88
  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) {
88
89
  var _a;
89
90
  var globalMessage = ((_a = globalData === null || globalData === void 0 ? void 0 : globalData.liminar) === null || _a === void 0 ? void 0 : _a.message) || 'Não encontrado';