{"version":3,"sources":["layout/Navbar/Navbar.module.css","auth/Login.module.css","pages/Information/VideoFeed.module.css","pages/Onboarding/Onboarding.module.css","layout/Navbar/NavItems/NotificationForm/NotificationForm.module.css","auth/Modal/Modal.module.css","pages/FileUpload/Modal/Modal.module.css","layout/Navbar/NavItems/Modal/Modal.module.css","layout/Navbar/NavItems/UserLists/UserLists.module.css","pages/RequestForm/Components/Modal/Modal.module.css","pages/Dashboards/DashboardSelector/Modal/Modal.module.css","layout/Navbar/NavItems/Account.module.css","layout/Navbar/NavItems/DashboardForm/DashboardForm.module.css","pages/RequestForm/Components/Menu/Menu.module.css","layout/Navbar/NavItems/Quicklinks.module.css","pages/Applications/Layout/Footer/Footer.module.css","pages/Applications/Apps/AppComponents/AppStreamButton/AppStreamButton.module.css","pages/Applications/Apps/AppComponents/AppStreamButton/Menus/AppStreamMenu/AppStreamMenu.module.css","pages/Applications/Apps/AppComponents/AppStreamButton/Menus/LinkMenu/LinkMenu.module.css","pages/Applications/Apps/AppComponents/AppStreamDeleteButton/AppStreamDeleteButton.module.css","pages/HowTo/Content/Files/FileItems/FileItems.module.css","pages/HowTo/Header/Header.module.css","pages/Dashboards/Dashboard/Dashboard.module.css","pages/FileUpload/FileUpload.module.css","pages/Applications/Layout/Title/Title.module.css","pages/Applications/Apps/AppDrawer/AppDrawer.module.css","pages/Applications/Apps/AppComponents/PageTitle/PageTitle.module.css","pages/HowTo/Content/Content.module.css","pages/RequestForm/Layout/Title/Title.module.css","layout/Footer/Footer.module.css","pages/Applications/Apps/AppComponents/Header/Header.module.css","pages/HowTo/Content/Files/Folder.module.css","pages/Dashboards/DashboardSelector/DashboardSelector.module.css","pages/Applications/Applications.module.css","pages/Applications/Layout/Video/Video.module.css","pages/HowTo/Footer/Footer.module.css","pages/RequestForm/Components/Button/Button.module.css","pages/Applications/Apps/AppComponents/App.module.css","layout/Background/Background.module.css","layout/Layout/Layout.module.css","layout/Toasts/Toast.module.css","pages/Applications/Apps/AppComponents/CloseButton/CloseButton.module.css","pages/HowTo/HowTo.module.css","pages/RequestForm/Layout/Content/Content.module.css","pages/DemoPage/DemoPage.module.css","pages/Dashboards/Dashboards.module.css","pages/Information/Information.module.css","layout/images/readyone.png","services/ReadyOneAPI.js","hooks/useOnClickOutside.js","hooks/useOuterClick.js","layout/Navbar/NavItems/Quicklinks.js","auth/UserPool.js","auth/Account.js","images/refresh.png","images/delete.png","images/restart.png","images/saic.png","images/saiccopy.png","images/TeamworkCloudLogo.png","images/newuser.png","images/ibm.png","images/saiclogo.png","images/aras.png","images/ewm.png","images/rhapsody.png","images/solidworks.png","images/sp3.png","images/sp4.png","images/eifstack.png","images/eiflong.png","images/readyone.png","images/defaultapp.png","images/modelcenter.png","images/tomsawyer.png","images/stk.png","images/powerpoint.png","images/excel.png","images/word.png","images/toolfedteam.png","images/deecoteam.png","images/dareteam.png","images/newROlogo.png","images/cameotrain.png","images/doors.png","components/ImageHelper.js","images/copy.png","images/download.png","auth/Modal/Modal.jsx","auth/Login.js","services/ELMAdminAPI.js","layout/Navbar/NavItems/Modal/Modal.jsx","layout/Navbar/NavItems/NotificationForm/NotificationForm.jsx","layout/Navbar/NavItems/DashboardForm/DashboardForm.jsx","layout/Navbar/NavItems/UserLists/UserLists.jsx","layout/Navbar/NavItems/Account.jsx","layout/Navbar/Navbar.jsx","components/Modals/UserFeedback/FeedbackModal.js","layout/Footer/Footer.js","layout/Background/Background.jsx","layout/Layout/Layout.jsx","pages/Onboarding/Onboarding.js","layout/Toasts/ToastContext.jsx","pages/Applications/Layout/Title/Title.jsx","pages/Applications/Layout/Footer/Footer.jsx","pages/Applications/Layout/Video/Video.js","pages/Applications/Apps/AppComponents/CloseButton/CloseButton.jsx","pages/Applications/Apps/AppComponents/PageTitle/PageTitle.jsx","pages/Applications/Apps/AppComponents/Header/Header.jsx","pages/Applications/Apps/AppComponents/AppStreamButton/Menus/AppStreamMenu/AppStreamMenu.jsx","pages/Applications/Apps/AppComponents/AppStreamButton/Menus/LinkMenu/LinkMenu.jsx","pages/Applications/Apps/AppComponents/AppStreamButton/AppStreamButton.js","services/getAppStreamURL.js","pages/Applications/Apps/AppComponents/AppStreamDeleteButton/AppStreamDeleteButton.jsx","pages/Applications/Apps/AppDrawer/AppDrawer.js","pages/Applications/Apps/AllApps/AllApps.jsx","pages/Applications/Apps/MyApps/MyApps.jsx","pages/Applications/Applications.js","pages/HowTo/Content/Files/FileItems/FileItems.js","pages/HowTo/Content/Files/FileItems/FileHelpers.js","pages/HowTo/Content/Files/Folder.js","pages/HowTo/Content/Content.js","pages/HowTo/Header/Header.js","pages/HowTo/Footer/Footer.js","pages/HowTo/HowTo.js","services/TeamworkCloudAdminAPI.js","components/Modals/TeamworkCloud/TWCUserPermissions.js","components/Modals/IBM/ELMUserPermissions.js","components/Modals/Innovator/InnovatorUserPermissions.js","services/InnovatorAdminAPI.js","components/Modals/NewUser/NewUserModal.js","components/Modals/TeamworkCloud/TWCCreateCatergory.js","components/Modals/TeamworkCloud/TWCMyRoles.js","components/Modals/TeamworkCloud/TWCModal.js","components/Modals/IBM/ELMCreateProject.js","components/Modals/IBM/ELMModal.js","components/Modals/Innovator/InnovatorModal.js","pages/RequestForm/Layout/Title/Title.jsx","pages/RequestForm/Components/Button/Button.jsx","pages/RequestForm/Layout/Content/Content.jsx","pages/RequestForm/RequestForm.js","pages/PTBDemo/PTBNavbar.js","pages/PTBDemo/PTBFooter.js","pages/PTBDemo/PTBLogin.js","pages/PTBDemo/PTBPage.js","pages/DemoPage/DemoNavbar.js","pages/DemoPage/DemoPage.js","pages/Dashboards/DashboardSelector/Modal/Modal.jsx","pages/Dashboards/DashboardSelector/DashboardSelector.jsx","pages/Dashboards/Dashboard/Dashboard.jsx","pages/Dashboards/Dashboards.jsx","pages/FileUpload/Modal/Modal.jsx","pages/FileUpload/FileUpload.jsx","pages/Information/VideoFeed.jsx","pages/Information/Information.jsx","App.js","reportWebVitals.js","index.js"],"names":["module","exports","apiURL","apiKey","getTable","tableName","myHeaders","Headers","append","raw","JSON","stringify","fetch","method","headers","body","redirect","then","response","json","sendEmail","Data","catch","error","console","log","updateUserApps","id","userApps","appList","environment","getNotifications","getDashboards","useOnClickOutside","ref","callback","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","useOuterClick","callbackRef","useRef","innerRef","handleClick","e","Quicklinks","_ref","setPath","path","show","close","links","setLinks","useState","oldPath","setOldPath","hasRendered","setHasRendered","result","Items","_jsx","className","styles","dropdown","open","preventAnimation","children","list","map","link","item","onClick","window","LinkURL","LinkName","CognitoUserPool","UserPoolId","ClientId","auth","CognitoAuth","AppWebDomain","TokenScopesArray","RedirectUriSignIn","RedirectUriSignOut","IdentityProvider","AdvancedSecurityDataCollectionFlag","AccountContext","createContext","Account","props","username","setUsername","firstName","setFirstName","lastName","setLastName","email","setEmail","token","setToken","authenticated","setAuthenticated","opshub","setOpshub","notification","setNotification","restrictedUsers","setRestrictedUsers","restricted","setRestricted","dashboard","setDashboard","newUser","setNewUser","initialized","setInitialized","internal","setInternal","checkIP","checkNewUser","parse","isLessThanADay","getUserLists","user","split","count","length","charAt","toUpperCase","slice","i","users","checkEmail","includes","toLowerCase","Provider","value","authenticate","async","Username","Password","Promise","resolve","reject","CognitoUser","Pool","authDetails","AuthenticationDetails","authenticateUser","onSuccess","data","onFailure","err","newPasswordRequired","getSession","accessToken","curUrl","location","href","userhandler","parseCognitoWebResponse","getCurrentUser","session","signOut","getUserAttributes","attr","Name","Value","logout","getUserName","getIdToken","getJwtToken","iconObj","copy","refresh","refreshImg","delete","deleteImg","restart","restartImg","saic","saicImg","mock","saiccopyImg","twclogo","teamworkcloudlogoImg","newuser","newuserImg","ibm","ibmImg","download","saiclogo","saiclogoImg","aras","arasImg","ewm","ewmImg","rhapsody","rhapsodyImg","solidworks","solidworksImg","cameosp3","cameosp3Img","cameosp4","cameosp4Img","eif","eifstackImg","eiflong","eiflongImg","readyone","readyoneImg","defaultapp","deafultappImg","modelcenter","modelCenterImg","tomsawyer","tomsawyerImg","elm","agistk","stkImg","word","wordImg","excel","excelImg","powerpoint","powerpointImg","ToolFederation","toolfedteamImg","DARE","dareteamImg","DEecosystem","deecoteamImg","newRO","newROlogoImg","cameoTrain","cameotrainImg","doors","doorsImg","ImageHelper","React","Component","render","style","width","this","color","justifyContent","alt","mode","src","defaultProps","GoodModal","title","hideModal","submitted","invalidEmail","modal","hide","_jsxs","modalContent","header","content","footer","shake","Login","password","setPassword","isAuth","setIsAuth","failed","setFailed","loading","setLoading","setShow","isError","setIsError","setInvalidEmail","submitting","setSubmitting","setSubmitted","useContext","search","useLocation","hash","navigate2","useNavigate","URLSearchParams","get","errorDescription","loginRingLoader","RingLoader","size","Navigate","to","requestTemplate","shortformUsername","requesterEmail","display","height","alignItems","_Fragment","name","placeholder","onChange","loginWholePage","loginModal","centered","loginModalLogo","loginModalRo","brandLogo","trademark","loginModalHeader","loginMessage","loginModalFooter","Button","variant","loginModalButton","openLogin","hostname","loginModalFooterDisc","discButton","loginDiscText","policyButton","getELMData","Modal","buttonText","NotificationForm","startDate","setStartDate","format","Date","timeZone","endDate","setEndDate","message","setMessage","autoClose","setAutoClose","type","setType","notifications","setNotifications","notifySuccess","notifyError","ToastContext","handleSubmit","text","postNotification","replace","handleDelete","deleteNotification","notifHolder","form","inputField","checked","notificationTable","index","deleteButton","DashboardForm","setTitle","report","setReport","dashboards","setDashboards","addDashboard","deleteDashboard","dashboardTable","UserLists","selectedOption","setSelectedOption","opshubUsers","setOpshubUsers","notificationUsers","setNotificationUsers","dashboardUsers","setDashboardUsers","updateUsers","action","removeUserFromList","container","input","handleAdd","addUserFromList","button","userList","showToken","setShowToken","secret","setSecret","showNotif","setShowNotif","showUserLists","setShowUserLists","showAddDashboard","setShowAddDashboard","notifyInfo","dismiss","delay","showOpsHub","showNotification","showDashboardAdmin","navigate","AccountItem","_ref2","accountItem","Item","_ref3","leftIcon","rightIcon","BsBezier2","requestOptions","requestUrl","URL","searchParams","toString","oauthToken","oauthTokenSecret","authorizeUrl","setTimeout","accessRequestUrl","accessSearchParams","makeELMOAuthRequests","BsChatRightText","BsFilePerson","BsKanban","BiLogOutCircle","Navbar","quicklinksOpen","setQuicklinksOpen","accountOpen","setAccountOpen","openNav","setOpenNav","setWidth","innerWidth","tabs","route","label","handleResize","getActiveClass","active","navbar","navLinks","tab","Link","navLink","navText","account","VscAccount","permissions","navToggle","VscThreeBars","mobileNav","VscChromeClose","UserFeedback","showUserPermission","setShowUserPermission","showCreateProject","setShowCreateProject","selectedTopic","setSelectedTopic","userSubject","setUserSubject","userTopic","setUserTopic","userExplain","setUserExplain","showFeedback","setShowFeedback","showBug","setShowBug","showSuggestion","setShowSuggestion","topics","clickSubmit","feedback","submitFeedback","subject","topic","explanation","statusCode","onHide","secondButton","Header","Title","Body","Form","Group","as","Col","Label","Control","Select","options","isMulti","Footer","BsQuestionCircle","UserFeedbackModal","Background","Particles","background","fullScreen","enable","zIndex","fpsLimit","interactivity","detect_on","events","onHover","resize","modes","bubble","distance","duration","opacity","push","quantity","repulse","particles","collisions","move","direction","outMode","random","speed","straight","number","density","value_area","shape","retina_detect","Layout","Onboarding","currentStep","setCurrentStep","modalOpen","setModalOpen","steps","hidden","progressBar","progress","step","btnContainer","nextBtn","disabled","prevStep","closeModal","nextStep","ToastProvider","toastData","setToastData","toastQueue","setToastQueue","notif","url","notifyWarning","toast","success","info","warning","notifyLogout","onClose","ms","ToastContainer","theme","newestOnTop","pauseOnFocusLoss","subtitle","image","footerBox","player","Video","onStart","onPause","onPlay","playerWrapper","ReactPlayer","reactPlayer","controls","loop","light","config","youtube","playerVars","modestbranding","CloseButton","class","closeButton","PageTitle","edit","pageTitle","stopSpan","BsPencilSquare","buttonHolder","AppStreamMenu","appStreams","unblur","launchAppStream","ev","menu","menuToggler","for","app","menuItem","LinkMenu","getStreamingURL","dynamic","undefined","handleOpen","AppStreamButton","application","blur","setBlur","setChecked","appName","appLink","appLinks","appRoute","addBlur","getAppStreamURL","Message","removeBlur","selector","AppStreamDeleteButton","add","isMyApp","checkButton","addButton","x","CoreApps","applications","core","filter","category","spinClass","AppDrawer","toggleAllApps","toggleMyApps","displayApps","setDisplayApps","apps","sort","compare","restrict","a","b","appHolder","BsFillGrid3X3GapFill","gridApps","appDrawerButton","AllApps","stopShow","appStreamButtonContainer","itemInMain","MyApps","myApps","setMyApps","setEdit","key","setKey","removeApp","temp","addApp","concat","shrink","jiggle","Applications","setApplications","showMyApps","setShowMyApps","showAllApps","setShowAllApps","getUserApps","app_list","gettingStartedWholeBox","hideBox","SearchItem","file","source","_source","encodeURI","getFileIcon","FileItem","FolderItem","setActiveMenu","ext","BsFileEarmarkPptFill","BsFillFileEarmarkWordFill","BsFillFileEarmarkPlayFill","BsFileEarmarkZip","BsFillFileEarmarkTextFill","extIcon","getFileNameFromKey","isDirectory","fileKey","Folder","activeMenu","folder","explorer","enter","exit","folders","f","files","onEnter","Content","searchValue","searchResults","clickBack","getSearchResults","filePath","IoIosArrowBack","BsSearch","BottomLinks","resourceName","getRootFolder","l","pillButton","BsLink45Deg","HowTo","setSearchValue","setSearchResults","setData","menuStackState","setMenuStackState","setFilePath","getHowTo","menuStack","s","pop","searchTerm","hits","getCategories","instance","TWCUserPermissions","setRequesterEmail","shortForm","shortform","categories","setCategories","projects","setProjects","selectedProjects","setSelectedProjects","setUsers","selectedUsers","setSelectedUsers","selectedCategories","setSelectedCategories","setPermissions","selectedPermissions","setSelectedPermissions","instances","setInstances","selectedInstance","setSelectedInstance","done","setDone","getModalData","categoryTitle","getProjects","getRequestedTemplate","override","css","isDisabled","proj","p","res","ELMUserPermissions","selectedApplications","setSelectedApplications","project","u","permissionLevel","InnovatorUserPermissions","selectedInstances","setSelectedInstances","databases","setDatabases","selectedDatabases","setSelectedDatabases","roles","setRoles","selectedRoles","setSelectedRoles","getInnovatorData","d","r","NewUserModal","userEmail","setUserEmail","setShortForm","showTWC","setShowTWC","showELM","setShowELM","showAras","setShowAras","sendNewUserEmail","TWCCreateCategory","categoryName","setCategoryName","resourceManagers","setResourceManagers","resourceContributors","setResourceContributors","resourceReviewers","setResourceReviewers","createProject","payload","projectName","managers","contributors","reviewers","createCategory","getSuccessTemplate","getErrorTemplate","TWCMyRoles","getUserRoles","role","roleName","TWCModal","showCreateCategory","setShowCreateCategory","showMyRoles","setShowMyRoles","ELMCreateProject","setProjectName","ELMModal","IbmModal","RequestForm","activeModal","setActiveModal","option","InnovatorModal","DemoNavbar","collapseOnSelect","expand","bg","sticky","Brand","Toggle","DemoFooter","Container","fluid","Row","DemoLogin","PTBPage","playerDimension","setPlayerDimension","videoTextClass","setVideoTextClass","access","setAccess","videoStarted","videoPaused","Collapse","Nav","fill","defaultActiveKey","eventKey","DemoPage","gettingStartedTitleText","description","video","DashboardSelector","internalShow","setInternalShow","puffIn","puffOut","dash","idx","Dashboard","update","frame","switchButton","reportFrame","frameborder","allowFullScreen","Dashboards","obj","Object","keys","cancelBtn","FileUpload","fileToUpload","setFileToUpload","uploadSuccess","setUploadSuccess","setError","uploading","setUploading","upload","fileUploadURL","uploadResponse","ok","Error","uploadFile","editContainer","selectContainer","fileSelectCont","fileButtonText","uploadButton","VideoDescription","maxLength","isMobile","expanded","setExpanded","videoDescription","substring","readMoreButton","VideoFeed","videos","setIsMobile","videoFeedContainer","feedHeader","videoItem","videoPlayer","ptbPlayer","videoUrl","videoDetails","videoTitle","mockVideos","thumbnail","VideoFeedPage","App","Router","Routes","Route","element","exact","Information","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.d710554a.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"navbar\":\"Navbar_navbar__3nGXv\",\"brandLogo\":\"Navbar_brandLogo__1OrTj\",\"tracking-in-contract\":\"Navbar_tracking-in-contract__3dYL5\",\"trademark\":\"Navbar_trademark__ShDyh\",\"navLinks\":\"Navbar_navLinks__2dXRB\",\"navLink\":\"Navbar_navLink__14Dy4\",\"navText\":\"Navbar_navText__3ONEZ\",\"active\":\"Navbar_active__1mE3p\",\"account\":\"Navbar_account__3_hGP\",\"navToggle\":\"Navbar_navToggle__2AYef\",\"close\":\"Navbar_close__1wS61\",\"mobileNav\":\"Navbar_mobileNav__1uzdD\",\"open\":\"Navbar_open__hpUKH\",\"logout\":\"Navbar_logout__2q3Vi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"shake\":\"Login_shake__8_qMd\",\"shake-horizontal\":\"Login_shake-horizontal__3ks7g\",\"brandLogo\":\"Login_brandLogo__2fel0\",\"blur-out-contract\":\"Login_blur-out-contract__mkFr7\",\"trademark\":\"Login_trademark__32P5O\",\"loginModal\":\"Login_loginModal__WsFxJ\",\"loginMessage\":\"Login_loginMessage__1upbS\",\"modal-content\":\"Login_modal-content__2woqE\",\"loginWholePage\":\"Login_loginWholePage__1JUJs\",\"fadeInDown\":\"Login_fadeInDown__3kSkT\",\"login-text-white\":\"Login_login-text-white__1vCLh\",\"h4\":\"Login_h4__3cWKM\",\"show\":\"Login_show__45VKH\",\"loginModalLogo\":\"Login_loginModalLogo__24n4X\",\"loginModalHeader\":\"Login_loginModalHeader__3W7VO\",\"loginModalBody\":\"Login_loginModalBody__3YXJI\",\"loginModalRo\":\"Login_loginModalRo__2Ifiy\",\"fadeIn\":\"Login_fadeIn__3kNen\",\"loginModalFooter\":\"Login_loginModalFooter__16AiK\",\"loginModalFooterDisc\":\"Login_loginModalFooterDisc__2RJwA\",\"loginModalButton\":\"Login_loginModalButton__pN2O0\",\"loginRingLoader\":\"Login_loginRingLoader__2Rg4E\",\"discButton\":\"Login_discButton__25NWe\",\"loginDiscText\":\"Login_loginDiscText__3CSLf\",\"policyButton\":\"Login_policyButton__D3dEU\",\"fadeInTextDown\":\"Login_fadeInTextDown__1p5U2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"videoFeedContainer\":\"VideoFeed_videoFeedContainer__3UsbQ\",\"feedHeader\":\"VideoFeed_feedHeader__3XJFD\",\"videoItem\":\"VideoFeed_videoItem__EsA9L\",\"videoPlayer\":\"VideoFeed_videoPlayer__1Mwxh\",\"ptbPlayer\":\"VideoFeed_ptbPlayer__28fu7\",\"videoDetails\":\"VideoFeed_videoDetails__2gOHa\",\"videoTitle\":\"VideoFeed_videoTitle__2FwXB\",\"videoDescription\":\"VideoFeed_videoDescription__1GjBq\",\"readMoreButton\":\"VideoFeed_readMoreButton__2JCCc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"Onboarding_modal__u94Ks\",\"hidden\":\"Onboarding_hidden__3dZqZ\",\"modalContent\":\"Onboarding_modalContent__1HGqw\",\"progressBar\":\"Onboarding_progressBar__2CPoC\",\"progress\":\"Onboarding_progress__tajyC\",\"step\":\"Onboarding_step__1x-DE\",\"active\":\"Onboarding_active__eXHq5\",\"btnContainer\":\"Onboarding_btnContainer__SRZy_\",\"nextBtn\":\"Onboarding_nextBtn__25_CL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"NotificationForm_form__3aO4h\",\"inputField\":\"NotificationForm_inputField__2dkBm\",\"submitButton\":\"NotificationForm_submitButton__11Pyy\",\"notificationTable\":\"NotificationForm_notificationTable__1jymM\",\"deleteButton\":\"NotificationForm_deleteButton__3OpB8\",\"notifHolder\":\"NotificationForm_notifHolder__3GvVL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"Modal_modal__LkN4n\",\"modalContent\":\"Modal_modalContent__2pM2R\",\"fadeInDown\":\"Modal_fadeInDown__Cz_mu\",\"loading\":\"Modal_loading__2AoqT\",\"show\":\"Modal_show__7dTMB\",\"hide\":\"Modal_hide__20EyZ\",\"header\":\"Modal_header__2Gwo8\",\"content\":\"Modal_content__3FdtA\",\"footer\":\"Modal_footer__1YdD0\",\"shake\":\"Modal_shake__1JFHv\",\"shake-horizontal\":\"Modal_shake-horizontal__303Rl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"Modal_modal__17gH3\",\"modalContent\":\"Modal_modalContent__1ShHA\",\"fadeInDown\":\"Modal_fadeInDown__2U3OG\",\"show\":\"Modal_show__yo2Cy\",\"hide\":\"Modal_hide__KwXA9\",\"header\":\"Modal_header__1_3uD\",\"content\":\"Modal_content__3TfBG\",\"footer\":\"Modal_footer__3eZx-\",\"cancelBtn\":\"Modal_cancelBtn__2TuE-\",\"submitBtn\":\"Modal_submitBtn__JIWDl\",\"backButton\":\"Modal_backButton__1w75o\",\"uploadButton\":\"Modal_uploadButton__37Tjf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"Modal_modal__12XaT\",\"modalContent\":\"Modal_modalContent__1_NLV\",\"fadeInDown\":\"Modal_fadeInDown__3bIw7\",\"show\":\"Modal_show__1Tv7i\",\"hide\":\"Modal_hide__IUi8X\",\"header\":\"Modal_header__2wnRj\",\"content\":\"Modal_content__3_tWE\",\"footer\":\"Modal_footer__1tcoH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"UserLists_container__2_Z3S\",\"dropdown\":\"UserLists_dropdown__3Pitr\",\"input\":\"UserLists_input__5WPeA\",\"button\":\"UserLists_button__38Xtw\",\"userList\":\"UserLists_userList__2ajKM\",\"user\":\"UserLists_user__29sI1\",\"deleteButton\":\"UserLists_deleteButton__3kMT5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"Modal_modal__DA8Bt\",\"modalContent\":\"Modal_modalContent__q2IVb\",\"fadeInDown\":\"Modal_fadeInDown__2Ypav\",\"show\":\"Modal_show__gdxVs\",\"hide\":\"Modal_hide__ggdGv\",\"header\":\"Modal_header__2I5JH\",\"content\":\"Modal_content__15rG_\",\"footer\":\"Modal_footer__1QhhT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"Modal_modal__2qF5p\",\"modalContent\":\"Modal_modalContent__2-n_C\",\"fadeInDown\":\"Modal_fadeInDown__1LFG8\",\"show\":\"Modal_show__2TQ6s\",\"hide\":\"Modal_hide__3r1lC\",\"header\":\"Modal_header__2luGL\",\"content\":\"Modal_content__3PoLM\",\"footer\":\"Modal_footer__pC_wJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"Account_dropdown__iDuza\",\"linkOut\":\"Account_linkOut__bSuwt\",\"open\":\"Account_open__mzF_o\",\"linkIn\":\"Account_linkIn__3NWEZ\",\"preventAnimation\":\"Account_preventAnimation__1TdDx\",\"none\":\"Account_none__1maY6\",\"list\":\"Account_list__23vW8\",\"item\":\"Account_item__3Ry8H\",\"accountItem\":\"Account_accountItem__2mnR3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"DashboardForm_form__3UGyA\",\"inputField\":\"DashboardForm_inputField__2Pewk\",\"submitButton\":\"DashboardForm_submitButton__3WmDA\",\"dashboardTable\":\"DashboardForm_dashboardTable__2iYB-\",\"deleteButton\":\"DashboardForm_deleteButton__zSXI_\",\"notifHolder\":\"DashboardForm_notifHolder__1IuHT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"Menu_modal__2cIht\",\"modalContent\":\"Menu_modalContent__1Rxlv\",\"fadeInDown\":\"Menu_fadeInDown__2jQYp\",\"show\":\"Menu_show__15cMt\",\"hide\":\"Menu_hide__1A4pw\",\"header\":\"Menu_header__31W0-\",\"content\":\"Menu_content__2o-nu\",\"footer\":\"Menu_footer__tJQxf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"Quicklinks_dropdown__1CTbG\",\"linkOut\":\"Quicklinks_linkOut__2H9Ud\",\"open\":\"Quicklinks_open__3lbR_\",\"linkIn\":\"Quicklinks_linkIn__2YNpa\",\"preventAnimation\":\"Quicklinks_preventAnimation__2UpCa\",\"none\":\"Quicklinks_none__1w7Wl\",\"list\":\"Quicklinks_list__3TdM8\",\"item\":\"Quicklinks_item__1bsZF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footerBox\":\"Footer_footerBox__1e3W-\",\"player\":\"Footer_player__3SNaM\",\"content\":\"Footer_content__1uLpA\",\"title\":\"Footer_title__3384x\",\"body\":\"Footer_body__2BUsO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"AppStreamButton_button__2XunV\",\"selector\":\"AppStreamButton_selector__m3JZS\",\"blur\":\"AppStreamButton_blur__2-Xtx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuToggler\":\"AppStreamMenu_menuToggler__3KRiy\",\"menuItem\":\"AppStreamMenu_menuItem__1ZX7c\",\"title\":\"AppStreamMenu_title__2U8R2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuToggler\":\"LinkMenu_menuToggler__2jHOO\",\"menuItem\":\"LinkMenu_menuItem__XZI8k\",\"title\":\"LinkMenu_title__1ZU_w\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"closeButton\":\"AppStreamDeleteButton_closeButton__1lIan\",\"addButton\":\"AppStreamDeleteButton_addButton__2-l2I\",\"checkButton\":\"AppStreamDeleteButton_checkButton__16VoL\",\"x\":\"AppStreamDeleteButton_x__136_v\",\"hidden\":\"AppStreamDeleteButton_hidden__3iDbM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"file\":\"FileItems_file__3CM6c\",\"content\":\"FileItems_content__4rbzO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Header_container__GwvCR\",\"button\":\"Header_button__364is\",\"title\":\"Header_title__J4lBG\",\"centerTitle\":\"Header_centerTitle__dZ4jV\",\"filePath\":\"Header_filePath__3jlBO\",\"search\":\"Header_search__2z0u0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"frame\":\"Dashboard_frame__1QacA\",\"puff-in-center\":\"Dashboard_puff-in-center__S4NEM\",\"reportFrame\":\"Dashboard_reportFrame__NUMvA\",\"header\":\"Dashboard_header__2e5v8\",\"title\":\"Dashboard_title__3AE-r\",\"tracking-in-expand\":\"Dashboard_tracking-in-expand__1C7j4\",\"switchButton\":\"Dashboard_switchButton__32EOX\",\"neumorphic\":\"Dashboard_neumorphic__3d9fz\",\"neumorphicPressed\":\"Dashboard_neumorphicPressed__hIixi\",\"variation2\":\"Dashboard_variation2__BLEmv\",\"pressed\":\"Dashboard_pressed__1Fac7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"FileUpload_header__3D-Er\",\"form-group\":\"FileUpload_form-group__3Yj2Z\",\"form-control-file\":\"FileUpload_form-control-file__1JMVY\",\"btn\":\"FileUpload_btn__2hDBa\",\"folderSection\":\"FileUpload_folderSection__1MfzF\",\"folderHeader\":\"FileUpload_folderHeader__2KAU2\",\"folderTitle\":\"FileUpload_folderTitle__2TrnO\",\"files\":\"FileUpload_files__3jZWx\",\"file\":\"FileUpload_file__1tVxC\",\"isDirectory\":\"FileUpload_isDirectory__2Jdlu\",\"show\":\"FileUpload_show__2elt2\",\"hide\":\"FileUpload_hide__-dAGQ\",\"container\":\"FileUpload_container__3X3jS\",\"editContainer\":\"FileUpload_editContainer__eVZIz\",\"slide-in-bottom\":\"FileUpload_slide-in-bottom__3DlSH\",\"fileUploadCont\":\"FileUpload_fileUploadCont__kkX6p\",\"boxSelector\":\"FileUpload_boxSelector__2p-kz\",\"selectHeader\":\"FileUpload_selectHeader__3wl3g\",\"content\":\"FileUpload_content__39QiD\",\"fileSelectCont\":\"FileUpload_fileSelectCont__1-DXF\",\"uploadButton\":\"FileUpload_uploadButton__3XZzA\",\"backButton\":\"FileUpload_backButton__GArDl\",\"nextBtn\":\"FileUpload_nextBtn__19MNt\",\"fileButtonText\":\"FileUpload_fileButtonText__2AZ_T\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Title_container__2X3Ku\",\"image\":\"Title_image__34C-_\",\"subtitle\":\"Title_subtitle__GTIaG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"appHolder\":\"AppDrawer_appHolder__gq-5-\",\"core\":\"AppDrawer_core__2hmhG\",\"fadeInDown\":\"AppDrawer_fadeInDown__3lBId\",\"appDrawerButton\":\"AppDrawer_appDrawerButton__20PnQ\",\"fadeIn\":\"AppDrawer_fadeIn__16aer\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pageTitle\":\"PageTitle_pageTitle__30DXd\",\"title\":\"PageTitle_title__1RYCP\",\"button\":\"PageTitle_button__2tEM_\",\"stopSpan\":\"PageTitle_stopSpan__1PYiG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Content_container__FOw-t\",\"content\":\"Content_content__125Mj\",\"explorer\":\"Content_explorer__2_lXd\",\"enter\":\"Content_enter__1qmDG\",\"howto-menu-enter\":\"Content_howto-menu-enter__i244H\",\"exit\":\"Content_exit__3JUKz\",\"howto-menu-exit\":\"Content_howto-menu-exit__1hUyh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Title_container__X4cXH\",\"image\":\"Title_image__3fazK\",\"subtitle\":\"Title_subtitle__243Fq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"Footer_footer__3Xx80\",\"feedback\":\"Footer_feedback__319OA\",\"text\":\"Footer_text__2CVKl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"Header_header__17ztC\",\"fadeInAnimation\":\"Header_fadeInAnimation__xg5qu\",\"title\":\"Header_title__2RpXX\",\"buttonHolder\":\"Header_buttonHolder__CGuZt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"explorer\":\"Folder_explorer__34_Cv\",\"enter\":\"Folder_enter__qKl2H\",\"howto-menu-enter\":\"Folder_howto-menu-enter__YUVJB\",\"exit\":\"Folder_exit__mJYmc\",\"howto-menu-exit\":\"Folder_howto-menu-exit__3OXuU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"DashboardSelector_dropdown__5c9Yf\",\"puffOut\":\"DashboardSelector_puffOut__IwD35\",\"puff-out-center\":\"DashboardSelector_puff-out-center__1WDeW\",\"puffIn\":\"DashboardSelector_puffIn__20W6c\",\"puff-in-center\":\"DashboardSelector_puff-in-center__3bKAi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"gettingStartedWholeBox\":\"Applications_gettingStartedWholeBox__fAvNw\",\"hideBox\":\"Applications_hideBox__AxEhP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"playerWrapper\":\"Video_playerWrapper__9z3uk\",\"reactPlayer\":\"Video_reactPlayer__3g8lK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"Footer_footer__1IJAf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"Button_button__1Dh7n\",\"selector\":\"Button_selector__1OIJR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"App_modal__Bwzdz\",\"modalContent\":\"App_modalContent__1vKoN\",\"fadeInDown\":\"App_fadeInDown__3iSTT\",\"hidden\":\"App_hidden__33hv2\",\"modalFadeOut\":\"App_modalFadeOut__knn6-\",\"fadeOutUp\":\"App_fadeOutUp__3MpUd\",\"jiggle\":\"App_jiggle__2YoW8\",\"appStreamButtonContainer\":\"App_appStreamButtonContainer__jY2Qz\",\"shrink\":\"App_shrink__1w-TJ\",\"edit\":\"App_edit__1iQlO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"background\":\"Background_background__1OivN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"Layout_content__3fllp\",\"toast\":\"Layout_toast__1K_SW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toast\":\"Toast_toast__3gjxx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"closeButton\":\"CloseButton_closeButton__kh019\",\"fadeIn\":\"CloseButton_fadeIn__dx4xy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"HowTo_container__ERH6J\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"Content_content__3dfOn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"getting-started-whole-box\":\"DemoPage_getting-started-whole-box__2xhOs\",\"getting-started-title\":\"DemoPage_getting-started-title__2J81T\",\"getting-started-title-text\":\"DemoPage_getting-started-title-text__3Src9\",\"getting-started-row\":\"DemoPage_getting-started-row__18Oma\",\"row\":\"DemoPage_row__CqATU\",\"getting-started-dropdown-row\":\"DemoPage_getting-started-dropdown-row__2DIpY\",\"getting-started-footer\":\"DemoPage_getting-started-footer__5oWQ2\",\"getting-started-footer-row\":\"DemoPage_getting-started-footer-row__1q9v9\",\"video-player-col\":\"DemoPage_video-player-col__S_md2\",\"videoplayer\":\"DemoPage_videoplayer__20UOG\",\"video-player-title\":\"DemoPage_video-player-title__3bpf8\",\"video-player-text\":\"DemoPage_video-player-text__1qKnK\",\"video-player-text-playing\":\"DemoPage_video-player-text-playing__13Y0b\",\"react-player__preview\":\"DemoPage_react-player__preview__31x1c\",\"gettingStartedTitleText\":\"DemoPage_gettingStartedTitleText__2qAO1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"frame\":\"Dashboards_frame__20x43\",\"puff-in-center\":\"Dashboards_puff-in-center__28BcK\",\"reportFrame\":\"Dashboards_reportFrame__3AJI0\",\"title\":\"Dashboards_title__1-g6C\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"Information_header__1n2Sx\",\"headerContent\":\"Information_headerContent__3OqMo\"};","export default __webpack_public_path__ + \"static/media/readyone.77112a8a.png\";","const apiURL = \"https://api.readyone.net\";\nconst apiKey = \"byGTHF1wmJ1nxf7eMp7fNytA8M9PWwLsIU85or90\";\n\nexport function getHowTo_old() {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n\n var requestOptions = {\n method: \"GET\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/gethowto`, requestOptions)\n .then((response) => response.json())\n .then((body) => body.body);\n}\n\nexport function getTable(tableName) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify({ tableName: tableName });\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/getTable`, requestOptions).then((response) =>\n response.json()\n );\n}\n\nexport function sendEmail(Data) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify(Data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/sendEmail`, requestOptions)\n .then((response) => response.json())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function getHowTo() {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n // myHeaders.append(\"Content-Type\", \"application/json\");\n\n var requestOptions = {\n method: \"GET\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/gets3structure`, requestOptions)\n .then((response) => response.json())\n .then((body) => body.body);\n}\n\nexport function search(searchTerm) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n\n var requestOptions = {\n method: \"GET\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/search?q=${searchTerm}`, requestOptions)\n .then((response) => response.json())\n .then((result) => result.hits.hits)\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function searchWorkItems(searchTerm) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n\n var requestOptions = {\n method: \"GET\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/search/work-items?q=${searchTerm}`, requestOptions)\n .then((response) => response.json())\n .then((result) => result.hits.hits)\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function submitFeedback(feedback) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify(feedback);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/submit-feedback`, requestOptions).then((response) =>\n response.json()\n );\n}\n\nexport function getUserApps(id) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify({ id, environment: \"ReadyOne_UserApps\" });\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/get-user-apps`, requestOptions)\n .then((response) => response.json())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function updateUserApps(id, userApps) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify({\n id,\n appList: userApps,\n environment: \"ReadyOne_UserApps\",\n });\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/update-user-apps`, requestOptions)\n .then((response) => response.json())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function checkIP() {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n\n var requestOptions = {\n method: \"GET\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/check-ip`, requestOptions)\n .then((response) => response.json())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function getNotifications() {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var requestOptions = {\n method: \"GET\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/get-readyone-notifications`, requestOptions)\n .then((response) => response.json())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function postNotification(notification) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify(notification);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/get-readyone-notifications`, requestOptions)\n .then((response) => response.text())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function deleteNotification(id) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify({\n id,\n });\n\n var requestOptions = {\n method: \"DELETE\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/get-readyone-notifications`, requestOptions)\n .then((response) => response.text())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function removeUserFromList(id, user) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify({\n id,\n user,\n action: \"remove\",\n });\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/update-user-lists`, requestOptions)\n .then((response) => response.text())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function addUserFromList(id, user) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify({\n id,\n user,\n action: \"add\",\n });\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/update-user-lists`, requestOptions)\n .then((response) => response.text())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function checkNewUser(username) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify({\n username,\n });\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/check-new-login`, requestOptions)\n .then((response) => response.json())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function addDashboard(dashboard) {\n var myHeaders = new Headers();\n myHeaders.append(\"x-api-key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify(dashboard);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/dashboard`, requestOptions)\n .then((response) => response.text())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function deleteDashboard(dashboard) {\n var myHeaders = new Headers();\n myHeaders.append(\"x-api-key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify(dashboard);\n\n var requestOptions = {\n method: \"DELETE\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/dashboard`, requestOptions)\n .then((response) => response.text())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function getDashboards() {\n var myHeaders = new Headers();\n myHeaders.append(\"x-api-key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var requestOptions = {\n method: \"GET\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/dashboard`, requestOptions)\n .then((response) => response.json())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function uploadFile(file, name) {\n try {\n var myHeaders = new Headers();\n myHeaders.append(\"x-api-key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n\n var requestOptions = {\n method: 'GET',\n headers: myHeaders,\n redirect: 'follow'\n };\n // When the upload file button is clicked,\n // first we need to get the presigned URL\n // URL is the one you get from AWS API Gateway\n return fetch(\n `${apiURL}/upload-readyone-s3/generate-upload-url?fileName=${name}`, requestOptions\n ).then(async (response) => {\n const data = await response.json();\n console.log(data)\n // Getting the url from response\n const url = data.fileUploadURL;\n\n // Initiating the PUT request to upload file \n return fetch(url, {\n method: \"PUT\",\n body: file,\n headers: { \"Content-Type\": \"multipart/form-data\" }\n }).then(uploadResponse => {\n if (uploadResponse.ok) {\n return ({\n uploadSuccess: \"File upload successful\",\n error: undefined\n });\n } else {\n throw new Error(\"Upload failed\");\n }\n })\n\n\n })\n\n\n } catch (err) {\n return ({\n error: \"Error Occurred while uploading the file\",\n uploadSuccess: undefined\n });\n }\n}","import { useEffect } from \"react\";\n\nexport default function useOnClickOutside(ref, callback) {\n useEffect(() => {\n function handleClickOutside(event) {\n if (ref.current && !ref.current.contains(event.target)) {\n callback();\n }\n }\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [ref, callback]);\n}\n","import React, { useRef, useEffect } from \"react\";\n\nexport default function useOuterClick(callback) {\n const callbackRef = useRef(); // initialize mutable ref, which stores callback\n const innerRef = useRef(); // returned to client, who marks \"border\" element\n\n // update cb on each render, so second useEffect has access to current value\n useEffect(() => {\n callbackRef.current = callback;\n });\n\n useEffect(() => {\n document.addEventListener(\"click\", handleClick);\n return () => document.removeEventListener(\"click\", handleClick);\n function handleClick(e) {\n if (\n innerRef.current &&\n callbackRef.current &&\n !innerRef.current.contains(e.target)\n )\n callbackRef.current(e);\n }\n }, []); // no dependencies -> stable click listener\n\n return innerRef; // convenience for client (doesn't need to init ref himself)\n}\n","import React, { useEffect, useState, useRef } from \"react\";\nimport styles from \"./Quicklinks.module.css\";\nimport { getTable } from \"../../../services/ReadyOneAPI\";\nimport { useOnClickOutside } from \"../../../hooks\";\n\nexport default function Quicklinks({ setPath, path, show, close }) {\n const [links, setLinks] = useState([]);\n const [oldPath, setOldPath] = useState(path);\n const [hasRendered, setHasRendered] = useState(false);\n const ref = useRef(null);\n useOnClickOutside(ref, () => show && close());\n\n useEffect(() => {\n getTable(\"QuickLinks\").then((result) => {\n setLinks(result.body.Items);\n });\n }, []);\n\n useEffect(() => path !== \"/Quicklinks\" && setOldPath(path), [path]);\n\n useEffect(() => {\n show && setHasRendered(true);\n setPath(show ? \"/Quicklinks\" : oldPath);\n }, [show]);\n\n return (\n \n \n \n );\n}\n","import { CognitoUserPool } from \"amazon-cognito-identity-js\";\n\nconst poolData = {\n UserPoolId: \"us-gov-west-1_ldWyPvzw9\",\n ClientId: \"4am2prse8uqojha4hmpu4v7qe9\",\n};\n\nexport default new CognitoUserPool(poolData);\n","import React, { createContext, useState, useEffect } from \"react\";\nimport { CognitoUser, AuthenticationDetails } from \"amazon-cognito-identity-js\";\nimport { CognitoAuth } from \"amazon-cognito-auth-js\";\n// import * as AWS from \"aws-sdk\";\nimport Pool from \"./UserPool\";\nimport { getTable, checkNewUser, checkIP } from \"../services/ReadyOneAPI\";\n\nvar authData = {\n ClientId: \"4am2prse8uqojha4hmpu4v7qe9\", // Your client id here\n AppWebDomain: \"readyone.net\",\n TokenScopesArray: [\"email\", \"openid\", \"aws.cognito.signin.user.admin\"], // e.g.['phone', 'email', 'profile','openid', 'aws.cognito.signin.user.admin'],\n RedirectUriSignIn: \"/\",\n RedirectUriSignOut: \"/\",\n IdentityProvider: \"saic\", // e.g. 'Facebook',\n UserPoolId: \"us-gov-west-1_ldWyPvzw9\", // Your user pool id here\n AdvancedSecurityDataCollectionFlag: false, // e.g. true\n};\nvar auth = new CognitoAuth(authData);\n\nconst AccountContext = createContext();\n\nconst Account = (props) => {\n const [username, setUsername] = useState(\"\");\n const [firstName, setFirstName] = useState(\"\");\n const [lastName, setLastName] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [token, setToken] = useState(\"\");\n const [authenticated, setAuthenticated] = useState(false);\n const [opshub, setOpshub] = useState([]);\n const [notification, setNotification] = useState([]);\n const [restrictedUsers, setRestrictedUsers] = useState([]);\n const [restricted, setRestricted] = useState(false);\n const [dashboard, setDashboard] = useState([]);\n const [newUser, setNewUser] = useState(false);\n const [initialized, setInitialized] = useState(false);\n const [internal, setInternal] = useState(false);\n\n useEffect(() => {\n checkIP().then((result) => {\n console.log(result);\n setInternal(result.internal);\n })\n }, [])\n\n useEffect(() => {\n checkNewUser(username).then((result) => {\n if (JSON.parse(result.body).isLessThanADay) {\n setNewUser(JSON.parse(result.body).isLessThanADay);\n }\n });\n }, [username]);\n\n useEffect(() => {\n if (email) {\n getUserLists();\n \n let user = email.split(\"@\")[0];\n let count = user.split(\".\").length;\n if(count === 1) {\n setLastName(\"\");\n setFirstName(user);\n } else if (count < 3) {\n setLastName(\n email.split(\".\")[1].charAt(0).toUpperCase() +\n email.split(\".\")[1].split(\"@\")[0].slice(1)\n );\n setFirstName(\n email.split(\".\")[0].charAt(0).toUpperCase() +\n email.split(\".\")[0].slice(1)\n );\n } else {\n setLastName(\n email.split(\".\")[2].charAt(0).toUpperCase() +\n email.split(\".\")[2].split(\"@\")[0].slice(1)\n );\n setFirstName(\n email.split(\".\")[0].charAt(0).toUpperCase() +\n email.split(\".\")[0].slice(1)\n );\n }\n \n }\n }, [email]);\n\n\n const getUserLists = () => {\n getTable(\"ReadyOne_UserLists\").then((result) => {\n result.body.Items.map((i) => {\n const actions = {\n opshub: () => setOpshub(i.users),\n notification: () => setNotification(i.users),\n restricted: () => {\n setRestrictedUsers(i.users);\n checkEmail(i.users);\n },\n dashboard: () => setDashboard(i.users)\n };\n\n (actions[i.id] || (() => console.log(\"ID not recognized\")))();\n });\n });\n };\n\n const checkEmail = (users) => {\n setRestricted(users.includes(email.toLowerCase()));\n setInitialized(true);\n };\n\n const getSession = async (accessToken) => {\n if (accessToken) {\n setToken(accessToken);\n var curUrl = window.location.href;\n\n auth.userhandler = {\n onSuccess: function (result) {\n //console.log(\"Sign in success\");\n //console.log(result);\n },\n onFailure: function (err) {\n console.error(\"Error!\");\n },\n };\n\n auth.parseCognitoWebResponse(curUrl);\n auth.getSession();\n }\n\n return await new Promise((resolve, reject) => {\n const user = Pool.getCurrentUser();\n\n if (user) {\n user.getSession((err, session) => {\n if (err) {\n user.signOut();\n\n reject();\n }\n\n user.getUserAttributes((err, data) => {\n if (err) {\n user.signOut();\n\n reject();\n }\n console.log(\"Get User Attributes: \", data);\n data.map((attr) => {\n if (attr.Name === \"email\") setEmail(attr.Value.toLowerCase());\n if (attr.Name === \"identities\") {\n if (JSON.parse(attr.Value)[0]) {\n if (JSON.parse(attr.Value)[0][\"userId\"]) {\n console.log(JSON.parse(attr.Value)[0]);\n setUsername(JSON.parse(attr.Value)[0][\"userId\"]);\n }\n }\n }\n });\n setAuthenticated(true);\n resolve({ session: session, data: data });\n });\n });\n } else {\n reject();\n }\n });\n };\n\n const getUserName = async () => {\n return await new Promise((resolve, reject) => {\n const user = Pool.getCurrentUser();\n\n if (user) {\n user.getUserAttributes((err, data) => {\n if (err) {\n //console.log(err);\n reject(err);\n }\n\n data.map((attr) => {\n if (attr.Name === \"email\") setEmail(attr.Value.toLowerCase());\n if (attr.Name === \"identities\") {\n if (JSON.parse(attr.Value)[0]) {\n if (JSON.parse(attr.Value)[0][\"userId\"]) {\n resolve(JSON.parse(attr.Value)[0][\"userId\"]);\n }\n }\n }\n });\n });\n } else {\n reject();\n }\n });\n };\n\n const authenticate = async (Username, Password) => {\n return await new Promise((resolve, reject) => {\n const user = new CognitoUser({ Username, Pool });\n\n const authDetails = new AuthenticationDetails({ Username, Password });\n\n user.authenticateUser(authDetails, {\n onSuccess: (data) => {\n //console.log(\"onSuccess: \", data);\n setAuthenticated(true);\n resolve(data);\n },\n onFailure: (err) => {\n //console.error(\"onFailure :\", err);\n reject(err);\n },\n newPasswordRequired: (data) => {\n //console.log(\"newPasswordRequired: \", data);\n resolve(data);\n },\n });\n });\n };\n\n const logout = () => {\n const user = Pool.getCurrentUser();\n if (user) {\n user.signOut();\n }\n setAuthenticated(false);\n };\n\n const accessToken = async () => {\n return await new Promise((resolve, reject) => {\n const user = Pool.getCurrentUser();\n console.log(\"getSession user data: \", user);\n if (user) {\n user.getSession((err, session) => {\n if (err) {\n reject();\n }\n resolve(session.getIdToken().getJwtToken());\n });\n } else {\n reject();\n }\n });\n };\n\n return (\n \n {props.children}\n \n );\n};\n\nexport { Account, AccountContext };\n","export default __webpack_public_path__ + \"static/media/refresh.fafc8592.png\";","export default __webpack_public_path__ + \"static/media/delete.fd4599d5.png\";","export default __webpack_public_path__ + \"static/media/restart.daa14182.png\";","export default __webpack_public_path__ + \"static/media/saic.7312ed1a.png\";","export default __webpack_public_path__ + \"static/media/saiccopy.3c8b67da.png\";","export default __webpack_public_path__ + \"static/media/TeamworkCloudLogo.38892ca1.png\";","export default __webpack_public_path__ + \"static/media/newuser.a01c0ca8.png\";","export default __webpack_public_path__ + \"static/media/ibm.976c00c0.png\";","export default __webpack_public_path__ + \"static/media/saiclogo.7265eff1.png\";","export default __webpack_public_path__ + \"static/media/aras.2a4d87d9.png\";","export default __webpack_public_path__ + \"static/media/ewm.aab8f578.png\";","export default __webpack_public_path__ + \"static/media/rhapsody.cc6c83c4.png\";","export default __webpack_public_path__ + \"static/media/solidworks.69f6c764.png\";","export default __webpack_public_path__ + \"static/media/sp3.c89fe7cc.png\";","export default __webpack_public_path__ + \"static/media/sp4.02c0154b.png\";","export default __webpack_public_path__ + \"static/media/eifstack.b1934bc0.png\";","export default __webpack_public_path__ + \"static/media/eiflong.4041e129.png\";","export default __webpack_public_path__ + \"static/media/readyone.77112a8a.png\";","export default __webpack_public_path__ + \"static/media/defaultapp.301b2768.png\";","export default __webpack_public_path__ + \"static/media/modelcenter.3423cc92.png\";","export default __webpack_public_path__ + \"static/media/tomsawyer.dd52ca9a.png\";","export default __webpack_public_path__ + \"static/media/stk.e01c026e.png\";","export default __webpack_public_path__ + \"static/media/powerpoint.70c9a7b2.png\";","export default __webpack_public_path__ + \"static/media/excel.4ca0fbae.png\";","export default __webpack_public_path__ + \"static/media/word.1f7a609c.png\";","export default __webpack_public_path__ + \"static/media/toolfedteam.7e8990c9.png\";","export default __webpack_public_path__ + \"static/media/deecoteam.22d7aacd.png\";","export default __webpack_public_path__ + \"static/media/dareteam.f28d1730.png\";","export default __webpack_public_path__ + \"static/media/newROlogo.d77020ed.png\";","export default __webpack_public_path__ + \"static/media/cameotrain.406f90c8.png\";","export default __webpack_public_path__ + \"static/media/doors.589cbe8c.png\";","import copyImg from \"../images/copy.png\";\nimport refreshImg from \"../images/refresh.png\";\nimport deleteImg from \"../images/delete.png\";\nimport restartImg from \"../images/restart.png\";\nimport saicImg from \"../images/saic.png\";\nimport saiccopyImg from \"../images/saiccopy.png\";\nimport teamworkcloudlogoImg from \"../images/TeamworkCloudLogo.png\";\nimport newuserImg from \"../images/newuser.png\";\nimport ibmImg from \"../images/ibm.png\";\nimport downloadImg from \"../images/download.png\";\nimport saiclogoImg from \"../images/saiclogo.png\";\nimport arasImg from \"../images/aras.png\";\nimport ewmImg from \"../images/ewm.png\";\nimport rhapsodyImg from \"../images/rhapsody.png\";\nimport solidworksImg from \"../images/solidworks.png\";\nimport cameosp3Img from \"../images/sp3.png\";\nimport cameosp4Img from \"../images/sp4.png\";\nimport eifstackImg from \"../images/eifstack.png\";\nimport eiflongImg from \"../images/eiflong.png\";\nimport readyoneImg from \"../images/readyone.png\";\nimport deafultappImg from \"../images/defaultapp.png\";\nimport modelCenterImg from \"../images/modelcenter.png\";\nimport tomsawyerImg from \"../images/tomsawyer.png\";\nimport stkImg from \"../images/stk.png\";\nimport powerpointImg from \"../images/powerpoint.png\";\nimport excelImg from \"../images/excel.png\";\nimport wordImg from \"../images/word.png\";\nimport toolfedteamImg from \"../images/toolfedteam.png\";\nimport deecoteamImg from \"../images/deecoteam.png\";\nimport dareteamImg from \"../images/dareteam.png\";\nimport newROlogoImg from \"../images/newROlogo.png\";\nimport cameotrainImg from \"../images/cameotrain.png\";\nimport doorsImg from \"../images/doors.png\";\nimport React from \"react\";\n\nconst iconObj = {\n copy: copyImg,\n refresh: refreshImg,\n delete: deleteImg,\n restart: restartImg,\n saic: saicImg,\n mock: saiccopyImg,\n twclogo: teamworkcloudlogoImg,\n newuser: newuserImg,\n ibm: ibmImg,\n download: downloadImg,\n saiclogo: saiclogoImg,\n aras: arasImg,\n ewm: ewmImg,\n rhapsody: rhapsodyImg,\n solidworks: solidworksImg,\n cameosp3: cameosp3Img,\n cameosp4: cameosp4Img,\n eif: eifstackImg,\n eiflong: eiflongImg,\n readyone: readyoneImg,\n defaultapp: deafultappImg,\n modelcenter: modelCenterImg,\n tomsawyer: tomsawyerImg,\n elm: ibmImg,\n agistk: stkImg,\n word: wordImg,\n excel: excelImg,\n powerpoint: powerpointImg,\n ToolFederation: toolfedteamImg,\n DARE: dareteamImg,\n DEecosystem: deecoteamImg,\n newRO: newROlogoImg,\n cameoTrain: cameotrainImg,\n doors: doorsImg,\n};\n\nclass ImageHelper extends React.Component {\n render() {\n return (\n this.props.onClick()}\n />\n );\n }\n}\n\nImageHelper.defaultProps = {\n width: \"1.5rem\",\n color: \"gainsboro\",\n};\n\nexport default ImageHelper;\n","export default \"data:image/png;base64,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gggAAAASRAAAAJAgAgAAgAQRAAAAJIgAAAAgQQQAAAAJIgAAAEgQAQAAQIIIAAAAEkQAAACQIAIAAIAEEQAAACSIAAAAIEEEAAAACSIAAABIEAEAAECCCAAAABJEAAAAkCACAACABBEAAAAkiAAAACBBBAAAAAkiAAAASBABAABAgggAAAASRAAAAJAgAgAAgAQRAAAAJIgAAAAgQQQAAAAJIgAAAEgQAQAAQIIIAAAAEkQAAACQIAIAAIAEEQAAACSIAAAAIEEEAAAACSIAAABIEAEAAECCCAAAABJEAAAAkCACAACABBEAAAAkiAAAACBBBAAAAAkiAAAASBABAABAgggAAAASRAAAAJAgAgAAgAQRAAAAJIgAAAAgQQQAAAAJIgAAAEgQAQAAQIIIAAAAEkQAAACQIAIAAIAEEQAAACSIAAAAIEEEAAAACSIAAABIEAEAAECCCAAAABJEAAAAkCACAACABBEAAAAkiAAAACBBBAAAAAkiAAAASBABAABAgggAAAASRAAAAJAgAgAAgAQRAAAAJIgAAAAgQQQAAAAJIgAAAEgQAQAAQIIIAAAAEkQAAACQIAIAAIAEEQAAACSIAAAAIEEEAAAACSIAAABIEAEAAECCCAAAABJEAAAAkCACAACABBEAAAAkiAAAACBBBAAAAAkiAAAASBABAABAgggAAAASRAAAAJAgAgAAgAQRAAAAJIgAAAAgQQQAAAAJIgAAAEgQAQAAQIIIAAAAEkQAAACQIAIAAIAEEQAAACSIAAAAIEEEAAAACSIAAABIEAEAAECCCAAAABJEAAAAkCACAACABBEAAAAkiAAAACBBBAAAAAkiAAAASBABAABAgggAAAASRAAAAJAgAgAAgAQRAAAAJIgAAAAgQQQAAAAJIgAAAEgQAQAAQIIIAAAAEkQAAACQIAIAAIAEEQAAACSIAAAAIEEEAAAACSIAAABIEAEAAECCCAAAABJEAAAAkCACAACABBEAAAAkiAAAACBBBAAAAAkiAAAASBABAABAgggAAAASRAAAAJAgAgAAgAQRAAAAJIgAAAAgQQQAAAAJIgAAAEgQAQAAQIIIAAAAEkQAAACQIAIAAIAEEQAAACSIAAAAIEEEAAAACSIAAABIEAEAAECCCAAAABJEAAAAkCACAACABBEAAAAkiAAAACBBBAAAAAkiAAAASBAB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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMDSURBVHhe7dzBdpswEIVhO9n3tO//mF0nqcZnaF0HG4FGgOb+38YosUFoLkK0Ob4AAAAAAAAAAAAAAAAAAJDAl/OmpKu/SnlW9GvhmzLkTnjpilcLwZu/QpRU2peu/onSLMAMII4AiCMA4giAOAIgjgCIIwDiCIA4AiCOAIgjAOIIgDgCII4AiCMA4giAOAIgjgCIIwDiCIA4AiCOAIgjAOIIgDgCII4AiCMA4giAOAIgjgCIIwDiCIA4AiCOAIgjAOIIgDgCII4AiCMA4giAOAIgjgCIIwDiCEAg+y7iif/o9Eb5UuRrGdNP3/5r7Zc61xYmar9lN3aBnToMQ8wAc8U3tQXt6VUfnvX7TE4fgKUi+++POI+3pb6ZmvccKcUaoIzxx54DbccqPrw5tBQBmFhVfLObPY6xp1QBMD0LtGXfvhA8rXQBMF6oyHOrut8/ceoZI/QxcBqktY9RSxoG/7++1O5ny2fm3O8nwtSXyP2GXCXWMePNb+1WdsLFT2+u0tKPrZ+1vlqHvdnM+mG8GTq+zZ1c6kjkQBQ2FW9afVs/agdtzXsflY++l5ew5/+lflhffXOT0dYAn1tPeE1B17z3nvft9P/4c68pPbUDtbVor2wtUi9HnmPLsYd9CrCTLn548zClD7+sI94czrAzwJ3Z/yjaQzmt0Pv9I2aAOl+dAzbLjznU/X5OhgDc7BmCPY/VW5oAGCtM0XVdYAfwzRRSBcD9LjUKP6+yz/dsxTcZA2BC1wW+r+Hv93OyBuAmIgQR+ziz1AEwVsBi07rAPuibaaUPgFu1LijvTXm/n6MSAFO1LvD3pLzfz1EKwM2rELz6XVZyATBWaOPNb20lkgGYeN0lCz+RDgAIgDwCII4ADK51DdMUgNqD1/5hA/7Za8yaV8AU91iHzgAYX8gzMLPAMVqvfsMMIC5kBjDMAvuKuPpNWAAMIdhHVPFNaAAMIegrsvgmPACGEPQRXXzTJQATghCjR+EnXQPwiEDU6VlwAAAAAAAAAAAAAAAAAEBSl8sfJNMbANJjIZYAAAAASUVORK5CYII=\"","import React from \"react\";\nimport styles from \"./Modal.module.css\";\n\nexport default function GoodModal({ show, title, children, onClick, hideModal, submitted, invalidEmail }) {\n return (\n
\n
\n
\n

{title}

\n
\n
{children}
\n
\n {!submitted && }\n \n
\n
\n
\n );\n}\n","import React, { useState, useContext, useEffect, Component } from \"react\";\nimport \"./Login.css\";\nimport styles from \"./Login.module.css\";\nimport { Button, Form, Col, Modal, Row } from \"react-bootstrap\";\nimport { AccountContext } from \"./Account\";\nimport { useLocation, Navigate, useNavigate } from \"react-router-dom\";\nimport RingLoader from \"react-spinners/RingLoader\";\nimport ImageHelper from \"../components/ImageHelper\";\nimport GoodModal from \"./Modal/Modal\";\nimport { sendEmail } from \"../services/ReadyOneAPI\";\n\nexport default function Login() {\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [isAuth, setIsAuth] = useState(false);\n const [failed, setFailed] = useState(false);\n const [loading, setLoading] = useState(true);\n const [show, setShow] = useState(false);\n const [isError, setIsError] = useState(false);\n const [invalidEmail, setInvalidEmail] = useState(false);\n const [submitting, setSubmitting] = useState(false);\n const [submitted, setSubmitted] = useState(false);\n\n const { authenticate, getSession } = useContext(AccountContext);\n const search = useLocation().hash;\n const navigate2 = useNavigate();\n const accessToken = new URLSearchParams(search).get(\"#access_token\") || \"\";\n const errorDescription =\n new URLSearchParams(search).get(\"#error_description\") || \"\";\n useEffect(() => {\n setLoading(true);\n\n getSession(accessToken)\n .then((result) => {\n console.log(\"FRom Loging user effect:\", result.data);\n })\n .catch(() => {\n setLoading(false);\n });\n if (errorDescription) setIsError(true);\n }, []);\n\n const submitRequest = () => {\n if (!email) {\n setInvalidEmail(true);\n return;\n } else {\n setInvalidEmail(false);\n setSubmitting(true);\n sendEmail({\n requestTemplate: \"new-user\",\n email,\n shortformUsername: email,\n requesterEmail: email,\n }).then((result) => {\n setSubmitting(false);\n setSubmitted(true);\n });\n }\n };\n\n const openLogin = () => {\n console.log(window.location.hostname);\n switch (window.location.hostname) {\n case \"dev.readyone.net\":\n window.location.href =\n \"https://eifauth.auth-fips.us-gov-west-1.amazoncognito.com/authorize?idp_identifier=saic&response_type=token&client_id=4am2prse8uqojha4hmpu4v7qe9&redirect_uri=https://dev.readyone.net/\";\n break;\n case \"readyone.net\":\n window.location.href =\n \"https://eifauth.auth-fips.us-gov-west-1.amazoncognito.com/authorize?idp_identifier=saic&response_type=token&client_id=4am2prse8uqojha4hmpu4v7qe9&redirect_uri=https://readyone.net/\";\n break;\n case \"localhost\":\n window.location.href =\n \"https://eifauth.auth-fips.us-gov-west-1.amazoncognito.com/authorize?idp_identifier=saic&response_type=token&client_id=4am2prse8uqojha4hmpu4v7qe9&redirect_uri=http://localhost:3000/\";\n break;\n default:\n window.location.href =\n \"https://eifauth.auth-fips.us-gov-west-1.amazoncognito.com/authorize?idp_identifier=saic&response_type=token&client_id=4am2prse8uqojha4hmpu4v7qe9&redirect_uri=https://readyone.net/\";\n break;\n }\n };\n\n return loading ? (\n
\n \n
\n ) : isAuth ? (\n \n ) : !isError ? (\n
\n {/* style={{ backdropFilter: blur + 4 }} */}\n
\n
\n {}} />\n
\n\n
\n
\n ReadyOne
TM
\n
\n
\n\n
\n
\n
Please login to continue.
\n
\n
\n\n
\n {\n openLogin();\n }}\n >\n SAIC SSO Login\n \n {\n navigate2(\"information\")\n }}\n >\n Information\n \n
\n\n
\n \n
\n
\n
\n ) : (\n {\n submitRequest();\n }}\n hideModal={() => setIsError(false)}\n submitted={submitted}\n invalidEmail={invalidEmail}\n >\n {submitting ? (\n \n \n \n ) : submitted ? (\n <>\n

Access Requested!

\n

Access to ReadyOne has been requested for {email}

\n

\n A ReadyOne Administrator will reach out when your account has been\n added.\n

\n \n ) : (\n
\n

You are not in the ReadyOne Access Group

\n

To request access, enter your email address below.

\n \n

\n A ReadyOne Administrator will reach out when your account has been\n added.\n \n

\n \n\n {invalidEmail && You must enter an email address}\n
\n )}\n \n );\n}\n","const apiURL = \"https://elm-api.readyone.net\";\nconst apiKey = \"6yb9XMJvW781lU4Vg4cfb3TySGz076Ez1JQ0XBu0\";\n\nexport function getModalData() {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n\n var requestOptions = {\n method: \"GET\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/get/modaldata`, requestOptions)\n .then((response) => response.json())\n .then((body) => body.body);\n}\n\nexport function getELMData() {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n\n var requestOptions = {\n method: \"GET\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n return fetch(\"https://elm-api.readyone.net/getELMData\", requestOptions)\n .then((response) => response.json())\n .catch((error) => console.log(\"error\", error));\n}\n\nexport function makeELMOAuthRequests() {\n const requestOptions = {\n method: \"GET\",\n redirect: \"follow\",\n };\n\n const requestUrl = new URL(\n \"https://elm.readyone.net/jts/oauth-request-token\"\n );\n const searchParams = requestUrl.searchParams;\n searchParams.append(\"oauth_consumer_key\", \"71fb687f1683406e8c8b94f4d9e667cb\");\n searchParams.append(\"oauth_signature_method\", \"PLAINTEXT\");\n searchParams.append(\"oauth_timestamp\", \"1678367952\");\n searchParams.append(\"oauth_nonce\", \"WuZTyaeeDPt\");\n searchParams.append(\"oauth_version\", \"1.0\");\n searchParams.append(\"oauth_signature\", \"opshubpoc&\");\n\n return fetch(requestUrl.toString(), requestOptions)\n .then((response) => response.text())\n .then((result) => {\n const oauthToken = result.split(\"&\")[0].split(\"=\")[1];\n const oauthTokenSecret = result.split(\"&\")[1].split(\"=\")[1];\n\n const authorizeUrl = `https://elm.readyone.net/jts/oauth-authorize?${result}`;\n\n window.open(authorizeUrl);\n\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n const accessRequestUrl = new URL(\n \"https://elm.readyone.net/jts/oauth-access-token\"\n );\n const accessSearchParams = accessRequestUrl.searchParams;\n accessSearchParams.append(\n \"oauth_consumer_key\",\n \"71fb687f1683406e8c8b94f4d9e667cb\"\n );\n accessSearchParams.append(\"oauth_token\", oauthToken);\n accessSearchParams.append(\"oauth_signature_method\", \"PLAINTEXT\");\n accessSearchParams.append(\"oauth_timestamp\", \"1678368042\");\n accessSearchParams.append(\"oauth_nonce\", \"I94iDC26oOe\");\n accessSearchParams.append(\"oauth_version\", \"1.0\");\n accessSearchParams.append(\n \"oauth_signature\",\n `opshubpoc&${oauthTokenSecret}`\n );\n \n fetch(accessRequestUrl.toString(), requestOptions)\n .then((response) => response.text())\n .then((result) => resolve({\n oauthToken: result.split('&')[0].split('=')[1],\n oauthTokenSecret: result.split('&')[1].split('=')[1]\n }))\n .catch((error) => reject(error));\n }, 2500);\n });\n })\n .catch((error) => console.log(\"error\", error));\n}\n","import React from \"react\";\nimport styles from \"./Modal.module.css\";\n\nexport default function Modal({ id, show, title, children, buttonText, onClick, hideModal }) {\n return (\n
\n
\n
\n

