@davi-ai/retorik-framework 3.2.6 → 4.0.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.
Files changed (90) hide show
  1. package/dist/{AttachmentDetail.0a576bf3.js → AttachmentDetail.37a709af.js} +160 -174
  2. package/dist/AttachmentDetail.37a709af.js.map +1 -0
  3. package/dist/{AttachmentDetail.c4286a45.js → AttachmentDetail.53ba969a.js} +159 -173
  4. package/dist/AttachmentDetail.53ba969a.js.map +1 -0
  5. package/dist/{CustomView.913a9f32.js → CustomView.9930c671.js} +16 -20
  6. package/dist/CustomView.9930c671.js.map +1 -0
  7. package/dist/{CustomView.edf84de1.js → CustomView.bf84bdf3.js} +16 -20
  8. package/dist/CustomView.bf84bdf3.js.map +1 -0
  9. package/dist/{Emergency.1f855b66.js → Emergency.1e63c85f.js} +22 -30
  10. package/dist/Emergency.1e63c85f.js.map +1 -0
  11. package/dist/{Emergency.cd492aab.js → Emergency.89b4d9ed.js} +21 -29
  12. package/dist/Emergency.89b4d9ed.js.map +1 -0
  13. package/dist/{FullScreenImage.9a9b978e.js → FullScreenImage.17df27bf.js} +11 -18
  14. package/dist/FullScreenImage.17df27bf.js.map +1 -0
  15. package/dist/{FullScreenImage.1fe27198.js → FullScreenImage.99e19e10.js} +11 -18
  16. package/dist/FullScreenImage.99e19e10.js.map +1 -0
  17. package/dist/{HistoryList.4c303dc6.js → HistoryList.3b4b1ffb.js} +35 -36
  18. package/dist/HistoryList.3b4b1ffb.js.map +1 -0
  19. package/dist/{HistoryList.03a56119.js → HistoryList.e5c01f21.js} +35 -36
  20. package/dist/HistoryList.e5c01f21.js.map +1 -0
  21. package/dist/LanguageChoice.1d866cfa.js +119 -0
  22. package/dist/LanguageChoice.1d866cfa.js.map +1 -0
  23. package/dist/LanguageChoice.cce361a3.js +128 -0
  24. package/dist/LanguageChoice.cce361a3.js.map +1 -0
  25. package/dist/{LittleWeatherContainer.07937cf3.js → LittleWeatherContainer.7e41105e.js} +3 -3
  26. package/dist/LittleWeatherContainer.7e41105e.js.map +1 -0
  27. package/dist/{LittleWeatherContainer.d27a6b8a.js → LittleWeatherContainer.ee087e22.js} +3 -3
  28. package/dist/LittleWeatherContainer.ee087e22.js.map +1 -0
  29. package/dist/MapContainer.14c28128.js +117 -0
  30. package/dist/MapContainer.14c28128.js.map +1 -0
  31. package/dist/MapContainer.f22ad81f.js +104 -0
  32. package/dist/MapContainer.f22ad81f.js.map +1 -0
  33. package/dist/{NewsContainer.76f5b60f.js → NewsContainer.c0a24775.js} +84 -88
  34. package/dist/NewsContainer.c0a24775.js.map +1 -0
  35. package/dist/{NewsContainer.24a4ba84.js → NewsContainer.c3331d80.js} +79 -83
  36. package/dist/NewsContainer.c3331d80.js.map +1 -0
  37. package/dist/PrintingPreview.5351c733.js +147 -0
  38. package/dist/PrintingPreview.5351c733.js.map +1 -0
  39. package/dist/PrintingPreview.6d70355b.js +138 -0
  40. package/dist/PrintingPreview.6d70355b.js.map +1 -0
  41. package/dist/{SpiritEngineWrapper.1d8db53d.js → SpiritEngineWrapper.21ea10d4.js} +8 -7
  42. package/dist/SpiritEngineWrapper.21ea10d4.js.map +1 -0
  43. package/dist/{SpiritEngineWrapper.27e9c120.js → SpiritEngineWrapper.39627300.js} +8 -7
  44. package/dist/SpiritEngineWrapper.39627300.js.map +1 -0
  45. package/dist/ThreeJsWrapper.4302165c.js +666 -0
  46. package/dist/ThreeJsWrapper.4302165c.js.map +1 -0
  47. package/dist/ThreeJsWrapper.cb253b3a.js +649 -0
  48. package/dist/ThreeJsWrapper.cb253b3a.js.map +1 -0
  49. package/dist/VeilleManager.1ff7aa0f.js +561 -0
  50. package/dist/VeilleManager.1ff7aa0f.js.map +1 -0
  51. package/dist/VeilleManager.46a9de36.js +580 -0
  52. package/dist/VeilleManager.46a9de36.js.map +1 -0
  53. package/dist/{Weather.8d8aa06a.js → Weather.bb414852.js} +66 -119
  54. package/dist/Weather.bb414852.js.map +1 -0
  55. package/dist/{Weather.87ab2128.js → Weather.ced9b467.js} +63 -116
  56. package/dist/Weather.ced9b467.js.map +1 -0
  57. package/dist/index.d.ts +418 -366
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +47627 -19211
  60. package/dist/index.js.map +1 -1
  61. package/dist/index.modern.js +44303 -15919
  62. package/dist/index.modern.js.map +1 -1
  63. package/package.json +10 -10
  64. package/README.md +0 -6
  65. package/dist/AttachmentDetail.0a576bf3.js.map +0 -1
  66. package/dist/AttachmentDetail.c4286a45.js.map +0 -1
  67. package/dist/CustomView.913a9f32.js.map +0 -1
  68. package/dist/CustomView.edf84de1.js.map +0 -1
  69. package/dist/Emergency.1f855b66.js.map +0 -1
  70. package/dist/Emergency.cd492aab.js.map +0 -1
  71. package/dist/FullScreenImage.1fe27198.js.map +0 -1
  72. package/dist/FullScreenImage.9a9b978e.js.map +0 -1
  73. package/dist/HistoryList.03a56119.js.map +0 -1
  74. package/dist/HistoryList.4c303dc6.js.map +0 -1
  75. package/dist/LanguageChoice.623ee802.js +0 -113
  76. package/dist/LanguageChoice.623ee802.js.map +0 -1
  77. package/dist/LanguageChoice.ff0cd04c.js +0 -122
  78. package/dist/LanguageChoice.ff0cd04c.js.map +0 -1
  79. package/dist/LittleWeatherContainer.07937cf3.js.map +0 -1
  80. package/dist/LittleWeatherContainer.d27a6b8a.js.map +0 -1
  81. package/dist/NewsContainer.24a4ba84.js.map +0 -1
  82. package/dist/NewsContainer.76f5b60f.js.map +0 -1
  83. package/dist/SpiritEngineWrapper.1d8db53d.js.map +0 -1
  84. package/dist/SpiritEngineWrapper.27e9c120.js.map +0 -1
  85. package/dist/ThreeJsWrapper.09c689b8.js +0 -141
  86. package/dist/ThreeJsWrapper.09c689b8.js.map +0 -1
  87. package/dist/ThreeJsWrapper.7918143f.js +0 -128
  88. package/dist/ThreeJsWrapper.7918143f.js.map +0 -1
  89. package/dist/Weather.87ab2128.js.map +0 -1
  90. package/dist/Weather.8d8aa06a.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["src/components/Veille/VeilleManager.tsx","src/components/Veille/CallToAction.tsx","src/components/Icons/Miscellaneous/TouchIcon.tsx","src/components/Veille/FaceDetector.tsx","src/components/Veille/EmptyVeille.tsx","src/components/Veille/ScreenSaver.tsx","src/components/Veille/SlideShow.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react'\r\nimport { useSpring, animated } from '@react-spring/web'\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport { RootState, storeActions } from '../../store'\r\n\r\nimport { Routes } from '../../models/enums'\r\nimport type { VeilleConfiguration } from '../../models/types'\r\n\r\nimport NewsView from '../Views/NewsView'\r\nimport CallToAction from './CallToAction'\r\nimport FaceDetector from './FaceDetector'\r\nimport EmptyVeille from './EmptyVeille'\r\nimport ScreenSaver from './ScreenSaver'\r\nimport SlideShow from './SlideShow'\r\n\r\nconst springDuration = 500\r\nconst veilleRelatedRoutes = [Routes.EmptyVeille, Routes.NewsInVeille, Routes.ScreenSaver, Routes.SlideShow]\r\n\r\nconst VeilleManager = () => {\r\n const dispatch = useDispatch()\r\n const addressData = useSelector((state: RootState) => state.retorikReducer.addressData)\r\n const loaderClosed = useSelector((state: RootState) => state.retorikReducer.loaderClosed)\r\n const appAvailable = useSelector((state: RootState) => state.retorikReducer.appAvailable)\r\n const route = useSelector((state: RootState) => state.viewReducer.route)\r\n const veilleConfiguration = useSelector((state: RootState) => state.viewReducer.veilleConfiguration)\r\n const muted = useSelector((state: RootState) => state.speechReducer.muted)\r\n const typingCount = useSelector((state: RootState) => state.directlineReducer.typingCount)\r\n\r\n const [veilleLaunched, setVeilleLaunched] = useState<boolean>(false)\r\n const [loop, setLoop] = useState<boolean>(false)\r\n const veilleDataRef = useRef<VeilleConfiguration>(veilleConfiguration)\r\n const availableItemsToDisplayRef = useRef<Array<Routes>>([])\r\n const currentItemDisplayedRef = useRef<number>(0)\r\n const timerRef = useRef<NodeJS.Timer | null>(null)\r\n const fadeTimerRef = useRef<NodeJS.Timer | null>(null)\r\n const oldMutedRef = useRef<boolean>(muted)\r\n\r\n const [spring, api] = useSpring(() => ({\r\n from: {\r\n opacity: 0\r\n }\r\n }))\r\n\r\n useEffect(() => {\r\n veilleLaunched &&\r\n api.start({\r\n from: {\r\n opacity: 0\r\n },\r\n to: {\r\n opacity: 1\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n }, [veilleLaunched])\r\n\r\n const handleClose = (): void => {\r\n api.start({\r\n from: {\r\n opacity: 1\r\n },\r\n to: {\r\n opacity: 0\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n\r\n fadeTimerRef?.current && clearTimeout(fadeTimerRef.current)\r\n fadeTimerRef.current = setTimeout(() => {\r\n // Switch back the muted state (it could have not been changed but for security let's set it)\r\n dispatch(storeActions.speech.setMuted(oldMutedRef.current))\r\n // Get back to home view\r\n dispatch(storeActions.view.setRoute(Routes.Home))\r\n }, springDuration)\r\n }\r\n\r\n const launchVeille = async (): Promise<void> => {\r\n // Kill current directline if needed, and create a new one if the news are included in the veille\r\n if (veilleDataRef.current.killConversationOnLaunch) {\r\n await dispatch(storeActions.directline.endConversation())\r\n veilleDataRef.current.views?.news?.enabled && dispatch(storeActions.directline.recreateDirectline({ addressData: addressData, userId: `veille_${Date.now()}`, skipWelcome: true }))\r\n }\r\n // Set muted state to true if it is demanded in the configuration\r\n veilleDataRef.current.views?.news?.muted && dispatch(storeActions.speech.setMuted(true))\r\n setVeilleLaunched(true)\r\n dispatch(storeActions.view.setRoute(availableItemsToDisplayRef.current.length ? availableItemsToDisplayRef.current[0] : Routes.EmptyVeille))\r\n }\r\n\r\n const refreshTimer = (): void => {\r\n timerRef.current && clearTimeout(timerRef.current)\r\n timerRef.current = setTimeout(() => {\r\n launchVeille()\r\n }, (veilleDataRef.current.delayBeforeLaunchInSeconds || 120) * 1000)\r\n }\r\n\r\n const exitVeille = (firstTime?: boolean): void => {\r\n // Recreate directline if needed\r\n if (!firstTime && veilleDataRef.current?.killConversationOnLaunch) {\r\n // Reset directline if a new one has already been recreated for the news inside the veille\r\n veilleDataRef.current.views?.news?.enabled && dispatch(storeActions.directline.endConversation())\r\n dispatch(storeActions.directline.recreateDirectline({ addressData: addressData }))\r\n }\r\n\r\n setVeilleLaunched(false)\r\n // Set back the current item's index to 0 and clear the timeout\r\n currentItemDisplayedRef.current = 0\r\n timerRef.current && clearTimeout(timerRef.current)\r\n // Launch the timer for veille opening\r\n refreshTimer()\r\n\r\n // Get back to home view if we came here to close the veille\r\n !firstTime && handleClose()\r\n }\r\n\r\n const switchComponent = (): void => {\r\n if (availableItemsToDisplayRef.current.length > currentItemDisplayedRef.current + 1) {\r\n currentItemDisplayedRef.current++\r\n dispatch(storeActions.view.setRoute(availableItemsToDisplayRef.current[currentItemDisplayedRef.current]))\r\n } else {\r\n currentItemDisplayedRef.current = 0\r\n dispatch(storeActions.view.setRoute(availableItemsToDisplayRef.current[0]))\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n veilleDataRef.current = veilleConfiguration\r\n if (appAvailable || loaderClosed) {\r\n const tempViewArray: Array<Routes> = []\r\n veilleConfiguration.views?.screenSaver?.enabled && tempViewArray.push(Routes.ScreenSaver)\r\n veilleConfiguration.views?.news?.enabled && tempViewArray.push(Routes.NewsInVeille)\r\n veilleConfiguration.views?.slideShow?.enabled && tempViewArray.push(Routes.SlideShow)\r\n // Set loop if there is only 1 item to display\r\n setLoop(tempViewArray.length === 1)\r\n availableItemsToDisplayRef.current = tempViewArray\r\n\r\n exitVeille(true)\r\n }\r\n }, [veilleConfiguration, appAvailable, loaderClosed])\r\n\r\n /**\r\n * Refresh the timer of the veille on each typing activity emitted\r\n */\r\n useEffect(() => {\r\n !veilleLaunched && refreshTimer()\r\n }, [typingCount, veilleLaunched])\r\n\r\n useEffect(() => {\r\n return () => {\r\n timerRef.current && clearTimeout(timerRef.current)\r\n fadeTimerRef?.current && clearTimeout(fadeTimerRef.current)\r\n // Switch back the muted state (it could have not been changed but for security let's set it)\r\n dispatch(storeActions.speech.setMuted(oldMutedRef.current))\r\n }\r\n }, [])\r\n\r\n return (\r\n <React.Fragment>\r\n <animated.div\r\n id='retorik-framework-veille-manager'\r\n className='rf-relative rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-grid-cols-8 rf-grid-rows-12'\r\n style={{\r\n display: veilleRelatedRoutes.includes(route) ? 'grid' : 'none',\r\n ...spring\r\n }}\r\n >\r\n <CallToAction />\r\n {veilleConfiguration.autoExitFromWebcam && veilleLaunched && <FaceDetector detectionThreshold={0.95} onFaceDetected={() => exitVeille()} />}\r\n\r\n {route === Routes.EmptyVeille && <EmptyVeille />}\r\n {route === Routes.NewsInVeille && <NewsView hideMenu={true} isRetorikNews={true} handleEndedWithoutloop={switchComponent} loop={loop} fromVeille={true} />}\r\n {route === Routes.ScreenSaver && (\r\n <ScreenSaver\r\n url={veilleConfiguration.views?.screenSaver?.url}\r\n timer={veilleConfiguration.views?.screenSaver?.timerBeforeSwitchInSeconds}\r\n loop={loop}\r\n springDuration={springDuration}\r\n switchComponent={switchComponent}\r\n />\r\n )}\r\n {route === Routes.SlideShow && (\r\n <SlideShow\r\n urls={veilleConfiguration.views?.slideShow?.urls}\r\n timer={veilleConfiguration.views?.slideShow?.timerBeforeSwitchInSeconds}\r\n loop={loop}\r\n springDuration={springDuration}\r\n switchComponent={switchComponent}\r\n />\r\n )}\r\n </animated.div>\r\n\r\n {/* Overlay to exit the veille */}\r\n {veilleLaunched && <div className='rf-z-overlay rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-bg-transparent rf-cursor-pointer' onClick={() => exitVeille()} />}\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default VeilleManager\r\n","import React, { useState } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport { RootState } from '../../store'\r\nimport { getColorWithTransparency } from '../../utils/colorUtils'\r\nimport TouchIcon from '../Icons/Miscellaneous/TouchIcon'\r\n\r\nconst CallToAction = (): JSX.Element => {\r\n const themeColors = useSelector((state: RootState) => state.viewReducer.themeColors)\r\n const [colorWithTransparency] = useState<string>(getColorWithTransparency(themeColors.primary, 0.5))\r\n\r\n return (\r\n <div className='rf-absolute rf-z-ui rf-bottom-0 rf-right-0 rf-w-80 rf-h-80 rf-grid rf-grid-cols-1 rf-grid-rows-1 rf-justify-end rf-justify-items-end rf-content-end rf-items-end rf-text-center rf-overflow-hidden rf-z-10'>\r\n <div className='rf-relative rf-col-start-1 rf-col-end-2 rf-row-start-1 rf-row-end-2 rf-w-48 rf-h-36 rf-rotate-45 rf-translate-y-8' style={{ backgroundColor: colorWithTransparency }}></div>\r\n <div className='rf-relative rf-col-start-1 rf-col-end-2 rf-row-start-1 rf-row-end-2 rf-w-50 rf-h-32 rf-flex rf-flex-col rf-gap-2 rf-justify-center rf-items-center rf-text-white'>\r\n <TouchIcon />\r\n <p className='rf-mx-4'>Click on screen to start</p>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CallToAction\r\n","import React from \"react\";\r\nimport type { IconDefaultProps } from '../../../models/types'\r\n\r\nconst TouchIcon = ({ className, color }: IconDefaultProps) => {\r\n return (\r\n <svg\r\n viewBox=\"0 0 48 67\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n stroke={color || 'currentColor'}\r\n fill={color || 'currentColor'}\r\n className={className || 'rf-h-12 rf-w-12'}\r\n >\r\n <path\r\n d=\"m41 24c-1.7 0-3.2 0.65-4.4 1.7-1.2-1.1-2.7-1.7-4.4-1.7-1.7 0-3.2 0.65-4.4 1.7-0.48-0.44-1-0.8-1.6-1.1 2.1-2.6 3.4-6 3.4-9.5 2.8e-4 -8.3-6.7-15-15-15-8.3 0-15 6.7-15 15 0 5.8 3.3 11 8.4 13v18c0 11 8.9 20 20 20 11 0 20-8.9 20-20v-16c0-3.6-2.9-6.6-6.6-6.6zm-37-8.8c0-5.9 4.8-11 11-11 5.9 0 11 4.8 11 11 0 3.4-1.6 6.5-4.1 8.5v-8.5c0-3.6-2.9-6.6-6.6-6.6-3.6 0-6.6 2.9-6.6 6.6v8.5c-2.6-2-4.1-5.1-4.1-8.5zm39 32c0 8.5-6.9 15-15 15-8.5 0-15-6.9-15-15v-20c4e-3 -0.072 4e-3 -0.14 0-0.22v-12c0-1.2 1-2.3 2.3-2.3 1.2 0 2.3 1 2.3 2.3v20c0 1.2 0.96 2.1 2.1 2.1 1.2 0 2.1-0.96 2.1-2.1v-4.7c0-1.2 1-2.3 2.3-2.3s2.3 1 2.3 2.3v4.7c0 1.2 0.96 2.1 2.1 2.1 1.2 0 2.1-0.96 2.1-2.1v-4.7c0-1.2 1-2.3 2.3-2.3 1.2 0 2.3 1 2.3 2.3v4.7c0 1.2 0.96 2.1 2.1 2.1s2.1-0.96 2.1-2.1v-4.7c0-1.2 1-2.3 2.3-2.3 1.2 0 2.3 1 2.3 2.3v16z\"\r\n strokeWidth=\".29\"\r\n />\r\n </svg>\r\n );\r\n};\r\n\r\nexport default TouchIcon;\r\n","import React, { useEffect, useState, useRef } from 'react'\r\nimport { FaceDetector as MediapipeFaceDetector, FilesetResolver, Detection } from '@mediapipe/tasks-vision'\r\n\r\ninterface FaceDetectorProps {\r\n detectionThreshold: number\r\n onFaceDetected: (detections?: Array<Detection>, imageWidth?: number, imageHeight?: number) => void\r\n showThumbnail?: boolean\r\n rotation?: number\r\n}\r\n\r\nconst runningMode = 'VIDEO'\r\nlet lastVideoTime = -1\r\nconst defaultConstraints: MediaStreamConstraints = {\r\n video: {\r\n facingMode: 'user'\r\n }\r\n}\r\n\r\nconst FaceDetector = ({ detectionThreshold, onFaceDetected, showThumbnail, rotation }: FaceDetectorProps): JSX.Element => {\r\n const [webcamWidth, setWebcamWidth] = useState<number>(0)\r\n const [webcamHeight, setWebcamHeight] = useState<number>(0)\r\n const [faceDetector, setFaceDetector] = useState<MediapipeFaceDetector | undefined>()\r\n const videoRef = useRef<HTMLVideoElement>(null)\r\n const rotationRef = useRef<number>(rotation || 0)\r\n\r\n useEffect(() => {\r\n rotationRef.current = rotation || 0\r\n }, [rotation])\r\n\r\n useEffect(() => {\r\n const createfaceDetector = async () => {\r\n const vision = await FilesetResolver.forVisionTasks('https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.0/wasm')\r\n const newFaceDetector = await MediapipeFaceDetector.createFromOptions(vision, {\r\n baseOptions: {\r\n modelAssetPath: `https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/1/blaze_face_short_range.tflite`,\r\n delegate: 'GPU'\r\n },\r\n runningMode: runningMode\r\n })\r\n\r\n newFaceDetector && setFaceDetector(newFaceDetector)\r\n }\r\n\r\n const initializefaceDetector = async () => {\r\n navigator.mediaDevices\r\n .getUserMedia(defaultConstraints)\r\n .then((display) => {\r\n const settings = display.getVideoTracks()[0].getSettings()\r\n setWebcamWidth(settings.width || 0)\r\n setWebcamHeight(settings.height || 0)\r\n createfaceDetector()\r\n })\r\n .catch((error) => console.warn('Retorik Framework > an error occured when trying to use the webcam : ', error))\r\n }\r\n\r\n initializefaceDetector()\r\n }, [])\r\n\r\n const predictWebcam = async () => {\r\n if (faceDetector && videoRef.current) {\r\n let startTimeMs = performance.now()\r\n\r\n // Detect faces using detectForVideo\r\n if (videoRef.current.currentTime !== lastVideoTime) {\r\n lastVideoTime = videoRef.current.currentTime\r\n const detections = faceDetector.detectForVideo(videoRef.current, startTimeMs, { rotationDegrees: rotationRef.current }).detections\r\n\r\n if (detections.length) {\r\n const score = detections[0].categories[0].score\r\n score > detectionThreshold && onFaceDetected(detections, videoRef.current.videoWidth, videoRef.current.videoHeight)\r\n }\r\n }\r\n }\r\n\r\n // Call this function again to keep predicting when the browser is ready\r\n window.requestAnimationFrame(predictWebcam)\r\n }\r\n\r\n useEffect(() => {\r\n if (faceDetector && videoRef.current) {\r\n // Activate the webcam stream\r\n navigator.mediaDevices\r\n .getUserMedia(defaultConstraints)\r\n .then((stream) => {\r\n if (videoRef.current) {\r\n videoRef.current.srcObject = stream\r\n videoRef.current.addEventListener('loadeddata', predictWebcam)\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n })\r\n }\r\n }, [faceDetector])\r\n\r\n return (\r\n <div id='retorik-framework-face-detector' className={`rf-absolute rf-top-0 rf-left-0 ${!showThumbnail && 'rf-invisible'}`}>\r\n <video\r\n ref={videoRef}\r\n src=''\r\n autoPlay\r\n style={{\r\n rotate: `${rotation}deg`,\r\n width: showThumbnail ? webcamWidth / 2 : webcamWidth,\r\n height: showThumbnail ? webcamHeight / 2 : webcamHeight\r\n }}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default FaceDetector\r\n","import React from 'react'\r\n\r\nconst EmptyVeille = () => {\r\n return (\r\n <div className='rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-bg-black rf-flex rf-justify-center rf-items-center'>\r\n <div className='rf-uppercase rf-font-bold rf-text-3xl rf-text-white rf-animate-pulse'>click or tap on the screen...</div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default EmptyVeille\r\n","import React, { useEffect, useRef } from 'react'\r\nimport { useSpring, animated } from '@react-spring/web'\r\n\r\ninterface ScreenSaverProps {\r\n url?: string\r\n timer?: number\r\n loop?: boolean\r\n springDuration: number\r\n switchComponent: () => void\r\n}\r\n\r\nconst ScreenSaver = ({ url, timer, loop, springDuration, switchComponent }: ScreenSaverProps) => {\r\n const timerRef = useRef<NodeJS.Timer | null>(null)\r\n const fadeTimerRef = useRef<NodeJS.Timer | null>(null)\r\n\r\n const [spring, api] = useSpring(() => ({\r\n from: {\r\n opacity: 0\r\n }\r\n }))\r\n\r\n useEffect(() => {\r\n api.start({\r\n from: {\r\n opacity: 0\r\n },\r\n to: {\r\n opacity: 1\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n }, [])\r\n\r\n const handleClose = (): void => {\r\n api.start({\r\n from: {\r\n opacity: 1\r\n },\r\n to: {\r\n opacity: 0\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n\r\n fadeTimerRef?.current && clearTimeout(fadeTimerRef.current)\r\n fadeTimerRef.current = setTimeout(() => {\r\n // Get back to home view\r\n switchComponent()\r\n }, springDuration)\r\n }\r\n\r\n useEffect(() => {\r\n if (!loop) {\r\n timerRef.current = setTimeout(() => {\r\n handleClose()\r\n }, (timer || 8) * 1000 - springDuration)\r\n }\r\n\r\n return () => {\r\n timerRef.current && clearTimeout(timerRef.current)\r\n fadeTimerRef.current && clearTimeout(fadeTimerRef.current)\r\n }\r\n }, [])\r\n\r\n return (\r\n <animated.div\r\n className='rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full'\r\n style={{\r\n backgroundImage: `url(${url})`,\r\n backgroundPosition: 'center',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundSize: 'cover',\r\n ...spring\r\n }}\r\n />\r\n )\r\n}\r\n\r\nexport default ScreenSaver\r\n","import React, { useEffect, useState, useRef } from 'react'\r\nimport { useSpring, animated } from '@react-spring/web'\r\n\r\ninterface SlideShowProps {\r\n urls?: Array<string>\r\n timer?: number\r\n loop?: boolean\r\n springDuration: number\r\n switchComponent: () => void\r\n}\r\n\r\nconst SlideShow = ({ urls, timer, loop, springDuration, switchComponent }: SlideShowProps) => {\r\n const [currentIndex, setCurrentIndex] = useState<number>(0)\r\n const timerRef = useRef<NodeJS.Timer | null>(null)\r\n const fadeTimerRef = useRef<NodeJS.Timer | null>(null)\r\n\r\n const [spring, api] = useSpring(() => ({\r\n from: {\r\n opacity: 0\r\n }\r\n }))\r\n\r\n useEffect(() => {\r\n api.start({\r\n from: {\r\n opacity: 0\r\n },\r\n to: {\r\n opacity: 1\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n }, [])\r\n\r\n const handleClose = (): void => {\r\n api.start({\r\n from: {\r\n opacity: 1\r\n },\r\n to: {\r\n opacity: 0\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n\r\n fadeTimerRef?.current && clearTimeout(fadeTimerRef.current)\r\n fadeTimerRef.current = setTimeout(() => {\r\n // Get back to home view\r\n switchComponent()\r\n }, springDuration)\r\n }\r\n\r\n useEffect(() => {\r\n timerRef?.current && clearTimeout(timerRef.current)\r\n if (urls?.length) {\r\n timerRef.current = setTimeout(() => {\r\n currentIndex === urls.length - 1 ? (loop ? setCurrentIndex(0) : handleClose()) : setCurrentIndex(currentIndex + 1)\r\n }, (timer || 5) * 1000)\r\n } else {\r\n switchComponent()\r\n }\r\n }, [currentIndex])\r\n\r\n useEffect(() => {\r\n return () => {\r\n timerRef?.current && clearTimeout(timerRef.current)\r\n fadeTimerRef?.current && clearTimeout(fadeTimerRef.current)\r\n }\r\n }, [])\r\n\r\n return (\r\n <animated.div className='rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-flex rf-justify-center rf-items-center rf-bg-black' style={{ ...spring }}>\r\n <img className={`${window.innerHeight > window.innerWidth ? 'rf-w-full' : 'rf-h-full'}`} src={urls?.[currentIndex] || ''} alt='slideshow' />\r\n </animated.div>\r\n )\r\n}\r\n\r\nexport default SlideShow\r\n"],"names":[],"version":3,"file":"VeilleManager.46a9de36.js.map","sourceRoot":"../"}
