@stack-spot/portal-layout 2.3.1 → 2.4.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.4.0](https://github.com/stack-spot/portal-commons/compare/portal-layout@v2.3.2...portal-layout@v2.4.0) (2024-08-08)
4
+
5
+
6
+ ### Features
7
+
8
+ * support for new nps experience ([337560c](https://github.com/stack-spot/portal-commons/commit/337560c8abb819677e0eebaf1786f0db75a14ccd))
9
+
10
+ ## [2.3.2](https://github.com/stack-spot/portal-commons/compare/portal-layout@v2.3.1...portal-layout@v2.3.2) (2024-08-02)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * remove aria-label from icon ([ab6473e](https://github.com/stack-spot/portal-commons/commit/ab6473efa2c498c972de0c3a1ae1bb74d4800d13))
16
+
3
17
  ## [2.3.1](https://github.com/stack-spot/portal-commons/compare/portal-layout@v2.3.0...portal-layout@v2.3.1) (2024-08-02)
4
18
 
5
19
 
@@ -93,7 +93,7 @@ export const PortalSwitcher = ({ portals = [] }) => {
93
93
  target: '_self',
94
94
  href: portal.url,
95
95
  active: currentPortal?.acronym == portal.acronym,
96
- iconActive: _jsx(CheckCircleFill, { "aria-label": t.selected }),
96
+ iconActive: _jsx(CheckCircleFill, {}),
97
97
  iconRight: portal.acronym !== currentPortal?.acronym ? _jsx(ArrowRight, {}) : undefined,
98
98
  })), visible: visible, maxHeight: "21rem", onHide: () => setVisible(false) })] });
99
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PortalSwitcher.js","sourceRoot":"","sources":["../../src/components/PortalSwitcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PortalSwitcher.js","sourceRoot":"","sources":["../../src/components/PortalSwitcher.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function useRatingEffect(): void;
1
+ export declare function useRatingEffect(onOpenModal?: () => void): void;
2
2
  //# sourceMappingURL=hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/components/Rate/hook.tsx"],"names":[],"mappings":"AAWA,wBAAgB,eAAe,SAI9B"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/components/Rate/hook.tsx"],"names":[],"mappings":"AA2BA,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,QAsBvD"}
@@ -7,9 +7,36 @@ const loadScript = () => new Promise((resolve, reject) => {
7
7
  script.onerror = (error) => reject(error);
8
8
  document.body.appendChild(script);
9
9
  });
