{"version":3,"sources":["web.config","utils/highlight.js","redux/slices/mail.js","redux/slices/chat.js","redux/slices/blog.js","redux/slices/product.js","redux/slices/calendar.js","redux/slices/kanban.js","redux/rootReducer.js","redux/store.js","hooks/useResponsive.js","contexts/CollapseDrawerContext.js","components/ProgressBar.js","components/LoadingScreen.js","components/chart/ChartStyle.js","components/GoogleAnalytics.js","components/NotistackProvider.js","components/RtlLayout.js","components/ScrollToTop.js","theme/overrides/CustomIcons.js","theme/overrides/Rating.js","theme/overrides/index.js","theme/overrides/Fab.js","theme/overrides/Tabs.js","theme/overrides/Chip.js","theme/overrides/Card.js","theme/overrides/Menu.js","theme/overrides/Grid.js","theme/overrides/Link.js","theme/overrides/Input.js","theme/overrides/Radio.js","theme/overrides/Badge.js","theme/overrides/Lists.js","theme/overrides/Table.js","theme/overrides/Paper.js","theme/overrides/Alert.js","theme/overrides/Switch.js","theme/overrides/Select.js","theme/overrides/Button.js","theme/overrides/Dialog.js","theme/overrides/Avatar.js","theme/overrides/Slider.js","theme/overrides/Drawer.js","theme/overrides/Pickers.js","theme/overrides/Stepper.js","theme/overrides/Tooltip.js","theme/overrides/Popover.js","theme/overrides/SvgIcon.js","theme/overrides/Checkbox.js","theme/overrides/DataGrid.js","theme/overrides/Skeleton.js","theme/overrides/Timeline.js","theme/overrides/TreeView.js","theme/overrides/Backdrop.js","theme/overrides/Snackbar.js","theme/overrides/Progress.js","theme/overrides/Container.js","theme/overrides/Accordion.js","theme/overrides/IconButton.js","theme/overrides/Typography.js","theme/overrides/Pagination.js","theme/overrides/ButtonGroup.js","theme/overrides/Breadcrumbs.js","theme/overrides/Autocomplete.js","theme/overrides/ControlLabel.js","theme/overrides/ToggleButton.js","theme/overrides/LoadingButton.js","components/ThemeColorPresets.js","hooks/useLocales.js","components/ThemeLocalization.js","pages/orientation/O_WealthInstruction.js","guards/AuthGuard.js","hooks/useCollapseDrawer.js","layouts/dashboard/header/index.js","layouts/dashboard/index.js","layouts/orientation/MenuConfig.js","layouts/orientation/MenuDesktop.js","components/nav-section/NavItem.js","components/nav-section/NavList.js","components/nav-section/index.js","layouts/orientation/MenuMobile.js","layouts/orientation/MainHeader.js","hooks/useOffSetTop.js","layouts/orientation/index.js","routes/index.js","utils/getFontValue.js","theme/typography.js","theme/breakpoints.js","theme/shadows.js","theme/index.js","theme/globalStyles.js","App.js","serviceWorkerRegistration.js","reportWebVitals.js","index.js","utils/cssStyles.js","hooks/useAuth.js","hooks/useIsMountedRef.js","components/Page.js","utils/axios.js","hooks/useSettings.js","routes/paths.js","components/animate/MotionLazyContainer.js","utils/getColorPresets.js","contexts/SettingsContext.js","hooks/useLocalStorage.js","utils/jwt.js","contexts/JWTContext.js","config.js","components/Iconify.js","components/animate/variants/path.js","components/animate/variants/transition.js","components/animate/variants/fade.js","components/animate/variants/bounce.js","components/animate/variants/container.js","components/animate/IconButtonAnimate.js","components/animate/MotionContainer.js","components/Scrollbar.js","sections/auth/login/LoginForm.js","pages/auth/Login.js","theme/palette.js"],"names":["hljs","configure","languages","window","slice","createSlice","name","initialState","isLoading","error","mails","byId","allIds","labels","reducers","startLoading","state","hasError","action","payload","getLabelsSuccess","getMailsSuccess","array","key","reduce","accumulator","current","objFromArray","Object","keys","getMailSuccess","mail","id","includes","push","contacts","conversations","activeConversationId","participants","recipients","getContactsSuccess","getConversationsSuccess","getConversationSuccess","conversation","onSendMessage","conversationId","newMessage","messageId","body","message","contentType","attachments","createdAt","senderId","messages","markConversationAsReadSuccess","unreadCount","getParticipantsSuccess","resetActiveConversation","addRecipients","actions","posts","post","recentPosts","hasMore","index","step","getPostsSuccess","getPostsInitial","getMorePosts","setIndex","noHasMore","getPostSuccess","getRecentPostsSuccess","products","product","sortBy","filters","gender","category","colors","priceRange","rating","checkout","activeStep","cart","subtotal","total","discount","shipping","billing","getProductsSuccess","getProductSuccess","sortByProducts","filterProducts","getCart","sum","map","cartItem","price","quantity","length","addCart","isEmptyCart","_product","uniqBy","deleteCart","updateCart","filter","item","resetCart","onBackStep","onNextStep","onGotoStep","goToStep","increaseQuantity","productId","decreaseQuantity","createBilling","applyDiscount","applyShipping","events","isOpenModal","selectedEventId","selectedRange","getEventsSuccess","createEventSuccess","newEvent","updateEventSuccess","event","updateEvent","_event","deleteEventSuccess","eventId","deleteEvent","user","selectEvent","selectRange","start","end","openModal","closeModal","board","cards","columns","columnOrder","getBoardSuccess","createColumnSuccess","newColumn","persistCard","persistColumn","addTask","card","columnId","cardIds","deleteTask","cardId","omit","updateColumnSuccess","column","deleteColumnSuccess","deletedColumn","c","rootPersistConfig","storage","keyPrefix","whitelist","productPersistConfig","rootReducer","combineReducers","mailReducer","chat","chatReducer","blog","blogReducer","calendar","calendarReducer","kanban","kanbanReducer","persistReducer","productReducer","store","configureStore","reducer","middleware","getDefaultMiddleware","serializableCheck","immutableCheck","persistor","persistStore","dispatch","useAppSelector","useResponsive","query","theme","useTheme","mediaUp","useMediaQuery","breakpoints","up","mediaDown","down","mediaBetween","between","mediaOnly","only","collapseClick","collapseHover","onToggleCollapse","onHoverEnter","onHoverLeave","CollapseDrawerContext","createContext","CollapseDrawerProvider","children","isDesktop","useState","click","hover","collapse","setCollapse","useEffect","Provider","value","isCollapse","ProgressBarStyle","GlobalStyles","styles","pointerEvents","top","left","height","width","position","zIndex","snackbar","backgroundColor","palette","primary","main","boxShadow","right","opacity","display","transform","ProgressBar","NProgress","showSpinner","useMemo","done","RootStyle","styled","bottom","alignItems","justifyContent","background","default","LoadingScreen","isDashboard","other","sx","lg","DASHBOARD_NAVBAR_WIDTH","DASHBOARD_HEADER_DESKTOP","div","initial","rotateY","animate","transition","duration","ease","repeatDelay","repeat","Infinity","Box","component","m","scale","rotate","borderRadius","border","alpha","dark","ChartStyle","cssStyles","bgBlur","customShadows","z24","color","text","Number","shape","borderBottomColor","textAlign","fontWeight","typography","fontWeightBold","grey","mode","padding","marginRight","lineHeight","textTransform","GA_MEASUREMENT_ID","GOOGLE_ANALYTICS_API","GoogleAnalytics","async","src","SnackbarStyles","isLight","spacing","margin","z8","paper","fontWeightMedium","active","NotistackProvider","dense","maxSnack","autoHideDuration","anchorOrigin","vertical","horizontal","iconVariant","success","SnackbarIcon","icon","warning","info","mr","bgcolor","Iconify","RtlLayout","document","dir","direction","cacheRtl","createCache","stylisPlugins","rtlPlugin","ScrollToTop","pathname","useLocation","scrollTo","CloseIcon","props","SvgIcon","d","StarIcon","InfoIcon","WarningIcon","SuccessIcon","ErrorIcon","CheckboxIcon","CheckboxCheckedIcon","CheckboxIndeterminateIcon","InputSelectIcon","fontSize","TreeViewCollapseIcon","TreeViewExpandIcon","TreeViewEndIcon","ICON_SMALL","ICON_LARGE","ComponentsOverrides","assign","MuiFab","defaultProps","styleOverrides","root","secondary","extended","Fab","MuiTab","borderTopLeftRadius","borderTopRightRadius","minWidth","labelIcon","minHeight","flexDirection","marginBottom","wrapper","whiteSpace","textColorInherit","MuiTabPanel","MuiTabScrollButton","Tabs","MuiChip","deleteIcon","colorDefault","outlined","borderColor","avatarColorInfo","contrastText","avatarColorSuccess","avatarColorWarning","avatarColorError","Chip","MuiCard","common","black","z12","MuiCardHeader","titleTypographyProps","variant","subheaderTypographyProps","marginTop","MuiCardContent","Card","MuiMenuItem","selected","Menu","MuiGrid","MuiLink","underline","MuiInputBase","disabled","input","MuiInput","MuiFilledInput","focus","disabledBackground","MuiOutlinedInput","Input","MuiRadio","svg","Radio","MuiBadge","dot","MuiListItemIcon","MuiListItemAvatar","MuiListItemText","multiline","Lists","MuiTableRow","MuiTableCell","borderBottom","head","neutral","paddingLeft","borderBottomLeftRadius","paddingRight","borderBottomRightRadius","stickyHeader","backgroundImage","MuiTablePagination","borderTop","divider","toolbar","select","selectIcon","Table","MuiPaper","elevation","variants","style","Paper","standardStyle","filledStyle","outlinedStyle","MuiAlert","iconMapping","marginLeft","standardInfo","standardSuccess","standardWarning","standardError","filledInfo","filledSuccess","filledWarning","filledError","outlinedInfo","outlinedSuccess","outlinedWarning","outlinedError","Alert","MuiSwitch","thumb","z1","track","switchBase","Switch","MuiSelect","IconComponent","MuiButton","sizeLarge","containedInherit","containedPrimary","containedSecondary","containedInfo","containedSuccess","containedWarning","containedError","outlinedInherit","textInherit","Button","MuiRating","emptyIcon","iconEmpty","sizeSmall","Rating","MuiDialog","maxWidth","paperFullWidth","MuiDialogTitle","MuiDialogContent","MuiDialogActions","Dialog","MuiAvatar","MuiAvatarGroup","avatar","lighter","Avatar","MuiSlider","size","markLabel","valueLabel","Slider","MuiDrawer","modal","Drawer","MuiStepConnector","line","Stepper","MuiTooltip","tooltip","arrow","Tooltip","MuiPopover","Popover","MuiSvgIcon","fontSizeSmall","fontSizeLarge","MuiCheckbox","checkedIcon","indeterminateIcon","Checkbox","MuiDataGrid","MuiGridMenu","z20","body2","MuiGridFilterForm","MuiGridPanelFooter","white","DataGrid","MuiSkeleton","animation","Skeleton","MuiTimelineDot","MuiTimelineConnector","Timeline","MuiTreeView","defaultCollapseIcon","defaultExpandIcon","defaultEndIcon","MuiTreeItem","label","iconContainer","TreeView","varLow","varHigh","MuiBackdrop","Backdrop","MuiSnackbarContent","MuiLinearProgress","overflow","bar","colorPrimary","buffer","Progress","MuiContainer","MuiAccordion","MuiAccordionSummary","expandIconWrapper","Accordion","MuiIconButton","MuiTypography","paragraph","gutterBottom","Typography","MuiPaginationItem","textPrimary","outlinedPrimary","Pagination","styleContained","MuiButtonGroup","ButtonGroup","MuiBreadcrumbs","separator","Breadcrumbs","MuiAutocomplete","Autocomplete","MuiFormControlLabel","MuiFormHelperText","MuiFormLabel","ControlLabel","hoverOpacity","MuiToggleButton","MuiToggleButtonGroup","ToggleButton","MuiLoadingButton","ThemeColorPresets","defaultTheme","setColor","useSettings","themeOptions","createTheme","components","componentsOverride","ThemeProvider","LANGS","systemValue","enUS","deDE","frFR","ThemeLocalization","currentLang","useTranslation","i18n","translate","t","langStorage","localStorage","getItem","onChangeLang","newlang","changeLanguage","find","_lang","allLang","useLocales","HeaderStyle","ContentStyle","buttonStyles","makeStyles","loadingButton","OWealthInstruction","navigate","useNavigate","btnClass","Page","title","p","px","listStyleType","flex","type","className","onClick","AuthGuard","useAuth","isAuthenticated","isInitialized","requestedLocation","setRequestedLocation","Login","to","useCollapseDrawer","useContext","AppBar","shouldForwardProp","prop","transitions","create","shorter","ToolbarStyle","Toolbar","DASHBOARD_HEADER_MOBILE","DashboardHeader","onOpenSidebar","logout","isMountedRef","useIsMountedRef","enqueueSnackbar","useSnackbar","handleLogout","a","console","ID","GOAL","GOAL_NUM","WeeklyGoals","setWeeklyGoals","formattedDate","moment","Date","format","toString","split","axios","get","headers","then","response","data","GOAL_TITLE","GOAL_TYPE","WorshipGoals","setWorshipGoals","EducationGoals","setEducationGoals","AffluenceGoals","setAffluenceGoals","LifestyleGoals","setLifestyleGoals","TeamGoals","setTeamGoals","HealthGoals","setHealthGoals","href","target","rel","alt","flexGrow","Stack","xs","sm","MenuItem","py","gradient","pauseOnHover","MainStyle","paddingTop","paddingBottom","DASHBOARD_NAVBAR_COLLAPSE_WIDTH","DashboardLayout","ICON_SIZE","menuConfig","path","cursor","LinkStyle","Link","subtitle2","textDecoration","ListItemStyle","ListItem","MenuDesktop","isOffset","isHome","navConfig","open","setOpen","handleClose","handleOpen","link","MenuDesktopItem","isOpen","onOpen","onClose","IconBullet","ml","anchorReference","anchorPosition","transformOrigin","PaperProps","pt","pb","values","container","list","subheader","items","md","List","disablePadding","ListSubheader","disableSticky","disableGutters","RouterLink","CardActionArea","img","whileTap","whileHover","tap","ListItemButton","activeRoot","activeSub","subItem","DASHBOARD_NAVBAR_ROOT_ITEM_HEIGHT","selectedOpacity","DASHBOARD_NAVBAR_SUB_ITEM_HEIGHT","ListItemTextStyle","ListItemText","ListItemIconStyle","ListItemIcon","DASHBOARD_NAVBAR_ICON_ITEM_SIZE","NavItemRoot","renderContent","disableTypography","ArrowIcon","NavItemSub","DotIcon","getActive","matchPath","NavListRoot","Collapse","in","timeout","unmountOnExit","NavListSub","pl","ListSubheaderStyle","overline","NavSection","group","MenuMobile","drawerOpen","setDrawerOpen","handleDrawerClose","ModalProps","keepMounted","Scrollbar","MenuMobileItem","backgroundSize","backgroundPosition","backgroundRepeat","MAIN_HEADER_MOBILE","easing","easeInOut","MAIN_HEADER_DESKTOP","ToolbarShadowStyle","MainHeader","offsetTop","setOffSetTop","isTop","onscroll","pageYOffset","useOffSetTop","firstName","OrientationLayout","Loadable","Component","fallback","Router","useRoutes","element","Register","ResetPassword","Recover","OVision","OTutorial","ODailyHabits","OWorshipGoals","OEducationGoals","OAffluenceGoals","OLifestyleGoals","OTeamGoals","OHealthGoals","replace","GeneralApp","Page500","NotFound","lazy","pxToRem","responsiveFontSizes","fontFamily","fontWeightRegular","h1","letterSpacing","h2","h3","h4","h5","h6","subtitle1","body1","caption","button","xl","LIGHT_MODE","light","DARK_MODE","createShadow","transparent1","transparent2","transparent3","createCustomShadow","transparent","z16","shadows","themeMode","themeDirection","StyledEngineProvider","injectFirst","CssBaseline","boxSizing","html","WebkitOverflowScrolling","MozAppearance","WebkitAppearance","textarea","App","MotionLazyContainer","Boolean","location","hostname","match","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","loading","LocalizationProvider","dateAdapter","AdapterDateFns","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","getDirection","blur","backdropFilter","WebkitBackdropFilter","bgGradient","startColor","endColor","bgImage","url","AuthContext","isMounted","useRef","forwardRef","ref","axiosInstance","baseURL","HOST_API","interceptors","use","Promise","reject","SettingsContext","sublink","ROOTS_AUTH","ROOTS_DASHBOARD","PATH_AUTH","login","loginUnprotected","register","registerUnprotected","resetPassword","verify","loadFeatures","res","strict","features","colorPresets","darker","defaultPreset","purplePreset","cyanPreset","bluePreset","orangePreset","redPreset","defaultSettings","onChangeMode","onToggleMode","onChangeDirection","onChangeColor","onToggleStretch","onResetSetting","colorOption","SettingsProvider","presetsKey","defaultValue","storedValue","JSON","parse","setValue","listener","e","storageArea","newValue","addEventListener","removeEventListener","currentValue","result","setItem","stringify","useLocalStorage","themeColorPresets","themeStretch","settings","setSettings","purple","cyan","blue","orange","red","isValidToken","accessToken","decoded","jwtDecode","currentTime","now","exp","setSession","defaults","Authorization","removeItem","setLoginInfo","orientationComplete","lastlogin","startedchallenge","handlers","INITIALIZE","LOGIN","LOGOUT","REGISTER","ORIENTATIONPOST","method","resolve","orientationPOST","AuthProvider","useReducer","initialize","email","password","orientationcomplete","firstname","lastName","phoneNumber","birthday","zipCode","aspectArray","endpoint","cleanBody","updateProfile","process","REACT_APP_FIREBASE_API_KEY","REACT_APP_FIREBASE_AUTH_DOMAIN","REACT_APP_FIREBASE_DATABASE_URL","REACT_APP_FIREBASE_PROJECT_ID","REACT_APP_FIREBASE_STORAGE_BUCKET","REACT_APP_FIREBASE_MESSAGING_SENDER_ID","REACT_APP_FIREBASE_APPID","REACT_APP_FIREBASE_MEASUREMENT_ID","REACT_APP_AWS_COGNITO_USER_POOL_ID","REACT_APP_AWS_COGNITO_CLIENT_ID","REACT_APP_AUTH0_CLIENT_ID","REACT_APP_AUTH0_DOMAIN","REACT_APP_MAPBOX","REACT_APP_GA_MEASUREMENT_ID","DRAWER_WIDTH","Icon","varTranEnter","durationIn","easeIn","varTranExit","durationOut","easeOut","varFade","distance","exit","inUp","y","inDown","inLeft","x","inRight","out","outUp","outDown","outLeft","outRight","varBounce","scaleY","scaleX","varContainer","staggerChildren","staggerIn","delayChildren","staggerDirection","IconButtonAnimate","IconButton","propTypes","PropTypes","node","isRequired","oneOf","varSmall","varMedium","varLarge","AnimateWrap","isSmall","isLarge","MotionContainer","SimpleBarStyle","SimpleBarReact","maxHeight","userAgent","test","overflowX","clickOnTrack","LoginForm","closeSnackbar","showPassword","setShowPassword","LoginSchema","Yup","required","formik","useFormik","initialValues","remember","validationSchema","onSubmit","setErrors","setSubmitting","resetForm","toLocaleDateString","alert","afterSubmit","errors","touched","isSubmitting","handleSubmit","getFieldProps","autoComplete","noValidate","severity","TextField","fullWidth","helperText","InputProps","endAdornment","InputAdornment","show","edge","my","FormControlLabel","control","checked","LoadingButton","Container","mb","align","mt","createGradient","color1","color2","PRIMARY","INFO","SUCCESS","WARNING","ERROR","GREY","GRADIENTS","COMMON","gradients","chart","violet","green","yellow","disabledOpacity"],"mappings":"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","file":"static/js/main.6298ba69.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/web.22f69d11.config\";","import hljs from 'highlight.js';\nimport 'highlight.js/styles/atom-one-dark.css';\n\n// ----------------------------------------------------------------------\n\nhljs.configure({\n languages: ['javascript', 'jsx', 'sh', 'bash', 'html', 'scss', 'css', 'json']\n});\n\nwindow.hljs = hljs;\n","import { createSlice } from '@reduxjs/toolkit';\n// utils\nimport axios from '../../utils/axios';\n//\nimport { dispatch } from '../store';\n\n// ----------------------------------------------------------------------\n\nfunction objFromArray(array, key = 'id') {\n return array.reduce((accumulator, current) => {\n accumulator[current[key]] = current;\n return accumulator;\n }, {});\n}\n\nconst initialState = {\n isLoading: false,\n error: null,\n mails: { byId: {}, allIds: [] },\n labels: [],\n};\n\nconst slice = createSlice({\n name: 'mail',\n initialState,\n reducers: {\n // START LOADING\n startLoading(state) {\n state.isLoading = true;\n },\n\n // HAS ERROR\n hasError(state, action) {\n state.isLoading = false;\n state.error = action.payload;\n },\n\n // GET LABELS\n getLabelsSuccess(state, action) {\n state.isLoading = false;\n state.labels = action.payload;\n },\n\n // GET MAILS\n getMailsSuccess(state, action) {\n const mails = action.payload;\n\n state.isLoading = false;\n state.mails.byId = objFromArray(mails);\n state.mails.allIds = Object.keys(state.mails.byId);\n },\n\n // GET MAIL\n getMailSuccess(state, action) {\n const mail = action.payload;\n\n state.mails.byId[mail.id] = mail;\n if (!state.mails.allIds.includes(mail.id)) {\n state.mails.allIds.push(mail.id);\n }\n },\n },\n});\n\n// Reducer\nexport default slice.reducer;\n\n// ----------------------------------------------------------------------\n\nexport function getLabels() {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/mail/labels');\n dispatch(slice.actions.getLabelsSuccess(response.data.labels));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function getMails(params) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/mail/mails', { params });\n dispatch(slice.actions.getMailsSuccess(response.data.mails));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function getMail(mailId) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/mail/mail', {\n params: { mailId },\n });\n dispatch(slice.actions.getMailSuccess(response.data.mail));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n","import { createSlice } from '@reduxjs/toolkit';\n// utils\nimport axios from '../../utils/axios';\n//\nimport { dispatch } from '../store';\n\n// ----------------------------------------------------------------------\n\nfunction objFromArray(array, key = 'id') {\n return array.reduce((accumulator, current) => {\n accumulator[current[key]] = current;\n return accumulator;\n }, {});\n}\n\nconst initialState = {\n isLoading: false,\n error: null,\n contacts: { byId: {}, allIds: [] },\n conversations: { byId: {}, allIds: [] },\n activeConversationId: null,\n participants: [],\n recipients: [],\n};\n\nconst slice = createSlice({\n name: 'chat',\n initialState,\n reducers: {\n // START LOADING\n startLoading(state) {\n state.isLoading = true;\n },\n\n // HAS ERROR\n hasError(state, action) {\n state.isLoading = false;\n state.error = action.payload;\n },\n\n // GET CONTACT SSUCCESS\n getContactsSuccess(state, action) {\n const contacts = action.payload;\n\n state.contacts.byId = objFromArray(contacts);\n state.contacts.allIds = Object.keys(state.contacts.byId);\n },\n\n // GET CONVERSATIONS\n getConversationsSuccess(state, action) {\n const conversations = action.payload;\n\n state.conversations.byId = objFromArray(conversations);\n state.conversations.allIds = Object.keys(state.conversations.byId);\n },\n\n // GET CONVERSATION\n getConversationSuccess(state, action) {\n const conversation = action.payload;\n\n if (conversation) {\n state.conversations.byId[conversation.id] = conversation;\n state.activeConversationId = conversation.id;\n if (!state.conversations.allIds.includes(conversation.id)) {\n state.conversations.allIds.push(conversation.id);\n }\n } else {\n state.activeConversationId = null;\n }\n },\n\n // ON SEND MESSAGE\n onSendMessage(state, action) {\n const conversation = action.payload;\n const { conversationId, messageId, message, contentType, attachments, createdAt, senderId } = conversation;\n\n const newMessage = {\n id: messageId,\n body: message,\n contentType,\n attachments,\n createdAt,\n senderId,\n };\n\n state.conversations.byId[conversationId].messages.push(newMessage);\n },\n\n markConversationAsReadSuccess(state, action) {\n const { conversationId } = action.payload;\n const conversation = state.conversations.byId[conversationId];\n if (conversation) {\n conversation.unreadCount = 0;\n }\n },\n\n // GET PARTICIPANTS\n getParticipantsSuccess(state, action) {\n const participants = action.payload;\n state.participants = participants;\n },\n\n // RESET ACTIVE CONVERSATION\n resetActiveConversation(state) {\n state.activeConversationId = null;\n },\n\n addRecipients(state, action) {\n const recipients = action.payload;\n state.recipients = recipients;\n },\n },\n});\n\n// Reducer\nexport default slice.reducer;\n\n// Actions\nexport const { addRecipients, onSendMessage, resetActiveConversation } = slice.actions;\n\n// ----------------------------------------------------------------------\n\nexport function getContacts() {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/chat/contacts');\n dispatch(slice.actions.getContactsSuccess(response.data.contacts));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function getConversations() {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/chat/conversations');\n dispatch(slice.actions.getConversationsSuccess(response.data.conversations));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function getConversation(conversationKey) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/chat/conversation', {\n params: { conversationKey },\n });\n dispatch(slice.actions.getConversationSuccess(response.data.conversation));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function markConversationAsRead(conversationId) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n await axios.get('/api/chat/conversation/mark-as-seen', {\n params: { conversationId },\n });\n dispatch(slice.actions.markConversationAsReadSuccess({ conversationId }));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function getParticipants(conversationKey) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/chat/participants', {\n params: { conversationKey },\n });\n dispatch(slice.actions.getParticipantsSuccess(response.data.participants));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n","import { createSlice } from '@reduxjs/toolkit';\n// utils\nimport axios from '../../utils/axios';\n//\nimport { dispatch } from '../store';\n\n// ----------------------------------------------------------------------\n\nconst initialState = {\n isLoading: false,\n error: null,\n posts: [],\n post: null,\n recentPosts: [],\n hasMore: true,\n index: 0,\n step: 11,\n};\n\nconst slice = createSlice({\n name: 'blog',\n initialState,\n reducers: {\n // START LOADING\n startLoading(state) {\n state.isLoading = true;\n },\n\n // HAS ERROR\n hasError(state, action) {\n state.isLoading = false;\n state.error = action.payload;\n },\n\n // GET POSTS\n getPostsSuccess(state, action) {\n state.isLoading = false;\n state.posts = action.payload;\n },\n\n // GET POST INFINITE\n getPostsInitial(state, action) {\n state.isLoading = false;\n state.posts = action.payload;\n },\n\n getMorePosts(state) {\n const setIndex = state.index + state.step;\n state.index = setIndex;\n },\n\n noHasMore(state) {\n state.hasMore = false;\n },\n\n // GET POST\n getPostSuccess(state, action) {\n state.isLoading = false;\n state.post = action.payload;\n },\n\n // GET RECENT POST\n getRecentPostsSuccess(state, action) {\n state.isLoading = false;\n state.recentPosts = action.payload;\n },\n },\n});\n\n// Reducer\nexport default slice.reducer;\n\n// Actions\nexport const { getMorePosts } = slice.actions;\n\n// ----------------------------------------------------------------------\n\nexport function getAllPosts() {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/blog/posts/all');\n dispatch(slice.actions.getPostsSuccess(response.data.posts));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function getPostsInitial(index, step) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/blog/posts', {\n params: { index, step },\n });\n const results = response.data.results.length;\n const { maxLength } = response.data;\n\n dispatch(slice.actions.getPostsInitial(response.data.results));\n\n if (results >= maxLength) {\n dispatch(slice.actions.noHasMore());\n }\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function getPost(title) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/blog/post', {\n params: { title },\n });\n dispatch(slice.actions.getPostSuccess(response.data.post));\n } catch (error) {\n console.error(error);\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function getRecentPosts(title) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/blog/posts/recent', {\n params: { title },\n });\n\n dispatch(slice.actions.getRecentPostsSuccess(response.data.recentPosts));\n } catch (error) {\n console.error(error);\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n","import { createSlice } from '@reduxjs/toolkit';\nimport { sum, map, filter, uniqBy } from 'lodash';\n// utils\nimport axios from '../../utils/axios';\n//\nimport { dispatch } from '../store';\n\n// ----------------------------------------------------------------------\n\nconst initialState = {\n isLoading: false,\n error: null,\n products: [],\n product: null,\n sortBy: null,\n filters: {\n gender: [],\n category: 'All',\n colors: [],\n priceRange: '',\n rating: '',\n },\n checkout: {\n activeStep: 0,\n cart: [],\n subtotal: 0,\n total: 0,\n discount: 0,\n shipping: 0,\n billing: null,\n },\n};\n\nconst slice = createSlice({\n name: 'product',\n initialState,\n reducers: {\n // START LOADING\n startLoading(state) {\n state.isLoading = true;\n },\n\n // HAS ERROR\n hasError(state, action) {\n state.isLoading = false;\n state.error = action.payload;\n },\n\n // GET PRODUCTS\n getProductsSuccess(state, action) {\n state.isLoading = false;\n state.products = action.payload;\n },\n\n // GET PRODUCT\n getProductSuccess(state, action) {\n state.isLoading = false;\n state.product = action.payload;\n },\n\n // SORT & FILTER PRODUCTS\n sortByProducts(state, action) {\n state.sortBy = action.payload;\n },\n\n filterProducts(state, action) {\n state.filters.gender = action.payload.gender;\n state.filters.category = action.payload.category;\n state.filters.colors = action.payload.colors;\n state.filters.priceRange = action.payload.priceRange;\n state.filters.rating = action.payload.rating;\n },\n\n // CHECKOUT\n getCart(state, action) {\n const cart = action.payload;\n\n const subtotal = sum(cart.map((cartItem) => cartItem.price * cartItem.quantity));\n const discount = cart.length === 0 ? 0 : state.checkout.discount;\n const shipping = cart.length === 0 ? 0 : state.checkout.shipping;\n const billing = cart.length === 0 ? null : state.checkout.billing;\n\n state.checkout.cart = cart;\n state.checkout.discount = discount;\n state.checkout.shipping = shipping;\n state.checkout.billing = billing;\n state.checkout.subtotal = subtotal;\n state.checkout.total = subtotal - discount;\n },\n\n addCart(state, action) {\n const product = action.payload;\n const isEmptyCart = state.checkout.cart.length === 0;\n\n if (isEmptyCart) {\n state.checkout.cart = [...state.checkout.cart, product];\n } else {\n state.checkout.cart = map(state.checkout.cart, (_product) => {\n const isExisted = _product.id === product.id;\n if (isExisted) {\n return {\n ..._product,\n quantity: _product.quantity + 1,\n };\n }\n return _product;\n });\n }\n state.checkout.cart = uniqBy([...state.checkout.cart, product], 'id');\n },\n\n deleteCart(state, action) {\n const updateCart = filter(state.checkout.cart, (item) => item.id !== action.payload);\n\n state.checkout.cart = updateCart;\n },\n\n resetCart(state) {\n state.checkout.activeStep = 0;\n state.checkout.cart = [];\n state.checkout.total = 0;\n state.checkout.subtotal = 0;\n state.checkout.discount = 0;\n state.checkout.shipping = 0;\n state.checkout.billing = null;\n },\n\n onBackStep(state) {\n state.checkout.activeStep -= 1;\n },\n\n onNextStep(state) {\n state.checkout.activeStep += 1;\n },\n\n onGotoStep(state, action) {\n const goToStep = action.payload;\n state.checkout.activeStep = goToStep;\n },\n\n increaseQuantity(state, action) {\n const productId = action.payload;\n const updateCart = map(state.checkout.cart, (product) => {\n if (product.id === productId) {\n return {\n ...product,\n quantity: product.quantity + 1,\n };\n }\n return product;\n });\n\n state.checkout.cart = updateCart;\n },\n\n decreaseQuantity(state, action) {\n const productId = action.payload;\n const updateCart = map(state.checkout.cart, (product) => {\n if (product.id === productId) {\n return {\n ...product,\n quantity: product.quantity - 1,\n };\n }\n return product;\n });\n\n state.checkout.cart = updateCart;\n },\n\n createBilling(state, action) {\n state.checkout.billing = action.payload;\n },\n\n applyDiscount(state, action) {\n const discount = action.payload;\n state.checkout.discount = discount;\n state.checkout.total = state.checkout.subtotal - discount;\n },\n\n applyShipping(state, action) {\n const shipping = action.payload;\n state.checkout.shipping = shipping;\n state.checkout.total = state.checkout.subtotal - state.checkout.discount + shipping;\n },\n },\n});\n\n// Reducer\nexport default slice.reducer;\n\n// Actions\nexport const {\n getCart,\n addCart,\n resetCart,\n onGotoStep,\n onBackStep,\n onNextStep,\n deleteCart,\n createBilling,\n applyShipping,\n applyDiscount,\n increaseQuantity,\n decreaseQuantity,\n sortByProducts,\n filterProducts,\n} = slice.actions;\n\n// ----------------------------------------------------------------------\n\nexport function getProducts() {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/products');\n dispatch(slice.actions.getProductsSuccess(response.data.products));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function getProduct(name) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/products/product', {\n params: { name },\n });\n dispatch(slice.actions.getProductSuccess(response.data.product));\n } catch (error) {\n console.error(error);\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n","import { map, filter } from 'lodash';\nimport { createSlice } from '@reduxjs/toolkit';\n// utils\nimport axios from '../../utils/axios';\n//\nimport { dispatch } from '../store';\n\n// ----------------------------------------------------------------------\n\nconst initialState = {\n isLoading: false,\n error: null,\n events: [],\n isOpenModal: false,\n selectedEventId: null,\n selectedRange: null,\n};\n\nconst slice = createSlice({\n name: 'calendar',\n initialState,\n reducers: {\n // START LOADING\n startLoading(state) {\n state.isLoading = true;\n },\n\n // HAS ERROR\n hasError(state, action) {\n state.isLoading = false;\n state.error = action.payload;\n },\n\n // GET EVENTS\n getEventsSuccess(state, action) {\n state.isLoading = false;\n state.events = action.payload;\n },\n\n // CREATE EVENT\n createEventSuccess(state, action) {\n const newEvent = action.payload;\n state.isLoading = false;\n state.events = [...state.events, newEvent];\n },\n\n // UPDATE EVENT\n updateEventSuccess(state, action) {\n const event = action.payload;\n const updateEvent = map(state.events, (_event) => {\n if (_event.id === event.id) {\n return event;\n }\n return _event;\n });\n\n state.isLoading = false;\n state.events = updateEvent;\n },\n\n // DELETE EVENT\n deleteEventSuccess(state, action) {\n const { eventId } = action.payload;\n const deleteEvent = filter(state.events, (user) => user.id !== eventId);\n state.events = deleteEvent;\n },\n\n // SELECT EVENT\n selectEvent(state, action) {\n const eventId = action.payload;\n state.isOpenModal = true;\n state.selectedEventId = eventId;\n },\n\n // SELECT RANGE\n selectRange(state, action) {\n const { start, end } = action.payload;\n state.isOpenModal = true;\n state.selectedRange = { start, end };\n },\n\n // OPEN MODAL\n openModal(state) {\n state.isOpenModal = true;\n },\n\n // CLOSE MODAL\n closeModal(state) {\n state.isOpenModal = false;\n state.selectedEventId = null;\n state.selectedRange = null;\n },\n },\n});\n\n// Reducer\nexport default slice.reducer;\n\n// Actions\nexport const { openModal, closeModal, selectEvent } = slice.actions;\n\n// ----------------------------------------------------------------------\n\nexport function getEvents() {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/calendar/events');\n dispatch(slice.actions.getEventsSuccess(response.data.events));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function createEvent(newEvent) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.post('/api/calendar/events/new', newEvent);\n dispatch(slice.actions.createEventSuccess(response.data.event));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function updateEvent(eventId, updateEvent) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.post('/api/calendar/events/update', {\n eventId,\n updateEvent,\n });\n dispatch(slice.actions.updateEventSuccess(response.data.event));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function deleteEvent(eventId) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n await axios.post('/api/calendar/events/delete', { eventId });\n dispatch(slice.actions.deleteEventSuccess({ eventId }));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function selectRange(start, end) {\n return async () => {\n dispatch(\n slice.actions.selectRange({\n start: start.getTime(),\n end: end.getTime(),\n })\n );\n };\n}\n","import { createSlice } from '@reduxjs/toolkit';\nimport { omit } from 'lodash';\n// utils\nimport axios from '../../utils/axios';\n//\nimport { dispatch } from '../store';\n\n// ----------------------------------------------------------------------\n\nfunction objFromArray(array, key = 'id') {\n return array.reduce((accumulator, current) => {\n accumulator[current[key]] = current;\n return accumulator;\n }, {});\n}\n\nconst initialState = {\n isLoading: false,\n error: null,\n board: {\n cards: {},\n columns: {},\n columnOrder: [],\n },\n};\n\nconst slice = createSlice({\n name: 'kanban',\n initialState,\n reducers: {\n // START LOADING\n startLoading(state) {\n state.isLoading = true;\n },\n\n // HAS ERROR\n hasError(state, action) {\n state.isLoading = false;\n state.error = action.payload;\n },\n\n // GET BOARD\n getBoardSuccess(state, action) {\n state.isLoading = false;\n const board = action.payload;\n const cards = objFromArray(board.cards);\n const columns = objFromArray(board.columns);\n const { columnOrder } = board;\n state.board = {\n cards,\n columns,\n columnOrder,\n };\n },\n\n // CREATE NEW COLUMN\n createColumnSuccess(state, action) {\n const newColumn = action.payload;\n state.isLoading = false;\n state.board.columns = {\n ...state.board.columns,\n [newColumn.id]: newColumn,\n };\n state.board.columnOrder.push(newColumn.id);\n },\n\n persistCard(state, action) {\n const columns = action.payload;\n state.board.columns = columns;\n },\n\n persistColumn(state, action) {\n state.board.columnOrder = action.payload;\n },\n\n addTask(state, action) {\n const { card, columnId } = action.payload;\n\n state.board.cards[card.id] = card;\n state.board.columns[columnId].cardIds.push(card.id);\n },\n\n deleteTask(state, action) {\n const { cardId, columnId } = action.payload;\n\n state.board.columns[columnId].cardIds = state.board.columns[columnId].cardIds.filter((id) => id !== cardId);\n state.board.cards = omit(state.board.cards, [cardId]);\n },\n\n // UPDATE COLUMN\n updateColumnSuccess(state, action) {\n const column = action.payload;\n\n state.isLoading = false;\n state.board.columns[column.id] = column;\n },\n\n // DELETE COLUMN\n deleteColumnSuccess(state, action) {\n const { columnId } = action.payload;\n const deletedColumn = state.board.columns[columnId];\n\n state.isLoading = false;\n state.board.columns = omit(state.board.columns, [columnId]);\n state.board.cards = omit(state.board.cards, [...deletedColumn.cardIds]);\n state.board.columnOrder = state.board.columnOrder.filter((c) => c !== columnId);\n },\n },\n});\n\n// Reducer\nexport default slice.reducer;\n\nexport const { actions } = slice;\n\n// ----------------------------------------------------------------------\n\nexport function getBoard() {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.get('/api/kanban/board');\n dispatch(slice.actions.getBoardSuccess(response.data.board));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function createColumn(newColumn) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.post('/api/kanban/columns/new', newColumn);\n dispatch(slice.actions.createColumnSuccess(response.data.column));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function updateColumn(columnId, updateColumn) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n const response = await axios.post('/api/kanban/columns/update', {\n columnId,\n updateColumn,\n });\n dispatch(slice.actions.updateColumnSuccess(response.data.column));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function deleteColumn(columnId) {\n return async () => {\n dispatch(slice.actions.startLoading());\n try {\n await axios.post('/api/kanban/columns/delete', { columnId });\n dispatch(slice.actions.deleteColumnSuccess({ columnId }));\n } catch (error) {\n dispatch(slice.actions.hasError(error));\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function persistColumn(newColumnOrder) {\n return () => {\n dispatch(slice.actions.persistColumn(newColumnOrder));\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function persistCard(columns) {\n return () => {\n dispatch(slice.actions.persistCard(columns));\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function addTask({ card, columnId }) {\n return () => {\n dispatch(slice.actions.addTask({ card, columnId }));\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function deleteTask({ cardId, columnId }) {\n return (dispatch) => {\n dispatch(slice.actions.deleteTask({ cardId, columnId }));\n };\n}\n","import { combineReducers } from 'redux';\nimport { persistReducer } from 'redux-persist';\nimport storage from 'redux-persist/lib/storage';\n// slices\nimport mailReducer from './slices/mail';\nimport chatReducer from './slices/chat';\nimport blogReducer from './slices/blog';\nimport productReducer from './slices/product';\nimport calendarReducer from './slices/calendar';\nimport kanbanReducer from './slices/kanban';\n\n// ----------------------------------------------------------------------\n\nconst rootPersistConfig = {\n key: 'root',\n storage,\n keyPrefix: 'redux-',\n whitelist: [],\n};\n\nconst productPersistConfig = {\n key: 'product',\n storage,\n keyPrefix: 'redux-',\n whitelist: ['sortBy', 'checkout'],\n};\n\nconst rootReducer = combineReducers({\n mail: mailReducer,\n chat: chatReducer,\n blog: blogReducer,\n calendar: calendarReducer,\n kanban: kanbanReducer,\n product: persistReducer(productPersistConfig, productReducer),\n});\n\nexport { rootPersistConfig, rootReducer };\n","import { configureStore } from '@reduxjs/toolkit';\nimport { useDispatch as useAppDispatch, useSelector as useAppSelector } from 'react-redux';\nimport { persistStore, persistReducer } from 'redux-persist';\nimport { rootPersistConfig, rootReducer } from './rootReducer';\n\n// ----------------------------------------------------------------------\n\nconst store = configureStore({\n reducer: persistReducer(rootPersistConfig, rootReducer),\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware({\n serializableCheck: false,\n immutableCheck: false,\n }),\n});\n\nconst persistor = persistStore(store);\n\nconst { dispatch } = store;\n\nconst useSelector = useAppSelector;\nconst useDispatch = () => useAppDispatch();\n\nexport { store, persistor, dispatch, useSelector, useDispatch };\n","// @mui\nimport { useTheme } from '@mui/material/styles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\n// ----------------------------------------------------------------------\n\nexport default function useResponsive(query, key, start, end) {\n const theme = useTheme();\n\n const mediaUp = useMediaQuery(theme.breakpoints.up(key));\n\n const mediaDown = useMediaQuery(theme.breakpoints.down(key));\n\n const mediaBetween = useMediaQuery(theme.breakpoints.between(start, end));\n\n const mediaOnly = useMediaQuery(theme.breakpoints.only(key));\n\n if (query === 'up') {\n return mediaUp;\n }\n\n if (query === 'down') {\n return mediaDown;\n }\n\n if (query === 'between') {\n return mediaBetween;\n }\n\n if (query === 'only') {\n return mediaOnly;\n }\n return null;\n}\n","import PropTypes from 'prop-types';\nimport { createContext, useState, useEffect } from 'react';\n// hooks\nimport useResponsive from '../hooks/useResponsive';\n\n// ----------------------------------------------------------------------\n\nconst initialState = {\n collapseClick: false,\n collapseHover: false,\n onToggleCollapse: () => {},\n onHoverEnter: () => {},\n onHoverLeave: () => {},\n};\n\nconst CollapseDrawerContext = createContext(initialState);\n\nCollapseDrawerProvider.propTypes = {\n children: PropTypes.node,\n};\n\nfunction CollapseDrawerProvider({ children }) {\n const isDesktop = useResponsive('up', 'lg');\n\n const [collapse, setCollapse] = useState({\n click: false,\n hover: false,\n });\n\n useEffect(() => {\n if (!isDesktop) {\n setCollapse({\n click: false,\n hover: false,\n });\n }\n }, [isDesktop]);\n\n const handleToggleCollapse = () => {\n setCollapse({ ...collapse, click: !collapse.click });\n };\n\n const handleHoverEnter = () => {\n if (collapse.click) {\n setCollapse({ ...collapse, hover: true });\n }\n };\n\n const handleHoverLeave = () => {\n setCollapse({ ...collapse, hover: false });\n };\n\n return (\n \n {children}\n \n );\n}\n\nexport { CollapseDrawerProvider, CollapseDrawerContext };\n","import NProgress from 'nprogress';\nimport { useEffect, useMemo } from 'react';\n// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { GlobalStyles } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport function ProgressBarStyle() {\n const theme = useTheme();\n\n return (\n \n );\n}\n\nexport default function ProgressBar() {\n NProgress.configure({\n showSpinner: false,\n });\n\n useMemo(() => {\n NProgress.start();\n }, []);\n\n useEffect(() => {\n NProgress.done();\n }, []);\n\n return null;\n}\n","import PropTypes from 'prop-types';\nimport { m } from 'framer-motion';\n// @mui\nimport { alpha, styled } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n// config\nimport { DASHBOARD_NAVBAR_WIDTH, DASHBOARD_HEADER_DESKTOP } from '../config';\n//\nimport ProgressBar from './ProgressBar';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(({ theme }) => ({\n right: 0,\n bottom: 0,\n zIndex: 99999,\n width: '100%',\n height: '100%',\n position: 'fixed',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.background.default,\n}));\n\n// ----------------------------------------------------------------------\n\nLoadingScreen.propTypes = {\n isDashboard: PropTypes.bool,\n};\n\nexport default function LoadingScreen({ isDashboard, ...other }) {\n return (\n <>\n \n\n \n \n \n\n `solid 3px ${alpha(theme.palette.primary.dark, 0.24)}`,\n }}\n />\n\n `solid 8px ${alpha(theme.palette.primary.dark, 0.24)}`,\n }}\n />\n \n \n );\n}\n","// @mui\nimport { alpha, useTheme } from '@mui/material/styles';\nimport { GlobalStyles } from '@mui/material';\n// utils\nimport cssStyles from '../../utils/cssStyles';\n\n// ----------------------------------------------------------------------\n\nexport default function ChartStyle() {\n const theme = useTheme();\n\n return (\n \n );\n}\n","import { Helmet } from 'react-helmet-async';\nimport { GOOGLE_ANALYTICS_API } from '../config';\n\n// ----------------------------------------------------------------------\n\nconst GA_MEASUREMENT_ID = GOOGLE_ANALYTICS_API;\n\nexport default function GoogleAnalytics() {\n return (\n \n \n \n );\n}\n","import PropTypes from 'prop-types';\nimport { SnackbarProvider } from 'notistack';\n// @mui\nimport { alpha, useTheme } from '@mui/material/styles';\nimport { Box, GlobalStyles } from '@mui/material';\n//\nimport Iconify from './Iconify';\n\n// ----------------------------------------------------------------------\n\nfunction SnackbarStyles() {\n const theme = useTheme();\n const isLight = theme.palette.mode === 'light';\n\n return (\n \n );\n}\n\nNotistackProvider.propTypes = {\n children: PropTypes.node,\n};\n\nexport default function NotistackProvider({ children }) {\n return (\n <>\n \n\n ,\n error: ,\n warning: ,\n info: ,\n }}\n >\n {children}\n \n \n );\n}\n\n// ----------------------------------------------------------------------\n\nSnackbarIcon.propTypes = {\n icon: PropTypes.string,\n color: PropTypes.oneOf(['primary', 'secondary', 'info', 'success', 'warning', 'error']),\n};\n\nfunction SnackbarIcon({ icon, color }) {\n return (\n alpha(theme.palette[color].main, 0.16),\n }}\n >\n \n \n );\n}\n","import PropTypes from 'prop-types';\nimport { useEffect } from 'react';\n// rtl\nimport rtlPlugin from 'stylis-plugin-rtl';\n// emotion\nimport createCache from '@emotion/cache';\nimport { CacheProvider } from '@emotion/react';\n// @mui\nimport { useTheme } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nRtlLayout.propTypes = {\n children: PropTypes.node,\n};\n\nexport default function RtlLayout({ children }) {\n const theme = useTheme();\n\n useEffect(() => {\n document.dir = theme.direction;\n }, [theme.direction]);\n\n const cacheRtl = createCache({\n key: theme.direction === 'rtl' ? 'rtl' : 'css',\n stylisPlugins: theme.direction === 'rtl' ? [rtlPlugin] : [],\n });\n\n return {children};\n}\n","import { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\n// ----------------------------------------------------------------------\n\nexport default function ScrollToTop() {\n const { pathname } = useLocation();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname]);\n\n return null;\n}\n","import React from 'react';\n\n// @mui\nimport { SvgIcon } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\n// CloseIcon\nexport function CloseIcon(props) {\n return (\n \n \n \n );\n}\n\n// StarIcon\nexport function StarIcon(props) {\n return (\n \n \n \n );\n}\n\n// Using for Alert\nexport function InfoIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function WarningIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function SuccessIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function ErrorIcon(props) {\n return (\n \n \n \n );\n}\n\n// Using for Checkbox\nexport function CheckboxIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function CheckboxCheckedIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function CheckboxIndeterminateIcon(props) {\n return (\n \n \n \n );\n}\n\n// Using for Select Input\nexport function InputSelectIcon(props) {\n return (\n \n \n \n );\n}\n\n// Using for TreeView\nexport function TreeViewCollapseIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function TreeViewExpandIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function TreeViewEndIcon(props) {\n return (\n \n \n \n );\n}\n","import React from 'react';\n//\nimport { StarIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nconst ICON_SMALL = { width: 20, height: 20 };\nconst ICON_LARGE = { width: 28, height: 28 };\n\nexport default function Rating(theme) {\n return {\n MuiRating: {\n defaultProps: {\n emptyIcon: ,\n icon: ,\n },\n\n styleOverrides: {\n root: {\n '&.Mui-disabled': {\n opacity: 0.48,\n },\n },\n iconEmpty: { color: theme.palette.grey[500_48] },\n sizeSmall: { '& svg': { ...ICON_SMALL } },\n sizeLarge: { '& svg': { ...ICON_LARGE } },\n },\n },\n };\n}\n","import Fab from './Fab';\nimport Card from './Card';\nimport Chip from './Chip';\nimport Tabs from './Tabs';\nimport Menu from './Menu';\nimport Grid from './Grid';\nimport Link from './Link';\nimport Lists from './Lists';\nimport Table from './Table';\nimport Alert from './Alert';\nimport Badge from './Badge';\nimport Paper from './Paper';\nimport Input from './Input';\nimport Radio from './Radio';\nimport Drawer from './Drawer';\nimport Dialog from './Dialog';\nimport Avatar from './Avatar';\nimport Rating from './Rating';\nimport Slider from './Slider';\nimport Button from './Button';\nimport Switch from './Switch';\nimport Select from './Select';\nimport SvgIcon from './SvgIcon';\nimport Tooltip from './Tooltip';\nimport Popover from './Popover';\nimport Stepper from './Stepper';\nimport Pickers from './Pickers';\nimport DataGrid from './DataGrid';\nimport Skeleton from './Skeleton';\nimport Backdrop from './Backdrop';\nimport Snackbar from './Snackbar';\nimport Progress from './Progress';\nimport Timeline from './Timeline';\nimport TreeView from './TreeView';\nimport Checkbox from './Checkbox';\nimport Container from './Container';\nimport Accordion from './Accordion';\nimport Typography from './Typography';\nimport Pagination from './Pagination';\nimport IconButton from './IconButton';\nimport Breadcrumbs from './Breadcrumbs';\nimport ButtonGroup from './ButtonGroup';\nimport Autocomplete from './Autocomplete';\nimport ToggleButton from './ToggleButton';\nimport ControlLabel from './ControlLabel';\nimport LoadingButton from './LoadingButton';\n\n// ----------------------------------------------------------------------\n\nexport default function ComponentsOverrides(theme) {\n return Object.assign(\n Fab(theme),\n Tabs(theme),\n Chip(theme),\n Card(theme),\n Menu(theme),\n Grid(theme),\n Link(theme),\n Input(theme),\n Radio(theme),\n Badge(theme),\n Lists(theme),\n Table(theme),\n Paper(theme),\n Alert(theme),\n Switch(theme),\n Select(theme),\n Button(theme),\n Rating(theme),\n Dialog(theme),\n Avatar(theme),\n Slider(theme),\n Drawer(theme),\n Pickers(theme),\n Stepper(theme),\n Tooltip(theme),\n Popover(theme),\n SvgIcon(theme),\n Checkbox(theme),\n DataGrid(theme),\n Skeleton(theme),\n Timeline(theme),\n TreeView(theme),\n Backdrop(theme),\n Snackbar(theme),\n Progress(theme),\n Container(theme),\n Accordion(theme),\n IconButton(theme),\n Typography(theme),\n Pagination(theme),\n ButtonGroup(theme),\n Breadcrumbs(theme),\n Autocomplete(theme),\n ControlLabel(theme),\n ToggleButton(theme),\n LoadingButton(theme)\n );\n}\n","// ----------------------------------------------------------------------\n\nexport default function Fab(theme) {\n return {\n MuiFab: {\n defaultProps: {\n color: 'primary',\n },\n\n styleOverrides: {\n root: {\n boxShadow: theme.customShadows.z8,\n '&:hover': {\n boxShadow: 'none',\n backgroundColor: theme.palette.grey[400],\n },\n },\n primary: {\n boxShadow: theme.customShadows.primary,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark,\n },\n },\n secondary: {\n boxShadow: theme.customShadows.secondary,\n '&:hover': {\n backgroundColor: theme.palette.secondary.dark,\n },\n },\n extended: {\n '& svg': {\n marginRight: theme.spacing(1),\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Tabs(theme) {\n return {\n MuiTab: {\n styleOverrides: {\n root: {\n padding: 0,\n fontWeight: theme.typography.fontWeightMedium,\n borderTopLeftRadius: theme.shape.borderRadius,\n borderTopRightRadius: theme.shape.borderRadius,\n '&.Mui-selected': {\n color: theme.palette.text.primary,\n },\n '&:not(:last-of-type)': {\n marginRight: theme.spacing(5),\n },\n '@media (min-width: 600px)': {\n minWidth: 48,\n },\n },\n labelIcon: {\n minHeight: 48,\n flexDirection: 'row',\n '& > *:first-of-type': {\n marginBottom: 0,\n marginRight: theme.spacing(1),\n },\n },\n wrapper: {\n flexDirection: 'row',\n whiteSpace: 'nowrap',\n },\n textColorInherit: {\n opacity: 1,\n color: theme.palette.text.secondary,\n },\n },\n },\n MuiTabPanel: {\n styleOverrides: {\n root: {\n padding: 0,\n },\n },\n },\n MuiTabScrollButton: {\n styleOverrides: {\n root: {\n width: 48,\n borderRadius: '50%',\n },\n },\n },\n };\n}\n","import React from 'react';\n//\nimport { CloseIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nexport default function Chip(theme) {\n return {\n MuiChip: {\n defaultProps: {\n deleteIcon: ,\n },\n\n styleOverrides: {\n colorDefault: {\n '& .MuiChip-avatarMedium, .MuiChip-avatarSmall': {\n color: theme.palette.text.secondary,\n },\n },\n outlined: {\n borderColor: theme.palette.grey[500_32],\n '&.MuiChip-colorPrimary': {\n borderColor: theme.palette.primary.main,\n },\n '&.MuiChip-colorSecondary': {\n borderColor: theme.palette.secondary.main,\n },\n },\n //\n avatarColorInfo: {\n color: theme.palette.info.contrastText,\n backgroundColor: theme.palette.info.dark,\n },\n avatarColorSuccess: {\n color: theme.palette.success.contrastText,\n backgroundColor: theme.palette.success.dark,\n },\n avatarColorWarning: {\n color: theme.palette.warning.contrastText,\n backgroundColor: theme.palette.warning.dark,\n },\n avatarColorError: {\n color: theme.palette.error.contrastText,\n backgroundColor: theme.palette.error.dark,\n },\n },\n },\n };\n}\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nexport default function Card(theme) {\n const isLight = theme.palette.mode === 'light';\n\n const boxShadow = `0 0 2px 0 ${alpha(isLight ? theme.palette.grey[500] : theme.palette.common.black, 0.2)}, ${\n theme.customShadows.z12\n }`;\n\n return {\n MuiCard: {\n styleOverrides: {\n root: {\n boxShadow,\n position: 'relative',\n borderRadius: Number(theme.shape.borderRadius) * 2,\n zIndex: 0, // Fix Safari overflow: hidden with border radius\n },\n },\n },\n MuiCardHeader: {\n defaultProps: {\n titleTypographyProps: { variant: 'h6' },\n subheaderTypographyProps: { variant: 'body2', marginTop: theme.spacing(0.5) },\n },\n styleOverrides: {\n root: {\n padding: theme.spacing(3, 3, 0),\n },\n },\n },\n MuiCardContent: {\n styleOverrides: {\n root: {\n padding: theme.spacing(3),\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Menu(theme) {\n return {\n MuiMenuItem: {\n styleOverrides: {\n root: {\n '&.Mui-selected': {\n backgroundColor: theme.palette.action.selected,\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Grid() {\n return {\n MuiGrid: {\n styleOverrides: {},\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Link() {\n return {\n MuiLink: {\n defaultProps: {\n underline: 'hover',\n },\n\n styleOverrides: {\n root: {},\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Input(theme) {\n return {\n MuiInputBase: {\n styleOverrides: {\n root: {\n '&.Mui-disabled': {\n '& svg': { color: theme.palette.text.disabled },\n },\n },\n input: {\n '&::placeholder': {\n opacity: 1,\n color: theme.palette.text.disabled,\n },\n },\n },\n },\n MuiInput: {\n styleOverrides: {\n underline: {\n '&:before': {\n borderBottomColor: theme.palette.grey[500_56],\n },\n },\n },\n },\n MuiFilledInput: {\n styleOverrides: {\n root: {\n backgroundColor: theme.palette.grey[500_12],\n '&:hover': {\n backgroundColor: theme.palette.grey[500_16],\n },\n '&.Mui-focused': {\n backgroundColor: theme.palette.action.focus,\n },\n '&.Mui-disabled': {\n backgroundColor: theme.palette.action.disabledBackground,\n },\n },\n underline: {\n '&:before': {\n borderBottomColor: theme.palette.grey[500_56],\n },\n },\n },\n },\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.grey[500_32],\n },\n '&.Mui-disabled': {\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.action.disabledBackground,\n },\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Radio(theme) {\n return {\n MuiRadio: {\n styleOverrides: {\n root: {\n padding: theme.spacing(1),\n svg: {\n fontSize: 24,\n '&[font-size=small]': {\n fontSize: 20,\n },\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Badge() {\n return {\n MuiBadge: {\n styleOverrides: {\n dot: {\n width: 10,\n height: 10,\n borderRadius: '50%',\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Lists(theme) {\n return {\n MuiListItemIcon: {\n styleOverrides: {\n root: {\n color: 'inherit',\n minWidth: 'auto',\n marginRight: theme.spacing(2),\n },\n },\n },\n MuiListItemAvatar: {\n styleOverrides: {\n root: {\n minWidth: 'auto',\n marginRight: theme.spacing(2),\n },\n },\n },\n MuiListItemText: {\n styleOverrides: {\n root: {\n marginTop: 0,\n marginBottom: 0,\n },\n multiline: {\n marginTop: 0,\n marginBottom: 0,\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Table(theme) {\n return {\n MuiTableRow: {\n styleOverrides: {\n root: {\n '&.Mui-selected': {\n backgroundColor: theme.palette.action.selected,\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n },\n },\n },\n MuiTableCell: {\n styleOverrides: {\n root: {\n borderBottom: 'none',\n },\n head: {\n color: theme.palette.text.secondary,\n backgroundColor: theme.palette.background.neutral,\n '&:first-of-type': {\n paddingLeft: theme.spacing(3),\n borderTopLeftRadius: theme.shape.borderRadius,\n borderBottomLeftRadius: theme.shape.borderRadius,\n boxShadow: `inset 8px 0 0 ${theme.palette.background.paper}`,\n },\n '&:last-of-type': {\n paddingRight: theme.spacing(3),\n borderTopRightRadius: theme.shape.borderRadius,\n borderBottomRightRadius: theme.shape.borderRadius,\n boxShadow: `inset -8px 0 0 ${theme.palette.background.paper}`,\n },\n },\n stickyHeader: {\n backgroundColor: theme.palette.background.paper,\n backgroundImage: `linear-gradient(to bottom, ${theme.palette.background.neutral} 0%, ${theme.palette.background.neutral} 100%)`,\n },\n body: {\n '&:first-of-type': {\n paddingLeft: theme.spacing(3),\n },\n '&:last-of-type': {\n paddingRight: theme.spacing(3),\n },\n },\n },\n },\n MuiTablePagination: {\n styleOverrides: {\n root: {\n borderTop: `solid 1px ${theme.palette.divider}`,\n },\n toolbar: {\n height: 64,\n },\n select: {\n '&:focus': {\n borderRadius: theme.shape.borderRadius,\n },\n },\n selectIcon: {\n width: 20,\n height: 20,\n marginTop: -4,\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Paper(theme) {\n return {\n MuiPaper: {\n defaultProps: {\n elevation: 0,\n },\n\n variants: [\n {\n props: { variant: 'outlined' },\n style: { borderColor: theme.palette.grey[500_12] },\n },\n ],\n\n styleOverrides: {\n root: {\n backgroundImage: 'none',\n },\n },\n },\n };\n}\n","import React from 'react';\nimport { ErrorIcon, InfoIcon, SuccessIcon, WarningIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nexport default function Alert(theme) {\n const isLight = theme.palette.mode === 'light';\n\n const standardStyle = (color) => ({\n color: theme.palette[color][isLight ? 'darker' : 'lighter'],\n backgroundColor: theme.palette[color][isLight ? 'lighter' : 'darker'],\n '& .MuiAlert-icon': {\n color: theme.palette[color][isLight ? 'main' : 'light'],\n },\n });\n\n const filledStyle = (color) => ({\n color: theme.palette[color].contrastText,\n });\n\n const outlinedStyle = (color) => ({\n color: theme.palette[color][isLight ? 'darker' : 'lighter'],\n border: `solid 1px ${theme.palette[color][isLight ? 'light' : 'dark']}`,\n backgroundColor: theme.palette[color][isLight ? 'lighter' : 'darker'],\n '& .MuiAlert-icon': {\n color: theme.palette[color][isLight ? 'main' : 'light'],\n },\n });\n\n return {\n MuiAlert: {\n defaultProps: {\n iconMapping: {\n info: ,\n success: ,\n warning: ,\n error: ,\n },\n },\n\n styleOverrides: {\n message: {\n '& .MuiAlertTitle-root': {\n marginBottom: theme.spacing(0.5),\n },\n },\n action: {\n '& button:not(:first-of-type)': {\n marginLeft: theme.spacing(1),\n },\n },\n\n standardInfo: standardStyle('info'),\n standardSuccess: standardStyle('success'),\n standardWarning: standardStyle('warning'),\n standardError: standardStyle('error'),\n\n filledInfo: filledStyle('info'),\n filledSuccess: filledStyle('success'),\n filledWarning: filledStyle('warning'),\n filledError: filledStyle('error'),\n\n outlinedInfo: outlinedStyle('info'),\n outlinedSuccess: outlinedStyle('success'),\n outlinedWarning: outlinedStyle('warning'),\n outlinedError: outlinedStyle('error'),\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Switch(theme) {\n const isLight = theme.palette.mode === 'light';\n\n return {\n MuiSwitch: {\n styleOverrides: {\n thumb: {\n boxShadow: theme.customShadows.z1,\n },\n track: {\n opacity: 1,\n backgroundColor: theme.palette.grey[500],\n },\n switchBase: {\n left: 0,\n right: 'auto',\n '&:not(:.Mui-checked)': {\n color: theme.palette.grey[isLight ? 100 : 300],\n },\n '&.Mui-checked.Mui-disabled, &.Mui-disabled': {\n color: theme.palette.grey[isLight ? 400 : 600],\n },\n '&.Mui-disabled+.MuiSwitch-track': {\n opacity: 1,\n backgroundColor: `${theme.palette.action.disabledBackground} !important`,\n },\n },\n },\n },\n };\n}\n","//\n//\nimport { InputSelectIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nexport default function Select() {\n return {\n MuiSelect: {\n defaultProps: {\n IconComponent: InputSelectIcon,\n },\n\n styleOverrides: {\n root: {},\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Button(theme) {\n return {\n MuiButton: {\n styleOverrides: {\n root: {\n '&:hover': {\n boxShadow: 'none',\n },\n },\n sizeLarge: {\n height: 48,\n },\n // contained\n containedInherit: {\n color: theme.palette.grey[800],\n boxShadow: theme.customShadows.z8,\n '&:hover': {\n backgroundColor: theme.palette.grey[400],\n },\n },\n containedPrimary: {\n boxShadow: theme.customShadows.primary,\n },\n containedSecondary: {\n boxShadow: theme.customShadows.secondary,\n },\n containedInfo: {\n boxShadow: theme.customShadows.info,\n },\n containedSuccess: {\n boxShadow: theme.customShadows.success,\n },\n containedWarning: {\n boxShadow: theme.customShadows.warning,\n },\n containedError: {\n boxShadow: theme.customShadows.error,\n },\n // outlined\n outlinedInherit: {\n border: `1px solid ${theme.palette.grey[500_32]}`,\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n textInherit: {\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Dialog(theme) {\n return {\n MuiDialog: {\n styleOverrides: {\n paper: {\n boxShadow: theme.customShadows.z24,\n '&.MuiPaper-rounded': {\n borderRadius: Number(theme.shape.borderRadius) * 2,\n },\n '&.MuiDialog-paperFullScreen': {\n borderRadius: 0,\n },\n '&.MuiDialog-paper .MuiDialogActions-root': {\n padding: theme.spacing(3),\n },\n '@media (max-width: 600px)': {\n margin: theme.spacing(2),\n },\n '@media (max-width: 663.95px)': {\n '&.MuiDialog-paperWidthSm.MuiDialog-paperScrollBody': {\n maxWidth: '100%',\n },\n },\n },\n paperFullWidth: {\n width: '100%',\n },\n },\n },\n MuiDialogTitle: {\n styleOverrides: {\n root: {\n padding: theme.spacing(3, 3, 0),\n },\n },\n },\n MuiDialogContent: {\n styleOverrides: {\n root: {\n borderTop: 0,\n borderBottom: 0,\n padding: theme.spacing(3),\n },\n },\n },\n MuiDialogActions: {\n styleOverrides: {\n root: {\n '& > :not(:first-of-type)': {\n marginLeft: theme.spacing(1.5),\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Avatar(theme) {\n return {\n MuiAvatar: {\n styleOverrides: {\n colorDefault: {\n color: theme.palette.text.secondary,\n backgroundColor: theme.palette.grey[400],\n },\n },\n },\n MuiAvatarGroup: {\n styleOverrides: {\n avatar: {\n fontSize: 16,\n fontWeight: theme.typography.fontWeightMedium,\n '&:first-of-type': {\n fontSize: 14,\n color: theme.palette.primary.main,\n backgroundColor: theme.palette.primary.lighter,\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Slider(theme) {\n const isLight = theme.palette.mode === 'light';\n\n return {\n MuiSlider: {\n defaultProps: {\n size: 'small',\n },\n\n styleOverrides: {\n root: {\n '&.Mui-disabled': {\n color: theme.palette.action.disabled,\n },\n },\n markLabel: {\n fontSize: 13,\n color: theme.palette.text.disabled,\n },\n valueLabel: {\n borderRadius: 8,\n backgroundColor: theme.palette.grey[isLight ? 800 : 700],\n },\n },\n },\n };\n}\n","import { alpha } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport default function Drawer(theme) {\n const isLight = theme.palette.mode === 'light';\n\n return {\n MuiDrawer: {\n styleOverrides: {\n modal: {\n '&[role=\"presentation\"]': {\n '& .MuiDrawer-paperAnchorLeft': {\n boxShadow: `8px 24px 24px 12px ${alpha(theme.palette.grey[900], isLight ? 0.16 : 0.48)}`,\n },\n '& .MuiDrawer-paperAnchorRight': {\n boxShadow: `-8px 24px 24px 12px ${alpha(theme.palette.grey[900], isLight ? 0.16 : 0.48)}`,\n },\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Pickers() {\n return {};\n}\n","// ----------------------------------------------------------------------\n\nexport default function Stepper(theme) {\n return {\n MuiStepConnector: {\n styleOverrides: {\n line: {\n borderColor: theme.palette.divider,\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Tooltip(theme) {\n const isLight = theme.palette.mode === 'light';\n\n return {\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n backgroundColor: theme.palette.grey[isLight ? 800 : 700],\n },\n arrow: {\n color: theme.palette.grey[isLight ? 800 : 700],\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Popover(theme) {\n return {\n MuiPopover: {\n styleOverrides: {\n paper: {\n boxShadow: theme.customShadows.z12,\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function SvgIcon() {\n return {\n MuiSvgIcon: {\n styleOverrides: {\n fontSizeSmall: {\n width: 20,\n height: 20,\n fontSize: 'inherit',\n },\n fontSizeLarge: {\n width: 32,\n height: 32,\n fontSize: 'inherit',\n },\n },\n },\n };\n}\n","import React from 'react';\n//\nimport { CheckboxIcon, CheckboxCheckedIcon, CheckboxIndeterminateIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nexport default function Checkbox(theme) {\n return {\n MuiCheckbox: {\n defaultProps: {\n icon: ,\n checkedIcon: ,\n indeterminateIcon: ,\n },\n\n styleOverrides: {\n root: {\n padding: theme.spacing(1),\n '&.Mui-checked.Mui-disabled, &.Mui-disabled': {\n color: theme.palette.action.disabled,\n },\n '& .MuiSvgIcon-fontSizeMedium': {\n width: 24,\n height: 24,\n },\n '& .MuiSvgIcon-fontSizeSmall': {\n width: 20,\n height: 20,\n },\n svg: {\n fontSize: 24,\n '&[font-size=small]': {\n fontSize: 20,\n },\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function DataGrid(theme) {\n return {\n MuiDataGrid: {\n styleOverrides: {\n root: {\n borderRadius: 0,\n border: `1px solid transparent`,\n '& .MuiTablePagination-root': {\n borderTop: 0,\n },\n '& .MuiDataGrid-toolbarContainer': {\n padding: theme.spacing(2),\n backgroundColor: theme.palette.background.neutral,\n '& .MuiButton-root': {\n marginRight: theme.spacing(1.5),\n color: theme.palette.text.primary,\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n },\n '& .MuiDataGrid-cell, .MuiDataGrid-columnsContainer': {\n borderBottom: `1px solid ${theme.palette.divider}`,\n },\n '& .MuiDataGrid-columnSeparator': {\n color: theme.palette.divider,\n },\n '& .MuiDataGrid-columnHeader[data-field=\"__check__\"]': {\n padding: 0,\n },\n },\n },\n },\n MuiGridMenu: {\n styleOverrides: {\n root: {\n '& .MuiDataGrid-gridMenuList': {\n boxShadow: theme.customShadows.z20,\n borderRadius: theme.shape.borderRadius,\n },\n '& .MuiMenuItem-root': {\n ...theme.typography.body2,\n },\n },\n },\n },\n MuiGridFilterForm: {\n styleOverrides: {\n root: {\n padding: theme.spacing(1.5, 0),\n '& .MuiFormControl-root': {\n margin: theme.spacing(0, 0.5),\n },\n '& .MuiInput-root': {\n marginTop: theme.spacing(3),\n '&::before, &::after': {\n display: 'none',\n },\n '& .MuiNativeSelect-select, .MuiInput-input': {\n ...theme.typography.body2,\n padding: theme.spacing(0.75, 1),\n borderRadius: theme.shape.borderRadius,\n backgroundColor: theme.palette.background.neutral,\n },\n '& .MuiSvgIcon-root': {\n right: 4,\n },\n },\n },\n },\n },\n MuiGridPanelFooter: {\n styleOverrides: {\n root: {\n padding: theme.spacing(2),\n justifyContent: 'flex-end',\n '& .MuiButton-root': {\n '&:first-of-type': {\n marginRight: theme.spacing(1.5),\n color: theme.palette.text.primary,\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n '&:last-of-type': {\n color: theme.palette.common.white,\n backgroundColor: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark,\n },\n },\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Skeleton(theme) {\n return {\n MuiSkeleton: {\n defaultProps: {\n animation: 'wave',\n },\n\n styleOverrides: {\n root: {\n backgroundColor: theme.palette.background.neutral,\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Timeline(theme) {\n return {\n MuiTimelineDot: {\n styleOverrides: {\n root: {\n boxShadow: 'none',\n },\n },\n },\n\n MuiTimelineConnector: {\n styleOverrides: {\n root: {\n backgroundColor: theme.palette.divider,\n },\n },\n },\n };\n}\n","//\nimport React from 'react';\nimport { TreeViewCollapseIcon, TreeViewExpandIcon, TreeViewEndIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nexport default function TreeView(theme) {\n return {\n MuiTreeView: {\n defaultProps: {\n defaultCollapseIcon: ,\n defaultExpandIcon: ,\n defaultEndIcon: ,\n },\n },\n MuiTreeItem: {\n styleOverrides: {\n label: { ...theme.typography.body2 },\n iconContainer: { width: 'auto' },\n },\n },\n };\n}\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nexport default function Backdrop(theme) {\n const varLow = alpha(theme.palette.grey[900], 0.48);\n const varHigh = alpha(theme.palette.grey[900], 1);\n\n return {\n MuiBackdrop: {\n styleOverrides: {\n root: {\n background: [\n `rgb(22,28,36)`,\n `-moz-linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)`,\n `-webkit-linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)`,\n `linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)`,\n ],\n '&.MuiBackdrop-invisible': {\n background: 'transparent',\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Snackbar() {\n return {\n MuiSnackbarContent: {\n styleOverrides: {\n root: {},\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Progress(theme) {\n const isLight = theme.palette.mode === 'light';\n\n return {\n MuiLinearProgress: {\n styleOverrides: {\n root: {\n borderRadius: 4,\n overflow: 'hidden',\n },\n bar: {\n borderRadius: 4,\n },\n colorPrimary: {\n backgroundColor: theme.palette.primary[isLight ? 'lighter' : 'darker'],\n },\n buffer: {\n backgroundColor: 'transparent',\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Container() {\n return {\n MuiContainer: {\n styleOverrides: {\n root: {},\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Accordion(theme) {\n return {\n MuiAccordion: {\n styleOverrides: {\n root: {\n '&.Mui-expanded': {\n boxShadow: theme.customShadows.z8,\n borderRadius: theme.shape.borderRadius,\n },\n '&.Mui-disabled': {\n backgroundColor: 'transparent',\n },\n },\n },\n },\n MuiAccordionSummary: {\n styleOverrides: {\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n '&.Mui-disabled': {\n opacity: 1,\n color: theme.palette.action.disabled,\n '& .MuiTypography-root': {\n color: 'inherit',\n },\n },\n },\n expandIconWrapper: {\n color: 'inherit',\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function IconButton() {\n return {\n MuiIconButton: {\n styleOverrides: {\n root: {},\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Typography(theme) {\n return {\n MuiTypography: {\n styleOverrides: {\n paragraph: {\n marginBottom: theme.spacing(2),\n },\n gutterBottom: {\n marginBottom: theme.spacing(1),\n },\n },\n },\n };\n}\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nexport default function Pagination(theme) {\n return {\n MuiPaginationItem: {\n styleOverrides: {\n root: {\n '&.Mui-selected': {\n fontWeight: theme.typography.fontWeightBold,\n },\n },\n textPrimary: {\n '&.Mui-selected': {\n color: theme.palette.primary.main,\n backgroundColor: alpha(theme.palette.primary.main, 0.08),\n '&:hover, &.Mui-focusVisible': {\n backgroundColor: `${alpha(theme.palette.primary.main, 0.24)} !important`,\n },\n },\n },\n outlined: {\n border: `1px solid ${theme.palette.grey[500_32]}`,\n },\n outlinedPrimary: {\n '&.Mui-selected': {\n backgroundColor: alpha(theme.palette.primary.main, 0.08),\n border: `1px solid ${alpha(theme.palette.primary.main, 0.24)}`,\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function ButtonGroup(theme) {\n const styleContained = (color) => ({\n props: { variant: 'contained', color },\n style: { boxShadow: theme.customShadows[color] },\n });\n\n return {\n MuiButtonGroup: {\n variants: [\n {\n props: { variant: 'contained', color: 'inherit' },\n style: { boxShadow: theme.customShadows.z8 },\n },\n styleContained('primary'),\n styleContained('secondary'),\n styleContained('info'),\n styleContained('success'),\n styleContained('warning'),\n styleContained('error'),\n\n {\n props: { disabled: true },\n style: {\n boxShadow: 'none',\n '& .MuiButtonGroup-grouped.Mui-disabled': {\n color: theme.palette.action.disabled,\n borderColor: `${theme.palette.action.disabledBackground} !important`,\n '&.MuiButton-contained': {\n backgroundColor: theme.palette.action.disabledBackground,\n },\n },\n },\n },\n ],\n\n styleOverrides: {\n root: {\n '&:hover': {\n boxShadow: 'none',\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Breadcrumbs(theme) {\n return {\n MuiBreadcrumbs: {\n styleOverrides: {\n separator: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Autocomplete(theme) {\n return {\n MuiAutocomplete: {\n styleOverrides: {\n paper: {\n boxShadow: theme.customShadows.z20,\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function ControlLabel(theme) {\n return {\n MuiFormControlLabel: {\n styleOverrides: {\n label: {\n ...theme.typography.body2,\n },\n },\n },\n MuiFormHelperText: {\n styleOverrides: {\n root: {\n marginTop: theme.spacing(1),\n },\n },\n },\n MuiFormLabel: {\n styleOverrides: {\n root: {\n color: theme.palette.text.disabled,\n },\n },\n },\n };\n}\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nexport default function ToggleButton(theme) {\n const style = (color) => ({\n props: { color },\n style: {\n '&:hover': {\n borderColor: alpha(theme.palette[color].main, 0.48),\n backgroundColor: alpha(theme.palette[color].main, theme.palette.action.hoverOpacity),\n },\n '&.Mui-selected': {\n borderColor: alpha(theme.palette[color].main, 0.48),\n },\n },\n });\n\n return {\n MuiToggleButton: {\n variants: [\n {\n props: { color: 'standard' },\n style: {\n '&.Mui-selected': {\n backgroundColor: theme.palette.action.selected,\n },\n },\n },\n style('primary'),\n style('secondary'),\n style('info'),\n style('success'),\n style('warning'),\n style('error'),\n ],\n },\n MuiToggleButtonGroup: {\n styleOverrides: {\n root: {\n borderRadius: theme.shape.borderRadius,\n backgroundColor: theme.palette.background.paper,\n border: `solid 1px ${theme.palette.grey[500_12]}`,\n '& .MuiToggleButton-root': {\n margin: 4,\n borderColor: 'transparent !important',\n borderRadius: `${theme.shape.borderRadius}px !important`,\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function LoadingButton() {\n return {\n MuiLoadingButton: {\n styleOverrides: {\n root: {\n '&.MuiButton-text': {\n '& .MuiLoadingButton-startIconPendingStart': {\n marginLeft: 0,\n },\n '& .MuiLoadingButton-endIconPendingEnd': {\n marginRight: 0,\n },\n },\n },\n },\n },\n };\n}\n","import PropTypes from 'prop-types';\nimport { useMemo } from 'react';\n// @mui\nimport { alpha, ThemeProvider, createTheme, useTheme } from '@mui/material/styles';\n// hooks\nimport useSettings from '../hooks/useSettings';\n//\nimport componentsOverride from '../theme/overrides';\n\n// ----------------------------------------------------------------------\n\nThemeColorPresets.propTypes = {\n children: PropTypes.node,\n};\n\nexport default function ThemeColorPresets({ children }) {\n const defaultTheme = useTheme();\n const { setColor } = useSettings();\n\n const themeOptions = useMemo(\n () => ({\n ...defaultTheme,\n palette: {\n ...defaultTheme.palette,\n primary: setColor,\n },\n customShadows: {\n ...defaultTheme.customShadows,\n primary: `0 8px 16px 0 ${alpha(setColor.main, 0.24)}`,\n },\n }),\n [setColor, defaultTheme]\n );\n\n const theme = createTheme(themeOptions);\n theme.components = componentsOverride(theme);\n\n return {children};\n}\n","import { useTranslation } from 'react-i18next';\n// '@mui\nimport { enUS, deDE, frFR } from '@mui/material/locale';\n\n// ----------------------------------------------------------------------\n\nconst LANGS = [\n {\n label: 'English',\n value: 'en',\n systemValue: enUS,\n icon: 'https://minimal-assets-api.vercel.app/assets/icons/ic_flag_en.svg',\n },\n {\n label: 'German',\n value: 'de',\n systemValue: deDE,\n\n icon: 'https://minimal-assets-api.vercel.app/assets/icons/ic_flag_de.svg',\n },\n {\n label: 'French',\n value: 'fr',\n systemValue: frFR,\n icon: 'https://minimal-assets-api.vercel.app/assets/icons/ic_flag_fr.svg',\n },\n];\n\nexport default function useLocales() {\n const { i18n, t: translate } = useTranslation();\n const langStorage = localStorage.getItem('i18nextLng');\n const currentLang = LANGS.find((_lang) => _lang.value === langStorage) || LANGS[1];\n\n const handleChangeLanguage = (newlang) => {\n i18n.changeLanguage(newlang);\n };\n\n return {\n onChangeLang: handleChangeLanguage,\n translate,\n currentLang,\n allLang: LANGS,\n };\n}\n","import PropTypes from 'prop-types';\n// @mui\nimport { ThemeProvider, createTheme, useTheme } from '@mui/material/styles';\n// hooks\nimport useLocales from '../hooks/useLocales';\n\n// ----------------------------------------------------------------------\n\nThemeLocalization.propTypes = {\n children: PropTypes.node,\n};\n\nexport default function ThemeLocalization({ children }) {\n const defaultTheme = useTheme();\n const { currentLang } = useLocales();\n\n const theme = createTheme(defaultTheme, currentLang.systemValue);\n\n return {children};\n}\n","// @mui\nimport { styled } from '@mui/material/styles';\nimport { Box, Container, Typography } from '@mui/material';\nimport { LoadingButton } from '@mui/lab';\nimport { makeStyles } from '@mui/styles';\n\n\nimport { useNavigate } from 'react-router-dom';\n\n// components\nimport Page from '../../components/Page';\n// sections\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(({ theme }) => ({\n [theme.breakpoints.up('md')]: {\n display: 'flex',\n },\n}));\n\nconst HeaderStyle = styled('header')(({ theme }) => ({\n top: 0,\n zIndex: 9,\n lineHeight: 0,\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n position: 'absolute',\n padding: theme.spacing(3),\n justifyContent: 'space-between',\n [theme.breakpoints.up('md')]: {\n alignItems: 'flex-start',\n padding: theme.spacing(7, 5, 0, 7),\n },\n}));\n\n\nconst ContentStyle = styled('div')(({ theme }) => ({\n maxWidth: 600,\n margin: 'auto',\n display: 'flex',\n minHeight: '100vh',\n flexDirection: 'column',\n justifyContent: 'center',\n padding: theme.spacing(12, 0),\n}));\n\nconst buttonStyles = makeStyles ({\n loadingButton: {\n color: 'black',\n width: '140px', \n display: 'inline-flex', \n }\n }); \n\n\n// ----------------------------------------------------------------------\n\nexport default function OWealthInstruction() {\n const navigate = useNavigate();\n\n const btnClass = buttonStyles(); \n const previousPage = 'dailyHabits'\n const nextPage = 'worshipGoals'\n\n return (\n \n \n \n \n \n \n \n Next we're going to create yearly goals in each aspect of WEALTH.\n \n
\n \n
    \n
  • Worship
  • \n
  • Education
  • \n
  • Affluence
  • \n
  • Lifestyle
  • \n
  • Team
  • \n
  • Health
  • \n
\n
\n You'll be able to go back and edit these goals later, so don't worry if you're not sure right now!\n
\n
\n \n navigate(`/orientation/${previousPage}`)} >\n ← Back\n \n\n navigate(`/orientation/${nextPage}`)}>\n Next →\n \n \n
\n
\n
\n
\n
\n );\n}\n","import PropTypes from 'prop-types';\nimport { useState } from 'react';\nimport { Navigate, useLocation } from 'react-router-dom';\n// hooks\nimport useAuth from '../hooks/useAuth';\n// pages\nimport Login from '../pages/auth/Login';\n\n// ----------------------------------------------------------------------\n\nAuthGuard.propTypes = {\n children: PropTypes.node,\n};\nexport default function AuthGuard({ children }) {\n const { isAuthenticated, isInitialized } = useAuth();\n const { pathname } = useLocation();\n const [requestedLocation, setRequestedLocation] = useState(null);\n\n if (isInitialized && !isAuthenticated) {\n if (pathname !== requestedLocation) {\n setRequestedLocation(pathname);\n }\n return ;\n }\n\n if (requestedLocation && pathname !== requestedLocation) {\n setRequestedLocation(null);\n return ;\n }\n\n return <>{children};\n}\n","import { useContext } from 'react';\nimport { CollapseDrawerContext } from '../contexts/CollapseDrawerContext';\n\n// ----------------------------------------------------------------------\n\nconst useCollapseDrawer = () => useContext(CollapseDrawerContext);\n\nexport default useCollapseDrawer;\n","import { AppBar, Box, MenuItem, Stack, Toolbar } from '@mui/material';\n// @mui\nimport { styled } from '@mui/material/styles';\nimport { useSnackbar } from 'notistack';\nimport PropTypes from 'prop-types';\nimport { React, useEffect, useState } from 'react';\nimport moment from 'moment';\n// hooks\nimport Marquee from \"react-fast-marquee\";\nimport { useNavigate } from 'react-router-dom';\n// config\nimport {\n DASHBOARD_HEADER_DESKTOP, DASHBOARD_HEADER_MOBILE\n} from '../../../config';\n// hooks\nimport useAuth from '../../../hooks/useAuth';\nimport useCollapseDrawer from '../../../hooks/useCollapseDrawer';\nimport useIsMountedRef from '../../../hooks/useIsMountedRef';\nimport axios from '../../../utils/axios';\n// utils\nimport cssStyles from '../../../utils/cssStyles';\n// ----------------------------------------------------------------------\n\n\n\nconst RootStyle = styled(AppBar, {\n shouldForwardProp: (prop) => prop !== 'isCollapse',\n })(({ theme }) => ({\n boxShadow: 'none',\n ...cssStyles(theme).bgBlur(),\n transition: theme.transitions.create('width', {\n duration: theme.transitions.duration.shorter,\n }),\n [theme.breakpoints.up('lg')]: {\n // width: `calc(100% - ${DASHBOARD_NAVBAR_WIDTH + 1}px)`,\n // ...(isCollapse && {\n // width: `calc(100% - ${DASHBOARD_NAVBAR_COLLAPSE_WIDTH}px)`,\n // }),\n },\n }));\n\n const ToolbarStyle = styled(Toolbar)(({ theme }) => ({\n minHeight: DASHBOARD_HEADER_MOBILE,\n [theme.breakpoints.up('lg')]: {\n padding: theme.spacing(0, 0),\n minHeight: DASHBOARD_HEADER_DESKTOP,\n },\n }));\n\n DashboardHeader.propTypes = {\n onOpenSidebar: PropTypes.func,\n };\n\n //#region DashboardHeader Function\n export default function DashboardHeader({ onOpenSidebar }) {\n\n //#region Const Initialization\n const navigate = useNavigate();\n const { logout } = useAuth();\n const isMountedRef = useIsMountedRef();\n const { enqueueSnackbar } = useSnackbar();\n const { isCollapse } = useCollapseDrawer();\n\n //#endregion\n\n\n const handleLogout = async () => {\n try {\n await logout?.();\n if (isMountedRef.current) {\n navigate('/');\n }\n } catch (error) {\n console.error(error);\n enqueueSnackbar('Unable to logout', { variant: 'error' });\n }\n };\n //#endregion\n //#region Initial API Calls\n const [WeeklyGoals, setWeeklyGoals] = useState([{ID: null, GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL: '', GOAL_NUM: ''}]);\n useEffect(() => {\n const formattedDate = moment(new Date()).format().toString().split('T')[0]\n axios.get(`/api/Goal/Weekly?date=${formattedDate}`, \n {headers: {\n 'Content-Type' : 'application/json',\n 'Authorization': `Bearer ${window.localStorage.getItem('accessToken')}`\n }})\n .then((response) => {\n if ([...response.data].length > 0) {\n setWeeklyGoals([...response.data]);\n }\n })\n }, []);\n\n\n const [WorshipGoals, setWorshipGoals] = useState([{ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}]);\n useEffect(() => {\n axios.get('/api/Wealth/Worship', \n {headers: {\n 'Content-Type' : 'application/json',\n 'Authorization': `Bearer ${window.localStorage.getItem('accessToken')}`\n }})\n .then((response) => {\n if ([...response.data].length > 0) {\n setWorshipGoals([...response.data]);\n }\n })\n }, []);\n const [EducationGoals, setEducationGoals] = useState([{ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}]);\n useEffect(() => {\n axios.get('/api/Wealth/Education', \n {headers: {\n 'Content-Type' : 'application/json',\n 'Authorization': `Bearer ${window.localStorage.getItem('accessToken')}`\n }})\n .then((response) => {\n if ([...response.data].length > 0) {\n setEducationGoals([...response.data]);\n }\n })\n }, []);\n const [AffluenceGoals, setAffluenceGoals] = useState([{ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}]);\n useEffect(() => {\n axios.get('/api/Wealth/Affluence', \n {headers: {\n 'Content-Type' : 'application/json',\n 'Authorization': `Bearer ${window.localStorage.getItem('accessToken')}`\n }})\n .then((response) => {\n if ([...response.data].length > 0) {\n setAffluenceGoals([...response.data]);\n }\n })\n }, []);\n const [LifestyleGoals, setLifestyleGoals] = useState([{ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}]);\n useEffect(() => {\n axios.get('/api/Wealth/Lifestyle', \n {headers: {\n 'Content-Type' : 'application/json',\n 'Authorization': `Bearer ${window.localStorage.getItem('accessToken')}`\n }})\n .then((response) => {\n if ([...response.data].length > 0) {\n setLifestyleGoals([...response.data]);\n }\n })\n }, []);\n const [TeamGoals, setTeamGoals] = useState([{ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}]);\n useEffect(() => {\n axios.get('/api/Wealth/Team', \n {headers: {\n 'Content-Type' : 'application/json',\n 'Authorization': `Bearer ${window.localStorage.getItem('accessToken')}`\n }})\n .then((response) => {\n if ([...response.data].length > 0) {\n setTeamGoals([...response.data]);\n }\n })\n }, []);\n const [HealthGoals, setHealthGoals] = useState([{ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}, {ID: null, GOAL_TITLE: '', GOAL_TYPE: '', GOAL: '', GOAL_NUM: ''}]);\n useEffect(() => {\n axios.get('/api/Wealth/Health', \n {headers: {\n 'Content-Type' : 'application/json',\n 'Authorization': `Bearer ${window.localStorage.getItem('accessToken')}`\n }})\n .then((response) => {\n if ([...response.data].length > 0) {\n setHealthGoals([...response.data]);\n }\n })\n }, []);\n //#endregion\n //#region Ticker\n //eslint-disable-next-line\n const ticker = function(){\n document.querySelector(\"#ticker\").css({left:\"120%\"}).animate({ \"left\": \"-420px\" }, 1000, 'linear', ticker);\n\n //#endregion\n }\n //#endregion\n\n return (\n \n \n {\"Logo\"}