@@ -1,6 +1,7 @@
1
1
  var $avS3e$reactjsxruntime = require("react/jsx-runtime");
2
2
  var $avS3e$react = require("react");
3
3
  var $avS3e$daviairetorikweather = require("@davi-ai/retorik-weather");
4
+ var $avS3e$reactredux = require("react-redux");
4
5
  var $avS3e$qrcode = require("qrcode");
5
6
 
6
7
 
@@ -37,40 +38,32 @@ $parcel$export(module.exports, "default", () => $becba6a72493aae8$export$2e2bcd8
37
38
 
38
39
 
39
40
 
40
- var $6Q0mk = parcelRequire("6Q0mk");
41
41
 
42
- var $7eio0 = parcelRequire("7eio0");
43
-
44
- var $6EkQS = parcelRequire("6EkQS");
45
-
46
- var $kUiCn = parcelRequire("kUiCn");
47
-
48
- var $6QoTL = parcelRequire("6QoTL");
42
+ var $kpW3P = parcelRequire("kpW3P");
49
43
 
50
44
  var $7WHA7 = parcelRequire("7WHA7");
51
45
 
52
- var $a3uH3 = parcelRequire("a3uH3");
53
-
54
- var $8ywPo = parcelRequire("8ywPo");
46
+ var $eYKUg = parcelRequire("eYKUg");
55
47
 
56
48
  var $aA7FU = parcelRequire("aA7FU");
57
49
 
58
50
  var $lONbp = parcelRequire("lONbp");
59
51
 
60
52
  var $6tFNo = parcelRequire("6tFNo");
53
+
54
+ var $bUTyR = parcelRequire("bUTyR");
61
55
  const $becba6a72493aae8$var$Weather = ({ handleClose: handleClose })=>{
62
- var _configuration_position, _configuration_position1, _configuration_position2, _configuration_position3;
63
- const locale = (0, $6Q0mk.useLocaleStore)((state)=>state.locale);
64
- const configuration = (0, $6EkQS.useRetorikStore)((state)=>state.configuration);
65
- const currentDeviceType = (0, $kUiCn.useViewStore)((state)=>state.currentDeviceType);
66
- const isMobile = (0, $kUiCn.useViewStore)((state)=>state.isMobile);
67
- const setCurrentSubView = (0, $7eio0.useUtilsStore)((state)=>state.actions.setCurrentSubView);
68
- const sendEvent = (0, $6QoTL.useDirectlineStore)((state)=>state.actions.sendEvent);
56
+ var _configuration_position, _configuration_position1;
57
+ const dispatch = (0, $avS3e$reactredux.useDispatch)();
58
+ const locale = (0, $avS3e$reactredux.useSelector)((state)=>state.localeReducer.locale);
59
+ const configuration = (0, $avS3e$reactredux.useSelector)((state)=>state.retorikReducer.configuration);
60
+ const currentDeviceType = (0, $avS3e$reactredux.useSelector)((state)=>state.viewReducer.currentDeviceType);
61
+ const isMobile = (0, $avS3e$reactredux.useSelector)((state)=>state.viewReducer.isMobile);
69
62
  (0, $avS3e$react.useLayoutEffect)(()=>{
70
63
  var _configuration_position, _configuration_position1;
71
64
  if (!((_configuration_position = configuration.position) === null || _configuration_position === void 0 ? void 0 : _configuration_position.latitude) || !((_configuration_position1 = configuration.position) === null || _configuration_position1 === void 0 ? void 0 : _configuration_position1.longitude)) {
72
- console.log('Retorik Framework > asked for weather display but no position data given');
73
- setCurrentSubView((0, $7WHA7.CurrentSubView).none);
65
+ dispatch((0, $kpW3P.storeActions).retorik.setShowPositionModal(true));
66
+ dispatch((0, $kpW3P.storeActions).utils.setCurrentSubView((0, $7WHA7.CurrentSubView).none));
74
67
  }
75
68
  }, [
76
69
  configuration.position
@@ -79,51 +72,39 @@ const $becba6a72493aae8$var$Weather = ({ handleClose: handleClose })=>{
79
72
  * On call :
80
73
  * - set RetorikContext's displayWeather state to false
81
74
  */ const handleBack = ()=>{
82
- sendEvent('Davi.CloseWindow', null, ()=>sendEvent('Davi.CloseWindowWeather', null));
83
- handleClose ? handleClose() : setCurrentSubView((0, $7WHA7.CurrentSubView).none);
75
+ dispatch((0, $kpW3P.storeActions).directline.sendEvent({
76
+ name: 'Davi.CloseWindow',
77
+ callback: ()=>dispatch((0, $kpW3P.storeActions).directline.sendEvent({
78
+ name: 'Davi.CloseWindowWeather'
79
+ }))
80
+ }));
81
+ handleClose ? handleClose() : dispatch((0, $kpW3P.storeActions).utils.setCurrentSubView((0, $7WHA7.CurrentSubView).none));
84
82
  };
85
- return isMobile ? /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsxs)((0, $a3uH3.FullScreenMobile), {
86
- depth: (0, $7WHA7.Depth).dropdown,
87
- background: "#FFFFFF",
88
- children: [
89
- /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, $8ywPo.default), {
90
- subView: (0, $7WHA7.AvailableViews).weather,
91
- className: "rf-border-b rf-border-b-menuBorder",
92
- handleBack: handleBack
93
- }),
94
- /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, ($parcel$interopDefault($avS3e$daviairetorikweather))), {
95
- locale: locale,
96
- deviceType: currentDeviceType,
97
- position: {
98
- latitude: ((_configuration_position = configuration.position) === null || _configuration_position === void 0 ? void 0 : _configuration_position.latitude) || 0,
99
- longitude: ((_configuration_position1 = configuration.position) === null || _configuration_position1 === void 0 ? void 0 : _configuration_position1.longitude) || 0
100
- }
101
- }),
102
- /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, $6tFNo.default), {})
103
- ]
104
- }) : /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsxs)((0, $a3uH3.FullScreen), {
105
- depth: (0, $7WHA7.Depth).dropdown,
106
- background: "linear-gradient(to right bottom, #F2F8F8FC , #F2E1E2E8)",
83
+ return /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsxs)((0, $eYKUg.default), {
84
+ target: (0, $7WHA7.TemplateTarget).weather,
107
85
  onClick: handleBack,
108
86
  children: [
109
87
  /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsxs)("div", {
110
- className: "rf-h-full rf-w-full rf-flex rf-flex-col rf-items-center",
88
+ className: `rf-h-full rf-w-full rf-flex rf-flex-col ${isMobile ? 'rf-px-4' : 'rf-items-center'}`,
111
89
  children: [
112
- /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, $aA7FU.default), {
90
+ isMobile ? /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, $bUTyR.default), {
91
+ subView: (0, $7WHA7.AvailableViews).weather,
92
+ className: "rf-border-b rf-border-b-menuBorder"
93
+ }) : /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, $aA7FU.default), {
113
94
  subView: (0, $7WHA7.AvailableViews).weather
114
95
  }),
115
96
  /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, ($parcel$interopDefault($avS3e$daviairetorikweather))), {
116
97
  locale: locale,
117
98
  deviceType: currentDeviceType,
118
99
  position: {
119
- latitude: ((_configuration_position2 = configuration.position) === null || _configuration_position2 === void 0 ? void 0 : _configuration_position2.latitude) || 0,
120
- longitude: ((_configuration_position3 = configuration.position) === null || _configuration_position3 === void 0 ? void 0 : _configuration_position3.longitude) || 0
100
+ latitude: ((_configuration_position = configuration.position) === null || _configuration_position === void 0 ? void 0 : _configuration_position.latitude) || 0,
101
+ longitude: ((_configuration_position1 = configuration.position) === null || _configuration_position1 === void 0 ? void 0 : _configuration_position1.longitude) || 0
121
102
  }
122
103
  }),
