@credithub/harlan-components 1.59.12 → 1.60.1

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.
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ interface ModalProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ title?: string;
6
+ children: React.ReactNode;
7
+ footer?: React.ReactNode;
8
+ }
9
+ declare const Modal: React.FC<ModalProps>;
10
+ export default Modal;
@@ -0,0 +1,60 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import React, { useEffect } from 'react';
6
+ import styled from 'styled-components';
7
+ var Overlay = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n"], ["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n"])));
8
+ var ModalContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background: ", ";\n border-radius: 12px;\n max-width: 500px;\n width: 90%;\n padding: 32px;\n box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);\n animation: fadeIn 0.3s ease-out;\n position: relative;\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n"], ["\n background: ", ";\n border-radius: 12px;\n max-width: 500px;\n width: 90%;\n padding: 32px;\n box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);\n animation: fadeIn 0.3s ease-out;\n position: relative;\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n"])), function (_a) {
9
+ var theme = _a.theme;
10
+ return theme.colors.white;
11
+ });
12
+ var CloseButton = styled.button(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n all: unset;\n position: absolute;\n top: 12px;\n right: 12px;\n width: 32px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 1.5rem;\n font-weight: bold;\n cursor: pointer;\n color: ", ";\n border-radius: 50%;\n transition:\n background 0.3s ease,\n color 0.3s ease;\n\n &:hover {\n background: ", ";\n color: ", ";\n }\n"], ["\n all: unset;\n position: absolute;\n top: 12px;\n right: 12px;\n width: 32px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 1.5rem;\n font-weight: bold;\n cursor: pointer;\n color: ", ";\n border-radius: 50%;\n transition:\n background 0.3s ease,\n color 0.3s ease;\n\n &:hover {\n background: ", ";\n color: ", ";\n }\n"])), function (_a) {
13
+ var theme = _a.theme;
14
+ return theme.colors.cinzaEscuro;
15
+ }, function (_a) {
16
+ var theme = _a.theme;
17
+ return theme.colors.cinzaBase;
18
+ }, function (_a) {
19
+ var theme = _a.theme;
20
+ return theme.colors.azulCredithub;
21
+ });
22
+ var Title = styled.h2(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", ";\n color: ", ";\n text-align: center;\n margin-bottom: 16px;\n"], ["\n ", ";\n color: ", ";\n text-align: center;\n margin-bottom: 16px;\n"])), function (_a) {
23
+ var theme = _a.theme;
24
+ return theme.typography.headline20;
25
+ }, function (_a) {
26
+ var theme = _a.theme;
27
+ return theme.colors.azulCredithub;
28
+ });
29
+ var Content = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", ";\n color: ", ";\n margin-bottom: 24px;\n text-align: center;\n"], ["\n ", ";\n color: ", ";\n margin-bottom: 24px;\n text-align: center;\n"])), function (_a) {
30
+ var theme = _a.theme;
31
+ return theme.typography.body16;
32
+ }, function (_a) {
33
+ var theme = _a.theme;
34
+ return theme.colors.cinzaEscuro;
35
+ });
36
+ var Footer = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: flex;\n justify-content: center;\n gap: 10px;\n"], ["\n display: flex;\n justify-content: center;\n gap: 10px;\n"])));
37
+ var Modal = function (_a) {
38
+ var isOpen = _a.isOpen, onClose = _a.onClose, title = _a.title, children = _a.children, footer = _a.footer;
39
+ useEffect(function () {
40
+ if (!isOpen)
41
+ return;
42
+ var handleKeyDown = function (event) {
43
+ if (event.key === 'Escape') {
44
+ onClose();
45
+ }
46
+ };
47
+ window.addEventListener('keydown', handleKeyDown);
48
+ return function () { return window.removeEventListener('keydown', handleKeyDown); };
49
+ }, [isOpen, onClose]);
50
+ if (!isOpen)
51
+ return null;
52
+ return (React.createElement(Overlay, { onClick: onClose },
53
+ React.createElement(ModalContainer, { onClick: function (e) { return e.stopPropagation(); } },
54
+ React.createElement(CloseButton, { onClick: onClose }, "\u00D7"),
55
+ title && React.createElement(Title, null, title),
56
+ React.createElement(Content, null, children),
57
+ footer && React.createElement(Footer, null, footer))));
58
+ };
59
+ export default Modal;
60
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
- declare const Modal: React.FC<{
2
+ interface MaintenanceModalProps {
3
3
  isOpen: boolean;
4
4
  onClose: () => void;
5
5
  title: string;
6
6
  message: string;
7
7
  incidentUrl?: string;
8
- }>;
9
- export default Modal;
8
+ }
9
+ declare const MaintenanceModal: React.FC<MaintenanceModalProps>;
10
+ export default MaintenanceModal;
@@ -3,42 +3,29 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
3
3
  return cooked;
