{"version":3,"sources":["Utills.js","components/CustomModal.jsx","_metronic/_assets/js/components/offcanvas.js","app/BasePage.js","app/modules/Auth/pages/Login.jsx","app/modules/Auth/pages/Registration.jsx","app/modules/Auth/pages/ForgotPassword.jsx","app/modules/Auth/pages/LoginAdmin.jsx","app/modules/Auth/pages/AuthPage.jsx","app/modules/ErrorsExamples/ErrorPage1.js","app/pages/Teachers/Students/StudentDetail.jsx","_metronic/layout/components/header/HeaderHome.js","app/pages/TermsConditions.jsx","app/pages/NewHome.jsx","app/Routes.js","app/App.js","firebase-config.js","index.js","axios.js","components/Snackbar.jsx","components/Alert.jsx","components/Pagination.jsx","components/FileUpload/UploadResultItem.jsx","components/FileUpload/UploadResult.jsx","components/FileUpload/FileUpload.jsx","components/SearchBar/SearchBar.jsx","components/QrCode/QrCode.jsx","components/PdfViewer.jsx","components/index.js","_metronic/_helpers/AssetsHelpers.js","_metronic/layout/_core/MetronicSubheader.js","redux/models/books.js","history.js","redux/models/auth.js","redux/models/activities.js","redux/models/crud.js","redux/models/extra-content.js","redux/models/teachers.js","redux/models/groups.js","redux/models/students.js","redux/models/grades.js","redux/models/tasks.js","redux/models/userData.js","redux/models/activities-v2.js","redux/models/edition-printings.js","redux/models/viewFiles.js","redux/models/ed-systems.js","redux/models/campuses.js","redux/models/maintenance.js","redux/store.js","_metronic/_assets/js/components/cookie.js","_metronic/i18n/Metronici18n.js","_metronic/i18n/index.js","_metronic/_assets/js/components/util.js","redux/models/ui.js","components/SearchBar/SearchBar.module.scss","_metronic/layout/_core/LayoutConfig.js","_metronic/layout/components/header-mobile/HeaderMobile.js","_metronic/_assets/js/components/menu.js","_metronic/_assets/js/components/toggle.js","_metronic/layout/components/extras/offcanvas/QuickUser.js","_metronic/layout/components/extras/ScrollTop.js","_metronic/_partials/controls/Card.js","_metronic/_partials/controls/AnimateLoading.js","_metronic/_partials/controls/Notice.js","_metronic/_partials/controls/index.js","_metronic/_assets/js/layout/base/header.js","_metronic/_assets/js/layout/base/header-menu.js","_metronic/_assets/js/layout/base/header-topbar.js","_metronic/_assets/js/layout/base/brand.js","_metronic/_assets/js/layout/base/aside-menu.js","_metronic/_assets/js/layout/base/aside.js","_metronic/_assets/js/layout/base/subheader.js","_metronic/_assets/js/layout/base/sticky-card.js","_metronic/_assets/js/layout/base/aside-toggle.js","_metronic/_assets/js/layout/base/footer.js","_metronic/_assets/js/layout/base/content.js","_metronic/_assets/js/layout/extended/scrolltop.js","_metronic/_assets/js/layout/base/stretched-card.js","_metronic/_assets/js/layout/extended/quick-panel.js","_metronic/_assets/js/layout/extended/quick-user.js","_metronic/layout/components/LayoutInit.js","_metronic/layout/components/extras/dropdowns/search/SearchResult.js","_metronic/layout/components/extras/dropdowns/search/SearchDropdown.js","_metronic/layout/components/extras/dropdowns/UserNotificationsDropdown.js","_metronic/layout/components/extras/dropdowns/QuickActionsDropdown.js","_metronic/layout/components/extras/dropdowns/MyCartDropdown.js","_metronic/layout/components/extras/dropdowns/LanguageSelectorDropdown.js","_metronic/layout/components/extras/dropdowns/UserProfileDropdown.js","_metronic/layout/components/extras/QuiclUserToggler.js","_metronic/layout/components/header/Topbar.js","_metronic/layout/components/subheader/components/QuickActions.js","_metronic/layout/components/subheader/components/BreadCrumbs.js","_metronic/layout/components/subheader/SubHeader.js","_metronic/layout/components/header/header-menu/HeaderMenu.js","_metronic/layout/components/header/header-menu/HeaderMenuWrapper.js","components/DetailThumbnail/DetailThumbnail.module.scss","components/PrivateRoute.jsx","_metronic/layout/_core/HTMLClassService.js","_metronic/layout/_core/MetronicLayout.js","hooks/useMounted.js","hooks/index.js","app/pages/Students/AddBook.jsx","components/DetailThumbnail/DetailThumbnail.jsx","constants/statuses.js","constants/firebaseErrors.js","constants/codeTypes.js","constants/activityTypes.js","constants/partials.js","constants/contentType.js","constants/zones.js","constants/index.js","app/pages/Students/AddGroup.jsx","app/pages/Groups/Form.jsx","hooks/useTable.js","_metronic/_assets/js/components/card.js","_metronic/_assets/js/components/scrolltop.js","_metronic/_helpers/RouterHelpers.js","_metronic/_helpers/TablePaginationHelpers.js","_metronic/_helpers/index.js","_metronic/layout/components/header/Header.js","_metronic/layout/components/brand/Brand.js","_metronic/layout/components/aside/aside-menu/AsideMenuList.js","_metronic/layout/components/aside/aside-menu/AsideMenu.js","_metronic/layout/components/aside/Aside.js","_metronic/layout/components/Layout.js","_metronic/layout/components/content/Content.js","_metronic/layout/components/content/ContentRoute.js","_metronic/layout/_core/MetronicSplashScreen.js","_metronic/layout/_core/MaterialThemeProvider.js","_metronic/layout/index.js","_metronic/_partials/dropdowns/DropdownMenu1.js","_metronic/_partials/dropdowns/DropdownCustomToggler.js","_metronic/_partials/dropdowns/DropdownTopbarItemToggler.js","_metronic/_partials/dropdowns/index.js"],"names":["Utils","str","split","reduce","prev","curr","param","decodeURIComponent","bytes","decimals","k","dm","sizes","i","Math","floor","log","parseFloat","pow","toFixed","userRole","role","roles","name","date","d","Date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getMinutes","localdate","getFullYear","getMonth","getDate","getHours","toLocaleDateString","timeZone","process","replace","toLocaleTimeString","toLocaleString","decryptedValue","AES","decrypt","toString","enc","Utf8","error","onTime","deliveryDate","moment","now","console","format","CustomModal","open","handleClose","title","subtitle","children","className","closeAfterTransition","in","variant","square","type","aria-label","size","color","onClick","e","defaultProps","React","memo","module","exports","KTOffcanvas","elementId","options","the","this","element","KTUtil","getById","body","getBody","defaultOptions","attrCustom","Plugin","construct","data","has","get","init","build","set","events","deepExtend","classBase","baseClass","classShown","classOverlay","target","state","hasClass","toggleBy","addEvent","preventDefault","toggle","closeBy","hide","isShown","eventTrigger","show","toggleClass","attr","addClass","length","classCustom","overlay","insertAfter","document","createElement","removeAttr","removeClass","remove","mode","id","el","args","event","one","handler","call","fired","push","setDefaults","on","apply","SuperAdminHome","lazy","TeachersHome","StudentGroups","PublishersHome","GroupsPage","BooksViewer","ActivitiesListV2","DiagnosticList","PublishersBooksPage","PublishersTeachersPage","TeachersQrApp","PublishersActivitiesPage","PublishersEdSystemsPage","PublishersExtraContentPage","TeachersTasksPage","TeachersStudentsPage","TeachersReportsPage","StudentTasks","StudentsHome","StudentsExtraContent","EditionPrintings","UserDetail","SuperAdminEditionPrintingDetail","ToolStudents","SchoolCycle","Maintenance","BasePage","auth","useSelector","user","useUser","dispatch","useDispatch","firebase","useFirebaseApp","useEffect","isPublisher","isAdmin","isSuperAdmin","isWriter","HTTP","interceptors","response","use","status","signOut","signout","Promise","reject","request","a","updatedReq","getIdToken","t","headers","authentication","ui","fetchBootstrapData","fallback","utils","DateFnsUtils","locale","esLocale","from","exact","to","isTeacher","isStudent","PrivateRoute","permit","path","component","LoginSchema","Yup","shape","email","required","password","maintenance","message","useState","showPassword","setShowPassword","getInputClasses","fieldname","formik","touched","errors","useFormik","validationSchema","initialValues","onSubmit","values","setStatus","setSubmitting","emailVerified","signin","signInWithEmailAndPassword","then","res","catch","signinFailed","firebaseErrors","code","handleClickShowPassword","handleMouseDownPassword","sendEmailValidation","languageCode","sendEmailVerification","openSnackbar","snackbarTypes","success","getMaintenance","handleSubmit","placeholder","getFieldProps","FilledInput","style","height","disableUnderline","endAdornment","InputAdornment","position","IconButton","onMouseDown","edge","disabled","statuses","waiting","FORBIDDEN_DOMAINS","lastname","lastname2","changepassword","RegistrationSchema","test","val","some","includes","when","is","oneOf","props","loading","setLoading","submitted","setSubmitted","showPassword2","setShowPassword2","createUserWithEmailAndPassword","userToken","updateProfile","displayName","lastName","method","url","lastName2","payload","display","isSubmitting","ForgotPasswordSchema","isRequested","setIsRequested","sendPasswordResetEmail","AuthPage","backgroundImage","toAbsoluteUrl","alt","src","Login","Registration","ForgotPassword","LoginAdmin","ErrorPage1","fontSize","useStyles","makeStyles","theme","root","width","maxHeight","maxWidth","backgroundColor","palette","background","paper","overflow","nested","paddingLeft","spacing","StudentDetail","classes","groups","setGroups","getData","Typography","student","group","campus","List","map","sg","ListItem","ListItemText","primary","groupName","secondary","groupId","professor","edition","styles","box","paddingTop","uiService","useHtmlClassService","layoutProps","useMemo","headerLogo","getStickyLogo","headerClasses","getClasses","headerAttributes","getAttributes","headerContainerClasses","menuHeaderDisplay","objectPath","config","HeaderMenuWrapper","Topbar","TermsConditions","showButton","acceptTerms","patch","acceptTermConditions","terms","Button","userNameAndLastNameSchema","object","string","NewHome","userFirebase","termsConditions","st","userData","books","addBook","setAddBook","groupModal","setGroupModal","studentEmailSearch","studentDataModal","setStudentDataModal","setImg","setUserPreferences","editionId","bookName","setSelectedEdition","setSelectedGroup","setSelectedGroupName","setSelectedBookName","viewFiles","getUser","getUserBooks","getUserGroups","userId","getTeacherGroups","teacherId","results","groupImg","useCallback","setFieldError","put","userInfo","updateUserName","bullet","margin","transform","pos","marginBottom","flex","flexWrap","justifyContent","card","boxShadow","cardTeacher","borderRadius","cardnobook","titleTeacher","titleFontTeacher","marginLeft","titleFont2","letter","media","titleBox","titleFont","textAlign","button","layoutConfig","selfLayout","subheaderDisplay","desktopHeaderDisplay","contentCssClasses","contentContainerClasses","contentExtended","HeaderMobile","SubHeader","setTermsConditions","enableReinitialize","actions","dirty","TextField","fullWidth","label","helperText","closeModal","startIcon","Card","CardMedia","image","book","key","cover","CardContent","editionName","bookCode","CardActions","handleCloseModal","CircularProgress","bookInfo","totalStudents","QuickUser","ScrollTop","LayoutInit","Routes","location","useLocation","isAuthorized","shallowEqual","selectedGroup","onAuthStateChanged","fetchUserData","setEmailVerification","pathname","App","store","basename","Suspense","Fab","class","href","rel","firebaseConfig","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","CKEDITOR_OPTIONS","language","toolbar","shouldNotGroupWhenFull","items","ReactDOM","render","getElementById","axios","create","baseURL","window","reload","UISnackbar","sbar","snackbar","reason","closeSnackbar","Snackbar","disableWindowBlurListener","anchorOrigin","vertical","horizontal","autoHideDuration","onClose","SnackbarContent","Icon","info","Alert","cancelTxt","acceptTxt","Dialog","aria-labelledby","aria-describedby","DialogTitle","DialogContent","DialogContentText","DialogActions","autoFocus","totalPages","currentPage","onChangePage","ButtonGroup","pagesQuantity","setPages","page","setCurrentPage","FileUploadResultItem","onDelete","bytesToSize","css","FileUploadResult","grey","padding","files","file","multiple","fileItem","FileUpload","flexDirection","alignItems","cursor","border","fontWeight","opacity","left","top","zIndex","forwardRef","ref","accept","fileChange","uploading","disableResult","setFiles","setFile","setSize","htmlFor","disableShrink","onInput","filesList","totalSize","overSizedFiles","forEach","fileSize","Object","setFilesResultHandler","value","fileName","updatedFiles","filter","SearchBar","onSearch","initialValue","search","setSearch","timeout","useRef","handleChange","clearTimeout","current","setTimeout","Paper","InputBase","onChange","QrCode","Qr","includeMargin","renderAs","htmlToImage","quality","dataUrl","link","download","click","pdfjs","GlobalWorkerOptions","workerSrc","version","PdfViewer","pdfUrl","next","pdf","numPages","setNumPages","pageNumber","setPageNumber","scale","setScale","pageSize","setPageSize","fullScreen","setFullScreen","changePage","offset","prevPageNumber","previousPage","nextPage","exitHandler","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","addEventListener","removeEventListener","elem","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","innerHeight","exitFullscreen","min","max","onPassword","f","onLoadSuccess","renderMode","noData","renderAnnotationLayer","renderTextLayer","getBreadcrumbsAndTitle","menuId","pathName","result","breadcrumbs","menu","activeLinks","Array","getElementsByClassName","tagName","titleSpans","titleSpan","find","innerHTML","breadCrumbs","item","b","getTitle","SubheaderContext","createContext","useSubheader","useContext","Consumer","MetronicSubheaderProvider","setTitle","setBreadcrumbs","Provider","itemsList","teachersBooks","description","author","pagination","totalItems","reducers","createUpdate","createUpdateSuccess","received","createUpdateFailed","failed","fetchItems","fetchItemsSuccess","ceil","ITEMS_PER_PAGE","fetchItemsFailed","appHistory","createBrowserHistory","aws","infoUser","token","register","registerSuccess","registerFailed","signinSuccess","effects","resultRoles","acc","AWS","region","credentials","CognitoIdentityCredentials","IdentityPoolId","RoleArn","REACT_AWS_ROLE_ARN","RoleSessionName","REACT_AWS_ROLE_SESSION_NAME","Logins","cognitoidentity","CognitoIdentity","parms1","getId","promise","IdentityId","parms2","getCredentialsForIdentity","Credentials","AccessKeyId","SecretKey","SessionToken","activities","snapshot","empty","docs","doc","Respuesta","encrypt","ordeeredActivities","Actividad","Name","NameA","Pagina","Tipo","Libro","arr","findIndex","sort","crud","params","crudId","urlParams","keys","join","msg","afterFuncSuccess","afterFuncFailed","errorMessage","delete","listParams","listPath","extraContent","totalObjects","setEdition","teachers","students","alumnos","allEmails","searchAlumno","Grupos","getSortAlumnos","fetchAllEmails","fetchAllEmailsSuccess","fetchAllEmailsFailed","setStudentForSearch","alumno","textSearch","setStudentForSearchFinish","fetchGroupsOfStudentById","fetchGroupsOfStudentByIdSuccess","fetchGroupsOfStudentByIdFailed","deleteStudentOfGroup","deleteStudentOfGroupSuccess","grupo","deleteStudentOfGroupFailed","resultCount","divider","round","totalResults","emails","roleUser","trim","warn","stGroupId","grades","activites","tasks","average","grade","task","allow","allowTask","groupTasks","userTasks","userActivities","scheduledActivities","Examenes","TareasPendientes","Actividades","Diagnosticos","getUserBooksSuccess","getUserBooksFailed","getUserGroupsSuccess","getUserGroupsFailed","getGroupTasks","getGroupTasksSuccess","getGroupTasksFailed","getUserTasks","getUserTasksSuccess","getUserTasksFailed","getUserActivities","getUserActivitiesSuccess","getUserActivitiesFailed","getScheduledActivities","getScheduledActivitiesSuccess","getScheduledActivitiesFailed","getTareasPendientes","getTareasPendientesFailed","getTareasPendientesSuccess","getActivitiesPendientes","getActivitiesPendientesSucess","getActivitiesPendientesFailed","getDiagnosticosPendientes","getDiagnosticosPendientesSucess","getDiagnosticosPendientesFailed","getExamenesPendientes","getExamenesPendientesSuccess","getExamenesPendientesFailed","pathWeb","bookData","pathWebS3","editionPrintingData","professorId","all","studentAmount","userGroups","finalData","S3Url","documentPath","documentPathS3","taskId","taskName","filesUrls","fileUrlS3","S3url","S3Urls","finalRes","activitiesV2","activityType","fetchActivityType","fetchActivities","fetchActivitiesSuccess","fetchActivitiesFailed","filteredItems","Items","Body","edPrintings","editionPrintings","fetchEditionPrintings","fetchEditionPrintingsSuccess","fetchEditionPrintingsFailed","codeType","dataHomework","idUser","userHomeworks","checkedtTasks","previewFile","backToNotChecked","backButton","getInfo","getPosition","getCheckedTasks","setPreviewFile","backToNotCheckedTasks","backButtonCheck","getAlumnoFile","homeworkId","getAlumnoHomeworks","userGroup","getHomeworks","edSystems","campuses","getMaintenanceSuccess","getMaintenanceFailed","maintenace","setMaintenance","setMaintenanceSuccess","setMaintenanceFailed","Error","redux","rootReducers","RESET_APP","devtoolOptions","models","KTCookie","getCookie","matches","cookie","match","RegExp","undefined","setCookie","assign","expires","toUTCString","updatedCookie","encodeURIComponent","optionKey","hasOwnProperty","optionValue","deleteCookie","I18N_CONFIG_KEY","REACT_APP_I18N_CONFIG_KEY","initialState","selectedLang","getConfig","ls","localStorage","getItem","JSON","parse","er","setLanguage","lang","setItem","stringify","I18nContext","useLang","MetronicI18nProvider","Element","prototype","msMatchesSelector","webkitMatchesSelector","closest","s","ancestor","documentElement","contains","parentElement","parentNode","removeChild","lastTime","vendors","x","requestAnimationFrame","cancelAnimationFrame","callback","currTime","getTime","timeToCall","Document","DocumentFragment","defineProperty","configurable","enumerable","writable","argArr","slice","arguments","docFrag","createDocumentFragment","argItem","isNode","Node","appendChild","createTextNode","String","insertBefore","firstChild","KTUtilElementDataStore","KTUtilElementDataStoreID","KTUtilDelegatedEventHandlers","resizeHandlers","breakpoints","sm","md","lg","xl","_windowResizeHandler","throttle","timer","_runResizeHandlers","settings","addResizeHandler","removeResizeHandler","runResizeHandlers","resize","Event","dispatchEvent","evt","createEvent","initUIEvent","getURLParam","paramName","substring","unescape","isMobileDevice","getViewPort","getBreakpoint","navigator","userAgent","isDesktopDevice","isInResponsiveRange","breakpoint","isBreakpointUp","isBreakpointDown","getUniqueID","prefix","random","isset","obj","stone","indexOf","shift","getHighestZindex","parseInt","isNaN","hasFixedPositionedParent","sleep","milliseconds","start","getRandomInt","isAngularVersion","Zone","out","extend","getByTag","query","getElementsByTagName","getByTagName","getByClass","hasClasses","classesArr","classList","classNames","add","triggerCustomEvent","eventName","CustomEvent","detail","initCustomEvent","triggerEvent","node","ownerDocument","nodeType","eventClass","bubbles","initEvent","synthetic","fireEvent","createEventObject","index","c","eventTriggered","currentTarget","dataset","triggered","parent","querySelector","findAll","querySelectorAll","referenceNode","nextSibling","parents","selector","matchesSelector","mozMatchesSelector","oMatchesSelector","childNodes","l","child","p","customDataTag","outerWidth","offsetWidth","rect","win","getClientRects","getBoundingClientRect","defaultView","pageYOffset","pageXOffset","outerHeight","withMargic","offsetHeight","getComputedStyle","marginTop","visible","getAttribute","setAttribute","hasAttr","removeAttribute","animate","duration","update","easing","done","easings","linear","rAF","change","performance","loop","timestamp","time","actualCss","prop","cache","HTMLElement","cssText","actualHeight","actualWidth","getScroll","self","browserSupportsBoxModel","styleProp","toLowerCase","getPropertyValue","currentStyle","toUpperCase","oldLeft","oldRsLeft","runtimeStyle","pixelLeft","slide","dir","speed","recalcMaxHeight","calcHeight","calcPaddingTop","calcPaddingBottom","paddingBottom","slideUp","slideDown","removeEvent","eventId","targets","j","off","callee","hash","charCodeAt","animateClass","animationName","animation","animations","OAnimation","MozAnimation","WebkitAnimation","msAnimation","transitionEnd","transition","transitions","OTransition","MozTransition","WebkitTransition","msTransition","animationEnd","animateDelay","animateDuration","scrollTo","targetPos","scrollPos","scrollTop","isArray","ready","attachEvent","readyState","isEmpty","numberString","nStr","x1","x2","rgx","detectIE","ua","msie","rv","isRTL","html","scrollInit","wheelSpeed","swipeEasing","wheelPropagation","minScrollbarLength","maxScrollbarLength","suppressScrollX","handleWindowResize","ps","attrs","getAttributeNames","attrName","optionName","filterBoolean","Function","mobileHeight","mobileNativeScroll","disableForMobile","desktopNativeScroll","windowScroll","PerfectScrollbar","uid","rememberPosition","resetHeightOnDestroy","destroy","scrollDestroy","scrollUpdate","scrollUpdateAll","scrollers","len","resetAll","setProperty","setHTML","getHTML","getDocumentHeight","scrollHeight","clientHeight","getScrollTop","scrollingElement","colorDarken","amount","subtractLight","cc","colorLighten","addLight","func","delay","debounce","btnWait","cls","disable","caption","btnRelease","isOffscreen","direction","windowWidth","windowHeight","KTAppSettings","onload","bootstrapData","selectedGroupName","selectedEdition","selectedEditionType","selectedBookName","schoolCycles","setSelectedEditionType","fetchBootstrapDataSuccess","fetchBootstrapDataFailed","fetchSchoolCycles","fetchSchoolCyclesSuccess","fetchSchoolCyclesFailed","createNewCycle","promises","super_admin","admin","Editor","Maestro","Estudiante","finalResponse","rolesData","educationSystems","editions","cycles","resp","year","post","getInitLayoutConfig","demo","js","xxl","colors","base","light","inverse","gray","fontFamily","loader","enabled","logo","header","fixed","desktop","mobile","layout","arrow","submenu","accordion","subheader","displayDesc","displayDaterangepicker","clear","content","brand","aside","minimize","default","hoverable","footer","dropdown","scroll","extras","offcanvas","notifications","directions","languages","cart","chat","scrolltop","asideDisplay","headerMenuSelfDisplay","headerMobileCssClasses","headerMobileAttributes","getSubmenuMode","hideDropdowns","KTMenu","slideSpeed","autoScroll","autoScrollSpeed","expandAll","reset","eventHandlers","pauseDropdownHoverTime","resetSubmenuProps","handleSubmenuAccordion","isConditionalSubmenuDropdown","handleSubmenuDrodownHoverEnter","handleSubmenuDrodownHoverExit","handleSubmenuDropdownClick","handleSubmenuDropdownTabClick","handleLinkClick","tablet","submenus","hasAttribute","resumeDropdownHover","showSubmenuDropdown","hideSubmenuDropdown","hideSubmenuDropdowns","handleSubmenuDropdownClose","shown","li","subnav","closables","el_","submenu_","scrollToItem","classAlso","cnt","list","createSubmenuDropdownClickDropoff","dropoff","stopPropagation","pauseDropdownHover","resetActiveItem","i_","len_","setActiveItem","getBreadcrumbs","text","submenuLink","reverse","getPageTitle","scrollReInit","hideDropdown","KTToggle","targetToggleMode","targetState","toggleState","toggleOn","toggleOff","getState","inputValue","setInputValue","lastNameValue","setLastNameValue","lastNameValue2","setLastNameValue2","logout","upadateUsername","CardHeaderTitle","clsx","icon","sticky","labelRef","setTop","setWindowHeight","handleResize","innerWidth","headerElement","subheaderElement","headerMobileElement","nextMarginTop","isFragment","fit","fluid","fluidHeight","AnimateLoading","routeChanged","nextProps","scrollToTop","scrollToTopBtn","animateTimeout","setState","stopAnimate","animateInterval","stopAnimateTimeout","ProgressBar","Component","withRouter","svg","iconRef","textRef","iconWrapperRef","KTLayoutHeader","_element","_elementForMobile","idForMobile","isFixed","isFixedForMobile","getElement","getElementForMobile","getHeader","getHeight","_getHeight","getHeightForMobile","KTLayoutHeaderMenu","_menuElement","_menuObject","_offcanvasElement","_offcanvasObject","offcanvasId","getMenuElement","getOffcanvasElement","getMenu","getOffcanvas","closeMobileOffcanvas","KTLayoutHeaderTopbar","_toggleElement","getToggleElement","KTLayoutBrand","KTLayoutAsideMenu","menuDesktopMode","KTLayoutAside","isMinimized","isHoverable","_init","_body","insideTm","outsideTm","offcanvasClass","KTLayoutSubheader","KTLayoutStickyCard","_object","KTCard","right","cardWidth","initSticky","updateSticky","KTLayoutAsideToggle","_toggleObject","getToggle","onToggle","KTLayoutFooter","KTLayoutContent","KTLayoutScrolltop","KTScrolltop","KTLayoutStretchedCard","cardBody","cardHeader","KTLayoutQuickPanel","_notificationsElement","_logsElement","_settingsElement","_getContentHeight","placement","KTLayoutQuickUser","useLayoutEffect","perfectScrollbarOptions","SearchResult","fakeData","iconImage","iconClassName","SearchDropdown","timeoutId","setData","searchValue","setSearchValue","Dropdown","alignRight","drop","Toggle","as","DropdownTopbarItemToggler","OverlayTrigger","Tooltip","Menu","UserNotificationsDropdown","setKey","bgImage","Tab","Container","defaultActiveKey","Nav","onSelect","_key","Item","Link","eventKey","Content","Pane","QuickActionsDropdown","MyCartDropdown","flag","LanguageSelectorDropdown","currentLanguage","active","UserProfileDropdown","fullname","QuickUserToggler","viewSearchDisplay","viewNotificationsDisplay","viewQuickActionsDisplay","viewCartDisplay","viewQuickPanelDisplay","viewLanguagesDisplay","viewUserDisplay","data-toggle","data-placement","QuickActionsDropdownToggle","QuickActions","BreadCrumbs","subheaderMobileToggle","subheaderCssClasses","subheaderContainerCssClasses","HeaderMenu","getMenuItemActive","checkIsActive","ktMenuClasses","headerMenuAttributes","ulClasses","rootArrowEnabled","data-menu-toggle","menuDesktopToggle","aria-haspopup","headerSelfTheme","disabledAsideSelfDisplay","getHeaderLogo","rest","HtmlClassService","preInit","header_container","header_mobile","header_menu","aside_menu","subheader_container","content_container","footer_container","attributes","initLayout","initLoader","initHeader","initSubheader","initContent","initAside","initFooter","initTheme","updatedConfig","headerSelfFixedDesktop","getLogo","selfBodyBackgroundImage","_selfBodyClass","cssClass","headerMenuSelfLayout","headerMenuLayoutCssClass","subheaderFixed","subheaderStyle","subheaderClass","asideSelfDisplay","asideMenuDropdown","asideSubmenuDHoverTimeout","brandSelfTheme","LAYOUT_CONFIG_KEY","REACT_APP_LAYOUT_CONFIG_KEY","HtmlClassServiceContext","MetronicLayoutProvider","lc","hcs","service","setConfig","useMounted","isMounted","setIsMounted","StudentAddBook","setValue","qrReader","setQrReader","sendBookCode","toggleQrCode","onError","err","onScan","DetailThumbnail","img","editable","setImage","URL","createObjectURL","codeTypes","activityTypes","partials","contentType","zones","StudentAddGroup","groupsSchema","periodId","campusId","GroupsForm","useParams","history","useHistory","setGroup","alert","setAlert","cycle","setCurrentCycle","setClose","teacher","campusData","nanoid","teacherName","teacherMail","groupCode","onCreate","setVal","fetchData","r","found","setFieldValue","inputProps","maxLength","openAlert","useTable","disableFetch","tState","setTableState","mounted","setParam","changeSort","neworderType","orderType","refetch","toggleSpeed","releseOnReverse","onScrollSticky","resetSticky","setContent","getSelf","expand","collapse","destroySticky","handle","getCurrentUrl","getPagesCount","sizePerPage","getPages","pagesCount","paginationSize","shiftCount","brandClasses","asideSelfMinimizeToggle","headerStickyLogo","hasSubmenu","disableScroll","asideMenuAttr","asideClassesFromConfig","data-menu-vertical","disableAsideSelfDisplay","Layout","useRouteMatch","cssClassesState","setCssClassesState","fullClasses","startAnimation","timeOutId","ContentRoute","routeProps","MetronicSplashScreenContext","MetronicSplashScreenProvider","count","setCount","splashScreen","LayoutSplashScreen","createMuiTheme","typography","main","MuiButtonBase","disableRipple","MuiPopover","elevation","MaterialThemeProvider","ThemeProvider","DropdownMenu1"],"mappings":"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","file":"static/js/main.6c239ae6.chunk.js","sourcesContent":["import { AES, enc } from \"crypto-js\";\nimport moment from 'moment-timezone';\n\nexport class Utils {\n static mapUrlParams(str) {\n return str.split(\"&\").reduce((prev, curr) => {\n const param = curr.split(\"=\");\n // eslint-disable-next-line no-param-reassign\n prev[decodeURIComponent(param[0])] = decodeURIComponent(param[1]);\n return prev;\n }, {});\n }\n\n static bytesToSize(bytes, decimals = 2) {\n if (bytes === 0) return \"0 Bytes\";\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n // eslint-disable-next-line no-restricted-properties\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;\n }\n\n static validateUserPermissions(userRole, role) {\n return userRole === role;\n }\n\n static isTeacher(role, roles) {\n return role === roles[\"Maestro\"].name;\n }\n\n static isPublisher(role, roles) {\n return role === roles[\"Editor\"].name;\n }\n\n static isStudent(role, roles) {\n return role === roles[\"Estudiante\"].name;\n }\n\n static isSuperAdmin(role, roles) {\n return role === roles[\"super_admin\"].name;\n }\n\n static isAdmin(role, roles) {\n return role === roles[\"admin\"].name;\n }\n\n static isWriter(role, roles) {\n return role === roles[\"Escritor\"].name;\n }\n\n static utcDate(date) {\n const d = new Date(date);\n // return new Date(`${d.getUTCMonth() + 1}-${d.getUTCDate()}-${d.getUTCFullYear()}`);\n // return new Date(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours() - 5, d.getMinutes());\n return new Date(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours(), d.getMinutes());\n }\n static localDate(localdate) {\n const d = new Date(localdate);\n\n return new Date(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes());\n }\n\n static localDateString(localdate) {\n const secondsRegex = /:00 /\n return new Date(localdate).toLocaleDateString('en-US', {timeZone: process.env.REACT_APP_TIMEZONE}).replace(secondsRegex, ' ');\n }\n\n static localTimeString(localdate) {\n const secondsRegex = /:00 /\n return new Date(localdate).toLocaleTimeString('en-US', {timeZone: process.env.REACT_APP_TIMEZONE}).replace(secondsRegex, ' ');\n }\n\n static localDateTimeString(localdate) {\n const secondsRegex = /:00 /\n return new Date(localdate).toLocaleString('en-US', {timeZone: process.env.REACT_APP_TIMEZONE}).replace(secondsRegex, ' ');\n }\n\n static decStr(str) {\n let decryptedValue = \"\";\n\n try {\n if (str) {\n const bytes = AES.decrypt(str, process.env.REACT_APP_RES_PASS);\n decryptedValue = bytes.toString(enc.Utf8);\n }\n } catch (error) {\n return \"\";\n }\n\n return decryptedValue;\n }\n static onTime = (deliveryDate) => {\n var date = moment(deliveryDate);\n var now = moment();\n console.log (\"fecha actual: \" + moment(now).format() + \"fecha de entrega:\" + moment(date).format());\n //return moment().tz(process.env.REACT_APP_TIMEZONE) < moment(deliveryDate).add(1, 'days');\n return now < date;\n };\n}\n","import React from \"react\";\nimport { Modal, Paper, IconButton } from \"@material-ui/core\";\nimport PropTypes from \"prop-types\";\nimport { Fade } from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\n\nconst CustomModal = ({ open, handleClose, title, subtitle, children }) => {\n return (\n \n \n \n
\n
\n

{title}

\n {subtitle &&

{subtitle}

}\n
\n\n handleClose()}\n >\n \n \n
\n\n {children}\n \n
\n
\n );\n};\n\nCustomModal.propTypes = {\n open: PropTypes.bool,\n handleClose: PropTypes.func,\n title: PropTypes.string,\n subtitle: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n ]),\n};\n\nCustomModal.defaultProps = {\n open: false,\n handleClose: () => null,\n title: \"\",\n subtitle: \"\",\n children: null,\n};\n\nexport default React.memo(CustomModal);\n","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTOffcanvas = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n attrCustom: ''\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('offcanvas')) {\r\n the = KTUtil.data(element).get('offcanvas');\r\n } else {\r\n // Reset offcanvas\r\n Plugin.init(options);\r\n\r\n // Build offcanvas\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('offcanvas', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n init: function(options) {\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n the.classBase = the.options.baseClass;\r\n the.attrCustom = the.options.attrCustom;\r\n the.classShown = the.classBase + '-on';\r\n the.classOverlay = the.classBase + '-overlay';\r\n the.target;\r\n\r\n the.state = KTUtil.hasClass(element, the.classShown) ? 'shown' : 'hidden';\r\n },\r\n\r\n build: function() {\r\n // offcanvas toggle\r\n if (the.options.toggleBy) {\r\n if (typeof the.options.toggleBy === 'string') {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n } else if (the.options.toggleBy && the.options.toggleBy[0]) {\r\n if (the.options.toggleBy[0].target) {\r\n for (var i in the.options.toggleBy) {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy[i].target), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n } else {\r\n for (var i in the.options.toggleBy) {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy[i]), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n }\r\n\r\n } else if (the.options.toggleBy && the.options.toggleBy.target) {\r\n KTUtil.addEvent( KTUtil.getById(the.options.toggleBy.target), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n }\r\n\r\n // offcanvas close\r\n var closeBy = KTUtil.getById(the.options.closeBy);\r\n if (closeBy) {\r\n KTUtil.addEvent(closeBy, 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.hide();\r\n });\r\n }\r\n },\r\n\r\n isShown: function() {\r\n return (the.state == 'shown' ? true : false);\r\n },\r\n\r\n toggle: function() {;\r\n Plugin.eventTrigger('toggle');\r\n\r\n if (the.state == 'shown') {\r\n Plugin.hide();\r\n } else {\r\n Plugin.show();\r\n }\r\n },\r\n\r\n show: function() {\r\n if (the.state == 'shown') {\r\n return;\r\n }\r\n\r\n Plugin.eventTrigger('beforeShow');\r\n\r\n Plugin.toggleClass('show');\r\n\r\n // Offcanvas panel\r\n KTUtil.attr(body, 'data-offcanvas-' + the.classBase, 'on');\r\n KTUtil.addClass(element, the.classShown);\r\n\r\n if (the.attrCustom.length > 0) {\r\n KTUtil.attr(body, 'data-offcanvas-' + the.classCustom, 'on');\r\n //KTUtil.addClass(body, the.classCustom);\r\n }\r\n\r\n the.state = 'shown';\r\n\r\n if (the.options.overlay) {\r\n the.overlay = KTUtil.insertAfter(document.createElement('DIV') , element );\r\n KTUtil.addClass(the.overlay, the.classOverlay);\r\n\r\n KTUtil.addEvent(the.overlay, 'click', function(e) {\r\n //e.stopPropagation();\r\n e.preventDefault();\r\n Plugin.hide(the.target);\r\n });\r\n }\r\n\r\n Plugin.eventTrigger('afterShow');\r\n },\r\n\r\n hide: function() {\r\n if (the.state == 'hidden') {\r\n return;\r\n }\r\n\r\n Plugin.eventTrigger('beforeHide');\r\n\r\n Plugin.toggleClass('hide');\r\n\r\n KTUtil.removeAttr(body, 'data-offcanvas-' + the.classBase);\r\n KTUtil.removeClass(element, the.classShown);\r\n\r\n if (the.attrCustom.length > 0) {\r\n KTUtil.removeAttr(body, 'data-offcanvas-' + the.attrCustom);\r\n }\r\n\r\n the.state = 'hidden';\r\n\r\n if (the.options.overlay && the.overlay) {\r\n KTUtil.remove(the.overlay);\r\n }\r\n\r\n Plugin.eventTrigger('afterHide');\r\n },\r\n\r\n toggleClass: function(mode) {\r\n var id = KTUtil.attr(the.target, 'id');\r\n var toggleBy;\r\n\r\n if (the.options.toggleBy && the.options.toggleBy[0] && the.options.toggleBy[0].target) {\r\n for (var i in the.options.toggleBy) {\r\n if (the.options.toggleBy[i].target === id) {\r\n toggleBy = the.options.toggleBy[i];\r\n }\r\n }\r\n } else if (the.options.toggleBy && the.options.toggleBy.target) {\r\n toggleBy = the.options.toggleBy;\r\n }\r\n\r\n if (toggleBy) {\r\n var el = KTUtil.getById(toggleBy.target);\r\n\r\n if (mode === 'show') {\r\n KTUtil.addClass(el, toggleBy.state);\r\n }\r\n\r\n if (mode === 'hide') {\r\n KTUtil.removeClass(el, toggleBy.state);\r\n }\r\n }\r\n },\r\n\r\n eventTrigger: function(name, args) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the, args);\r\n }\r\n } else {\r\n return event.handler.call(this, the, args);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n * @param options\r\n */\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Check if canvas is shown\r\n * @returns {boolean}\r\n */\r\n the.isShown = function() {\r\n return Plugin.isShown();\r\n };\r\n\r\n /**\r\n * Set to hide the canvas\r\n */\r\n the.hide = function() {\r\n return Plugin.hide();\r\n };\r\n\r\n /**\r\n * Set to show the canvas\r\n */\r\n the.show = function() {\r\n return Plugin.show();\r\n };\r\n\r\n /**\r\n * Attach event\r\n * @param name\r\n * @param handler\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n * @param name\r\n * @param handler\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTOffcanvas;\r\n}\r\n\nexport default KTOffcanvas;","import React, { Suspense, lazy, useEffect } from \"react\";\r\nimport { Redirect, Switch } from \"react-router-dom\";\r\nimport { LayoutSplashScreen } from \"../_metronic/layout\";\r\nimport PrivateRoute from \"../components/PrivateRoute\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { MuiPickersUtilsProvider } from \"@material-ui/pickers\";\r\nimport esLocale from \"date-fns/locale/es\";\r\nimport { Utils } from \"../Utills\";\r\n\r\nimport DateFnsUtils from \"@date-io/date-fns\";\r\nimport { useFirebaseApp, useUser } from \"reactfire\";\r\nimport HTTP from \"../axios\";\r\n\r\n// homepages\r\n//\r\nconst SuperAdminHome = lazy(() => import(\"./pages/SuperPublisher/Home\"));\r\nconst TeachersHome = lazy(() => import(\"./pages/Teachers/Home\"));\r\nconst StudentGroups = lazy(() => import(\"./pages/Students/Groups\"));\r\nconst PublishersHome = lazy(() => import(\"./pages/Publishers/Home\"));\r\n\r\n// shared pages\r\nconst GroupsPage = lazy(() => import(\"./pages/Groups/Groups\"));\r\nconst BooksViewer = lazy(() => import(\"./pages/Books\"));\r\nconst ActivitiesListV2 = lazy(() => import(\"./pages/ActivitiesListV2\"));\r\nconst DiagnosticList = lazy(() => import(\"./pages/DiagnosticList\"));\r\n\r\n// publishers\r\nconst PublishersBooksPage = lazy(() =>\r\n import(\"./pages/Publishers/Books/Books\")\r\n);\r\nconst PublishersTeachersPage = lazy(() =>\r\n import(\"./pages/Publishers/Teachers/Teachers\")\r\n);\r\nconst TeachersQrApp = lazy(() =>\r\n import(\"./pages/Publishers/QrCounter/TeachersQr\")\r\n);\r\nconst PublishersActivitiesPage = lazy(() =>\r\n import(\"./pages/Publishers/Activities/Activities\")\r\n);\r\nconst PublishersEdSystemsPage = lazy(() =>\r\n import(\"./pages/Publishers/EdSystems/EdSystems\")\r\n);\r\nconst PublishersExtraContentPage = lazy(() =>\r\n import(\"./pages/Publishers/ExtraContent/ExtraContent\")\r\n);\r\n\r\n// teachers\r\nconst TeachersTasksPage = lazy(() => import(\"./pages/Teachers/Tasks/Tasks\"));\r\nconst TeachersStudentsPage = lazy(() =>\r\n import(\"./pages/Teachers/Students/Students\")\r\n);\r\nconst TeachersReportsPage = lazy(() =>\r\n import(\"./pages/Teachers/Students/Reports\")\r\n);\r\n\r\n// students\r\nconst StudentTasks = lazy(() => import(\"./pages/Students/Tasks\"));\r\nconst StudentsHome = lazy(() => import(\"./pages/Students/Home.jsx\"));\r\nconst StudentsExtraContent = lazy(() => import(\"./pages/Students/ExtraContent.jsx\"));\r\n\r\n// Super admin\r\nconst EditionPrintings = lazy(() =>\r\n import(\"./pages/SuperPublisher/EditionPrintings/EditionPrintings\")\r\n);\r\nconst UserDetail = lazy(() =>\r\n import(\"./pages/SuperPublisher/Students/Students\")\r\n);\r\nconst SuperAdminEditionPrintingDetail = lazy(() =>\r\n import(\"./pages/SuperPublisher/EditionPrintingDetail/EditionPrintingDetail\")\r\n);\r\n\r\nconst ToolStudents = lazy( () =>\r\n import(\"./pages/SuperPublisher/Students/ToolStudents\")\r\n);\r\n\r\nconst SchoolCycle = lazy( () =>\r\n import(\"./pages/SuperPublisher/SchoolCycle/SchoolCycle\")\r\n)\r\n\r\nconst Maintenance = lazy( () =>\r\n import(\"./pages/SuperPublisher/Mantenance/Mantenance\")\r\n)\r\nconst UNAUTHORIZED = 401;\r\n\r\nconst BasePage = () => {\r\n const auth = useSelector((state) => state.auth);\r\n const user = useUser();\r\n const dispatch = useDispatch();\r\n const firebase = useFirebaseApp();\r\n\r\n useEffect(() => {\r\n if (\r\n user &&\r\n ( Utils.isPublisher(auth.user.role.name, auth.roles) ||\r\n Utils.isAdmin(auth.user.role.name, auth.roles) ||\r\n Utils.isSuperAdmin(auth.user.role.name, auth.roles) ||\r\n Utils.isWriter(auth.user.role.name, auth.roles)\r\n\r\n )\r\n ) {\r\n HTTP.interceptors.response.use(\r\n (response) => {\r\n if (process.env.NODE_ENV !== \"production\") console.log(response);\r\n return response;\r\n },\r\n (error) => {\r\n if (error.response && error.response.status === UNAUTHORIZED) {\r\n firebase.auth().signOut();\r\n dispatch.auth.signout();\r\n }\r\n return Promise.reject(error);\r\n }\r\n );\r\n\r\n HTTP.interceptors.request.use(\r\n async (request) => {\r\n let updatedReq = { ...request };\r\n const t = await user.getIdToken();\r\n if (t) {\r\n updatedReq = { ...request, headers: { authentication: t } };\r\n }\r\n return updatedReq;\r\n },\r\n (error) => {\r\n console.log(error.response);\r\n return Promise.reject(error);\r\n }\r\n );\r\n\r\n // fetch bootstrap data for each user type\r\n dispatch.ui.fetchBootstrapData({ role: auth.user.role.name });\r\n }\r\n }, [\r\n auth.roles,\r\n auth.user.role.name,\r\n dispatch.auth,\r\n dispatch.ui,\r\n firebase,\r\n user,\r\n ]);\r\n\r\n return (\r\n }>\r\n \r\n \r\n {auth.user.role &&\r\n auth.roles &&\r\n Utils.isPublisher(auth.user.role.name, auth.roles) && (\r\n \r\n )\r\n }\r\n {auth.user.role &&\r\n auth.roles &&\r\n Utils.isWriter(auth.user.role.name, auth.roles) && (\r\n \r\n )\r\n }\r\n {\r\n auth.user.role && auth.roles &&\r\n Utils.isSuperAdmin(auth.user.role.name, auth.roles) && (\r\n \r\n )\r\n }\r\n\r\n {\r\n auth.user.role && auth.roles &&\r\n Utils.isAdmin(auth.user.role.name, auth.roles) && (\r\n \r\n )\r\n }\r\n {auth.user.role &&\r\n auth.roles &&\r\n Utils.isTeacher(auth.user.role.name, auth.roles) && (\r\n \r\n )}\r\n {auth.user.role &&\r\n auth.roles &&\r\n Utils.isStudent(auth.user.role.name, auth.roles) && (\r\n \r\n )}\r\n\r\n {/* EDITORES */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Escritores */}\r\n \r\n \r\n \r\n\r\n {/* MAESTROS */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n {/* ALUMNOS */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* SUPER ADMIN */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n {/* SUPER ADMIN */}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BasePage;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from 'yup';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useFirebaseApp, useUser } from 'reactfire';\r\nimport { firebaseErrors, statuses } from '../../../../constants';\r\nimport { snackbarTypes } from '../../../../redux/models/ui';\r\nimport { FilledInput, IconButton, InputAdornment } from '@material-ui/core'\r\nimport Visibility from '@material-ui/icons/Visibility';\r\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\r\n\r\nconst LoginSchema = Yup.object().shape({\r\n email: Yup.string()\r\n .email('Formato inválido')\r\n .required('El campo es requerido'),\r\n password: Yup.string().required('El campo es requerido'),\r\n});\r\n\r\nfunction Login() {\r\n const state = useSelector(state => state.auth);\r\n const { message, status } = useSelector(state => state.maintenance.maintenance)\r\n const firebase = useFirebaseApp();\r\n const dispatch = useDispatch();\r\n const user = useUser();\r\n\r\n const [showPassword, setShowPassword] = useState(false);\r\n\r\n const getInputClasses = (fieldname) => {\r\n if (formik.touched[fieldname] && formik.errors[fieldname]) {\r\n return 'is-invalid';\r\n }\r\n\r\n if (formik.touched[fieldname] && !formik.errors[fieldname]) {\r\n return 'is-valid';\r\n }\r\n\r\n return '';\r\n };\r\n\r\n const formik = useFormik({\r\n validationSchema: LoginSchema,\r\n initialValues: { email: '', password: '' },\r\n onSubmit: (values, { setStatus, setSubmitting }) => {\r\n // user has local sessión but is not veryfied\r\n if (user && !state.emailVerified) {\r\n formik.setStatus('Aún no has verificado tu dirección de correo electrónico.');\r\n firebase.auth().signOut();\r\n }\r\n\r\n if (!user) {\r\n dispatch.auth.signin();\r\n\r\n firebase\r\n .auth()\r\n .signInWithEmailAndPassword(values.email, values.password)\r\n .then(async (res) => {\r\n formik.setStatus('');\r\n formik.setSubmitting(false);\r\n\r\n if (!res.user.emailVerified) {\r\n formik.setStatus('Aún no has verificado tu dirección de correo electrónico.');\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n dispatch.auth.signinFailed(error);\r\n formik.setSubmitting(false);\r\n formik.setStatus(firebaseErrors[error.code] || `Algo salió mnal: ${error.message}`);\r\n });\r\n }\r\n },\r\n });\r\n\r\n const handleClickShowPassword = () => {\r\n setShowPassword(!showPassword );\r\n };\r\n\r\n const handleMouseDownPassword = (event) => {\r\n event.preventDefault();\r\n };\r\n\r\n const sendEmailValidation = async () => {\r\n firebase.auth().languageCode = 'es';\r\n await user.sendEmailVerification();\r\n\r\n dispatch.ui.openSnackbar({\r\n message: 'Correo enviado correctamente, porfavor revisa tu correo.',\r\n type: snackbarTypes.success\r\n });\r\n\r\n firebase.auth().signOut();\r\n }\r\n\r\n useEffect( () => {\r\n dispatch.maintenance.getMaintenance();\r\n }, []);\r\n\r\n const Maintenance = () => ( \r\n
\r\n {/* begin::Head */}\r\n
\r\n

¡M A N T E N I M I E N T O!

\r\n

\r\n \r\n

\r\n
\r\n {/* end::Head */}\r\n
\r\n

{message}

\r\n
\r\n
\r\n )\r\n const noMaintenance = () => (\r\n
\r\n {/* begin::Head */}\r\n
\r\n

¡Bienvenido de vuelta!

\r\n

\r\n Por favor ingresa tus datos correctamente para iniciar sesión.\r\n

\r\n
\r\n {/* end::Head */}\r\n\r\n {/*begin::Form*/}\r\n \r\n {formik.status && (\r\n
\r\n
\r\n

{formik.status}

\r\n {user && !state.emailVerified && (\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n\r\n
\r\n \r\n {formik.touched.email && formik.errors.email ? (\r\n
\r\n
{formik.errors.email}
\r\n
\r\n ) : null}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {showPassword ? : }\r\n \r\n \r\n\r\n }\r\n\r\n {...formik.getFieldProps('password')}\r\n />\r\n\r\n\r\n {formik.touched.password && formik.errors.password ? (\r\n
\r\n
{formik.errors.password}
\r\n
\r\n ) : null}\r\n
\r\n \r\n
\r\n \r\n ¿Olvidaste tu contraseña?\r\n \r\n\r\n \r\n Iniciar sesión\r\n {state.status === statuses.waiting && }\r\n \r\n
\r\n \r\n {/*end::Form*/}\r\n
\r\n )\r\n return (\r\n status ? Maintenance() : noMaintenance() \r\n );\r\n}\r\n\r\nexport default React.memo(Login);\r\n","import React, { useState } from \"react\";\r\nimport { useFormik } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useFirebaseApp } from \"reactfire\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { firebaseErrors } from \"../../../../constants\";\r\nimport HTTP from \"../../../../axios\";\r\nimport { FilledInput, IconButton, InputAdornment } from '@material-ui/core'\r\nimport Visibility from '@material-ui/icons/Visibility';\r\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\r\n\r\nconst FORBIDDEN_DOMAINS = [\"@bachilleres.edu.mx\", \"@yopmail.com\"];\r\nconst initialValues = {\r\n name: \"\",\r\n lastname: \"\",\r\n lastname2: \"\",\r\n email: \"\",\r\n password: \"\",\r\n changepassword: \"\",\r\n};\r\n\r\nconst RegistrationSchema = Yup.object().shape({\r\n name: Yup.string().required(\"El campo es requerido\"),\r\n lastname: Yup.string().required(\"El campo es requerido\"),\r\n lastname2: Yup.string().required(\"El campo es requerido\"),\r\n email: Yup.string()\r\n .email(\"Formato inválido\")\r\n .required(\"El campo es requerido\")\r\n .test(\"email\", \"Utiliza un correo NO institucional.\", (val) =>\r\n val ? !FORBIDDEN_DOMAINS.some((el) => val.includes(el)) : true\r\n ),\r\n password: Yup.string().required(\"El campo es requerido\"),\r\n changepassword: Yup.string()\r\n .required(\"El campo es requerido\")\r\n .when(\"password\", {\r\n is: (val) => (val && val.length > 0 ? true : false),\r\n then: Yup.string().oneOf(\r\n [Yup.ref(\"password\")],\r\n \"Las contraseñas deben coincidir\"\r\n ),\r\n }),\r\n});\r\n\r\nconst Registration = (props) => {\r\n const [loading, setLoading] = useState(false);\r\n const [submitted, setSubmitted] = useState(false);\r\n const [showPassword, setShowPassword] = useState(false);\r\n const [showPassword2, setShowPassword2] = useState(false);\r\n const firebase = useFirebaseApp();\r\n const dispatch = useDispatch();\r\n\r\n const enableLoading = () => {\r\n setLoading(true);\r\n };\r\n\r\n const disableLoading = () => {\r\n setLoading(false);\r\n };\r\n\r\n const handleClickShowPassword2 = () => {\r\n setShowPassword2(!showPassword2 );\r\n };\r\n\r\n const handleClickShowPassword = () => {\r\n setShowPassword(!showPassword );\r\n };\r\n\r\n const handleMouseDownPassword = (event) => {\r\n event.preventDefault();\r\n };\r\n\r\n const getInputClasses = (fieldname) => {\r\n if (formik.touched[fieldname] && formik.errors[fieldname]) {\r\n return \"is-invalid\";\r\n }\r\n\r\n if (formik.touched[fieldname] && !formik.errors[fieldname]) {\r\n return \"is-valid\";\r\n }\r\n\r\n return \"\";\r\n };\r\n\r\n const formik = useFormik({\r\n initialValues,\r\n validationSchema: RegistrationSchema,\r\n onSubmit: (values, { setStatus, setSubmitting }) => {\r\n enableLoading();\r\n\r\n firebase\r\n .auth()\r\n .createUserWithEmailAndPassword(values.email, values.password)\r\n .then(async (res) => {\r\n const userToken = await res.user.getIdToken();\r\n await res.user.updateProfile({\r\n displayName: `${values.name} ${values.lastName} ${values.lastname2}`,\r\n });\r\n\r\n try {\r\n await HTTP({\r\n method: \"post\",\r\n headers: { authentication: userToken },\r\n url: \"/users/register-user\",\r\n data: {\r\n name: values.name,\r\n lastName: values.lastname,\r\n lastName2: values.lastname2,\r\n email: values.email,\r\n },\r\n });\r\n firebase.auth().languageCode = \"es\";\r\n await res.user.sendEmailVerification();\r\n setSubmitted(true);\r\n firebase.auth().signOut();\r\n } catch (error) {\r\n console.error(error.response);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n dispatch({ type: \"auth/signinFailed\", payload: error });\r\n disableLoading();\r\n formik.setStatus(\r\n firebaseErrors[error.code] || `Algo salió mnal: ${error.message}`\r\n );\r\n formik.setSubmitting(false);\r\n });\r\n },\r\n });\r\n\r\n return (\r\n
\r\n
\r\n

¡Hola!

\r\n

\r\n Para poder crearte una cuenta necesitamos los siguientes datos:\r\n

\r\n
\r\n\r\n {submitted && (\r\n <>\r\n
\r\n
\r\n Para completar tu registro haz clic en el enlace de confirmación.\r\n (Revisa en correo no deseado o spam.)\r\n
\r\n
\r\n\r\n
\r\n \r\n Iniciar sesión\r\n \r\n
\r\n \r\n )}\r\n\r\n {!submitted && (\r\n \r\n {/* begin: Alert */}\r\n {formik.status && (\r\n
\r\n
{formik.status}
\r\n
\r\n )}\r\n {/* end: Alert */}\r\n\r\n {/* begin: Name */}\r\n
\r\n \r\n {formik.touched.name && formik.errors.name ? (\r\n
\r\n
{formik.errors.name}
\r\n
\r\n ) : null}\r\n
\r\n {/* end: Name */}\r\n\r\n {/* begin: LastName */}\r\n
\r\n \r\n {formik.touched.lastname && formik.errors.lastname ? (\r\n
\r\n
{formik.errors.lastname}
\r\n
\r\n ) : null}\r\n
\r\n {/* end: LastName */}\r\n\r\n {/* begin: LastName2 */}\r\n
\r\n \r\n {formik.touched.lastname2 && formik.errors.lastname2 ? (\r\n
\r\n
{formik.errors.lastname2}
\r\n
\r\n ) : null}\r\n
\r\n {/* end: LastName2 */}\r\n\r\n {/* begin: Email */}\r\n
\r\n \r\n {formik.touched.email && formik.errors.email ? (\r\n
\r\n
{formik.errors.email}
\r\n
\r\n ) : null}\r\n
\r\n {/* end: Email */}\r\n\r\n {/* begin: Password */}\r\n
\r\n \r\n \r\n {showPassword ? : }\r\n \r\n \r\n }\r\n {...formik.getFieldProps(\"password\")}\r\n />\r\n {formik.touched.password && formik.errors.password ? (\r\n
\r\n
{formik.errors.password}
\r\n
\r\n ) : null}\r\n
\r\n {/* end: Password */}\r\n\r\n {/* begin: Confirm Password */}\r\n
\r\n \r\n \r\n {showPassword2 ? : }\r\n \r\n \r\n }\r\n {...formik.getFieldProps(\"changepassword\")}\r\n />\r\n {formik.touched.changepassword && formik.errors.changepassword ? (\r\n
\r\n
\r\n {formik.errors.changepassword}\r\n
\r\n
\r\n ) : null}\r\n
\r\n {/* end: Confirm Password */}\r\n\r\n
\r\n \r\n Crear cuenta\r\n {loading && }\r\n \r\n\r\n \r\n \r\n Cancelar\r\n \r\n \r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default React.memo(Registration);\r\n","import React, { useState } from 'react';\r\nimport { useFormik } from 'formik';\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport * as Yup from 'yup';\r\nimport { useFirebaseApp } from 'reactfire';\r\nimport { useDispatch } from 'react-redux';\r\nimport { snackbarTypes } from '../../../../redux/models/ui';\r\nimport { firebaseErrors } from '../../../../constants';\r\n\r\nconst initialValues = { email: '' };\r\nconst ForgotPasswordSchema = Yup.object().shape({\r\n email: Yup.string()\r\n .email('Formato inváilido')\r\n .required('El campo es requerido'),\r\n});\r\n\r\nfunction ForgotPassword(props) {\r\n const dispatch = useDispatch();\r\n const firebase = useFirebaseApp();\r\n const [isRequested, setIsRequested] = useState(false);\r\n const formik = useFormik({\r\n initialValues,\r\n validationSchema: ForgotPasswordSchema,\r\n onSubmit: (values, { setStatus, setSubmitting }) => {\r\n firebase.auth().languageCode = 'es';\r\n firebase\r\n .auth()\r\n .sendPasswordResetEmail(values.email)\r\n .then(() => {\r\n dispatch.ui.openSnackbar({\r\n message: 'Te hemos enviado instrucciones por correo para restablecer tu contraseña.',\r\n type: snackbarTypes.success,\r\n });\r\n formik.setStatus('');\r\n setIsRequested(true);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n formik.setStatus(firebaseErrors[error.code] || `Algo salió mnal: ${error.message}`);\r\n formik.setSubmitting(false);\r\n });\r\n },\r\n });\r\n\r\n const getInputClasses = (fieldname) => {\r\n if (formik.touched[fieldname] && formik.errors[fieldname]) {\r\n return 'is-invalid';\r\n }\r\n\r\n if (formik.touched[fieldname] && !formik.errors[fieldname]) {\r\n return 'is-valid';\r\n }\r\n\r\n return '';\r\n };\r\n\r\n return (\r\n <>\r\n {isRequested && }\r\n {!isRequested && (\r\n
\r\n
\r\n

Recuperar contraseña

\r\n
\r\n Por favor ingresa tu correo electrónico. Te enviaremos un enlace con instrucciones\r\n para restablecer tu contrseña.\r\n
\r\n
\r\n\r\n \r\n {formik.status && (\r\n
\r\n
{formik.status}
\r\n
\r\n )}\r\n\r\n
\r\n \r\n\r\n {formik.touched.email && formik.errors.email ? (\r\n
\r\n
{formik.errors.email}
\r\n
\r\n ) : null}\r\n
\r\n\r\n
\r\n \r\n Enviar\r\n \r\n\r\n \r\n \r\n Cancelar\r\n \r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default React.memo(ForgotPassword);\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from 'yup';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useFirebaseApp, useUser } from 'reactfire';\r\nimport { firebaseErrors, statuses } from '../../../../constants';\r\nimport { snackbarTypes } from '../../../../redux/models/ui';\r\nimport { FilledInput, IconButton, InputAdornment } from '@material-ui/core'\r\nimport Visibility from '@material-ui/icons/Visibility';\r\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\r\n\r\n\r\nconst LoginSchema = Yup.object().shape({\r\n email: Yup.string()\r\n .email('Formato inválido')\r\n .required('El campo es requerido'),\r\n password: Yup.string().required('El campo es requerido'),\r\n});\r\n\r\nfunction LoginAdmin() {\r\n const state = useSelector(state => state.auth);\r\n const firebase = useFirebaseApp();\r\n const dispatch = useDispatch();\r\n const user = useUser();\r\n\r\n const [showPassword, setShowPassword] = useState(false);\r\n\r\n const getInputClasses = (fieldname) => {\r\n if (formik.touched[fieldname] && formik.errors[fieldname]) {\r\n return 'is-invalid';\r\n }\r\n\r\n if (formik.touched[fieldname] && !formik.errors[fieldname]) {\r\n return 'is-valid';\r\n }\r\n\r\n return '';\r\n };\r\n\r\n const formik = useFormik({\r\n validationSchema: LoginSchema,\r\n initialValues: { email: '', password: '' },\r\n onSubmit: (values, { setStatus, setSubmitting }) => {\r\n // user has local sessión but is not veryfied\r\n if (user && !state.emailVerified) {\r\n formik.setStatus('Aún no has verificado tu dirección de correo electrónico.');\r\n firebase.auth().signOut();\r\n }\r\n\r\n if (!user) {\r\n dispatch.auth.signin();\r\n\r\n firebase\r\n .auth()\r\n .signInWithEmailAndPassword(values.email, values.password)\r\n .then(async (res) => {\r\n formik.setStatus('');\r\n formik.setSubmitting(false);\r\n\r\n if (!res.user.emailVerified) {\r\n formik.setStatus('Aún no has verificado tu dirección de correo electrónico.');\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n dispatch.auth.signinFailed(error);\r\n formik.setSubmitting(false);\r\n formik.setStatus(firebaseErrors[error.code] || `Algo salió mnal: ${error.message}`);\r\n });\r\n }\r\n },\r\n });\r\n const handleClickShowPassword = () => {\r\n setShowPassword(!showPassword );\r\n };\r\n\r\n const handleMouseDownPassword = (event) => {\r\n event.preventDefault();\r\n }\r\n \r\n const sendEmailValidation = async () => {\r\n firebase.auth().languageCode = 'es';\r\n await user.sendEmailVerification();\r\n\r\n dispatch.ui.openSnackbar({\r\n message: 'Correo enviado correctamente, porfavor revisa tu correo.',\r\n type: snackbarTypes.success\r\n });\r\n\r\n firebase.auth().signOut();\r\n }\r\n\r\n useEffect( () => {\r\n dispatch.maintenance.getMaintenance();\r\n }, []);\r\n\r\n return (\r\n
\r\n {/* begin::Head */}\r\n
\r\n

¡Bienvenido de vuelta!

\r\n

\r\n Por favor ingresa tus datos correctamente para iniciar sesión.\r\n

\r\n
\r\n {/* end::Head */}\r\n\r\n {/*begin::Form*/}\r\n \r\n {formik.status && (\r\n
\r\n
\r\n

{formik.status}

\r\n {user && !state.emailVerified && (\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n\r\n
\r\n \r\n {formik.touched.email && formik.errors.email ? (\r\n
\r\n
{formik.errors.email}
\r\n
\r\n ) : null}\r\n
\r\n\r\n
\r\n \r\n \r\n {showPassword ? : }\r\n \r\n \r\n\r\n }\r\n\r\n {...formik.getFieldProps('password')}\r\n /> \r\n
\r\n\r\n
\r\n \r\n ¿Olvidaste tu contraseña?\r\n \r\n\r\n \r\n Iniciar sesión\r\n {state.status === statuses.waiting && }\r\n \r\n
\r\n \r\n {/*end::Form*/}\r\n
\r\n );\r\n}\r\n\r\nexport default React.memo(LoginAdmin);\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React from 'react';\r\nimport { Link, Switch, Redirect } from 'react-router-dom';\r\nimport { toAbsoluteUrl } from '../../../../_metronic/_helpers';\r\nimport { ContentRoute } from '../../../../_metronic/layout';\r\nimport Login from './Login';\r\nimport Registration from './Registration';\r\nimport ForgotPassword from './ForgotPassword';\r\nimport '../../../../_metronic/_assets/sass/pages/login/classic/login-1.scss';\r\nimport LoginAdmin from './LoginAdmin';\r\n// import NotAvailable from './NotAvailable';\r\n\r\nconst AuthPage = () => {\r\n return (\r\n
\r\n {/*begin::Login*/}\r\n \r\n {/*begin::Aside*/}\r\n \r\n {/*begin: Aside Container*/}\r\n
\r\n {/* start:: Aside header */}\r\n \r\n \r\n \r\n {/* end:: Aside header */}\r\n\r\n {/* start:: Aside footer for desktop */}\r\n
\r\n
\r\n © {new Date().getFullYear()} {process.env.REACT_APP_COMPANY_NAME}\r\n
\r\n
\r\n {/* end:: Aside footer for desktop */}\r\n
\r\n {/*end: Aside Container*/}\r\n
\r\n {/*begin::Aside*/}\r\n\r\n {/*begin::Content*/}\r\n
\r\n {/*begin::Content header*/}\r\n
\r\n \r\n Crear una cuenta\r\n \r\n
\r\n {/*end::Content header*/}\r\n\r\n {/* begin::Content body */}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {/*end::Content body*/}\r\n\r\n {/* begin::Mobile footer */}\r\n
\r\n
\r\n © 2020 Metronic\r\n
\r\n
\r\n {/* end::Mobile footer */}\r\n
\r\n {/*end::Content*/}\r\n \r\n {/*end::Login*/}\r\n \r\n );\r\n};\r\n\r\nexport { AuthPage };\r\n","import React from 'react';\r\nimport { toAbsoluteUrl } from '../../../_metronic/_helpers';\r\n\r\nexport function ErrorPage1() {\r\n return (\r\n
\r\n \r\n \r\n 404\r\n \r\n\r\n

\r\n Lo sentimos, no pudimos encontrar la página que estas buscando.\r\n

\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { List, ListItem, ListItemText, Typography } from \"@material-ui/core\";\nimport HTTP from \"../../../../axios\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: \"100%\",\n maxHeight: \"100%\",\n maxWidth: 360,\n backgroundColor: theme.palette.background.paper,\n overflow: \"auto\",\n },\n nested: {\n paddingLeft: theme.spacing(4),\n },\n}));\n\nexport const StudentDetail = ({ email }) => {\n const classes = useStyles();\n const [groups, setGroups] = useState(null);\n\n useEffect(() => {\n const getData = async () => {\n try {\n const { data } = await HTTP.get(\n `/groups/user-group-info-by-email/${email}`\n );\n setGroups(data);\n } catch (error) {\n console.log(error);\n }\n };\n getData();\n }, [email]);\n return (\n
\n {groups ? (\n <>\n \n Nombre del estudiante: {groups[0]?.student?.name}{\" \"}\n {groups[0]?.student?.lastName}\n
\n Campus: {groups[0]?.group?.campus?.name}\n
\n \n {groups.map((sg) => (\n \n \n \n Código de grupo: {sg?.group?.groupId}\n
\n Maestro: {sg?.group?.professor?.name}{\" \"}\n {sg?.group?.professor?.lastName}\n
\n Edición: {sg?.group?.edition?.name}\n
\n \n }\n />\n
\n ))}\n
\n \n ) : (\n

No hay información relacionada a esta cuenta de correo

\n )}\n
\n );\n};\n","import React, { useMemo } from \"react\";\nimport objectPath from \"object-path\";\nimport { useHtmlClassService } from \"../../_core/MetronicLayout\";\nimport { Topbar } from \"./Topbar\";\nimport { HeaderMenuWrapper } from \"./header-menu/HeaderMenuWrapper\";\nimport { AnimateLoading } from \"../../../_partials/controls\";\n\nconst styles = {\n box: {\n width: \"100%\",\n height: \"85px\",\n paddingTop: \"10px\",\n background: \"#222f3e\",\n },\n};\n\nconst HeaderHome = () => {\n const uiService = useHtmlClassService();\n\n const layoutProps = useMemo(() => {\n return {\n headerLogo: uiService.getStickyLogo(),\n headerClasses: uiService.getClasses(\"header\", true),\n headerAttributes: uiService.getAttributes(\"header\"),\n headerContainerClasses: uiService.getClasses(\"header_container\", true),\n menuHeaderDisplay: objectPath.get(\n uiService.config,\n \"header.menu.self.display\"\n ),\n };\n }, [uiService]);\n\n return (\n <>\n {/*begin::Header*/}\n
\n {/*begin::Container*/}\n \n \n
\n \n {/*begin::Header Menu Wrapper*/}\n {layoutProps.menuHeaderDisplay && }\n {!layoutProps.menuHeaderDisplay &&
}\n {/*end::Header Menu Wrapper*/}\n\n {/*begin::Topbar*/}\n \n {/*end::Topbar*/}\n
\n
\n {/*end::Container*/}\n
\n {/*end::Header*/}\n \n );\n};\n\nexport default React.memo(HeaderHome);\n","import React from 'react';\nimport { useSelector, useDispatch } from \"react-redux\";\nimport HTTP from \"../../axios\";\nimport { Button } from \"@material-ui/core\";\nimport { snackbarTypes } from '../../redux/models/ui';\n\nconst TermsConditions = ({showButton}) => {\n const auth = useSelector((state) => state.auth);\n const dispatch = useDispatch();\n \n const acceptTerms = async() => {\n try {\n const { status } = await HTTP.patch(`/users/accept-terms-conditions/${auth.user.email}`);\n if (status === 200) {\n dispatch.auth.acceptTermConditions({terms:1}); \n }\n } catch (error) {\n dispatch.ui.openSnackbar({ message: error.message, type: snackbarTypes.error });\n }\n }\n \n return (\n <>\n
\n 1. CONDICIONES GENERALES DE USO Y SU ACEPTACIÓN
\nEl presente aviso legal regula el acceso y el uso de los contenidos de la Aplicación Informática “SCOLNIC” (en adelante SCOLNIC) del que EDICIONES SCOLNIC., es titular y administrador. Su uso está sujeto a los términos y condiciones que se especifican a continuación. Al utilizar SCOLNIC, usted acepta tales términos y condiciones y se somete a los mismos. Si no está de acuerdo con estos términos o con nuestra Política de confidencialidad, le informamos que no deberá utilizar SCOLNIC o los servicios ofrecidos en la misma, en caso contrario, consideraremos que existe aceptación por su parte.
\n\nLa utilización de esta Aplicación Informática implica la plena aceptación de las condiciones y términos especificados en las Condiciones Generales de Uso publicadas por EDICIONES SCOLNIC., en el momento en que el Usuario acceda a SCOLNIC. Por todo ello, el Usuario debe leer atentamente las presentes Condiciones cada vez que acceda a SCOLNIC, ya que podrían haber sido objeto de modificaciones.
\n\n1.1. Membresía: La descarga de las aplicaciones SCOLNIC no tienen costo, sin embargo, su funcionamiento está condicionado a la compra de por lo menos uno de los títulos que distribuye EDICIONES SCOLNIC., para ello, se deberá proporcionar uno o dos métodos de pago, según se solicita en la aplicación informática.
\n\n1.2 Prueba gratis de uso: EDICIONES SCOLNIC., pudiera ofrecer en algunos casos pruebas gratuitas por un lapso de tiempo limitado a clientes potenciales y se reserva el derecho de terminar este periodo de prueba en cualquier momento y en ningún caso generando una obligación de continuar proporcionando el servicio de forma gratuita.
\n\n1.3 Cancelación: Usted podrá cancelar su servicio de SCOLNIC en cualquier momento enviando un correo electrónico solicitando la remoción de su cuenta al correo contacto@scolnic.mx
\n\n1.4 Publicidad y Encuestas: EDICIONES SCOLNIC. se reserva el derecho de utilizar la plataforma para proveer servicios de publicidad y encuestas para terceros. Mas informacion en Aviso de privacidad, consultar http://www.scolnic.mx
\n\n2. CONDICIONES DE ACCESO Y USO DEL SITIO WEB Y APLICACIONES.
\nComo usuario, usted se compromete a hacer uso de la información, contenidos y servicios a los que acceda desde SCOLNIC, respetando la Ley, las buenas costumbres y las presentes Condiciones Generales de Uso, así como respetar a los demás usuarios.
\n\nEl usuario renunciará a utilizar cualquiera de los materiales e informaciones contenidos en SCOLNIC con fines ilícitos y expresamente prohibidos en las presentes Condiciones Generales de Uso así como a las condiciones particulares que, en su caso, se habiliten, y que resulten contrarios a los derechos e intereses de EDICIONES SCOLNIC., sus empleados y/o terceros, y deberá responder frente a los mismos en caso de contravenir o incumplir dichas obligaciones y/o que, de cualquier modo (incluida la introducción o difusión de “virus informáticos”), dañe, inutilice, sobrecargue, deteriore o impida la normal utilización de los contenidos de SCOLNIC, los sistemas de información o los documentos, archivos y toda clase de contenidos almacenados en cualquier equipo informático (hacking) de EDICIONES SCOLNIC., de sus empleados o de cualquier usuario de SCOLNIC.
\n\nEl usuario será el único responsable de la veracidad y la actualización de la información y los datos que facilite a EDICIONES SCOLNIC., ya sea a través de SCOLNIC o de cualquier otro medio electrónico o no, garantizando en todo momento la veracidad y exactitud de los mismos.
\n\nEl usuario que incumpla las obligaciones que han sido enunciadas responderá de todos los daños y perjuicios que cause a EDICIONES SCOLNIC.
\n\n3. EXCLUSIÓN DE GARANTÍAS Y RESPONSABILIDAD2
\nEDICIONES SCOLNIC. no asume ningún deber o compromiso de verificar la información recibida de sus clientes. Asimismo, no garantiza la exactitud de la información contenida en SCOLNIC, por lo que no se responsabiliza de los daños y perjuicios de toda naturaleza que puedan deberse a decisiones tomadas con base a la información aquí publicada como consecuencia de la falta de exactitud, exhaustividad, actualidad, así como a errores u omisiones de los que pudieran adolecer los contenidos de este Sitio Web u otros a los que se pueda acceder por medio del mismo.
\n\nEDICIONES SCOLNIC no garantiza la disponibilidad o continuidad del funcionamiento del Sitio Web y sus aplicaciones, y excluye, en la máxima medida permitida por la legislación vigente, cualquier responsabilidad por los daños y perjuicios que puedan derivarse de ello, así como de los errores de acceso a las zonas restringidas que sean consecuencia a una falta de diligencia o de infraestructura del usuario.
\n\nEl usuario es el responsable de tomar las precauciones necesarias para comprobar la no existencia de virus u otro tipo de programas que tengan una naturaleza dañina. EDICIONES SCOLNIC. no se responsabiliza por la existencia de elementos lesivos, como virus, que pudieran ocasionar daños o el mal funcionamiento en los sistemas, software, hardware, programas, documentos y ficheros electrónicos que mantenga el Usuario. De igual modo, no se responsabiliza de los posibles daños que como consecuencia de los mismos pueda ocasionar el Usuario a terceros. Usted utiliza este Sitio Web y/o las aplicaciones informáticas relacionadas, de manera voluntaria y bajo su responsabilidad; por lo que EDICIONES SCOLNIC. no será responsable, contractual o extracontractualmente, de los daños, directos o indirectos, imprevistos, emergentes o punitivos, resultantes del acceso o uso de esta Aplicación Informática.
\n\n4. ENLACES A OTRAS PÁGINAS WEB
\nSCOLNIC puede contener enlaces o links a otros sitios, aplicaciones informáticas y páginas web que son gestionadas por terceros sobre los que EDICIONES SCOLNIC. no ejerce ningún tipo de control; no gestiona ni avala estos sitios por lo que no nos responsabilizamos de los contenidos de los Sitios Web Enlazados o de los Enlaces contenidos en los mismos. Desde EDICIONES SCOLNIC. no nos hacemos responsables de los contenidos e informaciones incluidos en otros sitios web o aplicaciones informáticas, así como de las condiciones de uso y políticas de confidencialidad publicadas en los mismos. No podrá interpretarse que las mismas sean una prolongación de nuestra Aplicación Informática o que compartamos las opiniones expresadas en ellas o que tengamos algún interés o colaboración en los servicios proporcionados o comercializados en las mismas.
\n\nEn EDICIONES SCOLNIC. procederemos a suprimir, a la brevedad posible, cualquier enlace a Sitios Web, ligas, aplicaciones o programas cuyo contenido sea contrario a la ley, a la dignidad personal y que pudiera causar daño, perjuicio o inducir a error a los Usuarios. Para ello apelamos a su colaboración cuando tenga conocimiento de estos aspectos, solicitando que nos remita un correo electrónico a la dirección: contacto@scolnic.mx
\n\n5. DERECHOS DE PROPIEDAD INTELECTUAL
\nSCOLNIC se rige por las leyes mexicanas y está protegida por la legislación nacional e internacional sobre propiedad intelectual e industrial. Todos los derechos de propiedad intelectual e industrial sobre esta aplicación informática están legalmente reservados. El acceso o la utilización de la misma, no constituirá, en ningún caso, el otorgamiento, salvo que se indique expresamente lo contrario, de ninguna licencia de uso o derecho sobre cualquier activo cuya titularidad o propiedad corresponda a EDICIONES SCOLNIC. Todos los contenidos que se muestran en SCOLNIC están sujetos a derechos de propiedad industrial titularidad de EDICIONES SCOLNIC. Asimismo, los textos, fotografías, gráficos, imágenes, iconos, tecnología, software, así como su diseño gráfico y código fuente, constituyen una obra cuyos derechos pertenecen a EDICIONES SCOLNIC.
\n\nAsimismo, queda prohibida, salvo en aquellos casos en los que se haya obtenido previamente la autorización expresa de EDICIONES SCOLNIC., la reproducción, copia, distribución, transformación, puesta a disposición del público, supresión, manipulación de los sistemas de seguridad instalados en la misma, y cualquier otra actividad que se pueda realizar con el contenido, la información y las marcas comerciales que aparecen en SCOLNIC, así como con su código fuente, imágenes, diseño, selección y forma de presentación de los materiales incluidos en la misma, cualquiera que fuera su finalidad y el medio utilizado para ello. En caso de que quiera formular alguna sugerencia o comentario puede contactar con nosotros mediante un correo electrónico a: contacto@scolnic.mx
\n\n6. LEGISLACIÓN APLICABLE
\nLas presentes Condiciones Generales de Uso se rigen en todos y cada uno de sus extremos por las leyes aplicables de los Estados Unidos Mexicanos.
\n\n7. ACEPTACIÓN DE LAS CONDICIONES DE ACCESO Y USO
\nEl acceso y uso de SCOLNIC, así como de sus servicios y de la información incluida en la misma implica la aceptación de su Política de Confidencialidad y de los términos especificados en las presentes Condiciones Generales de Uso. En caso de no estar de acuerdo con las mismas, no acceda o utilice esta Aplicación Informática.\n
\n8. DATOS DE CONTACTO
\nPuede enviar sus comentarios a: contacto@scolnic.mx.\n
\n \n \n )\n}\n\nexport default TermsConditions;\n","import React, { useEffect, useMemo, useState, useCallback } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport {\n Typography,\n Button,\n Card,\n CardActions,\n CardContent,\n TextField,\n CardMedia,\n CircularProgress,\n} from \"@material-ui/core\";\n\nimport AddCircleOutlineIcon from \"@material-ui/icons/AddCircleOutline\";\n\nimport { string, object } from \"yup\";\n import { useFirebaseApp, useUser } from \"reactfire\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport HTTP from \"../../axios\";\n\nimport { HeaderMobile } from \"../../_metronic/layout/components/header-mobile/HeaderMobile\";\nimport StudentAddBook from \"./Students/AddBook\";\nimport CustomModal from \"../../components/CustomModal\";\nimport { Utils } from \"../../Utills\";\nimport objectPath from \"object-path\";\nimport { QuickUser } from \"../../_metronic/layout/components/extras/offcanvas/QuickUser\";\nimport { ScrollTop } from \"../../_metronic/layout/components/extras/ScrollTop\";\nimport { LayoutInit } from \"../../_metronic/layout/components/LayoutInit\";\nimport { SubHeader } from \"../../_metronic/layout/components/subheader/SubHeader\";\nimport { useHtmlClassService } from \"../../_metronic/layout/_core/MetronicLayout\";\nimport StudentAddGroup from \"./Students/AddGroup\";\nimport { Formik, Form } from \"formik\";\nimport { snackbarTypes } from \"../../redux/models/ui\";\nimport { statuses } from \"../../constants\";\nimport { StudentDetail } from \"./Teachers/Students/StudentDetail\";\nimport HeaderHome from \"../../_metronic/layout/components/header/HeaderHome\";\nimport GroupsForm from \"./Groups/Form\";\nimport TermsConditions from \"./TermsConditions\";\n\nconst UNAUTHORIZED = 401;\n\nconst userNameAndLastNameSchema = object().shape({\n name: string().required(\"El campo es requerido.\"),\n lastName: string().required(\"El campo es requerido.\"),\n lastName2: string().required(\"El campo es requerido.\"),\n});\n\nconst NewHome = () => {\n // Auth\n const userFirebase = useUser();\n const dispatch = useDispatch();\n const firebase = useFirebaseApp();\n const auth = useSelector((state) => state.auth);\n const termsConditions = useSelector((state) => state.ui.termsConditions);\n\n // AXIOS INTERCEPTOR REGISTER\n useEffect(() => {\n if (userFirebase) {\n HTTP.interceptors.response.use(\n (response) => {\n if (process.env.NODE_ENV !== \"production\") console.log(response);\n return response;\n },\n (error) => {\n if (error.response && error.response.status === UNAUTHORIZED) {\n firebase.auth().signOut();\n dispatch.auth.signout();\n }\n return Promise.reject(error);\n }\n );\n\n HTTP.interceptors.request.use(\n async (request) => {\n let updatedReq = { ...request };\n const t = await userFirebase.getIdToken();\n if (t) {\n updatedReq = { ...request, headers: { authentication: t } };\n }\n return updatedReq;\n },\n (error) => {\n console.log(error.response);\n return Promise.reject(error);\n },\n (error) => {\n if (error.response && error.response.status === UNAUTHORIZED) {\n firebase.auth().signOut();\n dispatch.auth.signout();\n }\n return Promise.reject(error);\n }\n );\n\n HTTP.interceptors.request.use(\n async (request) => {\n let updatedReq = { ...request };\n const t = await userFirebase.getIdToken();\n if (t) {\n updatedReq = { ...request, headers: { authentication: t } };\n }\n return updatedReq;\n },\n (error) => {\n console.log(error.response);\n return Promise.reject(error);\n }\n );\n // fetch bootstrap data for each user type\n dispatch.ui.fetchBootstrapData({ role: auth.user.role.name });\n }\n }, [auth.user.role.name, dispatch.auth, dispatch.ui, firebase, userFirebase]);\n\n // Books\n const { user, roles } = useSelector((st) => st.auth);\n const { books, status } = useSelector((state) => state.userData);\n\n const [addBook, setAddBook] = useState(false);\n const [groups, setGroups] = useState(null);\n const [groupModal, setGroupModal] = useState(false);\n\n const [studentEmailSearch, setStudentEmailSearch] = useState(\"\");\n const [studentDataModal, setStudentDataModal] = useState(false);\n\n const [loading, setLoading] = useState(false);\n // eslint-disable-next-line no-unused-vars\n const [img, setImg] = useState(null);\n\n const setUserPreferences = (editionId, groupId, groupName, bookName) => {\n dispatch.ui.setSelectedEdition(editionId);\n dispatch.ui.setSelectedGroup(groupId);\n dispatch.ui.setSelectedGroupName(groupName);\n dispatch.ui.setSelectedBookName(bookName)\n dispatch.viewFiles.getUser(null);\n };\n\n useEffect(() => {\n dispatch.userData.getUserBooks({ id: user.id });\n dispatch.userData.getUserGroups({ userId: user.id });\n }, [dispatch.userData, user.id]);\n\n useEffect(() => {\n const getTeacherGroups = async () => {\n try {\n setLoading(true);\n const { data } = await HTTP.get(`/groups/all-groups-login/id/ASC/${auth.user.teacherId}`);\n setGroups(data.results);\n setImg(data.results?.map((el) => el?.groupImg));\n setLoading(false);\n } catch (error) {\n setLoading(false);\n dispatch.ui.openSnackbar({\n message: error.message,\n type: snackbarTypes.error,\n });\n }\n };\n if (auth.user.teacherId) getTeacherGroups();\n }, [auth.user, groupModal, dispatch.ui]);\n\n // Name and Last name\n const handleSubmit = useCallback(\n (values, { setFieldError }) => {\n console.log(values);\n HTTP.put(`/users/update-user/${user.userId}`, {\n name: values.name,\n lastName: values.lastName,\n lastName2: values.lastName2,\n })\n .then(async (res) => {\n const userInfo = await HTTP.get(`/users/user/${user.email}`);\n const name = userInfo.data.name;\n const lastname = userInfo.data.lastName;\n const lastname2 = userInfo.data.lastName2;\n console.log(name, lastname, lastname2);\n dispatch.auth.updateUserName({ name, lastname, lastname2 });\n dispatch.ui.openSnackbar({\n message: \"Nombre actualizado correctamente.\",\n type: snackbarTypes.success,\n });\n })\n .catch((error) => {\n dispatch.ui.openSnackbar({\n message: error.message,\n type: snackbarTypes.error,\n });\n });\n },\n [dispatch.auth, dispatch.ui, user.email, user.userId]\n );\n\n const useStyles = makeStyles({\n bullet: {\n display: \"inline-block\",\n margin: \"0 2px\",\n transform: \"scale(0.8)\",\n },\n title: {\n fontSize: 14,\n },\n pos: {\n marginBottom: 12,\n },\n flex: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"space-around\",\n },\n card: {\n width: 305,\n marginBottom: 15,\n boxShadow: \"0 5px 8px 0 rgba(0, 0, 0, 0.3)\",\n backgroundColor: \"#fafafa\",\n },\n cardTeacher: {\n width: \"400px\",\n height: \"193px\",\n borderRadius: \"10px\",\n marginBottom: 15,\n boxShadow: \"0 5px 8px 0 rgba(0, 0, 0, 0.3)\",\n },\n cardnobook: {\n width: \"1300px\",\n height: \"600px\",\n borderRadius: \"10px\",\n marginBottom: 15,\n boxShadow: \"0 5px 8px 0 rgba(0, 0, 0, 0.3)\",\n },\n titleTeacher: {\n color: \"#ffffff\",\n },\n titleFontTeacher: {\n color: \"#ffffff\",\n fontSize: \"1.5em\",\n marginLeft: \"5px\",\n },\n titleFont2: {\n color: \"#ffffff\",\n fontSize: \"1.6em\",\n marginLeft: \"5px\",\n },\n letter: {\n color: \"#ffffff\",\n marginLeft: \"5px\",\n fontSize: \"1em\",\n },\n media: {\n height: 330,\n width: \"100%\",\n },\n titleBox: {\n width: \"100%\",\n },\n titleFont: {\n fontSize: \"1.5em\",\n textAlign: \"Center\",\n },\n button: {\n marginLeft: 90,\n },\n });\n const classes = useStyles();\n\n // Layout\n const uiService = useHtmlClassService();\n const layoutProps = useMemo(() => {\n return {\n layoutConfig: uiService.config,\n selfLayout: objectPath.get(uiService.config, \"self.layout\"),\n subheaderDisplay: objectPath.get(uiService.config, \"subheader.display\"),\n desktopHeaderDisplay: objectPath.get(\n uiService.config,\n \"header.self.fixed.desktop\"\n ),\n contentCssClasses: uiService.getClasses(\"content\", true),\n contentContainerClasses: uiService.getClasses(\"content_container\", true),\n contentExtended: objectPath.get(uiService.config, \"content.extended\"),\n };\n }, [uiService]);\n\n return (\n <>\n \n\n
\n {/*begin::Page*/}\n
\n {/*begin::Wrapper*/}\n
\n \n {/*begin::Content*/}\n \n {layoutProps.subheaderDisplay && }\n {/*begin::Entry*/}\n {!layoutProps.contentExtended && (\n
\n {/*begin::Container*/}\n
\n {/* {children} */}\n \n \n \n dispatch.ui.setTermsConditions(!termsConditions)}\n >\n \n \n\n \n \n handleSubmit(values, actions)\n }\n initialValues={{\n name: user.name || \"\",\n lastName: user.lastname || \"\",\n lastName2: user.lastname2 || \"\",\n }}\n >\n {({\n errors,\n touched,\n getFieldProps,\n values,\n dirty,\n }) => (\n
\n \n\n \n\n \n\n
\n \n {status === statuses.waiting\n ? \"Guardando\"\n : \"Guardar\"}\n \n
\n \n )}\n \n \n setAddBook(false)}\n >\n setAddBook(false)} />\n \n\n setGroupModal(false)}\n >\n setGroupModal(false)}\n />\n \n setStudentDataModal(false)}\n >\n \n \n {Utils.isStudent(user.role.name, roles) && (\n
\n
\n
\n

\n ¡Hola! Buen día\n

\n

\n {user.name || \"\"} {user.lastname || \"\"} {user?.lastname2 || \"\"}\n

\n
\n
\n }\n onClick={() => setAddBook(true)}\n >\n Agregar libro\n \n
\n
\n
\n )}\n\n {/** Students */}\n {Utils.isStudent(user.role.name, roles) && (\n <>\n
\n
\n
\n \n Tus libros comprados\n \n
\n {/*
\n \n Ver video\n \n
*/}\n
\n
\n\n {books ? (\n
\n {books.length <= 0 && (\n <>\n
\n \n Aun no has canjeado ningun libro.\n \n
\n
\n \n \n \n
\n \n )}\n {books.map((book) => (\n
\n \n \n \n
\n \n Libro: {book.name}\n \n
\n
\n \n Edición: {book.editionName}\n \n \n Folio digital: {book.bookCode || \"NA\"}\n \n \n Grupo: {book?.group?.groupName}\n \n \n Maestro: {book.professor}\n \n
\n\n \n {book?.groupId ? (\n \n setUserPreferences(\n book.editionName,\n book.groupId,\n book.group.groupName,\n book.name\n )\n }\n >\n Seleccionar\n \n ) : (\n setGroupModal(true)}\n >\n Incribirse a grupo\n \n )}\n \n
\n
\n ))}\n
\n ) : (\n
\n \n \n \n
\n )}\n \n )}\n {/** Teachers */}\n {Utils.isTeacher(user.role.name, roles) && (\n <>\n
\n \n Mis grupos\n \n
\n
\n \n setGroupModal(false)}\n >\n setGroupModal(false)}\n />\n \n\n
\n setGroupModal(true)}\n startIcon={}\n >\n Nuevo grupo\n \n {\n loading && (\n //
No hay grupos
\n
\n \n
\n )\n }\n {\n groups?.length < 1 && !loading && (\n \n Aún no es creado tu primer grupo para este semestre\n \n )\n\t }\n {/* {console.log(groups)} */}\n
\n {groups && (\n groups.map((group) => (\n
\n \n setUserPreferences(\n group?.edition.name,\n group?.id,\n group?.groupName,\n group?.edition.bookInfo.title\n )\n }\n >\n \n {group?.edition.bookInfo.name}\n \n \n Grupo: {group?.groupName}\n \n \n Alumnos inscritos: {group?.totalStudents}\n \n\n \n Edición: {group?.edition.name}\n \n\n \n Código del grupo: {group?.groupId}\n \n
\n
\n ))\n )}\n
\n \n )}\n
\n {/*end::Container*/}\n
\n )}\n {layoutProps.contentExtended}\n {/*end::Entry*/}\n
\n {/*end::Content*/}\n {/*
*/}\n
\n {/*end::Wrapper*/}\n \n {/*end::Page*/}\n \n\n \n {/* */}\n \n {/* */}\n {/*end::Main*/}\n \n \n );\n};\nexport { NewHome };\n","/**\r\n * High level router.\r\n *\r\n * Note: It's recommended to compose related routes in internal router\r\n * components (e.g: `src/app/modules/Auth/pages/AuthPage`, `src/app/BasePage`).\r\n */\r\n\r\nimport React, { useEffect, } from \"react\";\r\nimport { Redirect, Switch, Route , useLocation } from \"react-router-dom\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { Layout } from \"../_metronic/layout\";\r\nimport BasePage from \"./BasePage\";\r\nimport { AuthPage } from \"./modules/Auth\";\r\nimport { ErrorPage1 } from \"./modules/ErrorsExamples/ErrorPage1\";\r\nimport { useFirebaseApp } from \"reactfire\";\r\nimport { Utils } from \"../Utills\";\r\nimport { NewHome } from \"./pages/NewHome\";\r\nimport { CustomModal } from '../components';\r\nimport TermsConditions from './pages/TermsConditions';\r\n\r\nexport function Routes() {\r\n const firebase = useFirebaseApp();\r\n const dispatch = useDispatch();\r\n const { maintenance } = useSelector(state => state.maintenance);\r\n const location = useLocation();\r\n const { isAuthorized } = useSelector(\r\n ({ auth }) => ({ isAuthorized: auth.user != null }),\r\n shallowEqual\r\n );\r\n const auth = useSelector((state) => state.auth);\r\n const selectedGroup = useSelector((state) => state.ui.selectedGroup);\r\n const termsConditions = useSelector((state) => state.ui.termsConditions);\r\n\r\n // watch for maintenance\r\n useEffect(() => {\r\n dispatch.maintenance.getMaintenance();\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n }, [maintenance])\r\n\r\n // watch for firebase session\r\n useEffect(() => {\r\n if( maintenance.status === 0) {\r\n firebase.auth().onAuthStateChanged(async (user) => {\r\n if (!user) return;\r\n\r\n if (user && user.emailVerified ) {\r\n dispatch.auth.fetchUserData(user);\r\n }\r\n if (user && !user.emailVerified) {\r\n dispatch.auth.setEmailVerification(user.emailVerified);\r\n }\r\n });\r\n }\r\n if ( maintenance.status === 1 && location.pathname !== '/auth/login' ){\r\n firebase.auth().onAuthStateChanged(async (user) => {\r\n if (!user) return;\r\n if (user && user.emailVerified ) {\r\n dispatch.auth.fetchUserData(user);\r\n }\r\n if (user && !user.emailVerified) {\r\n dispatch.auth.setEmailVerification(user.emailVerified);\r\n }\r\n });\r\n }\r\n }, [dispatch, firebase, maintenance]);\r\n return (\r\n <>\r\n \r\n { !isAuthorized ?\r\n (\r\n /*Render auth page when user at `/auth` and not authorized.*/\r\n \r\n \r\n \r\n )\r\n :\r\n (\r\n /*Otherwise redirect to root page (`/`)*/\r\n \r\n )\r\n }\r\n\r\n\r\n \r\n\r\n\r\n {!isAuthorized\r\n ? (\r\n /*Redirect to `/auth` when user is not authorized*/\r\n \r\n )\r\n :\r\n ( maintenance.status === 1 && location.pathname !== '/auth/admin' ) ?\r\n (!selectedGroup && (!Utils.isPublisher(auth.user.role.name, auth.roles) &&\r\n !Utils.isAdmin(auth.user.role.name, auth.roles) &&\r\n !Utils.isSuperAdmin(auth.user.role.name, auth.roles)))\r\n ?\r\n
\r\n\r\n
\r\n :\r\n \r\n \r\n \r\n :\r\n (\r\n !selectedGroup &&\r\n (\r\n !Utils.isPublisher(auth.user.role.name, auth.roles) &&\r\n\t\t\t !Utils.isAdmin(auth.user.role.name, auth.roles) &&\r\n\t\t\t !Utils.isSuperAdmin(auth.user.role.name, auth.roles) &&\r\n\t\t\t !Utils.isWriter(auth.user.role.name, auth.roles)\r\n\t\t )\r\n )\r\n ?\r\n \r\n :\r\n \r\n \r\n \r\n }\r\n\r\n\r\n
\r\n dispatch.ui.setTermsConditions(!termsConditions)}\r\n >\r\n \r\n \r\n \r\n );\r\n}\r\n","/**\r\n * Entry application component used to compose providers and render Routes.\r\n * */\r\n\r\nimport React from \"react\";\r\nimport { Provider } from \"react-redux\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { Routes } from \"../app/Routes\";\r\nimport { LayoutSplashScreen, MaterialThemeProvider } from \"../_metronic/layout\";\r\nimport { UISnackbar } from \"../components\";\r\nimport Fab from \"@material-ui/core/Fab\";\r\nimport WhatsAppIcon from \"@material-ui/icons/WhatsApp\";\r\n\r\nexport default function App({ store, basename }) {\r\n return (\r\n /* Provide Redux store */\r\n <>\r\n \r\n \r\n\r\n {/* Add high level `Suspense` in case if was not handled inside the React tree. */}\r\n }>\r\n {/* Override `basename` (e.g: `homepage` in `package.json`) */}\r\n \r\n {/*This library only returns the location that has been active before the recent location change in the current window lifetime.*/}\r\n \r\n {/* Provide `react-intl` context synchronized with Redux state. */}\r\n \r\n \r\n \r\n \r\n \r\n {/* Whatsapp Floating action Button*/}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// For Firebase JS SDK v7.20.0 and later, measurementId is optional\nconst firebaseConfig = {\n apiKey: \"AIzaSyD09IrNE2udqVHNwJShnyhVUZmXxe2H0FM\",\n authDomain: \"scolnicmx.firebaseapp.com\",\n databaseURL: \"https://scolnicmx.firebaseio.com\",\n projectId: \"scolnicmx\",\n storageBucket: \"scolnicmx.appspot.com\",\n messagingSenderId: \"581990096520\",\n appId: \"1:581990096520:web:278cdca9b77df8bee1493d\",\n measurementId: \"G-8EDNHDZENG\"\n};\n\nexport default firebaseConfig;\n","/**\r\n * Create React App entry point. This and `public/index.html` files can not be\r\n * changed or moved.\r\n */\r\nimport \"react-app-polyfill/ie11\";\r\nimport \"react-app-polyfill/stable\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport store from \"./redux/store\";\r\nimport App from \"./app/App\";\r\nimport \"./index.scss\"; // Standard version\r\nimport \"./tailwind.css\"; // Standard version\r\n// import \"./sass/style.react.rtl.css\"; // RTL version\r\nimport \"./_metronic/_assets/plugins/keenthemes-icons/font/ki.css\";\r\nimport \"socicon/css/socicon.css\";\r\nimport \"@fortawesome/fontawesome-free/css/all.min.css\";\r\nimport \"./_metronic/_assets/plugins/flaticon/flaticon.css\";\r\nimport \"./_metronic/_assets/plugins/flaticon2/flaticon.css\";\r\n// Datepicker\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {\r\n MetronicLayoutProvider,\r\n MetronicSplashScreenProvider,\r\n MetronicSubheaderProvider,\r\n} from \"./_metronic/layout\";\r\nimport { MetronicI18nProvider } from \"./_metronic/i18n\";\r\nimport { FirebaseAppProvider } from \"reactfire\";\r\nimport firebaseConfig from \"./firebase-config\";\r\n\r\n/**\r\n * Base URL of the website.\r\n *\r\n * @see https://facebook.github.io/create-react-app/docs/using-the-public-folder\r\n */\r\nconst { PUBLIC_URL } = process.env;\r\nexport const CKEDITOR_OPTIONS = {\r\n language: \"es\",\r\n toolbar: {\r\n shouldNotGroupWhenFull: true,\r\n items: [\r\n \"removeFormat\",\r\n \"undo\",\r\n \"redo\",\r\n \"|\",\r\n \"heading\",\r\n \"|\",\r\n \"alignment\",\r\n \"|\",\r\n \"bold\",\r\n \"strikethrough\",\r\n \"underline\",\r\n \"italic\",\r\n \"blockQuote\",\r\n \"link\",\r\n \"specialCharacters\",\r\n \"|\",\r\n \"fontBackgroundColor\",\r\n \"fontColor\",\r\n \"fontFamily\",\r\n \"fontSize\",\r\n \"highlight\",\r\n \"|\",\r\n \"indent\",\r\n \"outdent\",\r\n \"|\",\r\n \"numberedList\",\r\n \"bulletedList\",\r\n // 'MathType',\r\n // 'ChemType',\r\n \"horizontalLine\",\r\n \"|\",\r\n \"mediaEmbed\",\r\n \"imageUpload\",\r\n \"imageInsert\",\r\n \"imageResize\",\r\n \"imageStyle:full\",\r\n \"imageStyle:side\",\r\n // 'ckfinder',\r\n // 'selectAll',\r\n // 'imageTextAlternative',\r\n // 'imageResize:original',\r\n // 'imageResize:25',\r\n // 'imageResize:50',\r\n // 'imageResize:75',\r\n // 'linkImage',\r\n \"|\",\r\n \"insertTable\",\r\n \"tableColumn\",\r\n \"tableRow\",\r\n \"mergeTableCells\",\r\n \"tableCellProperties\",\r\n \"tableProperties\",\r\n ],\r\n },\r\n};\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n","import axios from 'axios';\n\nconst HTTP = axios.create({\n baseURL: process.env.REACT_APP_API_URL\n});\n\nHTTP.interceptors.response.use(\n (response) => {\n // console.log(\"here is the response\");\n // console.log(response);\n // console.log(\"------\");\n return response;\n },\n (error) => {\n // console.log(\"here is the error\");\n if(error.response.status === 401)\n window.location.reload(true);\n // console.log(error.code);\n // console.log(\"------\");\n // Posibly add filter in here to just reload in the case of a 401 error\n return Promise.reject(error);\n }\n);\n\nexport default HTTP;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Snackbar, Icon, SnackbarContent, IconButton } from '@material-ui/core'\nimport { snackbarTypes } from '../redux/models/ui';\n\nexport default function UISnackbar() {\n const dispatch = useDispatch();\n const sbar = useSelector((st) => st.ui.snackbar);\n const handleClose = (event, reason) => {\n if (reason === 'clickaway') {\n return;\n }\n\n dispatch.ui.closeSnackbar();\n };\n\n return (\n \n \n \n {sbar.type === snackbarTypes.success && 'check_circle'}\n {sbar.type === snackbarTypes.error && 'error'}\n {sbar.type === snackbarTypes.info && 'info'}\n \n\n

{sbar.message}

\n\n \n close\n \n \n }\n />\n \n );\n}\n","import React from 'react';\nimport {\n DialogTitle,\n Dialog,\n DialogContent,\n DialogActions,\n Button,\n DialogContentText\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst Alert = props => {\n const { open, handleClose, title, message, cancelTxt, acceptTxt } = props;\n\n return (\n \n {title && {title}}\n\n \n {message}\n \n\n \n \n\n {acceptTxt && (\n \n )}\n \n \n );\n};\n\nAlert.defaultProps = {\n title: '',\n cancelTxt: 'Cancelar',\n acceptTxt: 'Aceptar'\n};\n\nAlert.propTypes = {\n open: PropTypes.bool.isRequired,\n handleClose: PropTypes.func.isRequired,\n title: PropTypes.string,\n message: PropTypes.string.isRequired,\n cancelTxt: PropTypes.string,\n acceptTxt: PropTypes.string\n};\n\nexport default Alert;\n","import React from 'react';\nimport { Button, ButtonGroup } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst Pagination = ({ totalPages, currentPage, onChangePage }) => {\n const setPages = pagesQuantity => {\n const items = [];\n for (let i = 1; i <= pagesQuantity; i += 1) {\n items.push(i);\n }\n return items;\n };\n\n const setCurrentPage = page => {\n if (page !== currentPage) {\n onChangePage(page);\n }\n };\n\n return (\n
\n \n {setPages(totalPages).map(page => (\n setCurrentPage(page)}>\n {page}\n \n ))}\n \n
\n );\n};\n\nPagination.propTypes = {\n totalPages: PropTypes.number.isRequired,\n currentPage: PropTypes.number.isRequired,\n onChangePage: PropTypes.func.isRequired\n};\n\nexport default React.memo(Pagination);\n","import React from 'react';\nimport { Icon, IconButton } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../Utills';\n\nconst FileUploadResultItem = ({ name, size, onDelete }) => {\n return (\n
  • \n insert_drive_file\n\n
    \n

    {name}

    \n

    {Utils.bytesToSize(size)}

    \n
    \n\n onDelete(name)}>\n delete\n \n
  • \n );\n};\n\nFileUploadResultItem.propTypes = {\n name: PropTypes.string.isRequired,\n size: PropTypes.number.isRequired,\n onDelete: PropTypes.func.isRequired,\n};\n\nexport default FileUploadResultItem;\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport FileUploadResultItem from './UploadResultItem';\n\nconst css = makeStyles((theme) => ({\n FileUploadResult: {\n color: theme.palette.grey[700],\n margin: '1em 0',\n padding: '0',\n },\n}));\n\nconst FileUploadResult = ({ files, file, multiple, onDelete }) => {\n const classes = css();\n\n return (\n
      \n {multiple ? (\n files.map((fileItem) => (\n onDelete(fileItem.name)}\n />\n ))\n ) : (\n \n )}\n
    \n );\n};\n\nFileUploadResult.defaultProps = {\n files: [],\n file: null,\n};\n\nFileUploadResult.propTypes = {\n files: PropTypes.arrayOf(PropTypes.object),\n file: PropTypes.objectOf(PropTypes.any),\n multiple: PropTypes.bool.isRequired,\n onDelete: PropTypes.func.isRequired,\n};\n\nexport default FileUploadResult;\n","import React, { useState } from 'react';\nimport { Icon, CircularProgress } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport FileUploadResult from './UploadResult';\nimport { Utils } from \"../../Utills\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { snackbarTypes } from \"../../redux/models/ui\";\n\nconst css = makeStyles((theme) => ({\n FileUpload: {\n position: 'relative',\n color: theme.palette.grey[600],\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n cursor: 'pointer',\n border: `2px dashed ${theme.palette.grey[400]}`,\n borderRadius: 5,\n padding: '.5em 1em',\n },\n 'FileUpload-label': {\n fontWeight: 300,\n fontSize: '15px',\n },\n 'FileUpload-input': {\n opacity: 0,\n position: 'absolute',\n left: 0,\n top: 0,\n width: '100%',\n height: '100%',\n zIndex: 99,\n },\n}));\n\nconst FileUpload = React.forwardRef(\n ({ className, label, id, accept, fileChange, multiple, uploading, disableResult, disabled }, ref) => {\n const classes = css();\n const [files, setFiles] = useState([]);\n const [file, setFile] = useState('');\n const [size, setSize] = useState(0);\n const dispatch = useDispatch();\n const auth = useSelector((state) => state.auth);\n\n const setFilesResultHandler = (event) => {\n const filesList = event.target.files;\n if(Utils.isStudent(auth.user.role.name, auth.roles)) {\n if (filesList && multiple) {\n let totalSize = 0;\n let overSizedFiles = 0;\n filesList.forEach((file) => {\n const fileSize = ((file.size/1024)/1024).toFixed(4);\n totalSize += +fileSize;\n if(fileSize > 10)\n overSizedFiles++;\n });\n totalSize += +size;\n if(overSizedFiles === 0 && totalSize < 10) {\n setFiles(Object.values(filesList));\n fileChange(id, Object.values(filesList));\n setSize(totalSize);\n } else\n {\n console.log(`El peso total es ${totalSize} y hay ${overSizedFiles} archivos con sobre peso`);\n dispatch.ui.openSnackbar({ message: \"Un archivo exede de 10MB\", type: snackbarTypes.error });\n }\n } else if (filesList && !multiple) {\n const fileSize = ((filesList[0].size/1024)/1024).toFixed(4);\n if(fileSize < 10)\n {\n setFile(filesList[0]);\n fileChange(id, filesList[0]);\n setSize(+size+fileSize);\n } else\n {\n console.log(`El peso total es ${fileSize}`);\n dispatch.ui.openSnackbar({ message: \"Archivo exede de 10MB\", type: snackbarTypes.error });\n }\n }\n } else {\n if (filesList && multiple) {\n setFiles(Object.values(filesList));\n fileChange(id, Object.values(filesList));\n } else if (filesList && !multiple) {\n setFile(filesList[0]);\n fileChange(id, filesList[0]);\n }\n }\n };\n\n const cleanInputFileHandler = (event) => {\n const control = event.target;\n control.value = null;\n };\n\n const deleteFileHandler = (fileName) => {\n if (multiple) {\n const updatedFiles = files.filter((fileItem) => fileName !== fileItem.name);\n setFiles(updatedFiles);\n fileChange(id, updatedFiles);\n } else {\n setFile('');\n fileChange(id, '');\n }\n };\n\n return (\n <>\n \n\n {(file || files.length > 0) && !disableResult && (\n \n )}\n \n );\n }\n);\n\nFileUpload.defaultProps = {\n multiple: false,\n accept: '',\n className: '',\n uploading: false,\n disableResult: false,\n disabled: false,\n};\n\nFileUpload.propTypes = {\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n accept: PropTypes.string,\n className: PropTypes.string,\n fileChange: PropTypes.func.isRequired,\n multiple: PropTypes.bool,\n uploading: PropTypes.bool,\n disableResult: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nexport default FileUpload;\n","import React, { useState, useCallback, useRef, useEffect } from \"react\";\nimport { Paper, InputBase, Icon, IconButton } from \"@material-ui/core\";\nimport PropTypes from \"prop-types\";\nimport css from \"./SearchBar.module.scss\";\n\nconst SearchBar = ({ onSearch, placeholder, initialValue }) => {\n const [search, setSearch] = useState(\"\");\n const timeout = useRef(null);\n\n const handleChange = useCallback(\n (value) => {\n clearTimeout(timeout.current);\n setSearch(value);\n\n timeout.current = setTimeout(() => {\n onSearch(value);\n }, 500);\n },\n [onSearch]\n );\n\n useEffect(() => {\n setSearch(initialValue);\n }, [initialValue]);\n\n return (\n \n \n search\n \n\n
    \n\n handleChange(e.target.value)}\n />\n\n {search && (\n handleChange(\"\")} size=\"small\">\n close\n \n )}\n \n );\n};\n\nSearchBar.propTypes = {\n onSearch: PropTypes.func.isRequired,\n placeholder: PropTypes.string,\n initialValue: PropTypes.string,\n};\n\nSearchBar.defaultProps = {\n placeholder: \"Buscar\",\n initialValue: \"\",\n};\n\nexport default React.memo(SearchBar);\n","import React, { useRef, useState } from 'react';\nimport QRCode from 'qrcode.react';\nimport css from './QrCode.module.scss';\nimport * as htmlToImage from 'html-to-image';\nimport { snackbarTypes } from '../../redux/models/ui';\nimport { useDispatch } from 'react-redux';\n\nconst QrCode = ({ code }) => {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(false);\n const ref = useRef();\n\n const downloadQrImage = () => {\n setLoading(true);\n\n htmlToImage\n .toJpeg(ref.current, { quality: 0.95 })\n .then((dataUrl) => {\n const link = document.createElement('a');\n link.download = code;\n link.href = dataUrl;\n link.click();\n setLoading(false);\n })\n .catch((error) =>\n dispatch.ui.openSnackbar({ message: error.message, type: snackbarTypes.error })\n );\n };\n\n return (\n
    \n
    \n \n\n

    {code}

    \n
    \n\n \n {loading ? 'Descargando...' : 'Descargar'}\n \n
    \n );\n};\n\nQrCode.defaultProps = {\n code: 'NA',\n};\n\nexport default QrCode;\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { CircularProgress, IconButton } from \"@material-ui/core\";\nimport { Document, Page, pdfjs } from \"react-pdf\";\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\nimport FullscreenIcon from \"@material-ui/icons/Fullscreen\";\nimport ZoomInIcon from \"@material-ui/icons/ZoomIn\";\nimport ZoomOutIcon from \"@material-ui/icons/ZoomOut\";\nimport FullscreenExitIcon from \"@material-ui/icons/FullscreenExit\";\n\npdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;\n\nfunction openFullscreen(elem) {\n if (!elem) return;\n\n if (elem.requestFullscreen) {\n elem.requestFullscreen();\n } else if (elem.mozRequestFullScreen) {\n /* Firefox */\n elem.mozRequestFullScreen();\n } else if (elem.webkitRequestFullscreen) {\n /* Chrome, Safari and Opera */\n elem.webkitRequestFullscreen();\n } else if (elem.msRequestFullscreen) {\n /* IE/Edge */\n elem.msRequestFullscreen();\n }\n}\n\nconst LEFT = \"ArrowLeft\";\nconst RIGHT = \"ArrowRight\";\n\nconst PdfViewer = ({ pdfUrl }) => {\n const next = useRef(null); // ref for next button\n const prev = useRef(null); // ref for prev button\n const pdf = useRef(null); // ref for requestFullScreen\n\n const [numPages, setNumPages] = useState(null);\n const [pageNumber, setPageNumber] = useState(1);\n const [scale, setScale] = useState(1);\n const [pageSize, setPageSize] = useState(500);\n const [fullScreen, setFullScreen] = useState(false);\n\n const changePage = useCallback(\n (offset) => setPageNumber((prevPageNumber) => prevPageNumber + offset),\n [setPageNumber]\n );\n const previousPage = useCallback(() => {\n if (pageNumber > 1) {\n changePage(-1);\n }\n }, [changePage, pageNumber]);\n\n const nextPage = useCallback(() => {\n if (pageNumber < numPages) {\n changePage(1);\n }\n }, [changePage, numPages, pageNumber]);\n\n const onDocumentLoadSuccess = ({ numPages }) => {\n setNumPages(numPages);\n setPageSize(window.innerHeight + 500);\n };\n\n const enterFullScreen = () => {\n openFullscreen(pdf.current);\n setPageSize(window.innerHeight + 500);\n setFullScreen(true);\n };\n\n const exitFullScreen = () => {\n document.exitFullscreen();\n setFullScreen(false);\n setPageSize(window.innerHeight + 500);\n };\n\n const zoomIn = () => {\n if (scale < 1.5) {\n setScale((st) => (st += 0.1));\n }\n };\n\n const zoomOut = () => {\n if (scale > 1) {\n setScale((st) => (st -= 0.1));\n }\n };\n\n function exitHandler() {\n const fullscreenElement =\n document.fullscreenElement ||\n document.mozFullScreenElement ||\n document.webkitFullscreenElement;\n if (!fullscreenElement) {\n setFullScreen(false);\n }\n }\n\n useEffect(() => {\n window.addEventListener(\"keydown\", (e) => {\n if (e.key === LEFT && prev.current) {\n prev.current.click();\n }\n if (e.key === RIGHT && next.current) {\n next.current.click();\n }\n });\n\n document.addEventListener(\"fullscreenchange\", exitHandler, false);\n document.addEventListener(\"mozfullscreenchange\", exitHandler, false);\n document.addEventListener(\"webkitfullscreenchange\", exitHandler, false);\n\n return () => {\n window.removeEventListener(\"keydown\", () => null);\n document.addEventListener(\"fullscreenchange\", () => null);\n document.addEventListener(\"mozfullscreenchange\", () => null);\n document.addEventListener(\"webkitfullscreenchange\", () => null);\n };\n }, []);\n\n return (\n \n
    \n {!fullScreen && (\n \n \n \n )}\n\n {fullScreen && (\n \n \n \n )}\n\n \n \n \n\n \n \n \n\n \n \n \n\n

    página

    \n {\n const val = +e.target.value;\n if (val > numPages || val < 1) return;\n setPageNumber(+e.target.value);\n }}\n />\n

    de {numPages || \"--\"}

    \n\n = numPages}\n onClick={nextPage}\n >\n \n \n
    \n\n f(process.env.REACT_APP_P)}\n onLoadSuccess={onDocumentLoadSuccess}\n renderMode=\"canvas\"\n noData={

    Archivo no disponible

    }\n loading={\n
    \n \n
    \n }\n >\n \n \n
    \n );\n};\n\nexport default PdfViewer;\n","import UISnackbar from './Snackbar';\nimport PrivateRoute from './PrivateRoute';\nimport Alert from './Alert';\nimport Pagination from './Pagination';\nimport FileUpload from './FileUpload/FileUpload';\nimport DetailThumbnail from './DetailThumbnail/DetailThumbnail';\nimport SearchBar from './SearchBar/SearchBar';\nimport CustomModal from './CustomModal';\nimport QrCode from './QrCode/QrCode';\nimport PdfViewer from './PdfViewer';\n\nexport {\n UISnackbar,\n PrivateRoute,\n Alert,\n SearchBar,\n Pagination,\n FileUpload,\n DetailThumbnail,\n CustomModal,\n QrCode,\n PdfViewer\n};\n","export function removeCSSClass(ele, cls) {\r\n const reg = new RegExp(\"(\\\\s|^)\" + cls + \"(\\\\s|$)\");\r\n ele.className = ele.className.replace(reg, \" \");\r\n}\r\n\r\nexport function addCSSClass(ele, cls) {\r\n ele.classList.add(cls);\r\n}\r\n\r\nexport const toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n","import React, {createContext, useState, useContext} from \"react\";\r\n\r\nexport function getBreadcrumbsAndTitle(menuId, pathName) {\r\n const result = {\r\n breadcrumbs: [],\r\n title: \"\"\r\n };\r\n const menu = document.getElementById(menuId);\r\n if (!menu) {\r\n return result;\r\n }\r\n\r\n\r\n const activeLinksArray = Array.from(menu.getElementsByClassName(\"active\") || []);\r\n const activeLinks = activeLinksArray.filter(el => el.tagName === \"A\");\r\n if (!activeLinks) {\r\n return result;\r\n }\r\n\r\n activeLinks.forEach(link => {\r\n const titleSpans = link.getElementsByClassName(\"menu-text\");\r\n if (titleSpans) {\r\n const titleSpan = Array.from(titleSpans).find(t => t.innerHTML);\r\n if (titleSpan) {\r\n result.breadcrumbs.push(\r\n {\r\n pathname: link.pathname,\r\n title: titleSpan.innerHTML\r\n }\r\n );\r\n }\r\n }\r\n });\r\n result.title = getTitle(result.breadcrumbs, pathName);\r\n return result;\r\n}\r\n\r\nexport function getTitle(breadCrumbs, pathname) {\r\n if (!breadCrumbs || !pathname) {\r\n return \"\";\r\n }\r\n\r\n const item = breadCrumbs.find(b => b.pathname === pathname);\r\n if (!item) {\r\n return \"\";\r\n }\r\n\r\n return item.title;\r\n}\r\n\r\nconst SubheaderContext = createContext();\r\n\r\nexport function useSubheader() {\r\n return useContext(SubheaderContext);\r\n}\r\n\r\nexport const SubheaderConsumer = SubheaderContext.Consumer;\r\n\r\nexport function MetronicSubheaderProvider({ children }) {\r\n const [title, setTitle] = useState(\"\");\r\n const [breadcrumbs, setBreadcrumbs] = useState([]);\r\n const value = { title, setTitle, breadcrumbs, setBreadcrumbs };\r\n return {children};\r\n}\r\n","import { statuses } from '../../constants';\nimport { ITEMS_PER_PAGE } from '../../hooks/useTable';\n\nconst books = {\n state: {\n status: '',\n itemsList: [],\n teachersBooks: [\n {\n id: 1,\n name: 'Ask Out 1',\n description:\n 'Contiene ejercicios y material adicional para facilitar el aprendizaje del Ingles.',\n author: 'Silvia Zuchovicki Scharkansky',\n image: '/media/books/portada.jpg',\n },\n ],\n pagination: {\n totalItems: 0,\n totalPages: 0,\n },\n error: null,\n },\n reducers: {\n createUpdate: (state) => ({ ...state, status: statuses.waiting, error: null }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({ ...state, status: statuses.failed, error }),\n\n fetchItems: (state) => ({ ...state, status: statuses.waiting, error: null }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload.results,\n pagination: {\n totalItems: payload.totalItems,\n totalPages: payload.totalItems > 0 ? Math.ceil(payload.totalItems / ITEMS_PER_PAGE) : 0,\n },\n }),\n fetchItemsFailed: (state, payload) => ({ ...state, status: statuses.failed, error: payload }),\n },\n};\n\nexport default books;\n","import { createBrowserHistory } from 'history';\n\nconst appHistory = createBrowserHistory();\n\nexport default appHistory;\n","import \"firebase/auth\";\nimport appHistory from \"../../history\";\nimport { statuses } from \"../../constants\";\nimport HTTP from \"../../axios\";\nimport { snackbarTypes } from \"./ui\";\nimport { Utils } from \"../../Utills\";\nimport AWS from \"aws-sdk\";\n\nconst auth = {\n state: {\n user: null,\n roles: null,\n status: \"\",\n error: null,\n emailVerified: false,\n aws: null\n },\n reducers: {\n infoUser: (state, { token, aws }) => ({\n ...state,\n aws: { token, aws },\n }),\n register: (state) => ({ ...state, status: statuses.waiting, error: null }),\n registerSuccess: (state) => ({ ...state, status: statuses.received }),\n registerFailed: (state) => ({ ...state, status: statuses.failed }),\n\n updateUserName: (state, payload) => ({\n ...state,\n user: {\n ...state.user,\n name: payload.name, \n lastname: payload.lastname,\n lastname2: payload.lastname2,\n },\n }),\n acceptTermConditions: (state, payload) => ({\n ...state,\n user: { ...state.user, terms: payload.terms },\n }),\n setEmailVerification: (state, payload) => ({\n ...state,\n emailVerified: payload,\n status: statuses.received,\n }),\n\n signin: (state) => ({ ...state, status: statuses.waiting, error: null }),\n signinSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n user: { ...payload.user },\n roles: { ...payload.roles },\n }),\n signinFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n },\n effects: (dispatch) => ({\n signout() {\n dispatch({ type: \"RESET_APP\" });\n appHistory.push(\"/auth\");\n },\n async fetchUserData(user) {\n try {\n let teacherId = null;\n const userToken = await user.getIdToken();\n const headers = { authentication: userToken };\n\n const userInfo = await HTTP.get(`/users/user/${user.email}`, {\n headers,\n });\n const roles = await HTTP.get(`/users/roles`, { headers });\n const resultRoles = roles.data.reduce((acc, curr, i) => {\n acc[curr.name] = curr;\n return acc;\n }, {});\n\n console.log(\"USER INFO\", userInfo);\n console.log(\"ROLES\", roles);\n\n if (Utils.isTeacher(userInfo.data.role.name, resultRoles)) {\n const result = await HTTP.get(\n `/professors/professor-info/${userInfo.data.email}`,\n {\n headers,\n }\n );\n teacherId = result.data.id;\n }\n AWS.config.region = process.env.REACT_APP_AWS_REGION;\n console.log(process.env.REACT_APP_S3_BUCKET_NAME)\n AWS.config.credentials = new AWS.CognitoIdentityCredentials({\n IdentityPoolId: process.env.REACT_APP_AWS_IDENTITY_POOL_ID,\n RoleArn: process.env.REACT_AWS_ROLE_ARN,\n RoleSessionName: process.env.REACT_AWS_ROLE_SESSION_NAME,\n Logins: {\n [process.env.REACT_APP_AWS_LOGINS_URL]: userToken,\n },\n });\n const cognitoidentity = new AWS.CognitoIdentity(); // Original\n const parms1 = {\n IdentityPoolId: process.env.REACT_APP_AWS_IDENTITY_POOL_ID,\n Logins: {\n [process.env.REACT_APP_AWS_LOGINS_URL]: userToken,\n },\n };\n const { IdentityId } = await cognitoidentity.getId(parms1).promise();\n const parms2 = {\n IdentityId,\n Logins: {\n [process.env.REACT_APP_AWS_LOGINS_URL]: userToken,\n },\n }; \n const { Credentials } = await cognitoidentity.getCredentialsForIdentity(parms2).promise();\n const { AccessKeyId, SecretKey,SessionToken } = Credentials;\n dispatch.auth.infoUser({\n token: userToken,\n aws: { AccessKeyId, SecretKey,SessionToken },\n });\n dispatch.auth.signinSuccess({\n token: userToken,\n user: {\n name: userInfo.data.name,\n lastname: userInfo.data.lastName,\n lastname2: userInfo.data.lastName2,\n email: userInfo.data.email,\n id: userInfo.data.userId,\n terms: userInfo.data.terms || 0,\n userId: userInfo.data.userId,\n role: userInfo.data.role,\n teacherId,\n },\n roles: resultRoles,\n });\n } catch (error) {\n console.error(error);\n dispatch.auth.signinFailed(error);\n dispatch.ui.openSnackbar({\n message: error.message,\n type: snackbarTypes.error,\n });\n }\n },\n }),\n};\n\nexport default auth;\n","import { statuses } from \"../../constants\";\nimport { AES } from \"crypto-js\";\n\nconst activities = {\n state: {\n status: \"\",\n itemsList: [],\n activities: [],\n error: null,\n },\n reducers: {\n fetchItems: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload.itemsList,\n activities: payload.activities,\n }),\n fetchItemsFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n createUpdate: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({\n ...state,\n status: statuses.failed,\n error,\n }),\n },\n\n effects: (dispatch) => ({\n async fetchItems({ ref }) {\n const snapshot = await ref.get();\n if (snapshot.empty) {\n dispatch.activities.fetchItemsSuccess({\n itemsList: [],\n activities: [],\n });\n }\n\n if (!snapshot.empty) {\n const data = [];\n snapshot.docs.forEach((doc) => {\n data.push({\n ...doc.data(),\n id: doc.id,\n Respuesta: AES.encrypt(\n doc.data().Respuesta,\n process.env.REACT_APP_RES_PASS\n ).toString(),\n });\n });\n\n const ordeeredActivities = data\n .map((item) => ({\n id: item.id,\n Actividad: item.Actividad,\n Name: item.NameA,\n page: item.Pagina,\n type: item.Tipo,\n res: item.Respuesta,\n Libro: item.Libro,\n }))\n .filter(\n (item, i, arr) =>\n arr.findIndex((el) => el.Actividad === item.Actividad) === i\n )\n .sort((a, b) => +a.Actividad - +b.Actividad);\n\n dispatch.activities.fetchItemsSuccess({\n itemsList: data, // firebase full list\n activities: ordeeredActivities, // activities list with sort\n });\n }\n },\n }),\n};\n\nexport default activities;\n","/* eslint-disable no-unused-vars */\nimport HTTP from \"../../axios\";\nimport { snackbarTypes } from \"./ui\";\n\nconst crud = {\n state: {\n error: null,\n },\n effects: (dispatch) => ({\n fetchItems(payload) {\n const { params, path, crudId } = payload;\n let urlParams = \"\";\n\n dispatch[crudId].fetchItems();\n if (params) {\n urlParams = Object.keys(params)\n .map((param) => `${params[param]}`)\n .join(\"/\");\n }\n const url = params ? `${path}/${urlParams}` : path;\n\n HTTP.get(url)\n .then((res) => {\n console.log(res.data);\n dispatch[crudId].fetchItemsSuccess(res.data);\n })\n .catch((error) => {\n let msg = error.message;\n if (error.response && error.response.data) {\n msg = error.response.data.message;\n }\n\n dispatch[crudId].fetchItemsFailed(error);\n dispatch.ui.openSnackbar({\n message: msg || \"Algo ha salido mal.\",\n type: snackbarTypes.error,\n });\n });\n },\n\n createUpdate(payload) {\n const {\n method,\n url,\n body,\n crudId,\n afterFuncSuccess,\n afterFuncFailed,\n } = payload;\n dispatch[crudId].createUpdate();\n\n HTTP[`${method}`](url, body)\n .then(() => {\n dispatch[crudId].createUpdateSuccess();\n if (afterFuncSuccess) afterFuncSuccess();\n dispatch.ui.openSnackbar({\n message: `El elemento ha sido guardado correctamente.`,\n type: snackbarTypes.success,\n });\n })\n .catch((error) => {\n let errorMessage = error.message;\n if (error.response && error.response.data) {\n errorMessage = error.response.data.message;\n }\n if (\n error.response &&\n error.response.data &&\n error.response.data.message &&\n error.response.data.message.message\n ) {\n errorMessage = error.response.data.message.message;\n }\n\n dispatch.ui.openSnackbar({\n message: errorMessage,\n type: snackbarTypes.error,\n });\n\n dispatch[crudId].createUpdateFailed(error.response);\n if (afterFuncFailed) afterFuncFailed();\n });\n },\n\n delete(payload) {\n const {\n url,\n crudId,\n afterFuncSuccess,\n afterFuncFailed,\n listParams,\n listPath,\n } = payload;\n\n HTTP.delete(url)\n .then(() => {\n if (afterFuncSuccess) {\n afterFuncSuccess();\n }\n\n dispatch.ui.openSnackbar({\n message: \"El elemento ha sido eliminado con éxito\",\n type: snackbarTypes.success,\n });\n\n if (listPath) {\n dispatch.crud.fetchItems({\n params: listParams,\n path: listPath,\n crudId,\n });\n }\n })\n .catch((error) => {\n let errorMessage = error.message;\n if (error.response && error.response.data) {\n errorMessage = error.response.data.message;\n dispatch[crudId].fetchItemsFailed(error.response);\n }\n\n if (afterFuncFailed) {\n afterFuncFailed();\n }\n\n dispatch.ui.openSnackbar({\n message: errorMessage,\n type: snackbarTypes.error,\n });\n });\n },\n }),\n};\n\nexport default crud;\n","import { statuses } from '../../constants';\nimport { ITEMS_PER_PAGE } from '../../hooks/useTable';\n\nconst extraContent = {\n state: {\n status: '',\n itemsList: [],\n edition: null,\n pagination: {\n totalPages: 0,\n totalObjects: 0,\n },\n error: null,\n },\n reducers: {\n createUpdate: (state) => ({ ...state, status: statuses.waiting, error: null }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({ ...state, status: statuses.failed, error }),\n setEdition:(state, payload) => ({ ...state, edition: payload }),\n fetchItems: (state) => ({ ...state, status: statuses.waiting, error: null }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload.results,\n pagination: {\n totalItems: payload.totalItems,\n totalPages: payload.totalItems > 0 ? Math.ceil(payload.totalItems / ITEMS_PER_PAGE) : 0,\n }\n }),\n fetchItemsFailed: (state, payload) => ({ ...state, status: statuses.failed, error: payload }),\n },\n};\n\nexport default extraContent;","import { statuses } from '../../constants';\nimport { ITEMS_PER_PAGE } from '../../hooks/useTable';\n\nconst teachers = {\n state: {\n status: '',\n itemsList: [],\n pagination: {\n totalItems: 0,\n totalPages: 0,\n },\n error: null,\n },\n reducers: {\n createUpdate: (state) => ({ ...state, status: statuses.waiting, error: null }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({ ...state, status: statuses.failed, error }),\n\n fetchItems: (state) => ({ ...state, status: statuses.waiting, error: null }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload.results,\n pagination: {\n totalItems: payload.totalItems,\n totalPages: payload.totalItems > 0 ? Math.ceil(payload.totalItems / ITEMS_PER_PAGE) : 0,\n },\n }),\n fetchItemsFailed: (state, payload) => ({ ...state, status: statuses.failed, error: payload }),\n },\n};\n\nexport default teachers;\n","import { statuses } from '../../constants';\nimport { ITEMS_PER_PAGE } from '../../hooks/useTable';\n\nconst groups = {\n state: {\n status: '',\n itemsList: [],\n pagination: {\n totalItems: 0,\n totalPages: 0,\n },\n error: null,\n },\n reducers: {\n createUpdate: (state) => ({ ...state, status: statuses.waiting, error: null }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({ ...state, status: statuses.failed, error }),\n\n fetchItems: (state) => ({ ...state, status: statuses.waiting, error: null }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload.results,\n pagination: {\n totalItems: payload.totalItems,\n totalPages: payload.totalItems > 0 ? Math.ceil(payload.totalItems / ITEMS_PER_PAGE) : 0,\n },\n }),\n fetchItemsFailed: (state, payload) => ({ ...state, status: statuses.failed, error: payload }),\n },\n};\n\nexport default groups;\n","import HTTP from \"../../axios\";\nimport { statuses } from \"../../constants\";\nimport { ITEMS_PER_PAGE } from \"../../hooks/useTable\";\n\nconst students = {\n state: {\n loading: false,\n status: \"\",\n itemsList: [],\n pagination: {\n totalItems: 0,\n totalPages: 0,\n },\n error: null,\n alumnos: [],\n allEmails: [],\n searchAlumno: {},\n Grupos: [],\n },\n reducers: {\n getSortAlumnos: (state, payload) => ({\n ...state,\n alumnos: payload,\n }),\n createUpdate: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({\n ...state,\n status: statuses.failed,\n error,\n }),\n\n fetchItems: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload.results,\n pagination: {\n totalItems: payload.totalItems,\n totalPages:\n payload.totalItems > 0\n ? Math.ceil(payload.totalItems / ITEMS_PER_PAGE)\n : 0,\n },\n }),\n fetchItemsFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n fetchAllEmails: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null\n }),\n fetchAllEmailsSuccess: ( state, payload ) => ({\n ...state,\n status: statuses.received,\n allEmails: payload\n }),\n fetchAllEmailsFailed: ( state, payload ) => ({\n ...state,\n status: statuses.failed,\n error: payload\n }),\n setStudentForSearch: ( state , payload ) => ({\n ...state,\n loading: true,\n searchAlumno: state.allEmails.find( alumno => payload.textSearch === alumno.email)\n }),\n setStudentForSearchFinish: ( state , payload ) => ({\n ...state,\n loading: false\n }),\n fetchGroupsOfStudentById: ( state, payload ) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n fetchGroupsOfStudentByIdSuccess: ( state, payload ) => ({\n ...state,\n loading: false,\n status: statuses.received,\n Grupos: payload,\n }),\n fetchGroupsOfStudentByIdFailed: ( state, payload ) => ({\n ...state,\n loading: false,\n status: statuses.failed,\n error: payload,\n }),\n deleteStudentOfGroup: ( state, payload ) => ({\n ...state,\n status: statuses.waiting,\n error: null\n }),\n deleteStudentOfGroupSuccess: ( state, payload ) => ({\n ...state,\n status: statuses.received,\n Grupos: state.Grupos.filter( grupo => grupo.id !== payload )\n }),\n deleteStudentOfGroupFailed: ( state , payload ) => ({\n ...state,\n status: statuses.failed,\n error: payload\n\n })\n },\n effects: (dispatch) => ({\n async fetchAllEmails() {\n try {\n const resultCount = await HTTP.get('/users/getStudentsNumber');\n const divider = Math.round((+resultCount.data.totalStudents) / 1e4)\n let totalResults = [];\n for(let i = 0; i < divider; i++) {\n const result = await HTTP.get(`/users/getAllStudents/${i}/${divider}`);\n totalResults = [ ...totalResults, result.data.body];\n }\n let emails = [];\n totalResults.forEach(item => {\n item.forEach(element => {\n emails = [ ...emails ,\n {\n id: element.roleUser.id,\n email: element.roleUser.email,\n name: `${element.roleUser.name.trim()} ${element.roleUser.lastName.trim()} ${element.roleUser.lastName2.trim()}`\n } ];\n });\n });\n dispatch.students.fetchAllEmailsSuccess( emails );\n } catch ( error ) {\n console.warn( error)\n dispatch.students.fetchAllEmailsFailed( error )\n }\n },\n async fetchGroupsOfStudentById({ userId }) {\n try {\n const result = await HTTP.get(`/users/getGroupsOfStudentById/${userId}`);\n console.log( result.data.body );\n dispatch.students.fetchGroupsOfStudentByIdSuccess( result.data.body );\n } catch ( error ) {\n console.warn( error );\n dispatch.students.fetchGroupsOfStudentByIdFailed( error );\n }\n },\n async deleteStudentOfGroup({ stGroupId, userId }) {\n try {\n await HTTP.delete(`/users/deleteStudentFromGroupById/${ stGroupId }/${ userId}`);\n dispatch.students.deleteStudentOfGroupSuccess(stGroupId);\n } catch ( error ) {\n console.warn( error );\n dispatch.students.deleteStudentOfGroupFailed( error )\n }\n }\n })\n};\n\nexport default students;\n","import { statuses } from '../../constants';\nimport { ITEMS_PER_PAGE } from '../../hooks/useTable';\n\nconst grades = {\n state: {\n status: '',\n itemsList: [\n { id: 1, name: 'Jorge Barrón', activites: '12 de 30', tasks: '10 de 15', average: 40, grade: 90 },\n { id: 2, name: 'Eduardo Castillo', activites: '12 de 15', tasks: '10 de 11', average: 60, grade: 50 },\n { id: 3, name: 'Daniel Moreno', activites: '3 de 15', tasks: '5 de 11', average: 40, grade: 40 },\n ],\n pagination: {\n totalItems: 0,\n totalPages: 0,\n },\n error: null,\n },\n reducers: {\n createUpdate: (state) => ({ ...state, status: statuses.waiting, error: null }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({ ...state, status: statuses.failed, error }),\n\n fetchItems: (state) => ({ ...state, status: statuses.waiting, error: null }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload.results,\n pagination: {\n totalItems: payload.totalItems,\n totalPages: payload.totalItems > 0 ? Math.ceil(payload.totalItems / ITEMS_PER_PAGE) : 0\n },\n }),\n fetchItemsFailed: (state, payload) => ({ ...state, status: statuses.failed, error: payload }),\n },\n};\n\nexport default grades;\n","import { statuses } from \"../../constants\";\nimport { ITEMS_PER_PAGE } from \"../../hooks/useTable\";\n\nconst tasks = {\n state: {\n status: \"\",\n itemsList: [\n {\n id: 1,\n group: \"DB1\",\n task: \"Tarea 1\",\n book: \"AO1\",\n date: \"22/Sep/2020\",\n },\n {\n id: 2,\n group: \"DB2\",\n task: \"Tarea 2\",\n book: \"AO1\",\n date: \"22/Sep/2020\",\n },\n {\n id: 3,\n group: \"DB3\",\n task: \"Tarea 3\",\n book: \"AO1\",\n date: \"24/Sep/2020\",\n },\n ],\n pagination: {\n totalItems: 0,\n totalPages: 0,\n },\n error: null,\n allow: false,\n },\n reducers: {\n createUpdate: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({\n ...state,\n status: statuses.failed,\n error,\n }),\n\n fetchItems: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload.results,\n pagination: {\n totalItems: payload.totalItems,\n totalPages:\n payload.totalItems > 0\n ? Math.ceil(payload.totalItems / ITEMS_PER_PAGE)\n : 0,\n },\n }),\n fetchItemsFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n allowTask: (state, payload) => ({ ...state, allow: payload }),\n },\n};\n\nexport default tasks;\n","import \"firebase/auth\";\nimport { statuses } from \"../../constants\";\nimport HTTP from \"../../axios\";\nimport { snackbarTypes } from \"./ui\";\n\nconst userData = {\n state: {\n status: \"\",\n error: null,\n books: [],\n groups: [],\n groupTasks: [],\n userTasks: [],\n userActivities: [],\n scheduledActivities: [],\n Examenes: [],\n TareasPendientes: [],\n Actividades: [],\n Diagnosticos: [],\n },\n reducers: {\n getUserBooks: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n getUserBooksSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n books: payload,\n }),\n getUserBooksFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n\n getUserGroups: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n getUserGroupsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n groups: payload,\n }),\n getUserGroupsFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n\n getGroupTasks: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n getGroupTasksSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n groupTasks: payload,\n }),\n getGroupTasksFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n\n getUserTasks: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n getUserTasksSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n userTasks: payload,\n }),\n getUserTasksFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n\n getUserActivities: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n getUserActivitiesSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n userActivities: payload,\n }),\n getUserActivitiesFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n\n getScheduledActivities: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n getScheduledActivitiesSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n scheduledActivities: payload,\n }),\n getScheduledActivitiesFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n getTareasPendientes: (state , payload) => ({\n ...state,\n status: statuses.waiting,\n error: null\n }),\n getTareasPendientesFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload\n }),\n getTareasPendientesSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n TareasPendientes: payload,\n }),\n getActivitiesPendientes: (state, payload) => ({\n ...state,\n status: statuses.waiting,\n error: null\n }),\n getActivitiesPendientesSucess: (state, payload) => ({\n ...state,\n status: statuses.received,\n Actividades: payload\n }),\n getActivitiesPendientesFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload\n }),\n getDiagnosticosPendientes: (state, payload) => ({\n ...state,\n status: statuses.waiting,\n error: null\n }),\n getDiagnosticosPendientesSucess: (state, payload) => ({\n ...state,\n status: statuses.received,\n Diagnosticos: payload\n }),\n getDiagnosticosPendientesFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload\n }),\n getExamenesPendientes: (state , payload ) => ({\n ...state,\n status: statuses.waiting,\n error: null \n }),\n getExamenesPendientesSuccess: (state , payload ) => ({\n ...state,\n status: statuses.received,\n Examenes: payload \n }),\n getExamenesPendientesFailed: (state , payload ) => ({\n ...state,\n status: statuses.failed,\n error: payload \n }),\n },\n effects: (dispatch) => ({\n async getUserBooks({ id }) {\n try {\n const result = await HTTP.get(`/books/books-by-user/${id}`);\n const books = result.data\n .filter((book) => !!book.edition.pathWeb)\n .map(async (book) => {\n book = {\n id: book.id,\n name: book.bookData.name,\n author: book.bookData.author,\n description: book.bookData.description,\n pdf: book.edition.pathWebS3,\n cover: book.edition.cover,\n editionName: book.edition && book.edition.name,\n editionId: book.edition && book.edition.id,\n bookCode:\n book.editionPrintingData && book.editionPrintingData.code,\n };\n const result = await HTTP.get(\n `/groups/student-class-book/${id}/${book.editionId}`\n );\n if (result?.data[0]?.groupId) {\n const { data } = await HTTP.get(\n `/professors/professor-by-id/${result.data[0].group.professorId}`\n );\n book = {\n ...book,\n groupId: result.data[0].groupId,\n group: result.data[0].group,\n professor: `${data.name} ${data.lastName}`,\n };\n }\n return book;\n });\n\n dispatch.userData.getUserBooksSuccess(await Promise.all(books));\n } catch (error) {\n dispatch.ui.openSnackbar({\n message: error.message,\n type: snackbarTypes.error,\n });\n dispatch.userData.getUserBooksFailed(error);\n }\n },\n\n async getUserGroups({ userId }) {\n try {\n const result = await HTTP.get(`/groups/user-group-info/${userId}`);\n const userGroups = await Promise.all(\n result.data.map(async (group) => {\n let { data } = await HTTP.get(\n `/groups/class-group/${group.group.id}`\n );\n // console.log({...group, studentAmount: data.length})\n return { ...group, studentAmount: data.length };\n })\n );\n dispatch.userData.getUserGroupsSuccess(userGroups);\n } catch (error) {\n dispatch.userData.getUserGroupsFailed(error);\n }\n },\n\n async getGroupTasks({ groupId }) {\n try {\n const result = await HTTP.get(`/homework/all/${groupId}`);\n const finalData = result.data.map(async (item) => {\n try {\n let S3Url = \"\";\n if (item.documentPath) {\n S3Url = item.documentPathS3;\n }\n return { ...item, S3Url };\n } catch (error) {\n return {\n error: {\n message: error.message,\n data: { taskId: item.id, taskName: item.name },\n },\n };\n }\n });\n dispatch.userData.getGroupTasksSuccess(await Promise.all(finalData));\n } catch (error) {\n console.log(error.message);\n dispatch.userData.getGroupTasksFailed(error);\n }\n },\n\n async getUserTasks({ userId, groupId }) {\n try {\n const result = await HTTP.get(\n `/homework/all-user-homework/${userId}/${groupId}`\n );\n const finalData = result.data.map(async (item) => {\n try {\n const filesUrls = item.fileUrlS3.split(\"||\").filter((el) => el);\n const files = filesUrls.map(async (url) => {\n const S3url = url;\n return { S3url, name: url };\n });\n return { ...item, S3Urls: await Promise.all(files) };\n } catch (error) {\n console.log(error.message);\n return {\n error: {\n message: error.message,\n data: { taskId: item.id, taskName: item.name },\n },\n };\n }\n });\n dispatch.userData.getUserTasksSuccess(await Promise.all(finalData));\n } catch (error) {\n dispatch.userData.getUserTasksFailed(error);\n }\n },\n\n async getUserActivities({ userId, edition }) {\n try {\n const result = await HTTP.get(\n `/exercises/all-user-exercises/${userId}/${edition}`\n );\n dispatch.userData.getUserActivitiesSuccess(result.data);\n } catch (error) {\n dispatch.userData.getUserActivitiesFailed(error);\n }\n },\n\n async getScheduledActivities({ groupId, book }) {\n try {\n if (!groupId)\n return dispatch.userData.getScheduledActivitiesSuccess([]);\n if (groupId) {\n const result = await HTTP.get(`/exercises/group-agenda/${groupId}`);\n let finalRes = [];\n\n if (book) {\n finalRes = result.data.filter((el) => {\n return el.editionName && el.editionName === book;\n });\n } else {\n finalRes = result.data;\n }\n dispatch.userData.getScheduledActivitiesSuccess(finalRes);\n }\n } catch (error) {\n dispatch.userData.getScheduledActivitiesFailed(error);\n }\n },\n async getExamenesPendientes({ groupId, userId }) {\n try { \n const result = await HTTP.get(`exercises/students/notification-schedule/examen/${groupId}/${userId}`);\n dispatch.userData.getExamenesPendientesSuccess(result.data.body);\n } catch(e) { \n dispatch.userData.getExamenesPendientesFailed(e);\n }\n },\n async getTareasPendientes({ groupId, userId }) {\n try{\n const result = await HTTP.get(`exercises/students/notification-schedule/homework/${groupId}/${userId}`);\n dispatch.userData.getTareasPendientesSuccess(result.data.body);\n } catch(e) {\n dispatch.userData.getTareasPendientesFailed(e);\n }\n },\n async getActivitiesPendientes({ groupId, userId }) {\n try {\n const result = await HTTP.get(`exercises/students/notification-schedule/activities/${groupId}/${userId}`);\n dispatch.userData.getActivitiesPendientesSucess(result.data.body)\n } catch(e) {\n dispatch.userData.getActivitiesPendientesFailed(e)\n }\n },\n async getDiagnosticosPendientes({ groupId, userId }) {\n try { \n const result = await HTTP.get(`exercises/students/notification-schedule/diagnostico/${groupId}/${userId}`);\n dispatch.userData.getDiagnosticosPendientesSucess(result.data.body);\n } catch(e) { \n dispatch.userData.getDiagnosticosPendientesFailed(e);\n }\n },\n }),\n};\n\nexport default userData;\n\n// import \"firebase/auth\";\n// import { statuses } from \"../../constants\";\n// import HTTP from \"../../axios\";\n// import { snackbarTypes } from \"./ui\";\n\n// const userData = {\n// state: {\n// status: \"\",\n// error: null,\n// books: [],\n// groups: [],\n// groupTasks: [],\n// userTasks: [],\n// userActivities: [],\n// scheduledActivities: [],\n// },\n// reducers: {\n// getUserBooks: (state) => ({\n// ...state,\n// status: statuses.waiting,\n// error: null,\n// }),\n// getUserBooksSuccess: (state, payload) => ({\n// ...state,\n// status: statuses.received,\n// books: payload,\n// }),\n// getUserBooksFailed: (state, payload) => ({\n// ...state,\n// status: statuses.failed,\n// error: payload,\n// }),\n\n// getUserGroups: (state) => ({\n// ...state,\n// status: statuses.waiting,\n// error: null,\n// }),\n// getUserGroupsSuccess: (state, payload) => ({\n// ...state,\n// status: statuses.received,\n// groups: payload,\n// }),\n// getUserGroupsFailed: (state, payload) => ({\n// ...state,\n// status: statuses.failed,\n// error: payload,\n// }),\n\n// getGroupTasks: (state) => ({\n// ...state,\n// status: statuses.waiting,\n// error: null,\n// }),\n// getGroupTasksSuccess: (state, payload) => ({\n// ...state,\n// status: statuses.received,\n// groupTasks: payload,\n// }),\n// getGroupTasksFailed: (state, payload) => ({\n// ...state,\n// status: statuses.failed,\n// error: payload,\n// }),\n\n// getUserTasks: (state) => ({\n// ...state,\n// status: statuses.waiting,\n// error: null,\n// }),\n// getUserTasksSuccess: (state, payload) => ({\n// ...state,\n// status: statuses.received,\n// userTasks: payload,\n// }),\n// getUserTasksFailed: (state, payload) => ({\n// ...state,\n// status: statuses.failed,\n// error: payload,\n// }),\n\n// getUserActivities: (state) => ({\n// ...state,\n// status: statuses.waiting,\n// error: null,\n// }),\n// getUserActivitiesSuccess: (state, payload) => ({\n// ...state,\n// status: statuses.received,\n// userActivities: payload,\n// }),\n// getUserActivitiesFailed: (state, payload) => ({\n// ...state,\n// status: statuses.failed,\n// error: payload,\n// }),\n\n// getScheduledActivities: (state) => ({\n// ...state,\n// status: statuses.waiting,\n// error: null,\n// }),\n// getScheduledActivitiesSuccess: (state, payload) => ({\n// ...state,\n// status: statuses.received,\n// scheduledActivities: payload,\n// }),\n// getScheduledActivitiesFailed: (state, payload) => ({\n// ...state,\n// status: statuses.failed,\n// error: payload,\n// }),\n// },\n// effects: (dispatch) => ({\n// async getUserBooks({ id, storage }) {\n// try {\n// const result = await HTTP.get(`/books/books-by-user/${id}`);\n\n// const books = result.data\n// .filter((book) => !!book.edition.pathWeb)\n// .map(async (book) => {\n// const pdf = await storage\n// .ref(book.edition.pathWeb)\n// .getDownloadURL();\n// const cover = await storage\n// .ref(book.edition.image)\n// .getDownloadURL();\n\n// return {\n// id: book.id,\n// name: book.bookData.name,\n// author: book.bookData.author,\n// description: book.bookData.description,\n// pdf,\n// cover,\n// editionName: book.edition && book.edition.name,\n// editionId: book.edition && book.edition.id,\n// };\n// });\n\n// dispatch.userData.getUserBooksSuccess(await Promise.all(books));\n// } catch (error) {\n// dispatch.ui.openSnackbar({\n// message: error.message,\n// type: snackbarTypes.error,\n// });\n// dispatch.userData.getUserBooksFailed(error);\n// }\n// },\n\n// async getUserGroups({ userId }) {\n// try {\n// const result = await HTTP.get(`/groups/user-group-info/${userId}`);\n// console.log(result);\n\n// dispatch.userData.getUserGroupsSuccess(result.data);\n// } catch (error) {\n// dispatch.userData.getUserGroupsFailed(error);\n// }\n// },\n\n// async getGroupTasks({ groupId, storage }) {\n// try {\n// const result = await HTTP.get(`/homework/all/${groupId}`);\n// const finalData = result.data.map(async (item) => {\n// try {\n// let firebaseUrl = \"\";\n// if (item.documentPath) {\n// firebaseUrl = await storage\n// .ref(item.documentPath)\n// .getDownloadURL();\n// }\n// return { ...item, firebaseUrl };\n// } catch (error) {\n// return {\n// error: {\n// message: error.message,\n// data: { taskId: item.id, taskName: item.name },\n// },\n// };\n// }\n// });\n// dispatch.userData.getGroupTasksSuccess(await Promise.all(finalData));\n// } catch (error) {\n// console.log(error.message);\n// dispatch.userData.getGroupTasksFailed(error);\n// }\n// },\n\n// async getUserTasks({ userId, storage, groupId }) {\n// try {\n// const result = await HTTP.get(\n// `/homework/all-user-homework/${userId}/${groupId}`\n// );\n// const finalData = result.data.map(async (item) => {\n// try {\n// const filesUrls = item.fileUrl.split(\"||\").filter((el) => el);\n// const files = filesUrls.map(async (url) => {\n// const firebaseurl = await storage.ref(url).getDownloadURL();\n// return { firebaseurl, name: url };\n// });\n// return { ...item, firebaseUrls: await Promise.all(files) };\n// } catch (error) {\n// console.log(error.message);\n// return {\n// error: {\n// message: error.message,\n// data: { taskId: item.id, taskName: item.name },\n// },\n// };\n// }\n// });\n// dispatch.userData.getUserTasksSuccess(await Promise.all(finalData));\n// } catch (error) {\n// dispatch.userData.getUserTasksFailed(error);\n// }\n// },\n\n// async getUserActivities({ userId, edition }) {\n// try {\n// const result = await HTTP.get(\n// `/exercises/all-user-exercises/${userId}/${edition}`\n// );\n// dispatch.userData.getUserActivitiesSuccess(result.data);\n// } catch (error) {\n// dispatch.userData.getUserActivitiesFailed(error);\n// }\n// },\n\n// async getScheduledActivities({ groupId }) {\n// try {\n// if (!groupId) dispatch.userData.getScheduledActivitiesSuccess([]);\n// if (groupId) {\n// const result = await HTTP.get(`/exercises/group-agenda/${groupId}`);\n// dispatch.userData.getScheduledActivitiesSuccess(result.data);\n// }\n// } catch (error) {\n// dispatch.userData.getScheduledActivitiesFailed(error);\n// }\n// },\n// }),\n// };\n\n// export default userData;\n","import HTTP from \"../../axios\";\nimport { statuses } from \"../../constants\";\nimport { ITEMS_PER_PAGE } from \"../../hooks/useTable\";\n\nconst activitiesV2 = {\n state: {\n status: \"\",\n itemsList: [],\n activities: [],\n activityType: '',\n pagination: {\n totalItems: 0,\n totalPages: 0,\n },\n error: null,\n },\n reducers: {\n createUpdate: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({\n ...state,\n status: statuses.failed,\n error,\n }),\n\n fetchItems: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload.results,\n pagination: {\n totalItems: payload.totalItems,\n totalPages:\n payload.totalItems > 0\n ? Math.ceil(payload.totalItems / ITEMS_PER_PAGE)\n : 0,\n },\n }),\n fetchItemsFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n\n fetchActivityType: (state, payload) => ({\n ...state,\n activityType: payload\n }),\n\n fetchActivities: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n fetchActivitiesSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n activities: payload,\n }),\n fetchActivitiesFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n activities: [],\n error: payload,\n }),\n },\n\n effects: (dispatch) => ({\n async fetchActivities(type) {\n try {\n const res = await HTTP.get(`exercises/v2/all-exercises/${type}`);\n const filteredItems = res.data.Items\n .filter((el) => el.Body)\n .sort((a, b) => {\n if (a.Actividad > b.Actividad) {\n return 1;\n }\n if (a.Actividad < b.Actividad) {\n return -1;\n }\n\n return 0;\n });\n\n dispatch.activitiesV2.fetchActivitiesSuccess(filteredItems);\n } catch (e) {\n dispatch.activitiesV2.fetchActivitiesFailed(e);\n }\n },\n }),\n};\n\nexport default activitiesV2;\n","import HTTP from \"../../axios\";\nimport { statuses } from \"../../constants\";\nimport { ITEMS_PER_PAGE } from \"../../hooks/useTable\";\n\nconst edPrintings = {\n state: {\n status: \"\",\n itemsList: [],\n editionPrintings: [],\n pagination: {\n totalItems: 0,\n totalPages: 0,\n },\n error: null,\n },\n reducers: {\n createUpdate: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({\n ...state,\n status: statuses.failed,\n error,\n }),\n\n fetchItems: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload.results,\n pagination: {\n totalItems: payload.totalItems,\n totalPages:\n payload.totalItems > 0\n ? Math.ceil(payload.totalItems / ITEMS_PER_PAGE)\n : 0,\n },\n }),\n fetchItemsFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n error: payload,\n }),\n\n fetchEditionPrintings: (state) => ({\n ...state,\n status: statuses.waiting,\n error: null,\n }),\n fetchEditionPrintingsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n editionPrintings: payload,\n }),\n fetchEditionPrintingsFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n editionPrintings: [],\n error: payload,\n }),\n },\n\n effects: (dispatch) => ({\n async fetchEditionPrintings(codeType, editionName) {\n try {\n const { data } = await HTTP.get(\n `/edition-printings/get-code-by-edition-code-type/${codeType}/${editionName}`\n );\n dispatch.edPrintings.fetchEditionPrintingsSuccess(data);\n } catch (e) {\n dispatch.edPrintings.fetchEditionPrintingsFailed(e);\n }\n },\n }),\n};\n\nexport default edPrintings;\n","import HTTP from \"../../axios\";\n\nconst viewFiles = {\n state: {\n dataHomework: null,\n idUser: null,\n userHomeworks: null,\n position: null,\n checkedtTasks: null,\n previewFile: false,\n backToNotChecked: false,\n backButton: false,\n },\n reducers: {\n getData: (state, payload) => ({\n ...state,\n dataHomework: payload,\n }),\n getUser: (state, payload) => ({\n ...state,\n idUser: payload,\n }),\n getInfo: (state, payload) => ({\n ...state,\n userHomeworks: payload,\n }),\n getPosition: (state, payload) => ({\n ...state,\n position: payload,\n }),\n getCheckedTasks: (state, payload) => ({\n ...state,\n checkedtTasks: payload,\n }),\n setPreviewFile: (state, payload) => ({\n ...state,\n previewFile: payload,\n }),\n backToNotCheckedTasks: (state, payload) => ({\n ...state,\n backToNotChecked: payload,\n }),\n\n backButtonCheck: (state, payload) => ({\n ...state,\n backButton: payload,\n }),\n },\n effects: (dispatch) => ({\n async getAlumnoFile({ userId, homeworkId }) {\n try {\n const result = await HTTP.get(\n `homework/specific-user-homework/${userId}/${homeworkId}`\n );\n const data = result.data;\n\n dispatch.viewFiles.getData(data);\n } catch (error) {\n console.log(\"ERROR : \", error);\n }\n },\n async getAlumnoHomeworks({ userId, userGroup }) {\n try {\n const result = await HTTP.get(\n `homework/all-user-homework/${userId}/${userGroup}`\n );\n\n const data = result.data;\n dispatch.viewFiles.getInfo(data);\n } catch (error) {\n console.log(\"ERROR : \", error);\n }\n },\n async getHomeworks(payload) {\n try {\n const result = await HTTP.get(\n `homework/all-user-homework/${payload[0]}/${payload[1]}`\n );\n\n const data = result.data;\n dispatch.viewFiles.getInfo(data);\n } catch (error) {\n console.log(\"ERROR : \", error);\n }\n },\n }),\n};\n\nexport default viewFiles;\n","import { statuses } from '../../constants';\n\nconst edSystems = {\n state: {\n status: '',\n itemsList: [],\n error: null,\n },\n reducers: {\n createUpdate: (state) => ({ ...state, status: statuses.waiting, error: null }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({ ...state, status: statuses.failed, error }),\n\n fetchItems: (state) => ({ ...state, status: statuses.waiting, error: null }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload,\n }),\n fetchItemsFailed: (state, payload) => ({ ...state, status: statuses.failed, error: payload }),\n\n fetchActivityType: (state, payload) => ({ ...state, activityType: payload }),\n\n fetchActivities: (state) => ({ ...state, status: statuses.waiting, error: null }),\n fetchActivitiesSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n activities: payload\n }),\n fetchActivitiesFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n activities:[],\n error: payload\n }),\n\n },\n };\n\n export default edSystems;\n","import { statuses } from '../../constants';\n\nconst campuses = {\n state: {\n status: '',\n itemsList: [],\n error: null,\n },\n reducers: {\n createUpdate: (state) => ({ ...state, status: statuses.waiting, error: null }),\n createUpdateSuccess: (state) => ({ ...state, status: statuses.received }),\n createUpdateFailed: (state, error) => ({ ...state, status: statuses.failed, error }),\n\n fetchItems: (state) => ({ ...state, status: statuses.waiting, error: null }),\n fetchItemsSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n itemsList: payload,\n }),\n fetchItemsFailed: (state, payload) => ({ ...state, status: statuses.failed, error: payload }),\n\n fetchActivityType: (state, payload) => ({ ...state, activityType: payload }),\n\n fetchActivities: (state) => ({ ...state, status: statuses.waiting, error: null }),\n fetchActivitiesSuccess: (state, payload) => ({\n ...state,\n status: statuses.received,\n activities: payload\n }),\n fetchActivitiesFailed: (state, payload) => ({\n ...state,\n status: statuses.failed,\n activities:[],\n error: payload\n }),\n\n },\n };\n\n export default campuses;\n","import HTTP from \"../../axios\";\nimport { statuses } from '../../constants';\n\nconst maintenance = {\n state: {\n status: null,\n maintenance : {\n status: null,\n message: '',\n }\n },\n reducers: {\n getMaintenance: ( state , payload ) => ({\n ...state,\n status: statuses.waiting\n }),\n getMaintenanceSuccess: ( state , payload ) => ({\n ...state,\n status: statuses.received,\n maintenance: payload \n }),\n getMaintenanceFailed: ( state , payload ) => ({\n ...state,\n status: statuses.failed,\n maintenace: payload\n }),\n setMaintenance: ( state, payload ) => ({\n ...state, \n status: statuses.waiting\n }),\n setMaintenanceSuccess: ( state, payload ) => ({\n ...state,\n status: statuses.received\n }),\n setMaintenanceFailed: ( state , payload ) => ({\n ...state,\n status: statuses.received,\n }) \n },\n effects: (dispatch) => ({\n async getMaintenance() {\n try {\n const result = await HTTP.get('/maintenance');\n dispatch.maintenance.getMaintenanceSuccess(result.data.body);\n }catch (e){\n dispatch.maintenance.getMaintenanceFailed(e);\n throw new Error(e);\n }\n },\n async setMaintenance({ message }) {\n try {\n const result = await HTTP.put('/maintenance', { message });\n dispatch.maintenance.setMaintenanceSuccess(result);\n } catch (e) {\n dispatch.maintenance.setMaintenanceFailed(e);\n throw new Error(e);\n }\n\n }\n })\n}\n\nexport default maintenance;\n","import { init } from \"@rematch/core\";\r\nimport {\r\n auth,\r\n ui,\r\n books,\r\n crud,\r\n activities,\r\n teachers,\r\n extraContent,\r\n groups,\r\n students,\r\n grades,\r\n tasks,\r\n userData,\r\n activitiesV2,\r\n campuses,\r\n edPrintings,\r\n viewFiles,\r\n maintenance\r\n} from \"./models\";\r\nimport edSystems from \"./models/ed-systems\"\r\nconst store = init({\r\n redux: {\r\n rootReducers: {\r\n RESET_APP: () => undefined,\r\n },\r\n devtoolOptions: {\r\n disabled: process.env.NODE_ENV === \"production\",\r\n },\r\n },\r\n models: {\r\n auth,\r\n ui,\r\n books,\r\n crud,\r\n activities,\r\n teachers,\r\n extraContent,\r\n groups,\r\n students,\r\n grades,\r\n tasks,\r\n userData,\r\n edSystems,\r\n activitiesV2,\r\n edPrintings,\r\n campuses,\r\n viewFiles,\r\n maintenance\r\n },\r\n});\r\n\r\nexport default store;\r\nexport const { dispatch } = store;\r\n","/* eslint-disable */\n\"use strict\";\r\n// DOCS: https://javascript.info/cookie\r\n\r\n// Component Definition \r\nexport var KTCookie = function() {\r\n return {\r\n // returns the cookie with the given name,\r\n // or undefined if not found\r\n getCookie: function(name) {\r\n var matches = document.cookie.match(new RegExp(\r\n \"(?:^|; )\" + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + \"=([^;]*)\"\r\n ));\r\n return matches ? decodeURIComponent(matches[1]) : undefined;\r\n },\r\n // Please note that a cookie value is encoded,\r\n // so getCookie uses a built-in decodeURIComponent function to decode it.\r\n setCookie: function(name, value, options) {\r\n if (!options) {\r\n options = {};\r\n }\r\n\r\n options = Object.assign({}, {path: '/'}, options);\r\n\r\n if (options.expires instanceof Date) {\r\n options.expires = options.expires.toUTCString();\r\n }\r\n\r\n var updatedCookie = encodeURIComponent(name) + \"=\" + encodeURIComponent(value);\r\n\r\n for (var optionKey in options) {\r\n if (!options.hasOwnProperty(optionKey)) {\r\n continue;\r\n }\r\n updatedCookie += \"; \" + optionKey;\r\n var optionValue = options[optionKey];\r\n if (optionValue !== true) {\r\n updatedCookie += \"=\" + optionValue;\r\n }\r\n }\r\n\r\n document.cookie = updatedCookie;\r\n },\r\n // To delete a cookie, we can call it with a negative expiration date:\r\n deleteCookie: function(name) {\r\n setCookie(name, \"\", {\r\n 'max-age': -1\r\n })\r\n }\r\n }\r\n}();\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTCookie;\r\n}\r\n","import React, {createContext} from \"react\";\r\nimport {useMemo} from \"react\";\r\nimport {useContext} from \"react\";\r\n\r\nconst I18N_CONFIG_KEY = process.env.REACT_APP_I18N_CONFIG_KEY || \"i18nConfig\";\r\nconst initialState = {\r\n selectedLang: \"en\"\r\n };\r\n\r\nfunction getConfig() {\r\n const ls = localStorage.getItem(I18N_CONFIG_KEY);\r\n if (ls) {\r\n try {\r\n return JSON.parse(ls);\r\n } catch (er) {\r\n console.error(er);\r\n }\r\n }\r\n return initialState;\r\n}\r\n\r\n// Side effect\r\nexport function setLanguage(lang) {\r\n localStorage.setItem(I18N_CONFIG_KEY, JSON.stringify({ selectedLang: lang }));\r\n window.location.reload();\r\n}\r\n\r\nconst I18nContext = createContext();\r\n\r\nexport function useLang() {\r\n return useContext(I18nContext).selectedLang;\r\n}\r\n\r\nexport function withI18n(Component) {\r\n class WithI18n extends React.Component {\r\n static displayName = `WithI18n(${Component.displayName || Component.name})`;\r\n\r\n static contextType = I18nContext;\r\n\r\n render() {\r\n return ;\r\n }\r\n }\r\n\r\n return WithI18n;\r\n}\r\n\r\nexport const I18nConsumer = I18nContext.Consumer;\r\n\r\nexport function MetronicI18nProvider({ children }) {\r\n const lang = useMemo(getConfig, []);\r\n\r\n return {children};\r\n}\r\n","export * from \"./I18nProvider\";\r\nexport * from \"./Metronici18n\";","/* eslint-disable */\n\"use strict\";\n\nimport PerfectScrollbar from \"perfect-scrollbar\";\n\nimport { KTCookie } from \"./cookie.js\";\r\n\r\n/**\r\n * @class KTUtil base utilize class that privides helper functions\r\n */\r\n\r\n// Polyfills\r\n/**\r\n * Element.matches() polyfill (simple version)\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\r\n */\r\nif (!Element.prototype.matches) {\r\n\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n}\r\n\r\n/**\r\n * Element.closest() polyfill\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\r\n */\r\nif (!Element.prototype.closest) {\r\n\tif (!Element.prototype.matches) {\r\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n\t}\r\n\tElement.prototype.closest = function (s) {\r\n\t\tvar el = this;\r\n\t\tvar ancestor = this;\r\n\t\tif (!document.documentElement.contains(el)) return null;\r\n\t\tdo {\r\n\t\t\tif (ancestor.matches(s)) return ancestor;\r\n\t\t\tancestor = ancestor.parentElement;\r\n\t\t} while (ancestor !== null);\r\n\t\treturn null;\r\n\t};\r\n}\r\n\r\n/**\r\n * ChildNode.remove() polyfill\r\n * https://gomakethings.com/removing-an-element-from-the-dom-the-es6-way/\r\n * @author Chris Ferdinandi\r\n * @license MIT\r\n */\r\n(function (elem) {\r\n\tfor (var i = 0; i < elem.length; i++) {\r\n\t\tif (!window[elem[i]] || 'remove' in window[elem[i]].prototype) continue;\r\n\t\twindow[elem[i]].prototype.remove = function () {\r\n\t\t\tthis.parentNode.removeChild(this);\r\n\t\t};\r\n\t}\r\n})(['Element', 'CharacterData', 'DocumentType']);\r\n\r\n//\r\n// requestAnimationFrame polyfill by Erik Möller.\r\n// With fixes from Paul Irish and Tino Zijdel\r\n//\r\n// http://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\r\n//\r\n// MIT license\r\n//\r\n(function() {\r\n var lastTime = 0;\r\n var vendors = ['webkit', 'moz'];\r\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\r\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\r\n window.cancelAnimationFrame =\r\n window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\r\n }\r\n\r\n if (!window.requestAnimationFrame)\r\n window.requestAnimationFrame = function(callback) {\r\n var currTime = new Date().getTime();\r\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n var id = window.setTimeout(function() {\r\n callback(currTime + timeToCall);\r\n }, timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n\r\n if (!window.cancelAnimationFrame)\r\n window.cancelAnimationFrame = function(id) {\r\n clearTimeout(id);\r\n };\r\n}());\r\n\r\n// Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/prepend()/prepend().md\r\n(function(arr) {\r\n arr.forEach(function(item) {\r\n if (item.hasOwnProperty('prepend')) {\r\n return;\r\n }\r\n Object.defineProperty(item, 'prepend', {\r\n configurable: true,\r\n enumerable: true,\r\n writable: true,\r\n value: function prepend() {\r\n var argArr = Array.prototype.slice.call(arguments),\r\n docFrag = document.createDocumentFragment();\r\n\r\n argArr.forEach(function(argItem) {\r\n var isNode = argItem instanceof Node;\r\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\r\n });\r\n\r\n this.insertBefore(docFrag, this.firstChild);\r\n }\r\n });\r\n });\r\n})([Element.prototype, Document.prototype, DocumentFragment.prototype]);\r\n\r\n// Global variables\r\nwindow.KTUtilElementDataStore = {};\r\nwindow.KTUtilElementDataStoreID = 0;\r\nwindow.KTUtilDelegatedEventHandlers = {};\r\n\r\nexport var KTUtil = function() {\r\n var resizeHandlers = [];\r\n\r\n /** @type {object} breakpoints The device width breakpoints **/\r\n var breakpoints = {\r\n sm: 544, // Small screen / phone\r\n md: 768, // Medium screen / tablet\r\n lg: 992, // Large screen / desktop\r\n xl: 1200 // Extra large screen / wide desktop\r\n };\r\n\r\n /**\r\n * Handle window resize event with some\r\n * delay to attach event handlers upon resize complete\r\n */\r\n var _windowResizeHandler = function() {\r\n var _runResizeHandlers = function() {\r\n // reinitialize other subscribed elements\r\n for (var i = 0; i < resizeHandlers.length; i++) {\r\n var each = resizeHandlers[i];\r\n each.call();\r\n }\r\n };\r\n\r\n var timer;\r\n\r\n window.addEventListener('resize', function() {\r\n KTUtil.throttle(timer, function() {\r\n _runResizeHandlers();\r\n }, 200);\r\n });\r\n };\r\n\r\n return {\r\n /**\r\n * Class main initializer.\r\n * @param {object} settings.\r\n * @returns null\r\n */\r\n //main function to initiate the theme\r\n init: function(settings) {\r\n if (settings && settings.breakpoints) {\r\n breakpoints = settings.breakpoints;\r\n }\r\n\r\n _windowResizeHandler();\r\n },\r\n\r\n /**\r\n * Adds window resize event handler.\r\n * @param {function} callback function.\r\n */\r\n addResizeHandler: function(callback) {\r\n resizeHandlers.push(callback);\r\n },\r\n\r\n /**\r\n * Removes window resize event handler.\r\n * @param {function} callback function.\r\n */\r\n removeResizeHandler: function(callback) {\r\n for (var i = 0; i < resizeHandlers.length; i++) {\r\n if (callback === resizeHandlers[i]) {\r\n delete resizeHandlers[i];\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Trigger window resize handlers.\r\n */\r\n runResizeHandlers: function() {\r\n _runResizeHandlers();\r\n },\r\n\r\n resize: function() {\r\n if (typeof(Event) === 'function') {\r\n // modern browsers\r\n window.dispatchEvent(new Event('resize'));\r\n } else {\r\n // for IE and other old browsers\r\n // causes deprecation warning on modern browsers\r\n var evt = window.document.createEvent('UIEvents');\r\n evt.initUIEvent('resize', true, false, window, 0);\r\n window.dispatchEvent(evt);\r\n }\r\n },\r\n\r\n /**\r\n * Get GET parameter value from URL.\r\n * @param {string} paramName Parameter name.\r\n * @returns {string}\r\n */\r\n getURLParam: function(paramName) {\r\n var searchString = window.location.search.substring(1),\r\n i, val, params = searchString.split(\"&\");\r\n\r\n for (i = 0; i < params.length; i++) {\r\n val = params[i].split(\"=\");\r\n if (val[0] == paramName) {\r\n return unescape(val[1]);\r\n }\r\n }\r\n\r\n return null;\r\n },\r\n\r\n /**\r\n * Checks whether current device is mobile touch.\r\n * @returns {boolean}\r\n */\r\n isMobileDevice: function() {\r\n var test = (this.getViewPort().width < this.getBreakpoint('lg') ? true : false);\r\n\r\n if (test === false) {\r\n // For use within normal web clients\r\n test = navigator.userAgent.match(/iPad/i) != null;\r\n }\r\n\r\n return test;\r\n },\r\n\r\n /**\r\n * Checks whether current device is desktop.\r\n * @returns {boolean}\r\n */\r\n isDesktopDevice: function() {\r\n return KTUtil.isMobileDevice() ? false : true;\r\n },\r\n\r\n /**\r\n * Gets browser window viewport size. Ref:\r\n * http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/\r\n * @returns {object}\r\n */\r\n getViewPort: function() {\r\n var e = window,\r\n a = 'inner';\r\n if (!('innerWidth' in window)) {\r\n a = 'client';\r\n e = document.documentElement || document.body;\r\n }\r\n\r\n return {\r\n width: e[a + 'Width'],\r\n height: e[a + 'Height']\r\n };\r\n },\r\n\r\n /**\r\n * Checks whether given device mode is currently activated.\r\n * @param {string} mode Responsive mode name(e.g: desktop,\r\n * desktop-and-tablet, tablet, tablet-and-mobile, mobile)\r\n * @returns {boolean}\r\n */\r\n isInResponsiveRange: function(mode) {\r\n var breakpoint = this.getViewPort().width;\r\n\r\n if (mode == 'general') {\r\n return true;\r\n } else if (mode == 'desktop' && breakpoint >= (this.getBreakpoint('lg') + 1)) {\r\n return true;\r\n } else if (mode == 'tablet' && (breakpoint >= (this.getBreakpoint('md') + 1) && breakpoint < this.getBreakpoint('lg'))) {\r\n return true;\r\n } else if (mode == 'mobile' && breakpoint <= this.getBreakpoint('md')) {\r\n return true;\r\n } else if (mode == 'desktop-and-tablet' && breakpoint >= (this.getBreakpoint('md') + 1)) {\r\n return true;\r\n } else if (mode == 'tablet-and-mobile' && breakpoint <= this.getBreakpoint('lg')) {\r\n return true;\r\n } else if (mode == 'minimal-desktop-and-below' && breakpoint <= this.getBreakpoint('xl')) {\r\n return true;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n\t\t/**\r\n * Checks whether given device mode is currently activated.\r\n * @param {string} mode Responsive mode name(e.g: desktop,\r\n * desktop-and-tablet, tablet, tablet-and-mobile, mobile)\r\n * @returns {boolean}\r\n */\r\n isBreakpointUp: function(mode) {\r\n var width = this.getViewPort().width;\r\n\t\t\tvar breakpoint = this.getBreakpoint(mode);\r\n\r\n\t\t\treturn (width >= breakpoint);\r\n },\r\n\r\n\t\tisBreakpointDown: function(mode) {\r\n var width = this.getViewPort().width;\r\n\t\t\tvar breakpoint = this.getBreakpoint(mode);\r\n\r\n\t\t\treturn (width < breakpoint);\r\n },\r\n\r\n /**\r\n * Generates unique ID for give prefix.\r\n * @param {string} prefix Prefix for generated ID\r\n * @returns {boolean}\r\n */\r\n getUniqueID: function(prefix) {\r\n return prefix + Math.floor(Math.random() * (new Date()).getTime());\r\n },\r\n\r\n /**\r\n * Gets window width for give breakpoint mode.\r\n * @param {string} mode Responsive mode name(e.g: xl, lg, md, sm)\r\n * @returns {number}\r\n */\r\n getBreakpoint: function(mode) {\r\n return breakpoints[mode];\r\n },\r\n\r\n /**\r\n * Checks whether object has property matchs given key path.\r\n * @param {object} obj Object contains values paired with given key path\r\n * @param {string} keys Keys path seperated with dots\r\n * @returns {object}\r\n */\r\n isset: function(obj, keys) {\r\n var stone;\r\n\r\n keys = keys || '';\r\n\r\n if (keys.indexOf('[') !== -1) {\r\n throw new Error('Unsupported object path notation.');\r\n }\r\n\r\n keys = keys.split('.');\r\n\r\n do {\r\n if (obj === undefined) {\r\n return false;\r\n }\r\n\r\n stone = keys.shift();\r\n\r\n if (!obj.hasOwnProperty(stone)) {\r\n return false;\r\n }\r\n\r\n obj = obj[stone];\r\n\r\n } while (keys.length);\r\n\r\n return true;\r\n },\r\n\r\n /**\r\n * Gets highest z-index of the given element parents\r\n * @param {object} el jQuery element object\r\n * @returns {number}\r\n */\r\n getHighestZindex: function(el) {\r\n var position, value;\r\n\r\n while (el && el !== document) {\r\n // Ignore z-index if position is set to a value where z-index is ignored by the browser\r\n // This makes behavior of this function consistent across browsers\r\n // WebKit always returns auto if the element is positioned\r\n position = KTUtil.css(el, 'position');\r\n\r\n if (position === \"absolute\" || position === \"relative\" || position === \"fixed\") {\r\n // IE returns 0 when zIndex is not specified\r\n // other browsers return a string\r\n // we ignore the case of nested elements with an explicit value of 0\r\n //
    \r\n value = parseInt(KTUtil.css(el, 'z-index'));\r\n\r\n if (!isNaN(value) && value !== 0) {\r\n return value;\r\n }\r\n }\r\n\r\n el = el.parentNode;\r\n }\r\n\r\n return null;\r\n },\r\n\r\n /**\r\n * Checks whether the element has any parent with fixed positionfreg\r\n * @param {object} el jQuery element object\r\n * @returns {boolean}\r\n */\r\n hasFixedPositionedParent: function(el) {\r\n var position;\r\n\r\n while (el && el !== document) {\r\n position = KTUtil.css(el, 'position');\r\n\r\n if (position === \"fixed\") {\r\n return true;\r\n }\r\n\r\n el = el.parentNode;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n /**\r\n * Simulates delay\r\n */\r\n sleep: function(milliseconds) {\r\n var start = new Date().getTime();\r\n for (var i = 0; i < 1e7; i++) {\r\n if ((new Date().getTime() - start) > milliseconds) {\r\n break;\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Gets randomly generated integer value within given min and max range\r\n * @param {number} min Range start value\r\n * @param {number} max Range end value\r\n * @returns {number}\r\n */\r\n getRandomInt: function(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n },\r\n\r\n /**\r\n * Checks whether Angular library is included\r\n * @returns {boolean}\r\n */\r\n isAngularVersion: function() {\r\n return window.Zone !== undefined ? true : false;\r\n },\r\n\r\n // jQuery Workarounds\r\n\r\n // Deep extend: $.extend(true, {}, objA, objB);\r\n deepExtend: function(out) {\r\n out = out || {};\r\n\r\n for (var i = 1; i < arguments.length; i++) {\r\n var obj = arguments[i];\r\n\r\n if (!obj)\r\n continue;\r\n\r\n for (var key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n if (typeof obj[key] === 'object')\r\n out[key] = KTUtil.deepExtend(out[key], obj[key]);\r\n else\r\n out[key] = obj[key];\r\n }\r\n }\r\n }\r\n\r\n return out;\r\n },\r\n\r\n // extend: $.extend({}, objA, objB);\r\n extend: function(out) {\r\n out = out || {};\r\n\r\n for (var i = 1; i < arguments.length; i++) {\r\n if (!arguments[i])\r\n continue;\r\n\r\n for (var key in arguments[i]) {\r\n if (arguments[i].hasOwnProperty(key))\r\n out[key] = arguments[i][key];\r\n }\r\n }\r\n\r\n return out;\r\n },\r\n\r\n getById: function(el) {\r\n if (typeof el === 'string') {\r\n return document.getElementById(el);\r\n } else {\r\n return el;\r\n }\r\n },\r\n\r\n getByTag: function(query) {\r\n return document.getElementsByTagName(query);\r\n },\r\n\r\n getByTagName: function(query) {\r\n return document.getElementsByTagName(query);\r\n },\r\n\r\n getByClass: function(query) {\r\n return document.getElementsByClassName(query);\r\n },\r\n\r\n getBody: function() {\r\n return document.getElementsByTagName('body')[0];\r\n },\r\n\r\n /**\r\n * Checks whether the element has given classes\r\n * @param {object} el jQuery element object\r\n * @param {string} Classes string\r\n * @returns {boolean}\r\n */\r\n hasClasses: function(el, classes) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n var classesArr = classes.split(\" \");\r\n\r\n for (var i = 0; i < classesArr.length; i++) {\r\n if (KTUtil.hasClass(el, KTUtil.trim(classesArr[i])) == false) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n hasClass: function(el, className) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n return el.classList ? el.classList.contains(className) : new RegExp('\\\\b' + className + '\\\\b').test(el.className);\r\n },\r\n\r\n addClass: function(el, className) {\r\n if (!el || typeof className === 'undefined') {\r\n return;\r\n }\r\n\r\n var classNames = className.split(' ');\r\n\r\n if (el.classList) {\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (classNames[i] && classNames[i].length > 0) {\r\n el.classList.add(KTUtil.trim(classNames[i]));\r\n }\r\n }\r\n } else if (!KTUtil.hasClass(el, className)) {\r\n for (var x = 0; x < classNames.length; x++) {\r\n el.className += ' ' + KTUtil.trim(classNames[x]);\r\n }\r\n }\r\n },\r\n\r\n removeClass: function(el, className) {\r\n if (!el || typeof className === 'undefined') {\r\n return;\r\n }\r\n\r\n var classNames = className.split(' ');\r\n\r\n if (el.classList) {\r\n for (var i = 0; i < classNames.length; i++) {\r\n el.classList.remove(KTUtil.trim(classNames[i]));\r\n }\r\n } else if (KTUtil.hasClass(el, className)) {\r\n for (var x = 0; x < classNames.length; x++) {\r\n el.className = el.className.replace(new RegExp('\\\\b' + KTUtil.trim(classNames[x]) + '\\\\b', 'g'), '');\r\n }\r\n }\r\n },\r\n\r\n triggerCustomEvent: function(el, eventName, data) {\r\n var event;\r\n if (window.CustomEvent) {\r\n event = new CustomEvent(eventName, {\r\n detail: data\r\n });\r\n } else {\r\n event = document.createEvent('CustomEvent');\r\n event.initCustomEvent(eventName, true, true, data);\r\n }\r\n\r\n el.dispatchEvent(event);\r\n },\r\n\r\n triggerEvent: function(node, eventName) {\r\n // Make sure we use the ownerDocument from the provided node to avoid cross-window problems\r\n var doc;\r\n if (node.ownerDocument) {\r\n doc = node.ownerDocument;\r\n } else if (node.nodeType == 9) {\r\n // the node may be the document itself, nodeType 9 = DOCUMENT_NODE\r\n doc = node;\r\n } else {\r\n throw new Error(\"Invalid node passed to fireEvent: \" + node.id);\r\n }\r\n\r\n if (node.dispatchEvent) {\r\n // Gecko-style approach (now the standard) takes more work\r\n var eventClass = \"\";\r\n\r\n // Different events have different event classes.\r\n // If this switch statement can't map an eventName to an eventClass,\r\n // the event firing is going to fail.\r\n switch (eventName) {\r\n case \"click\": // Dispatching of 'click' appears to not work correctly in Safari. Use 'mousedown' or 'mouseup' instead.\r\n case \"mouseenter\":\r\n case \"mouseleave\":\r\n case \"mousedown\":\r\n case \"mouseup\":\r\n eventClass = \"MouseEvents\";\r\n break;\r\n\r\n case \"focus\":\r\n case \"change\":\r\n case \"blur\":\r\n case \"select\":\r\n eventClass = \"HTMLEvents\";\r\n break;\r\n\r\n default:\r\n throw \"fireEvent: Couldn't find an event class for event '\" + eventName + \"'.\";\r\n break;\r\n }\r\n var event = doc.createEvent(eventClass);\r\n\r\n var bubbles = eventName == \"change\" ? false : true;\r\n event.initEvent(eventName, bubbles, true); // All events created as bubbling and cancelable.\r\n\r\n event.synthetic = true; // allow detection of synthetic events\r\n // The second parameter says go ahead with the default action\r\n node.dispatchEvent(event, true);\r\n } else if (node.fireEvent) {\r\n // IE-old school style\r\n var event = doc.createEventObject();\r\n event.synthetic = true; // allow detection of synthetic events\r\n node.fireEvent(\"on\" + eventName, event);\r\n }\r\n },\r\n\r\n index: function( el ){\r\n var c = el.parentNode.children, i = 0;\r\n for(; i < c.length; i++ )\r\n if( c[i] == el ) return i;\r\n },\r\n\r\n trim: function(string) {\r\n return string.trim();\r\n },\r\n\r\n eventTriggered: function(e) {\r\n if (e.currentTarget.dataset.triggered) {\r\n return true;\r\n } else {\r\n e.currentTarget.dataset.triggered = true;\r\n\r\n return false;\r\n }\r\n },\r\n\r\n remove: function(el) {\r\n if (el && el.parentNode) {\r\n el.parentNode.removeChild(el);\r\n }\r\n },\r\n\r\n find: function(parent, query) {\r\n parent = KTUtil.getById(parent);\r\n if (parent) {\r\n return parent.querySelector(query);\r\n }\r\n },\r\n\r\n findAll: function(parent, query) {\r\n parent = KTUtil.getById(parent);\r\n if (parent) {\r\n return parent.querySelectorAll(query);\r\n }\r\n },\r\n\r\n insertAfter: function(el, referenceNode) {\r\n return referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling);\r\n },\r\n\r\n parents: function(elem, selector) {\r\n // Element.matches() polyfill\r\n if (!Element.prototype.matches) {\r\n Element.prototype.matches =\r\n Element.prototype.matchesSelector ||\r\n Element.prototype.mozMatchesSelector ||\r\n Element.prototype.msMatchesSelector ||\r\n Element.prototype.oMatchesSelector ||\r\n Element.prototype.webkitMatchesSelector ||\r\n function(s) {\r\n var matches = (this.document || this.ownerDocument).querySelectorAll(s),\r\n i = matches.length;\r\n while (--i >= 0 && matches.item(i) !== this) {}\r\n return i > -1;\r\n };\r\n }\r\n\r\n // Set up a parent array\r\n var parents = [];\r\n\r\n // Push each parent element to the array\r\n for ( ; elem && elem !== document; elem = elem.parentNode ) {\r\n if (selector) {\r\n if (elem.matches(selector)) {\r\n parents.push(elem);\r\n }\r\n continue;\r\n }\r\n parents.push(elem);\r\n }\r\n\r\n // Return our parent array\r\n return parents;\r\n },\r\n\r\n children: function(el, selector, log) {\r\n if (!el || !el.childNodes) {\r\n return;\r\n }\r\n\r\n var result = [],\r\n i = 0,\r\n l = el.childNodes.length;\r\n\r\n for (var i; i < l; ++i) {\r\n if (el.childNodes[i].nodeType == 1 && KTUtil.matches(el.childNodes[i], selector, log)) {\r\n result.push(el.childNodes[i]);\r\n }\r\n }\r\n\r\n return result;\r\n },\r\n\r\n child: function(el, selector, log) {\r\n var children = KTUtil.children(el, selector, log);\r\n\r\n return children ? children[0] : null;\r\n },\r\n\r\n matches: function(el, selector, log) {\r\n var p = Element.prototype;\r\n var f = p.matches || p.webkitMatchesSelector || p.mozMatchesSelector || p.msMatchesSelector || function(s) {\r\n return [].indexOf.call(document.querySelectorAll(s), this) !== -1;\r\n };\r\n\r\n if (el && el.tagName) {\r\n return f.call(el, selector);\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n data: function(el) {\r\n return {\r\n set: function(name, data) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n window.KTUtilElementDataStoreID++;\r\n el.customDataTag = window.KTUtilElementDataStoreID;\r\n }\r\n\r\n if (window.KTUtilElementDataStore[el.customDataTag] === undefined) {\r\n window.KTUtilElementDataStore[el.customDataTag] = {};\r\n }\r\n\r\n window.KTUtilElementDataStore[el.customDataTag][name] = data;\r\n },\r\n\r\n get: function(name) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n return null;\r\n }\r\n\r\n return this.has(name) ? window.KTUtilElementDataStore[el.customDataTag][name] : null;\r\n },\r\n\r\n has: function(name) {\r\n if (!el) {\r\n return false;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n return false;\r\n }\r\n\r\n return (window.KTUtilElementDataStore[el.customDataTag] && window.KTUtilElementDataStore[el.customDataTag][name]) ? true : false;\r\n },\r\n\r\n remove: function(name) {\r\n if (el && this.has(name)) {\r\n delete window.KTUtilElementDataStore[el.customDataTag][name];\r\n }\r\n }\r\n };\r\n },\r\n\r\n outerWidth: function(el, margin) {\r\n var width;\r\n\r\n if (margin === true) {\r\n width = parseFloat(el.offsetWidth);\r\n width += parseFloat(KTUtil.css(el, 'margin-left')) + parseFloat(KTUtil.css(el, 'margin-right'));\r\n\r\n return parseFloat(width);\r\n } else {\r\n width = parseFloat(el.offsetWidth);\r\n\r\n return width;\r\n }\r\n },\r\n\r\n offset: function(el) {\r\n var rect, win;\r\n\r\n if ( !el ) {\r\n return;\r\n }\r\n\r\n // Return zeros for disconnected and hidden (display: none) elements (gh-2310)\r\n // Support: IE <=11 only\r\n // Running getBoundingClientRect on a\r\n // disconnected node in IE throws an error\r\n\r\n if ( !el.getClientRects().length ) {\r\n return { top: 0, left: 0 };\r\n }\r\n\r\n // Get document-relative position by adding viewport scroll to viewport-relative gBCR\r\n rect = el.getBoundingClientRect();\r\n win = el.ownerDocument.defaultView;\r\n\r\n return {\r\n top: rect.top + win.pageYOffset,\r\n left: rect.left + win.pageXOffset\r\n };\r\n },\r\n\r\n height: function(el) {\r\n return KTUtil.css(el, 'height');\r\n },\r\n\r\n outerHeight: function(el, withMargic = false) {\r\n var height = el.offsetHeight;\r\n var style;\r\n\r\n if (withMargic) {\r\n style = getComputedStyle(el);\r\n height += parseInt(style.marginTop) + parseInt(style.marginBottom);\r\n\r\n return height;\r\n } else {\r\n return height;\r\n }\r\n },\r\n\r\n visible: function(el) {\r\n return !(el.offsetWidth === 0 && el.offsetHeight === 0);\r\n },\r\n\r\n attr: function(el, name, value) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n if (value !== undefined) {\r\n el.setAttribute(name, value);\r\n } else {\r\n return el.getAttribute(name);\r\n }\r\n },\r\n\r\n hasAttr: function(el, name) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n return el.getAttribute(name) ? true : false;\r\n },\r\n\r\n removeAttr: function(el, name) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n el.removeAttribute(name);\r\n },\r\n\r\n animate: function(from, to, duration, update, easing, done) {\r\n /**\r\n * TinyAnimate.easings\r\n * Adapted from jQuery Easing\r\n */\r\n var easings = {};\r\n var easing;\r\n\r\n easings.linear = function(t, b, c, d) {\r\n return c * t / d + b;\r\n };\r\n\r\n easing = easings.linear;\r\n\r\n // Early bail out if called incorrectly\r\n if (typeof from !== 'number' ||\r\n typeof to !== 'number' ||\r\n typeof duration !== 'number' ||\r\n typeof update !== 'function') {\r\n return;\r\n }\r\n\r\n // Create mock done() function if necessary\r\n if (typeof done !== 'function') {\r\n done = function() {};\r\n }\r\n\r\n // Pick implementation (requestAnimationFrame | setTimeout)\r\n var rAF = window.requestAnimationFrame || function(callback) {\r\n window.setTimeout(callback, 1000 / 50);\r\n };\r\n\r\n // Animation loop\r\n var canceled = false;\r\n var change = to - from;\r\n\r\n function loop(timestamp) {\r\n var time = (timestamp || +new Date()) - start;\r\n\r\n if (time >= 0) {\r\n update(easing(time, from, change, duration));\r\n }\r\n if (time >= 0 && time >= duration) {\r\n update(to);\r\n done();\r\n } else {\r\n rAF(loop);\r\n }\r\n }\r\n\r\n update(from);\r\n\r\n // Start animation loop\r\n var start = window.performance && window.performance.now ? window.performance.now() : +new Date();\r\n\r\n rAF(loop);\r\n },\r\n\r\n actualCss: function(el, prop, cache) {\r\n var css = '';\r\n\r\n if (el instanceof HTMLElement === false) {\r\n return;\r\n }\r\n\r\n if (!el.getAttribute('kt-hidden-' + prop) || cache === false) {\r\n var value;\r\n\r\n // the element is hidden so:\r\n // making the el block so we can meassure its height but still be hidden\r\n css = el.style.cssText;\r\n el.style.cssText = 'position: absolute; visibility: hidden; display: block;';\r\n\r\n if (prop == 'width') {\r\n value = el.offsetWidth;\r\n } else if (prop == 'height') {\r\n value = el.offsetHeight;\r\n }\r\n\r\n el.style.cssText = css;\r\n\r\n // store it in cache\r\n el.setAttribute('kt-hidden-' + prop, value);\r\n\r\n return parseFloat(value);\r\n } else {\r\n // store it in cache\r\n return parseFloat(el.getAttribute('kt-hidden-' + prop));\r\n }\r\n },\r\n\r\n actualHeight: function(el, cache) {\r\n return KTUtil.actualCss(el, 'height', cache);\r\n },\r\n\r\n actualWidth: function(el, cache) {\r\n return KTUtil.actualCss(el, 'width', cache);\r\n },\r\n\r\n getScroll: function(element, method) {\r\n // The passed in `method` value should be 'Top' or 'Left'\r\n method = 'scroll' + method;\r\n return (element == window || element == document) ? (\r\n self[(method == 'scrollTop') ? 'pageYOffset' : 'pageXOffset'] ||\r\n (browserSupportsBoxModel && document.documentElement[method]) ||\r\n document.body[method]\r\n ) : element[method];\r\n },\r\n\r\n css: function(el, styleProp, value) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (value !== undefined) {\r\n el.style[styleProp] = value;\r\n } else {\r\n var defaultView = (el.ownerDocument || document).defaultView;\r\n // W3C standard way:\r\n if (defaultView && defaultView.getComputedStyle) {\r\n // sanitize property name to css notation\r\n // (hyphen separated words eg. font-Size)\r\n styleProp = styleProp.replace(/([A-Z])/g, \"-$1\").toLowerCase();\r\n return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);\r\n } else if (el.currentStyle) { // IE\r\n // sanitize property name to camelCase\r\n styleProp = styleProp.replace(/\\-(\\w)/g, function(str, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = el.currentStyle[styleProp];\r\n // convert other units to pixels on IE\r\n if (/^\\d+(em|pt|%|ex)?$/i.test(value)) {\r\n return (function(value) {\r\n var oldLeft = el.style.left,\r\n oldRsLeft = el.runtimeStyle.left;\r\n el.runtimeStyle.left = el.currentStyle.left;\r\n el.style.left = value || 0;\r\n value = el.style.pixelLeft + \"px\";\r\n el.style.left = oldLeft;\r\n el.runtimeStyle.left = oldRsLeft;\r\n return value;\r\n })(value);\r\n }\r\n return value;\r\n }\r\n }\r\n },\r\n\r\n slide: function(el, dir, speed, callback, recalcMaxHeight) {\r\n if (!el || (dir == 'up' && KTUtil.visible(el) === false) || (dir == 'down' && KTUtil.visible(el) === true)) {\r\n return;\r\n }\r\n\r\n speed = (speed ? speed : 600);\r\n var calcHeight = KTUtil.actualHeight(el);\r\n var calcPaddingTop = false;\r\n var calcPaddingBottom = false;\r\n\r\n if (KTUtil.css(el, 'padding-top') && KTUtil.data(el).has('slide-padding-top') !== true) {\r\n KTUtil.data(el).set('slide-padding-top', KTUtil.css(el, 'padding-top'));\r\n }\r\n\r\n if (KTUtil.css(el, 'padding-bottom') && KTUtil.data(el).has('slide-padding-bottom') !== true) {\r\n KTUtil.data(el).set('slide-padding-bottom', KTUtil.css(el, 'padding-bottom'));\r\n }\r\n\r\n if (KTUtil.data(el).has('slide-padding-top')) {\r\n calcPaddingTop = parseInt(KTUtil.data(el).get('slide-padding-top'));\r\n }\r\n\r\n if (KTUtil.data(el).has('slide-padding-bottom')) {\r\n calcPaddingBottom = parseInt(KTUtil.data(el).get('slide-padding-bottom'));\r\n }\r\n\r\n if (dir == 'up') { // up\r\n el.style.cssText = 'display: block; overflow: hidden;';\r\n\r\n if (calcPaddingTop) {\r\n KTUtil.animate(0, calcPaddingTop, speed, function(value) {\r\n el.style.paddingTop = (calcPaddingTop - value) + 'px';\r\n }, 'linear');\r\n }\r\n\r\n if (calcPaddingBottom) {\r\n KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\r\n el.style.paddingBottom = (calcPaddingBottom - value) + 'px';\r\n }, 'linear');\r\n }\r\n\r\n KTUtil.animate(0, calcHeight, speed, function(value) {\r\n el.style.height = (calcHeight - value) + 'px';\r\n }, 'linear', function() {\r\n el.style.height = '';\r\n el.style.display = 'none';\r\n\r\n if (typeof callback === 'function') {\r\n callback();\r\n }\r\n });\r\n\r\n\r\n } else if (dir == 'down') { // down\r\n el.style.cssText = 'display: block; overflow: hidden;';\r\n\r\n if (calcPaddingTop) {\r\n KTUtil.animate(0, calcPaddingTop, speed, function(value) {//\r\n el.style.paddingTop = value + 'px';\r\n }, 'linear', function() {\r\n el.style.paddingTop = '';\r\n });\r\n }\r\n\r\n if (calcPaddingBottom) {\r\n KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\r\n el.style.paddingBottom = value + 'px';\r\n }, 'linear', function() {\r\n el.style.paddingBottom = '';\r\n });\r\n }\r\n\r\n KTUtil.animate(0, calcHeight, speed, function(value) {\r\n el.style.height = value + 'px';\r\n }, 'linear', function() {\r\n el.style.height = '';\r\n el.style.display = '';\r\n el.style.overflow = '';\r\n\r\n if (typeof callback === 'function') {\r\n callback();\r\n }\r\n });\r\n }\r\n },\r\n\r\n slideUp: function(el, speed, callback) {\r\n KTUtil.slide(el, 'up', speed, callback);\r\n },\r\n\r\n slideDown: function(el, speed, callback) {\r\n KTUtil.slide(el, 'down', speed, callback);\r\n },\r\n\r\n show: function(el, display) {\r\n if (typeof el !== 'undefined') {\r\n el.style.display = (display ? display : 'block');\r\n }\r\n },\r\n\r\n hide: function(el) {\r\n if (typeof el !== 'undefined') {\r\n el.style.display = 'none';\r\n }\r\n },\r\n\r\n addEvent: function(el, type, handler, one) {\r\n if (typeof el !== 'undefined' && el !== null) {\r\n el.addEventListener(type, handler);\r\n }\r\n },\r\n\r\n removeEvent: function(el, type, handler) {\r\n if (el !== null) {\r\n el.removeEventListener(type, handler);\r\n }\r\n },\r\n\r\n on: function(element, selector, event, handler) {\r\n if (!selector) {\r\n return;\r\n }\r\n\r\n var eventId = KTUtil.getUniqueID('event');\r\n\r\n window.KTUtilDelegatedEventHandlers[eventId] = function(e) {\r\n var targets = element.querySelectorAll(selector);\r\n var target = e.target;\r\n\r\n while (target && target !== element) {\r\n for (var i = 0, j = targets.length; i < j; i++) {\r\n if (target === targets[i]) {\r\n handler.call(target, e);\r\n }\r\n }\r\n\r\n target = target.parentNode;\r\n }\r\n }\r\n\r\n KTUtil.addEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\r\n\r\n return eventId;\r\n },\r\n\r\n off: function(element, event, eventId) {\r\n if (!element || !window.KTUtilDelegatedEventHandlers[eventId]) {\r\n return;\r\n }\r\n\r\n KTUtil.removeEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\r\n\r\n delete window.KTUtilDelegatedEventHandlers[eventId];\r\n },\r\n\r\n one: function onetime(el, type, callback) {\r\n el.addEventListener(type, function callee(e) {\r\n // remove event\r\n if (e.target && e.target.removeEventListener) {\r\n e.target.removeEventListener(e.type, callee);\r\n }\r\n\r\n // need to verify from https://themeforest.net/author_dashboard#comment_23615588\r\n if (el && el.removeEventListener) {\r\n\t\t\t\t e.currentTarget.removeEventListener(e.type, callee);\r\n\t\t\t }\r\n\r\n // call handler\r\n return callback(e);\r\n });\r\n },\r\n\r\n hash: function(str) {\r\n var hash = 0,\r\n i, chr;\r\n\r\n if (str.length === 0) return hash;\r\n for (i = 0; i < str.length; i++) {\r\n chr = str.charCodeAt(i);\r\n hash = ((hash << 5) - hash) + chr;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n\r\n return hash;\r\n },\r\n\r\n animateClass: function(el, animationName, callback) {\r\n var animation;\r\n var animations = {\r\n animation: 'animationend',\r\n OAnimation: 'oAnimationEnd',\r\n MozAnimation: 'mozAnimationEnd',\r\n WebkitAnimation: 'webkitAnimationEnd',\r\n msAnimation: 'msAnimationEnd',\r\n };\r\n\r\n for (var t in animations) {\r\n if (el.style[t] !== undefined) {\r\n animation = animations[t];\r\n }\r\n }\r\n\r\n KTUtil.addClass(el, 'animated ' + animationName);\r\n\r\n KTUtil.one(el, animation, function() {\r\n KTUtil.removeClass(el, 'animated ' + animationName);\r\n });\r\n\r\n if (callback) {\r\n KTUtil.one(el, animation, callback);\r\n }\r\n },\r\n\r\n transitionEnd: function(el, callback) {\r\n var transition;\r\n var transitions = {\r\n transition: 'transitionend',\r\n OTransition: 'oTransitionEnd',\r\n MozTransition: 'mozTransitionEnd',\r\n WebkitTransition: 'webkitTransitionEnd',\r\n msTransition: 'msTransitionEnd'\r\n };\r\n\r\n for (var t in transitions) {\r\n if (el.style[t] !== undefined) {\r\n transition = transitions[t];\r\n }\r\n }\r\n\r\n KTUtil.one(el, transition, callback);\r\n },\r\n\r\n animationEnd: function(el, callback) {\r\n var animation;\r\n var animations = {\r\n animation: 'animationend',\r\n OAnimation: 'oAnimationEnd',\r\n MozAnimation: 'mozAnimationEnd',\r\n WebkitAnimation: 'webkitAnimationEnd',\r\n msAnimation: 'msAnimationEnd'\r\n };\r\n\r\n for (var t in animations) {\r\n if (el.style[t] !== undefined) {\r\n animation = animations[t];\r\n }\r\n }\r\n\r\n KTUtil.one(el, animation, callback);\r\n },\r\n\r\n animateDelay: function(el, value) {\r\n var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\r\n for (var i = 0; i < vendors.length; i++) {\r\n KTUtil.css(el, vendors[i] + 'animation-delay', value);\r\n }\r\n },\r\n\r\n animateDuration: function(el, value) {\r\n var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\r\n for (var i = 0; i < vendors.length; i++) {\r\n KTUtil.css(el, vendors[i] + 'animation-duration', value);\r\n }\r\n },\r\n\r\n scrollTo: function(target, offset, duration) {\r\n var duration = duration ? duration : 500;\r\n var targetPos = target ? KTUtil.offset(target).top : 0;\r\n var scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n var from, to;\r\n\r\n if (offset) {\r\n scrollPos += offset;\r\n }\r\n\r\n from = scrollPos;\r\n to = targetPos;\r\n\r\n KTUtil.animate(from, to, duration, function(value) {\r\n document.documentElement.scrollTop = value;\r\n document.body.parentNode.scrollTop = value;\r\n document.body.scrollTop = value;\r\n }); //, easing, done\r\n },\r\n\r\n scrollTop: function(offset, duration) {\r\n KTUtil.scrollTo(null, offset, duration);\r\n },\r\n\r\n isArray: function(obj) {\r\n return obj && Array.isArray(obj);\r\n },\r\n\r\n ready: function(callback) {\r\n if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\") {\r\n callback();\r\n } else {\r\n document.addEventListener('DOMContentLoaded', callback);\r\n }\r\n },\r\n\r\n isEmpty: function(obj) {\r\n for (var prop in obj) {\r\n if (obj.hasOwnProperty(prop)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n numberString: function(nStr) {\r\n nStr += '';\r\n var x = nStr.split('.');\r\n var x1 = x[0];\r\n var x2 = x.length > 1 ? '.' + x[1] : '';\r\n var rgx = /(\\d+)(\\d{3})/;\r\n while (rgx.test(x1)) {\r\n x1 = x1.replace(rgx, '$1' + ',' + '$2');\r\n }\r\n return x1 + x2;\r\n },\r\n\r\n detectIE: function() {\r\n var ua = window.navigator.userAgent;\r\n\r\n // Test values; Uncomment to check result …\r\n\r\n // IE 10\r\n // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';\r\n\r\n // IE 11\r\n // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\r\n\r\n // Edge 12 (Spartan)\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';\r\n\r\n // Edge 13\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';\r\n\r\n var msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n var rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n }\r\n\r\n // other browser\r\n return false;\r\n },\r\n\r\n isRTL: function() {\r\n var html = KTUtil.getByTagName('html')[0];\r\n\r\n if (html) {\r\n return (KTUtil.attr(html, 'direction') == 'rtl');\r\n }\r\n },\r\n\r\n // Scroller\r\n scrollInit: function(element, options) {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Learn more: https://github.com/mdbootstrap/perfect-scrollbar#options\r\n var pluginDefOptions = {\r\n wheelSpeed: 0.5,\r\n swipeEasing: true,\r\n wheelPropagation: false,\r\n minScrollbarLength: 40,\r\n maxScrollbarLength: 300,\r\n suppressScrollX: true\r\n };\r\n\r\n options = KTUtil.deepExtend({}, pluginDefOptions, options);\r\n\r\n // Define init function\r\n function init() {\r\n var ps;\r\n var height;\r\n\r\n // Get extra options via data attributes\r\n var attrs = element.getAttributeNames();\r\n if (attrs.length > 0) {\r\n attrs.forEach(function(attrName) {\r\n \t\t\t// more options; https://github.com/ganlanyuan/tiny-slider#options\r\n \t\t\tif ((/^data-.*/g).test(attrName)) {\r\n if (['scroll', 'height', 'mobile-height'].includes(optionName) == false) {\r\n var optionName = attrName.replace('data-', '').toLowerCase().replace(/(?:[\\s-])\\w/g, function(match) {\r\n \t\t\t\t\treturn match.replace('-', '').toUpperCase();\r\n \t\t\t\t});\r\n\r\n options[optionName] = KTUtil.filterBoolean(element.getAttribute(attrName));\r\n }\r\n \t\t\t}\r\n \t\t});\r\n }\r\n\r\n if (options.height instanceof Function) {\r\n height = options.height.call();\r\n } else {\r\n if (KTUtil.isMobileDevice() === true && options.mobileHeight) {\r\n height = parseInt(options.mobileHeight);\r\n } else {\r\n height = parseInt(options.height);\r\n }\r\n }\r\n\r\n if (height === false) {\r\n KTUtil.scrollDestroy(element, true);\r\n\r\n return;\r\n }\r\n\r\n height = parseInt(height);\r\n\r\n // Destroy scroll on table and mobile modes\r\n if ((options.mobileNativeScroll || options.disableForMobile) && KTUtil.isMobileDevice() === true) {\r\n ps = KTUtil.data(element).get('ps');\r\n if (ps) {\r\n if (options.resetHeightOnDestroy) {\r\n KTUtil.css(element, 'height', 'auto');\r\n } else {\r\n KTUtil.css(element, 'overflow', 'auto');\r\n if (height > 0) {\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n }\r\n\r\n ps.destroy();\r\n ps = KTUtil.data(element).remove('ps');\r\n } else if (height > 0){\r\n KTUtil.css(element, 'overflow', 'auto');\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (height > 0) {\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n\r\n if (options.desktopNativeScroll) {\r\n KTUtil.css(element, 'overflow', 'auto');\r\n return;\r\n }\r\n\r\n // Pass options via HTML Attributes\r\n if (KTUtil.attr(element, 'data-window-scroll') == 'true') {\r\n options.windowScroll = true;\r\n }\r\n\r\n // Init scroll\r\n ps = KTUtil.data(element).get('ps');\r\n\r\n if (ps) {\r\n ps.update();\r\n } else {\r\n KTUtil.css(element, 'overflow', 'hidden');\r\n KTUtil.addClass(element, 'scroll');\r\n\r\n ps = new PerfectScrollbar(element, options);\r\n\r\n KTUtil.data(element).set('ps', ps);\r\n }\r\n\r\n // Remember scroll position in cookie\r\n var uid = KTUtil.attr(element, 'id');\n try {\n if (uid) {\n var cookie = KTCookie.getCookie(uid);\n if (options.rememberPosition === true && cookie) {\n var pos = parseInt(cookie);\n if (pos > 0) {\n element.scrollTop = pos;\n }\n element.addEventListener('ps-scroll-y', function() {\n KTCookie.setCookie(uid, element.scrollTop, {});\n });\n }\n }\n }\n catch (e) {\n console.error(e);\n }\r\n // Consider using Localstorage\r\n //if (options.rememberPosition === true && Cookies && uid) {\r\n // if (KTCookie.getCookie(uid)) {\r\n // var pos = parseInt(KTCookie.getCookie(uid));\r\n //\r\n // if (pos > 0) {\r\n // element.scrollTop = pos;\r\n // }\r\n // }\r\n //\r\n // element.addEventListener('ps-scroll-y', function() {\r\n // KTCookie.setCookie(uid, element.scrollTop);\r\n // });\r\n //}\r\n }\r\n\r\n // Init\r\n init();\r\n\r\n // Handle window resize\r\n if (options.handleWindowResize) {\r\n KTUtil.addResizeHandler(function() {\r\n init();\r\n });\r\n }\r\n },\r\n\r\n scrollUpdate: function(element) {\r\n var ps = KTUtil.data(element).get('ps');\r\n if (ps) {\r\n ps.update();\r\n }\r\n },\r\n\r\n scrollUpdateAll: function(parent) {\r\n var scrollers = KTUtil.findAll(parent, '.ps');\r\n for (var i = 0, len = scrollers.length; i < len; i++) {\r\n KTUtil.scrollUpdate(scrollers[i]);\r\n }\r\n },\r\n\r\n scrollDestroy: function(element, resetAll) {\r\n var ps = KTUtil.data(element).get('ps');\r\n\r\n if (ps) {\r\n ps.destroy();\r\n ps = KTUtil.data(element).remove('ps');\r\n }\r\n\r\n if (element && resetAll) {\r\n element.style.setProperty('overflow', '');\r\n element.style.setProperty('height', '');\r\n }\r\n },\r\n\r\n filterBoolean: function(val) {\r\n // Convert string boolean\r\n\t\t\tif (val === true || val === 'true') {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\tif (val === false || val === 'false') {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n return val;\r\n },\r\n\r\n setHTML: function(el, html) {\r\n el.innerHTML = html;\r\n },\r\n\r\n getHTML: function(el) {\r\n if (el) {\r\n return el.innerHTML;\r\n }\r\n },\r\n\r\n getDocumentHeight: function() {\r\n var body = document.body;\r\n var html = document.documentElement;\r\n\r\n return Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );\r\n },\r\n\r\n getScrollTop: function() {\r\n return (document.scrollingElement || document.documentElement).scrollTop;\r\n },\r\n\r\n colorDarken: function(color, amount) {\r\n var subtractLight = function(color, amount){\r\n var cc = parseInt(color,16) - amount;\r\n var c = (cc < 0) ? 0 : (cc);\r\n c = (c.toString(16).length > 1 ) ? c.toString(16) : `0${c.toString(16)}`;\r\n\r\n return c;\r\n }\r\n\r\n color = (color.indexOf(\"#\")>=0) ? color.substring(1,color.length) : color;\r\n amount = parseInt((255*amount)/100);\r\n\r\n return color = `#${subtractLight(color.substring(0,2), amount)}${subtractLight(color.substring(2,4), amount)}${subtractLight(color.substring(4,6), amount)}`;\r\n },\r\n\r\n colorLighten: function(color, amount) {\r\n var addLight = function(color, amount){\r\n var cc = parseInt(color,16) + amount;\r\n var c = (cc > 255) ? 255 : (cc);\r\n c = (c.toString(16).length > 1 ) ? c.toString(16) : `0${c.toString(16)}`;\r\n\r\n return c;\r\n }\r\n\r\n color = (color.indexOf(\"#\")>=0) ? color.substring(1,color.length) : color;\r\n amount = parseInt((255*amount)/100);\r\n\r\n return color = `#${addLight(color.substring(0,2), amount)}${addLight(color.substring(2,4), amount)}${addLight(color.substring(4,6), amount)}`;\r\n },\r\n\r\n // Throttle function: Input as function which needs to be throttled and delay is the time interval in milliseconds\r\n throttle: function (timer, func, delay) {\r\n \t// If setTimeout is already scheduled, no need to do anything\r\n \tif (timer) {\r\n \t\treturn;\r\n \t}\r\n\r\n \t// Schedule a setTimeout after delay seconds\r\n \ttimer = setTimeout(function () {\r\n \t\tfunc();\r\n\r\n \t\t// Once setTimeout function execution is finished, timerId = undefined so that in
    \r\n \t\t// the next scroll event function execution can be scheduled by the setTimeout\r\n \t\ttimer = undefined;\r\n \t}, delay);\r\n },\r\n\r\n // Debounce function: Input as function which needs to be debounced and delay is the debounced time in milliseconds\r\n debounce: function (timer, func, delay) {\r\n \t// Cancels the setTimeout method execution\r\n \tclearTimeout(timer)\r\n\r\n \t// Executes the func after delay time.\r\n \ttimer = setTimeout(func, delay);\r\n },\r\n\r\n btnWait: function(el, cls, message, disable = true) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (disable) {\r\n KTUtil.attr(el, \"disabled\", true);\r\n }\r\n\r\n if (cls) {\r\n KTUtil.addClass(el, cls);\r\n KTUtil.attr(el, \"wait-class\", cls);\r\n }\r\n\r\n if (message) {\r\n var caption = KTUtil.find(el, '.btn-caption');\r\n\r\n if (caption) {\r\n KTUtil.data(caption).set('caption', KTUtil.getHTML(caption));\r\n KTUtil.setHTML(caption, message);\r\n } else {\r\n KTUtil.data(el).set('caption', KTUtil.getHTML(el));\r\n KTUtil.setHTML(el, message);\r\n }\r\n }\r\n },\r\n\r\n btnRelease: function(el) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n /// Show loading state on button\r\n KTUtil.removeAttr(el, \"disabled\");\r\n\r\n if (KTUtil.hasAttr(el, \"wait-class\")) {\r\n KTUtil.removeClass(el, KTUtil.attr(el, \"wait-class\"));\r\n }\r\n\r\n var caption = KTUtil.find(el, '.btn-caption');\r\n\r\n if (caption && KTUtil.data(caption).has('caption')) {\r\n KTUtil.setHTML(caption, KTUtil.data(caption).get('caption'));\r\n } else if (KTUtil.data(el).has('caption')) {\r\n KTUtil.setHTML(el, KTUtil.data(el).get('caption'));\r\n }\r\n },\r\n\r\n isOffscreen: function(el, direction, offset = 0) {\r\n var windowWidth = KTUtil.getViewPort().width;\r\n var windowHeight = KTUtil.getViewPort().height;\r\n\r\n var top = KTUtil.offset(el).top;\r\n var height = KTUtil.outerHeight(el) + offset;\r\n var left = KTUtil.offset(el).left;\r\n var width = KTUtil.outerWidth(el) + offset;\r\n\r\n if (direction == 'bottom') {\r\n if (windowHeight < top + height) {\r\n return true;\r\n } else if (windowHeight > top + height * 1.5) {\r\n return true;\r\n }\r\n }\r\n\r\n if (direction == 'top') {\r\n if (top < 0) {\r\n return true;\r\n } else if (top > height) {\r\n return true;\r\n }\r\n }\r\n\r\n if (direction == 'left') {\r\n if (left < 0) {\r\n return true;\r\n } else if (left * 2 > width) {\r\n //console.log('left 2');\r\n //return true;\r\n }\r\n }\r\n\r\n if (direction == 'right') {\r\n if (windowWidth < left + width) {\r\n return true;\r\n } else {\r\n //console.log('right 2');\r\n //return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n }\r\n}();\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTUtil;\r\n}\r\n\r\n// Initialize KTUtil class on document ready\r\nKTUtil.ready(function() {\r\n\tif (typeof KTAppSettings !== 'undefined') {\r\n\t\tKTUtil.init(KTAppSettings);\r\n\t} else {\r\n\t\tKTUtil.init();\r\n\t}\r\n});\r\n\r\n// CSS3 Transitions only after page load(.page-loading class added to body tag and remove with JS on page load)\r\nwindow.onload = function() {\r\n var result = KTUtil.getByTagName('body');\r\n if (result && result[0]) {\r\n KTUtil.removeClass(result[0], 'page-loading');\r\n }\r\n}\r\n","import HTTP from '../../axios';\nimport { statuses } from '../../constants';\n\nexport const snackbarTypes = {\n success: 'primary',\n info: 'info',\n error: 'danger',\n};\n\nconst ui = {\n state: {\n snackbar: {\n open: false,\n message: '',\n type: '',\n },\n bootstrapData: {},\n error: null,\n selectedGroup: null,\n selectedGroupName: '',\n selectedEdition: '',\n selectedEditionType: '',\n selectedBookName: '',\n termsConditions: false,\n schoolCycles: [],\n },\n reducers: {\n openSnackbar: (state, payload) => ({\n ...state,\n snackbar: {\n open: true,\n message: payload.message || '',\n type: payload.type,\n },\n }),\n closeSnackbar: (state) => ({\n ...state,\n snackbar: {\n open: false,\n message: '',\n },\n }),\n\n setSelectedGroup: (state, payload) => ({ ...state, selectedGroup: payload }),\n setSelectedGroupName: (state, payload) => ({ ...state, selectedGroupName: payload }),\n setSelectedEdition: (state, payload) => ({ ...state, selectedEdition: payload }),\n setSelectedEditionType: (state, payload) => ({ ...state, selectedEditionType: payload }),\n setSelectedBookName: ( state, payload) => ({ ...state, selectedBookName: payload}),\n setTermsConditions: (state, payload) => ({ ...state, termsConditions: payload }),\n\n fetchBootstrapData: (state) => ({ ...state, error: null }),\n fetchBootstrapDataSuccess: (state, payload) => ({\n ...state,\n bootstrapData: { ...state.bootstrapData, ...payload },\n }),\n fetchBootstrapDataFailed: (state, payload) => ({ ...state, error: payload }),\n\n fetchSchoolCycles: ( state, payload ) => ({\n ...state,\n status: statuses.waiting\n }),\n fetchSchoolCyclesSuccess: ( state, payload ) => ({\n ...state,\n schoolCycles: payload,\n status: statuses.received\n }),\n fetchSchoolCyclesFailed: ( state, payload ) => ({\n ...state,\n error: payload,\n status: statuses.failed\n }),\n \n createNewCycle: ( state , payload ) => ({\n ...state,\n error: null\n }),\n },\n\n effects: (dispatch) => ({\n fetchBootstrapData(payload) {\n const promises = {\n super_admin: [\n HTTP.get('/education-systems/all'),\n HTTP.get('/professors'),\n HTTP.get('/editions'),\n HTTP.get('/campus'),\n HTTP.get('/cycles'),\n ],\n admin: [\n HTTP.get(\"/education-systems/all\"),\n HTTP.get(\"/professors\"),\n HTTP.get(\"/editions\"),\n HTTP.get(\"/campus\"),\n HTTP.get(\"/cycles\"),\n ],\n Editor: [\n HTTP.get('/education-systems/all'),\n HTTP.get('/professors'),\n HTTP.get('/editions'),\n HTTP.get('/campus'),\n HTTP.get('/cycles'),\n ],\n Maestro: [HTTP.get('/editions'), HTTP.get('/campus'), HTTP.get('/cycles')],\n Estudiante: [],\n };\n\n Promise.all(promises[payload.role])\n .then((res) => {\n const finalResponse = res.map((item) => item.data);\n const rolesData = {\n super_admin: {\n educationSystems: finalResponse[0],\n teachers: finalResponse[1],\n editions: finalResponse[2],\n campus: finalResponse[3],\n cycles: finalResponse[4],\n },\n admin: {\n educationSystems: finalResponse[0],\n teachers: finalResponse[1],\n editions: finalResponse[2],\n campus: finalResponse[3],\n cycles: finalResponse[4],\n },\n Editor: {\n educationSystems: finalResponse[0],\n teachers: finalResponse[1],\n editions: finalResponse[2],\n campus: finalResponse[3],\n cycles: finalResponse[4],\n },\n Maestro: {\n editions: finalResponse[0],\n campus: finalResponse[1],\n cycles: finalResponse[2],\n },\n Estudiante: {},\n };\n\n dispatch.ui.fetchBootstrapDataSuccess(rolesData[payload.role]);\n })\n .catch((error) => {\n console.log(error);\n dispatch.ui.fetchBootstrapDataFailed(error);\n });\n },\n\n async fetchSchoolCycles(){\n try{\n const resp = await HTTP.get('/cycles/all-cycles');\n\n dispatch.ui.fetchSchoolCyclesSuccess( resp.data.body);\n\n } catch ( error ) {\n dispatch.ui.fetchSchoolCyclesFailed( error );\n throw new Error( error );\n }\n },\n \n async createNewCycle({ year, userToken }) {\n try{\n const resp = await HTTP.post('/cycles/create-cycle', { year }, {\n headers: { authentication: userToken }\n })\n\n dispatch.ui.openSnackbar(resp);\n dispatch.ui.closeSnackbar();\n } catch ( error ){\n \n throw new Error ( error );\n }\n },\n }),\n};\n\nexport default ui;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchBar\":\"SearchBar_SearchBar__pF83I\",\"SearchBar-icon\":\"SearchBar_SearchBar-icon__3f6aJ\",\"SearchBar-divider\":\"SearchBar_SearchBar-divider__1M3sm\"};","import {toAbsoluteUrl} from \"../../_helpers\";\r\nexport function getInitLayoutConfig() {\r\n return {\r\n demo: \"demo1\",\r\n js: {\r\n breakpoints : {\r\n sm: \"576\",\r\n md: \"768\",\r\n lg: \"992\",\r\n xl: \"1200\",\r\n xxl: \"1200\"\r\n },\r\n colors: {\r\n theme: {\r\n base: {\r\n \"white\": \"#ffffff\",\r\n \"primary\": \"#6993FF\",\r\n \"secondary\": \"#E5EAEE\",\r\n \"success\": \"#1BC5BD\",\r\n \"info\": \"#8950FC\",\r\n \"warning\": \"#FFA800\",\r\n \"danger\": \"#F64E60\",\r\n \"light\": \"#F3F6F9\",\r\n \"dark\": \"#212121\"\r\n },\r\n light: {\r\n \"white\": \"#ffffff\",\r\n \"primary\": \"#E1E9FF\",\r\n \"secondary\": \"#ECF0F3\",\r\n \"success\": \"#C9F7F5\",\r\n \"info\": \"#EEE5FF\",\r\n \"warning\": \"#FFF4DE\",\r\n \"danger\": \"#FFE2E5\",\r\n \"light\": \"#F3F6F9\",\r\n \"dark\": \"#D6D6E0\"\r\n },\r\n inverse: {\r\n \"white\": \"#ffffff\",\r\n \"primary\": \"#ffffff\",\r\n \"secondary\": \"#212121\",\r\n \"success\": \"#ffffff\",\r\n \"info\": \"#ffffff\",\r\n \"warning\": \"#ffffff\",\r\n \"danger\": \"#ffffff\",\r\n \"light\": \"#464E5F\",\r\n \"dark\": \"#ffffff\"\r\n }\r\n },\r\n gray: {\r\n \"gray100\": \"#F3F6F9\",\r\n \"gray200\": \"#ECF0F3\",\r\n \"gray300\": \"#E5EAEE\",\r\n \"gray400\": \"#D6D6E0\",\r\n \"gray500\": \"#B5B5C3\",\r\n \"gray600\": \"#80808F\",\r\n \"gray700\": \"#464E5F\",\r\n \"gray800\": \"#1B283F\",\r\n \"gray900\": \"#212121\"\r\n }\r\n },\r\n fontFamily: \"Poppins\"\r\n },\r\n // == Page Splash Screen loading\r\n loader: {\r\n enabled: true,\r\n type: \"\", // default|spinner-message|spinner-logo\r\n logo: toAbsoluteUrl(\"/media/logos/logo.png\"),\r\n message: \"Cargando...\"\r\n },\r\n // page toolbar\r\n toolbar: {\r\n display: false\r\n },\r\n header: {\r\n self: {\r\n width: \"fluid\", // fixed|fluid\r\n theme: \"light\", // light|dark\r\n fixed: {\r\n desktop: true,\r\n mobile: true\r\n }\r\n },\r\n menu: {\r\n self: {\r\n display: false,\r\n layout: \"default\", // tab/default\r\n \"root-arrow\": false,\r\n \"icon-style\": \"duotone\" // duotone, line, bold, solid\r\n },\r\n desktop: {\r\n arrow: true,\r\n toggle: \"click\",\r\n submenu: {\r\n theme: \"light\", // light|dark\r\n arrow: true\r\n }\r\n },\r\n mobile: {\r\n submenu: {\r\n theme: \"dark\",\r\n accordion: true\r\n }\r\n }\r\n }\r\n },\r\n subheader: {\r\n display: false,\r\n displayDesc: false,\r\n displayDaterangepicker: true,\r\n layout: \"subheader-v1\",\r\n fixed: true,\r\n width: \"fluid\", // fixed/fluid,\r\n clear: false,\r\n style: \"solid\" // solid/transparent\r\n },\r\n content: {\r\n width: \"fixed\" // fluid|fixed\r\n },\r\n brand: {\r\n self: {\r\n theme: \"dark\" // light/dark\r\n }\r\n },\r\n aside: {\r\n self: {\r\n theme: \"dark\", // light/dark\r\n display: true,\r\n fixed: true,\r\n minimize: {\r\n toggle: true, // allow toggle\r\n default: false, // default state\r\n hoverable: true // allow hover\r\n }\r\n },\r\n footer: {\r\n self: {\r\n display: false\r\n }\r\n },\r\n menu: {\r\n dropdown: false, // ok\r\n scroll: true, // ok\r\n \"icon-style\": \"duotone\", // duotone, line, bold, solid\r\n submenu: {\r\n accordion: true,\r\n dropdown: {\r\n arrow: true,\r\n \"hover-timeout\": 500 // in milliseconds\r\n }\r\n }\r\n }\r\n },\r\n footer: {\r\n self: {\r\n fixed: true,\r\n width: \"fluid\"\r\n }\r\n },\r\n extras: {\r\n search: {\r\n display: false,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n offcanvas: {\r\n direction: \"right\"\r\n }\r\n },\r\n notifications: {\r\n display: false,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\" // light, dark\r\n },\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n \"quick-actions\": {\r\n display: false,\r\n layout: \"dropdown\", // offcanvas, dropdown,\r\n dropdown: {\r\n style: \"dark\", // light, dark\r\n },\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n user: {\r\n display: true,\r\n layout: \"offcanvas\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\"\r\n },\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n languages: {\r\n display: false\r\n },\r\n cart: {\r\n display: false,\r\n dropdown: {\r\n style: \"dark\", // ligth, dark\r\n }\r\n },\r\n \"quick-panel\": {\r\n display: false,\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n chat: {\r\n display: false\r\n },\r\n toolbar: {\r\n display: false\r\n },\r\n scrolltop: {\r\n display: true\r\n }\r\n }\r\n };\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport objectPath from \"object-path\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../_helpers\";\r\nimport { useHtmlClassService } from \"../../_core/MetronicLayout\";\r\n\r\nconst styles = {\r\n box: {\r\n width: \"100%\",\r\n height: \"85px\",\r\n paddingTop: \"10px\",\r\n background: \"#222f3e\",\r\n },\r\n};\r\nexport function HeaderMobile() {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n headerLogo: uiService.getStickyLogo(),\r\n asideDisplay: objectPath.get(uiService.config, \"aside.self.display\"),\r\n headerMenuSelfDisplay:\r\n objectPath.get(uiService.config, \"header.menu.self.display\") === true,\r\n headerMobileCssClasses: uiService.getClasses(\"header_mobile\", true),\r\n headerMobileAttributes: uiService.getAttributes(\"header_mobile\"),\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/*begin::Header Mobile*/}\r\n \r\n {/*begin::Logo*/}\r\n \r\n
    \r\n \r\n
    \r\n \r\n {/*end::Logo*/}\r\n\r\n {/*begin::Toolbar*/}\r\n
    \r\n {layoutProps.asideDisplay && (\r\n <>\r\n {/*begin::Aside Mobile Toggle*/}\r\n \r\n Menu\r\n \r\n \r\n {/*end::Aside Mobile Toggle*/}\r\n \r\n )}\r\n\r\n {layoutProps.headerMenuSelfDisplay && (\r\n <>\r\n {/*begin::Header Menu Mobile Toggle*/}\r\n \r\n \r\n \r\n {/*end::Header Menu Mobile Toggle*/}\r\n \r\n )}\r\n\r\n {/*begin::Topbar Mobile Toggle*/}\r\n \r\n \r\n \r\n \r\n \r\n {/*end::Topbar Mobile Toggle*/}\r\n
    \r\n {/*end::Toolbar*/}\r\n \r\n {/*end::Header Mobile*/}\r\n \r\n );\r\n}\r\n\r\n// import React, { useMemo } from 'react';\r\n// import { Link } from 'react-router-dom';\r\n// import objectPath from 'object-path';\r\n// import SVG from 'react-inlinesvg';\r\n// import { toAbsoluteUrl } from '../../../_helpers';\r\n// import { useHtmlClassService } from '../../_core/MetronicLayout';\r\n\r\n// export function HeaderMobile() {\r\n// const uiService = useHtmlClassService();\r\n\r\n// const layoutProps = useMemo(() => {\r\n// return {\r\n// headerLogo: uiService.getStickyLogo(),\r\n// asideDisplay: objectPath.get(uiService.config, 'aside.self.display'),\r\n// headerMenuSelfDisplay: objectPath.get(uiService.config, 'header.menu.self.display') === true,\r\n// headerMobileCssClasses: uiService.getClasses('header_mobile', true),\r\n// headerMobileAttributes: uiService.getAttributes('header_mobile'),\r\n// };\r\n// }, [uiService]);\r\n\r\n// return (\r\n// <>\r\n// {/*begin::Header Mobile*/}\r\n// \r\n// {/*begin::Logo*/}\r\n// \r\n//
    \r\n// {process.env.REACT_APP_COMPANY_NAME}\r\n//
    \r\n// \r\n// {/*end::Logo*/}\r\n\r\n// {/*begin::Toolbar*/}\r\n//
    \r\n// {layoutProps.asideDisplay && (\r\n// <>\r\n// {/*begin::Aside Mobile Toggle*/}\r\n// \r\n// {/*end::Aside Mobile Toggle*/}\r\n// \r\n// )}\r\n\r\n// {layoutProps.headerMenuSelfDisplay && (\r\n// <>\r\n// {/*begin::Header Menu Mobile Toggle*/}\r\n// \r\n// {/*end::Header Menu Mobile Toggle*/}\r\n// \r\n// )}\r\n\r\n// {/*begin::Topbar Mobile Toggle*/}\r\n// \r\n// \r\n// \r\n// \r\n// \r\n// {/*end::Topbar Mobile Toggle*/}\r\n//
    \r\n// {/*end::Toolbar*/}\r\n// \r\n// {/*end::Header Mobile*/}\r\n// \r\n// );\r\n// }\r\n","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTMenu = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n // scrollable area with Perfect Scroll\r\n scroll: {\r\n rememberPosition: false\r\n },\r\n\r\n // accordion submenu mode\r\n accordion: {\r\n slideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n autoScroll: false, // enable auto scrolling(focus) to the clicked menu item\r\n autoScrollSpeed: 1200,\r\n expandAll: true // allow having multiple expanded accordions in the menu\r\n },\r\n\r\n // dropdown submenu mode\r\n dropdown: {\r\n timeout: 500 // timeout in milliseconds to show and hide the hoverable submenu dropdown\r\n }\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Run plugin\r\n * @returns {KTMenu}\r\n */\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('menu')) {\r\n the = KTUtil.data(element).get('menu');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // reset menu\r\n Plugin.reset();\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('menu', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles submenu click toggle\r\n * @returns {KTMenu}\r\n */\r\n init: function(options) {\r\n the.events = [];\r\n\r\n the.eventHandlers = {};\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n // pause menu\r\n the.pauseDropdownHoverTime = 0;\r\n\r\n the.uid = KTUtil.getUniqueID();\r\n },\r\n\r\n update: function(options) {\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n // pause menu\r\n the.pauseDropdownHoverTime = 0;\r\n\r\n // reset menu\r\n Plugin.reset();\r\n\r\n the.eventHandlers = {};\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('menu', the);\r\n },\r\n\r\n reload: function() {\r\n // reset menu\r\n Plugin.reset();\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n // reset submenu props\r\n Plugin.resetSubmenuProps();\r\n },\r\n\r\n /**\r\n * Reset menu\r\n * @returns {KTMenu}\r\n */\r\n build: function() {\r\n // General accordion submenu toggle\r\n the.eventHandlers['event_1'] = KTUtil.on( element, '.menu-toggle', 'click', Plugin.handleSubmenuAccordion);\r\n\r\n // Dropdown mode(hoverable)\r\n if (Plugin.getSubmenuMode() === 'dropdown' || Plugin.isConditionalSubmenuDropdown()) {\r\n // dropdown submenu - hover toggle\r\n the.eventHandlers['event_2'] = KTUtil.on( element, '[data-menu-toggle=\"hover\"]', 'mouseover', Plugin.handleSubmenuDrodownHoverEnter);\r\n the.eventHandlers['event_3'] = KTUtil.on( element, '[data-menu-toggle=\"hover\"]', 'mouseout', Plugin.handleSubmenuDrodownHoverExit);\r\n\r\n // dropdown submenu - click toggle\r\n the.eventHandlers['event_4'] = KTUtil.on( element, '[data-menu-toggle=\"click\"] > .menu-toggle, [data-menu-toggle=\"click\"] > .menu-link .menu-toggle', 'click', Plugin.handleSubmenuDropdownClick);\r\n the.eventHandlers['event_5'] = KTUtil.on( element, '[data-menu-toggle=\"tab\"] > .menu-toggle, [data-menu-toggle=\"tab\"] > .menu-link .menu-toggle', 'click', Plugin.handleSubmenuDropdownTabClick);\r\n }\r\n\r\n // Handle general link click\r\n the.eventHandlers['event_6'] = KTUtil.on(element, '.menu-item > .menu-link:not(.menu-toggle):not(.menu-link-toggle-skip)', 'click', Plugin.handleLinkClick);\r\n\r\n // Init scrollable menu\r\n if (the.options.scroll && the.options.scroll.height) {\r\n Plugin.scrollInit();\r\n }\r\n },\r\n\r\n /**\r\n * Reset menu\r\n * @returns {KTMenu}\r\n */\r\n reset: function() {\r\n KTUtil.off( element, 'click', the.eventHandlers['event_1']);\r\n\r\n // dropdown submenu - hover toggle\r\n KTUtil.off( element, 'mouseover', the.eventHandlers['event_2']);\r\n KTUtil.off( element, 'mouseout', the.eventHandlers['event_3']);\r\n\r\n // dropdown submenu - click toggle\r\n KTUtil.off( element, 'click', the.eventHandlers['event_4']);\r\n KTUtil.off( element, 'click', the.eventHandlers['event_5']);\r\n\r\n // handle link click\r\n KTUtil.off(element, 'click', the.eventHandlers['event_6']);\r\n },\r\n\r\n /**\r\n * Init scroll menu\r\n *\r\n */\r\n scrollInit: function() {\r\n if ( the.options.scroll && the.options.scroll.height ) {\r\n KTUtil.scrollDestroy(element, true);\r\n KTUtil.scrollInit(element, {mobileNativeScroll: true, windowScroll: false, resetHeightOnDestroy: true, handleWindowResize: true, height: the.options.scroll.height, rememberPosition: the.options.scroll.rememberPosition});\r\n } else {\r\n KTUtil.scrollDestroy(element, true);\r\n }\r\n },\r\n\r\n /**\r\n * Update scroll menu\r\n */\r\n scrollUpdate: function() {\r\n if ( the.options.scroll && the.options.scroll.height ) {\r\n KTUtil.scrollUpdate(element);\r\n }\r\n },\r\n\r\n /**\r\n * Scroll top\r\n */\r\n scrollTop: function() {\r\n if ( the.options.scroll && the.options.scroll.height ) {\r\n KTUtil.scrollTop(element);\r\n }\r\n },\r\n\r\n /**\r\n * Get submenu mode for current breakpoint and menu state\r\n * @returns {KTMenu}\r\n */\r\n getSubmenuMode: function(el) {\r\n if ( KTUtil.isBreakpointUp('lg') ) {\r\n if (el && KTUtil.hasAttr(el, 'data-menu-toggle') && KTUtil.attr(el, 'data-menu-toggle') == 'hover') {\r\n return 'dropdown';\r\n }\r\n\r\n if ( KTUtil.isset(the.options.submenu, 'desktop.state.body') ) {\r\n if ( KTUtil.hasClasses(body, the.options.submenu.desktop.state.body) ) {\r\n return the.options.submenu.desktop.state.mode;\r\n } else {\r\n return the.options.submenu.desktop.default;\r\n }\r\n } else if ( KTUtil.isset(the.options.submenu, 'desktop') ) {\r\n return the.options.submenu.desktop;\r\n }\r\n } else if ( KTUtil.isBreakpointUp('md') && KTUtil.isBreakpointDown('lg') && KTUtil.isset(the.options.submenu, 'tablet') ) {\r\n return the.options.submenu.tablet;\r\n } else if ( KTUtil.isBreakpointDown('md') && KTUtil.isset(the.options.submenu, 'mobile') ) {\r\n return the.options.submenu.mobile;\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n /**\r\n * Get submenu mode for current breakpoint and menu state\r\n * @returns {KTMenu}\r\n */\r\n isConditionalSubmenuDropdown: function() {\r\n if ( KTUtil.isBreakpointUp('lg') && KTUtil.isset(the.options.submenu, 'desktop.state.body') ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n\r\n /**\r\n * Reset submenu attributes\r\n * @returns {KTMenu}\r\n */\r\n resetSubmenuProps: function(e) {\r\n var submenus = KTUtil.findAll(element, '.menu-submenu');\r\n if ( submenus ) {\r\n for (var i = 0, len = submenus.length; i < len; i++) {\r\n var submenu = submenus[0];\r\n\r\n KTUtil.css(submenu, 'display', '');\r\n KTUtil.css(submenu, 'overflow', '');\r\n\r\n if (submenu.hasAttribute('data-hor-direction')) {\r\n KTUtil.removeClass(submenu, 'menu-submenu-left');\r\n KTUtil.removeClass(submenu, 'menu-submenu-right');\r\n KTUtil.addClass(submenu, submenu.getAttribute('data-hor-direction'));\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDrodownHoverEnter: function(e) {\r\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n return;\r\n }\r\n\r\n if ( the.resumeDropdownHover() === false ) {\r\n return;\r\n }\r\n\r\n var item = this;\r\n\r\n if ( item.getAttribute('data-hover') == '1' ) {\r\n item.removeAttribute('data-hover');\r\n clearTimeout( item.getAttribute('data-timeout') );\r\n item.removeAttribute('data-timeout');\r\n }\r\n\r\n Plugin.showSubmenuDropdown(item);\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDrodownHoverExit: function(e) {\r\n if ( the.resumeDropdownHover() === false ) {\r\n return;\r\n }\r\n\r\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n return;\r\n }\r\n\r\n var item = this;\r\n var time = the.options.dropdown.timeout;\r\n\r\n var timeout = setTimeout(function() {\r\n if ( item.getAttribute('data-hover') == '1' ) {\r\n Plugin.hideSubmenuDropdown(item, true);\r\n }\r\n }, time);\r\n\r\n item.setAttribute('data-hover', '1');\r\n item.setAttribute('data-timeout', timeout);\r\n },\r\n\r\n /**\r\n * Handles submenu click toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDropdownClick: function(e) {\r\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n return;\r\n }\r\n\r\n var item = this.closest('.menu-item');\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('submenuToggle', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if ( item.getAttribute('data-menu-submenu-mode') == 'accordion' ) {\r\n return;\r\n }\r\n\r\n if ( KTUtil.hasClass(item, 'menu-item-hover') === false ) {\r\n KTUtil.addClass(item, 'menu-item-open-dropdown');\r\n Plugin.showSubmenuDropdown(item);\r\n } else {\r\n KTUtil.removeClass(item, 'menu-item-open-dropdown' );\r\n Plugin.hideSubmenuDropdown(item, true);\r\n }\r\n\r\n e.preventDefault();\r\n },\r\n\r\n /**\r\n * Handles tab click toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDropdownTabClick: function(e) {\r\n if (Plugin.getSubmenuMode(this) === 'accordion') {\r\n return;\r\n }\r\n var item = this.closest('.menu-item');\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('submenuToggle', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if (item.getAttribute('data-menu-submenu-mode') == 'accordion') {\r\n return;\r\n }\r\n\r\n if (KTUtil.hasClass(item, 'menu-item-hover') == false) {\r\n KTUtil.addClass(item, 'menu-item-open-dropdown');\r\n Plugin.showSubmenuDropdown(item);\r\n }\r\n\r\n e.preventDefault();\r\n },\r\n\r\n /**\r\n * Handles link click\r\n * @returns {KTMenu}\r\n */\r\n handleLinkClick: function(e) {\r\n var submenu = this.closest('.menu-item.menu-item-submenu');\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('linkClick', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if ( submenu && Plugin.getSubmenuMode(submenu) === 'dropdown' ) {\r\n Plugin.hideSubmenuDropdowns();\r\n }\r\n },\r\n\r\n /**\r\n * Handles submenu dropdown close on link click\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDropdownClose: function(e, el) {\r\n // exit if its not submenu dropdown mode\r\n if (Plugin.getSubmenuMode(el) === 'accordion') {\r\n return;\r\n }\r\n\r\n var shown = element.querySelectorAll('.menu-item.menu-item-submenu.menu-item-hover:not(.menu-item-tabs)');\r\n\r\n // check if currently clicked link's parent item ha\r\n if (shown.length > 0 && KTUtil.hasClass(el, 'menu-toggle') === false && el.querySelectorAll('.menu-toggle').length === 0) {\r\n // close opened dropdown menus\r\n for (var i = 0, len = shown.length; i < len; i++) {\r\n Plugin.hideSubmenuDropdown(shown[0], true);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * helper functions\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuAccordion: function(e, el) {\r\n var query;\r\n var item = el ? el : this;\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('submenuToggle', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if ( Plugin.getSubmenuMode(el) === 'dropdown' && (query = item.closest('.menu-item') ) ) {\r\n if (query.getAttribute('data-menu-submenu-mode') != 'accordion' ) {\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n var li = item.closest('.menu-item');\r\n var submenu = KTUtil.child(li, '.menu-submenu, .menu-inner');\r\n\r\n if (KTUtil.hasClass(item.closest('.menu-item'), 'menu-item-open-always')) {\r\n return;\r\n }\r\n\r\n if ( li && submenu ) {\r\n e.preventDefault();\r\n var speed = the.options.accordion.slideSpeed;\r\n var hasClosables = false;\r\n\r\n if ( KTUtil.hasClass(li, 'menu-item-open') === false ) {\r\n // hide other accordions\r\n if ( the.options.accordion.expandAll === false ) {\r\n var subnav = item.closest('.menu-nav, .menu-subnav');\r\n var closables = KTUtil.children(subnav, '.menu-item.menu-item-open.menu-item-submenu:not(.menu-item-here):not(.menu-item-open-always)');\r\n\r\n if ( subnav && closables ) {\r\n for (var i = 0, len = closables.length; i < len; i++) {\r\n var el_ = closables[0];\r\n var submenu_ = KTUtil.child(el_, '.menu-submenu');\r\n if ( submenu_ ) {\r\n KTUtil.slideUp(submenu_, speed, function() {\r\n Plugin.scrollUpdate();\r\n KTUtil.removeClass(el_, 'menu-item-open');\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n KTUtil.slideDown(submenu, speed, function() {\r\n Plugin.scrollToItem(item);\r\n Plugin.scrollUpdate();\r\n\r\n Plugin.eventTrigger('submenuToggle', submenu, e);\r\n });\r\n\r\n KTUtil.addClass(li, 'menu-item-open');\r\n\r\n } else {\r\n KTUtil.slideUp(submenu, speed, function() {\r\n Plugin.scrollToItem(item);\r\n Plugin.eventTrigger('submenuToggle', submenu, e);\r\n });\r\n\r\n KTUtil.removeClass(li, 'menu-item-open');\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * scroll to item function\r\n * @returns {KTMenu}\r\n */\r\n scrollToItem: function(item) {\r\n // handle auto scroll for accordion submenus\r\n if ( KTUtil.isBreakpointUp('lg') && the.options.accordion.autoScroll && element.getAttribute('data-menu-scroll') !== '1' ) {\r\n KTUtil.scrollTo(item, the.options.accordion.autoScrollSpeed);\r\n }\r\n },\r\n\r\n /**\r\n * Hide submenu dropdown\r\n * @returns {KTMenu}\r\n */\r\n hideSubmenuDropdown: function(item, classAlso) {\r\n // remove submenu activation class\r\n if ( classAlso ) {\r\n KTUtil.removeClass(item, 'menu-item-hover');\r\n KTUtil.removeClass(item, 'menu-item-active-tab');\r\n }\r\n\r\n // clear timeout\r\n item.removeAttribute('data-hover');\r\n\r\n if ( item.getAttribute('data-menu-toggle-class') ) {\r\n KTUtil.removeClass(body, item.getAttribute('data-menu-toggle-class'));\r\n }\r\n\r\n var timeout = item.getAttribute('data-timeout');\r\n item.removeAttribute('data-timeout');\r\n clearTimeout(timeout);\r\n },\r\n\r\n /**\r\n * Hide submenu dropdowns\r\n * @returns {KTMenu}\r\n */\r\n hideSubmenuDropdowns: function() {\r\n var items;\r\n if ( items = element.querySelectorAll('.menu-item-submenu.menu-item-hover:not(.menu-item-tabs):not([data-menu-toggle=\"tab\"])') ) {\r\n for (var j = 0, cnt = items.length; j < cnt; j++) {\r\n Plugin.hideSubmenuDropdown(items[j], true);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * helper functions\r\n * @returns {KTMenu}\r\n */\r\n showSubmenuDropdown: function(item) {\r\n // close active submenus\r\n var list = element.querySelectorAll('.menu-item-submenu.menu-item-hover, .menu-item-submenu.menu-item-active-tab');\r\n\r\n if ( list ) {\r\n for (var i = 0, len = list.length; i < len; i++) {\r\n var el = list[i];\r\n if ( item !== el && el.contains(item) === false && item.contains(el) === false ) {\r\n Plugin.hideSubmenuDropdown(el, true);\r\n }\r\n }\r\n }\r\n\r\n // add submenu activation class\r\n KTUtil.addClass(item, 'menu-item-hover');\r\n\r\n // Change the alignment of submenu is offscreen.\r\n var submenu = KTUtil.find(item, '.menu-submenu');\r\n\r\n if (submenu && submenu.hasAttribute('data-hor-direction') === false) {\r\n if (KTUtil.hasClass(submenu, 'menu-submenu-left')) {\r\n submenu.setAttribute('data-hor-direction', 'menu-submenu-left');\r\n } else if (KTUtil.hasClass(submenu, 'menu-submenu-right')) {\r\n submenu.setAttribute('data-hor-direction', 'menu-submenu-right');\r\n }\r\n }\r\n\r\n if ( submenu && KTUtil.isOffscreen(submenu, 'left', 15) === true ) {\r\n KTUtil.removeClass(submenu, 'menu-submenu-left');\r\n KTUtil.addClass(submenu, 'menu-submenu-right');\r\n } else if ( submenu && KTUtil.isOffscreen(submenu, 'right', 15) === true ) {\r\n KTUtil.removeClass(submenu, 'menu-submenu-right');\r\n KTUtil.addClass(submenu, 'menu-submenu-left');\r\n }\r\n\r\n if ( item.getAttribute('data-menu-toggle-class') ) {\r\n KTUtil.addClass(body, item.getAttribute('data-menu-toggle-class'));\r\n }\r\n },\r\n\r\n /**\r\n * Handles submenu slide toggle\r\n * @returns {KTMenu}\r\n */\r\n createSubmenuDropdownClickDropoff: function(el) {\r\n var query;\r\n var zIndex = (query = KTUtil.child(el, '.menu-submenu') ? KTUtil.css(query, 'z-index') : 0) - 1;\r\n\r\n var dropoff = document.createElement('
    ');\r\n\r\n body.appendChild(dropoff);\r\n\r\n KTUtil.addEvent(dropoff, 'click', function(e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n KTUtil.remove(this);\r\n Plugin.hideSubmenuDropdown(el, true);\r\n });\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n pauseDropdownHover: function(time) {\r\n var date = new Date();\r\n\r\n the.pauseDropdownHoverTime = date.getTime() + time;\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n resumeDropdownHover: function() {\r\n var date = new Date();\r\n\r\n return (date.getTime() > the.pauseDropdownHoverTime ? true : false);\r\n },\r\n\r\n /**\r\n * Reset menu's current active item\r\n * @returns {KTMenu}\r\n */\r\n resetActiveItem: function(item) {\r\n var list;\r\n var parents;\r\n\r\n list = element.querySelectorAll('.menu-item-active');\r\n\r\n for (var i = 0, len = list.length; i < len; i++) {\r\n var el = list[0];\r\n KTUtil.removeClass(el, 'menu-item-active');\r\n KTUtil.hide( KTUtil.child(el, '.menu-submenu') );\r\n parents = KTUtil.parents(el, '.menu-item-submenu') || [];\r\n\r\n for (var i_ = 0, len_ = parents.length; i_ < len_; i_++) {\r\n var el_ = parents[i];\r\n KTUtil.removeClass(el_, 'menu-item-open');\r\n KTUtil.hide( KTUtil.child(el_, '.menu-submenu') );\r\n }\r\n }\r\n\r\n // close open submenus\r\n if ( the.options.accordion.expandAll === false ) {\r\n if ( list = element.querySelectorAll('.menu-item-open') ) {\r\n for (var i = 0, len = list.length; i < len; i++) {\r\n KTUtil.removeClass(parents[0], 'menu-item-open');\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Sets menu's active item\r\n * @returns {KTMenu}\r\n */\r\n setActiveItem: function(item) {\r\n // reset current active item\r\n Plugin.resetActiveItem();\r\n\r\n var parents = KTUtil.parents(item, '.menu-item-submenu') || [];\r\n for (var i = 0, len = parents.length; i < len; i++) {\r\n KTUtil.addClass(parents[i], 'menu-item-open');\r\n }\r\n\r\n KTUtil.addClass(item, 'menu-item-active');\r\n },\r\n\r\n /**\r\n * Returns page breadcrumbs for the menu's active item\r\n * @returns {KTMenu}\r\n */\r\n getBreadcrumbs: function(item) {\r\n var query;\r\n var breadcrumbs = [];\r\n var link = KTUtil.child(item, '.menu-link');\r\n\r\n breadcrumbs.push({\r\n text: (query = KTUtil.child(link, '.menu-text') ? query.innerHTML : ''),\r\n title: link.getAttribute('title'),\r\n href: link.getAttribute('href')\r\n });\r\n\r\n var parents = KTUtil.parents(item, '.menu-item-submenu');\r\n for (var i = 0, len = parents.length; i < len; i++) {\r\n var submenuLink = KTUtil.child(parents[i], '.menu-link');\r\n\r\n breadcrumbs.push({\r\n text: (query = KTUtil.child(submenuLink, '.menu-text') ? query.innerHTML : ''),\r\n title: submenuLink.getAttribute('title'),\r\n href: submenuLink.getAttribute('href')\r\n });\r\n }\r\n\r\n return breadcrumbs.reverse();\r\n },\r\n\r\n /**\r\n * Returns page title for the menu's active item\r\n * @returns {KTMenu}\r\n */\r\n getPageTitle: function(item) {\r\n var query;\r\n\r\n return (query = KTUtil.child(item, '.menu-text') ? query.innerHTML : '');\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name, target, e) {\r\n for (var i = 0; i < the.events.length; i++ ) {\r\n var event = the.events[i];\r\n if ( event.name == name ) {\r\n if ( event.one == true ) {\r\n if ( event.fired == false ) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, target, e);\r\n }\r\n } else {\r\n return event.handler.call(this, target, e);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n },\r\n\r\n removeEvent: function(name) {\r\n if (the.events[name]) {\r\n delete the.events[name];\r\n }\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Update scroll\r\n */\r\n the.scrollUpdate = function() {\r\n return Plugin.scrollUpdate();\r\n };\r\n\r\n /**\r\n * Re-init scroll\r\n */\r\n the.scrollReInit = function() {\r\n return Plugin.scrollInit();\r\n };\r\n\r\n /**\r\n * Scroll top\r\n */\r\n the.scrollTop = function() {\r\n return Plugin.scrollTop();\r\n };\r\n\r\n /**\r\n * Set active menu item\r\n */\r\n the.setActiveItem = function(item) {\r\n return Plugin.setActiveItem(item);\r\n };\r\n\r\n the.reload = function() {\r\n return Plugin.reload();\r\n };\r\n\r\n the.update = function(options) {\r\n return Plugin.update(options);\r\n };\r\n\r\n /**\r\n * Set breadcrumb for menu item\r\n */\r\n the.getBreadcrumbs = function(item) {\r\n return Plugin.getBreadcrumbs(item);\r\n };\r\n\r\n /**\r\n * Set page title for menu item\r\n */\r\n the.getPageTitle = function(item) {\r\n return Plugin.getPageTitle(item);\r\n };\r\n\r\n /**\r\n * Get submenu mode\r\n */\r\n the.getSubmenuMode = function(el) {\r\n return Plugin.getSubmenuMode(el);\r\n };\r\n\r\n /**\r\n * Hide dropdown\r\n * @returns {Object}\r\n */\r\n the.hideDropdown = function(item) {\r\n Plugin.hideSubmenuDropdown(item, true);\r\n };\r\n\r\n /**\r\n * Hide dropdowns\r\n * @returns {Object}\r\n */\r\n the.hideDropdowns = function() {\r\n Plugin.hideSubmenuDropdowns();\r\n };\r\n\r\n /**\r\n * Disable menu for given time\r\n * @returns {Object}\r\n */\r\n the.pauseDropdownHover = function(time) {\r\n Plugin.pauseDropdownHover(time);\r\n };\r\n\r\n /**\r\n * Disable menu for given time\r\n * @returns {Object}\r\n */\r\n the.resumeDropdownHover = function() {\r\n return Plugin.resumeDropdownHover();\r\n };\r\n\r\n /**\r\n * Register event\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n the.off = function(name) {\r\n return Plugin.removeEvent(name);\r\n };\r\n\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Handle plugin on window resize\r\n KTUtil.addResizeHandler(function() {\r\n if (init) {\r\n the.reload();\r\n }\r\n });\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTMenu;\r\n}\r\n\r\n// Plugin global lazy initialization\r\ndocument.addEventListener(\"click\", function (e) {\r\n var body = KTUtil.getByTagName('body')[0];\r\n var query;\r\n if ( query = body.querySelectorAll('.menu-nav .menu-item.menu-item-submenu.menu-item-hover:not(.menu-item-tabs)[data-menu-toggle=\"click\"]') ) {\r\n for (var i = 0, len = query.length; i < len; i++) {\r\n var element = query[i].closest('.menu-nav').parentNode;\r\n\r\n if ( element ) {\r\n var the = KTUtil.data(element).get('menu');\r\n\r\n if ( !the ) {\r\n break;\r\n }\r\n\r\n if ( !the || the.getSubmenuMode() !== 'dropdown' ) {\r\n break;\r\n }\r\n\r\n if ( e.target !== element && element.contains(e.target) === false ) {\r\n the.hideDropdowns();\r\n }\r\n }\r\n }\r\n }\r\n});\r\n\nexport default KTMenu;","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTToggle = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n targetToggleMode: 'class' // class|attribute\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Construct\r\n */\r\n\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('toggle')) {\r\n the = KTUtil.data(element).get('toggle');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('toggle', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles subtoggle click toggle\r\n */\r\n init: function(options) {\r\n the.element = element;\r\n the.events = [];\r\n\r\n // Merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n //alert(the.options.target.tagName);\r\n the.target = KTUtil.getById(options.target);\r\n\r\n the.targetState = the.options.targetState;\r\n the.toggleState = the.options.toggleState;\r\n\r\n if (the.options.targetToggleMode == 'class') {\r\n the.state = KTUtil.hasClasses(the.target, the.targetState) ? 'on' : 'off';\r\n } else {\r\n the.state = KTUtil.hasAttr(the.target, 'data-' + the.targetState) ? KTUtil.attr(the.target, 'data-' + the.targetState) : 'off';\r\n }\r\n },\r\n\r\n /**\r\n * Setup toggle\r\n */\r\n build: function() {\r\n KTUtil.addEvent(element, 'mouseup', Plugin.toggle);\r\n },\r\n\r\n /**\r\n * Handles offcanvas click toggle\r\n */\r\n toggle: function(e) {\r\n Plugin.eventTrigger('beforeToggle');\r\n\r\n if (the.state == 'off') {\r\n Plugin.toggleOn();\r\n } else {\r\n Plugin.toggleOff();\r\n }\r\n\r\n Plugin.eventTrigger('afterToggle');\r\n\r\n e.preventDefault();\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles toggle click toggle\r\n */\r\n toggleOn: function() {\r\n Plugin.eventTrigger('beforeOn');\r\n\r\n if (the.options.targetToggleMode == 'class') {\r\n KTUtil.addClass(the.target, the.targetState);\r\n } else {\r\n KTUtil.attr(the.target, 'data-' + the.targetState, 'on');\r\n }\r\n\r\n if (the.toggleState) {\r\n KTUtil.addClass(element, the.toggleState);\r\n }\r\n\r\n the.state = 'on';\r\n\r\n Plugin.eventTrigger('afterOn');\r\n\r\n Plugin.eventTrigger('toggle');\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles toggle click toggle\r\n */\r\n toggleOff: function() {\r\n Plugin.eventTrigger('beforeOff');\r\n\r\n if (the.options.targetToggleMode == 'class') {\r\n KTUtil.removeClass(the.target, the.targetState);\r\n } else {\r\n KTUtil.removeAttr(the.target, 'data-' + the.targetState);\r\n }\r\n\r\n if (the.toggleState) {\r\n KTUtil.removeClass(element, the.toggleState);\r\n }\r\n\r\n the.state = 'off';\r\n\r\n Plugin.eventTrigger('afterOff');\r\n\r\n Plugin.eventTrigger('toggle');\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the);\r\n }\r\n } else {\r\n return event.handler.call(this, the);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n\r\n return the;\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Get toggle state\r\n */\r\n the.getState = function() {\r\n return the.state;\r\n };\r\n\r\n /**\r\n * Toggle\r\n */\r\n the.toggle = function() {\r\n return Plugin.toggle();\r\n };\r\n\r\n /**\r\n * Toggle on\r\n */\r\n the.toggleOn = function() {\r\n return Plugin.toggleOn();\r\n };\r\n\r\n /**\r\n * Toggle off\r\n */\r\n the.toggleOff = function() {\r\n return Plugin.toggleOff();\r\n };\r\n\r\n /**\r\n * Attach event\r\n * @returns {KTToggle}\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n * @returns {KTToggle}\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n // Construct plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTToggle;\r\n}\r\n\nexport default KTToggle;","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,no-undef */\r\nimport React, { useCallback, useState } from 'react';\r\nimport SVG from 'react-inlinesvg';\r\nimport { toAbsoluteUrl } from '../../../../_helpers';\r\nimport { useFirebaseApp } from 'reactfire';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Button, TextField } from '@material-ui/core';\r\nimport HTTP from '../../../../../axios';\r\nimport { snackbarTypes } from '../../../../../redux/models/ui';\r\n\r\nexport function QuickUser() {\r\n const [edition, setEdition] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [inputValue, setInputValue] = useState('');\r\n const [lastNameValue, setLastNameValue] = useState('');\r\n const [lastNameValue2, setLastNameValue2] = useState('');\r\n\r\n const { user } = useSelector((st) => st.auth);\r\n const { termsConditions } = useSelector((st) => st.ui);\r\n const firebase = useFirebaseApp();\r\n const dispatch = useDispatch();\r\n\r\n const logout = React.useCallback(async () => {\r\n const toggle = document.getElementById('kt_quick_user_toggle');\r\n if (toggle) {\r\n toggle.click();\r\n }\r\n await firebase.auth().signOut();\r\n dispatch({ type: 'RESET_APP' });\r\n }, [dispatch, firebase]);\r\n\r\n const upadateUsername = useCallback(() => {\r\n setLoading(true);\r\n HTTP.put(`/users/update-user/${user.userId}`, { name: inputValue, lastName: lastNameValue, lastName2: lastNameValue2 })\r\n .then(async (res) => {\r\n const userInfo = await HTTP.get(`/users/user/${user.email}`);\r\n const name = userInfo.data.name;\r\n const lastname = userInfo.data.lastName;\r\n const lastname2 = userInfo.data.lastName2;\r\n\r\n dispatch.auth.updateUserName({ name,lastname, lastname2 });\r\n dispatch.ui.openSnackbar({\r\n message: 'Nombre actualizado correctamente.',\r\n type: snackbarTypes.success,\r\n });\r\n setLoading(false);\r\n setEdition(false);\r\n })\r\n .catch((error) => {\r\n dispatch.ui.openSnackbar({\r\n message: error.message,\r\n type: snackbarTypes.error,\r\n });\r\n\r\n setLoading(false);\r\n });\r\n }, [dispatch.auth, dispatch.ui, inputValue, lastNameValue, lastNameValue2, user.email, user.userId]);\r\n\r\n return (\r\n
    \r\n
    \r\n

    Perfil de usuario

    \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n

    {user.name} {user.lastname} {user.lastname2}

    \r\n
    {(user.role && user.role.name) || 'Sin rol'}
    \r\n\r\n
    \r\n

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {user.email}\r\n \r\n

    \r\n
    \r\n\r\n {edition && (\r\n <>\r\n setInputValue(e.target.value)}\r\n size='small'\r\n fullWidth\r\n label='Nombre'\r\n variant='filled'\r\n className='tc-mt-2'\r\n />\r\n\r\n setLastNameValue(e.target.value)}\r\n size='small'\r\n fullWidth\r\n label='Apellido paterno'\r\n variant='filled'\r\n className='tc-mt-2'\r\n />\r\n\r\n setLastNameValue2(e.target.value)}\r\n size='small'\r\n fullWidth\r\n label='Apellido Materno'\r\n variant='filled'\r\n className='tc-mt-2'\r\n />\r\n\r\n
    \r\n {\r\n setEdition(false);\r\n setInputValue('');\r\n setLastNameValue('');\r\n }}>\r\n Cancelar\r\n \r\n\r\n \r\n {loading ? 'Guardando...' : 'Guardar'}\r\n \r\n
    \r\n \r\n )}\r\n\r\n {!edition && (\r\n {\r\n setEdition(true);\r\n setInputValue(user.name);\r\n setLastNameValue(user.lastname);\r\n setLastNameValue2(user.lastname2)\r\n }}>\r\n Cambiar nombre\r\n \r\n )}\r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {toAbsoluteUrl} from \"../../../_helpers\";\r\n\r\nexport function ScrollTop() {\r\n return (\r\n
    \r\n \r\n \r\n {\" \"}\r\n
    \r\n );\r\n}\r\n","import React, { forwardRef, useEffect, useState } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {isFragment} from \"react-is\";\r\n\r\nexport const CardHeaderIcon = forwardRef(({ className }, ref) => (\r\n \r\n));\r\n\r\nexport const CardHeaderTitle = forwardRef(({ className, ...props }, ref) => (\r\n // eslint-disable-next-line jsx-a11y/heading-has-content\r\n

    \r\n));\r\n\r\nexport const CardHeaderToolbar = forwardRef(\r\n ({ children, className, ...props }, ref) => (\r\n
    \r\n {children}\r\n
    \r\n )\r\n);\r\n\r\nexport const CardHeader = forwardRef(\r\n (\r\n {\r\n children,\r\n icon,\r\n title,\r\n toolbar,\r\n className,\r\n sticky = false,\r\n labelRef,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [top, setTop] = useState(0);\r\n const [windowHeight, setWindowHeight] = useState(0);\r\n\r\n useEffect(() => {\r\n handleResize();\r\n\r\n function handleResize() {\r\n setWindowHeight(window.innerWidth);\r\n }\r\n\r\n window.addEventListener(\"resize\", handleResize);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize);\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n // Skip if sticky is disabled or on initial render when we don't know about window height.\r\n if (!sticky || windowHeight === 0) {\r\n return;\r\n }\r\n\r\n const headerElement = document.querySelector(\".header\");\r\n const subheaderElement = document.querySelector(\".subheader\");\r\n const headerMobileElement = document.querySelector(\".header-mobile\");\r\n\r\n let nextMarginTop = 0;\r\n\r\n // mobile header\r\n if (window.getComputedStyle(headerElement).height === \"0px\") {\r\n nextMarginTop = headerMobileElement.offsetHeight;\r\n } else {\r\n // desktop header\r\n if (document.body.classList.contains(\"header-minimize-topbar\")) {\r\n // hardcoded minimized header height\r\n nextMarginTop = 60;\r\n } else {\r\n // normal fixed header\r\n if (document.body.classList.contains(\"header-fixed\")) {\r\n nextMarginTop += headerElement.offsetHeight;\r\n }\r\n\r\n if (document.body.classList.contains(\"subheader-fixed\")) {\r\n nextMarginTop += subheaderElement.offsetHeight;\r\n }\r\n }\r\n }\r\n\r\n setTop(nextMarginTop);\r\n }, [sticky, windowHeight]);\r\n\r\n return (\r\n \r\n {title != null && (\r\n
    \r\n {icon}\r\n\r\n {/* Wrap string and fragments in CardHeaderTitle */\r\n typeof title === \"string\" || isFragment(title) ? (\r\n {title}\r\n ) : (\r\n title\r\n )}\r\n
    \r\n )}\r\n\r\n {toolbar}\r\n {children}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport const CardBody = forwardRef(\r\n ({ fit, fluid, className, ...props }, ref) => (\r\n \r\n )\r\n);\r\n\r\nexport const CardFooter = forwardRef(({ className, ...props }, ref) => (\r\n
    \r\n));\r\n\r\nexport const Card = forwardRef(({ fluidHeight, className, ...props }, ref) => (\r\n \r\n));\r\n\r\n// Set display names for debugging.\r\nif (process.env.NODE_ENV !== \"production\") {\r\n Card.displayName = \"Card\";\r\n\r\n CardHeader.displayName = \"CardHeader\";\r\n CardHeaderIcon.displayName = \"CardHeaderIcon\";\r\n CardHeaderTitle.displayName = \"CardHeaderTitle\";\r\n CardHeaderToolbar.displayName = \"CardHeaderToolbar\";\r\n\r\n CardBody.displayName = \"CardBody\";\r\n CardFooter.displayName = \"CardFooter\";\r\n}\r\n","import React from \"react\";\r\nimport {withRouter} from \"react-router-dom\";\r\nimport {ProgressBar} from \"react-bootstrap\";\r\n\r\n// TODO: Should be rewrited to pure function\r\nclass AnimateLoading extends React.Component {\r\n animateTimeout;\r\n stopAnimateTimeout;\r\n state = {\r\n width: 0,\r\n routeChanged: false\r\n };\r\n\r\n componentDidUpdate(nextProps) {\r\n if (this.props.location.pathname !== nextProps.location.pathname) {\r\n this.animate();\r\n this.scrollToTop();\r\n }\r\n }\r\n\r\n scrollToTop() {\r\n const scrollToTopBtn = document.getElementById(\"kt_scrolltop\");\r\n if (scrollToTopBtn) {\r\n scrollToTopBtn.click();\r\n }\r\n }\r\n\r\n animate() {\r\n this.animateTimeout = setTimeout(() => {\r\n if (this.state.width <= 100) {\r\n this.setState({ width: this.state.width + 10 });\r\n this.animate();\r\n } else {\r\n this.stopAnimate();\r\n }\r\n }, 30);\r\n }\r\n stopAnimate() {\r\n clearTimeout(this.animateInterval);\r\n this.stopAnimateTimeout = setTimeout(() => {\r\n this.setState({ width: 0 });\r\n }, 300);\r\n }\r\n componentWillUnmount() {\r\n if (this.stopAnimateTimeout) {\r\n clearTimeout(this.stopAnimateTimeout);\r\n }\r\n if (this.animateTimeout) {\r\n clearTimeout(this.animateTimeout);\r\n }\r\n }\r\n render() {\r\n return (\r\n \r\n {this.state.width > 0 && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(AnimateLoading);\r\n","import React, { forwardRef } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {toAbsoluteUrl} from \"../../_helpers\";\r\n\r\nexport const Notice = forwardRef(\r\n (\r\n {\r\n icon,\r\n svg,\r\n iconRef,\r\n textRef,\r\n iconWrapperRef,\r\n className,\r\n children,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n {children}\r\n
    \r\n \r\n );\r\n }\r\n);\r\n\r\n// Set display name for debugging.\r\nif (process.env.NODE_ENV !== \"production\") {\r\n Notice.displayName = \"Notice\";\r\n}\r\n","// CodeExamples\r\nexport {CodeBlock} from \"./code-examples/CodeBlock\";\r\nexport {CodeBlockToolbar} from \"./code-examples/CodeBlockToolbar\";\r\nexport {CodeExample} from \"./code-examples/CodeExample\";\r\nexport {CodeExampleSimple} from \"./code-examples/CodeExampleSimple\";\r\n\r\n// KTCodeExamples\r\nexport {KTCodeBlock} from \"./code-examples-kt/KTCodeBlock\";\r\nexport {KTCodeExample} from \"./code-examples-kt/KTCodeExample\";\r\n\r\n// Forms\r\nexport {DatePickerField} from \"./forms/DatePickerField\";\r\nexport {FieldFeedbackLabel} from \"./forms/FieldFeedbackLabel\";\r\nexport {FormAlert} from \"./forms/FormAlert\";\r\nexport {Input} from \"./forms/Input\";\r\nexport {Select} from \"./forms/Select\";\r\nexport {Checkbox} from \"./forms/Checkbox\";\r\nexport {HeaderCheckbox} from \"./forms/HeaderCheckbox\";\r\n\r\n\r\n// Paginations\r\nexport {Pagination} from \"./pagination/Pagination\"\r\nexport {PaginationLinks} from \"./pagination/PaginationLinks\";\r\nexport {PaginationToolbar} from \"./pagination/PaginationToolbar\";\r\n\r\n// Controls\r\nexport * from \"./Card\";\r\nexport {default as AnimateLoading} from \"./AnimateLoading\";\r\nexport {LoadingDialog} from \"./LoadingDialog\";\r\nexport {Notice} from \"./Notice\";\r\nexport {SplashScreen} from \"./SplashScreen\";\r\nexport {SVGIcon} from \"./SVGIcon\";\r\nexport {ModalProgressBar} from \"./ModalProgressBar\";","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutHeader = function() {\r\n // Private properties\r\n var _element;\r\n var _elementForMobile;\r\n var _object;\r\n\r\n\t// Private functions\r\n // Get Height\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element) + 1;\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Get Height\r\n var _getHeightForMobile = function() {\r\n var height;\r\n\r\n height = KTUtil.actualHeight(_elementForMobile);\r\n\r\n return height;\r\n }\r\n\r\n // Public Methods\r\n\treturn {\r\n\t\tinit: function(id, idForMobile) {\r\n _element = KTUtil.getById(id);\r\n _elementForMobile = KTUtil.getById(idForMobile);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'header-fixed')\r\n },\r\n\r\n isFixedForMobile: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'header-mobile-fixed')\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getElementForMobile: function() {\r\n return _elementForMobile;\r\n },\r\n\r\n getHeader: function() {\r\n return _object;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n },\r\n\r\n getHeightForMobile: function() {\r\n return _getHeightForMobile();\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutHeader;\r\n}\r\n\nexport default KTLayoutHeader;","/* eslint-disable */\n\"use strict\";\n\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\nimport KTMenu from \"./../../components/menu.js\";\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutHeaderMenu = function() {\r\n // Private properties\r\n\tvar _menuElement;\r\n var _menuObject;\r\n var _offcanvasElement;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n\tvar _init = function() {\r\n\t\t_offcanvasObject = new KTOffcanvas(_offcanvasElement, {\r\n\t\t\toverlay: true,\r\n\t\t\tbaseClass: 'header-menu-wrapper',\r\n\t\t\tcloseBy: 'kt_header_menu_mobile_close_btn',\r\n\t\t\ttoggleBy: {\r\n\t\t\t\ttarget: 'kt_header_mobile_toggle',\r\n\t\t\t\tstate: 'mobile-toggle-active'\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\t_menuObject = new KTMenu(_menuElement, {\r\n\t\t\tsubmenu: {\r\n\t\t\t\tdesktop: 'dropdown',\r\n\t\t\t\ttablet: 'accordion',\r\n\t\t\t\tmobile: 'accordion'\r\n\t\t\t},\r\n\t\t\taccordion: {\r\n\t\t\t\tslideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n\t\t\t\texpandAll: false // allow having multiple expanded accordions in the menu\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Close aside offcanvas panel before page reload On tablet and mobile\r\n _menuObject.on('linkClick', function(menu) {\r\n if (KTUtil.isBreakpointDown('lg')) { // Tablet and mobile mode\r\n _offcanvasObject.hide(); // Hide offcanvas after general link click\r\n }\r\n });\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n init: function(menuId, offcanvasId) {\r\n _menuElement = KTUtil.getById(menuId);\r\n _offcanvasElement = KTUtil.getById(offcanvasId);\r\n\r\n if (!_menuElement) {\r\n return;\r\n }\r\n\r\n // Initialize menu\r\n _init();\r\n\t\t},\r\n\r\n\t\tgetMenuElement: function() {\r\n\t\t\treturn _menuElement;\r\n\t\t},\r\n\r\n getOffcanvasElement: function() {\r\n\t\t\treturn _offcanvasElement;\r\n\t\t},\r\n\r\n getMenu: function() {\r\n\t\t\treturn _menuObject;\r\n\t\t},\r\n\r\n\t\tpauseDropdownHover: function(time) {\r\n\t\t\tif (_menuObject) {\r\n\t\t\t\t_menuObject.pauseDropdownHover(time);\r\n\t\t\t}\r\n\t\t},\r\n\r\n getOffcanvas: function() {\r\n\t\t\treturn _offcanvasObject;\r\n\t\t},\r\n\r\n\t\tcloseMobileOffcanvas: function() {\r\n\t\t\tif (_menuObject && KTUtil.isMobileDevice()) {\r\n\t\t\t\t_offcanvasObject.hide();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutHeaderMenu;\r\n}\r\n\nexport default KTLayoutHeaderMenu;","/* eslint-disable */\n\"use strict\";\n\nimport KTToggle from \"./../../components/toggle.js\";\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutHeaderTopbar = function() {\r\n // Private properties\r\n\tvar _toggleElement;\r\n var _toggleObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n\t\t\t_toggleObject = new KTToggle(_toggleElement, {\r\n\t\t\t\ttarget: KTUtil.getBody(),\r\n\t\t\t\ttargetState: 'topbar-mobile-on',\r\n\t\t\t\ttoggleState: 'active',\r\n\t\t\t});\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _toggleElement = KTUtil.getById(id);\r\n\r\n\t\t\tif (!_toggleElement) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getToggleElement: function() {\r\n return _toggleElement;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutHeaderTopbar;\r\n}\r\n\nexport default KTLayoutHeaderTopbar;","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutBrand = function() {\r\n // Private properties\r\n var _element;\r\n\r\n // Private functions\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutBrand;\r\n}\r\n\nexport default KTLayoutBrand;","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./../../components/util.js\";\nimport KTLayoutBrand from \"./brand.js\";\nimport KTMenu from \"./../../components/menu.js\";\nimport KTLayoutAside from \"./aside.js\";\r\n\r\nvar KTLayoutAsideMenu = function() {\r\n // Private properties\r\n var _element;\r\n var _menuObject;\r\n\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\tvar menuDesktopMode = (KTUtil.attr(_element, 'data-menu-dropdown') === '1' ? 'dropdown' : 'accordion');\r\n var scroll;\r\n\r\n\t\tif (KTUtil.attr(_element, 'data-menu-scroll') === '1') {\r\n\t\t\tscroll = {\r\n\t\t\t\trememberPosition: true, // remember position on page reload\r\n\t\t\t\theight: function() { // calculate available scrollable area height\r\n\t\t\t\t\tvar height = parseInt(KTUtil.getViewPort().height);\r\n\r\n\t\t\t\t\tif (KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\theight = height - KTLayoutBrand.getHeight();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\theight = height - (parseInt(KTUtil.css(_element, 'marginBottom')) + parseInt(KTUtil.css(_element, 'marginTop')));\r\n\r\n\t\t\t\t\treturn height;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t_menuObject = new KTMenu(_element, {\r\n\t\t\t// Vertical scroll\r\n\t\t\tscroll: scroll,\r\n\r\n\t\t\t// Submenu setup\r\n\t\t\tsubmenu: {\r\n\t\t\t\tdesktop: menuDesktopMode,\r\n\t\t\t\ttablet: 'accordion', // menu set to accordion in tablet mode\r\n\t\t\t\tmobile: 'accordion' // menu set to accordion in mobile mode\r\n\t\t\t},\r\n\r\n\t\t\t// Accordion setup\r\n\t\t\taccordion: {\r\n\t\t\t\texpandAll: false // allow having multiple expanded accordions in the menu\r\n\t\t\t}\r\n\t\t});\r\n\r\n // Disable menu click if aside is fixed and minimized\r\n _menuObject.on('submenuToggle', function(menu) {\r\n if (KTLayoutAside.isMinimized() === true && KTLayoutAside.isHoverable() === false) {\r\n return false;\r\n }\r\n });\r\n\r\n // Close aside offcanvas panel before page reload On tablet and mobile\r\n _menuObject.on('linkClick', function(menu) {\r\n if (KTUtil.isBreakpointDown('lg')) { // Tablet and mobile mode\r\n KTLayoutAside.getOffcanvas().hide(); // Hide offcanvas after general link click\r\n }\r\n });\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize menu\r\n _init();\r\n\t\t},\r\n\r\n\t\tgetElement: function() {\r\n\t\t\treturn _element;\r\n\t\t},\r\n\r\n getMenu: function() {\r\n\t\t\treturn _menuObject;\r\n\t\t},\r\n\r\n pauseDropdownHover: function(time) {\r\n\t\t\tif (_menuObject) {\r\n\t\t\t\t_menuObject.pauseDropdownHover(time);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tcloseMobileOffcanvas: function() {\r\n\t\t\tif (_menuObject && KTUtil.isMobileDevice()) {\r\n\t\t\t\t_menuObject.hide();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutAsideMenu;\r\n}\r\n\nexport default KTLayoutAsideMenu;","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./../../components/util.js\";\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\nimport KTLayoutAsideMenu from \"./aside-menu.js\";\r\n\r\nvar KTLayoutAside = function() {\r\n // Private properties\r\n var _body;\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\tvar offcanvasClass = KTUtil.hasClass(_element, 'aside-offcanvas-default') ? 'aside-offcanvas-default' : 'aside';\r\n\r\n // Initialize mobile aside offcanvas\r\n\t\t_offcanvasObject = new KTOffcanvas(_element, {\r\n\t\t\tbaseClass: offcanvasClass,\r\n\t\t\toverlay: true,\r\n\t\t\tcloseBy: 'kt_aside_close_btn',\r\n\t\t\ttoggleBy: {\r\n\t\t\t\ttarget: 'kt_aside_mobile_toggle',\r\n\t\t\t\tstate: 'mobile-toggle-active'\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Handle Minimized Aside Hover\r\n\t\tif (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize-hoverable')) {\r\n\t\t\tvar insideTm;\r\n\t\t\tvar outsideTm;\r\n\r\n // Handle Aside Hover Mode\r\n\t\t\tKTUtil.addEvent(_element, 'mouseenter', function(e) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tif (KTUtil.isBreakpointUp('lg') === false) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (outsideTm) {\r\n\t\t\t\t\tclearTimeout(outsideTm);\r\n\t\t\t\t\toutsideTm = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinsideTm = setTimeout(function() {\r\n\t\t\t\t\tif (KTUtil.hasClass(_body, 'aside-minimize') && KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\tKTUtil.removeClass(_body, 'aside-minimize');\r\n\r\n\t\t\t\t\t\t// Hover class\r\n\t\t\t\t\t\tKTUtil.addClass(_body, 'aside-minimize-hover');\r\n\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollUpdate();\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollTop();\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 50);\r\n\t\t\t});\r\n\r\n\t\t\tKTUtil.addEvent(_element, 'mouseleave', function(e) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tif (KTUtil.isBreakpointUp('lg') === false) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (insideTm) {\r\n\t\t\t\t\tclearTimeout(insideTm);\r\n\t\t\t\t\tinsideTm = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\toutsideTm = setTimeout(function() {\r\n\t\t\t\t if (KTUtil.hasClass(_body, 'aside-minimize-hover') && KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t KTUtil.removeClass(_body, 'aside-minimize-hover');\r\n\t\t\t\t\t KTUtil.addClass(_body, 'aside-minimize');\r\n\r\n\t\t\t\t\t\t// Hover class\r\n KTLayoutAsideMenu.getMenu().scrollUpdate();\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollTop();\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n _body = KTUtil.getBody();\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getOffcanvas: function() {\r\n return _offcanvasObject;\r\n },\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(_body, 'aside-fixed');\r\n },\r\n\r\n isMinimized: function() {\r\n return (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize'));\r\n },\r\n\r\n isHoverable: function() {\r\n return (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize-hoverable'));\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutAside;\r\n}\r\n\nexport default KTLayoutAside;","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutSubheader = function() {\r\n // Private properties\r\n var _element;\r\n\r\n // Private functions\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'subheader-fixed');\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutSubheader;\r\n}\r\n\nexport default KTLayoutSubheader;","/* eslint-disable */\n\"use strict\";\n\nimport KTLayoutHeader from \"./header.js\";\nimport KTCard from \"./../../components/card.js\";\nimport { KTUtil } from \"./../../components/util.js\";\nimport KTLayoutSubheader from \"./subheader.js\";\r\n\r\nvar KTLayoutStickyCard = function() {\r\n // Private properties\r\n\tvar _element;\r\n var _object;\r\n\r\n\t// Private functions\r\n\tvar _init = function() {\r\n\t\tvar offset = 300;\r\n\r\n\t\tif (typeof KTLayoutHeader !== 'undefined') {\r\n\t\t\toffset = KTLayoutHeader.getHeight();\r\n\t\t}\r\n\r\n _object = new KTCard(_element, {\r\n\t\t\tsticky: {\r\n\t\t\t\toffset: offset,\r\n\t\t\t\tzIndex: 90,\r\n\t\t\t\tposition: {\r\n\t\t\t\t\ttop: function() {\r\n\t\t\t\t\t\tvar pos = 0;\r\n var body = KTUtil.getBody();\r\n\r\n\t\t\t\t\t\tif (KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\t\tif (typeof KTLayoutHeader !== 'undefined' && KTLayoutHeader.isFixed()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutHeader.getHeight();\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (typeof KTLayoutSubheader !== 'undefined' && KTLayoutSubheader.isFixed()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutSubheader.getHeight();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (typeof KTLayoutHeader !== 'undefined' && KTLayoutHeader.isFixedForMobile()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutHeader.getHeightForMobile();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tpos = pos - 1; // remove header border width\r\n\r\n\t\t\t\t\t\treturn pos;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tleft: function(card) {\r\n\t\t\t\t\t\treturn KTUtil.offset(_element).left;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tright: function(card) {\r\n\t\t\t\t\t\tvar body = KTUtil.getBody();\r\n\r\n\t\t\t\t\t\tvar cardWidth = parseInt(KTUtil.css(_element, 'width'));\r\n\t\t\t\t\t\tvar bodyWidth = parseInt(KTUtil.css(body, 'width'));\r\n\t\t\t\t\t\tvar cardOffsetLeft = KTUtil.offset(_element).left;\r\n\r\n\t\t\t\t\t\treturn bodyWidth - cardWidth - cardOffsetLeft;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t_object.initSticky();\r\n\r\n\t\tKTUtil.addResizeHandler(function() {\r\n\t\t\t_object.updateSticky();\r\n\t\t});\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n\t\t\t_init();\r\n\t\t},\r\n\r\n\t\tupdate: function() {\r\n\t\t\tif (_object) {\r\n\t\t\t\t_object.updateSticky();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutStickyCard;\r\n}\r\n\nexport default KTLayoutStickyCard;","/* eslint-disable */\n\"use strict\";\n\nimport KTToggle from \"./../../components/toggle.js\";\nimport KTLayoutStickyCard from \"./sticky-card.js\";\nimport KTLayoutHeaderMenu from \"./header-menu.js\";\nimport KTLayoutAsideMenu from \"./aside-menu.js\";\nimport { KTCookie } from \"./../../components/cookie.js\";\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutAsideToggle = function() {\r\n // Private properties\r\n var _body;\r\n var _element;\r\n var _toggleObject;\r\n\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\t_toggleObject = new KTToggle(_element, {\r\n\t\t\ttarget: _body,\r\n\t\t\ttargetState: 'aside-minimize',\r\n\t\t\ttoggleState: 'active'\r\n\t\t});\r\n\r\n\t\t_toggleObject.on('toggle', function(toggle) {\r\n // Update sticky card\r\n if (typeof KTLayoutStickyCard !== 'undefined') {\r\n KTLayoutStickyCard.update();\r\n }\r\n\r\n // Pause header menu dropdowns\r\n if (typeof KTLayoutHeaderMenu !== 'undefined') {\r\n KTLayoutHeaderMenu.pauseDropdownHover(800);\r\n }\r\n\r\n // Pause aside menu dropdowns\r\n if (typeof KTLayoutAsideMenu !== 'undefined') {\r\n KTLayoutAsideMenu.pauseDropdownHover(800);\r\n }\r\n\r\n // Remember state in cookie\r\n\t\t\tKTCookie.setCookie('kt_aside_toggle_state', toggle.getState());\r\n\t\t\t// to set default minimized left aside use this cookie value in your\r\n\t\t\t// server side code and add \"kt-primary--minimize aside-minimize\" classes to\r\n\t\t\t// the body tag in order to initialize the minimized left aside mode during page loading.\r\n\t\t});\r\n\r\n\t\t_toggleObject.on('beforeToggle', function(toggle) {\r\n\t\t\tif (KTUtil.hasClass(_body, 'aside-minimize') === false && KTUtil.hasClass(_body, 'aside-minimize-hover')) {\r\n\t\t\t\tKTUtil.removeClass(_body, 'aside-minimize-hover');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n _body = KTUtil.getBody();\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getToggle: function() {\r\n\t\t\treturn _toggleObject;\r\n\t\t},\r\n\r\n\t\tonToggle: function(handler) {\r\n\t\t\tif (typeof _toggleObject.element !== 'undefined') {\r\n\t\t\t\t_toggleObject.on('toggle', handler);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutAsideToggle;\r\n}\r\n\nexport default KTLayoutAsideToggle;","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutFooter = function() {\r\n // Private properties\r\n var _element;\r\n\r\n\t// Private functions\r\n\tvar _getHeight = function() {\r\n\t\tvar height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n\t\treturn height;\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\t\t},\r\n\r\n\t\tgetHeight: function() {\r\n\t\t\treturn _getHeight();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutFooter;\r\n}\r\n\nexport default KTLayoutFooter;","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./../../components/util.js\";\nimport KTLayoutHeader from \"./header.js\";\nimport KTLayoutSubheader from \"./subheader.js\";\nimport KTLayoutFooter from \"./footer.js\";\r\n\r\nvar KTLayoutContent = function() {\r\n // Private properties\r\n var _element;\r\n\r\n\t// Private functions\r\n\tvar _getHeight = function() {\r\n\t\tvar height;\r\n\r\n\t\theight = KTUtil.getViewPort().height;\r\n\r\n if (_element) {\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop')) - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n }\r\n\r\n height = height - KTLayoutHeader.getHeight();\r\n height = height - KTLayoutSubheader.getHeight();\r\n height = height - KTLayoutFooter.getHeight();\r\n\r\n\t\treturn height;\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\t\t},\r\n\r\n\t\tgetHeight: function() {\r\n\t\t\treturn _getHeight();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutContent;\r\n}\r\n\nexport default KTLayoutContent;","/* eslint-disable */\n\"use strict\";\n\nimport KTScrolltop from \"./../../components/scrolltop.js\";\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutScrolltop = function() {\r\n // Private properties\r\n var _element;\r\n var _object;\r\n\r\n // Private functions\r\n var _init = function() {\r\n _object = new KTScrolltop(_element, {\r\n offset: 300,\r\n speed: 600,\r\n });\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutScrolltop;\r\n}\r\n\nexport default KTLayoutScrolltop;","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./../../components/util.js\";\nimport KTLayoutContent from \"./content.js\";\r\n\r\nvar KTLayoutStretchedCard = function() {\r\n // Private properties\r\n\tvar _element;\r\n\r\n\t// Private functions\r\n\tvar _init = function() {\r\n\t\tvar scroll = KTUtil.find(_element, '.card-scroll');\r\n\t\tvar cardBody = KTUtil.find(_element, '.card-body');\r\n\t\tvar cardHeader = KTUtil.find(_element, '.card-header');\r\n\r\n\t\tvar height = KTLayoutContent.getHeight();\r\n\r\n\t\theight = height - parseInt(KTUtil.actualHeight(cardHeader));\r\n\r\n\t\theight = height - parseInt(KTUtil.css(_element, 'marginTop')) - parseInt(KTUtil.css(_element, 'marginBottom'));\r\n\t\theight = height - parseInt(KTUtil.css(_element, 'paddingTop')) - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n\t\theight = height - parseInt(KTUtil.css(cardBody, 'paddingTop')) - parseInt(KTUtil.css(cardBody, 'paddingBottom'));\r\n\t\theight = height - parseInt(KTUtil.css(cardBody, 'marginTop')) - parseInt(KTUtil.css(cardBody, 'marginBottom'));\r\n\r\n\t\theight = height - 3;\r\n\r\n\t\tKTUtil.css(scroll, 'height', height + 'px');\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n\t\t\t_init();\r\n\r\n // Re-calculate on window resize\r\n KTUtil.addResizeHandler(function() {\r\n\t\t\t\t_init();\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tupdate: function() {\r\n\t\t\t_init();\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutStretchedCard;\r\n}\r\n\nexport default KTLayoutStretchedCard;","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./../../components/util.js\";\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\r\n\r\nvar KTLayoutQuickPanel = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n var _notificationsElement;\r\n var _logsElement;\r\n var _settingsElement;\r\n\r\n // Private functions\r\n var _getContentHeight = function() {\r\n var height;\r\n\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n\r\n var _init = function() {\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_panel_close',\r\n toggleBy: 'kt_quick_panel_toggle'\r\n });\r\n }\r\n\r\n var _initNotifications = function() {\r\n KTUtil.scrollInit(_notificationsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _initLogs = function() {\r\n KTUtil.scrollInit(_logsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _initSettings = function() {\r\n KTUtil.scrollInit(_settingsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _updateScrollbars = function() {\r\n $(_element).find('a[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) {\r\n KTUtil.scrollUpdate(_notificationsElement);\r\n KTUtil.scrollUpdate(_logsElement);\r\n KTUtil.scrollUpdate(_settingsElement);\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n _notificationsElement = KTUtil.getById('kt_quick_panel_notifications');\r\n _logsElement = KTUtil.getById('kt_quick_panel_logs');\r\n _settingsElement = KTUtil.getById('kt_quick_panel_settings');\r\n\r\n _init();\r\n _initNotifications();\r\n _initLogs();\r\n _initSettings();\r\n\r\n \r\n }\r\n };\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutQuickPanel;\r\n}\r\n\nexport default KTLayoutQuickPanel;","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./../../components/util.js\";\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\r\n\r\nvar KTLayoutQuickUser = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_user_close',\r\n toggleBy: 'kt_quick_user_toggle'\r\n });\r\n\r\n KTUtil.scrollInit(content, {\r\n disableForMobile: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n };\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutQuickUser;\r\n}\r\n\nexport default KTLayoutQuickUser;","import React, {useLayoutEffect} from \"react\";\r\nimport {KTUtil} from \"../../_assets/js/components/util\";\r\nimport KTLayoutHeader from \"../../_assets/js/layout/base/header\";\r\nimport KTLayoutHeaderMenu from \"../../_assets/js/layout/base/header-menu\";\r\nimport KTLayoutHeaderTopbar from \"../../_assets/js/layout/base/header-topbar\";\r\nimport KTLayoutBrand from \"../../_assets/js/layout/base/brand\";\r\nimport KTLayoutAside from \"../../_assets/js/layout/base/aside\";\r\nimport KTLayoutAsideToggle from \"../../_assets/js/layout/base/aside-toggle\";\r\nimport KTLayoutAsideMenu from \"../../_assets/js/layout/base/aside-menu\";\r\nimport KTLayoutContent from \"../../_assets/js/layout/base/content\";\r\nimport KTLayoutFooter from \"../../_assets/js/layout/base/footer\";\r\nimport KTLayoutSubheader from \"../../_assets/js/layout/base/subheader\";\r\nimport KTLayoutScrolltop from \"../../_assets/js/layout/extended/scrolltop\";\r\nimport KTLayoutStickyCard from \"../../_assets/js/layout/base/sticky-card\";\r\nimport KTLayoutStretchedCard from \"../../_assets/js/layout/base/stretched-card\";\r\nimport KTLayoutQuickPanel from \"../../_assets/js/layout/extended/quick-panel\";\r\nimport KTLayoutQuickUser from \"../../_assets/js/layout/extended/quick-user\";\r\n\r\nexport function LayoutInit() {\r\n useLayoutEffect(() => {\r\n // Initialization\r\n KTUtil.ready(function () {\r\n ////////////////////////////////////////////////////\r\n // Layout Base Partials(mandatory for core layout)//\r\n ////////////////////////////////////////////////////\r\n // Init Desktop & Mobile Headers\r\n KTLayoutHeader.init('kt_header', 'kt_header_mobile');\r\n\r\n // Init Header Menu\r\n KTLayoutHeaderMenu.init('kt_header_menu', 'kt_header_menu_wrapper');\r\n // Init Header Topbar For Mobile Mode\r\n KTLayoutHeaderTopbar.init('kt_header_mobile_topbar_toggle');\r\n // Init Brand Panel For Logo\r\n KTLayoutBrand.init('kt_brand');\r\n // Init Aside\r\n KTLayoutAside.init('kt_aside');\r\n\r\n // Init Aside Menu Toggle\r\n KTLayoutAsideToggle.init('kt_aside_toggle');\r\n //\r\n // Init Aside Menu\r\n KTLayoutAsideMenu.init('kt_aside_menu');\r\n\r\n // Init Content\r\n KTLayoutContent.init('kt_content');\r\n\r\n // Init Footer\r\n KTLayoutFooter.init('kt_footer');\r\n\r\n\r\n //////////////////////////////////////////////\r\n // Layout Extended Partials(optional to use)//\r\n //////////////////////////////////////////////\r\n KTLayoutSubheader.init('kt_subheader');\r\n\r\n // Init Scrolltop\r\n KTLayoutScrolltop.init('kt_scrolltop');\r\n\r\n // Init Sticky Card\r\n KTLayoutStickyCard.init('kt_page_sticky_card');\r\n\r\n // Init Stretched Card\r\n KTLayoutStretchedCard.init('kt_page_stretched_card');\r\n\r\n // Init Quick Offcanvas Panel\r\n KTLayoutQuickPanel.init('kt_quick_panel');\r\n\r\n // Init Quick User Panel\r\n KTLayoutQuickUser.init('kt_quick_user');\r\n });\r\n }, []);\r\n return <>;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport { toAbsoluteUrl } from \"../../../../../_helpers\";\r\n\r\nconst perfectScrollbarOptions = {\r\n wheelSpeed: 2,\r\n wheelPropagation: false,\r\n};\r\n\r\nexport function SearchResult({ data }) {\r\n if (!data) {\r\n return null;\r\n }\r\n\r\n if (data.length === 0) {\r\n return (\r\n \r\n
    \r\n
    No record found
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n {/* begin: Section */}\r\n
    \r\n Documents\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n AirPlus Requirements\r\n \r\n \r\n by Grog John\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n TechNav Documentation\r\n \r\n \r\n by Mary Broun\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n All Framework Docs\r\n \r\n \r\n by Nick Stone\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Finance & Accounting Reports\r\n \r\n \r\n by Jhon Larson\r\n \r\n
    \r\n
    \r\n
    \r\n {/* end: Section */}\r\n\r\n {/* begin: Section */}\r\n
    \r\n Members\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Milena Gibson\r\n \r\n \r\n UI Designer\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Stefan JohnStefan\r\n \r\n \r\n Marketing Manager\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Anna Strong\r\n \r\n \r\n Software Developer\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Nick Bold\r\n \r\n \r\n Project Coordinator\r\n \r\n
    \r\n
    \r\n
    \r\n {/* end: Section */}\r\n\r\n {/* begin: Section */}\r\n
    \r\n Files\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n 79 PSD files generated\r\n \r\n \r\n by Grog John\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n $2900 worth products sold\r\n \r\n \r\n Total 234 items\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n 4 New items submitted\r\n \r\n \r\n Marketing Manager\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n 4 New items submitted\r\n \r\n \r\n Marketing Manager\r\n \r\n
    \r\n
    \r\n
    \r\n {/* end: Section */}\r\n
    \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport { Dropdown, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport objectPath from \"object-path\";\r\nimport { useHtmlClassService } from \"../../../../_core/MetronicLayout\";\r\nimport { SearchResult } from \"./SearchResult\";\r\nimport { toAbsoluteUrl } from \"../../../../../_helpers\";\r\nimport { DropdownTopbarItemToggler } from \"../../../../../_partials/dropdowns\";\r\nconst fakeData = [\r\n {\r\n type: 0,\r\n text: \"Reports\",\r\n },\r\n {\r\n type: 1,\r\n text: \"AirPlus Requirements\",\r\n description: \"by Grog John\",\r\n iconImage: toAbsoluteUrl(\"/media/files/doc.svg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"TechNav Documentation\",\r\n description: \"by Mary Brown\",\r\n iconImage: toAbsoluteUrl(\"/media/files/pdf.svg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"All Framework Docs\",\r\n description: \"by Grog John\",\r\n iconImage: toAbsoluteUrl(\"/media/files/zip.svg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"AirPlus Requirements\",\r\n description: \"by Tim Hardy\",\r\n iconImage: toAbsoluteUrl(\"/media/files/xml.svg\"),\r\n },\r\n {\r\n text: \"Customers\",\r\n type: 0,\r\n },\r\n {\r\n type: 1,\r\n text: \"Jimmy Curry\",\r\n description: \"Software Developer\",\r\n iconImage: toAbsoluteUrl(\"/media/users/300_11.jpg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"Milena Gibson\",\r\n description: \"UI Designer\",\r\n iconImage: toAbsoluteUrl(\"/media/users/300_16.jpg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"Stefan JohnStefan\",\r\n description: \"Marketing Manager\",\r\n iconImage: toAbsoluteUrl(\"/media/users/300_22.jpg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"Anna Strong\",\r\n description: \"Software Developer\",\r\n iconImage: toAbsoluteUrl(\"/media/users/300_5.jpg\"),\r\n },\r\n {\r\n type: 0,\r\n text: \"Files\",\r\n },\r\n {\r\n type: 1,\r\n text: \"2 New items submitted\",\r\n description: \"Marketing Manager\",\r\n iconClassName: \"flaticon2-box font-danger\",\r\n },\r\n {\r\n type: 1,\r\n text: \"79 PSD files generated\",\r\n description: \"by Grog John\",\r\n iconClassName: \"flaticon-psd font-brand\",\r\n },\r\n {\r\n type: 1,\r\n text: \"$2900 worth products sold\",\r\n description: \"Total 234 items\",\r\n iconClassName: \"flaticon2-supermarket font-warning\",\r\n },\r\n {\r\n type: 1,\r\n text: \"4 New items submitted\",\r\n description: \"Marketing Manager\",\r\n iconClassName: \"flaticon-safe-shield-protection font-info\",\r\n },\r\n];\r\n\r\nexport function SearchDropdown() {\r\n const [loading, setLoading] = useState(false);\r\n const [data, setData] = useState(null);\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n let timeoutId;\r\n\r\n const clearTimeout = () => {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n timeoutId = undefined;\r\n }\r\n };\r\n\r\n const handleSearchChange = (event) => {\r\n setData(null);\r\n setSearchValue(event.target.value);\r\n\r\n if (event.target.value.length > 2) {\r\n clearTimeout();\r\n\r\n setLoading(true);\r\n\r\n // simulate getting search result\r\n timeoutId = setTimeout(() => {\r\n setData(fakeData);\r\n setLoading(false);\r\n }, 500);\r\n }\r\n };\r\n\r\n const clear = () => {\r\n setData(null);\r\n setSearchValue(\"\");\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n clearTimeout();\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n offcanvas:\r\n objectPath.get(uiService.config, \"extras.search.layout\") ===\r\n \"offcanvas\",\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {layoutProps.offcanvas && (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n {!layoutProps.offcanvas && (\r\n {\r\n setData(null);\r\n setLoading(false);\r\n setSearchValue(\"\");\r\n }}\r\n id=\"kt_quick_search_toggle\"\r\n >\r\n \r\n Quick search}\r\n >\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n \r\n 0\r\n ? \"none\"\r\n : \"flex\",\r\n }}\r\n onClick={clear}\r\n className=\"quick-search-close ki ki-close icon-sm text-muted\"\r\n />\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useState, useMemo } from \"react\";\r\nimport { Nav, Tab, Dropdown, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport objectPath from \"object-path\";\r\nimport { useHtmlClassService } from \"../../../_core/MetronicLayout\";\r\nimport { toAbsoluteUrl } from \"../../../../_helpers\";\r\nimport { DropdownTopbarItemToggler } from \"../../../../_partials/dropdowns\";\r\n\r\nconst perfectScrollbarOptions = {\r\n wheelSpeed: 2,\r\n wheelPropagation: false,\r\n};\r\n\r\nexport function UserNotificationsDropdown() {\r\n const [key, setKey] = useState(\"Alerts\");\r\n const bgImage = toAbsoluteUrl(\"/media/misc/bg-1.jpg\");\r\n\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n offcanvas:\r\n objectPath.get(uiService.config, \"extras.notifications.layout\") ===\r\n \"offcanvas\",\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {layoutProps.offcanvas && (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n {!layoutProps.offcanvas && (\r\n \r\n \r\n \r\n User Notifications\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n {/** Head */}\r\n \r\n

    \r\n User Notifications\r\n \r\n 23 new\r\n \r\n

    \r\n\r\n \r\n setKey(_key)}\r\n >\r\n \r\n \r\n Alerts\r\n \r\n \r\n \r\n \r\n Events\r\n \r\n \r\n \r\n \r\n Logs\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Briviba SaaS\r\n \r\n \r\n PHP, SQLite, Artisan CLIмм\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Briviba SaaS\r\n \r\n \r\n PHP, SQLite, Artisan CLIмм\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Briviba SaaS\r\n \r\n \r\n PHP, SQLite, Artisan CLIмм\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Briviba SaaS\r\n \r\n \r\n PHP, SQLite, Artisan CLIмм\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Briviba SaaS\r\n \r\n \r\n PHP, SQLite, Artisan CLIмм\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Briviba SaaS\r\n \r\n \r\n PHP, SQLite, Artisan CLIмм\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Briviba SaaS\r\n \r\n \r\n PHP, SQLite, Artisan CLIмм\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New report has been received\r\n
    \r\n
    23 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Finance report has been generated\r\n
    \r\n
    25 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New order has been received\r\n
    \r\n
    2 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New customer is registered\r\n
    \r\n
    3 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Application has been approved\r\n
    \r\n
    3 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New file has been uploaded\r\n
    \r\n
    5 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New user feedback received\r\n
    \r\n
    8 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n System reboot has been successfully completed\r\n
    \r\n
    12 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New order has been placed\r\n
    \r\n
    15 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Company meeting canceled\r\n
    \r\n
    19 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New report has been received\r\n
    \r\n
    23 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Finance report has been generated\r\n
    \r\n
    25 hrs ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New customer comment recieved\r\n
    \r\n
    2 days ago
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New customer is registered\r\n
    \r\n
    3 days ago
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n All caught up!\r\n
    \r\n No new notifications.\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo } from \"react\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport objectPath from \"object-path\";\r\nimport { useHtmlClassService } from \"../../../_core/MetronicLayout\";\r\nimport { toAbsoluteUrl } from \"../../../../_helpers\";\r\nimport { DropdownTopbarItemToggler } from \"../../../../_partials/dropdowns\";\r\n\r\nexport function QuickActionsDropdown() {\r\n const bgImage = toAbsoluteUrl(\"/media/misc/bg-2.jpg\");\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n offcanvas:\r\n objectPath.get(uiService.config, \"extras.quick-actions.layout\") ===\r\n \"offcanvas\",\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {layoutProps.offcanvas && (\r\n Quick actions}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n )}\r\n {!layoutProps.offcanvas && (\r\n \r\n \r\n Quick actions\r\n }\r\n >\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n {/* begin: Head */}\r\n \r\n

    \r\n Quick Actions\r\n

    \r\n \r\n 23 tasks pending\r\n \r\n \r\n {/* end: Head */}\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Accounting\r\n \r\n \r\n eCommerce\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n Administration\r\n \r\n \r\n Console\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Projects\r\n \r\n \r\n Pending Tasks\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Customers\r\n \r\n \r\n Latest cases\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n","/* eslint-disable react/style-prop-object */\r\n/* eslint-disable jsx-a11y/alt-text */\r\n/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport { Dropdown, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../_helpers\";\r\nimport { DropdownTopbarItemToggler } from \"../../../../_partials/dropdowns\";\r\n\r\nconst perfectScrollbarOptions = {\r\n wheelSpeed: 2,\r\n wheelPropagation: false,\r\n};\r\n\r\nexport function MyCartDropdown() {\r\n const bgImage = toAbsoluteUrl(\"/media/misc/bg-1.jpg\");\r\n return (\r\n \r\n \r\n User Cart}\r\n >\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n

    My Cart

    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n iBlender\r\n \r\n Best kichen badge in 2020\r\n
    \r\n \r\n $ 350\r\n \r\n for\r\n \r\n 5\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n SmartCleaner\r\n \r\n Smart tool for cooking\r\n
    \r\n \r\n $ 650\r\n \r\n for\r\n \r\n 4\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n CameraX\r\n \r\n \r\n Professional camera for edge cutting shots\r\n \r\n
    \r\n \r\n $ 150\r\n \r\n for\r\n \r\n 3\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n 3DPrinted\r\n \r\n Manufactoring unique objects\r\n
    \r\n \r\n $ 1450\r\n \r\n for\r\n \r\n 7\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n Total\r\n \r\n \r\n $1840.00\r\n \r\n
    \r\n
    \r\n \r\n Sub total\r\n \r\n \r\n $5640.00\r\n \r\n
    \r\n
    \r\n \r\n Place Order\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { toAbsoluteUrl } from \"../../../../_helpers\";\r\nimport { useLang, setLanguage } from \"../../../../i18n\";\r\nimport { DropdownTopbarItemToggler } from \"../../../../_partials/dropdowns\";\r\n\r\nconst languages = [\r\n {\r\n lang: \"en\",\r\n name: \"English\",\r\n flag: toAbsoluteUrl(\"/media/svg/flags/226-united-states.svg\"),\r\n },\r\n {\r\n lang: \"zh\",\r\n name: \"Mandarin\",\r\n flag: toAbsoluteUrl(\"/media/svg/flags/015-china.svg\"),\r\n },\r\n {\r\n lang: \"es\",\r\n name: \"Spanish\",\r\n flag: toAbsoluteUrl(\"/media/svg/flags/128-spain.svg\"),\r\n },\r\n {\r\n lang: \"ja\",\r\n name: \"Japanese\",\r\n flag: toAbsoluteUrl(\"/media/svg/flags/063-japan.svg\"),\r\n },\r\n {\r\n lang: \"de\",\r\n name: \"German\",\r\n flag: toAbsoluteUrl(\"/media/svg/flags/162-germany.svg\"),\r\n },\r\n {\r\n lang: \"fr\",\r\n name: \"French\",\r\n flag: toAbsoluteUrl(\"/media/svg/flags/195-france.svg\"),\r\n },\r\n];\r\n\r\nexport function LanguageSelectorDropdown() {\r\n const lang = useLang();\r\n const currentLanguage = languages.find((x) => x.lang === lang);\r\n return (\r\n \r\n \r\n Select Language\r\n }\r\n >\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
      \r\n {languages.map((language) => (\r\n \r\n setLanguage(language.lang)}\r\n className=\"navi-link\"\r\n >\r\n \r\n {language.name}\r\n \r\n {language.name}\r\n \r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, {useMemo} from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport {useSelector} from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport {useHtmlClassService} from \"../../../_core/MetronicLayout\";\r\nimport {toAbsoluteUrl} from \"../../../../_helpers\";\r\nimport {DropdownTopbarItemToggler} from \"../../../../_partials/dropdowns\";\r\n\r\nexport function UserProfileDropdown() {\r\n const {user} = useSelector(state => state.auth);\r\n\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n light: objectPath.get(uiService.config, \"extras.user.dropdown.style\") === \"light\",\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n \r\n \r\n
    \r\n Hi, )}\r\n \r\n {user.fullname}\r\n \r\n \r\n {/* {user.fullname[0]} */}\r\n \r\n
    \r\n \r\n \r\n <>\r\n {/** ClassName should be 'dropdown-menu p-0 m-0 dropdown-menu-right dropdown-menu-anim dropdown-menu-top-unround dropdown-menu-xl' */}\r\n {layoutProps.light && (<>\r\n
    \r\n\r\n
    \r\n \"\"/\r\n
    \r\n
    Sean Stone
    \r\n 3 messages\r\n
    \r\n
    \r\n )}\r\n\r\n {!layoutProps.light && (\r\n \r\n
    \r\n S\r\n {/*\"Pic\"*/}\r\n
    \r\n
    \r\n Sean Stone\r\n
    \r\n \r\n 3 messages\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo } from 'react';\r\nimport { OverlayTrigger, Tooltip } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport objectPath from 'object-path';\r\nimport { useHtmlClassService } from '../../_core/MetronicLayout';\r\nimport { UserProfileDropdown } from './dropdowns/UserProfileDropdown';\r\n\r\nexport function QuickUserToggler() {\r\n const { user } = useSelector((state) => state.auth);\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n offcanvas: objectPath.get(uiService.config, 'extras.user.layout') === 'offcanvas',\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {layoutProps.offcanvas && (\r\n Ver información de usuario}>\r\n
    \r\n \r\n <>\r\n {/* \r\n Hi,\r\n */}\r\n \r\n {user.name}\r\n \r\n\r\n \r\n {(user.name && user.name[0]) || 'U'}\r\n \r\n \r\n
    \r\n \r\n \r\n )}\r\n\r\n {!layoutProps.offcanvas && }\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { toAbsoluteUrl } from \"../../../_helpers\";\r\nimport { useHtmlClassService } from \"../../_core/MetronicLayout\";\r\nimport { SearchDropdown } from \"../extras/dropdowns/search/SearchDropdown\";\r\nimport { UserNotificationsDropdown } from \"../extras/dropdowns/UserNotificationsDropdown\";\r\nimport { QuickActionsDropdown } from \"../extras/dropdowns/QuickActionsDropdown\";\r\nimport { MyCartDropdown } from \"../extras/dropdowns/MyCartDropdown\";\r\nimport { LanguageSelectorDropdown } from \"../extras/dropdowns/LanguageSelectorDropdown\";\r\nimport { QuickUserToggler } from \"../extras/QuiclUserToggler\";\r\n\r\nexport function Topbar() {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n viewSearchDisplay: objectPath.get(\r\n uiService.config,\r\n \"extras.search.display\"\r\n ),\r\n viewNotificationsDisplay: objectPath.get(\r\n uiService.config,\r\n \"extras.notifications.display\"\r\n ),\r\n viewQuickActionsDisplay: objectPath.get(\r\n uiService.config,\r\n \"extras.quick-actions.display\"\r\n ),\r\n viewCartDisplay: objectPath.get(uiService.config, \"extras.cart.display\"),\r\n viewQuickPanelDisplay: objectPath.get(\r\n uiService.config,\r\n \"extras.quick-panel.display\"\r\n ),\r\n viewLanguagesDisplay: objectPath.get(\r\n uiService.config,\r\n \"extras.languages.display\"\r\n ),\r\n viewUserDisplay: objectPath.get(uiService.config, \"extras.user.display\"),\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n
    \r\n {layoutProps.viewSearchDisplay && }\r\n\r\n {layoutProps.viewNotificationsDisplay && }\r\n\r\n {layoutProps.viewQuickActionsDisplay && }\r\n\r\n {layoutProps.viewCartDisplay && }\r\n\r\n {layoutProps.viewQuickPanelDisplay && (\r\n Quick panel}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n )}\r\n\r\n {layoutProps.viewLanguagesDisplay && }\r\n\r\n {layoutProps.viewUserDisplay && }\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, {forwardRef} from \"react\";\r\nimport {OverlayTrigger, Tooltip} from \"react-bootstrap\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {DropdownMenu1} from \"../../../../_partials/dropdowns\";\r\nimport {toAbsoluteUrl} from \"../../../../_helpers\";\r\n\r\nconst QuickActionsDropdownToggle = forwardRef((props, ref) => {\r\n return (\r\n {\r\n e.preventDefault();\r\n props.onClick(e);\r\n }}\r\n id=\"kt_subheader_quick_actions\"\r\n className=\"btn btn-sm btn-clean btn-icon\"\r\n >\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nexport function QuickActions() {\r\n return (\r\n <>\r\n Quick actions}\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\n\r\nexport function BreadCrumbs({items}) {\r\n if (!items || !items.length) {\r\n return \"\";\r\n }\r\n\r\n return (\r\n
      \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n {items.map((item, index) => (\r\n
    • \r\n \r\n {item.title}\r\n \r\n
    • \r\n ))}\r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, {useMemo, useLayoutEffect, useEffect} from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport {useLocation} from \"react-router-dom\";\r\nimport {QuickActions} from \"./components/QuickActions\";\r\nimport {BreadCrumbs} from \"./components/BreadCrumbs\";\r\nimport {getBreadcrumbsAndTitle, useSubheader} from \"../../_core/MetronicSubheader\";\r\nimport {useHtmlClassService} from \"../../_core/MetronicLayout\"\r\n\r\nexport function SubHeader() {\r\n const uiService = useHtmlClassService();\r\n const location = useLocation();\r\n const subheader = useSubheader();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n config: uiService.config,\r\n subheaderMobileToggle: objectPath.get(\r\n uiService.config,\r\n \"subheader.mobile-toggle\"\r\n ),\r\n subheaderCssClasses: uiService.getClasses(\"subheader\", true),\r\n subheaderContainerCssClasses: uiService.getClasses(\r\n \"subheader_container\",\r\n true\r\n )\r\n };\r\n }, [uiService]);\r\n\r\n useLayoutEffect(() => {\r\n const aside = getBreadcrumbsAndTitle(\"kt_aside_menu\", location.pathname);\r\n const header = getBreadcrumbsAndTitle(\"kt_header_menu\", location.pathname);\r\n subheader.setBreadcrumbs(aside.breadcrumbs || header.breadcrumbs);\r\n subheader.setTitle(aside.title || header.title);\r\n // eslint-disable-next-line\r\n }, [location.pathname]);\r\n\r\n // Do not remove this useEffect, need from update title/breadcrumbs outside (from the page)\r\n useEffect(() => {}, [subheader]);\r\n\r\n return (\r\n \r\n \r\n {/* Info */}\r\n
    \r\n {layoutProps.subheaderMobileToggle && (\r\n \r\n \r\n \r\n )}\r\n\r\n
    \r\n
    \r\n <>\r\n {subheader.title}\r\n \r\n {/**/}\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n
    \r\n\r\n {/* Toolbar */}\r\n \r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { useLocation } from \"react-router\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl, checkIsActive } from \"../../../../_helpers\";\r\n\r\nexport function HeaderMenu({ layoutProps }) {\r\n const location = useLocation();\r\n const getMenuItemActive = (url) => {\r\n return checkIsActive(location, url) ? \"menu-item-active\" : \"\";\r\n }\r\n\r\n return \r\n {/*begin::Header Nav*/}\r\n
      \r\n {/*begin::1 Level*/}\r\n
    • \r\n \r\n Dashboard\r\n {layoutProps.rootArrowEnabled && ()}\r\n \r\n
    • \r\n {/*end::1 Level*/}\r\n\r\n {/*Classic submenu*/}\r\n {/*begin::1 Level*/}\r\n \r\n \r\n Material UI\r\n \r\n \r\n
      \r\n
        \r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Inputs\r\n \r\n \r\n \r\n
        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Autocomplete\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Buttons\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Checkboxes\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Pickers\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Radio Buttons\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Selects\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Switches\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Text Fields\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Transfer List\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
        \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Navigation\r\n \r\n \r\n \r\n
        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Bottom Navigation\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Breadcrumbs\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Drawers\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n NavLinks\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Menus\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Steppers\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Tabs\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
        \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Surfaces\r\n \r\n \r\n \r\n
        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n App Bar\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Paper\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Cards\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Expansion Panels\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
        \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Feedback\r\n \r\n \r\n \r\n
        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Progress\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Dialogs\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Snackbars\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
        \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Data Display\r\n \r\n \r\n \r\n
        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Avatars\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Badges\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Chips\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Dividers\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Icons\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Lists\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Tables\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Tooltips\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Typography\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
        \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Utils\r\n \r\n \r\n \r\n
        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Click Away Listener\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Modal\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n No SSR\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Popover\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Popper\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Portal\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Transitions\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n useMediaQuery\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
        \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Layout\r\n \r\n \r\n \r\n
        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Box\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Container\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Grid\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Grid list\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Hidden\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n
        \r\n
        \r\n \r\n {/*end::2 Level*/}\r\n
      \r\n
      \r\n \r\n {/*end::1 Level*/}\r\n\r\n {/*Mega submenu*/}\r\n {/*begin::1 Level*/}\r\n \r\n \r\n Bootstrap\r\n \r\n \r\n \r\n
      \r\n
        \r\n
      • \r\n

        \r\n \r\n A ... C\r\n \r\n

        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Alerts\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Accordion\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Badge\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Breadcrumb\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Buttons\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Button Group\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Cards\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
      • \r\n
      • \r\n
          \r\n

          \r\n \r\n C ... J\r\n \r\n

          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Carousel\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Dropdowns\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Forms\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Input Group\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Images\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Figures\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Jumbotron\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
      • \r\n
      • \r\n

        \r\n \r\n L ... P\r\n \r\n

        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n List group\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Modal\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Navs\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Navbar\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Overlays\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Pagination\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Popovers\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
      • \r\n
      • \r\n

        \r\n \r\n P ... T\r\n \r\n

        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Progress\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Spinners\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Table\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Tabs\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Tooltips\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n Toasts\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
      • \r\n
      \r\n
      \r\n \r\n \r\n\r\n {/*Classic submenu*/}\r\n {/*begin::1 Level*/}\r\n \r\n \r\n Custom\r\n \r\n \r\n
      \r\n
        \r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n eCommerce\r\n \r\n \r\n \r\n
        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Customers\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Products\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
        \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n
      • \r\n \r\n Layout Builder\r\n \r\n
      • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n Error Pages\r\n \r\n \r\n \r\n
        \r\n
          \r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Error 1\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Error 2\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Error 3\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Error 4\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Error 5\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n\r\n {/*begin::3 Level*/}\r\n
        • \r\n \r\n \r\n Error 6\r\n \r\n
        • \r\n {/*end::3 Level*/}\r\n
        \r\n
        \r\n \r\n {/*end::2 Level*/}\r\n\r\n
      \r\n
      \r\n \r\n {/*end::1 Level*/}\r\n
    \r\n {/*end::Header Nav*/}\r\n ;\r\n}\r\n","import React, { useMemo } from 'react';\r\nimport objectPath from 'object-path';\r\nimport { Link } from 'react-router-dom';\r\nimport { toAbsoluteUrl } from '../../../../_helpers';\r\nimport { useHtmlClassService } from '../../../_core/MetronicLayout';\r\nimport { HeaderMenu } from './HeaderMenu';\r\n\r\nexport function HeaderMenuWrapper() {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n config: uiService.config,\r\n ktMenuClasses: uiService.getClasses('header_menu', true),\r\n rootArrowEnabled: objectPath.get(uiService.config, 'header.menu.self.root-arrow'),\r\n menuDesktopToggle: objectPath.get(uiService.config, 'header.menu.desktop.toggle'),\r\n headerMenuAttributes: uiService.getAttributes('header_menu'),\r\n headerSelfTheme: objectPath.get(uiService.config, 'header.self.theme'),\r\n ulClasses: uiService.getClasses('header_menu_nav', true),\r\n disabledAsideSelfDisplay: objectPath.get(uiService.config, 'aside.self.display') === false,\r\n };\r\n }, [uiService]);\r\n const getHeaderLogo = () => {\r\n let result = 'logo-light.png';\r\n if (layoutProps.headerSelfTheme && layoutProps.headerSelfTheme !== 'dark') {\r\n result = 'logo-dark.png';\r\n }\r\n return toAbsoluteUrl(`/media/logos/${result}`);\r\n };\r\n\r\n return (\r\n <>\r\n {/*begin::Header Menu Wrapper*/}\r\n
    \r\n {layoutProps.disabledAsideSelfDisplay && (\r\n <>\r\n {/*begin::Header Logo*/}\r\n
    \r\n \r\n logo\r\n \r\n
    \r\n {/*end::Header Logo*/}\r\n \r\n )}\r\n {/*begin::Header Menu*/}\r\n \r\n {/*end::Header Menu*/}\r\n
    \r\n {/*Header Menu Wrapper*/}\r\n \r\n );\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"DetailThumbnail\":\"DetailThumbnail_DetailThumbnail__PGER0\",\"DetailThumbnail-overlay\":\"DetailThumbnail_DetailThumbnail-overlay__WPHXi\",\"is-editable\":\"DetailThumbnail_is-editable__3n7u8\"};","/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport { Route, Redirect } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nconst PrivateRoute = React.memo(({ component: Component, permit, ...rest }) => {\n return (\n \n permit\n ? \n : ()}\n />\n );\n});\n\nPrivateRoute.propTypes = {\n component: PropTypes.elementType.isRequired,\n permit: PropTypes.bool.isRequired,\n};\n\nexport default PrivateRoute;\n","import objectPath from \"object-path\";\r\nimport {toAbsoluteUrl} from \"../../_helpers\";\r\n\r\nexport class HtmlClassService {\r\n // Public properties\r\n config;\r\n classes;\r\n attributes;\r\n\r\n /**\r\n * Build html element classes from layout config\r\n * @param layoutConfig\r\n */\r\n setConfig(layoutConfig) {\r\n this.config = this.preInit(layoutConfig);\r\n\r\n // scope list of classes\r\n this.classes = {\r\n header: [],\r\n header_container: [],\r\n header_mobile: [],\r\n header_menu: [],\r\n aside: [],\r\n aside_menu: [],\r\n subheader: [],\r\n subheader_container: [],\r\n content: [],\r\n content_container: [],\r\n footer_container: []\r\n };\r\n\r\n this.attributes = {\r\n aside_menu: {},\r\n header_mobile: {},\r\n header_menu: {}\r\n };\r\n\r\n // init base layout\r\n this.initLayout();\r\n this.initLoader();\r\n\r\n // init header and subheader menu\r\n this.initHeader();\r\n this.initSubheader();\r\n\r\n this.initContent();\r\n // init aside and aside menu\r\n this.initAside();\r\n\r\n // init footer\r\n this.initFooter();\r\n\r\n // init theme\r\n this.initTheme();\r\n }\r\n\r\n preInit(layoutConfig) {\r\n const updatedConfig = Object.assign({}, layoutConfig);\r\n const headerSelfFixedDesktop = objectPath.get(updatedConfig, \"header.self.fixed.desktop\");\r\n const subheaderFixed = objectPath.get(updatedConfig, \"subheader.fixed\");\r\n if (subheaderFixed && headerSelfFixedDesktop) {\r\n // Page::setOption('layout', 'subheader/style', 'solid');\r\n updatedConfig.subheader.style = \"solid\";\r\n } else {\r\n // Page::setOption('layout', 'subheader/fixed', false);\r\n updatedConfig.subheader.fixed = false;\r\n }\r\n return updatedConfig;\r\n }\r\n\r\n /**\r\n * Returns Classes\r\n *\r\n * @param path: string\r\n * @param toString boolean\r\n */\r\n getClasses(path, toString) {\r\n if (path) {\r\n const classes = objectPath.get(this.classes, path) || \"\";\r\n if (toString && Array.isArray(classes)) {\r\n return classes.join(\" \");\r\n }\r\n return classes.toString();\r\n }\r\n return this.classes;\r\n }\r\n\r\n getAttributes(path) {\r\n if (path) {\r\n const attributes = objectPath.get(this.attributes, path) || [];\r\n return attributes;\r\n }\r\n return [];\r\n }\r\n\r\n getLogo() {\r\n const brandSkin = objectPath.get(this.config, \"brand.self.theme\");\r\n if (brandSkin === \"light\") {\r\n return toAbsoluteUrl(\"/media/logos/logo-dark.png\");\r\n } else {\r\n return toAbsoluteUrl(\"/media/logos/logo.png\");\r\n }\r\n }\r\n\r\n getStickyLogo() {\r\n let logo = objectPath.get(this.config, \"self.logo.sticky\");\r\n if (typeof logo === \"undefined\") {\r\n logo = this.getLogo();\r\n }\r\n return logo + \"\";\r\n }\r\n\r\n /**\r\n * Init Layout\r\n */\r\n initLayout() {\r\n const selfBodyBackgroundImage = objectPath.get(this.config, \"self.body.background-image\");\r\n if (selfBodyBackgroundImage) {\r\n document.body.style.backgroundImage = `url(\"${selfBodyBackgroundImage}'\")`;\r\n }\r\n\r\n const _selfBodyClass = objectPath.get(this.config, \"self.body.class\");\r\n if (_selfBodyClass) {\r\n const bodyClasses = _selfBodyClass.toString().split(\" \");\r\n bodyClasses.forEach(cssClass => document.body.classList.add(cssClass));\r\n }\r\n\r\n // Offcanvas directions\r\n document.body.classList.add(\"quick-panel-right\");\r\n document.body.classList.add(\"demo-panel-right\");\r\n document.body.classList.add(\"offcanvas-right\");\r\n }\r\n\r\n /**\r\n * Init Loader\r\n */\r\n initLoader() {}\r\n\r\n /**\r\n * Init Header\r\n */\r\n initHeader() {\r\n // Fixed header\r\n const headerSelfFixedDesktop = objectPath.get(this.config, \"header.self.fixed.desktop\");\r\n if (headerSelfFixedDesktop) {\r\n document.body.classList.add(\"header-fixed\");\r\n objectPath.push(this.classes, \"header\", \"header-fixed\");\r\n } else {\r\n document.body.classList.add(\"header-static\");\r\n }\r\n\r\n const headerSelfFixedMobile = objectPath.get(this.config, \"header.self.fixed.mobile\");\r\n if (headerSelfFixedMobile) {\r\n document.body.classList.add(\"header-mobile-fixed\");\r\n objectPath.push(this.classes, \"header_mobile\", \"header-mobile-fixed\");\r\n }\r\n\r\n // Menu\r\n const headerMenuSelfDisplay = objectPath.get(this.config, \"header.menu.self.display\");\r\n if (headerMenuSelfDisplay) {\r\n const headerMenuSelfLayout = objectPath.get(this.config, \"header.menu.self.layout\");\r\n const headerMenuLayoutCssClass = `header-menu-layout-${headerMenuSelfLayout}`;\r\n objectPath.push(this.classes, \"header_menu\", headerMenuLayoutCssClass);\r\n\r\n if (objectPath.get(this.config, \"header.menu.self.root-arrow\")) {\r\n objectPath.push(this.classes, \"header_menu\", \"header-menu-root-arrow\");\r\n }\r\n }\r\n\r\n const headerSelfWidth = objectPath.get(this.config, \"header.self.width\");\r\n if (headerSelfWidth === \"fluid\") {\r\n objectPath.push(this.classes, \"header_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"header_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Subheader\r\n */\r\n initSubheader() {\r\n const subheaderDisplay = objectPath.get(this.config, \"subheader.display\");\r\n if (subheaderDisplay) {\r\n document.body.classList.add(\"subheader-enabled\");\r\n } else {\r\n return;\r\n }\r\n\r\n // Fixed content head\r\n const subheaderFixed = objectPath.get(this.config, \"subheader.fixed\");\r\n const headerSelfFixedDesktop = objectPath.get(this.config, \"header.self.fixed.desktop\");\r\n if (subheaderFixed && headerSelfFixedDesktop) {\r\n document.body.classList.add(\"subheader-fixed\");\r\n // Page::setOption('layout', 'subheader/style', 'solid'); => See preInit()\r\n } else {\r\n // Page::setOption('layout', 'subheader/fixed', false); => See preInit()\r\n }\r\n\r\n const subheaderStyle = objectPath.get(this.config, \"subheader.style\");\r\n if (subheaderStyle) {\r\n const subheaderClass = `subheader-${subheaderStyle}`;\r\n objectPath.push(this.classes, \"subheader\", subheaderClass);\r\n }\r\n\r\n const subheaderWidth = objectPath.get(this.config, \"subheader.width\");\r\n if (subheaderWidth === \"fluid\") {\r\n objectPath.push(this.classes, \"subheader_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"subheader_container\", \"container\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"subheader.clear\")) {\r\n objectPath.push(this.classes, \"subheader\", \"mb-0\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Content\r\n */\r\n initContent() {\r\n if (objectPath.get(this.config, \"content.fit-top\")) {\r\n objectPath.push(this.classes, \"content\", \"pt-0\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.fit-bottom\")) {\r\n objectPath.push(this.classes, \"content\", \"pb-0\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"content_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"content_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Aside\r\n */\r\n initAside() {\r\n // Check Aside\r\n const asideSelfDisplay = objectPath.get(this.config, \"aside.self.display\");\r\n if (!asideSelfDisplay) {\r\n return;\r\n }\r\n\r\n // Enable Aside\r\n document.body.classList.add(\"aside-enabled\");\r\n\r\n // Fixed Aside\r\n const asideSelfFixed = objectPath.get(this.config, \"aside.self.fixed\");\r\n if (asideSelfFixed) {\r\n document.body.classList.add(\"aside-fixed\");\r\n objectPath.push(this.classes, \"aside\", \"aside-fixed\");\r\n } else {\r\n document.body.classList.add(\"aside-static\");\r\n }\r\n\r\n // Check Aside\r\n if (!asideSelfDisplay) {\r\n return;\r\n }\r\n\r\n // Default fixed\r\n if (objectPath.get(this.config, \"aside.self.minimize.default\")) {\r\n document.body.classList.add(\"aside-minimize\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"aside.self.minimize.hoverable\")) {\r\n document.body.classList.add(\"aside-minimize-hoverable\");\r\n }\r\n\r\n // Menu\r\n // Dropdown Submenu\r\n const asideMenuDropdown = objectPath.get(this.config, \"aside.menu.dropdown\");\r\n if (asideMenuDropdown) {\r\n objectPath.push(this.classes, \"aside_menu\", \"aside-menu-dropdown\");\r\n this.attributes.aside_menu[\"data-menu-dropdown\"] = \"1\";\r\n }\r\n\r\n // Scrollable Menu\r\n this.attributes.aside_menu[\"data-menu-scroll\"] = asideMenuDropdown ? \"0\" : \"1\";\r\n\r\n const asideSubmenuDHoverTimeout = objectPath.get(\r\n this.config,\r\n \"aside.menu.submenu.dropdown.hover-timeout\"\r\n );\r\n if (asideSubmenuDHoverTimeout) {\r\n this.attributes.aside_menu[\r\n \"data-menu-dropdown-timeout\"\r\n ] = asideSubmenuDHoverTimeout;\r\n }\r\n }\r\n\r\n /**\r\n * Init Footer\r\n */\r\n initFooter() {\r\n // Fixed header\r\n if (objectPath.get(this.config, \"footer.fixed\")) {\r\n document.body.classList.add(\"footer-fixed\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"footer.self.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"footer_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"footer_container\", \"container\");\r\n }\r\n }\r\n\r\n /** Init Theme */\r\n initTheme() {\r\n const asideSelfDisplay = objectPath.get(this.config, \"aside.self.display\");\r\n if (!asideSelfDisplay) {\r\n const headerSelfTheme = objectPath.get(this.config, \"header.self.theme\");\r\n document.body.classList.add(`brand-${headerSelfTheme}`);\r\n } else {\r\n const brandSelfTheme = objectPath.get(this.config, \"brand.self.theme\");\r\n document.body.classList.add(`brand-${brandSelfTheme}`);\r\n }\r\n }\r\n}\r\n","import React, { createContext, useContext, useMemo } from \"react\";\r\nimport { getInitLayoutConfig } from \"./LayoutConfig\";\r\nimport { HtmlClassService } from \"./HTMLClassService\";\r\n\r\nconst LAYOUT_CONFIG_KEY =\r\n process.env.REACT_APP_LAYOUT_CONFIG_KEY || \"LayoutConfig\";\r\n\r\nfunction getConfig() {\r\n const ls = localStorage.getItem(LAYOUT_CONFIG_KEY);\r\n if (ls) {\r\n try {\r\n return JSON.parse(ls);\r\n } catch (er) {\r\n console.error(er);\r\n }\r\n }\r\n return getInitLayoutConfig();\r\n}\r\n\r\n// Side effect\r\nexport function setLayoutConfig(config) {\r\n localStorage.setItem(LAYOUT_CONFIG_KEY, JSON.stringify(config));\r\n window.location.reload();\r\n}\r\n\r\nconst HtmlClassServiceContext = createContext();\r\n\r\n/**\r\n *\r\n *\r\n * @export\r\n * @returns Layout context from 'localStorage'\r\n */\r\nexport function useHtmlClassService() {\r\n return useContext(HtmlClassServiceContext);\r\n}\r\n\r\nexport function withHtmlClassService(Component) {\r\n class WithHtmlClassService extends React.Component {\r\n static displayName = `WithHtmlClassService(${Component.displayName ||\r\n Component.name})`;\r\n\r\n static contextType = HtmlClassServiceContext;\r\n\r\n render() {\r\n return ;\r\n }\r\n }\r\n\r\n return WithHtmlClassService;\r\n}\r\n\r\nexport const HtmlClassServiceConsumer = HtmlClassServiceContext.Consumer;\r\n\r\nexport function MetronicLayoutProvider({ children }) {\r\n const lc = useMemo(getConfig, []);\r\n const hcs = useMemo(() => {\r\n const service = new HtmlClassService();\r\n\r\n service.setConfig(lc);\r\n\r\n return service;\r\n }, [lc]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import { useEffect, useState } from 'react';\n\nconst useMounted = () => {\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n setIsMounted(true);\n }, []);\n\n return isMounted;\n};\n\nexport default useMounted;\n","import useTable from './useTable';\nimport useMounted from './useMounted';\n\nexport { useTable, useMounted };\n","import { Button, TextField } from \"@material-ui/core\";\nimport React, { useCallback, useState } from \"react\";\nimport { toAbsoluteUrl } from \"../../../_metronic/_helpers\";\nimport SVG from \"react-inlinesvg\";\nimport HTTP from \"../../../axios\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { snackbarTypes } from \"../../../redux/models/ui\";\nimport QrReader from \"react-qr-reader\";\n\nconst StudentAddBook = ({ closeModal }) => {\n const dispatch = useDispatch();\n const { user } = useSelector((st) => st.auth);\n const [value, setValue] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [qrReader, setQrReader] = useState(false);\n\n const sendBookCode = useCallback(() => {\n setLoading(true);\n HTTP.put(`/books/validate-book-code/${value}/${user.userId}`)\n .then((res) => {\n setLoading(false);\n closeModal();\n\n dispatch.ui.openSnackbar({\n message: res.data.message,\n type: snackbarTypes.success,\n });\n dispatch.userData.getUserBooks({ id: user.id });\n })\n .catch((error) => {\n setLoading(false);\n dispatch.ui.openSnackbar({\n message: error.message,\n type: snackbarTypes.error,\n });\n });\n }, [\n closeModal,\n dispatch.ui,\n dispatch.userData,\n user.id,\n user.userId,\n value,\n ]);\n\n const toggleQrCode = () => setQrReader((st) => !st);\n\n const handleError = (err) => {\n console.error(err);\n dispatch.ui.openSnackbar({\n message: err,\n type: snackbarTypes.error,\n });\n };\n\n const handleScan = (data) => {\n if (data) {\n setValue(data);\n toggleQrCode();\n }\n };\n return (\n
    \n

    \n Obtén tu libro digital canjeando tu código único\n

    \n\n setValue(e.target.value)}\n />\n \n {qrReader ? \"Ocultar lector\" : \"Leer código QR\"}\n \n\n {qrReader && (\n \n )}\n
    \n \n\n \n {loading ? \"Enviando\" : \"Enviar\"}\n {loading && (\n \n )}\n \n
    \n
    \n );\n};\n\nexport default StudentAddBook;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Icon } from '@material-ui/core';\nimport css from './DetailThumbnail.module.scss';\n\nconst DetailThumbnail = ({ id, img, editable, accept, fileChange, width, className }) => {\n const [image, setImage] = useState(img);\n const classes = [css.DetailThumbnail, className];\n\n if (editable) {\n classes.push(css['is-editable']);\n }\n\n useEffect(() => {\n if (img) {\n setImage(img);\n }\n }, [img]);\n\n return (\n \n {editable && (\n <>\n {\n const { target } = event;\n if (target.files && target.files.length > 0) {\n fileChange(target.id, target.files[0]);\n setImage(URL.createObjectURL(target.files[0]));\n }\n }}\n />\n\n
    \n cloud_upload\n
    \n \n )}\n \n );\n};\n\nDetailThumbnail.propTypes = {\n id: PropTypes.string.isRequired,\n img: PropTypes.string,\n editable: PropTypes.bool,\n accept: PropTypes.string,\n fileChange: PropTypes.func,\n width: PropTypes.string,\n className: PropTypes.string,\n};\n\nDetailThumbnail.defaultProps = {\n img: '',\n editable: false,\n accept: 'image/jpg, image/png',\n fileChange: () => null,\n width: '',\n className: '',\n};\n\nexport default DetailThumbnail;\n","export const statuses = {\n waiting: 'waiting',\n failed: 'failed',\n received: 'received',\n};\n","export const firebaseErrors = {\n 'auth/email-already-exists':\n 'El correo electrónico proporcionado ya está siendo utilizado por un usuario existente. Cada usuario debe tener un correo electrónico único.',\n 'auth/user-not-found': 'No existe ningún registro de usuario que corresponda con la información proporcionada.',\n 'auth/wrong-password': 'La contraseña es inválida o el usuario no tiene contraseña.',\n 'auth/invalid-email': 'El correo electrónico es inválido.',\n 'auth/user-disabled': 'Tu cuenta ha sido deshabilitada.',\n 'auth/email-already-in-use': 'El correo electrónico ya esta siendo utilizado por otro usuario.',\n 'auth/weak-password': 'La contraseña no es suficientemente segura.',\n};\n","export const codeTypes = [\"teachers\", \"editions\", \"donation\"];\n","export const activityTypes = ['activity', 'exam', 'diag']; \n","export const partials = [1, 2, 3];\n","export const contentType = [\"link\", \"video\", \"audio\", \"image\"];\n","export const zones = ['NoZone', 'Norte', 'Sur', 'Centro', 'Mixta'];\n","export { statuses } from \"./statuses\";\nexport { firebaseErrors } from \"./firebaseErrors\";\nexport { codeTypes } from \"./codeTypes\";\nexport { activityTypes } from \"./activityTypes\";\nexport { partials } from \"./partials\";\nexport { userTypes } from './userTypes';\nexport { contentType } from './contentType';\nexport { zones } from './zones';\n","import { Button, TextField } from '@material-ui/core';\nimport React, { useCallback, useState } from 'react';\nimport { toAbsoluteUrl } from '../../../_metronic/_helpers';\nimport SVG from 'react-inlinesvg';\nimport HTTP from '../../../axios';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { snackbarTypes } from '../../../redux/models/ui';\nimport QrReader from 'react-qr-reader';\n\nconst StudentAddGroup = ({ closeModal }) => {\n const dispatch = useDispatch();\n const auth = useSelector((st) => st.auth);\n\n const [value, setValue] = useState('');\n const [loading, setLoading] = useState(false);\n const [qrReader, setQrReader] = useState(false);\n const { user } = useSelector((st) => st.auth);\n\n const sendBookCode = useCallback(() => {\n setLoading(true);\n\n HTTP.get(`/groups/validate-group-code/${value}/${auth.user.userId}`)\n .then((res) => {\n setLoading(false);\n closeModal();\n dispatch.userData.getUserBooks({ id: user.id });\n dispatch.ui.openSnackbar({ message: res.data.message, type: snackbarTypes.success });\n })\n .catch((error) => {\n setLoading(false);\n dispatch.ui.openSnackbar({ message: error.message, type: snackbarTypes.error });\n });\n }, [auth, closeModal, dispatch.ui, value, user.id, dispatch.userData]);\n\n const toggleQrCode = () => setQrReader((st) => !st);\n\n const handleError = (err) => {\n console.error(err);\n dispatch.ui.openSnackbar({\n message: err,\n type: snackbarTypes.error,\n });\n };\n\n const handleScan = (data) => {\n if (data) {\n setValue(data);\n toggleQrCode();\n }\n };\n\n return (\n
    \n setValue(e.target.value)}\n />\n\n \n {qrReader ? 'Ocultar lector' : 'Leer código QR'}\n \n\n {qrReader && (\n \n )}\n\n
    \n \n\n \n {loading ? 'Enviando' : 'Inscribirse'}\n {loading && (\n \n )}\n \n
    \n
    \n );\n};\n\nexport default StudentAddGroup;\n","import React, { useState, useCallback, useEffect } from \"react\";\nimport { string, object } from \"yup\";\nimport {\n Typography,\n Paper,\n TextField,\n Button,\n Select,\n MenuItem,\n FormControl,\n InputLabel,\n FormHelperText,\n} from \"@material-ui/core\";\nimport { nanoid } from \"nanoid\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { useSelector, shallowEqual, useDispatch } from \"react-redux\";\nimport HTTP from \"../../../axios\";\nimport { snackbarTypes } from \"../../../redux/models/ui\";\nimport { Formik, Form } from \"formik\";\nimport { statuses } from \"../../../constants\";\nimport { Alert } from \"../../../components\";\nimport { Utils } from \"../../../Utills\";\n\nconst groupsSchema = object().shape({\n groupName: string().required(\"El campo es requerido.\"),\n periodId: string().required(\"El campo es requerido.\"),\n campusId: string().required(\"El campo es requerido.\"),\n\n professorId: string().required(\"El campo es requerido.\"),\n editionId: string().required(\"El campo es requerido.\"),\n});\n\nconst GroupsForm = ({ handleCloseModal }) => {\n const auth = useSelector((state) => state.auth, shallowEqual);\n const { teachers, editions, campus, cycles } = useSelector(\n (st) => st.ui.bootstrapData\n );\n const { id } = useParams();\n\n const history = useHistory();\n const dispatch = useDispatch();\n\n const status = useSelector((st) => st.groups.status);\n\n const [group, setGroup] = useState(null);\n const [alert, setAlert] = useState(false);\n const [cycle, setCurrentCycle] = useState(null);\n // eslint-disable-next-line no-unused-vars\n const [close, setClose] = useState(true);\n\n // groupId\n // NAME-1-LC2-2020-A-3random\n // grupName+profID+editionTitle+cycleYear+cycleSemestre\n const handleSubmit = useCallback(\n (val) => {\n const {\n groupName,\n periodId,\n campusId,\n professorId,\n editionId,\n groupId,\n userId,\n } = val;\n const teacher =\n teachers && teachers.find((item) => item.id === professorId);\n const campusData = campus.find((item) => item.id === campusId);\n const edition = editions.find((item) => item.id === editionId);\n const cycle = cycles.find((item) => item.id === periodId);\n const code = `${groupName.replace(/\\s/g, \"\")}${professorId}${\n edition.name.split(\"_\")[0]\n }${cycle.year}A${nanoid(3).toUpperCase().replace(/-/g,'').replace(/_/g,'').replace(/I/g,'').replace(/l/g,'')}`;\n\n dispatch.crud.createUpdate({\n method: id ? \"put\" : \"post\",\n url: id ? `/groups/update-group/${id}` : \"/groups/create-group\",\n body: {\n groupName,\n periodId,\n campusId,\n professorId,\n groupId: id ? groupId : code,\n editionId,\n userId,\n isTeacher: Utils.isTeacher(auth.user.role.name, auth.roles),\n },\n crudId: \"groups\",\n afterFuncSuccess: async () => {\n history.push(\"/tpgroups/\");\n if (!id) {\n await HTTP.post(\"/groups/send-email-group\", {\n teacherName: teacher\n ? `${teacher.name} ${teacher.lastName}`\n : auth.user.name,\n teacherMail: teacher ? teacher.email : auth.user.email,\n groupName,\n campus: campusData.name,\n bookName: edition.bookInfo.name,\n editionName: edition.name,\n groupCode: code,\n });\n }\n },\n });\n },\n [auth, campus, cycles, dispatch.crud, editions, history, id, teachers]\n );\n\n const openAlert = (dirty) => {\n setClose(handleCloseModal);\n\n if (dirty) {\n setAlert(true);\n } else {\n history.push(\"/tpgroups\");\n }\n };\n\n const closeAlert = (res) => {\n if (res) {\n history.push(\"/tpgroups\");\n } else {\n setAlert(false);\n }\n };\n\n const onCreate = async (setVal) => {\n setClose(handleCloseModal);\n\n if (Utils.isTeacher(auth.user.role.name, auth.roles)) {\n setVal(\"professorId\", auth.user.teacherId);\n }\n };\n\n useEffect(() => {\n if (id) {\n const fetchData = async () => {\n try {\n const result = await HTTP.get(`/groups/group-by-id/${id}`);\n setGroup(result.data);\n } catch (error) {\n dispatch.ui.openSnackbar({\n message: error.message,\n type: snackbarTypes.error,\n });\n console.log(error);\n }\n };\n\n fetchData();\n }\n }, [auth, dispatch.ui, id]);\n\n useEffect(() => {\n if (cycles) {\n const r = [];\n const found = cycles.find((c) => c.active === 1);\n r.push(found);\n setCurrentCycle(r);\n }\n }, [cycles]);\n\n return (\n <>\n \n\n \n {id && group ? group.groupName : \"Nuevo grupo\"}\n \n\n \n
    \n handleSubmit(values)}\n initialValues={{\n groupName: (group && group.groupName) || \"\",\n periodId: (group && group.periodId) || \"\",\n campusId: (group && group.campusId) || \"\",\n professorId: (group && group.professorId) || \"\",\n groupId: (group && group.groupId) || \"\",\n editionId: (group && group.editionId) || \"\",\n userId:\n (group && group.userId) || (auth.user && auth.user.userId),\n }}\n >\n {({\n errors,\n touched,\n getFieldProps,\n values,\n dirty,\n setFieldValue,\n }) => (\n
    \n \n\n \n Ciclo escolar\n \n {cycle &&\n cycle.map((item) => (\n \n {item.year}\n \n ))}\n \n\n {!!(touched.periodId && errors.periodId) && (\n {errors.periodId}\n )}\n \n\n \n Plantel\n \n \n Ninguno\n \n\n {campus.map((item) => ((item.active) &&\n (\n {item.name}\n )\n ))}\n \n\n {!!(touched.campusId && errors.campusId) && (\n {errors.campusId}\n )}\n \n\n {(\n Utils.isPublisher(auth.user.role.name, auth.roles) ||\n Utils.isSuperAdmin(auth.user.role.name, auth.roles) ||\n Utils.isAdmin(auth.user.role.name, auth.roles )\n ) && (\n \n Maestro\n \n \n Ninguno\n \n {teachers.map((item) => (\n \n {item.name} {item.lastName}\n \n ))}\n \n\n {!!(touched.professorId && errors.professorId) && (\n {errors.professorId}\n )}\n \n )}\n\n \n Edición\n \n \n Ninguno\n \n {editions.map((item) => (\n \n {item.bookInfo.name}\n \n ))}\n \n\n {!!(touched.editionId && errors.editionId) && (\n {errors.editionId}\n )}\n \n\n
    \n \n\n onCreate(setFieldValue)}\n >\n {status === statuses.waiting ? \"Guardando\" : \"Guardar\"}\n \n
    \n \n )}\n \n
    \n
    \n \n );\n};\n\nexport default GroupsForm;\n","import { useState, useEffect } from \"react\";\nimport { useMounted } from \".\";\nimport { dispatch } from \"../redux/store\";\n\nexport const ITEMS_PER_PAGE = 50;\n\nconst useTable = (config) => {\n const [tState, setTableState] = useState({\n path: config.path,\n crudId: config.crudId,\n params: config.params ? { ...config.params } : null,\n disableFetch: config.disableFetch || false,\n });\n const mounted = useMounted();\n\n useEffect(() => {\n if (mounted && !tState.disableFetch) {\n dispatch.crud.fetchItems({\n params: tState.params,\n path: tState.path,\n crudId: tState.crudId,\n });\n }\n }, [mounted, tState]);\n\n const setParam = (name, value) => {\n setTableState((st) => ({ ...st, params: { ...st.params, [name]: value } }));\n };\n\n const changeSort = (key) => {\n const neworderType = tState.params.orderType === \"ASC\" ? \"DESC\" : \"ASC\";\n setParam(\"group\", key);\n setParam(\"orderType\", neworderType);\n };\n const refetch = (url) => {\n dispatch.crud.fetchItems({\n params: tState.params,\n path: url,\n crudId: tState.crudId,\n });\n };\n\n return { tState, setParam, changeSort, refetch };\n};\n\nexport default useTable;\n","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTCard = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n toggleSpeed: 400,\r\n sticky: {\r\n releseOnReverse: false,\r\n offset: 300,\r\n zIndex: 101\r\n }\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Construct\r\n */\r\n\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('card')) {\r\n the = KTUtil.data(element).get('card');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('card', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Init card\r\n */\r\n init: function(options) {\r\n the.element = element;\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n the.header = KTUtil.child(element, '.card-header');\r\n the.footer = KTUtil.child(element, '.card-footer');\r\n\r\n if (KTUtil.child(element, '.card-body')) {\r\n the.body = KTUtil.child(element, '.card-body');\r\n } else if (KTUtil.child(element, '.form')) {\r\n the.body = KTUtil.child(element, '.form');\r\n }\r\n },\r\n\r\n /**\r\n * Build Form Wizard\r\n */\r\n build: function() {\r\n // Remove\r\n var remove = KTUtil.find(the.header, '[data-card-tool=remove]');\r\n if (remove) {\r\n KTUtil.addEvent(remove, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.remove();\r\n });\r\n }\r\n\r\n // Reload\r\n var reload = KTUtil.find(the.header, '[data-card-tool=reload]');\r\n if (reload) {\r\n KTUtil.addEvent(reload, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.reload();\r\n });\r\n }\r\n\r\n // Toggle\r\n var toggle = KTUtil.find(the.header, '[data-card-tool=toggle]');\r\n if (toggle) {\r\n KTUtil.addEvent(toggle, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.toggle();\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Enable stickt mode\r\n */\r\n initSticky: function() {\r\n var lastScrollTop = 0;\r\n var offset = the.options.sticky.offset;\r\n\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n\t window.addEventListener('scroll', Plugin.onScrollSticky);\r\n },\r\n\r\n\t /**\r\n\t * Window scroll handle event for sticky card\r\n\t */\r\n\t onScrollSticky: function(e) {\r\n\t\t var offset = the.options.sticky.offset;\r\n\r\n\t\t if(isNaN(offset)) return;\r\n\r\n\t\t var st = KTUtil.getScrollTop();\r\n\r\n\t\t if (st >= offset && KTUtil.hasClass(body, 'card-sticky-on') === false) {\r\n\t\t\t Plugin.eventTrigger('stickyOn');\r\n\r\n\t\t\t KTUtil.addClass(body, 'card-sticky-on');\r\n\r\n\t\t\t Plugin.updateSticky();\r\n\r\n\t\t } else if ((st*1.5) <= offset && KTUtil.hasClass(body, 'card-sticky-on')) {\r\n\t\t\t // Back scroll mode\r\n\t\t\t Plugin.eventTrigger('stickyOff');\r\n\r\n\t\t\t KTUtil.removeClass(body, 'card-sticky-on');\r\n\r\n\t\t\t Plugin.resetSticky();\r\n\t\t }\r\n\t },\r\n\r\n updateSticky: function() {\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n var top;\r\n\r\n if (KTUtil.hasClass(body, 'card-sticky-on')) {\r\n if (the.options.sticky.position.top instanceof Function) {\r\n top = parseInt(the.options.sticky.position.top.call(this, the));\r\n } else {\r\n top = parseInt(the.options.sticky.position.top);\r\n }\r\n\r\n var left;\r\n if (the.options.sticky.position.left instanceof Function) {\r\n left = parseInt(the.options.sticky.position.left.call(this, the));\r\n } else {\r\n left = parseInt(the.options.sticky.position.left);\r\n }\r\n\r\n var right;\r\n if (the.options.sticky.position.right instanceof Function) {\r\n right = parseInt(the.options.sticky.position.right.call(this, the));\r\n } else {\r\n right = parseInt(the.options.sticky.position.right);\r\n }\r\n\r\n KTUtil.css(the.header, 'z-index', the.options.sticky.zIndex);\r\n KTUtil.css(the.header, 'top', top + 'px');\r\n KTUtil.css(the.header, 'left', left + 'px');\r\n KTUtil.css(the.header, 'right', right + 'px');\r\n }\r\n },\r\n\r\n resetSticky: function() {\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n if (KTUtil.hasClass(body, 'card-sticky-on') === false) {\r\n KTUtil.css(the.header, 'z-index', '');\r\n KTUtil.css(the.header, 'top', '');\r\n KTUtil.css(the.header, 'left', '');\r\n KTUtil.css(the.header, 'right', '');\r\n }\r\n },\r\n\r\n /**\r\n * Remove card\r\n */\r\n remove: function() {\r\n if (Plugin.eventTrigger('beforeRemove') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.remove(element);\r\n\r\n Plugin.eventTrigger('afterRemove');\r\n },\r\n\r\n /**\r\n * Set content\r\n */\r\n setContent: function(html) {\r\n if (html) {\r\n the.body.innerHTML = html;\r\n }\r\n },\r\n\r\n /**\r\n * Get body\r\n */\r\n getBody: function() {\r\n return the.body;\r\n },\r\n\r\n /**\r\n * Get self\r\n */\r\n getSelf: function() {\r\n return element;\r\n },\r\n\r\n /**\r\n * Reload\r\n */\r\n reload: function() {\r\n Plugin.eventTrigger('reload');\r\n },\r\n\r\n /**\r\n * Toggle\r\n */\r\n toggle: function() {\r\n if (KTUtil.hasClass(element, 'card-collapse') || KTUtil.hasClass(element, 'card-collapsed')) {\r\n Plugin.expand();\r\n } else {\r\n Plugin.collapse();\r\n }\r\n },\r\n\r\n /**\r\n * Collapse\r\n */\r\n collapse: function() {\r\n if (Plugin.eventTrigger('beforeCollapse') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.slideUp(the.body, the.options.toggleSpeed, function() {\r\n Plugin.eventTrigger('afterCollapse');\r\n });\r\n\r\n KTUtil.addClass(element, 'card-collapse');\r\n },\r\n\r\n /**\r\n * Expand\r\n */\r\n expand: function() {\r\n if (Plugin.eventTrigger('beforeExpand') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.slideDown(the.body, the.options.toggleSpeed, function() {\r\n Plugin.eventTrigger('afterExpand');\r\n });\r\n\r\n KTUtil.removeClass(element, 'card-collapse');\r\n KTUtil.removeClass(element, 'card-collapsed');\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name) {\r\n //KTUtil.triggerCustomEvent(name);\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the);\r\n }\r\n } else {\r\n return event.handler.call(this, the);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n\r\n return the;\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Remove card\r\n */\r\n the.remove = function() {\r\n return Plugin.remove(html);\r\n };\r\n\r\n /**\r\n * Init sticky card\r\n */\r\n the.initSticky = function() {\r\n return Plugin.initSticky();\r\n };\r\n\r\n /**\r\n * Rerender sticky layout\r\n */\r\n the.updateSticky = function() {\r\n return Plugin.updateSticky();\r\n };\r\n\r\n /**\r\n * Reset the sticky\r\n */\r\n the.resetSticky = function() {\r\n return Plugin.resetSticky();\r\n };\r\n\r\n\t/**\r\n\t * Destroy sticky card\r\n\t */\r\n\tthe.destroySticky = function() {\r\n\t\tPlugin.resetSticky();\r\n\t\twindow.removeEventListener('scroll', Plugin.onScrollSticky);\r\n\t};\r\n\r\n /**\r\n * Reload card\r\n */\r\n the.reload = function() {\r\n return Plugin.reload();\r\n };\r\n\r\n /**\r\n * Set card content\r\n */\r\n the.setContent = function(html) {\r\n return Plugin.setContent(html);\r\n };\r\n\r\n /**\r\n * Toggle card\r\n */\r\n the.toggle = function() {\r\n return Plugin.toggle();\r\n };\r\n\r\n /**\r\n * Collapse card\r\n */\r\n the.collapse = function() {\r\n return Plugin.collapse();\r\n };\r\n\r\n /**\r\n * Expand card\r\n */\r\n the.expand = function() {\r\n return Plugin.expand();\r\n };\r\n\r\n /**\r\n * Get cardbody\r\n * @returns {jQuery}\r\n */\r\n the.getBody = function() {\r\n return Plugin.getBody();\r\n };\r\n\r\n /**\r\n * Get cardbody\r\n * @returns {jQuery}\r\n */\r\n the.getSelf = function() {\r\n return Plugin.getSelf();\r\n };\r\n\r\n /**\r\n * Attach event\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n // Construct plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTCard;\r\n}\r\n\nexport default KTCard;","/* eslint-disable */\n\"use strict\";\n\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTScrolltop = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n offset: 300,\r\n speed: 6000\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Run plugin\r\n * @returns {mscrolltop}\r\n */\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('scrolltop')) {\r\n the = KTUtil.data(element).get('scrolltop');\r\n } else {\r\n // reset scrolltop\r\n Plugin.init(options);\r\n\r\n // build scrolltop\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('scrolltop', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles subscrolltop click toggle\r\n * @returns {mscrolltop}\r\n */\r\n init: function(options) {\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n },\r\n\r\n build: function() {\r\n var timer;\r\n\r\n window.addEventListener('scroll', function() {\r\n KTUtil.throttle(timer, function() {\r\n Plugin.handle();\r\n }, 200);\r\n });\r\n\r\n // handle button click\r\n KTUtil.addEvent(element, 'click', Plugin.scroll);\r\n },\r\n\r\n /**\r\n * Handles scrolltop click scrollTop\r\n */\r\n handle: function() {\r\n var pos = KTUtil.getScrollTop(); // current vertical position\r\n\r\n if (pos > the.options.offset) {\r\n if (body.hasAttribute('data-scrolltop') === false) {\r\n body.setAttribute('data-scrolltop', 'on');\r\n }\r\n } else {\r\n if (body.hasAttribute('data-scrolltop') === true) {\r\n body.removeAttribute('data-scrolltop');\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Handles scrolltop click scrollTop\r\n */\r\n scroll: function(e) {\r\n e.preventDefault();\r\n\r\n KTUtil.scrollTop(0, the.options.speed);\r\n },\r\n\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name, args) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the, args);\r\n }\r\n } else {\r\n return event.handler.call(this, the, args);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Get subscrolltop mode\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Set scrolltop content\r\n * @returns {mscrolltop}\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTScrolltop;\r\n}\r\n\nexport default KTScrolltop;","import * as utils from \"./LocalStorageHelpers\";\r\n\r\nconst localStorageLastLocationKey = \"metronic-lastLocation\";\r\n\r\nfunction acceptLocation(lastLocation) {\r\n if (\r\n lastLocation &&\r\n lastLocation.pathname &&\r\n lastLocation.pathname !== \"/\" &&\r\n lastLocation.pathname.indexOf(\"auth\") === -1 &&\r\n lastLocation.pathname !== \"/logout\"\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport function saveLastLocation(lastLocation) {\r\n if (acceptLocation(lastLocation)) {\r\n utils.setStorage(\r\n localStorageLastLocationKey,\r\n JSON.stringify(lastLocation),\r\n 120\r\n );\r\n }\r\n}\r\n\r\nexport function forgotLastLocation() {\r\n utils.removeStorage(localStorageLastLocationKey);\r\n}\r\n\r\nexport function getLastLocation() {\r\n const defaultLocation = { pathname: \"/\", title: \"Dashboard\"};\r\n const localStorateLocations = utils.getStorage(localStorageLastLocationKey);\r\n if (!localStorateLocations) {\r\n return { pathname: \"/\", title: \"Dashboard\"};\r\n }\r\n\r\n try {\r\n const result = JSON.parse(localStorateLocations);\r\n return result;\r\n } catch (error) {\r\n console.error(error);\r\n return defaultLocation;\r\n }\r\n}\r\n\r\nexport function getCurrentUrl(location) {\r\n return location.pathname.split(/[?#]/)[0];\r\n}\r\n\r\nexport function checkIsActive(location, url) {\r\n const current = getCurrentUrl(location);\r\n if (!current || !url) {\r\n return false;\r\n }\r\n\r\n if (current === url) {\r\n return true;\r\n }\r\n\r\n if (current.indexOf(url) > -1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n","/* Pagination Helprs */\r\nimport React from \"react\";\r\n\r\nexport const getPagesCount = (totalSize, sizePerPage) => {\r\n return Math.ceil(totalSize / sizePerPage);\r\n};\r\n\r\nexport const getPages = (page, pagesCount, paginationSize) => {\r\n const result = [];\r\n if (!page) {\r\n return result;\r\n }\r\n\r\n if (pagesCount === 1) {\r\n result.push(1);\r\n return result;\r\n }\r\n\r\n if (pagesCount < page) {\r\n return result;\r\n }\r\n\r\n if (pagesCount < paginationSize + 1) {\r\n for (let i = 1; i < pagesCount + 1; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n }\r\n\r\n if (page === 1) {\r\n for (let i = 1; i < paginationSize + 1; i++) {\r\n if (i < pagesCount) {\r\n result.push(i);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n if (page === pagesCount) {\r\n for (let i = pagesCount - paginationSize + 1; i <= pagesCount; i++) {\r\n if (i <= pagesCount) {\r\n result.push(i);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n const shiftCount = Math.floor(paginationSize / 2);\r\n if (shiftCount < 1) {\r\n result.push(page);\r\n return result;\r\n }\r\n\r\n //\r\n if (page < shiftCount + 2) {\r\n for (let i = 1; i < paginationSize + 1; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n }\r\n\r\n if (pagesCount - page < shiftCount + 2) {\r\n for (let i = pagesCount - paginationSize; i < pagesCount + 1; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n }\r\n\r\n for (let i = page - shiftCount; i < page; i++) {\r\n if (i > 0) {\r\n result.push(i);\r\n }\r\n }\r\n result.push(page);\r\n for (let i = page + 1; i < page + shiftCount + 1; i++) {\r\n if (i <= pagesCount) {\r\n result.push(i);\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport function getHandlerTableChange(setQueryParams) {\r\n return (type, { page, sizePerPage, sortField, sortOrder, data }) => {\r\n const pageNumber = page || 1;\r\n setQueryParams((prev) =>\r\n type === \"sort\"\r\n ? { ...prev, sortOrder, sortField }\r\n : type === \"pagination\"\r\n ? { ...prev, pageNumber, pageSize: sizePerPage }\r\n : prev\r\n );\r\n };\r\n}\r\n\r\nexport function PleaseWaitMessage({ entities }) {\r\n return <>{entities === null &&
    Please wait...
    };\r\n}\r\n\r\nexport function NoRecordsFoundMessage({ entities }) {\r\n const customersList = entities === null ? [] : entities;\r\n return (\r\n <>\r\n {customersList.length === 0 && entities !== null && (\r\n
    No records found
    \r\n )}\r\n \r\n );\r\n}\r\n","export * from \"./AssetsHelpers\";\r\nexport * from \"./LocalStorageHelpers\";\r\nexport * from \"./RouterHelpers\";\r\nexport * from \"./TablePaginationHelpers\";\r\nexport * from \"./TableRowSelectionHelpers\";\r\nexport * from \"./TableSortingHelpers\";","import React, { useMemo } from 'react';\r\nimport objectPath from 'object-path';\r\nimport { useHtmlClassService } from '../../_core/MetronicLayout';\r\nimport { Topbar } from './Topbar';\r\nimport { HeaderMenuWrapper } from './header-menu/HeaderMenuWrapper';\r\nimport { AnimateLoading } from '../../../_partials/controls';\r\n\r\nconst Header = () => {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n headerClasses: uiService.getClasses('header', true),\r\n headerAttributes: uiService.getAttributes('header'),\r\n headerContainerClasses: uiService.getClasses('header_container', true),\r\n menuHeaderDisplay: objectPath.get(uiService.config, 'header.menu.self.display'),\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/*begin::Header*/}\r\n \r\n {/*begin::Container*/}\r\n \r\n \r\n {/*begin::Header Menu Wrapper*/}\r\n {layoutProps.menuHeaderDisplay && }\r\n {!layoutProps.menuHeaderDisplay &&
    }\r\n {/*end::Header Menu Wrapper*/}\r\n\r\n {/*begin::Topbar*/}\r\n \r\n {/*end::Topbar*/}\r\n
    \r\n {/*end::Container*/}\r\n \r\n {/*end::Header*/}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Header);\r\n","import React, { useMemo } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport objectPath from 'object-path';\r\nimport SVG from 'react-inlinesvg';\r\nimport { useHtmlClassService } from '../../_core/MetronicLayout';\r\nimport { toAbsoluteUrl } from '../../../_helpers';\r\n\r\nconst Brand = () => {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n brandClasses: uiService.getClasses('brand', true),\r\n asideSelfMinimizeToggle: objectPath.get(uiService.config, 'aside.self.minimize.toggle'),\r\n headerLogo: uiService.getLogo(),\r\n headerStickyLogo: uiService.getStickyLogo(),\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/* begin::Brand */}\r\n
    \r\n {/* begin::Logo */}\r\n \r\n
    \r\n {process.env.REACT_APP_COMPANY_NAME}\r\n
    \r\n \r\n {/* end::Logo */}\r\n\r\n {layoutProps.asideSelfMinimizeToggle && (\r\n <>\r\n {/* begin::Toggle */}\r\n \r\n {/* end::Toolbar */}\r\n \r\n )}\r\n
    \r\n {/* end::Brand */}\r\n \r\n );\r\n}\r\n\r\nexport default React.memo(Brand);\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { useLocation, useHistory } from \"react-router\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl, checkIsActive } from \"../../../../_helpers\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { Utils } from \"../../../../../Utills\";\r\n\r\nconst AsideMenuList = ({ layoutProps }) => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const auth = useSelector((state) => state.auth);\r\n const location = useLocation();\r\n const getMenuItemActive = (url, hasSubmenu = false) => {\r\n return checkIsActive(location, url)\r\n ? ` ${!hasSubmenu && \"menu-item-active\"} menu-item-open `\r\n : \"\";\r\n };\r\n // CONTIENE LA AUTORIZACION PARA LAS RUTAS DE LOS SUPER ADMINS\r\n return (\r\n
      \r\n {/* SUPER ADMIN LINKS */}\r\n {auth.user.role &&\r\n auth.roles &&\r\n Utils.isSuperAdmin(auth.user.role.name, auth.roles) && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Inicio\r\n \r\n \r\n\r\n
    • \r\n

      Super Editor

      \r\n \r\n
    • \r\n\r\n \r\n \r\n \r\n \r\n \r\n Herramientas del Editor\r\n \r\n \r\n
      \r\n \r\n
        \r\n \r\n \r\n Herramientas de Editor\r\n \r\n \r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n Detalle de códigos\r\n \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n Generar códigos\r\n \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n Detalle de una cuenta\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Desinscribir Alumnos\r\n \r\n \r\n {/*end::2 Level*/}\r\n
      \r\n
      \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Libros\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Grupos\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Maestros\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Maestros App QR\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Ejercicios\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Colegios\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Contenido extra\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Audios\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Mantenimiento\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Ciclo Escolar\r\n \r\n \r\n \r\n )}\r\n {/* ADMIN LINKS */}\r\n {auth.user.role &&\r\n auth.roles &&\r\n Utils.isAdmin(auth.user.role.name, auth.roles) && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Inicio\r\n \r\n \r\n\r\n
    • \r\n

      Admin

      \r\n \r\n
    • \r\n\r\n \r\n \r\n \r\n \r\n \r\n Herramientas del Editor\r\n \r\n \r\n
      \r\n \r\n
        \r\n \r\n \r\n Herramientas de Editor\r\n \r\n \r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n Detalle de códigos\r\n \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n Detalle de una cuenta\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Desinscribir Alumnos\r\n \r\n \r\n {/*end::2 Level*/}\r\n
      \r\n \r\n \r\n \r\n \r\n \r\n Mantenimiento\r\n \r\n \r\n
      \r\n \r\n \r\n )}\r\n\r\n {/* PUBLISHER LINKS */}\r\n {auth.user.role &&\r\n auth.roles &&\r\n Utils.isPublisher(auth.user.role.name, auth.roles) && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Inicio\r\n \r\n \r\n\r\n
    • \r\n

      Editores

      \r\n \r\n
    • \r\n\r\n \r\n \r\n \r\n \r\n \r\n Herramientas del Editor\r\n \r\n \r\n
      \r\n \r\n
        \r\n \r\n \r\n Herramientas de Editor\r\n \r\n \r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n Detalle de códigos\r\n \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n Generar códigos\r\n \r\n \r\n {/*end::2 Level*/}\r\n\r\n {/*begin::2 Level*/}\r\n \r\n \r\n \r\n \r\n \r\n Detalle de una cuenta\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Desinscribir Alumnos\r\n \r\n \r\n {/*end::2 Level*/}\r\n
      \r\n
      \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Libros\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Grupos\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Maestros\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Ejercicios\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Colegios\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Contenido extra\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Audios\r\n \r\n \r\n \r\n )}\r\n\r\n {/* Writer LINKS */}\r\n {auth.user.role &&\r\n auth.roles &&\r\n Utils.isWriter(auth.user.role.name, auth.roles) && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Inicio\r\n \r\n \r\n\r\n
    • \r\n

      Escritores

      \r\n \r\n
    • \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Ejercicios\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Contenido extra\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Audios\r\n \r\n \r\n \r\n )}\r\n\r\n {/* STUDENTS LINKS */}\r\n {auth.user.role &&\r\n auth.roles &&\r\n Utils.isStudent(auth.user.role.name, auth.roles) && (\r\n <>\r\n {\r\n dispatch.ui.setSelectedEdition(\"\");\r\n dispatch.ui.setSelectedGroup(\"\");\r\n }}\r\n className={`menu-item ${getMenuItemActive(\"/back\", false)}`}\r\n aria-haspopup=\"true\"\r\n >\r\n
      \r\n \r\n \r\n \r\n Inicio\r\n
      \r\n \r\n\r\n
    • \r\n

      Alumnos

      \r\n \r\n
    • \r\n \r\n \r\n \r\n \r\n \r\n Tareas pendientes\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Libros\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n Tareas\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Ejercicios\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Exámenes\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Diagnóstico\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Contenido extra\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Audios\r\n \r\n \r\n \r\n )}\r\n\r\n {/* TEACHER LINKS */}\r\n {auth.user.role &&\r\n auth.roles &&\r\n Utils.isTeacher(auth.user.role.name, auth.roles) && (\r\n <>\r\n {\r\n dispatch.ui.setSelectedEdition();\r\n dispatch.ui.setSelectedGroup();\r\n dispatch.ui.setSelectedGroupName(null);\r\n dispatch.viewFiles.setPreviewFile(false);\r\n dispatch.viewFiles.getPosition(null);\r\n dispatch.viewFiles.getUser(null);\r\n history.push({pathname: '/', search: ''})\r\n }}\r\n className={`menu-item ${getMenuItemActive(\"/teachhome\", false)}`}\r\n aria-haspopup=\"true\"\r\n >\r\n
      \r\n \r\n \r\n \r\n Grupos\r\n
      \r\n \r\n\r\n
    • \r\n

      Maestros

      \r\n \r\n
    • \r\n\r\n \r\n \r\n \r\n \r\n \r\n Libros\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Calificar\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Reportes\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Tareas\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Ejercicios\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {process.env.REACT_APP_EXAMS_NAME}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Diagnóstico\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Contenido extra\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Audios\r\n \r\n \r\n\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default React.memo(AsideMenuList);\r\n","import React, { useMemo } from 'react';\r\nimport AsideMenuList from './AsideMenuList';\r\nimport { useHtmlClassService } from '../../../_core/MetronicLayout';\r\n\r\nconst AsideMenu = ({ disableScroll }) => {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n layoutConfig: uiService.config,\r\n asideMenuAttr: uiService.getAttributes('aside_menu'),\r\n ulClasses: uiService.getClasses('aside_menu_nav', true),\r\n asideClassesFromConfig: uiService.getClasses('aside_menu', true),\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/* begin::Menu Container */}\r\n \r\n \r\n \r\n {/* end::Menu Container */}\r\n \r\n );\r\n}\r\n\r\nexport default React.memo(AsideMenu);\r\n","import React, { useMemo } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport objectPath from 'object-path';\r\nimport Brand from '../brand/Brand';\r\nimport AsideMenu from './aside-menu/AsideMenu';\r\nimport { useHtmlClassService } from '../../_core/MetronicLayout';\r\n\r\nconst Aside = () => {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n disableScroll: objectPath.get(uiService.config, 'aside.menu.dropdown') === 'true' || false,\r\n asideClassesFromConfig: uiService.getClasses('aside', true),\r\n disableAsideSelfDisplay: objectPath.get(uiService.config, 'aside.self.display') === false,\r\n headerLogo: uiService.getLogo(),\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/* begin::Aside */}\r\n \r\n \r\n\r\n {/* begin::Aside Menu */}\r\n
    \r\n {layoutProps.disableAsideSelfDisplay && (\r\n <>\r\n {/* begin::Header Logo */}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {/* end::Header Logo */}\r\n \r\n )}\r\n\r\n \r\n
    \r\n {/* end::Aside Menu */}\r\n \r\n {/* end::Aside */}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Aside);\r\n","import React, { useMemo } from 'react';\r\nimport objectPath from 'object-path';\r\n// LayoutContext\r\nimport { useHtmlClassService } from '../_core/MetronicLayout';\r\n// Import Layout components\r\nimport Header from './header/Header';\r\nimport { HeaderMobile } from './header-mobile/HeaderMobile';\r\nimport Aside from './aside/Aside';\r\nimport { LayoutInit } from './LayoutInit';\r\nimport { SubHeader } from './subheader/SubHeader';\r\nimport { QuickUser } from './extras/offcanvas/QuickUser';\r\nimport { ScrollTop } from './extras/ScrollTop';\r\nimport { toAbsoluteUrl } from '../../_helpers';\r\n\r\nexport function Layout({ children }) {\r\n const uiService = useHtmlClassService();\r\n // Layout settings (cssClasses/cssAttributes)\r\n const layoutProps = useMemo(() => {\r\n return {\r\n layoutConfig: uiService.config,\r\n selfLayout: objectPath.get(uiService.config, 'self.layout'),\r\n asideDisplay: objectPath.get(uiService.config, 'aside.self.display'),\r\n subheaderDisplay: objectPath.get(uiService.config, 'subheader.display'),\r\n desktopHeaderDisplay: objectPath.get(uiService.config, 'header.self.fixed.desktop'),\r\n contentCssClasses: uiService.getClasses('content', true),\r\n contentContainerClasses: uiService.getClasses('content_container', true),\r\n contentExtended: objectPath.get(uiService.config, 'content.extended'),\r\n };\r\n }, [uiService]);\r\n\r\n return layoutProps.selfLayout !== 'blank' ? (\r\n <>\r\n {/*begin::Main*/}\r\n \r\n
    \r\n {/*begin::Page*/}\r\n
    \r\n {layoutProps.asideDisplay &&
    \r\n {/*end::Content*/}\r\n {/*
    */}\r\n
    \r\n {/*end::Wrapper*/}\r\n \r\n {/*end::Page*/}\r\n \r\n\r\n \r\n {/* */}\r\n\r\n \r\n {/* */}\r\n\r\n {/*end::Main*/}\r\n \r\n \r\n ) : (\r\n // BLANK LAYOUT\r\n
    {children}
    \r\n );\r\n}\r\n","import React, {useEffect, useState} from \"react\";\r\nimport {useRouteMatch} from \"react-router-dom\";\r\n\r\nexport function Content({ children }) {\r\n const match = useRouteMatch() || {};\r\n const animationEndClass = \"grid-animateContent-finished\";\r\n const [cssClassesState, setCssClassesState] = useState([\r\n \"grid-animateContent\",\r\n animationEndClass\r\n ]);\r\n\r\n useEffect(() => {\r\n // for animation start should toggle 'grid-animateContent-finished' css class\r\n // TODO: change useMemo\r\n const fullClasses = [...cssClassesState];\r\n const startAnimation = fullClasses.filter(el => el !== animationEndClass);\r\n setCssClassesState(startAnimation);\r\n const timeOutId = setTimeout(() => {\r\n setCssClassesState(fullClasses);\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(timeOutId);\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [match.url]);\r\n\r\n return <>{children};\r\n}\r\n","import React from \"react\";\r\nimport {Route} from \"react-router-dom\";\r\nimport {Content} from \"./Content\";\r\n\r\nexport function ContentRoute({ children, component, render, ...props }) {\r\n return (\r\n \r\n {routeProps => {\r\n if (typeof children === \"function\") {\r\n return {children(routeProps)};\r\n }\r\n\r\n if (!routeProps.match) {\r\n return null;\r\n }\r\n\r\n if (children) {\r\n return {children};\r\n }\r\n\r\n if (component) {\r\n return (\r\n {React.createElement(component, routeProps)}\r\n );\r\n }\r\n\r\n if (render) {\r\n return {render(routeProps)};\r\n }\r\n\r\n return null;\r\n }}\r\n \r\n );\r\n}\r\n","import React, {createContext, useContext, useState, useEffect} from \"react\";\r\n\r\nconst MetronicSplashScreenContext = createContext();\r\n\r\nexport function MetronicSplashScreenProvider({ children }) {\r\n const [count, setCount] = useState(0);\r\n let visible = count > 0;\r\n\r\n useEffect(() => {\r\n const splashScreen = document.getElementById(\"splash-screen\");\r\n\r\n // Show SplashScreen\r\n if (splashScreen && visible) {\r\n splashScreen.classList.remove(\"hidden\");\r\n\r\n return () => {\r\n splashScreen.classList.add(\"hidden\");\r\n };\r\n }\r\n\r\n // Hide SplashScreen\r\n let timeout;\r\n if (splashScreen && !visible) {\r\n timeout = setTimeout(() => {\r\n splashScreen.classList.add(\"hidden\");\r\n }, 3000);\r\n }\r\n\r\n return () => {\r\n clearTimeout(timeout);\r\n };\r\n }, [visible]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport function LayoutSplashScreen({ visible = true }) {\r\n // Everything are ready - remove splashscreen\r\n const setCount = useContext(MetronicSplashScreenContext);\r\n\r\n useEffect(() => {\r\n if (!visible) {\r\n return;\r\n }\r\n\r\n setCount(prev => {\r\n return prev + 1;\r\n });\r\n\r\n return () => {\r\n setCount(prev => {\r\n return prev - 1;\r\n });\r\n };\r\n }, [setCount, visible]);\r\n\r\n return null;\r\n}\r\n","import React from \"react\";\r\nimport {createMuiTheme, ThemeProvider} from \"@material-ui/core\";\r\n\r\nconst theme = createMuiTheme(\r\n /**\r\n * @see https://material-ui.com/customization/themes/#theme-configuration-variables\r\n */\r\n {\r\n // direction: \"rtl\",\r\n typography: {\r\n fontFamily: [\"Poppins\"].join(\",\")\r\n },\r\n\r\n palette: {\r\n primary: {\r\n // light: will be calculated from palette.primary.main,\r\n main: \"#D41820\",\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: \"#fff\" //will be calculated to contrast with palette.primary.main\r\n },\r\n secondary: {\r\n // light: will be calculated from palette.primary.main,\r\n main: \"#3783e7\",\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: \"#fff\" //will be calculated to contrast with palette.primary.main\r\n },\r\n error: {\r\n // light: will be calculated from palette.primary.main,\r\n main: \"#ef5350\",\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: \"#fff\" //will be calculated to contrast with palette.primary.main\r\n }\r\n },\r\n\r\n /**\r\n * @see https://material-ui.com/customization/globals/#default-props\r\n */\r\n props: {\r\n // Name of the component ⚛️\r\n MuiButtonBase: {\r\n // The properties to apply\r\n disableRipple: true // No more ripple, on the whole application 💣!\r\n },\r\n\r\n // Set default elevation to 1 for popovers.\r\n MuiPopover: {\r\n elevation: 1\r\n }\r\n }\r\n }\r\n);\r\n\r\nexport function MaterialThemeProvider(props) {\r\n const { children } = props;\r\n\r\n return {children};\r\n}\r\n","export {Layout} from \"./components/Layout\";\r\nexport {ContentRoute} from \"./components/content/ContentRoute\";\r\nexport {Content} from \"./components/content/Content\";\r\n\r\n// core\r\nexport * from \"./_core/LayoutConfig\";\r\nexport * from \"./_core/MetronicLayout\";\r\nexport * from \"./_core/MetronicSplashScreen\";\r\nexport * from \"./_core/MaterialThemeProvider\";\r\nexport * from \"./_core/MetronicSubheader\";\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\n\r\nexport function DropdownMenu1() {\r\n return (<>\r\n {/*begin::Navigation*/}\r\n \r\n {/*end::Navigation*/}\r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\n\r\nexport const DropdownCustomToggler = React.forwardRef((props, ref) => {\r\n return (\r\n {\r\n e.preventDefault();\r\n props.onClick(e);\r\n }}\r\n >\r\n {props.children}\r\n \r\n );\r\n});\r\n","import React from \"react\";\r\n\r\nexport const DropdownTopbarItemToggler = React.forwardRef((props, ref) => {\r\n return (\r\n {\r\n e.preventDefault();\r\n props.onClick(e);\r\n }}\r\n >\r\n {props.children}\r\n \r\n );\r\n});\r\n\r\nDropdownTopbarItemToggler.displayName = 'DropdownTopbarItemToggler';\r\n","// Dropdowns\r\nexport {DropdownMenu1} from \"./DropdownMenu1\";\r\nexport {DropdownMenu2} from \"./DropdownMenu2\";\r\nexport {DropdownMenu3} from \"./DropdownMenu3\";\r\nexport {DropdownMenu4} from \"./DropdownMenu4\";\r\n\r\nexport {DropdownCustomToggler} from \"./DropdownCustomToggler\";\r\nexport {DropdownTopbarItemToggler} from \"./DropdownTopbarItemToggler\";"],"sourceRoot":""}