{"version":3,"sources":["components/TagFilter/TagFilter.module.sass","components/Dropdown/Dropdown.module.sass","shared/icons/technology.svg","shared/icons/arrow_notes.svg","shared/icons/media_backward.svg","shared/icons/media_forward.svg","shared/icons/incomplete_hide.svg","shared/icons/incomplete_show.svg","hoc/Layout/VolumeScrub/VolumeScrub.module.sass","components/MediaGallery/GallerySection.module.sass","containers/Medias/Medias.module.sass","hoc/Layout/Toolbar/Toolbar.module.sass","components/Media/Media.module.sass","shared/icons/proto_logo.svg","shared/icons/tag_interactive_parcours.svg","hoc/Layout/Layout.module.sass","shared/icons/nav_x.svg","shared/icons/nav_home.svg","shared/icons/nav_demos.svg","shared/icons/nav_playlists.svg","shared/icons/nav_protos.svg","shared/icons/nav_projects.svg","shared/icons/nav_medias.svg","shared/icons/nav_inputs.svg","shared/icons/nav_logout.svg","hoc/Layout/SideDrawer/Backdrop/Backdrop.module.sass","hoc/Layout/SideDrawer/DrawerToggle/DrawerToggle.module.sass","shared/icons/connections_green.svg","shared/icons/volume.svg","shared/icons/add_visitor.svg","shared/icons/project_logo.svg","shared/icons/plus_symbol.svg","shared/icons/warning_sign_presets.svg","shared/icons/media_image_logo.svg","shared/icons/media_video_logo.svg","shared/icons/media_pause.svg","shared/icons/media_x.svg","shared/icons/unity_logo.svg","shared/icons/touchdesigner_logo.svg","containers/Demos/Demos.module.sass","shared/icons/tag_augmented_games.svg","shared/icons/tag_augmented_performance.svg","shared/icons/tag_interactive_popup.svg","shared/icons/tag_law.svg","shared/icons/tag_living_visual.svg","shared/icons/dropdown_arrow.svg","shared/icons/placeholder.svg","shared/icons/warning_sign.svg","shared/icons/google.svg","shared/icons/enter_block_arrow.svg","containers/Playlist/Playlist.module.sass","components/PlayablePreview/PlayablePreview.module.sass","hoc/Layout/NavigationItems/NavigationItems.module.sass","containers/Playlists/Playlists.module.sass","shared/icons/play.svg","shared/icons/search.svg","axios-instance.js","store/actions/airtableActions.js","store/actions/actionTypes.js","store/utility.js","store/reducers/airtableReducer.js","store/reducers/mqttReducer.js","store/reducers/applicationReducer.js","store-redux.js","store/actions/mqttActions.js","store/actions/applicationActions.js","utils/utils.js","utils/GoogleAuthProvider.js","hoc/Layout/NavigationItems/NavigationItems.js","hoc/Layout/SideDrawer/Backdrop/Backdrop.js","hoc/Layout/SideDrawer/SideDrawer.js","hoc/Layout/SideDrawer/DrawerToggle/DrawerToggle.js","hoc/Layout/VolumeScrub/VolumeScrub.js","hoc/Layout/Toolbar/Toolbar.js","hoc/Layout/Layout.js","components/PlayablePreview/PlayablePreview.js","components/SidebarPlaylist/SidebarPlaylist.js","containers/Demo/Demo.js","containers/Demos/Demos.js","containers/Playlist/Playlist.js","containers/Playlists/Playlists.js","components/Media/Media.js","components/MediaGallery/GallerySection.js","components/MediaGallery/GalleryTab.js","components/ProtoOrProject/Software.js","containers/Proto/Proto.js","components/TagFilter/TagFilter.js","components/Dropdown/Dropdown.js","containers/Protos/Protos.js","containers/Project/Project.js","containers/Projects/Projects.js","containers/Medias/Medias.js","containers/PlaylistItem/PlaylistItem.js","components/WarningNotice/WarningNotice.js","hoc/Layout/Login.js","App.js","index.js","containers/Proto/Proto.module.sass","containers/Protos/Protos.module.sass","containers/Projects/Projects.module.sass","containers/Demo/Demo.module.sass","shared/icons/breadcrumb_separator.svg","shared/icons/media_gradient_circle.svg","hoc/Layout/SideDrawer/SideDrawer.module.sass","components/WarningNotice/WarningNotice.module.sass","containers/Project/Project.module.sass","shared/icons/stop_button.svg","App.module.sass","components/SidebarPlaylist/SidebarPlaylist.module.sass","components/ProtoOrProject/Software.module.sass","hoc/Layout/Login.module.sass"],"names":["module","exports","instance","axios","create","baseURL","process","fetchSessionsSuccess","sessions","type","receivedAt","Date","now","fetchSessions","dispatch","get","then","response","data","catch","error","fetchSessionsFailed","fetchDemosSuccess","demos","fetchDemos","fetchDemosFailed","fetchProtosSuccess","protos","filter","proto","fields","status","fetchProtos","fetchProtosFailed","fetchPlaylistsSuccess","playlists","fetchPlaylists","fetchPlaylistsFailed","fetchPlaylistItemsSuccess","playlistItems","playlistItem","protoStatus","projectStatus","fetchPlaylistItems","fetchPlaylistItemsFailed","fetchMediasSuccess","medias","fetchMedias","fetchMediasFailed","fetchVisitorsSuccess","visitors","fetchVisitors","fetchVisitorsFailed","fetchDemonstratorsSuccess","demonstrators","fetchDemonstrators","fetchDemonstratorsFailed","fetchResponsiblesSuccess","responsibles","fetchResponsibles","fetchResponsiblesFailed","fetchFeedbacksSuccess","feedbacks","fetchFeedbacks","fetchFeedbacksFailed","fetchTechnologiesSuccess","technologies","fetchTechnologies","fetchTechnologiesFailed","fetchTagsSuccess","tags","fetchTags","fetchTagsFailed","fetchProjectsSuccess","projects","fetchProjects","fetchProjectsFailed","getItemByID","model","id","getState","airtableState","airtableReducer","find","i","updateObject","oldObject","updatedValue","initialState","reducer","state","action","mqttClient","online","presets","currentMedia","currentDemo","currentPreset","currentProto","currentProject","currentNavigation","currentVolume","currentGuestsCheckedInIds","volume","payload","sessionIds","preset","project","media","demo","demoID","playlistID","protoID","projectID","playlistItemID","rootReducer","combineReducers","mqttReducer","applicationReducer","composeEnhancers","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","store","createStore","applyMiddleware","next","thunk","MQTT_TOPIC_PUBLISH","MQTT_TOPIC_SUBSCRIBED","initMQTTClient","mqtt","connect","subscribe","on","changeMQTTClientState","onConnect","errorMQTTClient","onError","topic","JSON","parse","mqttMatch","handleMessageCurrentProtoPresets","airtableID","sendMQTTCurrentMediaRequest","sendMQTTCurrentPresetRequest","sendMQTTCurrentDemoRequest","sendMQTTCurrentProtoRequest","sendMQTTCurrentProjectRequest","sendMQTTCurrentNavigationRequest","sendMQTTCurrentVolumeRequest","sendMQTTCurrentGuestsCheckedInIdsRequest","mapTableToAction","Visits","airtableActions","Sessions","Protos","Projects","Playlists","PlaylistItems","Medias","Visitors","Demonstrators","Responsibles","Feedbacks","Technologies","Tags","Object","keys","forEach","table","onMessageArrived","onOffline","onClose","onConnectionLost","createMQTTClient","sendMQTTGeneric","sendMQTTScrubMedia","scrubValue","stringify","scrubMedia","publish","sendMQTTCurrentDemo","_","visitID","visitName","language","Time","retain","sendMQTTCurrentProject","path","title","startDemo","sendMQTTCurrentProto","uuid","sendMQTTCurrentNavigation","sendMQTTCurrentPreset","sendMQTTCurrentMedia","toLowerCase","changeNavigationPage","ids","changeNavigationPageRequest","navigateToPage","navigationData","navigate","actions","GoogleAuthContext","createContext","gapi","isSignedIn","loading","GoogleAuthProvider","children","useState","setGapi","setIsSignedIn","useScript","src","scriptLoading","scriptError","authLoading","setAuthLoading","authError","setAuthError","useEffect","load","auth2","init","client_id","listen","gapiError","err","message","Provider","value","NavigationItems","useContext","className","classes","NavigationItem","onClick","iconNavHome","alt","iconNavDemos","iconNavProtos","iconNavProjects","iconNavPlaylists","iconNavMedias","iconNavInputs","style","flexGrow","NavigationItemLast","getAuthInstance","signOut","iconNavLogout","backdrop","show","clicked","Backdrop","sideDrawer","open","closed","attachedClasses","SideDrawer","Close","Open","join","DrawerHeader","CloseButton","navXIcon","drawerToggle","DrawerToggle","width","height","viewBox","fill","xmlns","d","stroke","stroke-width","sendMQTTCurrentVolume","volumeLevel","changeVolumeLevel","scrubbing","changeScrubbingState","scrubbingStateRef","React","useRef","setScrubbingState","current","volumeScrub","document","getElementById","addEventListener","passive","e","updateVolumeLevel","removeEventListener","rect","getBoundingClientRect","leftPosition","left","totalWidthScrub","clickedPosition","clientX","touches","newVolumeLevelPercentage","min","max","Math","round","VolumeLevelContainer","VolumeLevel","VolumeIcon","iconVolume","drawerToggleClicked","currentDemoState","changeCurrentDemoState","time","changeTime","interval","setInterval","clearInterval","demoVisitorIds","session","visitId","indexOf","map","visitorId","navigationPages","CurrentNavigationPage","iconBreadcrumbSeparator","toUpperCase","currentProtoNav","CurrentProto","CurrentNavigationArrow","iconEnterBlockArrow","CurrentNavigationText","connectionsBlock","Connections","ConnectionsActive","ConnectionsArrow","ConnectionsIcon","iconConnectionsGreen","Number","length","Toolbar","CurrentNavigation","Hour","getHours","toString","padStart","getMinutes","Volume","Layout","sideDrawerOpen","toggleSideDrawer","changeState","Content","PlayablePreview","size","isActive","isPlaying","isIncomplete","thumbnail","sizes","M","PlaylistItem","ImageContainer","DescriptionContainer","Title","TitleM","L","TitleL","activeClass","Active","Playing","Wrapper","IconEnterBlock","backgroundImage","StatusNotCurated","Logo","iconProtoLogo","iconProjectLogo","protoBlocks","playlist","playlistItemsInPlaylist","key","protoThumbnail","url","projectThumbnail","placeholderImage","name","Playlist","PlaylistHeader","PlaylistHeaderTitle","PlaylistName","ProtosAndTransitions","changeDemo","visitorSessions","changeVisitorSessions","sessionsInVisit","VisitId","visitor","VisitorId","startCurrentDemo","currentPlaylist","firstItem","isProto","isProject","content","sidebarPlaylist","SidebarPlaylist","stayInPlaylist","playButton","PlayButton","playIcon","StopButton","stopButtonIcon","LeftContent","ContentHeader","CreatedContainer","CreatedInfo","CreatedInfoText","CreatedInfoDate","demoStartTime","toDateString","ContentInfo","VisitInfos","DateAndLanguage","dayjs","format","VisitGoals","VisitGoalsTitle","VisitGoalsText","DemoInfos","DemoPresentatorContainer","DemoPresentatorTitle","DemoPresentator","DemoPresentatorName","DemoBriefContainer","DemoBriefTitle","DemoBrief","visitorSession","takeawayFrame","takeaway","filename","isCheckedIn","checkinEndedAt","isConnected","Visitor","StatusConnected","StatusCheckedIn","StatusInvited","StatusContainer","Status","StatusColorCircle","Picture","PictureTakeaway","firstName","charAt","lastName","Name","Occupation","jobTitle","Company","company","AddVisitorContainer","ButtonAddVisitor","addVisitorIcon","RightContent","DemoContainer","searchbarActivated","isHomepage","search","changeSearch","generateBlocksForDemos","demosToGenerateBlocks","blocks","sort","a","b","Demo","KeyInfo","Info","PageTitle","Demos","NoDemosToday","demoBlocks","includes","startOfDay","getFullYear","getMonth","getDate","endOfDay","getTime","demosToday","demosPast","demosNext","demoBlocksToday","demoBlocksPast","demoBlocksNext","searchbar","Searchbar","iconSearch","placeholder","onChange","target","DemosContainer","ButtonNewDemo","REACT_APP_RESERVATION_URL","iconPlusSymbol","ButtonNewDemoText","changePlaylist","thumbnails","slice","playlistItemIndex","thumbnailField","Image","Details","KeyInfos","Description","PlaylistContainer","playlistBlocks","showcaseHomepage","charCodeAt","playlistIndex","Creator","mediaModalOpen","changeMediaModalOpen","controls","playingClass","isVideo","BackwardButton","BorderCircle","iconMediaGradientCircle","iconMediaBackward","PauseButton","iconMediaPause","ForwardButton","iconMediaForward","mediaInfoOpenClass","MediaInfoOpen","MediaInfoClosed","mediaType","isImage","MediaWrapper","Media","HiddenContent","ButtonClose","iconMediaX","MediaImage","ButtonInfo","Thumbnail","MediaInfos","MediaLogo","IconMediaImage","iconMediaImageLogo","iconMediaVideoLogo","MediaTitle","GallerySection","items","ContainerTitle","Grid","mediaItem","item","getMediaItems","m","photos","videos","stats","Gallery","Software","engine","SoftwareContainer","SoftwareLogo","iconUnityLogo","iconTouchDesignerLogo","SoftwareName","navigation","location","useLocation","refLeftContent","console","log","pathname","scrollTo","changeProto","activeProto","p","changeProtoLoadedState","tab","changeTab","protoLoaded","startCurrentProto","setTimeout","currentTab","presetBlocks","NotLoadedMessageBlock","WarningIcon","iconWarningSignPresets","NotLoadedMessage","Presets","Preset","activatePreset","PresetInfos","associatedTechnologies","protoTechnologies","t","technology","iconEnterTech","Technology","launchTechnology","IconTechnology","iconTechnology","relatedProtos","relatedProtosData","rp","Row4","RelatedProtos","Infos","Row2","NotesContainer","defaultActiveKey","Panel","header","Notes","split","line","iconArrowNotes","TechnologiesAndSoftwares","PresetsContainerWrapper","PresetsContainer","TechnologiesContainer","ref","FullWidth","PreviewImageContainer","PreviewImage","HeaderInfos","Tabs","Tab","ProtoContainer","filterIcons","interactiveParcours","iconTagInteractiveParcours","augmentedGames","iconTagAugmentedGames","augmentedPerformances","iconTagAugmentedPerformance","livingVisual","iconTagLivingVisual","interactivePopup","iconTagInteractivePopup","iconTagLaw","TagFilter","tag","FilterWrapper","Filter","FilterActive","uiIconKey","FilterIcon","DropdownMenu","options","activeOption","option","Dropdown","overlay","Item","DropdownMenuItem","optionIndex","text","trigger","iconDropdownArrow","engineFilter","changeEngineFilter","technologyFilter","changeTechnologyFilter","interactionFilter","changeInteractionFilter","tagFilter","changeTagFilter","showIncompleteProtos","changeShowIncompleteProtos","interactionDropdown","engineDropdown","technologyDropdown","engines","reduce","engineList","interactions","interactionList","interaction","filteredProtos","locations","created","SearchActions","Filters","PageHeaderBar","ToggleCuratedButton","iconIncompleteHide","iconIncompleteShow","ToggleCuratedIcon","changeProject","activeProject","startCurrentProject","projectTechnologies","relatedProjects","relatedProjectsData","RelatedProjects","Actions","ActionsScrub","ProjectContainer","showIncompleteProjects","changeShowIncompleteProjects","projectBlocks","filteredProjects","mediaBlocks","WarningNotice","visible","changeVisibility","closeButtonShown","changeCloseButtonVisibility","progressValue","closeButton","WarningNoticeButton","display","WarningNoticeContainer","WarningNoticeHeader","warningSignIcon","WarningNoticeMessage","textAlign","WarningNoticeAction","strokeLinecap","percent","strokeColor","showInfo","strokeWidth","Login","buttonEl","attachClickHandler","Button","svg_google","Icon","ScrollToTop","initApp","useDispatch","page","Homepage","warningNotice","Container","app","ReactDOM","render"],"mappings":"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","file":"static/js/main.fa8b707f.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"FilterWrapper\":\"TagFilter_FilterWrapper__2QPeJ\",\"Filter\":\"TagFilter_Filter__1vx_X\",\"FilterActive\":\"TagFilter_FilterActive__30EW5\",\"FilterIcon\":\"TagFilter_FilterIcon__1nF2p\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Dropdown\":\"Dropdown_Dropdown__3amkg\",\"DropdownMenu\":\"Dropdown_DropdownMenu__123Z_\",\"DropdownMenuItem\":\"Dropdown_DropdownMenuItem__2n0nR\"};","module.exports = __webpack_public_path__ + \"static/media/technology.eeeae101.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrow_notes.07f556c1.svg\";","module.exports = __webpack_public_path__ + \"static/media/media_backward.5f450aef.svg\";","module.exports = __webpack_public_path__ + \"static/media/media_forward.a3b6ef72.svg\";","module.exports = __webpack_public_path__ + \"static/media/incomplete_hide.d440cbff.svg\";","module.exports = __webpack_public_path__ + \"static/media/incomplete_show.65e66a70.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"VolumeLevelContainer\":\"VolumeScrub_VolumeLevelContainer__3v1lm\",\"VolumeLevel\":\"VolumeScrub_VolumeLevel__3sUyc\",\"VolumeIcon\":\"VolumeScrub_VolumeIcon__NMu8z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"GallerySection\":\"GallerySection_GallerySection__21x13\",\"ContainerTitle\":\"GallerySection_ContainerTitle__SiM6C\",\"Grid\":\"GallerySection_Grid__2J5v1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PageTitle\":\"Medias_PageTitle__22ovr\",\"Medias\":\"Medias_Medias__3E7Ls\",\"Searchbar\":\"Medias_Searchbar__2pSAW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Toolbar\":\"Toolbar_Toolbar__3vt5n\",\"CurrentNavigation\":\"Toolbar_CurrentNavigation__3oTxL\",\"CurrentNavigationPage\":\"Toolbar_CurrentNavigationPage__3nKzV\",\"CurrentProto\":\"Toolbar_CurrentProto__2M8_F\",\"CurrentNavigationArrow\":\"Toolbar_CurrentNavigationArrow__wpidA\",\"CurrentNavigationText\":\"Toolbar_CurrentNavigationText__gc37C\",\"Connections\":\"Toolbar_Connections__3hogw\",\"ConnectionsArrow\":\"Toolbar_ConnectionsArrow__19x-a\",\"ConnectionsIcon\":\"Toolbar_ConnectionsIcon__2VuEq\",\"Number\":\"Toolbar_Number__2XRVk\",\"ConnectionsActive\":\"Toolbar_ConnectionsActive__359GS\",\"Hour\":\"Toolbar_Hour__1pTFm\",\"Volume\":\"Toolbar_Volume__1klDc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"MediaWrapper\":\"Media_MediaWrapper__2JmLg\",\"Media\":\"Media_Media__2MWga\",\"Playing\":\"Media_Playing__2AIOY\",\"HiddenContent\":\"Media_HiddenContent__LiAOn\",\"Description\":\"Media_Description__5-Ojm\",\"ButtonClose\":\"Media_ButtonClose__ts-pY\",\"MediaImage\":\"Media_MediaImage__1rXeA\",\"MediaInfoClosed\":\"Media_MediaInfoClosed__38XbX\",\"close-media-info\":\"Media_close-media-info__2PsmY\",\"MediaInfoOpen\":\"Media_MediaInfoOpen__2Tdj-\",\"open-media-info\":\"Media_open-media-info__1-CDu\",\"ButtonInfo\":\"Media_ButtonInfo__22Jmv\",\"Thumbnail\":\"Media_Thumbnail__1lvr-\",\"BackwardButton\":\"Media_BackwardButton__17f4O\",\"BorderCircle\":\"Media_BorderCircle__2dJIQ\",\"ForwardButton\":\"Media_ForwardButton__36Nne\",\"PauseButton\":\"Media_PauseButton__1l3CB\",\"PlayButton\":\"Media_PlayButton__bFCh0\",\"MediaInfos\":\"Media_MediaInfos__1-pqV\",\"close-media-info-title\":\"Media_close-media-info-title__3CrE3\",\"open-media-info-title\":\"Media_open-media-info-title__2THlR\",\"MediaLogo\":\"Media_MediaLogo__1X8QQ\",\"IconMediaImage\":\"Media_IconMediaImage__1G1gN\",\"MediaTitle\":\"Media_MediaTitle__2n97B\"};","module.exports = __webpack_public_path__ + \"static/media/proto_logo.4cbaac61.svg\";","module.exports = __webpack_public_path__ + \"static/media/tag_interactive_parcours.0f06f43b.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Content\":\"Layout_Content__37oK7\",\"pageTitle\":\"Layout_pageTitle___zDL7\"};","module.exports = __webpack_public_path__ + \"static/media/nav_x.5faa0966.svg\";","module.exports = __webpack_public_path__ + \"static/media/nav_home.40de1076.svg\";","module.exports = __webpack_public_path__ + \"static/media/nav_demos.a325a39e.svg\";","module.exports = __webpack_public_path__ + \"static/media/nav_playlists.536e11bb.svg\";","module.exports = __webpack_public_path__ + \"static/media/nav_protos.605d8d00.svg\";","module.exports = __webpack_public_path__ + \"static/media/nav_projects.7cf9c626.svg\";","module.exports = __webpack_public_path__ + \"static/media/nav_medias.5b98ddf5.svg\";","module.exports = __webpack_public_path__ + \"static/media/nav_inputs.4268804a.svg\";","module.exports = __webpack_public_path__ + \"static/media/nav_logout.fb2cd4ae.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Backdrop\":\"Backdrop_Backdrop__3gG-l\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"DrawerToggle\":\"DrawerToggle_DrawerToggle__1d8S6\"};","module.exports = __webpack_public_path__ + \"static/media/connections_green.a535c30d.svg\";","module.exports = __webpack_public_path__ + \"static/media/volume.80ef8464.svg\";","module.exports = __webpack_public_path__ + \"static/media/add_visitor.3d0b3593.svg\";","module.exports = __webpack_public_path__ + \"static/media/project_logo.b6e22f8a.svg\";","module.exports = __webpack_public_path__ + \"static/media/plus_symbol.25e6f111.svg\";","module.exports = __webpack_public_path__ + \"static/media/warning_sign_presets.b212826e.svg\";","module.exports = __webpack_public_path__ + \"static/media/media_image_logo.ce464674.svg\";","module.exports = __webpack_public_path__ + \"static/media/media_video_logo.686fdd66.svg\";","module.exports = __webpack_public_path__ + \"static/media/media_pause.d8b4e221.svg\";","module.exports = __webpack_public_path__ + \"static/media/media_x.eeb8b636.svg\";","module.exports = __webpack_public_path__ + \"static/media/unity_logo.8a361474.svg\";","module.exports = __webpack_public_path__ + \"static/media/touchdesigner_logo.33e7b118.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"DemosContainer\":\"Demos_DemosContainer__3HPWJ\",\"ButtonNewDemo\":\"Demos_ButtonNewDemo__CFdPp\",\"ButtonNewDemoText\":\"Demos_ButtonNewDemoText__3ifGC\",\"PageTitle\":\"Demos_PageTitle__21bHk\",\"Demos\":\"Demos_Demos__3LLcz\",\"Demo\":\"Demos_Demo__23UvN\",\"IconEnterBlock\":\"Demos_IconEnterBlock__2yzI3\",\"DemoInfos\":\"Demos_DemoInfos__3scdf\",\"Title\":\"Demos_Title__dL61P\",\"KeyInfo\":\"Demos_KeyInfo__2pz0Z\",\"Visitors\":\"Demos_Visitors__1zU-D\",\"Searchbar\":\"Demos_Searchbar__uK-00\",\"NoDemosToday\":\"Demos_NoDemosToday__1cSui\"};","module.exports = __webpack_public_path__ + \"static/media/tag_augmented_games.7934db5f.svg\";","module.exports = __webpack_public_path__ + \"static/media/tag_augmented_performance.1843672d.svg\";","module.exports = __webpack_public_path__ + \"static/media/tag_interactive_popup.64035788.svg\";","module.exports = __webpack_public_path__ + \"static/media/tag_law.a8eb39ea.svg\";","module.exports = __webpack_public_path__ + \"static/media/tag_living_visual.2952bcb5.svg\";","module.exports = __webpack_public_path__ + \"static/media/dropdown_arrow.69ab75d7.svg\";","module.exports = __webpack_public_path__ + \"static/media/placeholder.5b40e02c.svg\";","module.exports = __webpack_public_path__ + \"static/media/warning_sign.b64d2e35.svg\";","module.exports = __webpack_public_path__ + \"static/media/google.fd7ba25c.svg\";","module.exports = __webpack_public_path__ + \"static/media/enter_block_arrow.c981c057.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PlaylistContainer\":\"Playlist_PlaylistContainer__2-0pf\",\"Details\":\"Playlist_Details__3Piyz\",\"ImageContainer\":\"Playlist_ImageContainer__3VPt9\",\"Image\":\"Playlist_Image__wuOsP\",\"KeyInfos\":\"Playlist_KeyInfos__3wmSV\",\"Title\":\"Playlist_Title__3X9Ww\",\"CreatedContainer\":\"Playlist_CreatedContainer__2b8pq\",\"CreatedImage\":\"Playlist_CreatedImage__2k4qN\",\"CreatedInfo\":\"Playlist_CreatedInfo__2syeI\",\"Description\":\"Playlist_Description__1mPOF\",\"PlayButton\":\"Playlist_PlayButton__3GfHp\",\"Playlist\":\"Playlist_Playlist__2salz\",\"PlaylistItem\":\"Playlist_PlaylistItem__orlw8\",\"IconEnterBlock\":\"Playlist_IconEnterBlock__363OL\",\"StatusNotCurated\":\"Playlist_StatusNotCurated__mmmWo\",\"DescriptionContainer\":\"Playlist_DescriptionContainer__O35Oz\",\"Logo\":\"Playlist_Logo__j12oT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Wrapper\":\"PlayablePreview_Wrapper__2h2dZ\",\"Active\":\"PlayablePreview_Active__2Z7UZ\",\"Playing\":\"PlayablePreview_Playing__30vmS\",\"PlayablePreview\":\"PlayablePreview_PlayablePreview__2aoEm\",\"IconEnterBlock\":\"PlayablePreview_IconEnterBlock__Q3tVB\",\"ImageContainer\":\"PlayablePreview_ImageContainer__1PmdS\",\"StatusNotCurated\":\"PlayablePreview_StatusNotCurated__2JZvB\",\"Image\":\"PlayablePreview_Image__2ygTl\",\"DescriptionContainer\":\"PlayablePreview_DescriptionContainer__1dSFm\",\"Logo\":\"PlayablePreview_Logo__1mGu_\",\"TitleM\":\"PlayablePreview_TitleM__1062f\",\"TitleL\":\"PlayablePreview_TitleL__2_mc6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NavigationItems\":\"NavigationItems_NavigationItems__2C6C4\",\"NavigationItemInputsContainer\":\"NavigationItems_NavigationItemInputsContainer__zKrAx\",\"NavigationItemInputs\":\"NavigationItems_NavigationItemInputs__2JarQ\",\"NavigationItem\":\"NavigationItems_NavigationItem__GSzlG\",\"NavigationItemLast\":\"NavigationItems_NavigationItemLast__1hki3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PageTitle\":\"Playlists_PageTitle__33dS_\",\"Playlists\":\"Playlists_Playlists__25Fsv\",\"Playlist\":\"Playlists_Playlist__2KTxj\",\"IconEnterBlock\":\"Playlists_IconEnterBlock__1a210\",\"ImageContainer\":\"Playlists_ImageContainer__v5KOL\",\"Status\":\"Playlists_Status__2KTqr\",\"Image\":\"Playlists_Image__1Rb6g\",\"DescriptionContainer\":\"Playlists_DescriptionContainer__yOBT9\",\"Title\":\"Playlists_Title__2cS8L\",\"Creator\":\"Playlists_Creator__qG6yn\",\"Searchbar\":\"Playlists_Searchbar__1b8Ul\"};","module.exports = __webpack_public_path__ + \"static/media/play.b8814474.svg\";","module.exports = __webpack_public_path__ + \"static/media/search.fe810aa8.svg\";","import axios from 'axios'\n\nconst instance = axios.create({\n // baseURL: 'https://api.airtable.com/v0/appKEaYcqyG0vt87s/',\n baseURL: `${process.env.REACT_APP_BACKEND_URL}`,\n // headers: {\n // 'Content-Type': 'application/json',\n // 'Authorization': 'Bearer ' + process.env.REACT_APP_AIRTABLE_BEARER_TOKEN\n // }\n})\n\nexport default instance\n","import * as actionTypes from './actionTypes'\nimport axios from '../../axios-instance'\n\nfunction fetchSessionsRequest() {\n return {\n type: actionTypes.FETCH_SESSIONS_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchSessionsSuccess(sessions) {\n return {\n type: actionTypes.FETCH_SESSIONS_SUCCESS,\n receivedAt: Date.now(),\n sessions\n }\n}\n\nfunction fetchSessionsFailed(error) {\n return {\n type: actionTypes.FETCH_SESSIONS_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchSessions() {\n return function(dispatch) {\n dispatch(fetchSessionsRequest())\n return axios\n // .get('/Sessions?view=frontend_demos_detail')\n .get('/Sessions')\n .then(response => {\n return dispatch(fetchSessionsSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchSessionsFailed(error))\n })\n }\n}\n\nfunction fetchDemosRequest() {\n return {\n type: actionTypes.FETCH_DEMOS_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchDemosSuccess(demos) {\n return {\n type: actionTypes.FETCH_DEMOS_SUCCESS,\n receivedAt: Date.now(),\n demos\n }\n}\n\nfunction fetchDemosFailed(error) {\n return {\n type: actionTypes.FETCH_DEMOS_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchDemos() {\n return function(dispatch) {\n dispatch(fetchDemosRequest())\n return axios\n // .get('/Demos?view=frontend_demos_detail')\n .get('/Visits')\n .then(response => {\n return dispatch(fetchDemosSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchDemosFailed(error))\n })\n }\n}\n\nfunction fetchProtosRequest() {\n return {\n type: actionTypes.FETCH_PROTOS_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchProtosSuccess(protos) {\n return {\n type: actionTypes.FETCH_PROTOS_SUCCESS,\n receivedAt: Date.now(),\n protos: protos.filter(proto => proto.fields.status !== \"willNotFix\")\n }\n}\n\nfunction fetchProtosFailed(error) {\n return {\n type: actionTypes.FETCH_PROTOS_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchProtos() {\n return function(dispatch) {\n dispatch(fetchProtosRequest())\n return axios\n .get('/Protos')\n .then(response => {\n return dispatch(fetchProtosSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchProtosFailed(error))\n })\n }\n}\n\nfunction fetchPlaylistsRequest() {\n return {\n type: actionTypes.FETCH_PLAYLISTS_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchPlaylistsSuccess(playlists) {\n return {\n type: actionTypes.FETCH_PLAYLISTS_SUCCESS,\n receivedAt: Date.now(),\n playlists\n }\n}\n\nfunction fetchPlaylistsFailed(error) {\n return {\n type: actionTypes.FETCH_PLAYLISTS_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchPlaylists() {\n return function(dispatch) {\n dispatch(fetchPlaylistsRequest())\n return axios\n .get('/Playlists?view=playlist_list_view')\n .then(response => {\n return dispatch(fetchPlaylistsSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchPlaylistsFailed(error))\n })\n }\n}\n\nfunction fetchPlaylistItemsRequest() {\n return {\n type: actionTypes.FETCH_PLAYLIST_ITEMS_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchPlaylistItemsSuccess(playlistItems) {\n return {\n type: actionTypes.FETCH_PLAYLIST_ITEMS_SUCCESS,\n receivedAt: Date.now(),\n playlistItems: playlistItems.filter(\n (playlistItem) =>\n playlistItem.fields.protoStatus?.[0] !== \"willNotFix\" && playlistItem.fields.projectStatus?.[0] !== \"willNotFix\"\n ),\n };\n}\n\nfunction fetchPlaylistItemsFailed(error) {\n return {\n type: actionTypes.FETCH_PLAYLIST_ITEMS_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchPlaylistItems() {\n return function(dispatch) {\n dispatch(fetchPlaylistItemsRequest())\n return axios\n .get('/PlaylistItems')\n .then(response => {\n return dispatch(fetchPlaylistItemsSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchPlaylistItemsFailed(error))\n })\n }\n}\n\nfunction fetchMediasRequest() {\n return {\n type: actionTypes.FETCH_MEDIAS_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchMediasSuccess(medias) {\n return {\n type: actionTypes.FETCH_MEDIAS_SUCCESS,\n receivedAt: Date.now(),\n medias\n }\n}\n\nfunction fetchMediasFailed(error) {\n return {\n type: actionTypes.FETCH_MEDIAS_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchMedias() {\n return function(dispatch) {\n dispatch(fetchMediasRequest())\n return axios\n .get('/Medias')\n .then(response => {\n return dispatch(fetchMediasSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchMediasFailed(error))\n })\n }\n}\n\nfunction fetchVisitorsRequest() {\n return {\n type: actionTypes.FETCH_VISITORS_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchVisitorsSuccess(visitors) {\n return {\n type: actionTypes.FETCH_VISITORS_SUCCESS,\n receivedAt: Date.now(),\n visitors\n }\n}\n\nfunction fetchVisitorsFailed(error) {\n return {\n type: actionTypes.FETCH_VISITORS_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchVisitors() {\n return function(dispatch) {\n dispatch(fetchVisitorsRequest())\n return axios\n .get('/Visitors')\n .then(response => {\n return dispatch(fetchVisitorsSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchVisitorsFailed(error))\n })\n }\n}\nfunction fetchDemonstratorsRequest() {\n return {\n type: actionTypes.FETCH_DEMONSTRATORS_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchDemonstratorsSuccess(demonstrators) {\n return {\n type: actionTypes.FETCH_DEMONSTRATORS_SUCCESS,\n receivedAt: Date.now(),\n demonstrators\n }\n}\n\nfunction fetchDemonstratorsFailed(error) {\n return {\n type: actionTypes.FETCH_DEMONSTRATORS_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchDemonstrators() {\n return function(dispatch) {\n dispatch(fetchDemonstratorsRequest())\n return axios\n .get('/Demonstrators')\n .then(response => {\n return dispatch(fetchDemonstratorsSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchDemonstratorsFailed(error))\n })\n }\n}\nfunction fetchResponsiblesRequest() {\n return {\n type: actionTypes.FETCH_RESPONSIBLES_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchResponsiblesSuccess(responsibles) {\n return {\n type: actionTypes.FETCH_RESPONSIBLES_SUCCESS,\n receivedAt: Date.now(),\n responsibles\n }\n}\n\nfunction fetchResponsiblesFailed(error) {\n return {\n type: actionTypes.FETCH_RESPONSIBLES_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchResponsibles() {\n return function(dispatch) {\n dispatch(fetchResponsiblesRequest())\n return axios\n .get('/Responsibles')\n .then(response => {\n return dispatch(fetchResponsiblesSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchResponsiblesFailed(error))\n })\n }\n}\nfunction fetchFeedbacksRequest() {\n return {\n type: actionTypes.FETCH_FEEDBACKS_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchFeedbacksSuccess(feedbacks) {\n return {\n type: actionTypes.FETCH_FEEDBACKS_SUCCESS,\n receivedAt: Date.now(),\n feedbacks\n }\n}\n\nfunction fetchFeedbacksFailed(error) {\n return {\n type: actionTypes.FETCH_FEEDBACKS_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchFeedbacks() {\n return function(dispatch) {\n dispatch(fetchFeedbacksRequest())\n return axios\n .get('/Feedbacks')\n .then(response => {\n return dispatch(fetchFeedbacksSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchFeedbacksFailed(error))\n })\n }\n}\n\nfunction fetchTechnologiesRequest() {\n return {\n type: actionTypes.FETCH_TECHNOLOGIES_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchTechnologiesSuccess(technologies) {\n return {\n type: actionTypes.FETCH_TECHNOLOGIES_SUCCESS,\n receivedAt: Date.now(),\n technologies\n }\n}\n\nfunction fetchTechnologiesFailed(error) {\n return {\n type: actionTypes.FETCH_TECHNOLOGIES_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchTechnologies() {\n return function(dispatch) {\n dispatch(fetchTechnologiesRequest())\n return axios\n .get('/Technologies')\n .then(response => {\n return dispatch(fetchTechnologiesSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchTechnologiesFailed(error))\n })\n }\n}\n\nfunction fetchTagsRequest() {\n return {\n type: actionTypes.FETCH_TAGS_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchTagsSuccess(tags) {\n return {\n type: actionTypes.FETCH_TAGS_SUCCESS,\n receivedAt: Date.now(),\n tags\n }\n}\n\nfunction fetchTagsFailed(error) {\n return {\n type: actionTypes.FETCH_TAGS_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchTags() {\n return function(dispatch) {\n dispatch(fetchTagsRequest())\n return axios\n .get('/Tags')\n .then(response => {\n return dispatch(fetchTagsSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchTagsFailed(error))\n })\n }\n}\n\nfunction fetchProjectsRequest() {\n return {\n type: actionTypes.FETCH_PROJECTS_REQUEST,\n receivedAt: Date.now()\n }\n}\n\nexport function fetchProjectsSuccess(projects) {\n return {\n type: actionTypes.FETCH_PROJECTS_SUCCESS,\n receivedAt: Date.now(),\n projects\n }\n}\n\nfunction fetchProjectsFailed(error) {\n return {\n type: actionTypes.FETCH_PROJECTS_FAILED,\n receivedAt: Date.now(),\n error\n }\n}\n\nexport function fetchProjects() {\n return function(dispatch) {\n dispatch(fetchProjectsRequest())\n return axios\n .get('/mfprojects')\n .then(response => {\n return dispatch(fetchProjectsSuccess(response.data))\n })\n .catch(error => {\n return dispatch(fetchProjectsFailed(error))\n })\n }\n}\n\nexport function getItemByID(model, id) {\n return function(dispatch, getState) {\n const airtableState = getState().airtableReducer\n if(model in airtableState) {\n return airtableState[model].find(i => i.id === id)\n }\n return null\n }\n}\n","\nexport const FETCH_DEMOS_REQUEST = 'FETCH_DEMOS_REQUEST'\nexport const FETCH_DEMOS_SUCCESS = 'FETCH_DEMOS_SUCCESS'\nexport const FETCH_DEMOS_FAILED = 'FETCH_DEMOS_FAILED'\n\nexport const FETCH_SESSIONS_REQUEST = 'FETCH_SESSIONS_REQUEST'\nexport const FETCH_SESSIONS_SUCCESS = 'FETCH_SESSIONS_SUCCESS'\nexport const FETCH_SESSIONS_FAILED = 'FETCH_SESSIONS_FAILED'\n\nexport const FETCH_PROTOS_REQUEST = 'FETCH_PROTOS_REQUEST'\nexport const FETCH_PROTOS_SUCCESS = 'FETCH_PROTOS_SUCCESS'\nexport const FETCH_PROTOS_FAILED = 'FETCH_PROTOS_FAILED'\n\nexport const FETCH_PLAYLISTS_REQUEST = 'FETCH_PLAYLISTS_REQUEST'\nexport const FETCH_PLAYLISTS_SUCCESS = 'FETCH_PLAYLISTS_SUCCESS'\nexport const FETCH_PLAYLISTS_FAILED = 'FETCH_PLAYLISTS_FAILED'\n\nexport const FETCH_PLAYLIST_ITEMS_REQUEST = 'FETCH_PLAYLIST_ITEMS_REQUEST'\nexport const FETCH_PLAYLIST_ITEMS_SUCCESS = 'FETCH_PLAYLIST_ITEMS_SUCCESS'\nexport const FETCH_PLAYLIST_ITEMS_FAILED = 'FETCH_PLAYLIST_ITEMS_FAILED'\n\nexport const FETCH_MEDIAS_REQUEST = 'FETCH_MEDIAS_REQUEST'\nexport const FETCH_MEDIAS_SUCCESS = 'FETCH_MEDIAS_SUCCESS'\nexport const FETCH_MEDIAS_FAILED = 'FETCH_MEDIAS_FAILED'\n\nexport const FETCH_VISITORS_REQUEST = 'FETCH_VISITORS_REQUEST'\nexport const FETCH_VISITORS_SUCCESS = 'FETCH_VISITORS_SUCCESS'\nexport const FETCH_VISITORS_FAILED = 'FETCH_VISITORS_FAILED'\n\nexport const FETCH_DEMONSTRATORS_REQUEST = 'FETCH_DEMONSTRATORS_REQUEST'\nexport const FETCH_DEMONSTRATORS_SUCCESS = 'FETCH_DEMONSTRATORS_SUCCESS'\nexport const FETCH_DEMONSTRATORS_FAILED = 'FETCH_DEMONSTRATORS_FAILED'\n\nexport const FETCH_RESPONSIBLES_REQUEST = 'FETCH_RESPONSIBLES_REQUEST'\nexport const FETCH_RESPONSIBLES_SUCCESS = 'FETCH_RESPONSIBLES_SUCCESS'\nexport const FETCH_RESPONSIBLES_FAILED = 'FETCH_RESPONSIBLES_FAILED'\n\nexport const FETCH_FEEDBACKS_REQUEST = 'FETCH_FEEDBACKS_REQUEST'\nexport const FETCH_FEEDBACKS_SUCCESS = 'FETCH_FEEDBACKS_SUCCESS'\nexport const FETCH_FEEDBACKS_FAILED = 'FETCH_FEEDBACKS_FAILED'\n\nexport const FETCH_TECHNOLOGIES_REQUEST = 'FETCH_TECHNOLOGIES_REQUEST'\nexport const FETCH_TECHNOLOGIES_SUCCESS = 'FETCH_TECHNOLOGIES_SUCCESS'\nexport const FETCH_TECHNOLOGIES_FAILED = 'FETCH_TECHNOLOGIES_FAILED'\n\nexport const FETCH_TAGS_REQUEST = 'FETCH_TAGS_REQUEST'\nexport const FETCH_TAGS_SUCCESS = 'FETCH_TAGS_SUCCESS'\nexport const FETCH_TAGS_FAILED = 'FETCH_TAGS_FAILED'\n\nexport const FETCH_PROJECTS_REQUEST = 'FETCH_PROJECTS_REQUEST'\nexport const FETCH_PROJECTS_SUCCESS = 'FETCH_PROJECTS_SUCCESS'\nexport const FETCH_PROJECTS_FAILED = 'FETCH_PROJECTS_FAILED'\n\n/* MQTT CLIENT INITIATION AND EVENTS */\nexport const CHANGE_MQTT_CLIENT_STATE = 'CHANGE_MQTT_CLIENT_STATE'\nexport const CREATE_MQTT_CLIENT = 'CREATE_MQTT_CLIENT'\nexport const ERROR_MQTT_CLIENT = 'ERROR_MQTT_CLIENT'\nexport const HANDLE_MQTT_MESSAGE = 'HANDLE_MQTT_MESSAGE'\n\n/* HANDLE SPECIFIC MQTT MESSAGES */\nexport const MQTT_CURRENT_GUESTS_CHECKED_IN_IDS = 'MQTT_CURRENT_GUESTS_CHECKED_IN_IDS'\nexport const MQTT_CURRENT_PROTO_PRESETS = 'MQTT_CURRENT_PROTO_PRESETS'\nexport const MQTT_DISPLAY_SENSORS_INFOS = 'MQTT_DISPLAY_SENSORS_INFOS'\nexport const MQTT_UPDATE = 'MQTT_UPDATE'\nexport const MQTT_IS_TRANSITION = 'MQTT_IS_TRANSITION'\nexport const MQTT_STATS = 'MQTT_STATS'\nexport const MQTT_VOLUME = 'MQTT_VOLUME'\nexport const MQTT_CURRENT_DEMO = 'MQTT_CURRENT_DEMO'\nexport const MQTT_DEMO_STATE = 'MQTT_DEMO_STATE'\nexport const MQTT_CURRENT_PROTO = 'MQTT_CURRENT_PROTO'\nexport const MQTT_CURRENT_PROJECT = 'MQTT_CURRENT_PROJECT'\nexport const MQTT_CURRENT_NAVIGATION = 'MQTT_CURRENT_NAVIGATION'\nexport const MQTT_CURRENT_PRESET = 'MQTT_CURRENT_PRESET'\nexport const MQTT_CURRENT_GUESTS = 'MQTT_CURRENT_GUESTS'\nexport const MQTT_CURRENT_MEDIA = 'MQTT_CURRENT_MEDIA'\nexport const MQTT_REFRESH_CACHE = 'MQTT_REFRESH_CACHE'\nexport const MQTT_SCRUB_MEDIA = 'MQTT_SCRUB_MEDIA'\n\n/* CHANGE APPLICATION STATE */\nexport const CHANGE_NAVIGATION_PAGE = 'CHANGE_NAVIGATION_PAGE'\n\n","export const updateObject = (oldObject, updatedValue) => {\n return {\n ...oldObject,\n ...updatedValue\n }\n}","import * as actionTypes from '../actions/actionTypes.js'\nimport { updateObject } from '../utility'\n\nconst initialState = {\n demos: [],\n playlists: [],\n protos: [],\n playlistItems: [],\n medias: [],\n visitors: [],\n demonstrators: [],\n responsibles: [],\n feedbacks: [],\n technologies: [],\n sessions: [],\n tags: [],\n projects: [],\n}\n\nconst reducer = (state = initialState, action) => {\n switch(action.type) {\n case actionTypes.FETCH_DEMOS_SUCCESS:\n return updateObject(state, {\n demos: action.demos\n })\n case actionTypes.FETCH_SESSIONS_SUCCESS:\n return updateObject(state, {\n sessions: action.sessions\n })\n case actionTypes.FETCH_PROTOS_SUCCESS:\n return updateObject(state, {\n protos: action.protos\n })\n case actionTypes.FETCH_PROJECTS_SUCCESS:\n return updateObject(state, {\n projects: action.projects\n })\n case actionTypes.FETCH_PLAYLISTS_SUCCESS:\n return updateObject(state, {\n playlists: action.playlists\n })\n case actionTypes.FETCH_PLAYLIST_ITEMS_SUCCESS:\n return updateObject(state, {\n playlistItems: action.playlistItems\n })\n case actionTypes.FETCH_MEDIAS_SUCCESS:\n return updateObject(state, {\n medias: action.medias\n })\n case actionTypes.FETCH_VISITORS_SUCCESS:\n return updateObject(state, {\n visitors: action.visitors\n })\n case actionTypes.FETCH_DEMONSTRATORS_SUCCESS:\n return updateObject(state, {\n demonstrators: action.demonstrators\n })\n case actionTypes.FETCH_RESPONSIBLES_SUCCESS:\n return updateObject(state, {\n responsibles: action.responsibles\n })\n case actionTypes.FETCH_FEEDBACKS_SUCCESS:\n return updateObject(state, {\n feedbacks: action.feedbacks\n })\n case actionTypes.FETCH_TECHNOLOGIES_SUCCESS:\n return updateObject(state, {\n technologies: action.technologies\n })\n case actionTypes.FETCH_TAGS_SUCCESS:\n return updateObject(state, {\n tags: action.tags\n })\n default:\n return updateObject(state)\n }\n}\n\nexport default reducer\n","import * as actionTypes from '../actions/actionTypes.js'\nimport { updateObject } from '../utility'\nimport { update } from 'lodash'\n\nconst initialState = {\n mqttClient: null,\n online: false,\n presets: [],\n currentMedia: null,\n currentDemo: null,\n currentPreset: null,\n currentProto: null,\n currentProject: null,\n currentNavigation: null,\n currentVolume: null,\n currentGuestsCheckedInIds: []\n}\n\nconst reducer = (state = initialState, action) => {\n switch(action.type) {\n case actionTypes.MQTT_VOLUME:\n case actionTypes.MQTT_VOLUME:\n return updateObject(state, {\n currentVolume: action.volume\n })\n case actionTypes.MQTT_CURRENT_GUESTS_CHECKED_IN_IDS:\n return updateObject(state, {\n currentGuestsCheckedInIds: action.payload.sessionIds\n })\n case actionTypes.CREATE_MQTT_CLIENT:\n return updateObject(state, {\n mqttClient: action.mqttClient\n })\n case actionTypes.CHANGE_MQTT_CLIENT_STATE:\n return updateObject(state, {\n online: action.state\n })\n //MQTT OUT\n case actionTypes.MQTT_CURRENT_PRESET:\n return updateObject(state, {\n currentPreset: action.preset\n })\n\n case actionTypes.MQTT_CURRENT_PROJECT:\n return updateObject(state, {\n currentProject: action.project,\n })\n\n case actionTypes.MQTT_CURRENT_NAVIGATION:\n return updateObject(state, {\n currentNavigation: action.payload,\n })\n\n case actionTypes.MQTT_CURRENT_PROTO:\n return updateObject(state, {\n currentProto: action.proto,\n })\n case actionTypes.MQTT_CURRENT_MEDIA:\n return updateObject(state, {\n currentMedia: action.media,\n })\n case actionTypes.MQTT_CURRENT_DEMO:\n return updateObject(state, {\n currentDemo: action.demo,\n currentProto: null\n })\n // case actionTypes.MQTT_DEMO_STATE:\n // case actionTypes.MQTT_CURRENT_GUESTS:\n //MQTT IN\n case actionTypes.MQTT_CURRENT_PROTO_PRESETS:\n let presets = 'presets' in action.payload ? action.payload.presets : []\n return updateObject(state, {\n presets\n })\n case actionTypes.MQTT_DISPLAY_SENSORS_INFOS:\n case actionTypes.MQTT_IS_TRANSITION:\n case actionTypes.MQTT_STATS:\n case actionTypes.MQTT_UPDATE:\n //NEEDS TO BE IMPLEMENTED\n return updateObject(state)\n default:\n return updateObject(state)\n }\n}\n\nexport default reducer\n","import * as actionTypes from '../actions/actionTypes.js'\nimport { updateObject } from '../utility'\n\nconst initialState = {\n demoID: \"\",\n playlistID: \"\",\n protoID: \"\",\n projectID: \"\"\n}\n\nconst reducer = (state = initialState, action) => {\n switch(action.type) {\n case actionTypes.CHANGE_NAVIGATION_PAGE:\n return updateObject(state, {\n demoID: action.demoID,\n protoID: action.protoID,\n projectID: action.projectID,\n playlistID: action.playlistID,\n playlistItemID: action.playlistItemID,\n })\n default:\n return updateObject(state)\n }\n}\n\nexport default reducer\n","import { combineReducers, applyMiddleware, createStore, compose } from 'redux'\nimport airtableReducer from './store/reducers/airtableReducer'\nimport mqttReducer from './store/reducers/mqttReducer'\nimport applicationReducer from './store/reducers/applicationReducer'\nimport thunk from 'redux-thunk'\n\n/**\n * REDUX OUTSIDE REACT ?\n * \n * Why putting the redux store outside in its own file ?\n * By doing so, you enable redux to be completly independant from React\n * It becomes your decision to import the redux state anywhere you need and manipulates it.\n * \n * I decided to do so after creating the breadcrumb system with the function navigateToPage() in utils\n * My utils function are completly out of React and can still call redux and manage my state.\n * Personally, I found it really interesting to use Redux like this.\n * I prefer to keep pieces of my code more independent when its possible, making it easier to manage and understand.\n * \n */\n\nconst rootReducer = combineReducers({\n airtableReducer,\n mqttReducer,\n applicationReducer\n})\n\nconst logger = store => {\n return next => {\n return action => {\n const result = next(action)\n return result\n }\n }\n}\n\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose\nconst store = createStore(\n rootReducer,\n composeEnhancers(applyMiddleware(logger, thunk))\n)\n\nexport default store\n","import * as actionTypes from './actionTypes'\nimport _ from 'lodash'\nimport mqtt from 'mqtt'\nimport mqttMatch from 'mqtt-match'\nimport store from '../../store-redux'\n\nimport * as airtableActions from './airtableActions'\n\nconst MQTT_TOPIC_PUBLISH = {\n CURRENT_DEMO: `demoRoom/common/state/demo`,\n CURRENT_PROTO: `demoRoom/common/state/proto`,\n CURRENT_PROJECT: `demoRoom/common/state/project`,\n CURRENT_NAVIGATION: `demoRoom/common/state/navigation`,\n CURRENT_MEDIA: `demoRoom/common/state/media`,\n CURRENT_PRESET: `demoRoom/common/state/protoPreset`,\n SCRUB_MEDIA: `demoRoom/common/event/scrubMedia`,\n REFRESH_CACHE: `demoRoom/common/event/clearMiddlewareCache`,\n\n // TODO: protoFramework never sends this, might be obsolete\n VOLUME: `demoRoom/common/state/volume`\n}\n\nconst MQTT_TOPIC_SUBSCRIBED = [\n \"connectedFactory/middleware/datacache\",\n\n // TODO: protoFramework never sends this, might be obsolete\n `demoRoom/common/state/volume`,\n\n `demoRoom/connectedFactory/state/guestsCheckedInIds`,\n `demoRoom/common/state/demo`,\n `demoRoom/common/state/proto`,\n `demoRoom/common/state/project`,\n `demoRoom/common/state/navigation`,\n `demoRoom/common/state/media`,\n `demoRoom/common/state/protoPresets`,\n `demoRoom/common/state/protoPreset`,\n]\n\nfunction createMQTTClient(mqttClient) {\n return {\n type: actionTypes.CREATE_MQTT_CLIENT,\n receivedAt: Date.now(),\n mqttClient\n }\n}\n\n/**\n * MQTT client implementation\n *\n * This approach to initiate the MQTT client all in redux is the one that worked\n * the best after multiple try in different projects.\n *\n * The client is initiated with the ENV variable declared in the .env,\n * then we put the client inside the mqttReducer state.\n *\n * Adding redux-thunk to the equation, we can now easily get the client inside all of our actions.\n * Using the function getState().mqttReducer.client, we can simply dispatch our actions from react.\n *\n * The MQTT logic will always be in this file ! Including how we handle what we publish and what happens when\n * we received a message on a topic that we are subscribed to.\n *\n * By completly separating MQTT and the React code, I think everything becomes more simple since we create an easy go-to\n * situation when it comes to MQTT in our code.\n *\n */\nexport function initMQTTClient() {\n return function(dispatch, getState) {\n let mqttClient = mqtt.connect(\n `${process.env.REACT_APP_MQTT_PROTOCOL}://${process.env.REACT_APP_MQTT_HOST}:${process.env.REACT_APP_MQTT_PORT}`\n );\n mqttClient.subscribe(MQTT_TOPIC_SUBSCRIBED)\n mqttClient.on('connect', () => onConnect(dispatch))\n mqttClient.on('error', (error) => onError(dispatch, error))\n mqttClient.on('message', (topic, payload) => onMessageArrived(dispatch, topic, payload))\n mqttClient.on('offline', () => onOffline(dispatch))\n mqttClient.on('close', () => onClose(dispatch))\n mqttClient.on('end', () => onConnectionLost(dispatch))\n dispatch(createMQTTClient(mqttClient))\n }\n}\n\nfunction changeMQTTClientState(state) {\n return {\n type: actionTypes.CHANGE_MQTT_CLIENT_STATE,\n receivedAt: Date.now(),\n state\n }\n}\n\nfunction onConnect(dispatch) {\n dispatch(changeMQTTClientState(true))\n}\n\nfunction onClose(dispatch) {\n dispatch(changeMQTTClientState(false))\n}\n\nfunction onOffline(dispatch) {\n dispatch(changeMQTTClientState(false))\n}\n\nfunction onConnectionLost(dispatch) {\n dispatch(changeMQTTClientState(false))\n}\n\nfunction errorMQTTClient(error) {\n return {\n type: actionTypes.ERROR_MQTT_CLIENT,\n receivedAt: Date.now(),\n error\n }\n}\n\nfunction onError(dispatch, error) {\n dispatch(errorMQTTClient(error))\n}\n\nfunction sendMQTTGeneric(type, payload) {\n return {\n type,\n receivedAt: Date.now(),\n payload\n }\n}\n\nexport function sendMQTTRefreshCache() {\n return function (dispatch, getState) {\n let mqttClient = getState().mqttReducer.mqttClient\n let payload = JSON.stringify({})\n mqttClient.publish(MQTT_TOPIC_PUBLISH.REFRESH_CACHE, payload)\n dispatch(sendMQTTGeneric(actionTypes.MQTT_REFRESH_CACHE, payload))\n }\n}\n\nexport function sendMQTTScrubMedia(scrubValue) {\n return function (dispatch, getState) {\n let mqttClient = getState().mqttReducer.mqttClient\n let payload = JSON.stringify({\n scrubMedia: scrubValue\n })\n mqttClient.publish(MQTT_TOPIC_PUBLISH.SCRUB_MEDIA, payload)\n dispatch(sendMQTTGeneric(actionTypes.MQTT_SCRUB_MEDIA, payload))\n }\n}\n\nfunction sendMQTTCurrentDemoRequest(payload, demo) {\n return {\n type: actionTypes.MQTT_CURRENT_DEMO,\n receivedAt: Date.now(),\n payload,\n demo\n }\n}\n\nexport function sendMQTTCurrentDemo(demo) {\n return function (dispatch, getState) {\n let mqttClient = getState().mqttReducer.mqttClient\n let payload = {\n airtableID: _.get(demo, 'id', null),\n visitID: _.get(demo, \"fields['visitID']\", null),\n visitName: _.get(demo, \"fields['visitName']\", null),\n language: _.get(demo, \"fields['language']\", null),\n Date: _.get(demo, \"fields['date']\", null),\n Time: _.get(demo, \"fields['time']\", null),\n }\n mqttClient.publish(MQTT_TOPIC_PUBLISH.CURRENT_DEMO, JSON.stringify(payload), {retain: true})\n dispatch(sendMQTTCurrentDemoRequest(payload, demo))\n }\n}\n\nfunction sendMQTTCurrentGuestsCheckedInIdsRequest(payload) {\n return {\n type: actionTypes.MQTT_CURRENT_GUESTS_CHECKED_IN_IDS,\n receivedAt: Date.now(),\n payload,\n };\n}\n\nfunction sendMQTTCurrentProjectRequest(payload, project) {\n return {\n type: actionTypes.MQTT_CURRENT_PROJECT,\n receivedAt: Date.now(),\n payload,\n project,\n };\n}\n\nexport function sendMQTTCurrentProject(project) {\n return function (dispatch, getState) {\n let mqttClient = getState().mqttReducer.mqttClient\n let payload = {\n airtableID: _.get(project, 'id', null),\n path: _.get(project, 'fields.relativePath', null),\n title: _.get(project, 'fields.name', null),\n startDemo: false\n }\n if(!project) {\n payload = {}\n }\n mqttClient.publish(MQTT_TOPIC_PUBLISH.CURRENT_PROJECT, JSON.stringify(payload), {retain: true})\n dispatch(sendMQTTCurrentProjectRequest(payload, project))\n }\n}\n\nfunction sendMQTTCurrentProtoRequest(payload, proto) {\n return {\n type: actionTypes.MQTT_CURRENT_PROTO,\n receivedAt: Date.now(),\n payload,\n proto,\n };\n}\n\nexport function sendMQTTCurrentProto(proto) {\n return function (dispatch, getState) {\n let mqttClient = getState().mqttReducer.mqttClient\n let payload = {\n airtableID: _.get(proto, 'id', null),\n uuid: _.get(proto, 'fields.uuid', null),\n title: _.get(proto, 'fields.name', null),\n startDemo: false\n }\n if(!proto) {\n payload = {}\n }\n mqttClient.publish(MQTT_TOPIC_PUBLISH.CURRENT_PROTO, JSON.stringify(payload), {retain: true})\n dispatch(sendMQTTCurrentProtoRequest(payload, proto))\n }\n}\n\nfunction sendMQTTCurrentNavigationRequest(payload) {\n return {\n type: actionTypes.MQTT_CURRENT_NAVIGATION,\n receivedAt: Date.now(),\n payload\n };\n}\n\nexport function sendMQTTCurrentNavigation(payload) {\n return function (dispatch, getState) {\n let mqttClient = getState().mqttReducer.mqttClient;\n mqttClient.publish(MQTT_TOPIC_PUBLISH.CURRENT_NAVIGATION, JSON.stringify(payload), { retain: true });\n dispatch(sendMQTTCurrentNavigationRequest(payload));\n };\n}\n\nfunction sendMQTTCurrentPresetRequest(preset, payload) {\n return {\n type: actionTypes.MQTT_CURRENT_PRESET,\n receivedAt: Date.now(),\n preset,\n payload\n }\n}\n\nexport function sendMQTTCurrentPreset(preset) {\n return function (dispatch, getState) {\n let mqttClient = getState().mqttReducer.mqttClient\n let payload = { currentPreset: preset }\n mqttClient.publish(MQTT_TOPIC_PUBLISH.CURRENT_PRESET, JSON.stringify(payload), {retain: true})\n dispatch(sendMQTTCurrentPresetRequest(preset, payload))\n }\n}\n\nfunction sendMQTTCurrentVolumeRequest(payload, volume) {\n return {\n type: actionTypes.MQTT_VOLUME,\n receivedAt: Date.now(),\n payload,\n volume\n }\n}\n\nexport function sendMQTTCurrentVolume(volume) {\n return function(dispatch, getState) {\n let mqttClient = getState().mqttReducer.mqttClient\n let payload = {\n volume: volume\n }\n mqttClient.publish(MQTT_TOPIC_PUBLISH.VOLUME, JSON.stringify(payload), {retain: true})\n dispatch(sendMQTTCurrentVolumeRequest(payload, volume))\n }\n}\n\nfunction sendMQTTCurrentMediaRequest(payload, media) {\n return {\n type: actionTypes.MQTT_CURRENT_MEDIA,\n receivedAt: Date.now(),\n payload,\n media\n }\n}\n\nexport function sendMQTTCurrentMedia(media) {\n return function (dispatch, getState) {\n let mqttClient = getState().mqttReducer.mqttClient\n let payload = {\n airtableID: _.get(media, 'id', null),\n path: _.get(media, \"fields['relativePath']\", \"\"),\n type: _.get(media, \"fields['type']\", \"\").toLowerCase()\n }\n mqttClient.publish(MQTT_TOPIC_PUBLISH.CURRENT_MEDIA, JSON.stringify(payload), {retain: true})\n dispatch(sendMQTTCurrentMediaRequest(payload, media))\n }\n}\n\nfunction handleMessageCurrentProtoPresets(payload) {\n return {\n type: actionTypes.MQTT_CURRENT_PROTO_PRESETS,\n receivedAt: Date.now(),\n payload\n }\n}\n\nfunction handleMessageDisplaySensorsInfos(payload) {\n return {\n type: actionTypes.MQTT_DISPLAY_SENSORS_INFOS,\n receivedAt: Date.now(),\n payload\n }\n}\n\n/**\n * A function to rapidly get a specific item from our cache\n * By specifying the model and the airtable id you can easily get the item\n * referenced inside a field of a prototypes. (or any other airtable object)\n *\n * Since airtable does not allow to populate automatically the ids of one-to-multiple or one-to-one relationship,\n * we use this function in the frontend to get the full items linked to a model.\n *\n * @param model the model name as stated in the airtableReducer state\n * @param id airtable id\n */\nfunction getItemByID(model, id) {\n const airtableState = store.getState().airtableReducer\n if(model in airtableState) {\n return airtableState[model].find(i => i.id === id)\n }\n return null\n}\n\n\nfunction onMessageArrived(dispatch, topic, payload) {\n payload = JSON.parse(payload)\n\n if (mqttMatch(\"demoRoom/common/state/protoPresets\", topic)) {\n dispatch(handleMessageCurrentProtoPresets(payload))\n }\n\n else if (mqttMatch(\"demoRoom/common/state/media\", topic)) {\n let media = getItemByID('medias', payload.airtableID)\n dispatch(sendMQTTCurrentMediaRequest(payload, media))\n }\n\n else if (mqttMatch(\"demoRoom/common/state/protoPreset\", topic)) {\n let preset = payload.currentPreset\n dispatch(sendMQTTCurrentPresetRequest(preset, payload))\n }\n\n else if (mqttMatch(\"demoRoom/common/state/demo\", topic)) {\n let demo = getItemByID('demos', payload.airtableID)\n dispatch(sendMQTTCurrentDemoRequest(payload, demo))\n }\n\n else if (mqttMatch(\"demoRoom/common/state/proto\", topic)) {\n let proto = getItemByID('protos', payload.airtableID)\n dispatch(sendMQTTCurrentProtoRequest(payload, proto))\n }\n\n else if (mqttMatch(\"demoRoom/common/state/project\", topic)) {\n let project = getItemByID('projects', payload.airtableID)\n dispatch(sendMQTTCurrentProjectRequest(payload, project))\n }\n\n else if (mqttMatch(\"demoRoom/common/state/navigation\", topic)) {\n dispatch(sendMQTTCurrentNavigationRequest(payload))\n }\n\n // TODO: protoFramework never sends currentVolume, might be obsolete\n else if (mqttMatch(\"demoRoom/common/state/volume\", topic)) {\n let volume = payload.volume\n dispatch(sendMQTTCurrentVolumeRequest(payload, volume))\n }\n\n else if (mqttMatch(\"demoRoom/connectedFactory/state/guestsCheckedInIds\", topic)) {\n dispatch(sendMQTTCurrentGuestsCheckedInIdsRequest(payload))\n }\n\n else if (mqttMatch(\"demoRoom/common/event/clearMiddlewareCache\", topic)) {\n const data = payload;\n\n const mapTableToAction = {\n Visits: airtableActions.fetchDemosSuccess,\n Sessions: airtableActions.fetchSessionsSuccess,\n Protos: airtableActions.fetchProtosSuccess,\n Projects: airtableActions.fetchProjectsSuccess,\n Playlists: airtableActions.fetchPlaylistsSuccess,\n PlaylistItems: airtableActions.fetchPlaylistItemsSuccess,\n Medias: airtableActions.fetchMediasSuccess,\n Visitors: airtableActions.fetchVisitorsSuccess,\n Demonstrators: airtableActions.fetchDemonstratorsSuccess,\n Responsibles: airtableActions.fetchResponsiblesSuccess,\n Feedbacks: airtableActions.fetchFeedbacksSuccess,\n Technologies: airtableActions.fetchTechnologiesSuccess,\n Tags: airtableActions.fetchTagsSuccess\n }\n\n // Loop over all the refreshed data and update the corresponding state if we have a handler for it\n // This makes sure we don't try to update data that hasn't been refreshed by the backend\n // It also makes sure we don't try to handle data from the backend that we don't have a handler for\n Object.keys(data).forEach(table => {\n if(mapTableToAction[table]) {\n dispatch(mapTableToAction[table](data[table]));\n }\n });\n }\n}\n","import * as actionTypes from './actionTypes'\n\nfunction changeNavigationPageRequest({ demoID, protoID, projectID, playlistID, playlistItemID }) {\n return {\n type: actionTypes.CHANGE_NAVIGATION_PAGE,\n receivedAt: Date.now(),\n demoID,\n playlistID,\n playlistItemID,\n protoID,\n projectID,\n };\n}\n\nexport function changeNavigationPage(ids) {\n return function(dispatch) {\n const { demoID, protoID, projectID, playlistID, playlistItemID } = ids\n dispatch(changeNavigationPageRequest({ demoID, playlistID, protoID, projectID, playlistID, playlistItemID }));\n }\n}\n","import * as actions from '../store/actions/index'\nimport { navigate } from '@reach/router'\nimport store from '../store-redux'\n\n/**\n * This function is used when you want to update the breadcrumb and navigate to the desired page\n * Depending on the protoID, playlistID and demoID you specify the URL that you navigate to will be determined\n * After you navigated to the page, the current page ids corresponding to the page are stored in the Redux application reducer.\n *\n * @param ids object with protoID, playlistID and demoID of airtable (you can exclude playlistID and demoID)\n * @param dispatch deprecated\n */\nexport function navigateToPage(navigationData, dispatch) {\n const { path, demoID, playlistID, protoID, playlistItemID, projectID } = navigationData\n if(path) {\n navigate(path)\n navigationData = {demoID: null, playlistID: null, protoID: null}\n }\n else {\n if (demoID) {\n if(playlistItemID) {\n navigate(`/demos/${demoID}/${playlistID}/playlistItem/${playlistItemID}`)\n } else if (playlistID) {\n navigate(`/demos/${demoID}/${playlistID}`)\n } else {\n navigate(`/demos/${demoID}`)\n }\n } else if (playlistID) {\n if(playlistItemID) {\n navigate(`/playlists/${playlistID}/playlistItem/${playlistItemID}`)\n } else if (protoID) {\n navigate(`/protos/${protoID}`);\n } else {\n navigate(`/playlists/${playlistID}`)\n }\n } else if (protoID) {\n navigate(`/protos/${protoID}`);\n } else if (projectID) {\n navigate(`/projects/${projectID}`)\n }\n }\n store.dispatch(actions.changeNavigationPage(navigationData))\n}\n\n","import React, { useEffect, useState, createContext } from \"react\";\nimport useScript from \"react-script-hook\";\n\nexport const GoogleAuthContext = createContext({\n gapi: null,\n isSignedIn: false,\n loading: false,\n error: null,\n});\n\nfunction GoogleAuthProvider({ children }) {\n const [gapi, setGapi] = useState(null);\n const [isSignedIn, setIsSignedIn] = useState(false);\n const [scriptLoading, scriptError] = useScript({ src: \"https://apis.google.com/js/platform.js\" });\n\n const [authLoading, setAuthLoading] = useState(true);\n const [authError, setAuthError] = useState(false);\n\n // Initialize Google API\n useEffect(() => {\n if (scriptError || scriptLoading) return;\n const gapi = window.gapi;\n gapi.load(\"auth2\", () => {\n // Configure API\n try {\n gapi.auth2\n .init({\n client_id: process.env.REACT_APP_GOOGLE_AUTH_CLIENT_ID,\n })\n .then(\n (auth2) => {\n setGapi(gapi);\n // Check SignedIn status\n setIsSignedIn(auth2.isSignedIn.get());\n auth2.isSignedIn.listen((isSignedIn) => {\n setIsSignedIn(isSignedIn);\n });\n\n setAuthLoading(false);\n },\n (gapiError) => {\n setAuthError(gapiError);\n setAuthLoading(false);\n }\n )\n } catch (err) {\n setAuthError(err.message);\n }\n });\n }, [scriptLoading, scriptError]);\n\n const loading = authLoading || scriptLoading;\n const error = authError || scriptError;\n\n return (\n