4
4
  };
5
5
  import { Wrench } from 'phosphor-react';
6
- import React, { useEffect } from 'react';
6
+ import React from 'react';
7
7
  import styled from 'styled-components';
8
- var Overlay = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n"], ["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n"])));
9
- var ModalContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background: ", ";\n border-radius: 12px;\n max-width: 500px;\n width: 90%;\n padding: 32px;\n box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);\n animation: fadeIn 0.3s ease-out;\n position: relative;\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n"], ["\n background: ", ";\n border-radius: 12px;\n max-width: 500px;\n width: 90%;\n padding: 32px;\n box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);\n animation: fadeIn 0.3s ease-out;\n position: relative;\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n"])), function (_a) {
10
- var theme = _a.theme;
11
- return theme.colors.white;
12
- });
13
- var IconContainer = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n justify-content: center;\n align-items: center;\n margin-bottom: 16px;\n\n svg {\n color: ", ";\n width: 48px;\n height: 48px;\n }\n"], ["\n display: flex;\n justify-content: center;\n align-items: center;\n margin-bottom: 16px;\n\n svg {\n color: ", ";\n width: 48px;\n height: 48px;\n }\n"])), function (_a) {
14
- var theme = _a.theme;
15
- return theme.colors.azulCredithub;
16
- });
17
- var Title = styled.h2(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", ";\n color: ", ";\n text-align: center;\n margin-bottom: 8px;\n"], ["\n ", ";\n color: ", ";\n text-align: center;\n margin-bottom: 8px;\n"])), function (_a) {
18
- var theme = _a.theme;
19
- return theme.typography.headline20;
20
- }, function (_a) {
21
- var theme = _a.theme;
22
- return theme.colors.azulCredithub;
23
- });
24
- var CloseButton = styled.button(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n all: unset;\n position: absolute;\n top: 12px;\n right: 12px;\n width: 32px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 1.5rem;\n font-weight: bold;\n cursor: pointer;\n color: ", ";\n border-radius: 50%;\n transition:\n background 0.3s ease,\n color 0.3s ease;\n\n &:hover {\n background: ", ";\n color: ", ";\n }\n"], ["\n all: unset;\n position: absolute;\n top: 12px;\n right: 12px;\n width: 32px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 1.5rem;\n font-weight: bold;\n cursor: pointer;\n color: ", ";\n border-radius: 50%;\n transition:\n background 0.3s ease,\n color 0.3s ease;\n\n &:hover {\n background: ", ";\n color: ", ";\n }\n"])), function (_a) {
25
- var theme = _a.theme;
26
- return theme.colors.cinzaEscuro;
27
- }, function (_a) {
28
- var theme = _a.theme;
29
- return theme.colors.cinzaBase;
30
- }, function (_a) {
8
+ import Modal from './modal';
9
+ var MaintenanceModal = function (_a) {
10
+ var isOpen = _a.isOpen, onClose = _a.onClose, title = _a.title, message = _a.message, incidentUrl = _a.incidentUrl;
11
+ var footerContent = incidentUrl ? (React.createElement(FooterLink, { href: incidentUrl, target: "_blank", rel: "noopener noreferrer" }, "Ver Atualiza\u00E7\u00F5es do Incidente")) : null;
12
+ return (React.createElement(Modal, { isOpen: isOpen, onClose: onClose, title: title, footer: footerContent },
13
+ React.createElement(IconContainer, null,
14
+ React.createElement(Wrench, { weight: "bold" })),
15
+ React.createElement(Message, null, message)));
16
+ };
17
+ var IconContainer = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n justify-content: center;\n align-items: center;\n margin-bottom: 16px;\n\n svg {\n color: ", ";\n width: 48px;\n height: 48px;\n }\n"], ["\n display: flex;\n justify-content: center;\n align-items: center;\n margin-bottom: 16px;\n\n svg {\n color: ", ";\n width: 48px;\n height: 48px;\n }\n"])), function (_a) {
31
18
  var theme = _a.theme;
32
19
  return theme.colors.azulCredithub;
33
20
  });