10
- export function useRatingEffect() {
10
+ // Function to check if the difference between two dates is greater than 24 hours
11
+ function isMoreThan24Hours(date1, date2) {
12
+ // Get the timestamps of the dates
13
+ const timestamp1 = date1.getTime();
14
+ const timestamp2 = date2.getTime();
15
+ // Calculate the difference in milliseconds
16
+ const differenceInMilliseconds = Math.abs(timestamp2 - timestamp1);
17
+ // Convert milliseconds to hours
18
+ const differenceInHours = differenceInMilliseconds / (1000 * 60 * 60);
19
+ // Check if the difference is greater than 24 hours
20
+ return differenceInHours > 24;
21
+ }
22
+ export function useRatingEffect(onOpenModal) {
23
+ const verifyShowModal = () => {
24
+ const rateNpsItem = localStorage.getItem('rateNps');
25
+ const viewNpsItem = localStorage.getItem('viewNpsItem');
26
+ const shouldShow = viewNpsItem ? isMoreThan24Hours(new Date(+viewNpsItem), new Date(Date.now())) : true;
27
+ setTimeout(() => {
28
+ if (!rateNpsItem && shouldShow) {
29
+ onOpenModal?.();
30
+ localStorage.setItem('viewNpsItem', Date.now().toString());
31
+ }
32
+ }, 3000);
33
+ };
34
+ const handleInit = async () => {
35
+ await loadScript();
36
+ verifyShowModal();
37
+ };
11
38
  useEffectOnce(() => {
12
- loadScript();
39
+ handleInit();
13
40
  });
14
41
  }
15
42
  //# sourceMappingURL=hook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/components/Rate/hook.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,oCAAoC,CAAC,CAAA;IAChE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IAC/B,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC,CAAC,CAAA;AAEF,MAAM,UAAU,eAAe;IAC7B,aAAa,CAAC,GAAG,EAAE;QACjB,UAAU,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/components/Rate/hook.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,oCAAoC,CAAC,CAAA;IAChE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IAC/B,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC,CAAC,CAAA;AAEF,iFAAiF;AACjF,SAAS,iBAAiB,CAAC,KAAW,EAAE,KAAW;IACjD,kCAAkC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;IAElC,2CAA2C;IAC3C,MAAM,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,CAAA;IAElE,gCAAgC;IAChC,MAAM,iBAAiB,GAAG,wBAAwB,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IAErE,mDAAmD;IACnD,OAAO,iBAAiB,GAAG,EAAE,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAwB;IACtD,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAEvG,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE,CAAC;gBAC/B,WAAW,EAAE,EAAE,CAAA;gBACf,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,MAAM,UAAU,EAAE,CAAA;QAClB,eAAe,EAAE,CAAA;IACnB,CAAC,CAAA;IAED,aAAa,CAAC,GAAG,EAAE;QACjB,UAAU,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import './on-nps-submit.js';
1
2
  interface Props {
2
3
  tfLive: string;
3
4
  userId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Rate/index.tsx"],"names":[],"mappings":"AAIA,UAAU,KAAK;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,GAAG,KAAK,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,sCAAuC,KAAK,4CAoBrE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Rate/index.tsx"],"names":[],"mappings":"AAGA,OAAO,iBAAiB,CAAA;AAExB,UAAU,KAAK;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,GAAG,KAAK,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,sCAAuC,KAAK,4CAoBrE,CAAA"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Flex } from '@citric/core';
3
3
  import { LoadingCircular } from '@citric/ui';
4
4
  import { useEffect, useState } from 'react';
5
+ import './on-nps-submit.js';
5
6
  export const RateComponent = ({ tfLive, userId, orgId, portal }) => {
6
7
  const [isLoading, setIsLoading] = useState(true);
7
8
  useEffect(() => {
@@ -10,6 +11,6 @@ export const RateComponent = ({ tfLive, userId, orgId, portal }) => {
10
11
  setIsLoading(false);
11
12
  }, 2000);
12
13
  }, []);
13
- return (_jsxs(Box, { sx: { minWidth: '650px', minHeight: '500px' }, children: [isLoading && _jsx(Flex, { alignItems: "center", justifyContent: "center", w: "12", sx: { height: '100%' }, children: _jsx(LoadingCircular, {}) }), _jsx(Box, { sx: { opacity: isLoading ? '0' : 1 }, children: _jsx("div", { "data-tf-live": tfLive, "data-tf-hidden": `user_id=${userId},org_id=${orgId},portal_name=${portal}`, "data-tf-open": "time", "data-tf-open-value": "100" }) })] }));
14
+ return (_jsxs(Box, { sx: { minWidth: '650px', minHeight: '500px' }, children: [isLoading && _jsx(Flex, { alignItems: "center", justifyContent: "center", w: "12", sx: { height: '100%' }, children: _jsx(LoadingCircular, {}) }), _jsx(Box, { sx: { opacity: isLoading ? '0' : 1 }, children: _jsx("div", { "data-tf-live": tfLive, "data-tf-hidden": `user_id=${userId},org_id=${orgId},portal_name=${portal}`, "data-tf-open": "time", "data-tf-open-value": "100", "data-tf-on-submit": "onNpsSubmit" }) })] }));
14
15
  };
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Rate/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAS3C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAS,EAAE,EAAE;IACxE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEhD,SAAS,CAAC,GAAG,EAAE;QACZ,MAAc,CAAC,EAAE,EAAE,IAAI,EAAE,CAAA;QAC1B,UAAU,CAAC,GAAG,EAAE;YACd,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CAAC,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aACvD,SAAS,IAAI,KAAC,IAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAC3F,KAAC,eAAe,KAAG,GACd,EACP,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YACvC,8BAAmB,MAAM,oBACP,WAAW,MAAM,WAAW,KAAK,gBAAgB,MAAM,EAAE,kBAC5D,MAAM,wBAAoB,KAAK,GAAG,GAC7C,IACF,CAAC,CAAA;AACT,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Rate/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,iBAAiB,CAAA;AASxB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAS,EAAE,EAAE;IACxE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEhD,SAAS,CAAC,GAAG,EAAE;QACZ,MAAc,CAAC,EAAE,EAAE,IAAI,EAAE,CAAA;QAC1B,UAAU,CAAC,GAAG,EAAE;YACd,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CAAC,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aACvD,SAAS,IAAI,KAAC,IAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAC3F,KAAC,eAAe,KAAG,GACd,EACP,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YACvC,8BAAmB,MAAM,oBACP,WAAW,MAAM,WAAW,KAAK,gBAAgB,MAAM,EAAE,kBAC5D,MAAM,wBAAoB,KAAK,uBAAmB,aAAa,GAAE,GAC5E,IACF,CAAC,CAAA;AACT,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ export {};
2
+ declare global {
3
+ interface Window {
4
+ onNpsSubmit: () => void;
5
+ }
6
+ }
7
+ //# sourceMappingURL=on-nps-submit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on-nps-submit.d.ts","sourceRoot":"","sources":["../../../src/components/Rate/on-nps-submit.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAA;AAGT,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,WAAW,EAAE,MAAM,IAAI,CAAC;KACzB;CACF"}
@@ -0,0 +1,6 @@
1
+ function onNpsSubmit() {
2
+ localStorage.setItem('rateNps', 'true');
3
+ }
4
+ window.onNpsSubmit = onNpsSubmit;
5
+ export {};
6
+ //# sourceMappingURL=on-nps-submit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on-nps-submit.js","sourceRoot":"","sources":["../../../src/components/Rate/on-nps-submit.ts"],"names":[],"mappings":"AAAA,SAAS,WAAW;IAClB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AACzC,CAAC;AAWD,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const showRatingModal: (sub: string, tenant: string, portal: 'EDP' | 'AI', formIdentifier: string, title: string) => void;
2
+ //# sourceMappingURL=show-rating-modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show-rating-modal.d.ts","sourceRoot":"","sources":["../../../src/components/Rate/show-rating-modal.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,QAAS,MAAM,UAAU,MAAM,UAAU,KAAK,GAAG,IAAI,kBAAkB,MAAM,SAAS,MAAM,SAMvH,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { overlay } from '../../LayoutOverlayManager.js';
3
+ import { RateComponent } from './index.js';
4
+ export const showRatingModal = (sub, tenant, portal, formIdentifier, title) => {
5
+ overlay.showModal({
6
+ title,
7
+ children: _jsx(RateComponent, { tfLive: formIdentifier, userId: sub, orgId: tenant, portal: portal }),
8
+ size: 'large',
9
+ });
10
+ };
11
+ //# sourceMappingURL=show-rating-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show-rating-modal.js","sourceRoot":"","sources":["../../../src/components/Rate/show-rating-modal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAA;AAEjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,MAAc,EAAE,MAAoB,EAAE,cAAsB,EAAE,KAAa,EAAE,EAAE;IAC1H,OAAO,CAAC,SAAS,CAAC;QAChB,KAAK;QACL,QAAQ,EAAE,KAAC,aAAa,IAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAI;QAC/F,IAAI,EAAE,OAAO;KACd,CAAC,CAAA;AACJ,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export { CLOSE_OVERLAY_ID, OverlayContent } from './components/OverlayContent.js
7
7
  export { PortalSwitcher } from './components/PortalSwitcher.js';
8
8
  export { RateComponent } from './components/Rate/index.js';
9
9
  export { useRatingEffect } from './components/Rate/hook.js';
10
+ export { showRatingModal } from './components/Rate/show-rating-modal.js';
10
11
  export { RatePopover } from './components/Rate/RatePopover.js';
11
12
  export * from './components/tour/index.js';
12
13
  export * from './components/types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,cAAc,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ export { CLOSE_OVERLAY_ID, OverlayContent } from './components/OverlayContent.js
7
7
  export { PortalSwitcher } from './components/PortalSwitcher.js';
8
8
  export { RateComponent } from './components/Rate/index.js';
9
9
  export { useRatingEffect } from './components/Rate/hook.js';
10
+ export { showRatingModal } from './components/Rate/show-rating-modal.js';
10
11
  export { RatePopover } from './components/Rate/RatePopover.js';
11
12
  export * from './components/tour/index.js';
12
13
  export * from './components/types.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,cAAc,SAAS,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/portal-layout",
3
- "version": "2.3.1",
3
+ "version": "2.4.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,7 +15,7 @@
15
15
  "@citric/ui": "^6.1.1",
16
16
  "@stack-spot/portal-theme": "^1.0.0",
17
17
  "@stack-spot/portal-translate": "^1.0.0",
18
- "@stack-spot/portal-components": "^2.2.0",
18
+ "@stack-spot/portal-components": "^2.3.1",
19
19
  "react": "^18.2.0",
20
20
  "react-dom": "^18.2.0",
21
21
  "styled-components": "^6.1.10"
@@ -136,7 +136,7 @@ export const PortalSwitcher = ({ portals = [] }: PortalSwitcherProps) => {
136
136
  target: '_self',
137
137
  href: portal.url,
138
138
  active: currentPortal?.acronym == portal.acronym,
139
- iconActive: <CheckCircleFill aria-label={t.selected} />,
139
+ iconActive: <CheckCircleFill />,
140
140
  iconRight: portal.acronym !== currentPortal?.acronym ? <ArrowRight /> : undefined,
141
141
  }))}