{title}

\n
\n
{children}
\n
\n {buttonText && }\n \n
\n
\n
\n );\n}\n","import React, { useEffect, useState, useContext } from \"react\";\nimport styles from \"./NotificationForm.module.css\";\nimport Modal from \"../Modal/Modal\";\nimport {\n postNotification,\n getNotifications,\n deleteNotification,\n} from \"../../../../services/ReadyOneAPI\";\nimport { ToastContext } from \"../../../../layout\";\nimport { format } from \"date-fns-tz\";\n\nexport default function NotificationForm({ show, close }) {\n const [startDate, setStartDate] = useState(\n format(new Date(), \"yyyy-MM-dd'T'HH:mm:ssxxx\", {\n timeZone: \"America/New_York\",\n })\n );\n const [endDate, setEndDate] = useState(\n format(new Date(), \"yyyy-MM-dd'T'HH:mm:ssxxx\", {\n timeZone: \"America/New_York\",\n })\n );\n const [message, setMessage] = useState(\"\");\n const [autoClose, setAutoClose] = useState(false);\n const [type, setType] = useState(\"info\");\n const [notifications, setNotifications] = useState([]);\n const { notifySuccess, notifyError } = useContext(ToastContext);\n\n const handleSubmit = () => {\n postNotification({ startDate, endDate, message, autoClose, type })\n .then((result) => {\n close();\n notifySuccess(result.replace(/^\"|\"$/g, \"\"));\n getNotifications().then((result) => {\n setNotifications(result);\n setStartDate(new Date(), \"yyyy-MM-dd'T'HH:mm:ssxxx\", {\n timeZone: \"America/New_York\",\n })\n setEndDate(new Date(), \"yyyy-MM-dd'T'HH:mm:ssxxx\", {\n timeZone: \"America/New_York\",\n })\n setMessage(\"\")\n setAutoClose(false)\n setType(\"info\")\n });\n })\n .catch((err) => {\n notifyError(\"Notification could not be posted at this time.\");\n });\n };\n\n const handleDelete = (id) => {\n deleteNotification(id).then((result) => {\n notifySuccess(result.replace(/^\"|\"$/g, \"\"));\n getNotifications().then((result) => {\n setNotifications(result);\n });\n });\n };\n\n useEffect(() => {\n getNotifications().then((result) => {\n setNotifications(result);\n });\n }, [])\n\n return (\n {\n handleSubmit();\n }}\n hideModal={close}\n >\n
\n
\n \n \n \n \n \n
\n \n
\n \n );\n}\n","import React, { useEffect, useState, useContext } from \"react\";\nimport styles from \"./DashboardForm.module.css\";\nimport Modal from \"../Modal/Modal\";\nimport {\n addDashboard,\n getDashboards,\n deleteDashboard,\n} from \"../../../../services/ReadyOneAPI\";\nimport { ToastContext } from \"../../../../layout\";\nimport { format } from \"date-fns-tz\";\n\nexport default function DashboardForm({ show, close }) {\n const [startDate, setStartDate] = useState(\n format(new Date(), \"yyyy-MM-dd'T'HH:mm:ssxxx\", {\n timeZone: \"America/New_York\",\n })\n );\n const [endDate, setEndDate] = useState(\n format(new Date(), \"yyyy-MM-dd'T'HH:mm:ssxxx\", {\n timeZone: \"America/New_York\",\n })\n );\n const [title, setTitle] = useState(\"\");\n const [report, setReport] = useState(\"\");\n const [dashboards, setDashboards] = useState([]);\n const { notifySuccess, notifyError } = useContext(ToastContext);\n\n const handleSubmit = () => {\n console.log(\"Pressed\")\n addDashboard({ title, report }).then((result) => {\n let text = JSON.parse(result).message\n notifySuccess(text.replace(/^\"|\"$/g, \"\"));\n getDashboards().then((result) => {\n setDashboards(result);\n setTitle(\"\")\n setReport(\"\")\n });\n })\n .catch((err) => {\n notifyError(err);\n });\n };\n\n const handleDelete = (id) => {\n deleteDashboard({title: id}).then((result) => {\n let text = JSON.parse(result).message\n notifySuccess(text.replace(/^\"|\"$/g, \"\"));\n getDashboards().then((result) => {\n setDashboards(result);\n });\n });\n };\n\n useEffect(() => {\n getDashboards().then((result) => {\n setDashboards(result);\n });\n }, [])\n\n return (\n {\n handleSubmit();\n }}\n hideModal={close}\n >\n
\n
\n \n \n
\n \n \n
\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport styles from './UserLists.module.css';\nimport Modal from \"../Modal/Modal\";\nimport { getTable, removeUserFromList, addUserFromList } from \"../../../../services/ReadyOneAPI\";\nimport { ToastContext } from \"../../../../layout\";\n\n\nconst UserLists = ({ show, close }) => {\n\n const [selectedOption, setSelectedOption] = useState('notification');\n const [newUser, setNewUser] = useState('');\n const [opshubUsers, setOpshubUsers] = useState([]);\n const [notificationUsers, setNotificationUsers] = useState([]);\n const [dashboardUsers, setDashboardUsers] = useState([]);\n const [restrictedUsers, setRestrictedUsers] = useState([]);\n const { notifySuccess, notifyError } = useContext(ToastContext);\n\n useEffect(() => {\n updateUsers();\n }, [])\n\n const updateUsers = () => {\n getTable(\"ReadyOne_UserLists\").then(result => {\n result.body.Items.map(i => {\n const actions = {\n 'opshub': () => setOpshubUsers(i.users),\n 'notification': () => setNotificationUsers(i.users),\n 'restricted': () => setRestrictedUsers(i.users),\n 'dashboard': () => setDashboardUsers(i.users)\n };\n \n (actions[i.id] || (() => console.log('ID not recognized')))();\n })\n })\n }\n\n const handleChange = event => setSelectedOption(event.target.value);\n\n const handleInputChange = event => setNewUser(event.target.value);\n\n const handleAdd = () => {\n addUserFromList(selectedOption, newUser).then((result) => {\n notifySuccess(result.replace(/^\"|\"$/g, \"\"));\n updateUsers();\n })\n \n setNewUser('');\n };\n\n const handleDelete = user => {\n removeUserFromList(selectedOption, user).then((result) => {\n notifySuccess(result.replace(/^\"|\"$/g, \"\"));\n updateUsers();\n })\n };\n\n let users;\n switch (selectedOption) {\n case 'notification':\n users = notificationUsers;\n break;\n case 'restricted':\n users = restrictedUsers;\n break;\n case 'opshub':\n users = opshubUsers;\n break;\n case 'dashboard':\n users = dashboardUsers;\n break;\n default:\n users = [];\n }\n\n return (\n {\n close();\n }}\n hideModal={close}\n >\n
\n \n\n \n\n \n\n
    \n {users.map(user => (\n
  • \n {user}\n \n
  • \n ))}\n
