@davi-ai/retorik-framework 3.2.0 → 3.2.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.
- package/dist/AttachmentDetail.1e06c2a5.js +1757 -0
- package/dist/AttachmentDetail.1e06c2a5.js.map +1 -0
- package/dist/AttachmentDetail.c6c297df.js +1732 -0
- package/dist/AttachmentDetail.c6c297df.js.map +1 -0
- package/dist/CustomView.080c8028.js +143 -0
- package/dist/CustomView.080c8028.js.map +1 -0
- package/dist/CustomView.90d2a13d.js +134 -0
- package/dist/CustomView.90d2a13d.js.map +1 -0
- package/dist/Emergency.423214ad.js +301 -0
- package/dist/Emergency.423214ad.js.map +1 -0
- package/dist/Emergency.a21f837c.js +292 -0
- package/dist/Emergency.a21f837c.js.map +1 -0
- package/dist/FullScreenImage.1fe27198.js +70 -0
- package/dist/FullScreenImage.1fe27198.js.map +1 -0
- package/dist/FullScreenImage.9a9b978e.js +83 -0
- package/dist/FullScreenImage.9a9b978e.js.map +1 -0
- package/dist/HistoryList.50ff0fd9.js +242 -0
- package/dist/HistoryList.50ff0fd9.js.map +1 -0
- package/dist/HistoryList.5fd6aa12.js +228 -0
- package/dist/HistoryList.5fd6aa12.js.map +1 -0
- package/dist/LanguageChoice.1579b654.js +125 -0
- package/dist/LanguageChoice.1579b654.js.map +1 -0
- package/dist/LanguageChoice.61e36c1d.js +116 -0
- package/dist/LanguageChoice.61e36c1d.js.map +1 -0
- package/dist/LittleWeatherContainer.07937cf3.js +57 -0
- package/dist/LittleWeatherContainer.07937cf3.js.map +1 -0
- package/dist/LittleWeatherContainer.d27a6b8a.js +44 -0
- package/dist/LittleWeatherContainer.d27a6b8a.js.map +1 -0
- package/dist/NewsContainer.67f04b19.js +730 -0
- package/dist/NewsContainer.67f04b19.js.map +1 -0
- package/dist/NewsContainer.932174e9.js +755 -0
- package/dist/NewsContainer.932174e9.js.map +1 -0
- package/dist/SpiritEngineWrapper.1d8db53d.js +82 -0
- package/dist/SpiritEngineWrapper.1d8db53d.js.map +1 -0
- package/dist/SpiritEngineWrapper.27e9c120.js +96 -0
- package/dist/SpiritEngineWrapper.27e9c120.js.map +1 -0
- package/dist/ThreeJsWrapper.09c689b8.js +141 -0
- package/dist/ThreeJsWrapper.09c689b8.js.map +1 -0
- package/dist/ThreeJsWrapper.7918143f.js +128 -0
- package/dist/ThreeJsWrapper.7918143f.js.map +1 -0
- package/dist/Weather.661c2cac.js +282 -0
- package/dist/Weather.661c2cac.js.map +1 -0
- package/dist/Weather.fb22fba3.js +268 -0
- package/dist/Weather.fb22fba3.js.map +1 -0
- package/dist/index.d.ts +69 -50
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23055 -23224
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +22278 -22376
- package/dist/index.modern.js.map +1 -1
- package/package.json +4 -36
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["src/components/Emergency/Emergency.tsx","src/components/Emergency/EmergencyContent.tsx"],"sourcesContent":["import React from 'react'\r\nimport { useUtilsStore } from '../Contexts/UtilsContext'\r\nimport { useViewStore } from '../Contexts/ViewContext'\r\nimport { useDirectlineStore } from '../Contexts/DirectlineContext'\r\nimport { CurrentSubView, Depth } from '../../models/enums'\r\nimport { FullScreen, SubMenuClosing } from '../Templates'\r\nimport AbsoluteLargeClosingButton from '../Utils/SubView/AbsoluteLargeClosingButton'\r\nimport { EmergencyContent } from './EmergencyContent'\r\n\r\ninterface EmergencyProps {\r\n handleClose?: () => void\r\n}\r\n\r\nconst Emergency = ({ handleClose }: EmergencyProps): JSX.Element => {\r\n const isMobile = useViewStore((state) => state.isMobile)\r\n const setCurrentSubView = useUtilsStore((state) => state.actions.setCurrentSubView)\r\n const sendEvent = useDirectlineStore((state) => state.actions.sendEvent)\r\n\r\n const handleBack = (): void => {\r\n handleClose ? handleClose() : setCurrentSubView(CurrentSubView.none)\r\n sendEvent('Davi.CloseWindow', null)\r\n sendEvent('Davi.CloseWindowEmergency', null)\r\n }\r\n\r\n return isMobile ? (\r\n <SubMenuClosing handleClose={handleBack} backIsConversation={false} className='rf-height-fill-available -rf-mb-4'>\r\n {/* Emergency data */}\r\n <EmergencyContent />\r\n </SubMenuClosing>\r\n ) : (\r\n <FullScreen depth={Depth.dropdown} background='linear-gradient(to right bottom, #F2F8F8FC , #F2E1E2E8)' onClick={handleBack}>\r\n <div className='rf-h-full rf-w-full rf-flex rf-flex-col rf-items-center rf-justify-center rf-gap-12'>\r\n {/* Emergency data */}\r\n <EmergencyContent />\r\n </div>\r\n\r\n {/* Closing button */}\r\n <AbsoluteLargeClosingButton dashboardVisible={true} onClick={handleBack} />\r\n </FullScreen>\r\n )\r\n}\r\n\r\nexport default Emergency\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { useRetorikStore } from '../Contexts/RetorikContext'\r\nimport { useViewStore } from '../Contexts/ViewContext'\r\nimport { useLocaleStore } from '../Contexts/LocaleContext'\r\nimport { fetchEmergencyData } from '../../utils/fetchEmergencyData'\r\nimport { EmergencyTypes } from '../../models/emergencyTypes'\r\nimport * as Icons from '../Icons/ViewIcons'\r\nimport { AvailableViews } from '../../models/enums'\r\nimport Animation2 from '../Loader/Animation2'\r\nimport preventEvents from '../../utils/preventEvents'\r\n\r\nconst subView = AvailableViews.emergency\r\n\r\nconst EmergencyContent = (): JSX.Element => {\r\n const baseAddress = useRetorikStore((state) => state.baseAddress)\r\n const translation = useLocaleStore((state) => state.currentTranslations)\r\n const isMobile = useViewStore((state) => state.isMobile)\r\n const isWidget = useViewStore((state) => state.isWidget)\r\n\r\n const [municipalPoliceNumber, setMunicipalPoliceNumber] = useState<string>('')\r\n const [localHospitalName, setLocalHospitalName] = useState<string>('')\r\n const [localHospitalNumber, setLocalHospitalNumber] = useState<string>('')\r\n const [poisonControlNumber, setPoisonControlNumber] = useState<string>('')\r\n const [loading, setLoading] = useState<boolean>(true)\r\n const divRef = useRef<HTMLDivElement>(null)\r\n\r\n useEffect(() => {\r\n if (divRef?.current) {\r\n isWidget && preventEvents(null, divRef)\r\n }\r\n }, [divRef?.current])\r\n\r\n useEffect(() => {\r\n const getData = async (): Promise<void> => {\r\n const data: EmergencyTypes = await fetchEmergencyData(baseAddress)\r\n if (data) {\r\n setMunicipalPoliceNumber(data.municipalPoliceNumber)\r\n setLocalHospitalName(data.localHospitalName)\r\n setLocalHospitalNumber(data.localHospitalNumber)\r\n setPoisonControlNumber(data.poisonControlNumber)\r\n }\r\n setLoading(false)\r\n }\r\n getData()\r\n }, [baseAddress])\r\n\r\n return (\r\n <>\r\n <div\r\n className={`rf-flex rf-flex-col rf-items-center ${\r\n isMobile\r\n ? 'rf-justify-center rf-gap-2'\r\n : 'rf-justify-end rf-flex-[2_1_0%] rf-gap-9'\r\n }`}\r\n >\r\n <Icons.EmergencyIcon className='rf-h-9 rf-w-9 large:rf-h-16 large:rf-w-16' />\r\n <h3 className='rf-text-verylarge-size-auto rf-font-bold rf-capitalize-first rf-text-center'>\r\n {translation.emergency[subView]}\r\n </h3>\r\n </div>\r\n <div\r\n ref={divRef}\r\n className='rf-w-full rf-flex rf-flex-col rf-items-center rf-flex-[4_1_0%] rf-justify-evenly rf-h-full rf-pt-2 rf-overflow-y-scroll rf-scrollbar-hidden'\r\n style={{\r\n background: isMobile\r\n ? 'transparent'\r\n : 'transparent linear-gradient(291deg, #F2F3F6 0%, #E5E6EC 100%) 0% 0% no-repeat padding-box',\r\n boxShadow: isMobile\r\n ? ''\r\n : '#ffff -3px -3px 16px, rgb(0 0 0 / 25%) 0px 2px 10px 0px'\r\n }}\r\n >\r\n {loading ? (\r\n <>\r\n <div className='rf-w-6 rf-h-6 rf-mb-16'>\r\n <Animation2\r\n color='gray'\r\n loaderColor='#1999b1'\r\n backgroundColor='transparent'\r\n />\r\n </div>\r\n </>\r\n ) : (\r\n <>\r\n <div\r\n className={`rf-w-full rf-grid ${\r\n isMobile\r\n ? 'rf-grid-cols-2 rf-gap-8 rf-mt-10 rf-mb-8'\r\n : 'rf-grid-cols-4 rf-divide-x'\r\n } `}\r\n style={{ padding: isMobile ? '' : '0 10%' }}\r\n >\r\n <div className='rf-flex rf-flex-col rf-items-center rf-gap-2'>\r\n <p className='rf-text-xl rf-font-bold rf-uppercase'>\r\n {translation.emergency.samu}\r\n </p>\r\n <p className='rf-text-5xl large:rf-text-6xl rf-font-bold'>15</p>\r\n </div>\r\n <div\r\n className={`rf-flex rf-flex-col rf-items-center ${\r\n isMobile ? '' : 'rf-border-l rf-border-[#C7C6C6]'\r\n } rf-gap-2`}\r\n >\r\n <p className='rf-text-xl rf-font-bold rf-uppercase'>\r\n {translation.emergency.police}\r\n </p>\r\n <p className='rf-text-5xl large:rf-text-6xl rf-font-bold'>17</p>\r\n </div>\r\n <div\r\n className={`rf-flex rf-flex-col rf-items-center ${\r\n isMobile ? '' : 'rf-border-l rf-border-[#C7C6C6]'\r\n } rf-gap-2`}\r\n >\r\n <p className='rf-text-xl rf-font-bold rf-uppercase'>\r\n {translation.emergency.firefighter}\r\n </p>\r\n <p className='rf-text-5xl large:rf-text-6xl rf-font-bold'>18</p>\r\n </div>\r\n <div\r\n className={`rf-flex rf-flex-col rf-items-center ${\r\n isMobile ? '' : 'rf-border-l rf-border-[#C7C6C6]'\r\n } rf-gap-2`}\r\n >\r\n <p className='rf-text-xl rf-font-bold rf-uppercase'>\r\n {translation.emergency.general}\r\n </p>\r\n <p className='rf-text-5xl large:rf-text-6xl rf-font-bold'>\r\n 112\r\n </p>\r\n </div>\r\n </div>\r\n <div\r\n className={`rf-flex rf-items-start ${\r\n isMobile ? 'rf-flex-col' : 'rf-gap-12'\r\n } `}\r\n >\r\n <div>\r\n {municipalPoliceNumber?.length && (\r\n <p className='rf-text-xl rf-py-2'>\r\n {`${translation.emergency.citypolice} : `}\r\n <span className='rf-font-bold'>\r\n {municipalPoliceNumber}\r\n </span>\r\n </p>\r\n )}\r\n <p className='rf-text-xl rf-py-2'>\r\n {`${translation.emergency.homeless} : `}\r\n <span className='rf-font-bold'>115</span>\r\n </p>\r\n <p className='rf-text-xl rf-py-2'>\r\n {`${translation.emergency.emergency} : `}\r\n <span className='rf-font-bold'>118</span>\r\n </p>\r\n </div>\r\n <div>\r\n {localHospitalName?.length && (\r\n <p className='rf-text-xl rf-py-2'>\r\n {`${translation.emergency.hospital} ${localHospitalName} : `}\r\n <span className='rf-font-bold'>{localHospitalNumber}</span>\r\n </p>\r\n )}\r\n {poisonControlNumber?.length && (\r\n <p className='rf-text-xl rf-py-2'>\r\n {`${translation.emergency.poison} : `}\r\n <span className='rf-font-bold'>{poisonControlNumber}</span>\r\n </p>\r\n )}\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n {!isMobile && <div className='rf-flex-1' />}\r\n </>\r\n )\r\n}\r\n\r\nexport { EmergencyContent }\r\n"],"names":[],"version":3,"file":"Emergency.a21f837c.js.map"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {jsx as $a58FO$jsx} from "react/jsx-runtime";
|
|
2
|
+
import $a58FO$react, {useState as $a58FO$useState, useEffect as $a58FO$useEffect} from "react";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
function $parcel$defineInteropFlag(a) {
|
|
6
|
+
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function $parcel$export(e, n, v, s) {
|
|
10
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
var $parcel$global = globalThis;
|
|
14
|
+
var parcelRequire = $parcel$global["parcelRequirea39d"];
|
|
15
|
+
var parcelRegister = parcelRequire.register;
|
|
16
|
+
parcelRegister("3WWDZ", function(module, exports) {
|
|
17
|
+
|
|
18
|
+
$parcel$defineInteropFlag(module.exports);
|
|
19
|
+
|
|
20
|
+
$parcel$export(module.exports, "default", () => $0c86a937529a81b6$export$2e2bcd8739ae039);
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
var $2fuDN = parcelRequire("2fuDN");
|
|
25
|
+
|
|
26
|
+
var $i1rfm = parcelRequire("i1rfm");
|
|
27
|
+
|
|
28
|
+
var $1Qww3 = parcelRequire("1Qww3");
|
|
29
|
+
|
|
30
|
+
var $j67YK = parcelRequire("j67YK");
|
|
31
|
+
|
|
32
|
+
var $4ucVo = parcelRequire("4ucVo");
|
|
33
|
+
|
|
34
|
+
var $284yi = parcelRequire("284yi");
|
|
35
|
+
|
|
36
|
+
var $lj7lQ = parcelRequire("lj7lQ");
|
|
37
|
+
const $0c86a937529a81b6$var$FullScreenImage = ()=>{
|
|
38
|
+
const translation = (0, $2fuDN.useLocaleStore)((state)=>state.currentTranslations);
|
|
39
|
+
const fullScreenImage = (0, $284yi.default)();
|
|
40
|
+
const setFullScreenImage = (0, $j67YK.useUtilsStore)((state)=>state.actions.setFullScreenImage);
|
|
41
|
+
const mode = (0, $i1rfm.useSpeechStore)((state)=>state.mode);
|
|
42
|
+
const isMobile = (0, $1Qww3.useViewStore)((state)=>state.isMobile);
|
|
43
|
+
const [content, setContent] = (0, $a58FO$useState)();
|
|
44
|
+
(0, $a58FO$useEffect)(()=>{
|
|
45
|
+
setContent(fullScreenImage);
|
|
46
|
+
}, [
|
|
47
|
+
fullScreenImage
|
|
48
|
+
]);
|
|
49
|
+
const handleClose = ()=>{
|
|
50
|
+
setFullScreenImage(undefined);
|
|
51
|
+
};
|
|
52
|
+
return content ? /*#__PURE__*/ (0, $a58FO$jsx)((0, $lj7lQ.default), {
|
|
53
|
+
handleClose: handleClose,
|
|
54
|
+
remoteCloseButtonZIndex: "rf-z-list",
|
|
55
|
+
mobileReturnTitle: translation.menu.backconversation,
|
|
56
|
+
children: /*#__PURE__*/ (0, $a58FO$jsx)("div", {
|
|
57
|
+
className: `rf-h-full rf-w-full ${isMobile ? mode === (0, $4ucVo.Mode).text ? 'rf-mb-28' : 'rf-mb-16' : 'rf-pt-12'} rf-px-8 rf-pb-12 rf-flex rf-justify-center rf-items-center`,
|
|
58
|
+
children: /*#__PURE__*/ (0, $a58FO$jsx)("img", {
|
|
59
|
+
className: "rf-max-h-full rf-max-w-full",
|
|
60
|
+
src: content
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
}) : /*#__PURE__*/ (0, $a58FO$jsx)((0, $a58FO$react).Fragment, {});
|
|
64
|
+
};
|
|
65
|
+
var $0c86a937529a81b6$export$2e2bcd8739ae039 = $0c86a937529a81b6$var$FullScreenImage;
|
|
66
|
+
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=FullScreenImage.1fe27198.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,wCAAkB;IACtB,MAAM,cAAc,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,mBAAmB;IACvE,MAAM,kBAAkB,CAAA,GAAA,cAAiB;IACzC,MAAM,qBAAqB,CAAA,GAAA,oBAAY,EACrC,CAAC,QAAU,MAAM,OAAO,CAAC,kBAAkB;IAE7C,MAAM,OAAO,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,IAAI;IACjD,MAAM,WAAW,CAAA,GAAA,mBAAW,EAAE,CAAC,QAAU,MAAM,QAAQ;IACvD,MAAM,CAAC,SAAS,WAAW,GAAG,CAAA,GAAA,eAAO;IAErC,CAAA,GAAA,gBAAQ,EAAE;QACR,WAAW;IACb,GAAG;QAAC;KAAgB;IAEpB,MAAM,cAAc;QAClB,mBAAmB;IACrB;IAEA,OAAO,wBACL,gBAAC,CAAA,GAAA,cAAO;QACN,aAAa;QACb,yBAAwB;QACxB,mBAAmB,YAAY,IAAI,CAAC,gBAAgB;kBAEpD,cAAA,gBAAC;YACC,WAAW,CAAC,oBAAoB,EAC9B,WAAY,SAAS,CAAA,GAAA,WAAG,EAAE,IAAI,GAAG,aAAa,aAAc,WAC7D,2DAA2D,CAAC;sBAE7D,cAAA,gBAAC;gBAAI,WAAU;gBAA8B,KAAK;;;uBAItD,gBAAC,CAAA,GAAA,YAAI,EAAE,QAAQ;AAEnB;IAEA,2CAAe","sources":["src/components/Attachments/Utils/FullScreenImage.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport { useLocaleStore } from '../../Contexts/LocaleContext'\r\nimport { useSpeechStore } from '../../Contexts/SpeechContext'\r\nimport { useViewStore } from '../../Contexts/ViewContext'\r\nimport { useUtilsStore } from '../../Contexts/UtilsContext'\r\nimport { Mode } from '../../../models/enums'\r\nimport useFullscreenImage from '../../../hooks/useFullscreenImage'\r\nimport Template from '../../Templates/FullScreenRemoteClosing'\r\n\r\nconst FullScreenImage = (): JSX.Element => {\r\n const translation = useLocaleStore((state) => state.currentTranslations)\r\n const fullScreenImage = useFullscreenImage()\r\n const setFullScreenImage = useUtilsStore(\r\n (state) => state.actions.setFullScreenImage\r\n )\r\n const mode = useSpeechStore((state) => state.mode)\r\n const isMobile = useViewStore((state) => state.isMobile)\r\n const [content, setContent] = useState<string | undefined>()\r\n\r\n useEffect(() => {\r\n setContent(fullScreenImage)\r\n }, [fullScreenImage])\r\n\r\n const handleClose = (): void => {\r\n setFullScreenImage(undefined)\r\n }\r\n\r\n return content ? (\r\n <Template\r\n handleClose={handleClose}\r\n remoteCloseButtonZIndex='rf-z-list'\r\n mobileReturnTitle={translation.menu.backconversation}\r\n >\r\n <div\r\n className={`rf-h-full rf-w-full ${\r\n isMobile ? (mode === Mode.text ? 'rf-mb-28' : 'rf-mb-16') : 'rf-pt-12'\r\n } rf-px-8 rf-pb-12 rf-flex rf-justify-center rf-items-center`}\r\n >\r\n <img className='rf-max-h-full rf-max-w-full' src={content} />\r\n </div>\r\n </Template>\r\n ) : (\r\n <React.Fragment />\r\n )\r\n}\r\n\r\nexport default FullScreenImage\r\n"],"names":[],"version":3,"file":"FullScreenImage.1fe27198.js.map"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
var $igvUb$reactjsxruntime = require("react/jsx-runtime");
|
|
2
|
+
var $igvUb$react = require("react");
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
function $parcel$interopDefault(a) {
|
|
6
|
+
return a && a.__esModule ? a.default : a;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function $parcel$defineInteropFlag(a) {
|
|
10
|
+
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function $parcel$export(e, n, v, s) {
|
|
14
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
var $parcel$global =
|
|
18
|
+
typeof globalThis !== 'undefined'
|
|
19
|
+
? globalThis
|
|
20
|
+
: typeof self !== 'undefined'
|
|
21
|
+
? self
|
|
22
|
+
: typeof window !== 'undefined'
|
|
23
|
+
? window
|
|
24
|
+
: typeof global !== 'undefined'
|
|
25
|
+
? global
|
|
26
|
+
: {};
|
|
27
|
+
var parcelRequire = $parcel$global["parcelRequirea39d"];
|
|
28
|
+
var parcelRegister = parcelRequire.register;
|
|
29
|
+
parcelRegister("dBnN6", function(module, exports) {
|
|
30
|
+
|
|
31
|
+
$parcel$defineInteropFlag(module.exports);
|
|
32
|
+
|
|
33
|
+
$parcel$export(module.exports, "default", () => $29a469608f79fe1f$export$2e2bcd8739ae039);
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
var $6Q0mk = parcelRequire("6Q0mk");
|
|
38
|
+
|
|
39
|
+
var $jgaO0 = parcelRequire("jgaO0");
|
|
40
|
+
|
|
41
|
+
var $kUiCn = parcelRequire("kUiCn");
|
|
42
|
+
|
|
43
|
+
var $7eio0 = parcelRequire("7eio0");
|
|
44
|
+
|
|
45
|
+
var $7WHA7 = parcelRequire("7WHA7");
|
|
46
|
+
|
|
47
|
+
var $8iLoV = parcelRequire("8iLoV");
|
|
48
|
+
|
|
49
|
+
var $j2phc = parcelRequire("j2phc");
|
|
50
|
+
const $29a469608f79fe1f$var$FullScreenImage = ()=>{
|
|
51
|
+
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
52
|
+
const fullScreenImage = (0, $8iLoV.default)();
|
|
53
|
+
const setFullScreenImage = (0, $7eio0.useUtilsStore)((state)=>state.actions.setFullScreenImage);
|
|
54
|
+
const mode = (0, $jgaO0.useSpeechStore)((state)=>state.mode);
|
|
55
|
+
const isMobile = (0, $kUiCn.useViewStore)((state)=>state.isMobile);
|
|
56
|
+
const [content, setContent] = (0, $igvUb$react.useState)();
|
|
57
|
+
(0, $igvUb$react.useEffect)(()=>{
|
|
58
|
+
setContent(fullScreenImage);
|
|
59
|
+
}, [
|
|
60
|
+
fullScreenImage
|
|
61
|
+
]);
|
|
62
|
+
const handleClose = ()=>{
|
|
63
|
+
setFullScreenImage(undefined);
|
|
64
|
+
};
|
|
65
|
+
return content ? /*#__PURE__*/ (0, $igvUb$reactjsxruntime.jsx)((0, $j2phc.default), {
|
|
66
|
+
handleClose: handleClose,
|
|
67
|
+
remoteCloseButtonZIndex: "rf-z-list",
|
|
68
|
+
mobileReturnTitle: translation.menu.backconversation,
|
|
69
|
+
children: /*#__PURE__*/ (0, $igvUb$reactjsxruntime.jsx)("div", {
|
|
70
|
+
className: `rf-h-full rf-w-full ${isMobile ? mode === (0, $7WHA7.Mode).text ? 'rf-mb-28' : 'rf-mb-16' : 'rf-pt-12'} rf-px-8 rf-pb-12 rf-flex rf-justify-center rf-items-center`,
|
|
71
|
+
children: /*#__PURE__*/ (0, $igvUb$reactjsxruntime.jsx)("img", {
|
|
72
|
+
className: "rf-max-h-full rf-max-w-full",
|
|
73
|
+
src: content
|
|
74
|
+
})
|
|
75
|
+
})
|
|
76
|
+
}) : /*#__PURE__*/ (0, $igvUb$reactjsxruntime.jsx)((0, ($parcel$interopDefault($igvUb$react))).Fragment, {});
|
|
77
|
+
};
|
|
78
|
+
var $29a469608f79fe1f$export$2e2bcd8739ae039 = $29a469608f79fe1f$var$FullScreenImage;
|
|
79
|
+
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=FullScreenImage.9a9b978e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,wCAAkB;IACtB,MAAM,cAAc,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,mBAAmB;IACvE,MAAM,kBAAkB,CAAA,GAAA,cAAiB;IACzC,MAAM,qBAAqB,CAAA,GAAA,oBAAY,EACrC,CAAC,QAAU,MAAM,OAAO,CAAC,kBAAkB;IAE7C,MAAM,OAAO,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,IAAI;IACjD,MAAM,WAAW,CAAA,GAAA,mBAAW,EAAE,CAAC,QAAU,MAAM,QAAQ;IACvD,MAAM,CAAC,SAAS,WAAW,GAAG,CAAA,GAAA,qBAAO;IAErC,CAAA,GAAA,sBAAQ,EAAE;QACR,WAAW;IACb,GAAG;QAAC;KAAgB;IAEpB,MAAM,cAAc;QAClB,mBAAmB;IACrB;IAEA,OAAO,wBACL,gCAAC,CAAA,GAAA,cAAO;QACN,aAAa;QACb,yBAAwB;QACxB,mBAAmB,YAAY,IAAI,CAAC,gBAAgB;kBAEpD,cAAA,gCAAC;YACC,WAAW,CAAC,oBAAoB,EAC9B,WAAY,SAAS,CAAA,GAAA,WAAG,EAAE,IAAI,GAAG,aAAa,aAAc,WAC7D,2DAA2D,CAAC;sBAE7D,cAAA,gCAAC;gBAAI,WAAU;gBAA8B,KAAK;;;uBAItD,gCAAC,CAAA,GAAA,sCAAI,EAAE,QAAQ;AAEnB;IAEA,2CAAe","sources":["src/components/Attachments/Utils/FullScreenImage.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport { useLocaleStore } from '../../Contexts/LocaleContext'\r\nimport { useSpeechStore } from '../../Contexts/SpeechContext'\r\nimport { useViewStore } from '../../Contexts/ViewContext'\r\nimport { useUtilsStore } from '../../Contexts/UtilsContext'\r\nimport { Mode } from '../../../models/enums'\r\nimport useFullscreenImage from '../../../hooks/useFullscreenImage'\r\nimport Template from '../../Templates/FullScreenRemoteClosing'\r\n\r\nconst FullScreenImage = (): JSX.Element => {\r\n const translation = useLocaleStore((state) => state.currentTranslations)\r\n const fullScreenImage = useFullscreenImage()\r\n const setFullScreenImage = useUtilsStore(\r\n (state) => state.actions.setFullScreenImage\r\n )\r\n const mode = useSpeechStore((state) => state.mode)\r\n const isMobile = useViewStore((state) => state.isMobile)\r\n const [content, setContent] = useState<string | undefined>()\r\n\r\n useEffect(() => {\r\n setContent(fullScreenImage)\r\n }, [fullScreenImage])\r\n\r\n const handleClose = (): void => {\r\n setFullScreenImage(undefined)\r\n }\r\n\r\n return content ? (\r\n <Template\r\n handleClose={handleClose}\r\n remoteCloseButtonZIndex='rf-z-list'\r\n mobileReturnTitle={translation.menu.backconversation}\r\n >\r\n <div\r\n className={`rf-h-full rf-w-full ${\r\n isMobile ? (mode === Mode.text ? 'rf-mb-28' : 'rf-mb-16') : 'rf-pt-12'\r\n } rf-px-8 rf-pb-12 rf-flex rf-justify-center rf-items-center`}\r\n >\r\n <img className='rf-max-h-full rf-max-w-full' src={content} />\r\n </div>\r\n </Template>\r\n ) : (\r\n <React.Fragment />\r\n )\r\n}\r\n\r\nexport default FullScreenImage\r\n"],"names":[],"version":3,"file":"FullScreenImage.9a9b978e.js.map","sourceRoot":"../"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
var $3sjcq$reactjsxruntime = require("react/jsx-runtime");
|
|
2
|
+
var $3sjcq$react = require("react");
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
function $parcel$defineInteropFlag(a) {
|
|
6
|
+
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function $parcel$export(e, n, v, s) {
|
|
10
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function $parcel$interopDefault(a) {
|
|
14
|
+
return a && a.__esModule ? a.default : a;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
var $parcel$global =
|
|
18
|
+
typeof globalThis !== 'undefined'
|
|
19
|
+
? globalThis
|
|
20
|
+
: typeof self !== 'undefined'
|
|
21
|
+
? self
|
|
22
|
+
: typeof window !== 'undefined'
|
|
23
|
+
? window
|
|
24
|
+
: typeof global !== 'undefined'
|
|
25
|
+
? global
|
|
26
|
+
: {};
|
|
27
|
+
var parcelRequire = $parcel$global["parcelRequirea39d"];
|
|
28
|
+
var parcelRegister = parcelRequire.register;
|
|
29
|
+
parcelRegister("1TROp", function(module, exports) {
|
|
30
|
+
|
|
31
|
+
$parcel$defineInteropFlag(module.exports);
|
|
32
|
+
|
|
33
|
+
$parcel$export(module.exports, "default", () => $4c0e94df62fa6718$export$2e2bcd8739ae039);
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
var $kUiCn = parcelRequire("kUiCn");
|
|
38
|
+
|
|
39
|
+
var $6Q0mk = parcelRequire("6Q0mk");
|
|
40
|
+
|
|
41
|
+
var $7eio0 = parcelRequire("7eio0");
|
|
42
|
+
|
|
43
|
+
var $6QoTL = parcelRequire("6QoTL");
|
|
44
|
+
|
|
45
|
+
var $aF2dz = parcelRequire("aF2dz");
|
|
46
|
+
|
|
47
|
+
var $a3uH3 = parcelRequire("a3uH3");
|
|
48
|
+
|
|
49
|
+
var $bco44 = parcelRequire("bco44");
|
|
50
|
+
|
|
51
|
+
var $7WHA7 = parcelRequire("7WHA7");
|
|
52
|
+
|
|
53
|
+
var $1XMvi = parcelRequire("1XMvi");
|
|
54
|
+
const $4c0e94df62fa6718$var$HistoryList = ()=>{
|
|
55
|
+
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
56
|
+
const isWidget = (0, $kUiCn.useViewStore)((state)=>state.isWidget);
|
|
57
|
+
const isBorne = (0, $kUiCn.useViewStore)((state)=>state.isBorne);
|
|
58
|
+
const setCurrentSubView = (0, $7eio0.useUtilsStore)((state)=>state.actions.setCurrentSubView);
|
|
59
|
+
const sendEvent = (0, $6QoTL.useDirectlineStore)((state)=>state.actions.sendEvent);
|
|
60
|
+
const activities = (0, $aF2dz.default)();
|
|
61
|
+
const scrollRef = (0, $3sjcq$react.useRef)(null);
|
|
62
|
+
const divRef = (0, $3sjcq$react.useRef)(null);
|
|
63
|
+
/**
|
|
64
|
+
* On call :
|
|
65
|
+
* - scroll to the scrollRef HTML element at the bottom of the view
|
|
66
|
+
*/ const scrollToRef = ()=>{
|
|
67
|
+
if (scrollRef && scrollRef.current !== null) scrollRef.current.scrollIntoView({
|
|
68
|
+
behavior: 'smooth',
|
|
69
|
+
block: 'nearest'
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* On component mount :
|
|
74
|
+
* - call scrollToRef method
|
|
75
|
+
*/ (0, $3sjcq$react.useEffect)(()=>{
|
|
76
|
+
setTimeout(()=>{
|
|
77
|
+
scrollToRef();
|
|
78
|
+
}, 200);
|
|
79
|
+
}, []);
|
|
80
|
+
(0, $3sjcq$react.useEffect)(()=>{
|
|
81
|
+
(divRef === null || divRef === void 0 ? void 0 : divRef.current) && isWidget && (0, $1XMvi.default)(null, divRef);
|
|
82
|
+
}, [
|
|
83
|
+
divRef === null || divRef === void 0 ? void 0 : divRef.current
|
|
84
|
+
]);
|
|
85
|
+
const handleClose = ()=>{
|
|
86
|
+
setCurrentSubView((0, $7WHA7.CurrentSubView).none);
|
|
87
|
+
sendEvent('Davi.CloseWindow', null);
|
|
88
|
+
sendEvent('Davi.CloseWindowHistory', null);
|
|
89
|
+
};
|
|
90
|
+
return /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsx)((0, $a3uH3.SubMenuClosing), {
|
|
91
|
+
handleClose: handleClose,
|
|
92
|
+
backIsConversation: true,
|
|
93
|
+
title: translation.history.title,
|
|
94
|
+
children: /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsxs)("div", {
|
|
95
|
+
ref: divRef,
|
|
96
|
+
className: `rf-pb-4 rf-overflow-y-scroll ${isBorne ? 'rf-scrollbar-thin' : 'rf-scrollbar-hidden'}`,
|
|
97
|
+
children: [
|
|
98
|
+
activities.map((activity, key)=>{
|
|
99
|
+
return /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsx)((0, $bco44.default), {
|
|
100
|
+
activity: activity
|
|
101
|
+
}, key);
|
|
102
|
+
}),
|
|
103
|
+
/*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsx)("div", {
|
|
104
|
+
ref: scrollRef
|
|
105
|
+
})
|
|
106
|
+
]
|
|
107
|
+
})
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
var $4c0e94df62fa6718$export$2e2bcd8739ae039 = $4c0e94df62fa6718$var$HistoryList;
|
|
111
|
+
|
|
112
|
+
});
|
|
113
|
+
parcelRegister("aF2dz", function(module, exports) {
|
|
114
|
+
|
|
115
|
+
$parcel$export(module.exports, "default", () => $0a0255973b22d31f$export$2e2bcd8739ae039);
|
|
116
|
+
|
|
117
|
+
var $3Loqo = parcelRequire("3Loqo");
|
|
118
|
+
|
|
119
|
+
var $e53vj = parcelRequire("e53vj");
|
|
120
|
+
function $0a0255973b22d31f$export$2e2bcd8739ae039() {
|
|
121
|
+
const activities = (0, $e53vj.useActivityStore)((state)=>state.messageActivities);
|
|
122
|
+
// processedId contains the ids of the activities already processed (because useActivities gives duplicate activities with different state depending on if it's been spoken or not )
|
|
123
|
+
const processedId = [];
|
|
124
|
+
const history = [];
|
|
125
|
+
activities.forEach((activity)=>{
|
|
126
|
+
if (activity.id && !processedId.includes(activity.id)) {
|
|
127
|
+
processedId.push(activity.id);
|
|
128
|
+
// Check if this is a question or an answer (questions from the user don't have a replyToId field)
|
|
129
|
+
if (activity.replyToId) {
|
|
130
|
+
const question = history.find((historyItem)=>historyItem.question.id === activity.replyToId);
|
|
131
|
+
if (question) question.answers.push(activity);
|
|
132
|
+
else {
|
|
133
|
+
const newQuestion = (0, $3Loqo.createNewQuestionForTimestamp)(activity);
|
|
134
|
+
history.push({
|
|
135
|
+
question: newQuestion,
|
|
136
|
+
answers: [
|
|
137
|
+
activity
|
|
138
|
+
]
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
} else if (activity.label === 'Davi.BringupMessage' && activity.text) {
|
|
142
|
+
const newQuestion = (0, $3Loqo.createNewQuestionForTimestamp)(activity);
|
|
143
|
+
history.push({
|
|
144
|
+
question: newQuestion,
|
|
145
|
+
answers: [
|
|
146
|
+
activity
|
|
147
|
+
]
|
|
148
|
+
});
|
|
149
|
+
} else history.push({
|
|
150
|
+
question: activity,
|
|
151
|
+
answers: []
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
return history;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
parcelRegister("bco44", function(module, exports) {
|
|
161
|
+
|
|
162
|
+
$parcel$export(module.exports, "default", () => $9e5ad86f0a7e1d05$export$2e2bcd8739ae039);
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
var $erbwO = parcelRequire("erbwO");
|
|
167
|
+
const $9e5ad86f0a7e1d05$var$HistoryItem = ({ activity: activity })=>{
|
|
168
|
+
return /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsxs)("div", {
|
|
169
|
+
className: "rf-mb-4 rf-flex rf-flex-col rf-justify-start rf-items-start rf-gap-4 rf-text-size-auto",
|
|
170
|
+
children: [
|
|
171
|
+
(activity === null || activity === void 0 ? void 0 : activity.question) && activity.question.type === 'message' && /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsx)((0, $erbwO.default), {
|
|
172
|
+
activity: activity.question,
|
|
173
|
+
isQuestion: true
|
|
174
|
+
}),
|
|
175
|
+
activity.answers.map((answer, j)=>{
|
|
176
|
+
return answer.type === 'message' ? /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsx)((0, $erbwO.default), {
|
|
177
|
+
activity: answer,
|
|
178
|
+
isQuestion: false
|
|
179
|
+
}, j) : /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsx)((0, ($parcel$interopDefault($3sjcq$react))).Fragment, {});
|
|
180
|
+
})
|
|
181
|
+
]
|
|
182
|
+
});
|
|
183
|
+
};
|
|
184
|
+
var $9e5ad86f0a7e1d05$export$2e2bcd8739ae039 = $9e5ad86f0a7e1d05$var$HistoryItem;
|
|
185
|
+
|
|
186
|
+
});
|
|
187
|
+
parcelRegister("erbwO", function(module, exports) {
|
|
188
|
+
|
|
189
|
+
$parcel$export(module.exports, "default", () => $db601f65e25709db$export$2e2bcd8739ae039);
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
var $6Q0mk = parcelRequire("6Q0mk");
|
|
194
|
+
|
|
195
|
+
var $kUiCn = parcelRequire("kUiCn");
|
|
196
|
+
|
|
197
|
+
var $lr5yz = parcelRequire("lr5yz");
|
|
198
|
+
|
|
199
|
+
var $eXl5q = parcelRequire("eXl5q");
|
|
200
|
+
const $db601f65e25709db$var$HistoryQA = ({ activity: activity, isQuestion: isQuestion })=>{
|
|
201
|
+
var _activity_attachments, _activity_attachments1;
|
|
202
|
+
const locale = (0, $6Q0mk.useLocaleStore)((state)=>state.locale);
|
|
203
|
+
const isMobile = (0, $kUiCn.useViewStore)((state)=>state.isMobile);
|
|
204
|
+
const time = activity.localTimestamp ? new Date(activity.localTimestamp) : activity.timestamp ? new Date(activity.timestamp) : new Date();
|
|
205
|
+
return activity.text || !!((_activity_attachments = activity.attachments) === null || _activity_attachments === void 0 ? void 0 : _activity_attachments.length) ? /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsxs)("div", {
|
|
206
|
+
className: `${isMobile ? 'rf-w-full' : 'rf-max-w-full'} rf-flex rf-flex-col rf-gap-1`,
|
|
207
|
+
children: [
|
|
208
|
+
/*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsx)("div", {
|
|
209
|
+
className: "rf-text-[#9A9A9A]",
|
|
210
|
+
children: time.toLocaleString(locale, {
|
|
211
|
+
hour: 'numeric',
|
|
212
|
+
minute: 'numeric'
|
|
213
|
+
})
|
|
214
|
+
}),
|
|
215
|
+
/*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsxs)("div", {
|
|
216
|
+
className: `${isQuestion ? 'rf-text-secondary' : 'rf-text-textModePanelConversationBot'}`,
|
|
217
|
+
children: [
|
|
218
|
+
activity.htmlText ? /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsx)("div", {
|
|
219
|
+
dangerouslySetInnerHTML: {
|
|
220
|
+
__html: activity.htmlText
|
|
221
|
+
}
|
|
222
|
+
}) : activity.text ? (0, $lr5yz.getTextWithoutSpeechMarkdown)(activity.text) : '',
|
|
223
|
+
!!((_activity_attachments1 = activity.attachments) === null || _activity_attachments1 === void 0 ? void 0 : _activity_attachments1.length) && !(activity.attachmentLayout && activity.attachmentLayout.toLowerCase() === 'davilist') && /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsx)("div", {
|
|
224
|
+
className: `rf-w-full rf-min-h-16 rf-overflow-x-hidden rf-overflow-y-auto ${activity.text && 'rf-pt-4'}`,
|
|
225
|
+
children: /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsx)((0, $eXl5q.default), {
|
|
226
|
+
activity: activity,
|
|
227
|
+
history: true
|
|
228
|
+
})
|
|
229
|
+
})
|
|
230
|
+
]
|
|
231
|
+
})
|
|
232
|
+
]
|
|
233
|
+
}) : /*#__PURE__*/ (0, $3sjcq$reactjsxruntime.jsx)((0, ($parcel$interopDefault($3sjcq$react))).Fragment, {});
|
|
234
|
+
};
|
|
235
|
+
var $db601f65e25709db$export$2e2bcd8739ae039 = $db601f65e25709db$var$HistoryQA;
|
|
236
|
+
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
//# sourceMappingURL=HistoryList.50ff0fd9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["src/components/History/HistoryList.tsx","src/hooks/useMessageActivities.ts","src/components/History/HistoryItem.tsx","src/components/History/HistoryQA.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\r\nimport { useViewStore } from '../Contexts/ViewContext'\r\nimport { useLocaleStore } from '../Contexts/LocaleContext'\r\nimport { useUtilsStore } from '../Contexts/UtilsContext'\r\nimport { useDirectlineStore } from '../Contexts/DirectlineContext'\r\nimport useMessageActivities from '../../hooks/useMessageActivities'\r\nimport { SubMenuClosing as Template } from '../Templates'\r\nimport HistoryItem from './HistoryItem'\r\nimport { CurrentSubView } from '../../models/enums'\r\nimport preventEvents from '../../utils/preventEvents'\r\n\r\nconst HistoryList = (): JSX.Element => {\r\n const translation = useLocaleStore((state) => state.currentTranslations)\r\n const isWidget = useViewStore((state) => state.isWidget)\r\n const isBorne = useViewStore((state) => state.isBorne)\r\n const setCurrentSubView = useUtilsStore((state) => state.actions.setCurrentSubView)\r\n const sendEvent = useDirectlineStore((state) => state.actions.sendEvent)\r\n\r\n const activities = useMessageActivities()\r\n const scrollRef = useRef<HTMLDivElement>(null)\r\n const divRef = useRef<HTMLDivElement>(null)\r\n\r\n /**\r\n * On call :\r\n * - scroll to the scrollRef HTML element at the bottom of the view\r\n */\r\n const scrollToRef = (): void => {\r\n if (scrollRef && scrollRef.current !== null) {\r\n scrollRef.current.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'nearest'\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * On component mount :\r\n * - call scrollToRef method\r\n */\r\n useEffect(() => {\r\n setTimeout(() => {\r\n scrollToRef()\r\n }, 200)\r\n }, [])\r\n\r\n useEffect(() => {\r\n divRef?.current && isWidget && preventEvents(null, divRef)\r\n }, [divRef?.current])\r\n\r\n const handleClose = (): void => {\r\n setCurrentSubView(CurrentSubView.none)\r\n sendEvent('Davi.CloseWindow', null)\r\n sendEvent('Davi.CloseWindowHistory', null)\r\n }\r\n\r\n return (\r\n <Template handleClose={handleClose} backIsConversation={true} title={translation.history.title}>\r\n <div ref={divRef} className={`rf-pb-4 rf-overflow-y-scroll ${isBorne ? 'rf-scrollbar-thin' : 'rf-scrollbar-hidden'}`}>\r\n {/* History items */}\r\n {activities.map((activity, key) => {\r\n return <HistoryItem key={key} activity={activity} />\r\n })}\r\n <div ref={scrollRef} />\r\n </div>\r\n </Template>\r\n )\r\n}\r\n\r\nexport default HistoryList\r\n","import type { HistoryActivity, RetorikActivity } from '../models/activityTypes'\r\nimport { createNewQuestionForTimestamp } from '../utils/activityUtils'\r\nimport { useActivityStore } from '../components/Contexts/ActivityContext'\r\n\r\nexport default function useMessageActivities(): Array<HistoryActivity> {\r\n const activities = useActivityStore((state) => state.messageActivities)\r\n // processedId contains the ids of the activities already processed (because useActivities gives duplicate activities with different state depending on if it's been spoken or not )\r\n const processedId: Array<string> = []\r\n const history: HistoryActivity[] = []\r\n\r\n activities.forEach((activity) => {\r\n if (activity.id && !processedId.includes(activity.id)) {\r\n processedId.push(activity.id)\r\n // Check if this is a question or an answer (questions from the user don't have a replyToId field)\r\n if (activity.replyToId) {\r\n const question: HistoryActivity | undefined = history.find(\r\n (historyItem) => historyItem.question.id === activity.replyToId\r\n )\r\n if (question) {\r\n question.answers.push(activity)\r\n } else {\r\n const newQuestion: RetorikActivity =\r\n createNewQuestionForTimestamp(activity)\r\n\r\n history.push({\r\n question: newQuestion,\r\n answers: [activity]\r\n })\r\n }\r\n } else {\r\n if (\r\n (activity as RetorikActivity).label === 'Davi.BringupMessage' &&\r\n (activity as RetorikActivity).text\r\n ) {\r\n const newQuestion: RetorikActivity =\r\n createNewQuestionForTimestamp(activity)\r\n history.push({\r\n question: newQuestion,\r\n answers: [activity]\r\n })\r\n } else {\r\n history.push({\r\n question: activity,\r\n answers: []\r\n })\r\n }\r\n }\r\n }\r\n })\r\n\r\n return history\r\n}\r\n","import React from 'react'\r\nimport type { HistoryActivity } from '../../models/activityTypes'\r\nimport HistoryQA from './HistoryQA'\r\n\r\ninterface HistoryItemProps {\r\n activity: HistoryActivity\r\n}\r\n\r\nconst HistoryItem = ({ activity }: HistoryItemProps): JSX.Element => {\r\n return (\r\n <div className='rf-mb-4 rf-flex rf-flex-col rf-justify-start rf-items-start rf-gap-4 rf-text-size-auto'>\r\n {/* Question */}\r\n {activity?.question && activity.question.type === 'message' && (\r\n <HistoryQA activity={activity.question} isQuestion={true} />\r\n )}\r\n\r\n {/* Answers */}\r\n {activity.answers.map((answer, j) => {\r\n return answer.type === 'message' ? (\r\n <HistoryQA key={j} activity={answer} isQuestion={false} />\r\n ) : (\r\n <React.Fragment />\r\n )\r\n })}\r\n </div>\r\n )\r\n}\r\n\r\nexport default HistoryItem\r\n","import React from 'react'\r\nimport { useLocaleStore } from '../Contexts/LocaleContext'\r\nimport { useViewStore } from '../Contexts/ViewContext'\r\nimport type { RetorikActivity } from '../../models/activityTypes'\r\nimport { getTextWithoutSpeechMarkdown } from '../../utils/speechMarkdownUtils'\r\nimport Attachments from '../Attachments/Attachments'\r\n\r\ninterface HistoryQAProps {\r\n activity: RetorikActivity\r\n isQuestion: boolean\r\n}\r\n\r\nconst HistoryQA = ({ activity, isQuestion }: HistoryQAProps): JSX.Element => {\r\n const locale = useLocaleStore((state) => state.locale)\r\n const isMobile = useViewStore((state) => state.isMobile)\r\n const time = activity.localTimestamp\r\n ? new Date(activity.localTimestamp)\r\n : activity.timestamp\r\n ? new Date(activity.timestamp)\r\n : new Date()\r\n\r\n return activity.text || !!activity.attachments?.length ? (\r\n <div\r\n className={`${\r\n isMobile ? 'rf-w-full' : 'rf-max-w-full'\r\n } rf-flex rf-flex-col rf-gap-1`}\r\n >\r\n {/* Time */}\r\n <div className='rf-text-[#9A9A9A]'>\r\n {time.toLocaleString(locale, {\r\n hour: 'numeric',\r\n minute: 'numeric'\r\n })}\r\n </div>\r\n\r\n {/* Question or Answer */}\r\n <div\r\n className={`${\r\n isQuestion\r\n ? 'rf-text-secondary'\r\n : 'rf-text-textModePanelConversationBot'\r\n }`}\r\n >\r\n {activity.htmlText ? (\r\n <div\r\n dangerouslySetInnerHTML={{\r\n __html: activity.htmlText\r\n }}\r\n />\r\n ) : activity.text ? (\r\n getTextWithoutSpeechMarkdown(activity.text)\r\n ) : (\r\n ''\r\n )}\r\n {/* Display attachments if there are some and the display mode wasn't a list */}\r\n {!!activity.attachments?.length &&\r\n !(\r\n activity.attachmentLayout &&\r\n activity.attachmentLayout.toLowerCase() === 'davilist'\r\n ) && (\r\n <div\r\n className={`rf-w-full rf-min-h-16 rf-overflow-x-hidden rf-overflow-y-auto ${\r\n activity.text && 'rf-pt-4'\r\n }`}\r\n >\r\n <Attachments activity={activity} history={true} />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n ) : (\r\n <React.Fragment />\r\n )\r\n}\r\n\r\nexport default HistoryQA\r\n"],"names":[],"version":3,"file":"HistoryList.50ff0fd9.js.map","sourceRoot":"../"}
|