142
142
  visible={visible}
@@ -9,8 +9,42 @@ const loadScript = () => new Promise<void>((resolve, reject) => {
9
9
  document.body.appendChild(script)
10
10
  })
11
11
 
12
- export function useRatingEffect() {
12
+ // Function to check if the difference between two dates is greater than 24 hours
13
+ function isMoreThan24Hours(date1: Date, date2: Date) {
14
+ // Get the timestamps of the dates
15
+ const timestamp1 = date1.getTime()
16
+ const timestamp2 = date2.getTime()
17
+
18
+ // Calculate the difference in milliseconds
19
+ const differenceInMilliseconds = Math.abs(timestamp2 - timestamp1)
20
+
21
+ // Convert milliseconds to hours
22
+ const differenceInHours = differenceInMilliseconds / (1000 * 60 * 60)
23
+
24
+ // Check if the difference is greater than 24 hours
25
+ return differenceInHours > 24
26
+ }
27
+
28
+ export function useRatingEffect(onOpenModal?: () => void) {
29
+ const verifyShowModal = () => {
30
+ const rateNpsItem = localStorage.getItem('rateNps')
31
+ const viewNpsItem = localStorage.getItem('viewNpsItem')
32
+ const shouldShow = viewNpsItem ? isMoreThan24Hours(new Date(+viewNpsItem), new Date(Date.now())) : true
33
+
34
+ setTimeout(() => {
35
+ if (!rateNpsItem && shouldShow) {
36
+ onOpenModal?.()
37
+ localStorage.setItem('viewNpsItem', Date.now().toString())
38
+ }
39
+ }, 3000)
40
+ }
41
+
42
+ const handleInit = async () => {
43
+ await loadScript()
44
+ verifyShowModal()
45
+ }
46
+
13
47
  useEffectOnce(() => {
14
- loadScript()
48
+ handleInit()
15
49
  })
16
50
  }
@@ -1,6 +1,7 @@
1
1
  import { Box, Flex } from '@citric/core'
2
2
  import { LoadingCircular } from '@citric/ui'
3
3
  import { useEffect, useState } from 'react'
4
+ import './on-nps-submit'
4
5
 
5
6
  interface Props {
6
7
  tfLive: string,
@@ -26,7 +27,7 @@ export const RateComponent = ({ tfLive, userId, orgId, portal }: Props) => {
26
27
  <Box sx={{ opacity: isLoading ? '0' : 1 }}>
27
28
  <div data-tf-live={tfLive}
28
29
  data-tf-hidden={`user_id=${userId},org_id=${orgId},portal_name=${portal}`}
29
- data-tf-open="time" data-tf-open-value="100" />
30
+ data-tf-open="time" data-tf-open-value="100" data-tf-on-submit="onNpsSubmit"/>
30
31
  </Box>
31
32
  </Box>)
32
33
  }
@@ -0,0 +1,14 @@
1
+ function onNpsSubmit(): void {
2
+ localStorage.setItem('rateNps', 'true')
3
+ }
4
+
5
+ export {}
6
+
7
+ // Attach the function to the window object
8
+ declare global {
9
+ interface Window {
10
+ onNpsSubmit: () => void,
11
+ }
12
+ }
13
+
14
+ window.onNpsSubmit = onNpsSubmit
@@ -0,0 +1,10 @@
1
+ import { overlay } from '../../LayoutOverlayManager'
2
+ import { RateComponent } from '.'
3
+
4
+ export const showRatingModal = (sub: string, tenant: string, portal: 'EDP' | 'AI', formIdentifier: string, title: string) => {
5
+ overlay.showModal({
6
+ title,
7
+ children: <RateComponent tfLive={formIdentifier} userId={sub} orgId={tenant} portal={portal} />,
8
+ size: 'large',
9
+ })
10
+ }
package/src/index.ts CHANGED
@@ -7,6 +7,7 @@ export { CLOSE_OVERLAY_ID, OverlayContent } from './components/OverlayContent'
7
7
  export { PortalSwitcher } from './components/PortalSwitcher'
8
8
  export { RateComponent } from './components/Rate'
9
9
  export { useRatingEffect } from './components/Rate/hook'
10
+ export { showRatingModal } from './components/Rate/show-rating-modal'
10
11
  export { RatePopover } from './components/Rate/RatePopover'
11
12
  export * from './components/tour'
12
13
  export * from './components/types'