34
- var Message = styled.p(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n ", ";\n color: ", ";\n line-height: 1.6;\n text-align: center;\n margin-top: 16px;\n margin-bottom: 24px;\n"], ["\n ", ";\n color: ", ";\n line-height: 1.6;\n text-align: center;\n margin-top: 16px;\n margin-bottom: 24px;\n"])), function (_a) {
21
+ var Message = styled.p(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", ";\n color: ", ";\n line-height: 1.6;\n text-align: center;\n margin-top: 16px;\n margin-bottom: 24px;\n"], ["\n ", ";\n color: ", ";\n line-height: 1.6;\n text-align: center;\n margin-top: 16px;\n margin-bottom: 24px;\n"])), function (_a) {
35
22
  var theme = _a.theme;
36
23
  return theme.typography.body16;
37
24
  }, function (_a) {
38
25
  var theme = _a.theme;
39
26
  return theme.colors.cinzaEscuro;
40
27
  });
41
- var IncidentButton = styled.a(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 auto;\n padding: 10px 20px;\n background: ", ";\n color: ", ";\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n transition:\n background 0.2s ease,\n color 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n\n &:hover {\n background: ", ";\n color: ", ";\n }\n"], ["\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 auto;\n padding: 10px 20px;\n background: ", ";\n color: ", ";\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n transition:\n background 0.2s ease,\n color 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n\n &:hover {\n background: ", ";\n color: ", ";\n }\n"])), function (_a) {
28
+ var FooterLink = styled.a(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: inline-block;\n padding: 10px 20px;\n background: ", ";\n color: ", ";\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n transition:\n background 0.2s ease,\n color 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n\n &:hover {\n background: ", ";\n color: ", ";\n }\n"], ["\n display: inline-block;\n padding: 10px 20px;\n background: ", ";\n color: ", ";\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n transition:\n background 0.2s ease,\n color 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n\n &:hover {\n background: ", ";\n color: ", ";\n }\n"])), function (_a) {
42
29
  var theme = _a.theme;
43
30
  return theme.colors.cinzaBase;
44
31
  }, function (_a) {
@@ -51,31 +38,5 @@ var IncidentButton = styled.a(templateObject_7 || (templateObject_7 = __makeTemp
51
38
  var theme = _a.theme;
52
39
  return theme.colors.azulCredithub;
53
40
  });
54
- var Modal = function (_a) {
55
- var isOpen = _a.isOpen, onClose = _a.onClose, title = _a.title, message = _a.message, incidentUrl = _a.incidentUrl;
56
- useEffect(function () {
57
- if (!isOpen)
58
- return;
59
- var handleKeyDown = function (event) {
60
- if (event.key === 'Escape') {
61
- onClose();
62
- }
63
- };
64
- window.addEventListener('keydown', handleKeyDown);
65
- return function () {
66
- window.removeEventListener('keydown', handleKeyDown);
67
- };
68
- }, [isOpen, onClose]);
69
- if (!isOpen)
70
- return null;
71
- return (React.createElement(Overlay, { onClick: onClose },
72
- React.createElement(ModalContainer, { onClick: function (e) { return e.stopPropagation(); } },
73
- React.createElement(CloseButton, { onClick: onClose }, "\u00D7"),
74
- React.createElement(IconContainer, null,
75
- React.createElement(Wrench, { weight: "bold" })),
76
- React.createElement(Title, null, title),
77
- React.createElement(Message, null, message),
78
- incidentUrl && (React.createElement(IncidentButton, { href: incidentUrl, target: "_blank", rel: "noopener noreferrer" }, "Ver Atualiza\u00E7\u00F5es do Incidente")))));
79
- };
80
- export default Modal;
81
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
41
+ export default MaintenanceModal;
42
+ var templateObject_1, templateObject_2, templateObject_3;
@@ -4,6 +4,7 @@ import { ParsedResponse } from './webservice';
4
4
  type QueryType<DataType = any> = {
5
5
  consultaRealizada: boolean;
6
6
  data?: ParsedResponse<DataType> | null;
7
+ dataBase?: string;
7
8
  };
8
9
  type ConsultasComplementaresProps = {
9
10
  scr: QueryType;
@@ -19,7 +19,8 @@ export var ConsultasComplementaresProvider = function (_a) {
19
19
  consultaRealizada: initVeiculos
20
20
  },
21
21
  scr: {
22
- consultaRealizada: false
22
+ consultaRealizada: false,
23
+ dataBase: undefined
23
24
  },
24
25
  hasCredits: hasCredits
25
26
  }), consultasComplementares = _e[0], setConsultasComplementares = _e[1];
@@ -11,12 +11,46 @@ declare const useCardsAndProducts: ({ finderResponse }: {
11
11
  })[];
12
12
  products: {
13
13
  title: string;
14
- onClick: () => Promise<void>;
14
+ onClick: () => void;
15
15
  price: number;
16
16
  hide: boolean;
17
17
  isLoading: boolean;
18
18
  }[];
19
19
  isModalOpen: boolean;
20
20
  closeModal: () => void;
21
+ isScrModalOpen: boolean;
22
+ setScrModalOpen: React.Dispatch<React.SetStateAction<boolean>>;
23
+ setConsultasComplementares: React.Dispatch<React.SetStateAction<{
24
+ scr: {
25
+ consultaRealizada: boolean;
26
+ data?: import("../../webservice").ParsedResponse<any> | null | undefined;
27
+ dataBase?: string;
28
+ };
29
+ veiculos: {
30
+ consultaRealizada: boolean;
31
+ data?: import("../../webservice").ParsedResponse<any> | null | undefined;
32
+ dataBase?: string;
33
+ };
34
+ refinSerasa: {
35
+ consultaRealizada: boolean;
36
+ data?: import("../../webservice").ParsedResponse<import("@/@types/domain/refinSerasaTypes").PefinRefinSerasaResponse> | null | undefined;
37
+ dataBase?: string;
38
+ };
39
+ refinBoaVista: {
40
+ consultaRealizada: boolean;
41
+ data?: import("../../webservice").ParsedResponse<import("@/@types/domain/refinBoaVistaTypes").RefinBoaVistaResponse> | null | undefined;
42
+ dataBase?: string;
43
+ };
44
+ scoreBoaVista: {
45
+ consultaRealizada: boolean;
46
+ data?: import("../../webservice").ParsedResponse<import("@/@types/domain/scoreTypes").ScoreResponse> | null | undefined;
47
+ dataBase?: string;
48
+ };
49
+ imoveis: {
50
+ consultaRealizada: boolean;
51
+ data?: import("../../webservice").ParsedResponse<import("@/@types/domain/imoveisTypes").ImoveisConsultaResponse> | null | undefined;
52
+ dataBase?: string;
53
+ };
54
+ }>>;
21
55
  };