123
104
  /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, $6tFNo.default), {})
124
105
  ]
125
106
  }),
126
- /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, $lONbp.default), {
107
+ !isMobile && /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, $lONbp.default), {
127
108
  dashboardVisible: true,
128
109
  onClick: handleBack
129
110
  })
@@ -133,84 +114,19 @@ const $becba6a72493aae8$var$Weather = ({ handleClose: handleClose })=>{
133
114
  var $becba6a72493aae8$export$2e2bcd8739ae039 = $becba6a72493aae8$var$Weather;
134
115
 
135
116
  });
136
- parcelRegister("8ywPo", function(module, exports) {
137
-
138
- $parcel$export(module.exports, "default", () => $0a80198eb48dcfb9$export$2e2bcd8739ae039);
139
-
140
-
141
-
142
- var $6Q0mk = parcelRequire("6Q0mk");
143
-
144
- var $7v7LH = parcelRequire("7v7LH");
145
-
146
- var $bUTyR = parcelRequire("bUTyR");
147
- const $0a80198eb48dcfb9$var$MobileTopContainer = ({ subView: subView, className: className, handleBack: handleBack })=>{
148
- const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
149
- return /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($avS3e$react))).Fragment, {
150
- children: [
151
- /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, $7v7LH.BackButton), {
152
- title: translation.common.back,
153
- className: "rf-text-sm",
154
- handleBack: handleBack
155
- }),
156
- subView && /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, $bUTyR.default), {
157
- subView: subView,
158
- className: className
159
- })
160
- ]
161
- });
162
- };
163
- var $0a80198eb48dcfb9$export$2e2bcd8739ae039 = $0a80198eb48dcfb9$var$MobileTopContainer;
164
-
165
- });
166
- parcelRegister("bUTyR", function(module, exports) {
167
-
168
- $parcel$export(module.exports, "default", () => $5ec58a98f8a43d3b$export$2e2bcd8739ae039);
169
-
170
-
171
-
172
- var $7WHA7 = parcelRequire("7WHA7");
173
-
174
- var $6Q0mk = parcelRequire("6Q0mk");
175
-
176
- var $6GlMG = parcelRequire("6GlMG");
177
- const $5ec58a98f8a43d3b$var$iconClassname = 'rf-h-8 rf-w-8';
178
- const $5ec58a98f8a43d3b$var$MobileIconAndTitle = ({ subView: subView, className: className })=>{
179
- const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
180
- return /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsxs)("div", {
181
- className: `large:rf-hidden rf-py-2 rf-flex rf-flex-row rf-items-end ${className}`,
182
- children: [
183
- subView === (0, $7WHA7.AvailableViews).weather ? /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)($6GlMG.WeatherIcon, {
184
- className: $5ec58a98f8a43d3b$var$iconClassname
185
- }) : subView === (0, $7WHA7.AvailableViews).emergency ? /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)($6GlMG.EmergencyIcon, {
186
- className: $5ec58a98f8a43d3b$var$iconClassname
187
- }) : /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, ($parcel$interopDefault($avS3e$react))).Fragment, {}),
188
- /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)("div", {
189
- className: "rf-ml-2 rf-capitalize rf-subtitle-size-auto",
190
- children: translation[subView]
191
- })
192
- ]
193
- });
194
- };
195
- var $5ec58a98f8a43d3b$export$2e2bcd8739ae039 = $5ec58a98f8a43d3b$var$MobileIconAndTitle;
196
-
197
- });
198
-
199
-
200
117
  parcelRegister("aA7FU", function(module, exports) {
201
118
 
202
119
  $parcel$export(module.exports, "default", () => $5aac785fee9416e3$export$2e2bcd8739ae039);
203
120
 
204
121
 
205
122
 
206
- var $7WHA7 = parcelRequire("7WHA7");
207
123
 
208
- var $6Q0mk = parcelRequire("6Q0mk");
124
+ var $7WHA7 = parcelRequire("7WHA7");
209
125
 
210
126
  var $6GlMG = parcelRequire("6GlMG");
211
127
  const $5aac785fee9416e3$var$iconClassname = 'rf-h-16 rf-w-16 large-vertical:rf-h-24 large-vertical:rf-w-24';
212
128
  const $5aac785fee9416e3$var$LargeIconAndTitle = ({ subView: subView, className: className })=>{
213
- const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
129
+ const translation = (0, $avS3e$reactredux.useSelector)((state)=>state.localeReducer.currentTranslations);
214
130
  return /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsxs)("div", {
215
131
  className: `rf-hidden large:rf-flex rf-w-full rf-pt-4 large-vertical:rf-pt-8 rf-pl-4 large-vertical:rf-pl-0 rf-flex-row rf-justify-start large-vertical:rf-justify-center rf-items-center ${className}`,
216
132
  children: [
@@ -237,11 +153,10 @@ $parcel$export(module.exports, "default", () => $ca477ffba32efc70$export$2e2bcd8
237
153
 
238
154
 
239
155
 
240
- var $6EkQS = parcelRequire("6EkQS");
241
156
 
242
157
  var $hQSgy = parcelRequire("hQSgy");
243
158
  const $ca477ffba32efc70$var$OpenMeteoAttribution = ()=>{
244
- const isUsedOnBorne = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.isUsedOnBorne);
159
+ const isUsedOnBorne = (0, $avS3e$reactredux.useSelector)((state)=>state.retorikReducer.configuration.isUsedOnBorne);
245
160
  const [qrCodeData, setQrCodeData] = (0, $avS3e$react.useState)();
246
161
  const [showQrCode, setShowQrCode] = (0, $avS3e$react.useState)(false);
247
162
  const setQrCodeDataAsync = async ()=>{
@@ -285,6 +200,38 @@ var $ca477ffba32efc70$export$2e2bcd8739ae039 = $ca477ffba32efc70$var$OpenMeteoAt
285
200
 
286
201
  });
287
202
 
203
+ parcelRegister("bUTyR", function(module, exports) {
204
+
205
+ $parcel$export(module.exports, "default", () => $5ec58a98f8a43d3b$export$2e2bcd8739ae039);
206
+
207
+
208
+
209
+
210
+ var $7WHA7 = parcelRequire("7WHA7");
211
+
212
+ var $6GlMG = parcelRequire("6GlMG");
213
+ const $5ec58a98f8a43d3b$var$iconClassname = 'rf-h-8 rf-w-8';
214
+ const $5ec58a98f8a43d3b$var$MobileIconAndTitle = ({ subView: subView, className: className })=>{
215
+ const translation = (0, $avS3e$reactredux.useSelector)((state)=>state.localeReducer.currentTranslations);
216
+ return /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsxs)("div", {
217
+ className: `large:rf-hidden rf-py-2 rf-flex rf-flex-row rf-items-end ${className}`,
218
+ children: [
219
+ subView === (0, $7WHA7.AvailableViews).weather ? /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)($6GlMG.WeatherIcon, {
220
+ className: $5ec58a98f8a43d3b$var$iconClassname
221
+ }) : subView === (0, $7WHA7.AvailableViews).emergency ? /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)($6GlMG.EmergencyIcon, {
222
+ className: $5ec58a98f8a43d3b$var$iconClassname
223
+ }) : /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)((0, ($parcel$interopDefault($avS3e$react))).Fragment, {}),
224
+ /*#__PURE__*/ (0, $avS3e$reactjsxruntime.jsx)("div", {
225
+ className: "rf-ml-2 rf-capitalize rf-subtitle-size-auto",
226
+ children: translation[subView]
227
+ })
228
+ ]
229
+ });
230
+ };
231
+ var $5ec58a98f8a43d3b$export$2e2bcd8739ae039 = $5ec58a98f8a43d3b$var$MobileIconAndTitle;
232
+
233
+ });
234
+
288
235
 
289
236
 
290
- //# sourceMappingURL=Weather.8d8aa06a.js.map
237
+ //# sourceMappingURL=Weather.bb414852.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["src/components/Weather/Weather.tsx","src/components/Utils/SubView/LargeIconAndTitle.tsx","src/components/Weather/OpenMeteoAttribution.tsx","src/components/Utils/SubView/MobileIconAndTitle.tsx"],"sourcesContent":["import React, { useLayoutEffect } from 'react'\r\nimport WeatherContent from '@davi-ai/retorik-weather'\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport { RootState, storeActions } from '../../store'\r\n\r\nimport { AvailableViews, CurrentSubView, TemplateTarget } from '../../models/enums'\r\n\r\nimport TemplateGlobal from '../Templates/TemplateGlobal'\r\nimport LargeIconAndTitle from '../Utils/SubView/LargeIconAndTitle'\r\nimport AbsoluteLargeClosingButton from '../Utils/SubView/AbsoluteLargeClosingButton'\r\nimport OpenMeteoAttribution from './OpenMeteoAttribution'\r\nimport MobileIconAndTitle from '../Utils/SubView/MobileIconAndTitle'\r\n\r\ninterface WeatherProps {\r\n handleClose?: () => void\r\n}\r\n\r\nconst Weather = ({ handleClose }: WeatherProps): JSX.Element => {\r\n const dispatch = useDispatch()\r\n const locale = useSelector((state: RootState) => state.localeReducer.locale)\r\n const configuration = useSelector((state: RootState) => state.retorikReducer.configuration)\r\n const currentDeviceType = useSelector((state: RootState) => state.viewReducer.currentDeviceType)\r\n const isMobile = useSelector((state: RootState) => state.viewReducer.isMobile)\r\n\r\n useLayoutEffect(() => {\r\n if (!configuration.position?.latitude || !configuration.position?.longitude) {\r\n dispatch(storeActions.retorik.setShowPositionModal(true))\r\n dispatch(storeActions.utils.setCurrentSubView(CurrentSubView.none))\r\n }\r\n }, [configuration.position])\r\n\r\n /**\r\n * On call :\r\n * - set RetorikContext's displayWeather state to false\r\n */\r\n const handleBack = (): void => {\r\n dispatch(storeActions.directline.sendEvent({ name: 'Davi.CloseWindow', callback: () => dispatch(storeActions.directline.sendEvent({ name: 'Davi.CloseWindowWeather' })) }))\r\n handleClose ? handleClose() : dispatch(storeActions.utils.setCurrentSubView(CurrentSubView.none))\r\n }\r\n\r\n return (\r\n <TemplateGlobal target={TemplateTarget.weather} onClick={handleBack}>\r\n <div className={`rf-h-full rf-w-full rf-flex rf-flex-col ${isMobile ? 'rf-px-4' : 'rf-items-center'}`}>\r\n {/* Weather icon + text */}\r\n {isMobile ? <MobileIconAndTitle subView={AvailableViews.weather} className='rf-border-b rf-border-b-menuBorder' /> : <LargeIconAndTitle subView={AvailableViews.weather} />}\r\n\r\n {/* Weather data */}\r\n <WeatherContent\r\n locale={locale}\r\n deviceType={currentDeviceType}\r\n position={{\r\n latitude: configuration.position?.latitude || 0,\r\n longitude: configuration.position?.longitude || 0\r\n }}\r\n />\r\n\r\n <OpenMeteoAttribution />\r\n </div>\r\n\r\n {/* Closing button */}\r\n {!isMobile && <AbsoluteLargeClosingButton dashboardVisible={true} onClick={handleBack} />}\r\n </TemplateGlobal>\r\n )\r\n}\r\n\r\nexport default Weather\r\n","import React from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport { RootState } from '../../../store'\r\nimport { AvailableViews } from '../../../models/enums'\r\nimport * as Icons from '../../Icons/ViewIcons'\r\n\r\ninterface LargeIconAndTitleProps {\r\n subView: number\r\n className?: string\r\n}\r\n\r\nconst iconClassname = 'rf-h-16 rf-w-16 large-vertical:rf-h-24 large-vertical:rf-w-24'\r\n\r\nconst LargeIconAndTitle = ({ subView, className }: LargeIconAndTitleProps): JSX.Element => {\r\n const translation = useSelector((state: RootState) => state.localeReducer.currentTranslations)\r\n\r\n return (\r\n <div\r\n className={`rf-hidden large:rf-flex rf-w-full rf-pt-4 large-vertical:rf-pt-8 rf-pl-4 large-vertical:rf-pl-0 rf-flex-row rf-justify-start large-vertical:rf-justify-center rf-items-center ${className}`}\r\n >\r\n {/* Icon */}\r\n {subView === AvailableViews.weather ? (\r\n <Icons.WeatherIcon className={iconClassname} />\r\n ) : subView === AvailableViews.emergency ? (\r\n <Icons.EmergencyIcon className={iconClassname} />\r\n ) : (\r\n <React.Fragment />\r\n )}\r\n {/* Title */}\r\n <div className='rf-ml-2 rf-uppercase rf-text-[#575F6B] rf-subtitle-size-auto'>{translation[subView]}</div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default LargeIconAndTitle\r\n","import React, { useEffect, useState } from 'react'\r\nimport QRCode from 'qrcode'\r\nimport { useSelector } from 'react-redux'\r\nimport { RootState } from '../../store'\r\nimport QRCodeComponent from '../Utils/QRCodeComponent'\r\n\r\nconst OpenMeteoAttribution = (): JSX.Element => {\r\n const isUsedOnBorne = useSelector((state: RootState) => state.retorikReducer.configuration.isUsedOnBorne)\r\n const [qrCodeData, setQrCodeData] = useState<string>()\r\n const [showQrCode, setShowQrCode] = useState<boolean>(false)\r\n\r\n const setQrCodeDataAsync = async (): Promise<void> => {\r\n const qrCodeString = await QRCode.toDataURL('https://open-meteo.com/')\r\n setQrCodeData(qrCodeString)\r\n }\r\n\r\n useEffect(() => {\r\n isUsedOnBorne && setQrCodeDataAsync()\r\n }, [isUsedOnBorne])\r\n\r\n const handleClick = (): void => {\r\n setShowQrCode((current) => !current)\r\n }\r\n\r\n return (\r\n <div className='rf-w-full rf-py-2 rf-flex rf-justify-center'>\r\n {isUsedOnBorne ? (\r\n <React.Fragment>\r\n <div className='rf-relative rf-text-sm hover:rf-cursor-pointer' onClick={handleClick}>\r\n Weather data by Open-Meteo.com\r\n {showQrCode && qrCodeData ? (\r\n <div className='rf-absolute rf-left-1/2 rf-top-0 -rf-translate-x-1/2 -rf-translate-y-full'>\r\n <QRCodeComponent src={qrCodeData} />\r\n </div>\r\n ) : (\r\n <React.Fragment />\r\n )}\r\n </div>\r\n </React.Fragment>\r\n ) : (\r\n <a href='https://open-meteo.com/' target='_blank' rel='noreferrer noopener' className='rf-text-sm'>\r\n Weather data by open-meteo.com\r\n </a>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default OpenMeteoAttribution\r\n","import React from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport { RootState } from '../../../store'\r\nimport { AvailableViews } from '../../../models/enums'\r\nimport * as Icons from '../../Icons/ViewIcons'\r\n\r\ninterface MobileIconAndTitleProps {\r\n subView: number\r\n className?: string\r\n}\r\n\r\nconst iconClassname = 'rf-h-8 rf-w-8'\r\n\r\nconst MobileIconAndTitle = ({ subView, className }: MobileIconAndTitleProps): JSX.Element => {\r\n const translation = useSelector((state: RootState) => state.localeReducer.currentTranslations)\r\n\r\n return (\r\n <div className={`large:rf-hidden rf-py-2 rf-flex rf-flex-row rf-items-end ${className}`}>\r\n {/* Icon */}\r\n {subView === AvailableViews.weather ? (\r\n <Icons.WeatherIcon className={iconClassname} />\r\n ) : subView === AvailableViews.emergency ? (\r\n <Icons.EmergencyIcon className={iconClassname} />\r\n ) : (\r\n <React.Fragment />\r\n )}\r\n {/* Title */}\r\n <div className='rf-ml-2 rf-capitalize rf-subtitle-size-auto'>{translation[subView]}</div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default MobileIconAndTitle\r\n"],"names":[],"version":3,"file":"Weather.bb414852.js.map","sourceRoot":"../"}
@@ -1,6 +1,7 @@
1
1
  import {jsxs as $cCOLM$jsxs, jsx as $cCOLM$jsx} from "react/jsx-runtime";
2
2
  import $cCOLM$react, {useLayoutEffect as $cCOLM$useLayoutEffect, useState as $cCOLM$useState, useEffect as $cCOLM$useEffect} from "react";
3
3
  import $cCOLM$daviairetorikweather from "@davi-ai/retorik-weather";
4
+ import {useDispatch as $cCOLM$useDispatch, useSelector as $cCOLM$useSelector} from "react-redux";
4
5
  import $cCOLM$qrcode from "qrcode";
5
6
 
6
7
 
@@ -24,38 +25,30 @@ $parcel$export(module.exports, "default", () => $c2365f1c5aa7ab18$export$2e2bcd8
24
25
 
25
26
 
26
27
 
27
- var $2fuDN = parcelRequire("2fuDN");
28
28
 
29
- var $j67YK = parcelRequire("j67YK");
30
-
31
- var $1x02c = parcelRequire("1x02c");
32
-
33
- var $1Qww3 = parcelRequire("1Qww3");
34
-
35
- var $aNpqK = parcelRequire("aNpqK");
29
+ var $8ItUL = parcelRequire("8ItUL");
36
30
 
37
31
  var $4ucVo = parcelRequire("4ucVo");
38
32
 
39
- var $gQ55S = parcelRequire("gQ55S");
40
-
41
- var $e2B0Y = parcelRequire("e2B0Y");
33
+ var $aMohu = parcelRequire("aMohu");
42
34
 
43
35
  var $fshO3 = parcelRequire("fshO3");
44
36
 
45
37
  var $9uOFS = parcelRequire("9uOFS");
46
38
 
47
39
  var $7suBk = parcelRequire("7suBk");
40
+
41
+ var $iaKFs = parcelRequire("iaKFs");
48
42
  const $c2365f1c5aa7ab18$var$Weather = ({ handleClose: handleClose })=>{
49
- const locale = (0, $2fuDN.useLocaleStore)((state)=>state.locale);
50
- const configuration = (0, $1x02c.useRetorikStore)((state)=>state.configuration);
51
- const currentDeviceType = (0, $1Qww3.useViewStore)((state)=>state.currentDeviceType);
52
- const isMobile = (0, $1Qww3.useViewStore)((state)=>state.isMobile);
53
- const setCurrentSubView = (0, $j67YK.useUtilsStore)((state)=>state.actions.setCurrentSubView);
54
- const sendEvent = (0, $aNpqK.useDirectlineStore)((state)=>state.actions.sendEvent);
43
+ const dispatch = (0, $cCOLM$useDispatch)();
44
+ const locale = (0, $cCOLM$useSelector)((state)=>state.localeReducer.locale);
45
+ const configuration = (0, $cCOLM$useSelector)((state)=>state.retorikReducer.configuration);
46
+ const currentDeviceType = (0, $cCOLM$useSelector)((state)=>state.viewReducer.currentDeviceType);
47
+ const isMobile = (0, $cCOLM$useSelector)((state)=>state.viewReducer.isMobile);
55
48
  (0, $cCOLM$useLayoutEffect)(()=>{
56
49
  if (!configuration.position?.latitude || !configuration.position?.longitude) {
57
- console.log('Retorik Framework > asked for weather display but no position data given');
58
- setCurrentSubView((0, $4ucVo.CurrentSubView).none);
50
+ dispatch((0, $8ItUL.storeActions).retorik.setShowPositionModal(true));
51
+ dispatch((0, $8ItUL.storeActions).utils.setCurrentSubView((0, $4ucVo.CurrentSubView).none));
59
52
  }
60
53
  }, [
61
54
  configuration.position
@@ -64,37 +57,25 @@ const $c2365f1c5aa7ab18$var$Weather = ({ handleClose: handleClose })=>{
64
57
  * On call :
65
58
  * - set RetorikContext's displayWeather state to false
66
59
  */ const handleBack = ()=>{
67
- sendEvent('Davi.CloseWindow', null, ()=>sendEvent('Davi.CloseWindowWeather', null));
68
- handleClose ? handleClose() : setCurrentSubView((0, $4ucVo.CurrentSubView).none);
60
+ dispatch((0, $8ItUL.storeActions).directline.sendEvent({
61
+ name: 'Davi.CloseWindow',
62
+ callback: ()=>dispatch((0, $8ItUL.storeActions).directline.sendEvent({
63
+ name: 'Davi.CloseWindowWeather'
64
+ }))
65
+ }));
66
+ handleClose ? handleClose() : dispatch((0, $8ItUL.storeActions).utils.setCurrentSubView((0, $4ucVo.CurrentSubView).none));
69
67
  };
70
- return isMobile ? /*#__PURE__*/ (0, $cCOLM$jsxs)((0, $gQ55S.FullScreenMobile), {
71
- depth: (0, $4ucVo.Depth).dropdown,
72
- background: "#FFFFFF",
73
- children: [
74
- /*#__PURE__*/ (0, $cCOLM$jsx)((0, $e2B0Y.default), {
75
- subView: (0, $4ucVo.AvailableViews).weather,
76
- className: "rf-border-b rf-border-b-menuBorder",
77
- handleBack: handleBack
78
- }),
79
- /*#__PURE__*/ (0, $cCOLM$jsx)((0, $cCOLM$daviairetorikweather), {
80
- locale: locale,
81
- deviceType: currentDeviceType,
82
- position: {
83
- latitude: configuration.position?.latitude || 0,
84
- longitude: configuration.position?.longitude || 0
85
- }
86
- }),
87
- /*#__PURE__*/ (0, $cCOLM$jsx)((0, $7suBk.default), {})
88
- ]
89
- }) : /*#__PURE__*/ (0, $cCOLM$jsxs)((0, $gQ55S.FullScreen), {
90
- depth: (0, $4ucVo.Depth).dropdown,
91
- background: "linear-gradient(to right bottom, #F2F8F8FC , #F2E1E2E8)",
68
+ return /*#__PURE__*/ (0, $cCOLM$jsxs)((0, $aMohu.default), {
69
+ target: (0, $4ucVo.TemplateTarget).weather,
92
70
  onClick: handleBack,
93
71
  children: [
94
72
  /*#__PURE__*/ (0, $cCOLM$jsxs)("div", {
95
- className: "rf-h-full rf-w-full rf-flex rf-flex-col rf-items-center",
73
+ className: `rf-h-full rf-w-full rf-flex rf-flex-col ${isMobile ? 'rf-px-4' : 'rf-items-center'}`,
96
74
  children: [
97
- /*#__PURE__*/ (0, $cCOLM$jsx)((0, $fshO3.default), {
75
+ isMobile ? /*#__PURE__*/ (0, $cCOLM$jsx)((0, $iaKFs.default), {
76
+ subView: (0, $4ucVo.AvailableViews).weather,
77
+ className: "rf-border-b rf-border-b-menuBorder"
78
+ }) : /*#__PURE__*/ (0, $cCOLM$jsx)((0, $fshO3.default), {
98
79
  subView: (0, $4ucVo.AvailableViews).weather
99
80
  }),
100
81
  /*#__PURE__*/ (0, $cCOLM$jsx)((0, $cCOLM$daviairetorikweather), {
@@ -108,7 +89,7 @@ const $c2365f1c5aa7ab18$var$Weather = ({ handleClose: handleClose })=>{
108
89
  /*#__PURE__*/ (0, $cCOLM$jsx)((0, $7suBk.default), {})
109
90
  ]
110
91
  }),
111
- /*#__PURE__*/ (0, $cCOLM$jsx)((0, $9uOFS.default), {
92
+ !isMobile && /*#__PURE__*/ (0, $cCOLM$jsx)((0, $9uOFS.default), {
112
93
  dashboardVisible: true,
113
94
  onClick: handleBack
114
95
  })
@@ -118,84 +99,19 @@ const $c2365f1c5aa7ab18$var$Weather = ({ handleClose: handleClose })=>{
118
99
  var $c2365f1c5aa7ab18$export$2e2bcd8739ae039 = $c2365f1c5aa7ab18$var$Weather;
119
100
 
120
101
  });
121
- parcelRegister("e2B0Y", function(module, exports) {
122
-
123
- $parcel$export(module.exports, "default", () => $24f0b093ea089a6f$export$2e2bcd8739ae039);
124
-
125
-
126
-
127
- var $2fuDN = parcelRequire("2fuDN");
128
-
129
- var $28ved = parcelRequire("28ved");
130
-
131
- var $iaKFs = parcelRequire("iaKFs");
132
- const $24f0b093ea089a6f$var$MobileTopContainer = ({ subView: subView, className: className, handleBack: handleBack })=>{
133
- const translation = (0, $2fuDN.useLocaleStore)((state)=>state.currentTranslations);
134
- return /*#__PURE__*/ (0, $cCOLM$jsxs)((0, $cCOLM$react).Fragment, {
135
- children: [
136
- /*#__PURE__*/ (0, $cCOLM$jsx)((0, $28ved.BackButton), {
137
- title: translation.common.back,
138
- className: "rf-text-sm",
139
- handleBack: handleBack
140
- }),
141
- subView && /*#__PURE__*/ (0, $cCOLM$jsx)((0, $iaKFs.default), {
142
- subView: subView,
143
- className: className
144
- })
145
- ]
146
- });
147
- };
148
- var $24f0b093ea089a6f$export$2e2bcd8739ae039 = $24f0b093ea089a6f$var$MobileTopContainer;
149
-
150
- });
151
- parcelRegister("iaKFs", function(module, exports) {
152
-
153
- $parcel$export(module.exports, "default", () => $c34cf20fdff0eb66$export$2e2bcd8739ae039);
154
-
155
-
156
-
157
- var $4ucVo = parcelRequire("4ucVo");
158
-
159
- var $2fuDN = parcelRequire("2fuDN");
160
-
161
- var $41ZLl = parcelRequire("41ZLl");
162
- const $c34cf20fdff0eb66$var$iconClassname = 'rf-h-8 rf-w-8';
163
- const $c34cf20fdff0eb66$var$MobileIconAndTitle = ({ subView: subView, className: className })=>{
164
- const translation = (0, $2fuDN.useLocaleStore)((state)=>state.currentTranslations);
165
- return /*#__PURE__*/ (0, $cCOLM$jsxs)("div", {
166
- className: `large:rf-hidden rf-py-2 rf-flex rf-flex-row rf-items-end ${className}`,
167
- children: [
168
- subView === (0, $4ucVo.AvailableViews).weather ? /*#__PURE__*/ (0, $cCOLM$jsx)($41ZLl.WeatherIcon, {
169
- className: $c34cf20fdff0eb66$var$iconClassname
170
- }) : subView === (0, $4ucVo.AvailableViews).emergency ? /*#__PURE__*/ (0, $cCOLM$jsx)($41ZLl.EmergencyIcon, {
171
- className: $c34cf20fdff0eb66$var$iconClassname
172
- }) : /*#__PURE__*/ (0, $cCOLM$jsx)((0, $cCOLM$react).Fragment, {}),
173
- /*#__PURE__*/ (0, $cCOLM$jsx)("div", {
174
- className: "rf-ml-2 rf-capitalize rf-subtitle-size-auto",
175
- children: translation[subView]
176
- })
177
- ]
178
- });
179
- };
180
- var $c34cf20fdff0eb66$export$2e2bcd8739ae039 = $c34cf20fdff0eb66$var$MobileIconAndTitle;
181
-
182
- });
183
-
184
-
185
102
  parcelRegister("fshO3", function(module, exports) {
186
103
 
187
104
  $parcel$export(module.exports, "default", () => $c0be9b86124f1061$export$2e2bcd8739ae039);
188
105
 
189
106
 
190
107
 
191
- var $4ucVo = parcelRequire("4ucVo");
192
108
 
193
- var $2fuDN = parcelRequire("2fuDN");
109
+ var $4ucVo = parcelRequire("4ucVo");
194
110
 
195
111
  var $41ZLl = parcelRequire("41ZLl");
196
112
  const $c0be9b86124f1061$var$iconClassname = 'rf-h-16 rf-w-16 large-vertical:rf-h-24 large-vertical:rf-w-24';
197
113
  const $c0be9b86124f1061$var$LargeIconAndTitle = ({ subView: subView, className: className })=>{
198
- const translation = (0, $2fuDN.useLocaleStore)((state)=>state.currentTranslations);
114
+ const translation = (0, $cCOLM$useSelector)((state)=>state.localeReducer.currentTranslations);
199
115
  return /*#__PURE__*/ (0, $cCOLM$jsxs)("div", {
200
116
  className: `rf-hidden large:rf-flex rf-w-full rf-pt-4 large-vertical:rf-pt-8 rf-pl-4 large-vertical:rf-pl-0 rf-flex-row rf-justify-start large-vertical:rf-justify-center rf-items-center ${className}`,
201
117
  children: [
@@ -222,11 +138,10 @@ $parcel$export(module.exports, "default", () => $954e5588fc9f219b$export$2e2bcd8
222
138
 
223
139
 
224
140
 
225
- var $1x02c = parcelRequire("1x02c");
226
141
 
227
142
  var $3mANd = parcelRequire("3mANd");
228
143
  const $954e5588fc9f219b$var$OpenMeteoAttribution = ()=>{
229
- const isUsedOnBorne = (0, $1x02c.useRetorikStore)((state)=>state.configuration.isUsedOnBorne);
144
+ const isUsedOnBorne = (0, $cCOLM$useSelector)((state)=>state.retorikReducer.configuration.isUsedOnBorne);
230
145
  const [qrCodeData, setQrCodeData] = (0, $cCOLM$useState)();
231
146
  const [showQrCode, setShowQrCode] = (0, $cCOLM$useState)(false);
232
147
  const setQrCodeDataAsync = async ()=>{
@@ -270,6 +185,38 @@ var $954e5588fc9f219b$export$2e2bcd8739ae039 = $954e5588fc9f219b$var$OpenMeteoAt
270
185
 
271
186
  });
272
187
 
188
+ parcelRegister("iaKFs", function(module, exports) {
189
+
190
+ $parcel$export(module.exports, "default", () => $c34cf20fdff0eb66$export$2e2bcd8739ae039);
191
+
192
+
193
+
194
+
195
+ var $4ucVo = parcelRequire("4ucVo");
196
+
197
+ var $41ZLl = parcelRequire("41ZLl");
198
+ const $c34cf20fdff0eb66$var$iconClassname = 'rf-h-8 rf-w-8';
199
+ const $c34cf20fdff0eb66$var$MobileIconAndTitle = ({ subView: subView, className: className })=>{
200
+ const translation = (0, $cCOLM$useSelector)((state)=>state.localeReducer.currentTranslations);
201
+ return /*#__PURE__*/ (0, $cCOLM$jsxs)("div", {
202
+ className: `large:rf-hidden rf-py-2 rf-flex rf-flex-row rf-items-end ${className}`,
203
+ children: [
204
+ subView === (0, $4ucVo.AvailableViews).weather ? /*#__PURE__*/ (0, $cCOLM$jsx)($41ZLl.WeatherIcon, {
205
+ className: $c34cf20fdff0eb66$var$iconClassname
206
+ }) : subView === (0, $4ucVo.AvailableViews).emergency ? /*#__PURE__*/ (0, $cCOLM$jsx)($41ZLl.EmergencyIcon, {
207
+ className: $c34cf20fdff0eb66$var$iconClassname
208
+ }) : /*#__PURE__*/ (0, $cCOLM$jsx)((0, $cCOLM$react).Fragment, {}),
209
+ /*#__PURE__*/ (0, $cCOLM$jsx)("div", {
210
+ className: "rf-ml-2 rf-capitalize rf-subtitle-size-auto",
211
+ children: translation[subView]
212
+ })
213
+ ]
214
+ });
215
+ };
216
+ var $c34cf20fdff0eb66$export$2e2bcd8739ae039 = $c34cf20fdff0eb66$var$MobileIconAndTitle;
217
+
218
+ });
219
+
273
220
 
274
221
 
275
- //# sourceMappingURL=Weather.87ab2128.js.map
222
+ //# sourceMappingURL=Weather.ced9b467.js.map