\n\n {/* */}\n \n\n \n {/* \n */}\n {/* */}\n\n \n Logout\n \n \n
\n
\n\n {/* Pulling from: https://npm.io/package/react-fast-marquee */}\n \n Weekly Goals: \n \n {WeeklyGoals[0].GOAL} \n {WeeklyGoals[1].GOAL} \n {WeeklyGoals[2].GOAL} \n || \n \n \n {/* Yearly WEALTH Goals */}\n Yearly WEALTH Goals: \n \n {/* Worship */}\n (W)\n {WorshipGoals[0].GOAL_TITLE}\n {((WorshipGoals[1].GOAL_TITLE !== 'Add New Goal') ? \n {WorshipGoals[1].GOAL_TITLE} \n : ''\n )}\n {((WorshipGoals[2].GOAL_TITLE !== 'Add New Goal') ? \n {WorshipGoals[2].GOAL_TITLE} \n : ''\n )}\n\n {/* Education */}\n (E)\n {EducationGoals[0].GOAL_TITLE}\n {((EducationGoals[1].GOAL_TITLE !== 'Add New Goal') ? \n {EducationGoals[1].GOAL_TITLE} \n : ''\n )}\n {((EducationGoals[2].GOAL_TITLE !== 'Add New Goal') ? \n {EducationGoals[2].GOAL_TITLE} \n : ''\n )}\n\n {/* Affluence */}\n (A)\n {AffluenceGoals[0].GOAL_TITLE}\n {((AffluenceGoals[1].GOAL_TITLE !== 'Add New Goal') ? \n {AffluenceGoals[1].GOAL_TITLE} \n : ''\n )}\n {((AffluenceGoals[2].GOAL_TITLE !== 'Add New Goal') ? \n {AffluenceGoals[2].GOAL_TITLE} \n : ''\n )}\n\n {/* Lifestyle */}\n (L)\n {LifestyleGoals[0].GOAL_TITLE}\n {((LifestyleGoals[1].GOAL_TITLE !== 'Add New Goal') ? \n {LifestyleGoals[1].GOAL_TITLE} \n : ''\n )}\n {((LifestyleGoals[2].GOAL_TITLE !== 'Add New Goal') ? \n {LifestyleGoals[2].GOAL_TITLE} \n : ''\n )}\n\n {/* Team */}\n (T)\n {TeamGoals[0].GOAL_TITLE}\n {((TeamGoals[1].GOAL_TITLE !== 'Add New Goal') ? \n {TeamGoals[1].GOAL_TITLE} \n : ''\n )}\n {((TeamGoals[2].GOAL_TITLE !== 'Add New Goal') ? \n {TeamGoals[2].GOAL_TITLE} \n : ''\n )}\n\n {/* Health */}\n (H)\n {HealthGoals[0].GOAL_TITLE}\n {((HealthGoals[1].GOAL_TITLE !== 'Add New Goal') ? \n {HealthGoals[1].GOAL_TITLE} \n : ''\n )}\n {((HealthGoals[2].GOAL_TITLE !== 'Add New Goal') ? \n {HealthGoals[2].GOAL_TITLE} \n : ''\n )}\n \n \n\n
\n
\n );\n}\n","// @mui\nimport { styled } from '@mui/material/styles';\nimport { Outlet } from 'react-router-dom';\n// config\nimport {\n DASHBOARD_HEADER_DESKTOP, DASHBOARD_HEADER_MOBILE, DASHBOARD_NAVBAR_COLLAPSE_WIDTH, DASHBOARD_NAVBAR_WIDTH\n} from '../../config';\n// hooks\nimport useCollapseDrawer from '../../hooks/useCollapseDrawer';\n//\nimport DashboardHeader from './header';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(({ theme }) => ({\n [theme.breakpoints.up('lg')]: {\n display: 'flex',\n minHeight: '100%',\n },\n}));\n\nconst MainStyle = styled('main', {\n shouldForwardProp: (prop) => prop !== 'collapseClick',\n})(({ collapseClick, theme }) => ({\n flexGrow: 1,\n paddingTop: DASHBOARD_HEADER_MOBILE + 24,\n paddingBottom: DASHBOARD_HEADER_MOBILE + 24,\n [theme.breakpoints.up('lg')]: {\n paddingLeft: 16,\n paddingRight: 16,\n paddingTop: DASHBOARD_HEADER_DESKTOP + 24,\n paddingBottom: DASHBOARD_HEADER_DESKTOP + 24,\n width: `calc(100% - ${DASHBOARD_NAVBAR_WIDTH}px)`,\n transition: theme.transitions.create('margin-left', {\n duration: theme.transitions.duration.shorter,\n }),\n ...(collapseClick && {\n marginLeft: DASHBOARD_NAVBAR_COLLAPSE_WIDTH,\n }),\n },\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function DashboardLayout() {\n const { collapseClick } = useCollapseDrawer();\n\n\n return (\n \n \n\n {/* setOpen(false)} /> */}\n\n \n \n \n \n );\n}\n","import React from 'react';\n// components\nimport Iconify from '../../components/Iconify';\n\n// ----------------------------------------------------------------------\n\nconst ICON_SIZE = {\n width: 22,\n height: 22,\n};\n\nconst menuConfig = [\n {\n title: 'Tutorial',\n icon: ,\n path: '/orientation/tutorial',\n },\n {\n title: ⎯⎯,\n icon: ,\n path: '#',\n },\n {\n title: 'Vision',\n icon: ,\n path: '/orientation/vision',\n },\n {\n title: ⎯⎯,\n icon: ,\n path: '#',\n },\n {\n title: 'Daily',\n icon: ,\n path: '/orientation/dailyHabits',\n },\n {\n title: ⎯⎯,\n icon: ,\n path: '#',\n },\n {\n title: 'Intro',\n icon: ,\n path: '/orientation/wealthIntro',\n },\n {\n title: ⎯⎯,\n icon: ,\n path: '#',\n },\n {\n title: 'W',\n icon: ,\n path: '/orientation/worshipGoals',\n },\n {\n title: 'E',\n icon: ,\n path: '/orientation/educationGoals',\n },\n {\n title: 'A',\n icon: ,\n path: '/orientation/affluenceGoals',\n },\n {\n title: 'L',\n icon: ,\n path: '/orientation/lifestyleGoals',\n },\n {\n title: 'T',\n icon: ,\n path: '/orientation/teamGoals',\n },\n {\n title: 'H',\n icon: ,\n path: '/orientation/healthGoals',\n },\n // {\n // title: ⎯⎯,\n // icon: ,\n // path: '#',\n // },\n // {\n // title: 'Monthly',\n // icon: ,\n // path: '/orientation/monthlyGoals',\n // },\n // {\n // title: ⎯⎯,\n // icon: ,\n // path: '#',\n // },\n // {\n // title: 'Weekly',\n // icon: ,\n // path: '/orientation/weeklyGoals',\n // },\n // {\n // title: ⎯⎯,\n // icon: ,\n // path: '#',\n // },\n // {\n // title: 'Daily',\n // icon: ,\n // path: '/orientation/dailyHabits',\n // },\n];\n\nexport default menuConfig;\n","import PropTypes from 'prop-types';\nimport { m } from 'framer-motion';\nimport { useState, useEffect } from 'react';\nimport { NavLink as RouterLink, useLocation } from 'react-router-dom';\n// @mui\nimport { styled } from '@mui/material/styles';\nimport { Box, Link, Grid, List, Stack, Popover, ListItem, ListSubheader, CardActionArea } from '@mui/material';\n// components\nimport Iconify from '../../components/Iconify';\n\n// ----------------------------------------------------------------------\n\nconst LinkStyle = styled(Link)(({ theme }) => ({\n ...theme.typography.subtitle2,\n color: theme.palette.text.primary,\n marginRight: theme.spacing(1),\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.shorter,\n }),\n '&:hover': {\n opacity: 0.48,\n textDecoration: 'none',\n },\n}));\n\nconst ListItemStyle = styled(ListItem)(({ theme }) => ({\n ...theme.typography.body2,\n padding: 0,\n marginTop: theme.spacing(3),\n color: theme.palette.text.secondary,\n transition: theme.transitions.create('color'),\n '&:hover': {\n color: theme.palette.text.primary,\n },\n}));\n\n// ----------------------------------------------------------------------\n\nMenuDesktop.propTypes = {\n isHome: PropTypes.bool,\n isOffset: PropTypes.bool,\n navConfig: PropTypes.array,\n};\n\nexport default function MenuDesktop({ isOffset, isHome, navConfig }) {\n const { pathname } = useLocation();\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n if (open) {\n handleClose();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pathname]);\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n return (\n \n {navConfig.map((link) => (\n \n ))}\n \n );\n}\n\n// ----------------------------------------------------------------------\n\nIconBullet.propTypes = {\n type: PropTypes.oneOf(['item', 'subheader']),\n};\n\nfunction IconBullet({ type = 'item' }) {\n return (\n \n \n \n );\n}\n\n// ----------------------------------------------------------------------\n\nMenuDesktopItem.propTypes = {\n isHome: PropTypes.bool,\n isOffset: PropTypes.bool,\n isOpen: PropTypes.bool,\n onClose: PropTypes.func,\n onOpen: PropTypes.func,\n item: PropTypes.shape({\n path: PropTypes.string,\n title: PropTypes.string,\n children: PropTypes.array,\n }),\n};\n\nfunction MenuDesktopItem({ item, isHome, isOpen, isOffset, onOpen, onClose }) {\n const { title, path, children } = item;\n\n if (children) {\n return (\n <>\n \n {title}\n \n \n\n theme.breakpoints.values.lg,\n boxShadow: (theme) => theme.customShadows.z24,\n },\n }}\n >\n \n {children.map((list) => {\n const { subheader, items } = list;\n\n return (\n \n \n \n {subheader}\n \n\n {items.map((item) => (\n \n {item.title === 'Dashboard' ? (\n \n \n \n ) : (\n <>\n \n {item.title}\n \n )}\n \n ))}\n \n \n );\n })}\n \n \n \n );\n }\n\n if (title === 'Documentation') {\n return (\n \n {title}\n \n );\n }\n\n return (\n \n {title}\n \n );\n}\n","import PropTypes from 'prop-types';\nimport { NavLink as RouterLink } from 'react-router-dom';\n// @mui\nimport { alpha, styled } from '@mui/material/styles';\nimport { Box, ListItemText, ListItemButton, ListItemIcon } from '@mui/material';\n// config\nimport {\n DASHBOARD_NAVBAR_ROOT_ITEM_HEIGHT,\n DASHBOARD_NAVBAR_SUB_ITEM_HEIGHT,\n DASHBOARD_NAVBAR_ICON_ITEM_SIZE,\n} from '../../config';\n// components\nimport Iconify from '../Iconify';\n\n// ----------------------------------------------------------------------\n\nconst ListItemStyle = styled(ListItemButton, {\n shouldForwardProp: (prop) => prop !== 'activeRoot' && prop !== 'activeSub' && prop !== 'subItem',\n})(({ activeRoot, activeSub, subItem, theme }) => ({\n ...theme.typography.body2,\n position: 'relative',\n height: DASHBOARD_NAVBAR_ROOT_ITEM_HEIGHT,\n textTransform: 'capitalize',\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1.5),\n marginBottom: theme.spacing(0.5),\n color: theme.palette.text.secondary,\n borderRadius: theme.shape.borderRadius,\n // activeRoot\n ...(activeRoot && {\n ...theme.typography.subtitle2,\n color: theme.palette.primary.main,\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n }),\n // activeSub\n ...(activeSub && {\n ...theme.typography.subtitle2,\n color: theme.palette.text.primary,\n }),\n // subItem\n ...(subItem && {\n height: DASHBOARD_NAVBAR_SUB_ITEM_HEIGHT,\n }),\n}));\n\nconst ListItemTextStyle = styled(ListItemText, {\n shouldForwardProp: (prop) => prop !== 'isCollapse',\n})(({ isCollapse, theme }) => ({\n whiteSpace: 'nowrap',\n transition: theme.transitions.create(['width', 'opacity'], {\n duration: theme.transitions.duration.shorter,\n }),\n ...(isCollapse && {\n width: 0,\n opacity: 0,\n }),\n}));\n\nconst ListItemIconStyle = styled(ListItemIcon)({\n width: DASHBOARD_NAVBAR_ICON_ITEM_SIZE,\n height: DASHBOARD_NAVBAR_ICON_ITEM_SIZE,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n '& svg': { width: '100%', height: '100%' },\n});\n\n// ----------------------------------------------------------------------\n\nNavItemRoot.propTypes = {\n active: PropTypes.bool,\n isCollapse: PropTypes.bool,\n item: PropTypes.shape({\n children: PropTypes.array,\n icon: PropTypes.any,\n info: PropTypes.any,\n path: PropTypes.string,\n title: PropTypes.string,\n }),\n onOpen: PropTypes.func,\n open: PropTypes.bool,\n};\n\nexport function NavItemRoot({ item, isCollapse, open = false, active, onOpen }) {\n const { title, path, icon, info, children } = item;\n\n const renderContent = (\n <>\n {icon && {icon}}\n \n {!isCollapse && (\n <>\n {info && info}\n {children && }\n \n )}\n \n );\n\n if (children) {\n return (\n \n {renderContent}\n \n );\n }\n\n return (\n \n {renderContent}\n \n );\n}\n\n// ----------------------------------------------------------------------\n\nNavItemSub.propTypes = {\n active: PropTypes.bool,\n item: PropTypes.shape({\n children: PropTypes.array,\n info: PropTypes.any,\n path: PropTypes.string,\n title: PropTypes.string,\n }),\n onOpen: PropTypes.func,\n open: PropTypes.bool,\n};\n\nexport function NavItemSub({ item, open = false, active, onOpen }) {\n const { title, path, info, children } = item;\n\n const renderContent = (\n <>\n \n \n {info && info}\n {children && }\n \n );\n\n if (children) {\n return (\n \n {renderContent}\n \n );\n }\n\n return (\n \n {renderContent}\n \n );\n}\n\n// ----------------------------------------------------------------------\n\nDotIcon.propTypes = {\n active: PropTypes.bool,\n};\n\nexport function DotIcon({ active }) {\n return (\n \n \n theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n }),\n ...(active && {\n transform: 'scale(2)',\n bgcolor: 'primary.main',\n }),\n }}\n />\n \n );\n}\n\n// ----------------------------------------------------------------------\n\nArrowIcon.propTypes = {\n open: PropTypes.bool,\n};\n\nexport function ArrowIcon({ open }) {\n return (\n \n );\n}\n","import PropTypes from 'prop-types';\nimport { useState } from 'react';\nimport { matchPath, useLocation } from 'react-router-dom';\n// @mui\nimport { List, Collapse } from '@mui/material';\n//\nimport { NavItemRoot, NavItemSub } from './NavItem';\n\n// ----------------------------------------------------------------------\n\nconst getActive = (path, pathname) => (path ? !!matchPath({ path, end: false }, pathname) : false);\n\nNavListRoot.propTypes = {\n isCollapse: PropTypes.bool,\n list: PropTypes.shape({\n children: PropTypes.array,\n path: PropTypes.string,\n }),\n};\n\nexport function NavListRoot({ list, isCollapse }) {\n const { pathname } = useLocation();\n\n const active = getActive(list.path, pathname);\n\n const [open, setOpen] = useState(active);\n\n const hasChildren = list.children;\n\n if (hasChildren) {\n return (\n <>\n setOpen(!open)} />\n\n {!isCollapse && (\n \n \n {(list.children || []).map((item) => (\n \n ))}\n \n \n )}\n \n );\n }\n\n return ;\n}\n\n// ----------------------------------------------------------------------\n\nNavListSub.propTypes = {\n list: PropTypes.shape({\n children: PropTypes.array,\n path: PropTypes.string,\n }),\n};\n\nfunction NavListSub({ list }) {\n const { pathname } = useLocation();\n\n const activeRoot = getActive(list.path, pathname);\n\n const [open, setOpen] = useState(activeRoot);\n\n const hasChildren = list.children;\n\n if (hasChildren) {\n return (\n <>\n setOpen(!open)} open={open} active={activeRoot} />\n\n \n \n {(list.children || []).map((item) => (\n \n ))}\n \n \n \n );\n }\n\n return ;\n}\n","import PropTypes from 'prop-types';\n// @mui\nimport { styled } from '@mui/material/styles';\nimport { List, Box, ListSubheader } from '@mui/material';\n//\nimport { NavListRoot } from './NavList';\n\n// ----------------------------------------------------------------------\n\nexport const ListSubheaderStyle = styled((props) => )(\n ({ theme }) => ({\n ...theme.typography.overline,\n paddingTop: theme.spacing(3),\n paddingLeft: theme.spacing(2),\n paddingBottom: theme.spacing(1),\n color: theme.palette.text.primary,\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.shorter,\n }),\n })\n);\n\n// ----------------------------------------------------------------------\n\nNavSection.propTypes = {\n isCollapse: PropTypes.bool,\n navConfig: PropTypes.array,\n};\n\nexport default function NavSection({ navConfig, isCollapse = false, ...other }) {\n return (\n \n {navConfig.map((group) => (\n \n \n {group.subheader}\n \n\n {group.items.map((list) => (\n \n ))}\n \n ))}\n \n );\n}\n","import { Box, Collapse, Drawer, Link, List, ListItemButton, ListItemIcon, ListItemText } from '@mui/material';\n// @mui\nimport { alpha, styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { useEffect, useState } from 'react';\nimport { NavLink as RouterLink, useLocation } from 'react-router-dom';\nimport Iconify from '../../components/Iconify';\nimport NavSection from '../../components/nav-section';\nimport Scrollbar from '../../components/Scrollbar';\n// config\nimport { DASHBOARD_NAVBAR_ROOT_ITEM_HEIGHT } from '../../config';\n\n// ----------------------------------------------------------------------\n\nconst ListItemStyle = styled(ListItemButton)(({ theme }) => ({\n ...theme.typography.body2,\n height: DASHBOARD_NAVBAR_ROOT_ITEM_HEIGHT,\n textTransform: 'capitalize',\n color: theme.palette.text.secondary,\n}));\n\n// ----------------------------------------------------------------------\n\nMenuMobile.propTypes = {\n isOffset: PropTypes.bool,\n isHome: PropTypes.bool,\n navConfig: PropTypes.array,\n};\n\nexport default function MenuMobile({ isOffset, isHome, navConfig }) {\n const { pathname } = useLocation();\n const [open, setOpen] = useState(false);\n const [drawerOpen, setDrawerOpen] = useState(false);\n\n useEffect(() => {\n if (drawerOpen) {\n handleDrawerClose();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pathname]);\n\n const handleOpen = () => {\n setOpen(!open);\n };\n\n const handleDrawerClose = () => {\n setDrawerOpen(false);\n };\n\n return (\n <>\n {/* \n \n */}\n\n \n \n \n {navConfig.map((link) => (\n \n ))}\n \n \n \n \n );\n}\n\n// ----------------------------------------------------------------------\n\nMenuMobileItem.propTypes = {\n isOpen: PropTypes.bool,\n item: PropTypes.shape({\n children: PropTypes.array,\n icon: PropTypes.any,\n path: PropTypes.string,\n title: PropTypes.string,\n }),\n onOpen: PropTypes.func,\n};\n\nfunction MenuMobileItem({ item, isOpen, onOpen }) {\n const { title, path, icon, children } = item;\n\n if (children) {\n return (\n <>\n \n {icon}\n \n \n \n\n \n \n *:not(.MuiTouchRipple-root)': { display: 'none' },\n },\n }}\n />\n \n \n \n );\n }\n\n if (title === 'Documentation') {\n return (\n \n {icon}\n \n \n );\n }\n\n if (typeof title === 'object') {\n return ('');\n }\n\n return (\n alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n },\n }}\n >\n {icon}\n \n \n );\n}\n","import { AppBar, Box, Container, Toolbar } from '@mui/material';\n// @mui\nimport { styled, useTheme } from '@mui/material/styles';\nimport { useLocation } from 'react-router-dom';\n// config\nimport { MAIN_HEADER_DESKTOP, MAIN_HEADER_MOBILE } from '../../config';\n// hooks\nimport useOffSetTop from '../../hooks/useOffSetTop';\nimport useResponsive from '../../hooks/useResponsive';\n// utils\nimport cssStyles from '../../utils/cssStyles';\nimport navConfig from './MenuConfig';\n//\nimport MenuDesktop from './MenuDesktop';\nimport MenuMobile from './MenuMobile';\n\n// ----------------------------------------------------------------------\n\nconst ToolbarStyle = styled(Toolbar)(({ theme }) => ({\n height: MAIN_HEADER_MOBILE,\n transition: theme.transitions.create(['height', 'background-color'], {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.shorter,\n }),\n [theme.breakpoints.up('md')]: {\n height: MAIN_HEADER_DESKTOP,\n },\n}));\n\nconst ToolbarShadowStyle = styled('div')(({ theme }) => ({\n left: 0,\n right: 0,\n bottom: 0,\n height: 24,\n zIndex: -1,\n margin: 'auto',\n borderRadius: '50%',\n position: 'absolute',\n width: `calc(100% - 48px)`,\n boxShadow: theme.customShadows.z8,\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function MainHeader() {\n const isOffset = useOffSetTop(100);\n\n const theme = useTheme();\n\n const { pathname } = useLocation();\n\n const isDesktop = useResponsive('up', 'md');\n\n const isHome = pathname === '/';\n\n const firstName = window.localStorage.getItem('firstName'); \n\n return (\n \n \n \n \n