\n
\n \n );\n};\n\nexport default UserLists;\n","import React, { useEffect, useState, useRef, useContext } from \"react\";\nimport styles from \"./Account.module.css\";\nimport { AccountContext } from \"../../../auth\";\nimport { ToastContext } from \"../../../layout\";\nimport { useNavigate } from \"react-router-dom\";\nimport {\n BsPower,\n BsKanban,\n BsBezier2,\n BsChatRightText,\n BsFilePerson,\n} from \"react-icons/bs\";\nimport { BiLogOutCircle, BiAddToQueue } from \"react-icons/bi\";\nimport { useOnClickOutside } from \"../../../hooks\";\nimport { makeELMOAuthRequests } from \"../../../services/ELMAdminAPI\";\nimport Modal from \"./Modal/Modal\";\nimport NotificationForm from \"./NotificationForm/NotificationForm\";\nimport DashboardForm from \"./DashboardForm/DashboardForm\";\nimport UserLists from \"./UserLists/UserLists\";\n\nexport default function Account({ show, close }) {\n const {\n setAuthenticated,\n email,\n firstName,\n lastName,\n username,\n logout,\n opshub,\n dashboard,\n notification,\n } = useContext(AccountContext);\n\n const [hasRendered, setHasRendered] = useState(false);\n const [showToken, setShowToken] = useState(false);\n const [token, setToken] = useState(\"\");\n const [secret, setSecret] = useState(\"\");\n const [showNotif, setShowNotif] = useState(false);\n const [showUserLists, setShowUserLists] = useState(false);\n const [showAddDashboard, setShowAddDashboard] = useState(false);\n const ref = useRef(null);\n\n const { notifyInfo, dismiss, delay } = useContext(ToastContext);\n const showOpsHub = opshub.includes(username);\n const showNotification = notification.includes(username);\n const showDashboardAdmin = dashboard.includes(email);\n const navigate = useNavigate();\n useOnClickOutside(ref, () => show && close());\n\n useEffect(() => {\n console.log(notification);\n console.log(username);\n }, []);\n\n useEffect(() => {\n if (show) {\n dismiss();\n setHasRendered(true);\n }\n }, [show]);\n\n function AccountItem({ name, email }) {\n return (\n
  • \n {name}\n {email}\n
  • \n );\n }\n\n function Item({ id, onClick, leftIcon, rightIcon, children }) {\n return (\n \n {leftIcon}\n {children}\n {rightIcon}\n \n );\n }\n\n return (\n <>\n \n
      \n \n {showOpsHub && (\n }\n onClick={() => {\n makeELMOAuthRequests().then((result) => {\n console.log(result);\n setToken(result.oauthToken);\n setSecret(result.oauthTokenSecret);\n setShowToken(true);\n });\n }}\n >\n Generate OpsHub Token\n \n )}\n {showNotification && (\n <>\n }\n onClick={() => {\n setShowNotif(true);\n }}\n >\n Create Notification\n \n }\n onClick={() => {\n setShowUserLists(true);\n }}\n >\n Edit User Lists\n \n \n )}\n {showDashboardAdmin && (\n <>\n }\n onClick={() => {\n setShowAddDashboard(true)\n close();\n }}\n >\n Edit Dashboards\n \n \n )}\n\n }\n onClick={() => {\n close();\n notifyInfo(\"Logging Off...\", 1000);\n delay(1500).then(() => {\n navigate(\"/\");\n logout(setAuthenticated);\n });\n }}\n >\n Log Off\n \n
    \n \n {showOpsHub && (\n {\n window.open(\"https://globalhawk.readyone.net:8443/OIM\", \"_blank\");\n window.open(\"https://reaper.readyone.net:8443/OIM\", \"_blank\");\n window.open(\"https://sentinel.readyone.net:8443/OIM\", \"_blank\");\n window.open(\"https://reaper.readyone.net:8443/OIM\", \"_blank\");\n }}\n hideModal={() => setShowToken(false)}\n >\n
      \n
    • \n OAuth Token: \n {token}\n
    • \n
    • \n OAuth Token Secret Key: \n {secret}\n
    • \n
    \n \n )}\n\n {showNotification && (\n setShowNotif(false)} />\n )}\n {showUserLists && (\n setShowUserLists(false)} />\n )}\n\n {showDashboardAdmin && (\n setShowAddDashboard(false)}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from \"react\";\nimport ReadyOne from \"../images/readyone.png\";\nimport { VscAccount, VscThreeBars, VscChromeClose } from \"react-icons/vsc\";\nimport styles from \"./Navbar.module.css\";\nimport { Account, Quicklinks } from \"./NavItems\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { AccountContext } from \"../../auth\";\nimport {ToastContext} from \"../../layout\";\n\nexport default function Navbar(props) {\n const [path, setPath] = useState(\"/Applications\");\n const [quicklinksOpen, setQuicklinksOpen] = useState(false);\n const [accountOpen, setAccountOpen] = useState(false);\n const [openNav, setOpenNav] = useState(false);\n const [width, setWidth] = useState(window.innerWidth);\n const { firstName, logout } = useContext(AccountContext);\n const {notifyInfo, delay} = useContext(ToastContext);\n const navigate = useNavigate();\n\n const tabs = [\n {\n route: \"/Applications\",\n label: \"Applications\",\n },\n {\n route: \"/How-To-Resources\",\n label: \"How-To Resources\",\n },\n {\n route: \"/Request-Form\",\n label: \"Request Form\",\n },\n ];\n\n useEffect(() => {\n const handleResize = () => setWidth(window.innerWidth);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n const getActiveClass = (name) => (name === path ? styles.active : \"\");\n\n return (\n \n );\n}\n","import React, { useState, useContext } from \"react\";\nimport { Modal, Button, Form, Col } from \"react-bootstrap\";\nimport { submitFeedback } from \"../../../services/ReadyOneAPI\";\nimport { AccountContext } from \"../../../auth\";\nimport Select from \"react-select\";\nimport \"../modals.css\";\n\nconst UserFeedback = (props) => {\n const [showUserPermission, setShowUserPermission] = useState(false);\n const [showCreateProject, setShowCreateProject] = useState(false);\n const [selectedTopic, setSelectedTopic] = useState([]);\n\n const [userSubject, setUserSubject] = useState(\"\");\n const [userTopic, setUserTopic] = useState(\"\");\n const [userExplain, setUserExplain] = useState(\"\");\n\n const [showFeedback, setShowFeedback] = useState(false);\n const [showBug, setShowBug] = useState(false);\n const [showSuggestion, setShowSuggestion] = useState(false);\n\n const [submitted, setSubmitted] = useState(false);\n\n const { email } = useContext(AccountContext);\n\n const [topics] = useState([\n { value: \"help\", label: \"Help\" },\n { value: \"feedback\", label: \"Feedback\" },\n { value: \"suggestion\", label: \"Suggestion\" },\n { value: \"bug\", label: \"Bug\" },\n ]);\n\n const handleChange = (event) => {\n setUserTopic(event);\n console.log(selectedTopic);\n };\n\n const clickSubmit = () => {\n let feedback = {\n subject: userSubject,\n topic: userTopic,\n explanation: userExplain,\n email: email,\n };\n\n submitFeedback(feedback).then((result) => {\n console.log(result);\n if (result.statusCode === 200) setSubmitted(true);\n });\n };\n\n const getSuccessTemplate = () => {\n return (\n
    \n
    Success!
    \n
    \n Your feedback was successfully submitted\n
    \n
    \n );\n };\n\n return (\n <>\n props.secondButton(false)}\n centered\n >\n \n ReadyOne\n \n\n \n
    \n\n {!submitted ? (\n <>\n \n Subject\n setUserSubject(e.target.value)}\n as=\"input\"\n className=\"explanationInput\"\n >\n \n\n
    \n
    \n\n \n Topic\n {\n setUserTopic(event);\n }}\n />\n \n\n
    \n
    \n\n \n Explanation\n setUserExplain(e.target.value)}\n as=\"textarea\"\n isMulti={true}\n className=\"explanationInput\"\n input-height-inner=\"flex-grow-1\"\n >\n \n \n ) : (\n getSuccessTemplate()\n )}\n
    \n\n \n {!submitted ? (\n clickSubmit()}\n >\n Submit\n \n ) : (\n {\n props.secondButton();\n setSubmitted(false);\n }}\n >\n Close\n \n )}\n \n \n \n );\n};\n\nexport default UserFeedback;\n","import React, { useState, useEffect, useContext } from \"react\";\nimport { BsQuestionCircle } from \"react-icons/bs\";\nimport UserFeedbackModal from \"../../components/Modals/UserFeedback/FeedbackModal\";\nimport styles from \"./Footer.module.css\";\n\nexport default function Footer() {\n const [show, setShow] = useState(false);\n\n return (\n
    \n
    \n setShow(!show)} />\n Help\n \n
    \n
    \n );\n}\n","import React from \"react\";\nimport Particles from \"react-tsparticles\";\nimport styles from \"./Background.module.css\";\n\nexport default function Background() {\n return (\n <>\n \n \n );\n}\n","import React, {useEffect} from \"react\";\nimport Navbar from \"../Navbar/Navbar\";\nimport Footer from \"../Footer/Footer\";\nimport Background from \"../Background/Background\";\nimport styles from \"./Layout.module.css\";\n\n\nexport default function Layout({ children }) {\n \n\n return (\n <>\n \n
    \n {children}
    \n
    \n \n \n );\n}\n","import React, { useState } from \"react\";\nimport styles from \"./Onboarding.module.css\";\n\nconst Onboarding = ({show}) => {\n const [currentStep, setCurrentStep] = useState(0);\n const [modalOpen, setModalOpen] = useState(true);\n const steps = [\n {\n title: \"Applications\",\n content: \"Here, you can select from an array off engineering applications that you can use right from your browser. Select Show All Apps to view the full catalog.\",\n },\n {\n title: \"How-To Resources\",\n content: \"Next, you can find a large variety of documentation on the engineering tools offered in ReadyOne.\",\n },\n { title: \"One last thing...\", content: \"If you run into any issues or have any questions, please reach out to our helpdesk at DE_Helpdesk@saic.com.\" },\n ];\n\n const nextStep = () => {\n setCurrentStep((prevStep) => prevStep + 1);\n };\n\n const prevStep = () => {\n setCurrentStep((prevStep) => prevStep - 1);\n };\n\n const closeModal = () => {\n setModalOpen(false);\n };\n\n if (!modalOpen) {\n return null;\n }\n\n return (\n
    \n
    \n

    Welcome to ReadyOne!

    \n
    \n
    \n
    \n
    \n

    {steps[currentStep].title}

    \n

    {steps[currentStep].content}

    \n
    \n
    \n \n Previous\n \n {currentStep === steps.length - 1 ? (\n \n ) : (\n \n )}\n
    \n
    \n \n );\n};\n\nexport default Onboarding;\n","import React, { createContext, useState, useEffect, useContext } from \"react\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport styles from \"./Toast.module.css\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport { AccountContext } from \"../../auth\";\nimport { getNotifications } from \"../../services/ReadyOneAPI\";\nimport { useNavigate } from \"react-router-dom\";\nimport Onboarding from \"../../pages/Onboarding/Onboarding\";\n\nexport const ToastContext = createContext();\n\nexport const ToastProvider = ({ children }) => {\n const { authenticated, logout, setAuthenticated, newUser } =\n useContext(AccountContext);\n\n const [toastData, setToastData] = useState(null);\n const [toastQueue, setToastQueue] = useState([]);\n const [show, setShow] = useState(newUser);\n const navigate = useNavigate();\n \n\n useEffect(() => {\n notifySuccess(\"Welcome to ReadyOne!\", 1500);\n }, [authenticated]);\n\n useEffect(() => {\n getNotifications().then((result) => {\n console.log(result);\n result.map((notif) => {\n if (notif.type === \"info\") notifyInfo(notif.message, notif.autoClose, notif.url);\n if (notif.type === \"success\")\n notifySuccess(notif.message, notif.autoClose, notif.url);\n if (notif.type === \"error\") notifyError(notif.message, notif.autoClose, notif.url);\n if (notif.type === \"warning\")\n notifyWarning(notif.message, notif.autoClose);\n });\n });\n }, []);\n\n useEffect(() => {\n setShow(newUser)\n\n },[newUser])\n\n const notifySuccess = (message, autoClose, url) => {\n let action = url ? () => window.open(url) : () => {};\n toast.success(message, {\n onClick: action,\n autoClose: autoClose,\n });\n };\n\n const notifyError = (message, autoClose, url) => {\n let action = url ? () => window.open(url) : () => {};\n toast.error(message, {\n onClick: action,\n autoClose: autoClose,\n });\n };\n\n const notifyInfo = (message, autoClose, url) => {\n let action = url ? () => window.open(url) : () => {};\n toast.info(message, {\n onClick: action,\n autoClose: autoClose,\n });\n };\n\n const notifyWarning = (message, autoClose, url) => {\n let action = url ? () => window.open(url) : () => {};\n toast.warning(message, {\n onClick: action,\n autoClose: autoClose,\n });\n };\n\n \n\n const notifyLogout = (message, autoClose) => {\n toast.error(message, {\n autoClose: autoClose,\n onClose: () => {\n logout(setAuthenticated);\n navigate(\"/\");\n },\n });\n };\n\n const dismiss = () => toast.dismiss();\n\n const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\n\n return (\n \n {children}\n \n \n \n );\n};\n","import React from \"react\";\nimport styles from \"./Title.module.css\";\n\nexport default function Title({ title, subtitle, image }) {\n return (\n
    \n {image && \"title}\n

    {title}

    \n

    {subtitle}

    \n
    \n );\n}\n","import React from \"react\";\nimport styles from \"./Footer.module.css\";\n\nexport default function Footer({ children, title, body }) {\n return (\n
    \n
    {children}
    \n
    \n
    {title}
    \n
    {body}
    \n
    \n
    \n );\n}\n","import React from \"react\";\nimport ReactPlayer from \"react-player\";\nimport styles from \"./Video.module.css\";\n\nexport default function Video({ url, onStart, onPause, onPlay }) {\n return (\n
    \n \n
    \n );\n}\n","import React from \"react\";\nimport styles from \"./CloseButton.module.css\";\n\nexport default function CloseButton({ close }) {\n return ;\n}\n","import React from \"react\";\nimport styles from \"./PageTitle.module.css\";\nimport { BsPencilSquare } from \"react-icons/bs\";\nimport RingLoader from \"react-spinners/RingLoader\";\n\nexport default function PageTitle({ title, onClick, hide, loading, edit }) {\n return (\n
    \n

    {title}

    \n\n {!hide &&\n (loading ? (\n \n ) : edit ? (\n \n Stop Editing\n \n ) : (\n \n ))}\n
    \n );\n}\n","import React, { useState } from \"react\";\nimport styles from \"./Header.module.css\";\n\nexport default function Header({ title, children }) {\n return (\n
    \n
    {title}
    \n
    {children}
    \n
    \n );\n}\n","import React from \"react\";\nimport { useOuterClick } from \"../../../../../../../hooks\";\nimport styles from \"./AppStreamMenu.module.css\";\n\nexport default function AppStreamMenu({\n appStreams,\n unblur,\n checked,\n launchAppStream,\n}) {\n const innerRef = useOuterClick((ev) => {\n unblur();\n });\n\n return (\n \n );\n}\n","import React, {useContext} from \"react\";\nimport { useOuterClick } from \"../../../../../../../hooks\";\nimport { AccountContext } from \"../../../../../../../auth\";\nimport styles from \"./LinkMenu.module.css\";\n\nexport default function LinkMenu({ links, unblur, checked, getStreamingURL }) {\n const { internal } = useContext(AccountContext);\n\n const innerRef = useOuterClick((ev) => {\n unblur();\n });\n\n const handleOpen = (link) => {\n if (link.dynamic && !internal) {\n getStreamingURL(link);\n } else {\n window.open(link.link, undefined, \"noreferrer noopener\");\n }\n }\n\n return (\n \n );\n}\n","import React, { useState, useContext } from \"react\";\nimport { AccountContext } from \"../../../../../auth\";\nimport {ToastContext} from \"../../../../../layout\";\nimport { getAppStreamURL } from \"../../../../../services/getAppStreamURL\";\nimport styles from \"./AppStreamButton.module.css\";\nimport { AppStreamMenu, LinkMenu } from \"./Menus\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst AppStreamButton = ({ application, width, disabled, onClick }) => {\n const [blur, setBlur] = useState(\"\");\n const [checked, setChecked] = useState(false);\n const { accessToken, logout, setAuthenticated, internal } = useContext(AccountContext);\n const {notifyInfo, notifySuccess, notifyError, notifyLogout, dismiss, delay} = useContext(ToastContext);\n let navigate = useNavigate();\n\n const launchAppStream = async (application) => {\n let { appName, appLink, appStreams, appLinks, appRoute, dynamic } = application;\n if(appRoute) {\n navigate(appRoute)\n }\n else if (appLink || appStreams) {\n if(!appLinks && !appStreams){\n if(dynamic) {\n if(internal){\n window.open(appLink, undefined, \"noreferrer noopener\")\n }else {\n getStreamingURL(application)\n }\n } else {\n window.open(appLink, undefined, \"noreferrer noopener\")\n }\n }else {\n addBlur()\n }\n } else {\n getStreamingURL(application)\n }\n };\n\n const getStreamingURL = async (application) => {\n try {\n notifyInfo(`Retrieving ${application.title} Session`)\n getAppStreamURL(await accessToken(), application.appName)\n .then((response) => {\n if(response.Message) {\n dismiss()\n notifySuccess(`Launching ${application.title}...`)\n delay(1500).then(() => window.open(response.Message))\n \n }else {\n dismiss()\n notifyLogout(\"Error Retrieving AppStream Session. Click Here to Reauthenticate.\", false);\n //delay(3000).then(() => reauthenticate())\n }\n })\n .catch((err) => {\n dismiss()\n notifyLogout(\"Error Retrieving AppStream Session. Click Here to Reauthenticate.\", false);\n //delay(3000).then(() => reauthenticate())\n console.log(err);\n });\n } catch (err) {\n dismiss()\n notifyLogout(\"Error Retrieving AppStream Session. Click Here to Reauthenticate.\", false);\n // delay(3000).then(() => reauthenticate())\n }\n }\n\n const reauthenticate = () => {\n navigate(\"/\");\n logout(setAuthenticated);\n };\n\n const addBlur = () => {\n if (!checked) {\n setBlur(styles.blur);\n setChecked(true);\n }\n };\n\n const removeBlur = () => {\n if (checked) {\n setChecked(false);\n setBlur(\"\");\n }\n };\n\n return (\n <>\n {!disabled ? (\n launchAppStream(application)}\n >\n
    \n \n {application.appLinks && (\n \n )}\n {application.appStreams && (\n \n )}\n
    \n\n {application.title}\n \n ) : (\n \n )}\n \n );\n};\n\nexport default AppStreamButton;\n","export function getAppStreamURL(accessToken, application) {\n var myHeaders = new Headers();\n console.log(accessToken);\n myHeaders.append(\"Authorization\", accessToken);\n //myHeaders.append(\"Content-Type\", \"application/json\");\n let body = {\n application: application\n }\n\n let raw = JSON.stringify(body);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n };\n\n return fetch(\n \"https://ziz52cjaal.execute-api.us-gov-west-1.amazonaws.com/auth/auth\",\n requestOptions\n ).then((response) => response.json());\n}\n","import React from \"react\";\nimport styles from \"./AppStreamDeleteButton.module.css\";\n\nexport default function AppStreamDeleteButton({\n hidden,\n add,\n isMyApp,\n onClick,\n}) {\n return (\n \n \n {isMyApp ? \"✓\" : add ? \"+\" : \"x\"}\n \n \n );\n}\n","import React, { useState, useEffect, useContext } from \"react\";\nimport { getTable } from \"../../../../services/ReadyOneAPI\";\nimport RingLoader from \"react-spinners/RingLoader\";\nimport styles from \"./AppDrawer.module.css\";\nimport { Header, AppStreamButton } from \"../AppComponents\";\nimport { BsFillGrid3X3GapFill } from \"react-icons/bs\";\nimport { AccountContext } from \"../../../../auth\";\n\nconst AppDrawer = ({ toggleAllApps, toggleMyApps }) => {\n const [displayApps, setDisplayApps] = useState([]);\n const [loading, setLoading] = useState(false);\n const { email, restricted, initialized } = useContext(AccountContext);\n\n useEffect(() => {\n setLoading(true);\n }, [])\n\n useEffect(() => {\n if (initialized) {\n getTable(\"AppStreams\").then((result) => {\n console.log(result.body.Items);\n let apps = result.body.Items.sort(compare).filter(hidden);\n if (restricted) apps = apps.filter(restrict);\n apps.push({\n \"appName\": \"Dashboards\",\n \"appLink\": \"https://readyone.net/Dashboards\",\n \"category\": \"addon\",\n \"image\": \"https://s3-us-gov-west-1.amazonaws.com/resources.readyone.net/site_images/app_streams/ibm.png\",\n \"mode\": \"elm\",\n \"title\": \"Dashboards\"\n })\n console.log(apps)\n setDisplayApps(apps);\n setLoading(false);\n });\n }\n }, [initialized]);\n\n const compare = (a, b) => {\n return b.category === \"core\" ? 1 : -1;\n };\n\n const hidden = (app) => {\n if(app.restricted && restricted) return true; \n if(app.users && app.users.includes(email)) return true;\n return !app.hide;\n };\n\n const restrict = (app) => {\n return app.restricted;\n };\n\n return (\n
    \n {loading ? (\n \n ) : (\n <>\n
    \n {!restricted && (\n toggleMyApps()}\n />\n )}\n
    \n\n \n\n {!restricted && (\n toggleAllApps()}\n >{`Show All Apps`}\n )}\n \n )}\n
    \n );\n};\n\nconst CoreApps = ({ applications }) => {\n return (\n
    \n {applications\n .filter((app) => app.category === \"core\")\n .map((app) => (\n \n ))}\n
    \n );\n};\n\nexport default AppDrawer;\n","import React from \"react\";\nimport {\n CloseButton,\n PageTitle,\n AppStreamButton,\n styles,\n} from \"../AppComponents\";\n\nexport default function AllApps({ applications, show, stopShow }) {\n return (\n
    \n
    \n {}} hide={true} />\n \n\n {applications.map((app) => (\n \n {}}\n />\n
    \n ))}\n
    \n \n );\n}\n","import React, { useState, useEffect, useContext } from \"react\";\nimport {\n CloseButton,\n PageTitle,\n AppStreamButton,\n AppStreamDeleteButton,\n styles,\n} from \"../AppComponents\";\nimport { updateUserApps } from \"../../../../services/ReadyOneAPI\";\nimport { AccountContext } from \"../../../../auth\";\n\nconst MyApps = ({ applications, myApps, show, stopShow, setMyApps }) => {\n const [edit, setEdit] = useState(false);\n const [key, setKey] = useState(0);\n const [loading, setLoading] = useState(false);\n\n const { username } = useContext(AccountContext);\n useEffect(() => {\n setEdit(false);\n }, [show]);\n\n const removeApp = (appName) => {\n console.log(`Removing ${appName}`);\n let temp = myApps.filter((app) => app !== appName);\n\n setMyApps(temp);\n setLoading(true);\n updateUserApps(`saic_${username}`, temp).then((result) => {\n console.log(result);\n setLoading(false);\n });\n console.log(temp);\n };\n\n const addApp = (appName) => {\n console.log(`Adding ${appName}`);\n let temp = myApps;\n temp.push(appName);\n setMyApps(myApps.concat(appName));\n console.log(myApps);\n setLoading(true);\n updateUserApps(`saic_${username}`, temp).then((result) => {\n console.log(result);\n setLoading(false);\n });\n };\n\n return (\n \n \n setEdit(!edit)}\n hide={edit}\n edit={edit}\n />\n {!edit && }\n\n {applications\n .filter((app) => myApps.includes(app.appName))\n .map((app) => (\n \n
    \n \n {!restricted && (\n <>\n setShowMyApps(!showMyApps)}\n />\n app.appName)}\n setMyApps={setMyApps}\n show={showAllApps}\n stopShow={() => setShowAllApps(!showAllApps)}\n />\n \n )}\n \n );\n};\n\nexport default Applications;\n","import {\n BsFillFileEarmarkPlayFill,\n BsFillFileEarmarkTextFill,\n BsFileEarmarkZip,\n BsFileEarmarkPptFill,\n BsFillFileEarmarkWordFill,\n} from \"react-icons/bs\";\nimport styles from \"./FileItems.module.css\";\n\nexport function SearchItem({ file }) {\n let source = file._source;\n return (\n window.open(encodeURI(source.url))}\n >\n
    \n {getFileIcon(source.name)}\n {source.name}\n
    \n \n );\n}\n\nexport function FileItem({ file, path }) {\n return (\n \n );\n}\n\nexport function FolderItem({ file, setActiveMenu }) {\n return (\n \n );\n}\n\nconst extIcon = (ext) => {\n switch (ext) {\n case \"pptx\":\n return ;\n break;\n case \"docx\" || \"doc\":\n return ;\n break;\n case \"mp4\":\n return ;\n break;\n case \"zip\":\n return ;\n break;\n default:\n return ;\n }\n};\n\nconst getFileIcon = (file) => {\n let split = file.split(\".\");\n let ext = split[split.length - 1];\n return extIcon(ext);\n};\n","export const getRootFolder = (activeMenu) => {\n return activeMenu.split(\"/\")[1] || \"main\";\n};\n\nexport const getFileNameFromKey = (key) => {\n let split = key.split(\"/\");\n\n if (isDirectory(key)) {\n return split[split.length - 2];\n } else {\n return split[split.length - 1];\n }\n};\n\nexport const isDirectory = (fileKey) => {\n return fileKey.charAt(fileKey.length - 1) === \"/\";\n};\n","import React from \"react\";\nimport { FolderItem, FileItem } from \"./FileItems\";\nimport styles from \"./Folder.module.css\";\n\nexport default function Folder({ activeMenu, setActiveMenu, folder }) {\n return (\n <>\n \n {folder.folders.map((f) => (\n \n ))}\n\n {folder.files.map((f) => (\n \n ))}\n \n\n {folder.folders.map((f) => (\n null}\n />\n ))}\n \n );\n}\n","import { Folder, SearchItem, FolderItem } from \"./Files/\";\nimport styles from \"./Content.module.css\";\n\nexport default function Content({\n searchValue,\n searchResults,\n data,\n activeMenu,\n setActiveMenu,\n}) {\n return (\n
    \n {searchValue === \"\" ? (\n data.map((folder) => (\n <>\n \n \n
    \n\n \n \n ))\n ) : (\n <>\n {searchResults.map((result) => (\n \n ))}\n \n )}\n \n );\n}\n","import React, { useState, useRef, useEffect } from \"react\";\nimport { getFileNameFromKey } from \"../Content\";\nimport { IoIosArrowBack } from \"react-icons/io\";\nimport { BsSearch } from \"react-icons/bs\";\nimport styles from \"./Header.module.css\";\n\nexport default function Header({\n clickBack,\n activeMenu,\n getSearchResults,\n filePath,\n}) {\n return (\n
    \n {getFileNameFromKey(activeMenu) !== \"main\" ? (\n <>\n clickBack()}\n size=\"50px\"\n />\n
    \n {getFileNameFromKey(activeMenu)}\n
    {filePath}
    \n
    \n \n ) : (\n \"How-To Resources\"\n )}\n\n \n \n \n \n
    \n );\n}\n","import BottomLinks from \"../BottomLinks.json\";\nimport { BsLink45Deg } from \"react-icons/bs\";\nimport { getRootFolder } from \"../Content\";\nimport defaultapp from \"../../../images/defaultapp.png\";\nimport styles from \"./Footer.module.css\";\n\nexport default function Footer({ activeMenu }) {\n return (\n
    \n {BottomLinks.map(\n (link) =>\n link.resourceName === getRootFolder(activeMenu) &&\n link.links.map((l) => (\n window.open(l.value)}\n >\n {l.type === \"link\" ? (\n \n ) : (\n \n )}\n {l.name}\n \n ))\n )}\n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport styles from \"./HowTo.module.css\";\nimport { getHowTo, search } from \"../../services/ReadyOneAPI\";\nimport RingLoader from \"react-spinners/RingLoader\";\nimport { Header } from \"./Header/\";\nimport { Footer } from \"./Footer/\";\nimport { Content, getFileNameFromKey } from \"./Content/\";\n\nconst HowTo = () => {\n const [searchValue, setSearchValue] = useState(\"\");\n const [searchResults, setSearchResults] = useState([]);\n const [data, setData] = useState([]);\n const [loading, setLoading] = useState(false);\n const [activeMenu, setActiveMenu] = useState(\"main\");\n const [menuStackState, setMenuStackState] = useState([]);\n const [filePath, setFilePath] = useState(\"\");\n\n useEffect(() => {\n setLoading(true);\n getHowTo().then((response) => {\n setData(response);\n setLoading(false);\n });\n }, []);\n\n useEffect(() => {\n let menuStack = menuStackState;\n menuStack.push(activeMenu);\n setMenuStackState(menuStack);\n setFilePath(\n menuStack.map((s) => {\n if (s !== \"main\")\n return (\n
    clickBack(s)}>\n {\" → \" + getFileNameFromKey(s)}\n
    \n );\n })\n );\n }, [activeMenu]);\n\n const getSearchResults = (event) => {\n let searchTerm = event.target.value;\n setSearchValue(searchTerm);\n console.log(searchTerm);\n if (searchTerm) {\n search(searchTerm).then((result) => setSearchResults(result));\n }\n };\n\n const clickBack = (menu) => {\n if (menu === activeMenu) return;\n let menuStack = menuStackState;\n if (menu) {\n let temp = menuStack.pop();\n while (menu !== temp) temp = menuStack.pop();\n menuStack.push(temp);\n menuStack.push(\"temporary value\");\n }\n menuStack.pop();\n setFilePath(\n menuStack.map((s) => {\n if (s !== \"main\")\n return (\n
    clickBack(s)}>\n {\" → \" + getFileNameFromKey(s)}\n
    \n );\n })\n );\n if (menuStack.length < 1) menuStack.push(\"main\");\n setActiveMenu(menuStack.pop());\n if (menuStack.length < 1) menuStack.push(\"main\");\n setMenuStackState(menuStack);\n };\n\n return (\n <>\n {loading ? (\n \n ) : (\n <>\n
    \n \n\n \n\n
    \n
    \n \n )}\n \n );\n};\nexport default HowTo;\n","const apiURL = \"https://twc-api.readyone.net\";\nconst apiKey = \"ZHj2tQ0eQRa0rhOpKf1HRy6DKyRbxET8AgzZq2ic\";\n\nexport const createCategory = async ({\n username,\n instance,\n projectName,\n managers,\n contributors,\n reviewers\n}) => {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n console.log(instance);\n var raw = JSON.stringify({\n username,\n instance,\n projectName,\n managers,\n contributors,\n reviewers,\n });\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/create/category`, requestOptions)\n .then((response) => response.json())\n .catch((error) => console.log(\"error\", error));\n};\n\nexport const getProjects = async (categoryTitle, instance) => {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n var raw = JSON.stringify({ categoryTitle: categoryTitle, instance: instance });\n console.log(\"category title: \", categoryTitle);\n console.log(\"instance: \", instance);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/get/projects`, requestOptions)\n .then((response) => response.json())\n .then((result) => result.body)\n .catch((error) => console.log(\"error\", error));\n};\n\nexport function getModalData() {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n\n var requestOptions = {\n method: \"GET\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/get/modaldata`, requestOptions)\n .then((response) => response.json())\n .then((body) => body.body);\n}\n\nexport function getCategories(instance) {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n redirect: \"follow\",\n body: JSON.stringify({instance: instance})\n };\n \n return fetch(`${apiURL}/get/categories`, requestOptions)\n .then((response) => response.json())\n .then((result) => result.body)\n .catch((error) => console.log(\"error\", error));\n}\n\nexport const getUserRoles = async (username) => {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", apiKey);\n myHeaders.append(\"Content-Type\", \"application/json\");\n console.log(\"username: \", username);\n var raw = JSON.stringify({ username: username });\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n return fetch(`${apiURL}/get/userroles`, requestOptions)\n .then((response) => response.json())\n .catch((error) => console.log(\"error\", error));\n};\n","import React, { useState, useEffect } from \"react\";\nimport { Modal, Button, Form, Col } from \"react-bootstrap\";\nimport Select from \"react-select\";\nimport { sendEmail } from \"../../../services/ReadyOneAPI\";\nimport { getModalData, getCategories, getProjects } from \"../../../services/TeamworkCloudAdminAPI\";\nimport RingLoader from \"react-spinners/RingLoader\";\nimport { css } from \"@emotion/react\";\nimport \"../modals.css\";\n\nconst TWCUserPermissions = (props) => {\n const [requesterEmail, setRequesterEmail] = useState(\n props.requesterEmail || \"\"\n );\n const [shortForm] = useState(props.shortform || \"\");\n const [categories, setCategories] = useState([]);\n const [projects, setProjects] = useState([]);\n const [selectedProjects, setSelectedProjects] = useState([]);\n const [users, setUsers] = useState([]);\n const [selectedUsers, setSelectedUsers] = useState([]);\n const [selectedCategories, setSelectedCategories] = useState(\"\");\n const [permissions, setPermissions] = useState([]);\n const [selectedPermissions, setSelectedPermissions] = useState([]);\n const [instances, setInstances] = useState([]);\n const [selectedInstance, setSelectedInstance] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [done, setDone] = useState(false);\n const [message, setMessage] = useState(\"\");\n\n useEffect(() => {\n getCategories().then((response) => {\n console.log(response);\n setInstances(response.instances)\n });\n\n getModalData().then((response) => {\n setPermissions(response.permissions);\n });\n }, []);\n\n useEffect(() => {\n if(selectedInstance){\n getCategories(selectedInstance.value).then((response) => {\n console.log(response);\n setUsers(response.users);\n setCategories(response.projects);\n //setInstances(response.instances)\n });\n }\n \n }, [selectedInstance])\n\n useEffect(() => {\n setProjects([]);\n if(selectedCategories !== \"\"){\n getProjects(selectedCategories.value, selectedInstance.value).then(result => {\n setProjects(result.projects)\n })\n }\n },[selectedCategories])\n\n const sendNewUserEmail = () => {\n setLoading(true);\n let payload = {\n requestTemplate: \"twc-update-permissions\",\n instance: selectedInstance.value,\n category: selectedCategories.value,\n projects: selectedProjects.map(proj => proj.value),\n users: selectedUsers.map(user => user.value),\n permissions: selectedPermissions.map((p) => p.value),\n requesterEmail: requesterEmail,\n }\n \n sendEmail(payload).then(res => {\n setMessage(getRequestedTemplate(res.body));\n setLoading(false);\n setDone(true);\n })\n //props.secondButton(false);\n };\n\n const closeModal = () => {\n setMessage(\"\");\n setSelectedInstance(\"\");\n setSelectedCategories(\"\");\n setSelectedProjects([]);\n setSelectedUsers([]);\n setSelectedPermissions([]);\n setLoading(false);\n setDone(false);\n props.secondButton(false);\n }\n\n const getRequestedTemplate = (body) => {\n return
    \n
    Requested
    \n
    Updated user permissions have been requested
    \n
    {body}
    \n
    \n }\n\n const getErrorTemplate = (name) => {\n return
    \n
    Error
    \n
    There was a problem creating category {name}
    \n
    Please verify that category {name} does not already exist. Contact an administrator if the problem persists.
    \n
    \n }\n\n const override = css`\n display: block;\n margin: auto;\n margin-top: 40%;\n`;\n\n return (\n closeModal()} centered>\n \n \n Teamwork Cloud User Permissions\n \n \n\n \n {done ? (message) : loading && !done ? (\n \n ) :\n (\n <>\n \n Instance\n {\n setSelectedInstance(event);\n }}\n />\n \n
    \n \n Users\n {\n setSelectedUsers(event);\n }}\n />\n \n
    \n \n Categories\n {\n setSelectedCategories(event);\n // onCategorySelect(event);\n }}\n />\n \n
    \n \n Projects\n {\n setSelectedProjects(event);\n }}\n />\n \n
    \n \n Permissions\n {\n setSelectedPermissions(event);\n }}\n />\n \n
    \n \n )}\n
    \n\n \n {!loading && !done && sendNewUserEmail()}\n >\n Submit\n }\n closeModal()}\n >\n Close\n \n \n
    \n );\n};\n\nexport default TWCUserPermissions;\n","import React, { useState, useEffect } from \"react\";\nimport { Modal, Button, Form, Col } from \"react-bootstrap\";\nimport Select from \"react-select\";\nimport { sendEmail } from \"../../../services/ReadyOneAPI\";\nimport { getELMData } from \"../../../services/ELMAdminAPI\";\nimport RingLoader from \"react-spinners/RingLoader\";\nimport { css } from \"@emotion/react\";\nimport \"../modals.css\";\n\nconst ELMUserPermissions = (props) => {\n const [requesterEmail, setRequesterEmail] = useState(\n props.requesterEmail || \"\"\n );\n const [projects, setProjects] = useState([]);\n const [selectedProjects, setSelectedProjects] = useState([]);\n const [permissions, setPermissions] = useState([]);\n const [selectedPermissions, setSelectedPermissions] = useState([]);\n const [applications, setApplications] = useState([]);\n const [selectedApplications, setSelectedApplications] = useState([]);\n const [users, setUsers] = useState([]);\n const [selectedUsers, setSelectedUsers] = useState([]);\n const [loading, setLoading] = useState(false);\n const [done, setDone] = useState(false);\n const [message, setMessage] = useState(\"\");\n\n useEffect(() => {\n getELMData().then((response) => {\n \n setProjects(response.body.projects);\n setPermissions(response.body.permissions);\n setUsers(response.body.users);\n });\n }, []);\n\n const sendNewUserEmail = () => {\n setLoading(true);\n let payload = {\n requestTemplate:\"elm-update-permissions\",\n project: selectedProjects.map((p) => p.value),\n users: selectedUsers.map((u) => u.value),\n permissionLevel: selectedPermissions.map((p) => p.value),\n requesterEmail: requesterEmail\n }\n sendEmail(payload).then(res => {\n setMessage(getRequestedTemplate(res.body));\n setLoading(false);\n setDone(true);\n })\n //props.secondButton();\n };\n\n const getRequestedTemplate = (body) => {\n return
    \n
    Requested
    \n
    Updated user permissions have been requested
    \n
    {body}
    \n
    \n }\n\n const getErrorTemplate = (name) => {\n return
    \n
    Error
    \n
    There was a problem creating category {name}
    \n
    Please verify that category {name} does not already exist. Contact an administrator if the problem persists.
    \n
    \n }\n\n const closeModal = () => {\n setMessage(\"\");\n setSelectedUsers([]);\n setSelectedProjects([]);\n setSelectedPermissions([]);\n setLoading(false);\n setDone(false);\n props.secondButton(false);\n }\n\n const override = css`\n display: block;\n margin: auto;\n margin-top: 40%;\n`;\n\n return (\n closeModal()} centered>\n \n \n IBM ELM User Permissions\n \n \n\n \n {done ? (message) : loading && !done ? (\n \n ) :\n (\n <>\n \n Users\n {\n setSelectedUsers(event);\n }}\n />\n \n
    \n \n Projects\n {\n setSelectedProjects(event);\n }}\n />\n \n
    \n \n Permissions\n {\n setSelectedPermissions(event);\n }}\n />\n \n
    \n )}\n
    \n\n \n {!loading && !done && sendNewUserEmail()}\n >\n Submit\n }\n closeModal()}\n >\n Cancel\n \n \n
    \n );\n};\n\nexport default ELMUserPermissions;\n","import React, { useState, useEffect } from \"react\";\nimport { Modal, Button, Form, Col } from \"react-bootstrap\";\nimport Select from \"react-select\";\nimport { sendEmail } from \"../../../services/ReadyOneAPI\";\nimport { getInnovatorData } from \"../../../services/InnovatorAdminAPI\";\nimport RingLoader from \"react-spinners/RingLoader\";\nimport { css } from \"@emotion/react\";\nimport \"../modals.css\";\n\nconst InnovatorUserPermissions = (props) => {\n const [requesterEmail, setRequesterEmail] = useState(\n props.requesterEmail || \"\"\n );\n const [instances, setInstances] = useState([]);\n const [selectedInstances, setSelectedInstances] = useState([]);\n const [databases, setDatabases] = useState([]);\n const [selectedDatabases, setSelectedDatabases] = useState([]);\n const [roles, setRoles] = useState([]);\n const [selectedRoles, setSelectedRoles] = useState([]);\n const [users, setUsers] = useState([]);\n const [selectedUsers, setSelectedUsers] = useState([]);\n const [loading, setLoading] = useState(false);\n const [done, setDone] = useState(false);\n const [message, setMessage] = useState(\"\");\n\n useEffect(() => {\n getInnovatorData().then((response) => {\n console.log(response)\n setInstances(response.body.instances);\n setDatabases(response.body.databases);\n setRoles(response.body.roles);\n setUsers(response.body.users);\n });\n }, []);\n\n const sendNewUserEmail = () => {\n setLoading(true);\n console.log(selectedInstances)\n let payload = {\n requestTemplate: \"innovator-update-permissions\",\n instance: selectedInstances.value,\n databases: selectedDatabases.map((d) => d.value),\n roles: selectedRoles.map((r) => r.value),\n users: selectedUsers.map((u) => u.value),\n requesterEmail: props.requesterEmail,\n };\n\n sendEmail(payload).then((res) => {\n setMessage(getRequestedTemplate(res.body));\n setLoading(false);\n setDone(true);\n });\n };\n\n const getRequestedTemplate = (body) => {\n return (\n
    \n
    Requested
    \n
    \n The permission updates have been requested\n
    \n
    {body}
    \n
    \n );\n };\n\n const getErrorTemplate = (name) => {\n return (\n
    \n
    Error
    \n
    \n There was a problem creating category {name}\n
    \n
    \n Please verify that category {name} does not already exist. Contact an\n administrator if the problem persists.\n
    \n
    \n );\n };\n\n const override = css`\n display: block;\n margin: auto;\n margin-top: 40%;\n`;\n\n return (\n props.secondButton(false)} centered>\n \n \n Aras Innovator User Permissions\n \n \n\n \n {done ? (\n message\n ) : loading && !done ? (\n \n ) : (\n <>\n \n Instance\n {\n setSelectedInstances(event);\n }}\n />\n \n
    \n \n Databases\n {\n setSelectedDatabases(event);\n }}\n />\n \n
    \n \n Users\n {\n setSelectedUsers(event);\n }}\n />\n \n
    \n \n Roles\n {\n setSelectedRoles(event);\n }}\n />\n \n
    \n \n )}\n
    \n\n \n {!loading && !done && sendNewUserEmail()}\n >\n Submit\n }\n props.secondButton(false)}\n >\n Cancel\n \n \n
    \n );\n};\n\nexport default InnovatorUserPermissions;\n","const api_key = \"05OvDnN8BnaT2WMYme87d7xKcNC6m9NA1tymO76i\";\nconst api_url = \"https://innovator-api.readyone.net\";\n\nexport const getInnovatorData = () => {\n var myHeaders = new Headers();\n myHeaders.append(\"X-Api-Key\", api_key);\n \n var requestOptions = {\n method: 'GET',\n headers: myHeaders,\n redirect: 'follow'\n };\n \n return fetch(`${api_url}/get-innovator-data`, requestOptions)\n .then(response => response.json())\n .catch(error => console.log('error', error));\n}","import React, { useState, useEffect } from \"react\";\nimport { Modal, Button, Form, Col } from \"react-bootstrap\";\nimport { sendEmail } from \"../../../services/ReadyOneAPI\";\nimport Select from \"react-select\";\nimport TWCUserPermissions from \"../TeamworkCloud/TWCUserPermissions\";\nimport ELMUserPermissions from \"../IBM/ELMUserPermissions\";\nimport InnovatorUserPermissions from \"../Innovator/InnovatorUserPermissions\";\nimport \"../modals.css\";\n\nconst NewUserModal = (props) => {\n const [userEmail, setUserEmail] = useState(\"\");\n const [requesterEmail, setRequesterEmail] = useState(props.requesterEmail);\n const [shortForm, setShortForm] = useState(\"\");\n const [applications] = useState([\n { value: \"twcloud\", label: \"Teamwork Cloud\" },\n { value: \"elm\", label: \"IBM ELM\" },\n { value: \"innovator\", label: \"Aras Innovator\" },\n ]);\n const [selectedApplications, setSelectedApplications] = useState([]);\n const [showTWC, setShowTWC] = useState(false);\n const [showELM, setShowELM] = useState(false);\n const [showAras, setShowAras] = useState(false);\n\n useEffect(() => {}, []);\n\n const sendNewUserEmail = () => {\n console.log(shortForm);\n\n props.secondButton(false);\n if (selectedApplications) {\n if (selectedApplications.map((app) => app.value).includes(\"twcloud\")) {\n setShowTWC(true);\n } else if (selectedApplications.map((app) => app.value).includes(\"elm\")) {\n setShowELM(true);\n } else if (\n selectedApplications.map((app) => app.value).includes(\"innovator\")\n ) {\n setShowAras(true);\n }\n }\n\n var data = {};\n data.requestTemplate = \"new-user\";\n data.email = userEmail;\n data.shortformUsername = shortForm;\n data.requesterEmail = requesterEmail;\n sendEmail(data);\n props.secondButton(false);\n };\n\n const TWCNext = () => {\n props.secondButton(false);\n setShowTWC(false);\n if (selectedApplications.map((app) => app.value).includes(\"elm\")) {\n setShowELM(true);\n } else if (\n selectedApplications.map((app) => app.value).includes(\"innovator\")\n ) {\n setShowAras(true);\n }\n };\n\n const ELMNext = () => {\n props.secondButton(false);\n setShowELM(false);\n if (selectedApplications.map((app) => app.value).includes(\"innovator\")) {\n setShowAras(true);\n }\n };\n\n const handleChange = (event) => {\n setSelectedApplications(event);\n console.log(selectedApplications);\n };\n\n return (\n <>\n props.secondButton(false)}\n centered\n >\n \n \n New User\n \n \n\n \n \n Email\n setUserEmail(e.target.value)}\n as=\"input\"\n className=\"my-1 mr-sm-2\"\n >\n \n
    \n \n Shortform User Name\n setShortForm(e.target.value)}\n as=\"input\"\n className=\"my-1 mr-sm-2\"\n >\n \n
    \n Application Access\n \n
    \n
    \n\n \n sendNewUserEmail()}\n >\n Submit\n \n props.secondButton(false)}\n >\n Cancel\n \n \n \n {showTWC && (\n {\n TWCNext();\n }}\n mode=\"confirm\"\n shortform={shortForm}\n requesterEmail={requesterEmail}\n />\n )}\n {showELM && (\n {\n ELMNext();\n }}\n mode=\"confirm\"\n shortform={shortForm}\n requesterEmail={requesterEmail}\n />\n )}\n {showAras && (\n {\n setShowAras(false);\n }}\n mode=\"confirm\"\n shortform={shortForm}\n requesterEmail={requesterEmail}\n />\n )}\n \n );\n};\n\nexport default NewUserModal;\n","import React, { useState, useEffect } from \"react\";\nimport { Modal, Button, Form, Col } from \"react-bootstrap\";\nimport { css } from \"@emotion/react\";\n\nimport {\n createCategory,\n getCategories,\n} from \"../../../services/TeamworkCloudAdminAPI\";\nimport {sendEmail} from \"../../../services/ReadyOneAPI\"\nimport Select from \"react-select\";\nimport RingLoader from \"react-spinners/RingLoader\";\nimport \"../modals.css\";\n\nconst TWCCreateCategory = (props) => {\n const [categoryName, setCategoryName] = useState(\"\");\n const [resourceManagers, setResourceManagers] = useState([]);\n const [resourceContributors, setResourceContributors] = useState([]);\n const [resourceReviewers, setResourceReviewers] = useState([]);\n const [requesterEmail, setRequesterEmail] = useState(props.requesterEmail);\n const [users, setUsers] = useState([]);\n const [projects, setProjects] = useState([]);\n const [instances, setInstances] = useState([]);\n const [selectedInstance, setSelectedInstance] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [done, setDone] = useState(false);\n const [message, setMessage] = useState(\"\");\n\n useEffect(() => {\n getCategories().then((response) => {\n console.log(response);\n setInstances(response.instances)\n });\n }, []);\n\n useEffect(() => {\n if(selectedInstance){\n getCategories(selectedInstance.value).then((response) => {\n console.log(response);\n setUsers(response.users);\n setProjects(response.projects);\n //setInstances(response.instances)\n });\n }\n \n }, [selectedInstance])\n\n const createProject = async () => {\n setLoading(true);\n let payload = {\n requestTemplate: 'twc-create-category',\n username: props.username,\n instance: selectedInstance.value,\n projectName: categoryName,\n managers: resourceManagers.map((r) => r.value),\n contributors: resourceContributors.map((r) => r.value),\n reviewers: resourceReviewers.map((r) => r.value),\n requesterEmail\n }\n console.log(selectedInstance);\n await createCategory(payload).then((result) => {\n console.log(result);\n \n if(result.statusCode === 200) {\n setMessage(getSuccessTemplate(categoryName, result.body));\n setLoading(false);\n setDone(true);\n }else if(result.statusCode === 202){\n sendEmail(payload).then((res) => {\n setMessage(getRequestedTemplate(categoryName, res.body));\n setLoading(false);\n setDone(true);\n })\n }else{\n setMessage(getErrorTemplate(categoryName))\n setLoading(false);\n setDone(true);\n }\n \n });\n };\n\n const getSuccessTemplate = (name, link) => {\n return
    \n
    Success!
    \n
    Category {name} has been successfully created
    \n
    Click here to view it in the webapp
    \n
    \n }\n\n const getRequestedTemplate = (name, body) => {\n return
    \n
    Requested
    \n
    Category {name} has been requested
    \n
    {body}
    \n
    \n }\n\n const getErrorTemplate = (name) => {\n return
    \n
    Error
    \n
    There was a problem creating category {name}
    \n
    Please verify that category {name} does not already exist. Contact an administrator if the problem persists.
    \n
    \n }\n\n const override = css`\n display: block;\n margin: auto;\n margin-top: 40%;\n`;\n\n return (\n props.secondButton(false)} centered>\n \n Create Category\n \n\n \n {done ? (message) : loading && !done ? (\n \n ) : (\n <>\n \n Teamwork Cloud Instance\n {\n setSelectedInstance(event);\n }}\n />\n \n
    \n \n Category Name\n setCategoryName(e.target.value)}\n as=\"input\"\n className=\"my-1 mr-sm-2\"\n id=\"inlineFormCustomSelectPref\"\n >\n \n
    \n \n Resource Managers\n {\n setResourceManagers(event);\n }}\n />\n \n
    \n \n \n Resource Contributors\n \n {\n setResourceContributors(event);\n }}\n />\n \n
    \n \n Resource Reviewers\n {\n setResourceReviewers(event);\n }}\n />\n \n \n )}\n
    \n\n \n {!loading && !done && createProject()}\n >\n Submit\n }\n {props.secondButton(false); setDone(false)}}\n >\n Close\n \n \n
    \n );\n};\n\nexport default TWCCreateCategory;\n","import React, { useState, useEffect } from \"react\";\nimport { Modal, Button } from \"react-bootstrap\";\nimport {getUserRoles} from \"../../../services/TeamworkCloudAdminAPI\";\nimport \"../modals.css\";\n\nconst TWCMyRoles = (props) => {\n const [roles, setRoles] = useState([]);\n\n\n useEffect(() => {\n \n getUserRoles(props.username).then((result) => {\n setRoles(result.body)\n })\n \n }, []);\n\n return (\n props.secondButton(false)} centered>\n \n \n My Teamwork Cloud Permissions\n \n \n\n \n {\n roles && roles.map(role => (\n <>\n

    {role.roleName}

    \n
      \n {role.projects.map(proj => (\n
    • {proj.projectName}
    • \n ))}\n
    \n \n ))\n }\n
    \n\n \n props.secondButton(false)}\n >\n Close\n \n \n
    \n );\n};\n\nexport default TWCMyRoles;\n","import React, { useState, useEffect } from \"react\";\nimport { Modal, Button } from \"react-bootstrap\";\nimport TWCCreateCategory from \"./TWCCreateCatergory\";\nimport TWCUserPermissions from \"./TWCUserPermissions\";\nimport TWCMyRoles from \"./TWCMyRoles\";\nimport \"../modals.css\";\n\nconst TWCModal = (props) => {\n const [showCreateCategory, setShowCreateCategory] = useState(false);\n const [showUserPermission, setShowUserPermission] = useState(false);\n const [showMyRoles, setShowMyRoles] = useState(false);\n\n useEffect(() => {}, []);\n\n return (\n <>\n props.secondButton(false)}\n centered\n >\n \n Teamwork Cloud\n \n\n \n
    \n\n {\n props.secondButton(false);\n setShowCreateCategory(true);\n }}\n >\n Create Category\n \n\n
    \n
    \n\n {\n props.secondButton(false);\n setShowUserPermission(true);\n }}\n >\n Add/Update User Permissions\n \n
    \n
    \n
    \n\n \n props.secondButton(false)}\n >\n Close\n \n \n \n \n \n \n \n );\n};\n\nexport default TWCModal;\n","import React, { useState, useEffect } from \"react\";\nimport { Modal, Button, Form, Col } from \"react-bootstrap\";\nimport Select from \"react-select\";\nimport { sendEmail } from \"../../../services/ReadyOneAPI\";\nimport { getELMData } from \"../../../services/ELMAdminAPI\";\nimport RingLoader from \"react-spinners/RingLoader\";\nimport { css } from \"@emotion/react\";\nimport \"../modals.css\";\n\nconst ELMCreateProject = (props) => {\n const [requesterEmail, setRequesterEmail] = useState(\n props.requesterEmail || \"\"\n );\n const [shortForm, setShortForm] = useState(props.shortform || \"\");\n const [projects, setProjects] = useState([]);\n const [selectedProjects, setSelectedProjects] = useState([]);\n const [permissions, setPermissions] = useState([]);\n const [selectedPermissions, setSelectedPermissions] = useState([]);\n const [applications, setApplications] = useState([]);\n const [selectedApplications, setSelectedApplications] = useState([]);\n const [projectName, setProjectName] = useState(\"\");\n const [users, setUsers] = useState([]);\n const [selectedUsers, setSelectedUsers] = useState([]);\n const [loading, setLoading] = useState(false);\n const [done, setDone] = useState(false);\n const [message, setMessage] = useState(\"\");\n\n useEffect(() => {\n getELMData().then((response) => {\n setProjects(response.body.projects);\n setPermissions(response.body.permissions);\n setApplications(response.body.applications);\n setUsers(response.body.users);\n });\n }, []);\n\n const sendNewUserEmail = () => {\n setLoading(true);\n let payload = {\n requestTemplate: \"elm-create-project\",\n project: projectName,\n users: selectedUsers.map((u) => u.value),\n applications: selectedApplications.map((a) => a.value),\n requesterEmail: requesterEmail,\n };\n\n sendEmail(payload).then((res) => {\n setMessage(getRequestedTemplate(res.body));\n setLoading(false);\n setDone(true);\n });\n };\n\n const getRequestedTemplate = (body) => {\n return (\n
    \n
    Requested
    \n
    \n The project has been requested\n
    \n
    {body}
    \n
    \n );\n };\n\n const getErrorTemplate = (name) => {\n return (\n
    \n
    Error
    \n
    \n There was a problem creating category {name}\n
    \n
    \n Please verify that category {name} does not already exist. Contact an\n administrator if the problem persists.\n
    \n
    \n );\n };\n\n const closeModal = () => {\n setMessage(\"\");\n setSelectedUsers([]);\n setSelectedApplications([]);\n setProjectName(\"\");\n setLoading(false);\n setDone(false);\n props.secondButton(false);\n };\n\n const override = css`\n display: block;\n margin: auto;\n margin-top: 40%;\n `;\n\n return (\n closeModal()} centered>\n \n \n IBM ELM Create Project\n \n \n\n \n {done ? (\n message\n ) : loading && !done ? (\n \n ) : (\n <>\n \n Project Name\n setProjectName(e.target.value)}\n as=\"input\"\n className=\"my-1 mr-sm-2\"\n value={projectName}\n >\n \n
    \n \n Applications\n {\n setSelectedApplications(event);\n }}\n />\n \n
    \n \n Users\n {\n setSelectedUsers(event);\n }}\n />\n \n
    \n \n )}\n
    \n\n \n {!loading && !done && sendNewUserEmail()}\n >\n Submit\n }\n closeModal()}\n >\n Cancel\n \n \n
    \n );\n};\n\nexport default ELMCreateProject;\n","import React, { useState, useEffect } from \"react\";\nimport { Modal, Button } from \"react-bootstrap\";\nimport ELMUserPermissions from \"./ELMUserPermissions\";\nimport ELMCreateProject from \"./ELMCreateProject\"\nimport \"../modals.css\";\n\nconst ELMModal = (props) => {\n const [showUserPermission, setShowUserPermission] = useState(false);\n const [showCreateProject, setShowCreateProject] = useState(false);\n\n useEffect(() => {}, []);\n\n return (\n <>\n props.secondButton(false)}\n centered\n >\n \n \n IBM ELM\n \n {/* */}\n \n\n \n
    \n {\n setShowUserPermission(true);\n props.secondButton(false);\n }}\n >\n Add/Update User Permissions\n \n\n
    \n
    \n\n {\n setShowCreateProject(true);\n props.secondButton(false);\n }}\n >\n Create Project\n \n\n
    \n {/*
    \n props.firstButton()}\n >\n Ex.\n \n
    \n
    \n props.firstButton()}\n >\n Ex.\n \n
    */}\n
    \n
    \n\n \n props.secondButton(false)}\n >\n Close\n \n \n \n \n \n \n );\n};\n\nexport default ELMModal;","import React, { useState, useEffect } from \"react\";\nimport { Modal, Button } from \"react-bootstrap\";\nimport InnovatorUserPermissions from \"./InnovatorUserPermissions\";\nimport \"../modals.css\";\n\nconst IbmModal = (props) => {\n const [showUserPermission, setShowUserPermission] = useState(false);\n\n useEffect(() => {}, []);\n\n return (\n <>\n props.secondButton(false)}\n centered\n >\n \n \n Aras Innovator\n \n {/* */}\n \n\n \n
    \n {\n setShowUserPermission(true);\n props.secondButton(false);\n }}\n >\n Add/Update User Permissions\n \n\n
    \n {/*
    \n\n props.firstButton()}\n >\n Add Users\n \n\n
    \n
    \n\n props.firstButton()}\n >\n Ex.\n \n\n
    \n
    \n\n props.firstButton()}\n >\n Ex.\n \n
    */}\n
    \n
    \n\n \n props.secondButton(false)}\n >\n Close\n \n \n \n \n \n );\n};\n\nexport default IbmModal;\n","import React from \"react\";\nimport styles from \"./Title.module.css\";\n\nexport default function Title({ title, subtitle, image }) {\n return (\n
    \n {image && \"title}\n

    {title}

    \n

    {subtitle}

    \n
    \n );\n}\n","import React from \"react\";\nimport styles from \"./Button.module.css\";\n\nexport default function Button({ onClick, title, image }) {\n return (\n \n );\n}\n","import React, { useState } from \"react\";\n\nimport { Button, Modal } from \"../../Components/\";\nimport styles from \"./Content.module.css\";\n\nexport default function Content({ children }) {\n return
    {children}
    ;\n}\n","import React, { useState, useContext } from \"react\";\nimport \"./RequestForm.css\";\nimport RequestButton from \"../../components/RequestButton\";\nimport NewUserModal from \"../../components/Modals/NewUser/NewUserModal\";\nimport TWCModal from \"../../components/Modals/TeamworkCloud/TWCModal\";\nimport ELMModal from \"../../components/Modals/IBM/ELMModal\";\nimport InnovatorModal from \"../../components/Modals/Innovator/InnovatorModal\";\nimport { AccountContext } from \"../../auth\";\nimport { Title, Content } from \"./Layout\";\nimport { Button, Modal, Menu } from \"./Components\";\n\nconst RequestForm = (props) => {\n const [activeModal, setActiveModal] = useState(null);\n const options = [\n {\n title: \"New User\",\n image:\n \"https://s3-us-gov-west-1.amazonaws.com/resources.readyone.net/site_images/app_streams/newuser.png\",\n },\n {\n title: \"Teamwork Cloud\",\n image:\n \"https://s3-us-gov-west-1.amazonaws.com/resources.readyone.net/site_images/app_streams/TeamworkCloudLogo.png\",\n },\n {\n title: \"IBM ELM\",\n image:\n \"https://s3-us-gov-west-1.amazonaws.com/resources.readyone.net/site_images/app_streams/ibm.png\",\n },\n {\n title: \"Aras Innovator\",\n image:\n \"https://s3-us-gov-west-1.amazonaws.com/resources.readyone.net/site_images/app_streams/aras.png\",\n },\n ];\n const { email, username } = useContext(AccountContext);\n\n return (\n
    \n \n <Content>\n {options.map((option) => (\n <Button\n onClick={() => {\n setActiveModal(option.title);\n }}\n title={option.title}\n image={option.image}\n />\n ))}\n </Content>\n\n <NewUserModal\n show={activeModal === \"New User\"}\n secondButton={() => setActiveModal(null)}\n mode=\"confirm\"\n requesterEmail={email}\n />\n <TWCModal\n show={activeModal === \"Teamwork Cloud\"}\n secondButton={() => setActiveModal(null)}\n mode=\"confirm\"\n username={username}\n requesterEmail={email}\n />\n <ELMModal\n show={activeModal === \"IBM ELM\"}\n secondButton={() => setActiveModal(null)}\n mode=\"confirm\"\n requesterEmail={email}\n />\n <InnovatorModal\n show={activeModal === \"Aras Innovator\"}\n secondButton={() => setActiveModal(null)}\n mode=\"confirm\"\n requesterEmail={email}\n />\n </div>\n );\n};\n\nexport default RequestForm;\n","import React from \"react\";\nimport \"./PTBNavbar.css\";\nimport { Navbar, Nav } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport ImageHelper from \"../../components/ImageHelper\";\n\nconst DemoNavbar = (props) => {\n return (\n <>\n <Navbar\n collapseOnSelect\n expand=\"lg\"\n bg=\"dark\"\n variant=\"dark\"\n className=\"navbar bottom-shadow\"\n sticky=\"top\"\n >\n <Navbar.Brand className=\"brand\">\n <ImageHelper\n mode=\"newRO\"\n width=\"5.5em\"\n className=\"navbarbrand\"\n onClick={() => {}}\n />\n <div className=\"d-inline\" />\n </Navbar.Brand>\n <Navbar.Toggle aria-controls=\"basic-navbar-nav\" className=\"d-none\" />\n \n \n \n </Navbar>\n </>\n );\n};\n\nexport default DemoNavbar;\n","import React from \"react\";\nimport \"./PTBNavbar.css\";\nimport { Container, Row } from \"react-bootstrap\";\nimport ImageHelper from \"../../components/ImageHelper\";\n\nexport const DemoFooter = (props) => {\n return (\n <>\n <div\n className=\"footer top-shadow d-none d-lg-block\"\n expand=\"lg\"\n sticky=\"bottom\"\n >\n <Container fluid>\n <Row className=\"footer-bar-logo\">\n <ImageHelper\n className=\"footer-bar-logo\"\n mode=\"saiclogo\"\n width=\"7rem\"\n onClick={() => {}}\n />\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nexport default DemoFooter;\n","import React, { useState, useContext, useEffect, Component } from \"react\";\nimport \"./PTBLogin.css\";\nimport { Button, Form, Col, Modal, Row } from \"react-bootstrap\";\nimport { useLocation, Navigate } from \"react-router-dom\";\nimport RingLoader from \"react-spinners/RingLoader\";\nimport ImageHelper from \"../../components/ImageHelper\";\n\nconst DemoLogin = (props) => {\n const [password, setPassword] = useState(\"\");\n const [failed, setFailed] = useState(false);\n\n const verifyLogin = () => {\n password === \"Y~2u[:Xm<GQN3C\"\n ? props.setAuthenticated(true)\n : setFailed(true);\n };\n\n return (\n <div className=\"login-whole-page\">\n <Modal className=\"login-modal\" show={true} centered>\n <Modal.Header className=\"login-modal-logo\">\n <ImageHelper mode=\"saiclogo\" width=\"35%\" onClick={() => {}} />\n </Modal.Header>\n\n <Modal.Header className=\"login-modal-ro\">\n <ImageHelper mode=\"readyone\" width=\"80%\" onClick={() => {}} />\n </Modal.Header>\n\n <Modal.Header className=\"login-modal-header\">\n <Modal.Title>Enter the password you recieved via email.</Modal.Title>\n </Modal.Header>\n\n <Modal.Body className=\"login-modal-body text-center\">\n <br />\n <Form.Group as={Col}>\n <Form.Label className=\"login-text-white\">Password</Form.Label>\n <Form.Control\n onChange={(e) => setPassword(e.target.value)}\n as=\"input\"\n type=\"password\"\n className=\"my-1 mr-sm-2\"\n ></Form.Control>\n </Form.Group>\n {failed && <div className=\"fail-text\">Incorrect Password</div>}\n <br />\n </Modal.Body>\n\n <Modal.Footer className=\"login-modal-footer\">\n <Button\n variant=\"danger\"\n className=\"login-modal-button\"\n onClick={() => verifyLogin()}\n >\n Login\n </Button>\n <br />\n <br />\n </Modal.Footer>\n\n <Modal.Footer className=\"login-modal-footer-disc\"></Modal.Footer>\n </Modal>\n </div>\n );\n};\n\nexport default DemoLogin;\n","import React, { useState, useContext, useEffect } from \"react\";\nimport \"./PTBPage.css\";\nimport DemoNavbar from \"./PTBNavbar\";\nimport DemoFooter from \"./PTBFooter\";\nimport { Container, Col, Row } from \"react-bootstrap\";\nimport ReactPlayer from \"react-player\";\nimport { AccountContext } from \"../../auth\";\nimport ImageHelper from \"../../components/ImageHelper\";\nimport DemoLogin from \"./PTBLogin\";\nimport { Link } from \"react-router-dom\";\n\nconst PTBPage = (props) => {\n const { authenticated } = useContext(AccountContext);\n const [playerDimension, setPlayerDimension] = useState({\n height: \"25rem\",\n width: \"40rem\",\n });\n const [videoTextClass, setVideoTextClass] = useState(\"video-player-text\");\n const [access, setAccess] = useState(authenticated);\n\n useEffect(() => {\n //props.setPath(window.location.pathname);\n }, []);\n\n const videoStarted = () => {\n setPlayerDimension({ height: \"40rem\", width: \"100%\" });\n setVideoTextClass(\"video-player-text-playing\");\n };\n\n const videoPaused = () => {\n setPlayerDimension({ height: \"25rem\", width: \"40rem\" });\n setVideoTextClass(\"video-player-text\");\n };\n\n return (\n <>\n {!authenticated && <DemoNavbar />}\n {access ? (\n <Container className=\"getting-started-whole-box\">\n <Row className=\"getting-started-title\">\n Welcome To\n <ImageHelper\n mode=\"saiclogo\"\n width=\"3.44em\"\n className=\"navbarbrand\"\n onClick={() => {}}\n />\n ReadyOne!\n </Row>\n\n <Row className=\"getting-started-footer\">\n <Row className=\"getting-started-footer-row\">\n <Col className=\"video-player-col\">\n <ReactPlayer\n className=\"ptb-player\"\n url=\"https://youtu.be/vzaXyIDilt0\"\n width={playerDimension.width}\n height={playerDimension.height}\n onStart={videoStarted}\n onPause={videoPaused}\n onPlay={videoStarted}\n controls={true}\n loop={true}\n light={true}\n config={{\n youtube: {\n playerVars: {\n modestbranding: 0,\n controls: 1,\n },\n },\n }}\n />\n </Col>\n\n <Col className={videoTextClass}>\n <h3 className=\"video-player-title\">PTB Challenge</h3>\n <div className=\"video-player-text\">\n This video demonstrates how SAIC deploys sound digital\n engineering (DE) practices within each engineering domain and\n creates executable and traceable digital threads across\n multiple engineering tools and disciplines spanning the full\n engineering lifecycle.\n </div>\n <a\n className=\"ptb-download-link\"\n href=\"https://software-downloads.s3-us-gov-west-1.amazonaws.com/NIWC_Lant.mp4\"\n >\n <div className=\"ptb-fancy-button\">Download Video</div>\n </a>\n </Col>\n </Row>\n </Row>\n </Container>\n ) : (\n <DemoLogin setAuthenticated={setAccess} />\n )}\n <DemoFooter />\n </>\n );\n};\n\nexport default PTBPage;\n","import React from \"react\";\nimport \"./DemoNavbar.css\";\nimport { Navbar, Nav } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport ImageHelper from \"../../components/ImageHelper\";\n\nconst DemoNavbar = (props) => {\n return (\n <>\n <Navbar\n collapseOnSelect\n expand=\"lg\"\n bg=\"dark\"\n variant=\"dark\"\n className=\"navbar bottom-shadow\"\n sticky=\"top\"\n >\n <Navbar.Brand className=\"brand\">\n <ImageHelper\n mode=\"newRO\"\n width=\"5.5em\"\n className=\"navbarbrand\"\n onClick={() => {}}\n />\n <div className=\"d-inline\" />\n </Navbar.Brand>\n <Navbar.Toggle aria-controls=\"basic-navbar-nav\" className=\"d-none\" />\n <Navbar.Collapse id=\"basic-navbar-nav\">\n <Nav\n fill\n variant=\"tabs\"\n className=\"mr-auto d-none d-lg-flex\"\n defaultActiveKey=\"/Getting-Started\"\n // activeKey={getActiveKey()}\n >\n <Nav.Link\n eventKey=\"/Getting-Started\"\n as={Link}\n className=\"white-nav-text\"\n to=\"/Demo\"\n >\n <h5 className=\"demoTab\"> Demo </h5>\n </Nav.Link>\n </Nav>\n </Navbar.Collapse>\n </Navbar>\n </>\n );\n};\n\nexport default DemoNavbar;\n","import React, { useState, useContext, useEffect } from \"react\";\nimport styles from \"./DemoPage.module.css\";\nimport DemoNavbar from \"./DemoNavbar\";\nimport { Container, Col, Row } from \"react-bootstrap\";\nimport ReactPlayer from \"react-player\";\n\nconst DemoPage = (props) => {\n const videos = [\n {\n title: \"Getting Started with ReadyOne\",\n link: \"https://twc-data.s3-us-gov-west-1.amazonaws.com/ReadyOne+Demo.mp4\",\n description:\n \"In this video, you will find some useful information on getting started with App Streams. This video demonstrates launching engineering applications within your web browser, and navigating the App Streams toolbar.\",\n class: \"video-player\",\n },\n {\n title: \"Getting Started with ReadyTwo\",\n link: \"https://twc-data.s3-us-gov-west-1.amazonaws.com/ReadyOne+Demo.mp4\",\n description:\n \"In this video, you will find some useful information on getting started with App Streams. This video demonstrates launching engineering applications within your web browser, and navigating the App Streams toolbar.\",\n class: \"ptb-player\",\n },\n ];\n\n return (\n <>\n <DemoNavbar />\n <Container className=\"getting-started-whole-box\">\n <Row className=\"getting-started-title\">\n Welcome To ReadyOne!\n <div className={styles.gettingStartedTitleText}>\n Select a video to view a demo\n </div>\n </Row>\n\n <Row className=\"getting-started-footer\">\n {videos.map((video) => (\n <Row className=\"getting-started-footer-row\">\n <Col className=\"video-player-col\">\n <ReactPlayer\n className={video.class}\n url={video.link}\n width=\"40rem\"\n height=\"25rem\"\n controls={true}\n loop={true}\n light={true}\n config={{\n youtube: {\n playerVars: {\n modestbranding: 0,\n controls: 1,\n },\n },\n }}\n />\n </Col>\n\n <Col className=\"video-player-text\">\n <h3 className=\"video-player-title\">{video.title}</h3>\n <div className=\"video-player-text\">{video.description}</div>\n </Col>\n </Row>\n ))}\n </Row>\n </Container>\n </>\n );\n};\n\nexport default DemoPage;\n","import React from \"react\";\nimport styles from \"./Modal.module.css\";\n\nexport default function Modal({ id, show, title, children, buttonText, onClick, hideModal, className }) {\n return (\n <div id={id} className={`${styles.modal} ${show ? styles.show : styles.hide} ${className}`}>\n <div className={styles.modalContent}>\n <div className={styles.header}>\n <h2>{title}</h2>\n </div>\n <div className={styles.content}>{children}</div>\n <div className={styles.footer}>\n {buttonText && <button onClick={onClick}>{buttonText}</button>}\n <button onClick={hideModal}>Cancel</button>\n </div>\n </div>\n </div>\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport styles from \"./DashboardSelector.module.css\";\nimport Modal from \"./Modal/Modal\";\nimport { getTable } from \"../../../services/ReadyOneAPI\";\n\nconst DashboardSelector = ({ show, close, setDashboard }) => {\n const [dashboards, setDashboards] = useState([]);\n const [internalShow, setInternalShow] = useState(show);\n useEffect(() => {\n getTable(\"ReadyOne_Dashboards\").then((result) => {\n setDashboards(result.body.Items);\n });\n }, []);\n\n useEffect(() => {\n show\n ? setInternalShow(show)\n : setTimeout(() => {\n setInternalShow(show);\n }, 600);\n }, [show]);\n\n const handleChange = (event) => {\n setDashboard(dashboards[event.target.value]);\n };\n\n return (\n <Modal\n show={internalShow}\n title={\"Select a Dashboard\"}\n onClick={() => {\n close();\n }}\n hideModal={close}\n className={show ? styles.puffIn : styles.puffOut}\n >\n <select className={styles.dropdown} onChange={handleChange}>\n <option value=\"\">Select an option</option>\n {dashboards.map((dash, idx) => (\n <option value={idx}>{dash.title}</option>\n ))}\n </select>\n </Modal>\n );\n};\n\nexport default DashboardSelector;\n","import styles from \"./Dashboard.module.css\";\nimport React, {useState} from 'react'\n\nconst Dashboard = ({ title, link, update }) => {\n\n return (\n <div className={styles.frame}>\n <div className={styles.header}>\n <span className={styles.title}>{title}</span>\n <button onClick={() => update()} className={styles.switchButton}>Switch Dashboard</button>\n </div>\n <iframe\n title={title}\n className={styles.reportFrame}\n src={link}\n frameborder=\"0\"\n allowFullScreen=\"true\"\n ></iframe>\n </div>\n );\n};\n\nexport default Dashboard;\n","import React, { useEffect, useState, useContext, useRef } from \"react\";\nimport { AccountContext } from \"../../auth\";\nimport { ToastContext } from \"../../layout\";\nimport styles from \"./Dashboards.module.css\";\nimport DashboardSelector from \"./DashboardSelector/DashboardSelector\";\nimport Dashboard from \"./Dashboard/Dashboard\";\n\nconst Dashboards = () => {\n const [dashboard, setDashboard] = useState({});\n const [show, setShow] = useState(true)\n\n const { notifyInfo } = useContext(ToastContext);\n\n useEffect(() => {\n console.log(dashboard)\n if(!isEmpty(dashboard)) {\n setShow(false)\n notifyInfo(`Now viewing ${dashboard.title}`)\n }\n \n }, [dashboard])\n\n function isEmpty(obj) {\n return Object.keys(obj).length === 0;\n }\n\n return (\n <>\n <DashboardSelector show={show} close={() => setShow(false)} setDashboard={setDashboard} />\n {!show && <Dashboard title={dashboard.title} link={dashboard.report} update={() => setShow(true)}/>}\n </>\n );\n};\n\nexport default Dashboards;\n","import React from \"react\";\nimport styles from \"./Modal.module.css\";\n\nexport default function Modal({ id, show, title, children, buttonText, onClick, hideModal }) {\n return (\n <div id={id} className={`${styles.modal} ${show ? styles.show : styles.hide}`}>\n <div className={styles.modalContent}>\n <div className={styles.header}>\n <h2>{title}</h2>\n </div>\n <div className={styles.content}>{children}</div>\n <div className={styles.footer}>\n <button className={styles.cancelBtn} onClick={hideModal}>Cancel</button>\n </div>\n </div>\n </div>\n );\n}\n","import React, { useState } from \"react\";\nimport styles from \"./FileUpload.module.css\";\nimport Modal from \"./Modal/Modal\";\nimport { uploadFile } from \"../../services/ReadyOneAPI\";\n\nconst FileUpload = ({ show, close }) => {\n // fileToUpload contains the actual file object\n // uploadSuccess becomes true when the file upload is complete\n const [fileToUpload, setFileToUpload] = useState(undefined);\n const [uploadSuccess, setUploadSuccess] = useState(undefined);\n const [error, setError] = useState(undefined);\n const [uploading, setUploading] = useState(false);\n\n\n const upload = () => {\n setUploading(true);\n uploadFile(fileToUpload, fileToUpload.name).then((result) => {\n console.log(result);\n setUploading(false);\n setUploadSuccess(result.uploadSuccess);\n setError(result.error);\n });\n };\n\n return (\n <Modal\n id=\"notification-modal\"\n show={true}\n title={\"Upload File\"}\n onClick={() => {\n upload();\n }}\n hideModal={() => {}}\n >\n <div className={styles.editContainer}>\n \n <div className={styles.selectContainer}>\n <form className={styles.fileSelectCont}>\n \n {/* <label for=\"fileUpload\" className={styles.fileButton} /> */}\n <input\n type=\"file\"\n className={styles.fileButtonText}\n id=\"fileUpload\"\n onChange={(e) => {\n setFileToUpload(e.target.files[0]);\n }}\n />\n\n {fileToUpload ? (\n <button\n type=\"button\"\n className={styles.uploadButton}\n onClick={(e) => {\n upload();\n }}\n >\n Upload your file\n </button>\n ) : null}\n <div>\n <span>{uploading ? \"Upload in progress\" : \"\"}</span>\n <span>{uploadSuccess ? \"File Upload Successfully\" : \"\"}</span>\n </div>\n \n </form>\n </div>\n </div>\n </Modal>\n );\n};\n\nexport default FileUpload;\n","import React, { useState, useEffect } from 'react';\nimport ReactPlayer from 'react-player';\nimport styles from './VideoFeed.module.css';\n\nconst VideoFeed = ({ videos }) => {\n // Set default dimensions and mobile flag based on viewport size\n const [playerDimension, setPlayerDimension] = useState({ width: '400px', height: '225px' });\n const [isMobile, setIsMobile] = useState(window.innerWidth < 768);\n\n useEffect(() => {\n const handleResize = () => {\n if (window.innerWidth < 768) {\n // On mobile, make the video player full width with auto-adjusting height\n setPlayerDimension({ width: '100%', height: 'auto' });\n setIsMobile(true);\n } else {\n setPlayerDimension({ width: '400px', height: '225px' });\n setIsMobile(false);\n }\n };\n\n window.addEventListener('resize', handleResize);\n // Call it immediately to set the correct dimensions on mount\n handleResize();\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const videoStarted = () => {\n console.log('Video started');\n };\n\n const videoPaused = () => {\n console.log('Video paused');\n };\n\n return (\n <div className={styles.videoFeedContainer}>\n <h2 className={styles.feedHeader}>ReadyOne Demos</h2>\n {videos.map((video) => (\n <div className={styles.videoItem} key={video.id}>\n {/* Left side: ReactPlayer video */}\n <div className={styles.videoPlayer}>\n <ReactPlayer\n className={styles.ptbPlayer}\n url={video.videoUrl}\n width={playerDimension.width}\n height={playerDimension.height}\n onStart={videoStarted}\n onPause={videoPaused}\n onPlay={videoStarted}\n controls={true}\n loop={true}\n config={{\n youtube: {\n playerVars: {\n modestbranding: 0,\n controls: 1,\n },\n },\n }}\n />\n </div>\n\n {/* Right side: Video details */}\n <div className={styles.videoDetails}>\n <h3 className={styles.videoTitle}>{video.title}</h3>\n <VideoDescription text={video.description} maxLength={120} isMobile={isMobile} />\n </div>\n </div>\n ))}\n </div>\n );\n};\n\n// A helper component for handling long descriptions with a \"Read More\" toggle on mobile only\nconst VideoDescription = ({ text, maxLength, isMobile }) => {\n const [expanded, setExpanded] = useState(false);\n\n // On desktop, just show the full text.\n if (!isMobile) {\n return <p className={styles.videoDescription}>{text}</p>;\n }\n\n // On mobile, if text is short enough, no need for toggling.\n if (text.length <= maxLength) {\n return <p className={styles.videoDescription}>{text}</p>;\n }\n\n return (\n <p className={styles.videoDescription}>\n {expanded ? text : text.substring(0, maxLength) + '...'}\n <button className={styles.readMoreButton} onClick={() => setExpanded(!expanded)}>\n {expanded ? 'Read Less' : 'Read More'}\n </button>\n </p>\n );\n};\n\nexport default VideoFeed;\n","import React from 'react';\nimport VideoFeed from './VideoFeed';\nimport { styles } from \"./Information.module.css\"\n\nconst mockVideos = [\n {\n id: 1,\n title: 'ReadyOne: Getting Started',\n description: 'Kickstart your journey with ReadyOne in this introductory demo. Explore the key features and streamlined workflows designed to simplify your transition into digital engineering. This video provides a hands-on look at the intuitive interface, advanced integration capabilities, and practical tips for getting up and running quickly. Perfect for newcomers, learn how ReadyOne can transform your engineering process and drive efficiency from the very beginning.',\n thumbnail: 'https://via.placeholder.com/300x200',\n videoUrl: 'https://s3.us-gov-west-1.amazonaws.com/resources.readyone.net/demos/ReadyOne+Demo+v2.m4v',\n },\n {\n id: 2,\n title: 'ReadyOne: JADC2 – End-to-End Digital Mission Engineering Solution',\n description: 'Discover how ReadyOne transforms mission engineering with its comprehensive digital solution for JADC2. This demonstration reveals advanced integration and workflow capabilities designed to support agile decision-making, real-time data analysis, and enhanced multi-domain command and control. Ideal for defense and military professionals, the video shows how ReadyOne streamlines planning, execution, and assessment in complex operational environments, paving the way for a more connected and efficient future in mission engineering.',\n thumbnail: 'https://via.placeholder.com/300x200',\n videoUrl: 'https://s3.us-gov-west-1.amazonaws.com/resources.readyone.net/demos/jadc2-an-end-to-end-digital-mission-engineering-solution-orig.mp4',\n },\n {\n id: 3,\n title: 'Revolutionizing Development: AI Code Generation in Action',\n description: 'Discover how AI is transforming the software development process in this demo. Watch as advanced algorithms translate design concepts and natural language into functional code, streamlining workflows and boosting productivity. Perfect for developers and tech enthusiasts, this demonstration highlights the potential of intelligent automation in reducing routine coding tasks while sparking innovative solutions in software engineering.',\n thumbnail: 'https://via.placeholder.com/300x200',\n videoUrl: 'https://s3.us-gov-west-1.amazonaws.com/resources.readyone.net/demos/ACE+Videos/AI+Code+Generation+Demo.mp4',\n },\n {\n id: 4,\n title: 'ReadyOne: Accelerating Change Management',\n description: 'Experience the streamlined power of ReadyOne Express ECO—a rapid solution designed to simplify and accelerate engineering change management. This demo showcases how the platform quickly identifies, tracks, and implements changes, enabling agile decision-making and enhanced collaboration. Ideal for teams looking to reduce downtime and improve product quality, this demonstration reveals the benefits of an express approach to managing engineering change orders in dynamic environments.',\n thumbnail: 'https://via.placeholder.com/300x200',\n videoUrl: 'https://s3.us-gov-west-1.amazonaws.com/resources.readyone.net/demos/ACE+Videos/Change+Management+Express+ECO.mp4',\n },\n {\n id: 5,\n title: 'ReadyOne Engineering Design: Driving Innovation in Action',\n description: 'Experience the power of ReadyOne in this comprehensive engineering design demo. Discover how cutting-edge tools and streamlined processes transform complex design challenges into innovative, efficient, and scalable solutions. This video illustrates how ReadyOne empowers engineering teams to merge creativity with technical precision, optimizing workflows and driving exceptional product performance from concept to creation.',\n thumbnail: 'https://via.placeholder.com/300x200',\n videoUrl: 'https://s3.us-gov-west-1.amazonaws.com/resources.readyone.net/demos/ACE+Videos/Engineering+Design.mp4',\n },\n {\n id: 6,\n title: 'ReadyOne Requirements Management: Empowering Clarity and Efficiency',\n description: 'Discover how ReadyOne Requirements Management transforms the way teams capture, analyze, and trace project requirements. This demo showcases a centralized solution that enhances visibility, streamlines workflows, and improves collaboration—ensuring every requirement is efficiently managed and aligned with your project goals.',\n thumbnail: 'https://via.placeholder.com/300x200',\n videoUrl: 'https://s3.us-gov-west-1.amazonaws.com/resources.readyone.net/demos/ACE+Videos/Requirements+Management.mp4',\n },\n {\n id: 7,\n title: 'ReadyOne System Architecture & Simulation: Bridging Design and Analysis',\n description: 'Discover how ReadyOne empowers engineering teams by seamlessly integrating system architecture design with advanced modeling and simulation techniques. This demo highlights the platform\\'s ability to streamline development, enhance collaboration, and drive innovation by transforming complex system designs into actionable simulations. Witness how a cohesive approach to architecture and simulation can accelerate decision-making and improve overall project performance.',\n thumbnail: 'https://via.placeholder.com/300x200',\n videoUrl: 'https://s3.us-gov-west-1.amazonaws.com/resources.readyone.net/demos/ACE+Videos/System+Architecture+and+Modeling+%26+Simulation.mp4',\n },\n {\n id: 8,\n title: 'ReadyOne Test Management: Streamlining Quality Assurance',\n description: 'Discover how ReadyOne Test Management transforms the quality assurance process. This demo highlights powerful features for organizing test cases, automating test execution, and generating insightful reports. Learn how centralized test management drives efficiency, ensures comprehensive coverage, and accelerates issue resolution—empowering teams to deliver reliable, high-quality products faster.',\n thumbnail: 'https://via.placeholder.com/300x200',\n videoUrl: 'https://s3.us-gov-west-1.amazonaws.com/resources.readyone.net/demos/ACE+Videos/Test+Management.mp4',\n },\n // Add more video objects as needed\n];\n\nconst VideoFeedPage = () => {\n return (\n <div>\n\n <VideoFeed videos={mockVideos} />\n </div>\n );\n};\n\nexport default VideoFeedPage;","import React, { useContext, useEffect } from \"react\";\nimport { Layout, Background, ToastProvider } from \"./layout\";\nimport { AccountContext, Login } from \"./auth\";\nimport {\n Applications,\n HowTo,\n RequestForm,\n PTBPage,\n DemoPage,\n Dashboards,\n FileUpload,\n Information\n} from \"./pages\";\nimport { BrowserRouter as Router, Routes, Route } from \"react-router-dom\";\n\nfunction App() {\n const { authenticated } = useContext(AccountContext);\n\n return (\n <div className=\"App\">\n <Router>\n {authenticated ? (\n <ToastProvider>\n <Layout>\n <Routes>\n <Route path=\"/\" element={<Applications />} />\n <Route exact path=\"/Applications\" element={<Applications />} />\n <Route exact path=\"/How-To-Resources\" element={<HowTo />} />\n <Route exact path=\"/Request-Form\" element={<RequestForm />} />\n <Route path=\"/Demo\" exact element={<DemoPage />} />\n <Route path=\"/ptb-challenge\" exact element={<PTBPage />} />\n <Route path=\"/Dashboards\" exact element={<Dashboards />} />\n </Routes>\n </Layout>\n </ToastProvider>\n ) : (\n <>\n <div>\n <Routes>\n <Route path=\"/information\" exact element={<Information />} />\n <Route path=\"/ptb-challenge\" exact element={<PTBPage />} />\n <Route path=\"/upload\" exact element={<FileUpload />} />\n <Route path=\"*\" exact element={<Login />} />\n </Routes>\n <Background />\n </div>\n </>\n )}\n </Router>\n </div>\n );\n}\n\nexport default App;\n","const reportWebVitals = (onPerfEntry) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import(\"web-vitals\").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport App from \"./App\";\nimport reportWebVitals from \"./reportWebVitals\";\nimport { Account } from \"./auth/\";\n\nReactDOM.render(\n <React.StrictMode>\n <Account>\n <App />\n </Account>\n </React.StrictMode>,\n document.getElementById(\"root\")\n);\n\nreportWebVitals();\n"],"sourceRoot":""}