22
56
  export default useCardsAndProducts;
@@ -58,7 +58,8 @@ var useCardsAndProducts = function (_a) {
58
58
  var _g = useConsultaRfb(), rfbResponse = _g.rfbResponse, rfbIsLoading = _g.isLoading;
59
59
  var _h = useState(false), isModalOpen = _h[0], setModalOpen = _h[1];
60
60
  var _j = useConsultasComplementares(), consultasComplementares = _j.consultasComplementares, setConsultasComplementares = _j.setConsultasComplementares, hasCredits = _j.hasCredits;
61
- var _k = useState({}), loadingButtons = _k[0], setLoadingButtons = _k[1];
61
+ var _k = useState(false), isScrModalOpen = _k[0], setScrModalOpen = _k[1];
62
+ var _l = useState({}), loadingButtons = _l[0], setLoadingButtons = _l[1];
62
63
  var handleModalClick = function () { return setModalOpen(true); };
63
64
  var closeModal = function () { return setModalOpen(false); };
64
65
  var isPF = !!getField('cpf', finderResponse);
@@ -105,7 +106,7 @@ var useCardsAndProducts = function (_a) {
105
106
  });
106
107
  }); };
107
108
  };
108
- var _l = {
109
+ var _m = {
109
110
  cards: [
110
111
  {
111
112
  title: getField('sexo', finderResponse, function (value) {
@@ -249,7 +250,7 @@ var useCardsAndProducts = function (_a) {
249
250
  products: [
250
251
  {
251
252
  title: 'Consultar SCR',
252
- onClick: handleOnClick('scr'),
253
+ onClick: function () { return setScrModalOpen(true); },
253
254
  price: productsPrices === null || productsPrices === void 0 ? void 0 : productsPrices.scr,
254
255
  hide: (_b = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.scr) === null || _b === void 0 ? void 0 : _b.consultaRealizada,
255
256
  isLoading: loadingButtons['scr']
@@ -290,7 +291,15 @@ var useCardsAndProducts = function (_a) {
290
291
  isLoading: loadingButtons['imoveis']
291
292
  }*/
292
293
  ]
293
- }, cards = _l.cards, products = _l.products;
294
- return { cards: cards, products: products, isModalOpen: isModalOpen, closeModal: closeModal };
294
+ }, cards = _m.cards, products = _m.products;
295
+ return {
296
+ cards: cards,
297
+ products: products,
298
+ isModalOpen: isModalOpen,
299
+ closeModal: closeModal,
300
+ isScrModalOpen: isScrModalOpen,
301
+ setScrModalOpen: setScrModalOpen,
302
+ setConsultasComplementares: setConsultasComplementares
303
+ };
295
304
  };
296
305
  export default useCardsAndProducts;
@@ -1,6 +1,18 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  import ButtonAtualizarDadosRfb from '../../../assets/btn/buttonAtualizarDadosRfb';
2
13
  import AddItemField from '../../../components/common/addItem';
3
14
  import Modal from '../../../components/common/modalMaintenance';
15
+ import ScrDataBaseModal from '../../../components/scr/scrDataBaseModal';
4
16
  import { formatMoney } from '../../../utils/number';
5
17
  import React from 'react';
6
18
  import useCardsAndProducts from './cardsAndProducts';
@@ -9,7 +21,7 @@ export var Summary = function (_a) {
9
21
  var finderResponse = _a.finderResponse;
10
22
  var _b = useCardsAndProducts({
11
23
  finderResponse: finderResponse,
12
- }), cards = _b.cards, products = _b.products, isModalOpen = _b.isModalOpen, closeModal = _b.closeModal;
24
+ }), cards = _b.cards, products = _b.products, isModalOpen = _b.isModalOpen, closeModal = _b.closeModal, isScrModalOpen = _b.isScrModalOpen, setScrModalOpen = _b.setScrModalOpen, setConsultasComplementares = _b.setConsultasComplementares;
13
25
  return (React.createElement(React.Fragment, null,
14
26
  React.createElement(ContainerSummary, { className: "credithub-container-summary" },
15
27
  React.createElement(ContentSummary, { className: "credithub-content-summary" }, cards.map(function (card, index) { return (React.createElement(FieldSummary, { key: index, fullRow: card.header === 'Nome' || card.header === 'Nome Da Mãe' },
@@ -18,6 +30,11 @@ export var Summary = function (_a) {
18
30
  React.createElement(ButtonAtualizarDadosRfb, null),
19
31
  products.map(function (product, index) { return (React.createElement(ButtonsSummary, { key: index, style: { display: (product === null || product === void 0 ? void 0 : product.hide) ? 'none' : '', width: '100%' } },
20
32
  React.createElement(SummaryButton, { onClick: function () { return (product === null || product === void 0 ? void 0 : product.onClick) && (product === null || product === void 0 ? void 0 : product.onClick()); }, disabled: product.isLoading, smallContent: product.price ? formatMoney(product.price) : undefined }, product.isLoading ? React.createElement(Spinner, null) : product.title))); })),
21
- React.createElement(Modal, { isOpen: isModalOpen, onClose: closeModal, title: "\uD83D\uDEA7 Consulta temporariamente indispon\u00EDvel", message: "A consulta Pefin/Refin Serasa est\u00E1 fora do ar devido a mudan\u00E7as na fonte. Nossa equipe j\u00E1 est\u00E1 trabalhando para resolver, mas ainda n\u00E3o h\u00E1 previs\u00E3o de normaliza\u00E7\u00E3o.", incidentUrl: "https://credithub.statuspage.io/incidents/hnvx1dxby7rk" }))));
33
+ React.createElement(Modal, { isOpen: isModalOpen, onClose: closeModal, title: "\uD83D\uDEA7 Consulta temporariamente indispon\u00EDvel", message: "A consulta Pefin/Refin Serasa est\u00E1 fora do ar devido a mudan\u00E7as na fonte. Nossa equipe j\u00E1 est\u00E1 trabalhando para resolver, mas ainda n\u00E3o h\u00E1 previs\u00E3o de normaliza\u00E7\u00E3o.", incidentUrl: "https://credithub.statuspage.io/incidents/hnvx1dxby7rk" })),
34
+ isScrModalOpen && (React.createElement(ScrDataBaseModal, { isOpen: isScrModalOpen, onClose: function () { return setScrModalOpen(false); }, onConfirm: function (selected) {
35
+ console.log('Data-base selecionada:', selected);
36
+ setScrModalOpen(false);
37
+ setConsultasComplementares === null || setConsultasComplementares === void 0 ? void 0 : setConsultasComplementares(function (prev) { return (__assign(__assign({}, prev), { scr: __assign(__assign({}, prev === null || prev === void 0 ? void 0 : prev.scr), { dataBase: selected, consultaRealizada: true }) })); });
38
+ } }))));
22
39
  };
23
40
  export default Summary;
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import ProtestosIcon from '../../assets/icones/protestos';
13
13
  import { useGlobalData } from '../../contexts/globalDataContext';
14
- import { normalizeName, similarNames } from '../../utils/similarNames';
14
+ import { normalizeName, similarProcessos } from '../../utils/similarNames';
15
15
  import React, { useContext, useEffect, useMemo, useRef } from 'react';
16
16
  import StatusMessage from '../interface/statusMessage';
17
17
  import Section from '../section';
@@ -56,7 +56,8 @@ var Liminar = function () {
56
56
  useEffect(function () {
57
57
  var _a, _b, _c;
58
58
  // Skip processing if we don't have the necessary data
59
- if (!((_a = globalData === null || globalData === void 0 ? void 0 : globalData.dossie) === null || _a === void 0 ? void 0 : _a.carousel) || !((_b = globalData === null || globalData === void 0 ? void 0 : globalData.processosJuridicosData) === null || _b === void 0 ? void 0 : _b.isLoaded)) {
59
+ if (!((_a = globalData === null || globalData === void 0 ? void 0 : globalData.dossie) === null || _a === void 0 ? void 0 : _a.carousel) ||
60
+ !((_b = globalData === null || globalData === void 0 ? void 0 : globalData.processosJuridicosData) === null || _b === void 0 ? void 0 : _b.isLoaded)) {
60
61
  return;
61
62
  }
62
63
  // Skip if we're still loading
@@ -88,14 +89,14 @@ var Liminar = function () {
88
89
  var _a;
89
90
  var hasAtivoEnvolvido = (_a = processo.envolvidos_ultima_movimentacao) === null || _a === void 0 ? void 0 : _a.some(function (envolvido) {
90
91
  return envolvido.envolvido_tipo === 'Ativo' &&
91
- similarNames(normalizeName(envolvido.nome_sem_filtro), empresaNomeNormalizado);
92
+ similarProcessos(normalizeName(envolvido.nome_sem_filtro), empresaNomeNormalizado);
92
93
  });
93
94
  var assuntos = Array.isArray(processo.assuntos)
94
95
  ? processo.assuntos
95
96
  : [processo.assuntos];
96
97
  var hasValidAssunto = assuntos.some(function (assunto) {
97
98
  return validAssuntos.some(function (valid) {
98
- return similarNames(normalizeName(assunto), valid);
99
+ return similarProcessos(normalizeName(assunto), valid);
99
100
  });
100
101
  });
101
102
  return hasAtivoEnvolvido && hasValidAssunto;
@@ -106,7 +107,9 @@ var Liminar = function () {
106
107
  }
107
108
  // Determine final status
108
109
  var isSuccess = ctx.type === RequestStatus.Success || isProcessoNaoEncontrado;
109
- var indiciosDeLiminar = isSuccess ? ((_c = ctx.document) === null || _c === void 0 ? void 0 : _c.indiciosDeLiminar) === true : false;
110
+ var indiciosDeLiminar = isSuccess
111
+ ? ((_c = ctx.document) === null || _c === void 0 ? void 0 : _c.indiciosDeLiminar) === true
112
+ : false;
110
113
  var finalStatus = indiciosDeLiminar || (processosAtivo && processosAtivo.length > 0)
111
114
  ? 'Encontrado'
112
115
  : 'Não encontrado';
@@ -136,7 +139,8 @@ var Liminar = function () {
136
139
  return null;
137
140
  return (React.createElement(Section, { title: "Liminares para Remo\u00E7\u00E3o de Protesto", subtitle: processingRef.current
138
141
  ? 'Carregando liminar...'
139
- : 'Indícios de liminares para ocultação de registros.', icon: ProtestosIcon, ctx: processingRef.current ? __assign(__assign({}, ctx), { type: RequestStatus.Loading }) : derivedCtx, onSuccess: processingRef.current
142
+ : 'Indícios de liminares para ocultação de registros.', icon: ProtestosIcon, ctx: processingRef.current
143
+ ? __assign(__assign({}, ctx), { type: RequestStatus.Loading }) : derivedCtx, onSuccess: processingRef.current
140
144
  ? undefined
141
145
  : function (data, context) {
142
146
  var _a;
@@ -67,21 +67,26 @@ var ResumosWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTe
67
67
  });
68
68
  function ConsultaSCR(_a) {
69
69
  var _this = this;
70
- var _b, _c, _d, _e;
70
+ var _b, _c, _d, _e, _f;
71
71
  var documento = _a.documento, onAlert = _a.onAlert;
72
72
  var consultasComplementaresContext = useContext(ConsultasComplementaresContext);
73
73
  var setData = useGlobalData().setData;
74
- var _f = useState(false), dataUpdated = _f[0], setDataUpdated = _f[1];
75
- var _g = useState(false), alertShown = _g[0], setAlertShown = _g[1];
76
- var _h = consultasComplementaresContext !== null && consultasComplementaresContext !== void 0 ? consultasComplementaresContext : {}, consultasComplementares = _h.consultasComplementares, setConsultasComplementares = _h.setConsultasComplementares;
77
- var _j = useQuery("SELECT FROM 'SCR'.'CONSULTA'", { documento: documento }, !!((_b = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.scr) === null || _b === void 0 ? void 0 : _b.consultaRealizada)), response = _j.response, isLoading = _j.isLoading, error = _j.error, loadingProgress = _j.loadingProgress;
74
+ var _g = useState(false), dataUpdated = _g[0], setDataUpdated = _g[1];
75
+ var _h = useState(false), alertShown = _h[0], setAlertShown = _h[1];
76
+ var _j = consultasComplementaresContext !== null && consultasComplementaresContext !== void 0 ? consultasComplementaresContext : {}, consultasComplementares = _j.consultasComplementares, setConsultasComplementares = _j.setConsultasComplementares;
77
+ // O valor de dataBase vem no formato "YYYY-MM" (ou o padrão "2025-01")
78
+ var period = ((_b = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.scr) === null || _b === void 0 ? void 0 : _b.dataBase) || '2025-01';
79
+ var _k = useQuery("SELECT FROM 'SCR'.'CONSULTA'", {
80
+ documento: documento,
81
+ period: period
82
+ }, !!((_c = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.scr) === null || _c === void 0 ? void 0 : _c.consultaRealizada)), response = _k.response, isLoading = _k.isLoading, error = _k.error, loadingProgress = _k.loadingProgress;
78
83
  var fetch = useFetch("SELECT FROM 'SCR'.'PDF'").fetch;
79
84
  var isOpen = useToggle()[0];
80
85
  var scrRef = useRef(null);
81
- var consultaRealizada = useMemo(function () { var _a; return (_a = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.scr) === null || _a === void 0 ? void 0 : _a.consultaRealizada; }, [(_c = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.scr) === null || _c === void 0 ? void 0 : _c.consultaRealizada]);
86
+ var consultaRealizada = useMemo(function () { var _a; return (_a = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.scr) === null || _a === void 0 ? void 0 : _a.consultaRealizada; }, [(_d = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.scr) === null || _d === void 0 ? void 0 : _d.consultaRealizada]);
82
87
  var scr = response === null || response === void 0 ? void 0 : response.document;
83
88
  var basicData = useMemo(function () { var _a; return (_a = scr === null || scr === void 0 ? void 0 : scr.response) === null || _a === void 0 ? void 0 : _a.basicData; }, [scr]);
84
- var description = ((_e = (_d = scr === null || scr === void 0 ? void 0 : scr.response) === null || _d === void 0 ? void 0 : _d.basicData) === null || _e === void 0 ? void 0 : _e.length)
89
+ var description = ((_f = (_e = scr === null || scr === void 0 ? void 0 : scr.response) === null || _e === void 0 ? void 0 : _e.basicData) === null || _f === void 0 ? void 0 : _f.length)
85
90
  ? 'Resumo do Cliente'
86
91
  : 'Não há informação disponível para este documento.';
87
92
  useEffect(function () {
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface ScrDataBaseModalProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ onConfirm: (selectedDataBase: string) => void;
6
+ }
7
+ declare const ScrDataBaseModal: React.FC<ScrDataBaseModalProps>;
8
+ export default ScrDataBaseModal;
@@ -0,0 +1,95 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import Modal from '../../components/common/modal';
6
+ import React, { useEffect, useState } from 'react';
7
+ import styled from 'styled-components';
8
+ var ModalContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: 16px;\n"], ["\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: 16px;\n"])));
9
+ var Label = styled.label(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", ";\n color: ", ";\n margin-bottom: 8px;\n align-self: flex-start;\n"], ["\n ", ";\n color: ", ";\n margin-bottom: 8px;\n align-self: flex-start;\n"])), function (_a) {
10
+ var theme = _a.theme;
11
+ return theme.typography.body14;
12
+ }, function (_a) {
13
+ var theme = _a.theme;
14
+ return theme.colors.cinzaEscuro;
15
+ });
16
+ var SelectWrapper = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n width: 100%;\n margin-bottom: 24px;\n"], ["\n width: 100%;\n margin-bottom: 24px;\n"])));
17
+ var Select = styled.select(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n width: 100%;\n padding: 12px;\n font-size: 1rem;\n border: 1px solid ", ";\n border-radius: 4px;\n background: ", ";\n color: ", ";\n ", ";\n\n &:focus {\n outline: none;\n border-color: ", ";\n box-shadow: 0 0 0 2px rgba(0, 122, 242, 0.2);\n }\n"], ["\n width: 100%;\n padding: 12px;\n font-size: 1rem;\n border: 1px solid ", ";\n border-radius: 4px;\n background: ", ";\n color: ", ";\n ", ";\n\n &:focus {\n outline: none;\n border-color: ", ";\n box-shadow: 0 0 0 2px rgba(0, 122, 242, 0.2);\n }\n"])), function (_a) {
18
+ var theme = _a.theme;
19
+ return theme.colors.cinzaClaro;
20
+ }, function (_a) {
21
+ var theme = _a.theme;
22
+ return theme.colors.white;
23
+ }, function (_a) {
24
+ var theme = _a.theme;
25
+ return theme.colors.cinzaEscuro;
26
+ }, function (_a) {
27
+ var theme = _a.theme;
28
+ return theme.typography.body16;
29
+ }, function (_a) {
30
+ var theme = _a.theme;
31
+ return theme.colors.azulCredithub;
32
+ });
33
+ var ButtonWrapper = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-top: 16px;\n text-align: center;\n"], ["\n margin-top: 16px;\n text-align: center;\n"])));
34
+ var ConfirmButton = styled.button(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n padding: 12px 24px;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n ", ";\n background-color: ", ";\n color: ", ";\n transition: background 0.3s ease;\n\n &:hover {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n"], ["\n padding: 12px 24px;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n ", ";\n background-color: ", ";\n color: ", ";\n transition: background 0.3s ease;\n\n &:hover {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n"])), function (_a) {
35
+ var theme = _a.theme;
36
+ return theme.typography.strong16;
37
+ }, function (_a) {
38
+ var theme = _a.theme;
39
+ return theme.colors.azulCredithub;
40
+ }, function (_a) {
41
+ var theme = _a.theme;
42
+ return theme.colors.white;
43
+ }, function (_a) {
44
+ var theme = _a.theme;
45
+ return theme.colors.azulApoio;
46
+ }, function (_a) {
47
+ var theme = _a.theme;
48
+ return theme.colors.azulClaro;
49
+ });
50
+ var ScrDataBaseModal = function (_a) {
51
+ var isOpen = _a.isOpen, onClose = _a.onClose, onConfirm = _a.onConfirm;
52
+ var _b = useState([]), options = _b[0], setOptions = _b[1];
53
+ var _c = useState(''), selected = _c[0], setSelected = _c[1];
54
+ useEffect(function () {
55
+ if (!isOpen)
56
+ return;
57
+ var today = new Date();
58
+ var day = today.getDate();
59
+ var baseMonth = today.getMonth();
60
+ var baseYear = today.getFullYear();
61
+ if (day >= 24) {
62
+ baseMonth -= 1;
63
+ }
64
+ else {
65
+ baseMonth -= 2;
66
+ }
67
+ while (baseMonth < 0) {
68
+ baseMonth += 12;
69
+ baseYear--;
70
+ }
71
+ var optionList = [];
72
+ var currentMonth = baseMonth;
73
+ var currentYear = baseYear;
74
+ for (var i = 0; i < 12; i++) {
75
+ var monthStr = String(currentMonth + 1).padStart(2, '0'); // getMonth() é 0-based
76
+ optionList.push("".concat(currentYear, "-").concat(monthStr));
77
+ currentMonth--;
78
+ if (currentMonth < 0) {
79
+ currentMonth = 11;
80
+ currentYear--;
81
+ }
82
+ }
83
+ setOptions(optionList);
84
+ setSelected(optionList[0]);
85
+ }, [isOpen]);
86
+ return (React.createElement(Modal, { isOpen: isOpen, onClose: onClose, title: "Selecione a data-base" },
87
+ React.createElement(ModalContent, null,
88
+ React.createElement(SelectWrapper, null,
89
+ React.createElement(Label, { htmlFor: "scr-select" }, "Escolha a data-base (\u00FAltimos 12 meses)"),
90
+ React.createElement(Select, { id: "scr-select", value: selected, onChange: function (e) { return setSelected(e.target.value); } }, options.map(function (option, index) { return (React.createElement("option", { key: index, value: option }, option)); }))),
91
+ React.createElement(ButtonWrapper, null,
92
+ React.createElement(ConfirmButton, { onClick: function () { return onConfirm(selected); } }, "Confirmar")))));
93
+ };
94
+ export default ScrDataBaseModal;
95
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
@@ -1,2 +1,3 @@
1
1
  export declare const normalizeName: (name: string) => string;
2
2
  export declare const similarNames: (name1: string, name2: string) => boolean;
3
+ export declare const similarProcessos: (name1: string, name2: string) => boolean;
@@ -12,3 +12,7 @@ export var similarNames = function (name1, name2) {
12
12
  var similarity = stringSimilarity.compareTwoStrings(name1, name2);
13
13
  return similarity >= 0.5;
14
14
  };
15
+ export var similarProcessos = function (name1, name2) {
16
+ var similarity = stringSimilarity.compareTwoStrings(name1, name2);
17
+ return similarity >= 0.8;
18
+ };