{firstName}'s Planner

\n\n \n\n {isDesktop && }\n\n {/* \n Purchase Now\n */}\n\n {!isDesktop && }\n \n \n\n {isOffset && }\n
\n
\n );\n}\n","import { useState, useEffect } from 'react';\n\n// ----------------------------------------------------------------------\n\nexport default function useOffSetTop(top) {\n const [offsetTop, setOffSetTop] = useState(false);\n const isTop = top || 100;\n\n useEffect(() => {\n window.onscroll = () => {\n if (window.pageYOffset > isTop) {\n setOffSetTop(true);\n } else {\n setOffSetTop(false);\n }\n };\n return () => {\n window.onscroll = null;\n };\n }, [isTop]);\n\n return offsetTop;\n}\n\n// Usage\n// const offset = useOffSetTop(100);\n","// @mui\nimport { Box, Stack } from '@mui/material';\nimport { Outlet } from 'react-router-dom';\n//\nimport MainHeader from './MainHeader';\n\n// ----------------------------------------------------------------------\n\nexport default function OrientationLayout() {\n return (\n \n \n\n \n\n \n \n );\n}\n","import { lazy, Suspense } from 'react';\nimport { Navigate, useLocation, useRoutes } from 'react-router-dom';\nimport OWealthInstruction from 'src/pages/orientation/O_WealthInstruction';\n// components\nimport LoadingScreen from '../components/LoadingScreen';\nimport AuthGuard from '../guards/AuthGuard';\nimport DashboardLayout from '../layouts/dashboard';\n// layouts\nimport OrientationLayout from '../layouts/orientation';\n\n\n// ----------------------------------------------------------------------\n\nconst Loadable = (Component) => (props) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { pathname } = useLocation();\n\n return (\n }>\n \n \n );\n};\n\nexport default function Router() {\n return useRoutes([\n {\n path: 'auth',\n children: [\n {\n path: 'login',\n element: (\n \n ),\n },\n {\n path: 'register',\n element: (\n \n ),\n },\n { path: 'reset-password', element: },\n { path: 'recover', element: },\n ],\n },\n\n {\n path: 'orientation',\n element:(\n \n \n \n ),\n children: [\n { path: 'vision', element: },\n { path: 'tutorial', element: },\n { path: 'wealthIntro', element: },\n { path: 'dailyHabits', element: },\n // { path: 'monthlyGoals', element: },\n // { path: 'weeklyGoals', element: },\n { path: 'worshipGoals', element: },\n { path: 'educationGoals', element: },\n { path: 'affluenceGoals', element: },\n { path: 'lifestyleGoals', element: },\n { path: 'teamGoals', element: },\n { path: 'healthGoals', element: },\n // { path: 'futureSelf', element: },\n ],\n },\n \n\n // Dashboard Routes\n {\n path: 'dashboard',\n element: (\n \n \n \n ),\n children: [\n { element: , index: true },\n { path: 'app', element: },\n ],\n },\n\n // Main Routes\n {\n path: '*',\n children: [\n { path: '500', element: },\n { path: '404', element: },\n { path: '*', element: },\n ],\n },\n {\n path: '/',\n element: (\n \n \n \n ),\n children: [\n { element: , index: true },\n { path: 'app', element: },\n ],\n },\n { path: '*', element: },\n ]);\n}\n\n// IMPORT COMPONENTS\n\n// Authentication\nconst Login = Loadable(lazy(() => import('../pages/auth/Login')));\nconst Register = Loadable(lazy(() => import('../pages/auth/Register')));\nconst ResetPassword = Loadable(lazy(() => import('../pages/auth/ResetPassword')));\nconst Recover = Loadable(lazy(() => import('../pages/auth/Recover')));\n// Orientation\nconst OVision = Loadable(lazy(() => import('../pages/orientation/O_Vision')));\nconst OTutorial = Loadable(lazy(() => import('../pages/orientation/O_Tutorial')));\nconst ODailyHabits = Loadable(lazy(() => import('../pages/orientation/O_DailyHabits')));\nconst OWorshipGoals = Loadable(lazy(() => import('../pages/orientation/O_Goals_1_Worship')));\nconst OEducationGoals = Loadable(lazy(() => import('../pages/orientation/O_Goals_2_Education')));\nconst OAffluenceGoals = Loadable(lazy(() => import('../pages/orientation/O_Goals_3_Affluence')));\nconst OLifestyleGoals = Loadable(lazy(() => import('../pages/orientation/O_Goals_4_Lifestyle')));\nconst OTeamGoals = Loadable(lazy(() => import('../pages/orientation/O_Goals_5_Team')));\nconst OHealthGoals = Loadable(lazy(() => import('../pages/orientation/O_Goals_6_Health')));\n// Dashboard\nconst GeneralApp = Loadable(lazy(() => import('../pages/dashboard/GeneralApp')));\n// Main\nconst Page500 = Loadable(lazy(() => import('../pages/Page500')));\nconst NotFound = Loadable(lazy(() => import('../pages/Page404')));","// @mui\nimport { useTheme } from '@mui/material/styles';\n// hooks\nimport useResponsive from '../hooks/useResponsive';\n\n// ----------------------------------------------------------------------\n\nexport default function GetFontValue(variant) {\n const theme = useTheme();\n const breakpoints = useWidth();\n\n const key = theme.breakpoints.up(breakpoints === 'xl' ? 'lg' : breakpoints);\n\n const hasResponsive =\n variant === 'h1' ||\n variant === 'h2' ||\n variant === 'h3' ||\n variant === 'h4' ||\n variant === 'h5' ||\n variant === 'h6';\n\n const getFont =\n hasResponsive && theme.typography[variant][key] ? theme.typography[variant][key] : theme.typography[variant];\n\n const fontSize = remToPx(getFont.fontSize);\n const lineHeight = Number(theme.typography[variant].lineHeight) * fontSize;\n const { fontWeight } = theme.typography[variant];\n const { letterSpacing } = theme.typography[variant];\n\n return { fontSize, lineHeight, fontWeight, letterSpacing };\n}\n\n// ----------------------------------------------------------------------\n\nexport function remToPx(value) {\n return Math.round(parseFloat(value) * 16);\n}\n\nexport function pxToRem(value) {\n return `${value / 16}rem`;\n}\n\nexport function responsiveFontSizes({ sm, md, lg }) {\n return {\n '@media (min-width:600px)': {\n fontSize: pxToRem(sm),\n },\n '@media (min-width:900px)': {\n fontSize: pxToRem(md),\n },\n '@media (min-width:1200px)': {\n fontSize: pxToRem(lg),\n },\n };\n}\n\n// ----------------------------------------------------------------------\n\nfunction useWidth() {\n const theme = useTheme();\n const keys = [...theme.breakpoints.keys].reverse();\n return (\n keys.reduce((output, key) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const matches = useResponsive('up', key);\n return !output && matches ? key : output;\n }, null) || 'xs'\n );\n}\n","import { pxToRem, responsiveFontSizes } from '../utils/getFontValue';\n\n// ----------------------------------------------------------------------\n\nconst FONT_PRIMARY = 'Public Sans, sans-serif'; // Google Font\n// const FONT_SECONDARY = 'CircularStd, sans-serif'; // Local Font\n\nconst typography = {\n fontFamily: FONT_PRIMARY,\n fontWeightRegular: 400,\n fontWeightMedium: 600,\n fontWeightBold: 700,\n h1: {\n fontWeight: 700,\n lineHeight: 80 / 64,\n fontSize: pxToRem(40),\n letterSpacing: 2,\n ...responsiveFontSizes({ sm: 52, md: 58, lg: 64 }),\n },\n h2: {\n fontWeight: 700,\n lineHeight: 64 / 48,\n fontSize: pxToRem(32),\n ...responsiveFontSizes({ sm: 40, md: 44, lg: 48 }),\n },\n h3: {\n fontWeight: 700,\n lineHeight: 1.5,\n fontSize: pxToRem(24),\n ...responsiveFontSizes({ sm: 26, md: 30, lg: 32 }),\n },\n h4: {\n fontWeight: 700,\n lineHeight: 1.5,\n fontSize: pxToRem(20),\n ...responsiveFontSizes({ sm: 20, md: 24, lg: 24 }),\n },\n h5: {\n fontWeight: 700,\n lineHeight: 1.5,\n fontSize: pxToRem(18),\n ...responsiveFontSizes({ sm: 19, md: 20, lg: 20 }),\n },\n h6: {\n fontWeight: 700,\n lineHeight: 28 / 18,\n fontSize: pxToRem(17),\n ...responsiveFontSizes({ sm: 18, md: 18, lg: 18 }),\n },\n subtitle1: {\n fontWeight: 600,\n lineHeight: 1.5,\n fontSize: pxToRem(16),\n },\n subtitle2: {\n fontWeight: 600,\n lineHeight: 22 / 14,\n fontSize: pxToRem(14),\n },\n body1: {\n lineHeight: 1.5,\n fontSize: pxToRem(16),\n },\n body2: {\n lineHeight: 22 / 14,\n fontSize: pxToRem(14),\n },\n caption: {\n lineHeight: 1.5,\n fontSize: pxToRem(12),\n },\n overline: {\n fontWeight: 700,\n lineHeight: 1.5,\n fontSize: pxToRem(12),\n textTransform: 'uppercase',\n },\n button: {\n fontWeight: 700,\n lineHeight: 24 / 14,\n fontSize: pxToRem(14),\n textTransform: 'capitalize',\n },\n};\n\nexport default typography;\n","// ----------------------------------------------------------------------\n\nconst breakpoints = {\n values: {\n xs: 0,\n sm: 600,\n md: 900,\n lg: 1200,\n xl: 1536\n }\n};\n\nexport default breakpoints;\n","// @mui\nimport { alpha } from '@mui/material/styles';\n//\nimport palette from './palette';\n\n// ----------------------------------------------------------------------\n\nconst LIGHT_MODE = palette.light.grey[500];\nconst DARK_MODE = '#000000';\n\nconst createShadow = (color) => {\n const transparent1 = alpha(color, 0.2);\n const transparent2 = alpha(color, 0.14);\n const transparent3 = alpha(color, 0.12);\n return [\n 'none',\n `0px 2px 1px -1px ${transparent1},0px 1px 1px 0px ${transparent2},0px 1px 3px 0px ${transparent3}`,\n `0px 3px 1px -2px ${transparent1},0px 2px 2px 0px ${transparent2},0px 1px 5px 0px ${transparent3}`,\n `0px 3px 3px -2px ${transparent1},0px 3px 4px 0px ${transparent2},0px 1px 8px 0px ${transparent3}`,\n `0px 2px 4px -1px ${transparent1},0px 4px 5px 0px ${transparent2},0px 1px 10px 0px ${transparent3}`,\n `0px 3px 5px -1px ${transparent1},0px 5px 8px 0px ${transparent2},0px 1px 14px 0px ${transparent3}`,\n `0px 3px 5px -1px ${transparent1},0px 6px 10px 0px ${transparent2},0px 1px 18px 0px ${transparent3}`,\n `0px 4px 5px -2px ${transparent1},0px 7px 10px 1px ${transparent2},0px 2px 16px 1px ${transparent3}`,\n `0px 5px 5px -3px ${transparent1},0px 8px 10px 1px ${transparent2},0px 3px 14px 2px ${transparent3}`,\n `0px 5px 6px -3px ${transparent1},0px 9px 12px 1px ${transparent2},0px 3px 16px 2px ${transparent3}`,\n `0px 6px 6px -3px ${transparent1},0px 10px 14px 1px ${transparent2},0px 4px 18px 3px ${transparent3}`,\n `0px 6px 7px -4px ${transparent1},0px 11px 15px 1px ${transparent2},0px 4px 20px 3px ${transparent3}`,\n `0px 7px 8px -4px ${transparent1},0px 12px 17px 2px ${transparent2},0px 5px 22px 4px ${transparent3}`,\n `0px 7px 8px -4px ${transparent1},0px 13px 19px 2px ${transparent2},0px 5px 24px 4px ${transparent3}`,\n `0px 7px 9px -4px ${transparent1},0px 14px 21px 2px ${transparent2},0px 5px 26px 4px ${transparent3}`,\n `0px 8px 9px -5px ${transparent1},0px 15px 22px 2px ${transparent2},0px 6px 28px 5px ${transparent3}`,\n `0px 8px 10px -5px ${transparent1},0px 16px 24px 2px ${transparent2},0px 6px 30px 5px ${transparent3}`,\n `0px 8px 11px -5px ${transparent1},0px 17px 26px 2px ${transparent2},0px 6px 32px 5px ${transparent3}`,\n `0px 9px 11px -5px ${transparent1},0px 18px 28px 2px ${transparent2},0px 7px 34px 6px ${transparent3}`,\n `0px 9px 12px -6px ${transparent1},0px 19px 29px 2px ${transparent2},0px 7px 36px 6px ${transparent3}`,\n `0px 10px 13px -6px ${transparent1},0px 20px 31px 3px ${transparent2},0px 8px 38px 7px ${transparent3}`,\n `0px 10px 13px -6px ${transparent1},0px 21px 33px 3px ${transparent2},0px 8px 40px 7px ${transparent3}`,\n `0px 10px 14px -6px ${transparent1},0px 22px 35px 3px ${transparent2},0px 8px 42px 7px ${transparent3}`,\n `0px 11px 14px -7px ${transparent1},0px 23px 36px 3px ${transparent2},0px 9px 44px 8px ${transparent3}`,\n `0px 11px 15px -7px ${transparent1},0px 24px 38px 3px ${transparent2},0px 9px 46px 8px ${transparent3}`,\n ];\n};\n\nconst createCustomShadow = (color) => {\n const transparent = alpha(color, 0.12);\n return {\n z1: `0 1px 2px 0 ${transparent}`,\n z8: `0 8px 16px 0 ${transparent}`,\n z12: `0 12px 24px -4px ${transparent}`,\n z16: `0 16px 32px -4px ${transparent}`,\n z20: `0 20px 40px -4px ${transparent}`,\n z24: `0 24px 48px 0 ${transparent}`,\n primary: `0 8px 16px 0 ${alpha(palette.light.primary.main, 0.24)}`,\n info: `0 8px 16px 0 ${alpha(palette.light.info.main, 0.24)}`,\n secondary: `0 8px 16px 0 ${alpha(palette.light.secondary.main, 0.24)}`,\n success: `0 8px 16px 0 ${alpha(palette.light.success.main, 0.24)}`,\n warning: `0 8px 16px 0 ${alpha(palette.light.warning.main, 0.24)}`,\n error: `0 8px 16px 0 ${alpha(palette.light.error.main, 0.24)}`,\n };\n};\n\nexport const customShadows = {\n light: createCustomShadow(LIGHT_MODE),\n dark: createCustomShadow(DARK_MODE),\n};\n\nconst shadows = {\n light: createShadow(LIGHT_MODE),\n dark: createShadow(DARK_MODE),\n};\n\nexport default shadows;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useMemo } from 'react';\n// @mui\nimport { CssBaseline } from '@mui/material';\nimport { createTheme, ThemeProvider as MUIThemeProvider, StyledEngineProvider } from '@mui/material/styles';\n// hooks\nimport useSettings from '../hooks/useSettings';\n//\nimport palette from './palette';\nimport typography from './typography';\nimport breakpoints from './breakpoints';\nimport componentsOverride from './overrides';\nimport shadows, { customShadows } from './shadows';\n\n// ----------------------------------------------------------------------\n\nThemeProvider.propTypes = {\n children: PropTypes.node,\n};\n\nexport default function ThemeProvider({ children }) {\n const { themeMode, themeDirection } = useSettings();\n const isLight = themeMode === 'light';\n\n const themeOptions = useMemo(\n () => ({\n palette: isLight ? palette.light : palette.dark,\n typography,\n breakpoints,\n shape: { borderRadius: 8 },\n direction: themeDirection,\n shadows: isLight ? shadows.light : shadows.dark,\n customShadows: isLight ? customShadows.light : customShadows.dark,\n }),\n [isLight, themeDirection]\n );\n\n const theme = createTheme(themeOptions);\n theme.components = componentsOverride(theme);\n\n return (\n \n \n \n {children}\n \n \n );\n}\n","import React from 'react';\n// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { GlobalStyles as MUIGlobalStyles } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport default function GlobalStyles() {\n const theme = useTheme();\n\n return (\n \n );\n}\n","// routes\nimport MotionLazyContainer from './components/animate/MotionLazyContainer';\nimport { ChartStyle } from './components/chart';\nimport GoogleAnalytics from './components/GoogleAnalytics';\nimport NotistackProvider from './components/NotistackProvider';\nimport { ProgressBarStyle } from './components/ProgressBar';\nimport RtlLayout from './components/RtlLayout';\nimport ScrollToTop from './components/ScrollToTop';\nimport ThemeColorPresets from './components/ThemeColorPresets';\nimport ThemeLocalization from './components/ThemeLocalization';\nimport Router from './routes';\n// theme\nimport ThemeProvider from './theme';\nimport GlobalStyles from './theme/globalStyles';\n\n// ----------------------------------------------------------------------\n\nexport default function App() {\n return (\n \n \n \n \n \n \n \n \n \n {/* */}\n \n \n \n \n \n \n \n \n \n );\n}\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://cra.link/PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://cra.link/PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (response.status === 404 || (contentType != null && contentType.indexOf('javascript') === -1)) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","const reportWebVitals = (onPerfEntry) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","// web.config\nimport \"./web.config\";\n\n// highlight\nimport './utils/highlight';\n\n// scroll bar\nimport 'simplebar/src/simplebar.css';\n\n// lightbox\nimport 'react-image-lightbox/style.css';\n\n// map\nimport 'mapbox-gl/dist/mapbox-gl.css';\n\n// editor\nimport 'react-quill/dist/quill.snow.css';\n\n// slick-carousel\nimport 'slick-carousel/slick/slick.css';\nimport 'slick-carousel/slick/slick-theme.css';\n\n// lazy image\nimport 'react-lazy-load-image-component/src/effects/blur.css';\nimport 'react-lazy-load-image-component/src/effects/opacity.css';\nimport 'react-lazy-load-image-component/src/effects/black-and-white.css';\n\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport { HelmetProvider } from 'react-helmet-async';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { PersistGate } from 'redux-persist/lib/integration/react';\n// @mui\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\n// redux\nimport { store, persistor } from './redux/store';\n// contexts\nimport { SettingsProvider } from './contexts/SettingsContext';\nimport { CollapseDrawerProvider } from './contexts/CollapseDrawerContext';\n// components\nimport LoadingScreen from './components/LoadingScreen';\n\n// Check our docs\n// https://docs-minimals.vercel.app/authentication/ts-version\n\nimport { AuthProvider } from './contexts/JWTContext';\n// import { AuthProvider } from './contexts/AwsCognitoContext';\n// import { AuthProvider } from './contexts/Auth0Context';\n// import { AuthProvider } from './contexts/FirebaseContext';\n\n//\nimport App from './App';\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration';\nimport reportWebVitals from './reportWebVitals';\n\n// ----------------------------------------------------------------------\n\nReactDOM.render(\n \n \n } persistor={persistor}>\n \n \n \n \n \n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://cra.link/PWA\nserviceWorkerRegistration.unregister();\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nfunction getDirection(value = 'bottom') {\n return {\n top: 'to top',\n right: 'to right',\n bottom: 'to bottom',\n left: 'to left',\n }[value];\n}\n\nexport default function cssStyles(theme) {\n return {\n bgBlur: (props) => {\n const color = props?.color || theme?.palette.background.default || '#000000';\n\n const blur = props?.blur || 6;\n const opacity = props?.opacity || 0.8;\n\n return {\n backdropFilter: `blur(${blur}px)`,\n WebkitBackdropFilter: `blur(${blur}px)`, // Fix on Mobile\n backgroundColor: alpha(color, opacity),\n };\n },\n bgGradient: (props) => {\n const direction = getDirection(props?.direction);\n const startColor = props?.startColor || `${alpha('#000000', 0)} 0%`;\n const endColor = props?.endColor || '#000000 75%';\n\n return {\n background: `linear-gradient(${direction}, ${startColor}, ${endColor});`,\n };\n },\n bgImage: (props) => {\n const url = props?.url || 'https://minimal-assets-api.vercel.app/assets/images/bg_gradient.jpg';\n const direction = getDirection(props?.direction);\n const startColor = props?.startColor || alpha(theme?.palette.grey[900] || '#000000', 0.88);\n const endColor = props?.endColor || alpha(theme?.palette.grey[900] || '#000000', 0.88);\n\n return {\n background: `linear-gradient(${direction}, ${startColor}, ${endColor}), url(${url})`,\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center center',\n };\n },\n };\n}\n","import { useContext } from 'react';\nimport { AuthContext } from '../contexts/JWTContext';\n\n\n// ----------------------------------------------------------------------\n\nconst useAuth = () => useContext(AuthContext);\n\nexport default useAuth;\n","import { useRef, useEffect } from 'react';\n\n// ----------------------------------------------------------------------\n\nexport default function useIsMountedRef() {\n const isMounted = useRef(true);\n\n useEffect(\n () => () => {\n isMounted.current = false;\n },\n []\n );\n\n return isMounted;\n}\n","// @mui\nimport { Box } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport { forwardRef } from 'react';\nimport { Helmet } from 'react-helmet-async';\n\n// ----------------------------------------------------------------------\n\nconst Page = forwardRef(({ children, title = '', ...other }, ref) => {\n\n return (\n \n \n {`${title} | Wealthy Way`}\n \n {children}\n \n );\n});\n\nPage.propTypes = {\n children: PropTypes.node.isRequired,\n title: PropTypes.string,\n};\n\nexport default Page;\n","import axios from 'axios';\n// config\nimport { HOST_API } from '../config';\n\n// ----------------------------------------------------------------------\n\nconst axiosInstance = axios.create({\n baseURL: HOST_API,\n});\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => Promise.reject((error.response && error.response.data) || 'Something went wrong')\n);\n\nexport default axiosInstance;\n","import { useContext } from 'react';\nimport { SettingsContext } from '../contexts/SettingsContext';\n\n// ----------------------------------------------------------------------\n\nconst useSettings = () => useContext(SettingsContext);\n\nexport default useSettings;\n","// ----------------------------------------------------------------------\n\nfunction path(root, sublink) {\n return `${root}${sublink}`;\n}\n\nconst ROOTS_AUTH = '/auth';\nconst ROOTS_DASHBOARD = '/dashboard';\n\n// ----------------------------------------------------------------------\n\nexport const PATH_AUTH = {\n root: ROOTS_AUTH,\n login: path(ROOTS_AUTH, '/login'),\n loginUnprotected: path(ROOTS_AUTH, '/login-unprotected'),\n register: path(ROOTS_AUTH, '/register'),\n registerUnprotected: path(ROOTS_AUTH, '/register-unprotected'),\n resetPassword: path(ROOTS_AUTH, '/reset-password'),\n verify: path(ROOTS_AUTH, '/verify')\n};\n\nexport const PATH_PAGE = {\n maintenance: '/maintenance',\n page404: '/404',\n page500: '/500',\n components: '/components'\n};\n\nexport const PATH_DASHBOARD = {\n root: ROOTS_DASHBOARD,\n general: {\n app: path(ROOTS_DASHBOARD, '/app'),\n },\n};\n\nexport const PATH_DOCS = 'https://docs-minimals.vercel.app/introduction';\n","import PropTypes from 'prop-types';\nimport { LazyMotion } from 'framer-motion';\n\n// ----------------------------------------------------------------------\n\n// eslint-disable-next-line import/extensions\nconst loadFeatures = () => import('./features.js').then((res) => res.default);\n\nMotionLazyContainer.propTypes = {\n children: PropTypes.node\n};\n\nexport default function MotionLazyContainer({ children }) {\n return (\n \n {children}\n \n );\n}\n","// theme\nimport palette from '../theme/palette';\n\n// ----------------------------------------------------------------------\n\nexport const colorPresets = [\n // DEFAULT\n {\n name: 'default',\n ...palette.light.primary,\n },\n // PURPLE\n {\n name: 'purple',\n lighter: '#EBD6FD',\n light: '#B985F4',\n main: '#7635dc',\n dark: '#431A9E',\n darker: '#200A69',\n contrastText: '#fff',\n },\n // CYAN\n {\n name: 'cyan',\n lighter: '#D1FFFC',\n light: '#76F2FF',\n main: '#1CCAFF',\n dark: '#0E77B7',\n darker: '#053D7A',\n contrastText: palette.light.grey[800],\n },\n // BLUE\n {\n name: 'blue',\n lighter: '#CCDFFF',\n light: '#6697FF',\n main: '#0045FF',\n dark: '#0027B7',\n darker: '#00137A',\n contrastText: '#fff',\n },\n // ORANGE\n {\n name: 'orange',\n lighter: '#FEF4D4',\n light: '#FED680',\n main: '#fda92d',\n dark: '#B66816',\n darker: '#793908',\n contrastText: palette.light.grey[800],\n },\n // RED\n {\n name: 'red',\n lighter: '#FFE3D5',\n light: '#FFC1AC',\n main: '#FF3030',\n dark: '#B71833',\n darker: '#7A0930',\n contrastText: '#fff',\n },\n];\n\nexport const defaultPreset = colorPresets[0];\nexport const purplePreset = colorPresets[1];\nexport const cyanPreset = colorPresets[2];\nexport const bluePreset = colorPresets[3];\nexport const orangePreset = colorPresets[4];\nexport const redPreset = colorPresets[5];\n\nexport default function getColorPresets(presetsKey) {\n return {\n purple: purplePreset,\n cyan: cyanPreset,\n blue: bluePreset,\n orange: orangePreset,\n red: redPreset,\n default: defaultPreset,\n }[presetsKey];\n}\n","import PropTypes from 'prop-types';\nimport { createContext } from 'react';\n// hooks\nimport useLocalStorage from '../hooks/useLocalStorage';\n// utils\nimport getColorPresets, { colorPresets, defaultPreset } from '../utils/getColorPresets';\n// config\nimport { defaultSettings } from '../config';\n\n// ----------------------------------------------------------------------\n\nconst initialState = {\n ...defaultSettings,\n onChangeMode: () => {},\n onToggleMode: () => {},\n onChangeDirection: () => {},\n onChangeColor: () => {},\n onToggleStretch: () => {},\n onResetSetting: () => {},\n setColor: defaultPreset,\n colorOption: [],\n};\n\nconst SettingsContext = createContext(initialState);\n\nSettingsProvider.propTypes = {\n children: PropTypes.node,\n};\n\nfunction SettingsProvider({ children }) {\n const [settings, setSettings] = useLocalStorage('settings', {\n themeMode: initialState.themeMode,\n themeDirection: initialState.themeDirection,\n themeColorPresets: initialState.themeColorPresets,\n themeStretch: initialState.themeStretch,\n });\n\n const onChangeMode = (event) => {\n setSettings({\n ...settings,\n themeMode: event.target.value,\n });\n };\n\n const onToggleMode = () => {\n setSettings({\n ...settings,\n themeMode: settings.themeMode === 'light' ? 'dark' : 'light',\n });\n };\n\n const onChangeDirection = (event) => {\n setSettings({\n ...settings,\n themeDirection: event.target.value,\n });\n };\n\n const onChangeColor = (event) => {\n setSettings({\n ...settings,\n themeColorPresets: event.target.value,\n });\n };\n\n const onToggleStretch = () => {\n setSettings({\n ...settings,\n themeStretch: !settings.themeStretch,\n });\n };\n\n const onResetSetting = () => {\n setSettings({\n themeMode: initialState.themeMode,\n themeDirection: initialState.themeDirection,\n themeColorPresets: initialState.themeColorPresets,\n themeStretch: initialState.themeStretch,\n });\n };\n\n return (\n ({\n name: color.name,\n value: color.main,\n })),\n // Stretch\n onToggleStretch,\n // Reset Setting\n onResetSetting,\n }}\n >\n {children}\n \n );\n}\n\nexport { SettingsProvider, SettingsContext };\n","import { useState, useEffect } from 'react';\n\n// ----------------------------------------------------------------------\n\nexport default function useLocalStorage(key, defaultValue) {\n const [value, setValue] = useState(() => {\n const storedValue = localStorage.getItem(key);\n return storedValue === null ? defaultValue : JSON.parse(storedValue);\n });\n\n useEffect(() => {\n const listener = (e) => {\n if (e.storageArea === localStorage && e.key === key) {\n setValue(JSON.parse(e.newValue));\n }\n };\n window.addEventListener('storage', listener);\n\n return () => {\n window.removeEventListener('storage', listener);\n };\n }, [key, defaultValue]);\n\n const setValueInLocalStorage = (newValue) => {\n setValue((currentValue) => {\n const result = typeof newValue === 'function' ? newValue(currentValue) : newValue;\n localStorage.setItem(key, JSON.stringify(result));\n return result;\n });\n };\n\n return [value, setValueInLocalStorage];\n}\n","import jwtDecode from 'jwt-decode';\nimport { verify, sign } from 'jsonwebtoken';\n//\nimport axios from './axios';\n\n// ----------------------------------------------------------------------\n\nconst isValidToken = (accessToken) => {\n if (!accessToken) {\n return false;\n }\n\n const decoded = jwtDecode(accessToken);\n const currentTime = Date.now() / 1000;\n return decoded.exp > currentTime;\n};\n\n// const handleTokenExpired = (exp) => {\n// let expiredTimer;\n\n// window.clearTimeout(expiredTimer);\n// const currentTime = Date.now();\n// const timeLeft = exp * 1000 - currentTime;\n// console.log(timeLeft);\n// expiredTimer = window.setTimeout(() => {\n// console.log('expired');\n// // You can do what ever you want here, like show a notification\n// }, timeLeft);\n// };\n\nconst setSession = (accessToken) => {\n if (accessToken) {\n window.localStorage.setItem('accessToken', accessToken);\n axios.defaults.headers.common.Authorization = `Bearer ${accessToken}`;\n // This function below will handle when token is expired\n // const { exp } = jwtDecode(accessToken);\n // handleTokenExpired(exp);\n } else {\n localStorage.removeItem('accessToken');\n localStorage.removeItem('orientationComplete');\n localStorage.removeItem('lastlogin');\n localStorage.removeItem('firstName');\n localStorage.removeItem('wealth60Started');\n\n delete axios.defaults.headers.common.Authorization;\n }\n};\n\nconst setLoginInfo = (orientationComplete, lastlogin, firstName, startedchallenge) =>{\n window.localStorage.setItem('orientationComplete', orientationComplete);\n window.localStorage.setItem('lastlogin', lastlogin);\n window.localStorage.setItem('firstName', firstName);\n window.localStorage.setItem('wealth60Started', startedchallenge);\n};\n\nexport { isValidToken, setSession, setLoginInfo, verify, sign };\n","import PropTypes from 'prop-types';\nimport { createContext, useEffect, useReducer } from 'react';\n// utils\nimport axios from '../utils/axios';\nimport { isValidToken, setLoginInfo, setSession } from '../utils/jwt';\n\n// ----------------------------------------------------------------------\n\nconst initialState = {\n isAuthenticated: false,\n isInitialized: false,\n user: null\n};\n\nconst handlers = {\n INITIALIZE: (state, action) => {\n const { isAuthenticated, user } = action.payload;\n return {\n ...state,\n isAuthenticated,\n isInitialized: true,\n user\n };\n },\n LOGIN: (state, action) => {\n const { user } = action.payload;\n\n return {\n ...state,\n isAuthenticated: true,\n user\n };\n },\n LOGOUT: (state) => ({\n ...state,\n isAuthenticated: false,\n user: null\n }),\n REGISTER: (state, action) => {\n const { user } = action.payload;\n\n return {\n ...state,\n isAuthenticated: true,\n user\n };\n }, \n // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n // Orientation Calls Here\n // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n ORIENTATIONPOST: (state, action) => {\n const { user } = action.payload;\n\n return {\n ...state,\n isAuthenticated: true,\n user\n };\n },\n};\n\nconst reducer = (state, action) => (handlers[action.type] ? handlers[action.type](state, action) : state);\n\nconst AuthContext = createContext({\n ...initialState,\n method: 'jwt',\n login: () => Promise.resolve(),\n logout: () => Promise.resolve(),\n register: () => Promise.resolve(),\n // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n // Orientation Calls Here\n // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n orientationPOST: () => Promise.resolve(),\n \n});\n\nAuthProvider.propTypes = {\n children: PropTypes.node\n};\n\nfunction AuthProvider({ children }) {\n const [state, dispatch] = useReducer(reducer, initialState);\n\n useEffect(() => {\n const initialize = async () => {\n try {\n const accessToken = window.localStorage.getItem('accessToken');\n\n if (accessToken && isValidToken(accessToken)) {\n setSession(accessToken);\n\n const response = await axios.get('/api/account/my-account');\n const { user } = response.data;\n\n dispatch({\n type: 'INITIALIZE',\n payload: {\n isAuthenticated: true,\n user\n }\n });\n } else {\n dispatch({\n type: 'INITIALIZE',\n payload: {\n isAuthenticated: false,\n user: \"SOMETHING\"\n }\n });\n }\n } catch (err) {\n console.error(err);\n dispatch({\n type: 'INITIALIZE',\n payload: {\n isAuthenticated: false,\n user: \"SOMETHING\"\n }\n });\n }\n };\n\n initialize();\n }, []);\n\n const login = async (email, password) => {\n const response = await axios.post('/api/account/login', {\n email,\n password\n });\n const { accessToken, user } = response.data;\n setSession(accessToken);\n setLoginInfo(user.orientationcomplete, user.lastlogin, user.firstname, user.startedchallenge)\n\n dispatch({\n type: 'LOGIN',\n payload: {\n user\n }\n });\n };\n\n const register = async (email, password, firstName, lastName, phoneNumber, birthday, gender, zipCode) => {\n const response = await axios.post('/api/account/register', JSON.stringify({\n email,\n password,\n firstName,\n lastName,\n phoneNumber,\n birthday,\n gender,\n zipCode\n }), {headers: {\n 'Content-Type' : 'application/json'\n }});\n const { accessToken, user } = response.data;\n\n setSession(accessToken);\n setLoginInfo(user.orientationcomplete, user.lastlogin, user.firstname, user.startedchallenge)\n\n dispatch({\n type: 'REGISTER',\n payload: {\n user\n }\n });\n };\n\n const logout = async () => {\n setSession(null);\n dispatch({ type: 'LOGOUT' });\n };\n\n// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Orientation Calls Here\n// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n // aspectArray = Object of Submit Content\n // endpoint = What Link the API Call Makes (Health)\n // FutureSelf = api/FutureSelf\n // DailyHabits = api/DailyHabit\n // WEALTH = api/Wealth/(Goal) ? Goal = Worship/Education/Affluence/...\n // localStorageName = name of localStorage variable (HealthGoals)\n\n const orientationPOST = async (aspectArray, endpoint ) => {\n const body = JSON.stringify({\n aspectArray\n })\n\n let cleanBody = body.replace('{\"aspectArray\":', ''); \n cleanBody = cleanBody.slice(0, cleanBody.length-1); \n\n const response = await axios.post(`/api/${endpoint}`, cleanBody, \n {headers: {\n 'Content-Type' : 'application/json'\n }});\n const { user } = response.data;\n\n dispatch({\n type: 'ORIENTATIONPOST',\n payload: {\n user\n }\n });\n };\n\n const resetPassword = async (email) => {\n\n await axios.get(`/api/Account/reset-password-request?email=${email}`, \n {headers: {\n 'Content-Type' : 'application/json'\n }});\n };\n\n const updateProfile = () => {};\n\n return (\n \n {children}\n \n );\n}\n\nexport { AuthContext, AuthProvider };\n\n","// API\n// ----------------------------------------------------------------------\n\nexport const HOST_API = process.env.REACT_APP_HOST_API_KEY || '';\n\nexport const FIREBASE_API = {\n apiKey: process.env.REACT_APP_FIREBASE_API_KEY,\n authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,\n databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,\n projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,\n storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,\n messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,\n appId: process.env.REACT_APP_FIREBASE_APPID,\n measurementId: process.env.REACT_APP_FIREBASE_MEASUREMENT_ID,\n};\n\nexport const COGNITO_API = {\n userPoolId: process.env.REACT_APP_AWS_COGNITO_USER_POOL_ID,\n clientId: process.env.REACT_APP_AWS_COGNITO_CLIENT_ID,\n};\n\nexport const AUTH0_API = {\n clientId: process.env.REACT_APP_AUTH0_CLIENT_ID,\n domain: process.env.REACT_APP_AUTH0_DOMAIN,\n};\n\nexport const MAPBOX_API = process.env.REACT_APP_MAPBOX;\n\nexport const GOOGLE_ANALYTICS_API = process.env.REACT_APP_GA_MEASUREMENT_ID;\n\n// LAYOUT\n// ----------------------------------------------------------------------\n\nexport const DRAWER_WIDTH = 260;\n\nexport const DASHBOARD_HEADER_MOBILE = 64;\nexport const DASHBOARD_HEADER_DESKTOP = 92;\nexport const DASHBOARD_NAVBAR_WIDTH = 280;\nexport const DASHBOARD_NAVBAR_COLLAPSE_WIDTH = 88;\n\nexport const DASHBOARD_NAVBAR_ROOT_ITEM_HEIGHT = 48;\nexport const DASHBOARD_NAVBAR_SUB_ITEM_HEIGHT = 40;\nexport const DASHBOARD_NAVBAR_ICON_ITEM_SIZE = 22;\n\nexport const MAIN_HEADER_DESKTOP = 88;\nexport const MAIN_HEADER_MOBILE = 64;\n\n// SETTINGS\n// ----------------------------------------------------------------------\n\nexport const defaultSettings = {\n themeMode: 'main',\n themeDirection: 'ltr',\n themeColorPresets: 'default',\n themeStretch: false,\n};\n","import PropTypes from 'prop-types';\n// icons\nimport { Icon } from '@iconify/react';\n// @mui\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nIconify.propTypes = {\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n sx: PropTypes.object,\n};\n\nexport default function Iconify({ icon, sx, ...other }) {\n return ;\n}\n","// ----------------------------------------------------------------------\n\nexport const TRANSITION = {\n duration: 2,\n ease: [0.43, 0.13, 0.23, 0.96]\n};\n\nexport const varPath = {\n animate: {\n fillOpacity: [0, 0, 1],\n pathLength: [1, 0.4, 0],\n transition: TRANSITION\n }\n};\n","// ----------------------------------------------------------------------\n\nexport const varTranHover = (props) => {\n const duration = props?.duration || 0.32;\n const ease = props?.ease || [0.43, 0.13, 0.23, 0.96];\n\n return { duration, ease };\n};\n\nexport const varTranEnter = (props) => {\n const duration = props?.durationIn || 0.64;\n const ease = props?.easeIn || [0.43, 0.13, 0.23, 0.96];\n\n return { duration, ease };\n};\n\nexport const varTranExit = (props) => {\n const duration = props?.durationOut || 0.48;\n const ease = props?.easeOut || [0.43, 0.13, 0.23, 0.96];\n\n return { duration, ease };\n};\n","import { varTranEnter, varTranExit } from './transition';\n\n// ----------------------------------------------------------------------\n\nexport const varFade = (props) => {\n const distance = props?.distance || 120;\n const durationIn = props?.durationIn;\n const durationOut = props?.durationOut;\n const easeIn = props?.easeIn;\n const easeOut = props?.easeOut;\n\n return {\n // IN\n in: {\n initial: { opacity: 0 },\n animate: { opacity: 1, transition: varTranEnter },\n exit: { opacity: 0, transition: varTranExit }\n },\n inUp: {\n initial: { y: distance, opacity: 0 },\n animate: { y: 0, opacity: 1, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { y: distance, opacity: 0, transition: varTranExit({ durationOut, easeOut }) }\n },\n inDown: {\n initial: { y: -distance, opacity: 0 },\n animate: { y: 0, opacity: 1, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { y: -distance, opacity: 0, transition: varTranExit({ durationOut, easeOut }) }\n },\n inLeft: {\n initial: { x: -distance, opacity: 0 },\n animate: { x: 0, opacity: 1, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { x: -distance, opacity: 0, transition: varTranExit({ durationOut, easeOut }) }\n },\n inRight: {\n initial: { x: distance, opacity: 0 },\n animate: { x: 0, opacity: 1, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { x: distance, opacity: 0, transition: varTranExit({ durationOut, easeOut }) }\n },\n\n // OUT\n out: {\n initial: { opacity: 1 },\n animate: { opacity: 0, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { opacity: 1, transition: varTranExit({ durationOut, easeOut }) }\n },\n outUp: {\n initial: { y: 0, opacity: 1 },\n animate: { y: -distance, opacity: 0, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { y: 0, opacity: 1, transition: varTranExit({ durationOut, easeOut }) }\n },\n outDown: {\n initial: { y: 0, opacity: 1 },\n animate: { y: distance, opacity: 0, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { y: 0, opacity: 1, transition: varTranExit({ durationOut, easeOut }) }\n },\n outLeft: {\n initial: { x: 0, opacity: 1 },\n animate: { x: -distance, opacity: 0, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { x: 0, opacity: 1, transition: varTranExit({ durationOut, easeOut }) }\n },\n outRight: {\n initial: { x: 0, opacity: 1 },\n animate: { x: distance, opacity: 0, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { x: 0, opacity: 1, transition: varTranExit({ durationOut, easeOut }) }\n }\n };\n};\n","import { varTranEnter, varTranExit } from './transition';\n\n// ----------------------------------------------------------------------\n\nexport const varBounce = (props) => {\n const durationIn = props?.durationIn;\n const durationOut = props?.durationOut;\n const easeIn = props?.easeIn;\n const easeOut = props?.easeOut;\n\n return {\n // IN\n in: {\n animate: {\n scale: [0.3, 1.1, 0.9, 1.03, 0.97, 1],\n opacity: [0, 1, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn })\n },\n exit: { scale: [0.9, 1.1, 0.3], opacity: [1, 1, 0] }\n },\n inUp: {\n animate: {\n y: [720, -24, 12, -4, 0],\n scaleY: [4, 0.9, 0.95, 0.985, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: { ...varTranEnter({ durationIn, easeIn }) }\n },\n exit: {\n y: [12, -24, 720],\n scaleY: [0.985, 0.9, 3],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut })\n }\n },\n inDown: {\n animate: {\n y: [-720, 24, -12, 4, 0],\n scaleY: [4, 0.9, 0.95, 0.985, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn })\n },\n exit: {\n y: [-12, 24, -720],\n scaleY: [0.985, 0.9, 3],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut })\n }\n },\n inLeft: {\n animate: {\n x: [-720, 24, -12, 4, 0],\n scaleX: [3, 1, 0.98, 0.995, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn })\n },\n exit: {\n x: [0, 24, -720],\n scaleX: [1, 0.9, 2],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut })\n }\n },\n inRight: {\n animate: {\n x: [720, -24, 12, -4, 0],\n scaleX: [3, 1, 0.98, 0.995, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn })\n },\n exit: {\n x: [0, -24, 720],\n scaleX: [1, 0.9, 2],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut })\n }\n },\n\n // OUT\n out: {\n animate: { scale: [0.9, 1.1, 0.3], opacity: [1, 1, 0] }\n },\n outUp: {\n animate: { y: [-12, 24, -720], scaleY: [0.985, 0.9, 3], opacity: [1, 1, 0] }\n },\n outDown: {\n animate: { y: [12, -24, 720], scaleY: [0.985, 0.9, 3], opacity: [1, 1, 0] }\n },\n outLeft: {\n animate: { x: [0, 24, -720], scaleX: [1, 0.9, 2], opacity: [1, 1, 0] }\n },\n outRight: {\n animate: { x: [0, -24, 720], scaleX: [1, 0.9, 2], opacity: [1, 1, 0] }\n }\n };\n};\n","// ----------------------------------------------------------------------\n\nexport const varContainer = (props) => {\n const staggerIn = props?.staggerIn || 0.05;\n const delayIn = props?.staggerIn || 0.05;\n const staggerOut = props?.staggerIn || 0.05;\n\n return {\n animate: {\n transition: {\n staggerChildren: staggerIn,\n delayChildren: delayIn\n }\n },\n exit: {\n transition: {\n staggerChildren: staggerOut,\n staggerDirection: -1\n }\n }\n };\n};\n","import PropTypes from 'prop-types';\nimport { m } from 'framer-motion';\nimport { forwardRef } from 'react';\n// @mui\nimport { Box, IconButton } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nconst IconButtonAnimate = forwardRef(({ children, size = 'medium', ...other }, ref) => (\n \n \n {children}\n \n \n));\n\nIconButtonAnimate.propTypes = {\n children: PropTypes.node.isRequired,\n color: PropTypes.oneOf(['inherit', 'default', 'primary', 'secondary', 'info', 'success', 'warning', 'error']),\n size: PropTypes.oneOf(['small', 'medium', 'large'])\n};\n\nexport default IconButtonAnimate;\n\n// ----------------------------------------------------------------------\n\nconst varSmall = {\n hover: { scale: 1.1 },\n tap: { scale: 0.95 }\n};\n\nconst varMedium = {\n hover: { scale: 1.09 },\n tap: { scale: 0.97 }\n};\n\nconst varLarge = {\n hover: { scale: 1.08 },\n tap: { scale: 0.99 }\n};\n\nAnimateWrap.propTypes = {\n children: PropTypes.node.isRequired,\n size: PropTypes.oneOf(['small', 'medium', 'large'])\n};\n\nfunction AnimateWrap({ size, children }) {\n const isSmall = size === 'small';\n const isLarge = size === 'large';\n\n return (\n \n {children}\n \n );\n}\n","import PropTypes from 'prop-types';\nimport { m } from 'framer-motion';\n// @mui\nimport { Box } from '@mui/material';\n//\nimport { varContainer } from './variants';\n\n// ----------------------------------------------------------------------\n\nMotionContainer.propTypes = {\n action: PropTypes.bool,\n animate: PropTypes.bool,\n children: PropTypes.node.isRequired\n};\n\nexport default function MotionContainer({ animate, action = false, children, ...other }) {\n if (action) {\n return (\n \n {children}\n \n );\n }\n\n return (\n \n {children}\n \n );\n}\n","import PropTypes from 'prop-types';\nimport SimpleBarReact from 'simplebar-react';\n// @mui\nimport { alpha, styled } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(() => ({\n flexGrow: 1,\n height: '100%',\n overflow: 'hidden',\n}));\n\nconst SimpleBarStyle = styled(SimpleBarReact)(({ theme }) => ({\n maxHeight: '100%',\n '& .simplebar-scrollbar': {\n '&:before': {\n backgroundColor: alpha(theme.palette.grey[600], 0.48),\n },\n '&.simplebar-visible:before': {\n opacity: 1,\n },\n },\n '& .simplebar-track.simplebar-vertical': {\n width: 10,\n },\n '& .simplebar-track.simplebar-horizontal .simplebar-scrollbar': {\n height: 6,\n },\n '& .simplebar-mask': {\n zIndex: 'inherit',\n },\n}));\n\n// ----------------------------------------------------------------------\n\nScrollbar.propTypes = {\n children: PropTypes.node.isRequired,\n sx: PropTypes.object,\n};\n\nexport default function Scrollbar({ children, sx, ...other }) {\n const userAgent = typeof navigator === 'undefined' ? 'SSR' : navigator.userAgent;\n\n const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);\n\n if (isMobile) {\n return (\n \n {children}\n \n );\n }\n\n return (\n \n \n {children}\n \n \n );\n}\n","import React from 'react';\nimport { LoadingButton } from '@mui/lab';\n// @mui\nimport { Alert, Checkbox, FormControlLabel, IconButton, InputAdornment, Link, Stack, TextField } from '@mui/material';\nimport { Form, FormikProvider, useFormik } from 'formik';\nimport { useSnackbar } from 'notistack';\nimport { useState } from 'react';\nimport { Link as RouterLink, useNavigate } from 'react-router-dom';\nimport * as Yup from 'yup';\nimport { IconButtonAnimate } from '../../../components/animate';\n// components\nimport Iconify from '../../../components/Iconify';\n// hooks\nimport useAuth from '../../../hooks/useAuth';\nimport useIsMountedRef from '../../../hooks/useIsMountedRef';\n// routes\nimport { PATH_AUTH } from '../../../routes/paths';\n\n// ----------------------------------------------------------------------\n\nexport default function LoginForm() {\n const { login } = useAuth();\n const navigate = useNavigate();\n const isMountedRef = useIsMountedRef();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const [showPassword, setShowPassword] = useState(false);\n \n\n const LoginSchema = Yup.object().shape({\n email: Yup.string().email('Email must be a valid email address').required('Email is required'),\n password: Yup.string().required('Password is required'),\n });\n\n const formik = useFormik({\n initialValues: {\n email: '',\n password: '',\n remember: true,\n },\n validationSchema: LoginSchema,\n onSubmit: async (values, { setErrors, setSubmitting, resetForm }) => {\n try {\n await login(values.email, values.password)\n if(localStorage.getItem('orientationComplete') === 'false'){\n navigate('/orientation/tutorial')\n }\n else if(localStorage.getItem('lastlogin') < new Date().toLocaleDateString()){\n alert(\"YOU NEED TO DO YOUR LOGS123!!!!!\")\n navigate('/dashboard')\n }\n else navigate('/dashboard')\n \n enqueueSnackbar('Login success', {\n variant: 'success',\n action: (key) => (\n closeSnackbar(key)}>\n \n \n ),\n });\n if (isMountedRef.current) {\n setSubmitting(false);\n }\n } catch (error) {\n resetForm();\n if (isMountedRef.current) {\n setSubmitting(false);\n setErrors({ afterSubmit: error.message });\n }\n }\n },\n });\n\n const { errors, touched, values, isSubmitting, handleSubmit, getFieldProps } = formik;\n\n const handleShowPassword = () => {\n setShowPassword((show) => !show);\n };\n\n return (\n \n
\n \n {errors.afterSubmit && {errors.afterSubmit}}\n\n \n\n \n \n \n \n \n ),\n }}\n error={Boolean(touched.password && errors.password)}\n helperText={touched.password && errors.password}\n />\n \n\n \n }\n label=\"Remember me\"\n />\n\n \n Forgot password?\n \n \n\n \n Login\n \n
\n
\n );\n}\n","import { Box, Container, Link, Stack, Typography } from '@mui/material';\n// @mui\nimport { styled } from '@mui/material/styles';\nimport { Link as RouterLink } from 'react-router-dom';\n// components\nimport Page from '../../components/Page';\n// routes\nimport { PATH_AUTH } from '../../routes/paths';\n// sections\nimport { LoginForm } from '../../sections/auth/login';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(({ theme }) => ({\n [theme.breakpoints.up('md')]: {\n display: 'flex',\n },\n}));\n\nconst ContentStyle = styled('div')(({ theme }) => ({\n maxWidth: 500,\n margin: 'auto',\n display: 'flex',\n minHeight: '100vh',\n flexDirection: 'column',\n justifyContent: 'center',\n padding: theme.spacing(2, 0),\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function Login() {\n return (\n \n \n \n \n \n \n {\"Logo\"}

\n
\n
\n \n \n \n Sign in to the Wealthy Way Planner\n \n Enter your details below\n \n \n\n \n \n Don’t have an account?{' '}\n \n Sign Up!\n \n \n
\n
\n
\n
\n
\n );\n}\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nfunction createGradient(color1, color2) {\n return `linear-gradient(to bottom, ${color1}, ${color2})`;\n}\n\n// SETUP COLORS\nconst PRIMARY = {\n lighter: '#C8FACD',\n light: '#e7bd6a',\n main: '#D6AD5C',\n dark: '#D6AD5C',\n darker: '#a17a2e',\n};\nconst SECONDARY = {\n lighter: '#D6E4FF',\n light: '#84A9FF',\n main: '#3366FF',\n dark: '#1939B7',\n darker: '#091A7A',\n};\nconst INFO = {\n lighter: '#D0F2FF',\n light: '#74CAFF',\n main: '#1890FF',\n dark: '#0C53B7',\n darker: '#04297A',\n};\nconst SUCCESS = {\n lighter: '#E9FCD4',\n light: '#AAF27F',\n main: '#54D62C',\n dark: '#229A16',\n darker: '#08660D',\n};\nconst WARNING = {\n lighter: '#FFF7CD',\n light: '#FFE16A',\n main: '#FFC107',\n dark: '#B78103',\n darker: '#7A4F01',\n};\nconst ERROR = {\n lighter: '#FFE7D9',\n light: '#FFA48D',\n main: '#FF4842',\n dark: '#B72136',\n darker: '#7A0C2E',\n};\n\nconst GREY = {\n 0: '#FFFFFF',\n 100: '#F9FAFB',\n 200: '#F4F6F8',\n 300: '#DFE3E8',\n 400: '#C4CDD5',\n 500: '#919EAB',\n 600: '#637381',\n 700: '#454F5B',\n 800: '#161b21',\n 900: '#000000',\n 500_8: alpha('#919EAB', 0.08),\n 500_12: alpha('#919EAB', 0.12),\n 500_16: alpha('#919EAB', 0.16),\n 500_24: alpha('#919EAB', 0.24),\n 500_32: alpha('#919EAB', 0.32),\n 500_48: alpha('#919EAB', 0.48),\n 500_56: alpha('#919EAB', 0.56),\n 500_80: alpha('#919EAB', 0.8),\n};\n\nconst GRADIENTS = {\n primary: createGradient(PRIMARY.light, PRIMARY.main),\n info: createGradient(INFO.light, INFO.main),\n success: createGradient(SUCCESS.light, SUCCESS.main),\n warning: createGradient(WARNING.light, WARNING.main),\n error: createGradient(ERROR.light, ERROR.main),\n};\n\nconst CHART_COLORS = {\n violet: ['#826AF9', '#9E86FF', '#D0AEFF', '#F7D2FF'],\n blue: ['#2D99FF', '#83CFFF', '#A5F3FF', '#CCFAFF'],\n green: ['#2CD9C5', '#60F1C8', '#A4F7CC', '#C0F2DC'],\n yellow: ['#FFE700', '#FFEF5A', '#FFF7AE', '#FFF3D6'],\n red: ['#FF6C40', '#FF8F6D', '#FFBD98', '#FFF2D4'],\n};\n\nconst COMMON = {\n common: { black: '#000', white: '#fff' },\n primary: { ...PRIMARY, contrastText: '#fff' },\n secondary: { ...SECONDARY, contrastText: '#fff' },\n info: { ...INFO, contrastText: '#fff' },\n success: { ...SUCCESS, contrastText: GREY[800] },\n warning: { ...WARNING, contrastText: GREY[800] },\n error: { ...ERROR, contrastText: '#fff' },\n grey: GREY,\n gradients: GRADIENTS,\n chart: CHART_COLORS,\n divider: GREY[500_24],\n action: {\n hover: GREY[500_8],\n selected: GREY[500_16],\n disabled: GREY[500_80],\n disabledBackground: GREY[500_24],\n focus: GREY[500_24],\n hoverOpacity: 0.08,\n disabledOpacity: 0.48,\n },\n};\n\nconst palette = {\n light: {\n ...COMMON,\n mode: 'light',\n text: { primary: GREY[800], secondary: GREY[600], disabled: GREY[500] },\n background: { paper: '#fff', default: '#fff', neutral: GREY[200] },\n action: { active: GREY[600], ...COMMON.action },\n },\n dark: {\n ...COMMON,\n mode: 'dark',\n text: { primary: '#fff', secondary: GREY[500], disabled: GREY[600] },\n background: { paper: GREY[800], default: GREY[900], neutral: GREY[500_16] },\n action: { active: GREY[500], ...COMMON.action },\n },\n};\n\nexport default palette;\n"],"sourceRoot":""}