{"version":3,"sources":["utility/hooks/useSkin.js","assets/Components/ModalCompo.js","redux/actions/auth/index.js","@core/auth/jwt/jwtDefaultConfig.js","@core/auth/jwt/jwtService.js","auth/jwt/useJwt.js","@core/auth/jwt/useJwt.js","CacheBuster.js","Action-Creators/Api-Management/index.js","redux/actions/layout/index.js","@core/layouts/components/layout-wrapper/index.js","router/routes/index.js","router/routes/Apps.js","router/routes/Pages.js","router/routes/Website.js","@core/layouts/BlankLayout.js","@core/components/customizer/index.js","@core/layouts/components/footer/index.js","@core/layouts/components/navbar/IntlDropdown.js","assets/images/avatars/NazimPic.png","@core/layouts/components/navbar/UserDropdown.js","@core/layouts/components/navbar/NavbarSearch.js","@core/layouts/components/navbar/NotificationDropdown.js","assets/Components/Fullscreen.js","@core/layouts/components/navbar/NavbarUser.js","@core/layouts/components/navbar/NavbarBookmarks.js","@core/layouts/components/navbar/index.js","assets/images/zamzam/FatwaWhite.png","@core/layouts/components/menu/vertical-menu/VerticalMenuHeader.js","navigation/vertical/apps.js","navigation/vertical/pages.js","navigation/vertical/forms.js","navigation/vertical/tables.js","navigation/vertical/others.js","navigation/vertical/dashboards.js","navigation/vertical/ui-elements.js","navigation/vertical/index.js","navigation/vertical/charts-maps.js","@core/layouts/utils.js","@core/layouts/components/menu/vertical-menu/VerticalNavMenuLink.js","@core/layouts/components/menu/vertical-menu/VerticalNavMenuGroup.js","@core/layouts/components/menu/vertical-menu/VerticalNavMenuSectionHeader.js","@core/layouts/components/menu/vertical-menu/VerticalNavMenuItems.js","@core/layouts/components/menu/vertical-menu/index.js","utility/hooks/useRTL.js","utility/hooks/useNavbarType.js","utility/hooks/useFooterType.js","utility/hooks/useNavbarColor.js","assets/Components/PageCompo.js","@core/layouts/VerticalLayout.js","layouts/VerticalLayout.js","@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuLink.js","@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuGroup.js","@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuItems.js","@core/layouts/components/menu/horizontal-menu/index.js","@core/layouts/HorizontalLayout.js","layouts/HorizontalLayout.js","router/Router.js","utility/hooks/useLayout.js","utility/hooks/useRouterTransition.js","views/OfflinePageNew/offlinePage.js","App.js","utility/Utils.js","@core/components/avatar/index.js","IdleTimerContainer.js"],"names":["useSkin","skin","setSkin","useState","item","window","localStorage","getItem","JSON","parse","themeConfig","layout","error","console","log","useEffect","element","document","body","classNames","dark","bordered","classList","remove","add","value","valueToStore","Function","setItem","stringify","ModalCompo","props","loader","Modelbody","Cancel","Submit","Modalheader","HandleModalAccept","HandleModelReject","basicModal","setBasicModal","modelcom","_jsxs","Modal","centered","isOpen","toggle","children","_jsx","ModalHeader","ModalBody","ModalFooter","Button","onClick","color","config","useJwt","jwtConfig","handleLogin","data","dispatch","type","storageTokenKeyName","storageRefreshTokenKeyName","accessToken","refreshToken","loginEndpoint","registerEndpoint","refreshEndpoint","logoutEndpoint","tokenType","JwtService","constructor","jwtOverrideConfig","jwtDefaultConfig","isAlreadyFetchingAccessToken","subscribers","this","axios","interceptors","request","use","getToken","headers","Authorization","concat","Promise","reject","response","originalRequest","status","sendMessageToRN","ReactNativeWebView","postMessage","clear","sessionStorage","location","assign","resolve","addSubscriber","onAccessTokenFetched","filter","callback","push","getRefreshToken","setToken","setRefreshToken","login","_len","arguments","length","args","Array","_key","post","register","_len2","_key2","jwt","global","appVersion","packageJson","version","CacheBuster","React","Component","super","state","loading","isLatestVersion","refreshCacheAndReload","caches","keys","then","names","name","delete","reload","componentDidMount","fetch","json","meta","latestVersion","semverGreaterThan","versionA","versionB","versionsA","split","versionsB","a","Number","shift","b","isNaN","setState","render","ROOTURL","USER_VERIFY_EMAIL","_ref2","res","payload","catch","err","_err$response","_err$response$data","toast","Description","autoClose","msg","VALIDATE_PASSWORD","_ref4","_res$data","_res$data$UserInfo","_res$data$UserInfo$Ro","UserInfo","Role","ID","logOutAPi","_ref6","options","sid","at","GET_NOTIFICATION","setloader","get","_err$response2","NotificationSingleClear","_ref7","setloader1","Notifications","ApproveTeamQAllGet","PageData","pageNo","perPage","searchKey","UserprofileGet","_ref8","ApproveTeamApproveListGet","ApproveTeamRejectListGet","ATEAMQuestionApprove","_ref9","setmodel1","put","ATEAMQuestionReject","_ref10","QUESTIONS_MO_GET","async","GET_MO_ACCEPT_LIST","GET_MO_REJECTED_LIST","GET_MO_ANSWERED_LIST","ModeratorQuestionApprove","_ref11","setmodal1","ModeratorQuestionAnswerandApprove","_ref12","ModeratorQuestionREJECT","_ref13","setmodal2","ModeratorQuestionREVERT","_ref14","setmodal3","SIDE_MENU_API","FCS_ADMIN_PUBLISH_QUESTION","_ref15","questionId","publish","FcsWorkingBucket","bool","sideName","_ref16","setTotalRows","_res$data2","total","FcsWorkingPublish","dataview","_ref17","setloading","_res$data3","MuftiListApi","_ref18","setSelectMufti","ignore","map","e","UserID","label","UserName","MuftiWorkingQuestionSelect","_ref19","AssignQuestionToMufti","_ref20","prevCount","MuftiWorkingListCount","MuftiWorkingDraft","MuftiWorkingInbox","NOTES_FOR_QUESTIONARY","_ref21","setdescription","_res$data4","_res$data4$note","note","Notes","DAILY_QUOTA","_ref22","setdailyQuota","_res$data5","quota","QUESTION_STATE","_ref23","_res$data6","ASK_A_QUESTION","formData","history","_err$response3","_err$response3$data","VERIFY_OTP","_ref24","setqloader","setotpverify","_err$response4","_err$response4$data","MuftiWorkingSentItem","MuftiWorkingRejectedList","MuftiWorkingApprovedList","MuftiWorkingSavetoDraft2","_ref25","patch","MuftiWorkingSavetoDraft","_ref26","setmodel2","MuftiWorkingSubmitToApproval","_ref27","Publish_Save_Api","_ref28","callFunc","setcallFunc","AskMuftiAnswer","_ref29","AskMuftiAnswerwebsite","_ref30","_ref31","MY_QUESTIONS_GET","_ref32","UserAskQuestion","UserALLQuestion","_ref33","_res$data7","UserOpenQuestions","_ref34","_res$data8","UserOpenQuestionsfilter","id","_ref35","_res$data9","TIME_LINE_API","_ref36","qid","DraftQuestionListAPI","RevokeDraftQuestionAPI","_ref37","DeleteQAbyAdminApi","ADMIN_LOGHISTORY","_ref38","page","size","ADMIN_LOGINHISTORY","_ref39","ADMIN_AUDITLOGIN","_ref40","ADMIN_LIVEUSERS","_ref41","AdminUserGetAll","_ref42","AdminUserGetMufti","_ref43","AdminMuftiManagementADD","_ref44","AdminMuftiManagementUpdate","_ref45","AdminUserPasswordChange","_ref46","CategoryManagementRootAPI","_ref48","setspinner","CategoryManagementPubliicAPI","_ref49","RootCategoryDeleteAPI","_ref50","RootCategoryAddAPI","_ref51","RootCategoryUpdateAPI","_ref52","CategoryManagementSubAPI","_ref53","_ref54","pid","CategoryQuestionAPI","CategorysRootAllListAPI","GenralStatsAPI","ModratorInsightsAPI","_ref55","setl1","MufitInsightsAPI","_ref56","setl2","ApproverInsightsAPI","_ref57","setl3","GetAdminRolesApi","AskQuestionStateAPI","_ref58","setQuestionState","setQuestionStatetemp","_res$data10","_res$data11","GetDailyQuotaAPI","_ref59","setdailyQuotatemp","_res$data12","_res$data13","GetNewsAPI","_ref60","setNews","setNewstemp","_res$data14","_res$data15","UpdateQuestionStateAPI","QuestionState","_ref61","setUpdate","CalloutMessage","callout","ToggleQA","DailyQuota","UpdateNews","UpdateDailyQuotaAPI","dailyQuota","_ref62","Quota","parseInt","UpdateNewsAPI","News","_ref63","SubmitContactFormAPI","_ref64","setFormData","firstName","lastName","email","subject","message","success","NudgeApi","setTimerModal1","Switch_Ifta_Api","setTimerModal","handleContentWidth","handleMenuCollapsed","handleMenuHidden","LayoutWrapper","appLayout","wrapperClass","transition","routeMeta","useDispatch","store","useSelector","navbarStore","navbar","contentWidth","Tag","Fragment","menuCollapsed","menuHidden","className","classnames","query","Routes","path","component","lazy","exact","authRoute","publicRoute","BlankLayout","_ref","rest","isMounted","setIsMounted","Customizer","isRtl","setIsRtl","setLayout","navbarType","setNavbarType","footerType","setFooterType","navbarColor","setNavbarColor","isHidden","setIsHidden","setContentWidth","setMenuCollapsed","setTransition","openCustomizer","setOpenCustomizer","handleToggle","preventDefault","transitionOptions","transitionValue","find","i","open","href","Settings","PerfectScrollbar","X","FormGroup","renderSkinsRadio","skinsArr","checked","radio","index","marginCondition","CustomInput","onChange","Select","theme","selectThemeColors","classNamePrefix","defaultValue","isClearable","selected","border","renderNavbarTypeRadio","navbarTypeArr","renderFooterTypeRadio","footerTypeArr","Footer","menuVisibility","setMenuVisibility","useHistory","model1","isKeyboardOpen","setKeyboardOpen","handleKeyboardOpen","handleKeyboardClose","addEventListener","_Fragment","handleLogout1","lid","HandleClose","Date","getFullYear","target","rel","Menu","Home","pathname","Bell","LogOut","IntlDropdown","UserDropdown","_userData$UserInfo","userDetails","_state$autentication$","autentication","validatePassword","userData","setUserData","isUserLoggedIn","avatar","UncontrolledDropdown","tag","DropdownToggle","DropdownMenu","right","DropdownItem","Link","to","Users","Mail","Power","NavbarSearch","NotificationDropdown","notificationsArray","GetNotificationData","Badge","pill","header","renderNotificationItems","styleID","setStyleID","wheelPropagation","Media","switch","onMouseEnter","onMouseLeave","Title","moment","RecordedAt","format","Trash2","HandleSingleClear","style","display","cursor","heading","height","alignItems","justifyContent","Ripple","block","disabled","Fullscreen","screen","setscreen","handleFullScreen","fullscreenElement","exitFullscreen","documentElement","requestFullscreen","Minimize","Maximize","NavbarUser","ThemeToggler","Sun","Moon","NavItem","NavLink","NavbarBookmarks","setValue","openSearch","setOpenSearch","Icon","ThemeNavbar","VerticalMenuHeader","setGroupOpen","menuHover","Toggler","ToggleRight","ToggleLeft","src","menuLogo","alt","width","title","icon","User","navLink","MessageSquare","CheckSquare","Calendar","FileText","Circle","ShoppingCart","Server","Grid","Copy","Box","Package","CheckCircle","RotateCw","Shield","EyeOff","Folder","LifeBuoy","Type","Droplet","Eye","CreditCard","Briefcase","Layout","PieChart","Map","apps","isNavLinkActive","link","currentURL","routerProps","isNavGroupActive","some","child","search","navigation","result","getAllParents","obj","match","recurse","current","key","undefined","VerticalNavMenuLink","groupActive","setGroupActive","activeItem","setActiveItem","groupOpen","toggleActiveGroup","parentItem","currentActiveItem","LinkTag","externalLink","useLocation","matchPath","strict","arr","searchParents","parents","active","newTab","isActive","url","resetActiveGroup","marginRight","FormattedMessage","badge","badgeText","VerticalNavMenuGroup","allParents","activeArr","includes","splice","indexOf","openArr","val","onCollapseClick","toggleOpenGroup","pop","Collapse","VerticalNavMenuItems","items","VerticalNavMenuSectionHeader","MoreHorizontal","VerticalMenuNavItems","Components","TagName","resolveNavItemComponent","Sidebar","_state$autentication","SideMenuReduser","menu","setMenuHover","shadowRef","useRef","expanded","ref","onScrollY","container","scrollTop","contains","scrollMenu","useRTL","isRTL","getElementsByTagName","setAttribute","handleRTL","useNavbarType","useFooterType","footer","useNavbarColor","backgroundColor","PageCompo","Card","VerticalLayout","windowWidth","setWindowWidth","innerWidth","layoutStore","handleWindowWidth","footerClasses","static","sticky","hidden","navbarWrapperClasses","floating","navbarClasses","bgColorCondition","SidebarComponent","Navbar","expand","light","NavbarComponent","routename","show","FooterComponent","ScrollToTop","showUnder","bottom","ArrowUp","HorizontalNavMenuLink","setOpenDropdown","isChild","resetOpenDropdowns","HorizontalNavMenuGroup","submenu","openDropdown","menuModifiers","setMaxHeight","enabled","fn","pageHeight","innerHeight","ddTop","instance","reference","getBoundingClientRect","top","maxHeight","stylesObj","popper","overflowY","ddRef","left","closest","styles","Dropdown","modifiers","HorizontalNavMenuItems","useContext","AbilityContext","RenderNavItems","ability","hasAnyVisibleChild","can","action","resource","canViewMenuGroup","canViewMenuItem","HorizontalMenu","HorizontalLayout","navbarScrolled","setNavbarScrolled","pageYOffset","app","appLogoImage","appName","MenuComponent","customizer","Router","useLayout","lastLayout","setLastLayout","handleLayout","useRouterTransition","routerTransition","DefaultLayout","Layouts","NotAuthorized","Error","AppRouter","basename","process","Switch","Route","Redirect","Object","LayoutTag","LayoutRoutes","LayoutPaths","route","LayoutRoutesAndPaths","Suspense","fallback","OfflinePage","marginTop","fontSize","fontWeight","fontStyle","margin","fontFamily","App","network","setnetwork","updateOnlineStatus","event","isObjEmpty","formatDateToMonthShort","toTimeForCurrentDay","date","formatting","month","day","today","getDate","getMonth","isToday","hour","minute","Intl","DateTimeFormat","getHomeRouteForLoggedInUser","userRole","colors","primary25","primary","neutral10","neutral20","neutral30","Avatar","forwardRef","imgClassName","initials","badgeUp","content","badgeColor","img","imgHeight","imgWidth","contentStyles","str","results","forEach","join","getInitials","defaultProps","IdleTimerContainer","idleTimerRef","timerModal","IdleTimer","timeout","onIdle"],"mappings":"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","file":"static/js/17.237f0f45.chunk.js","sourcesContent":["//** React Imports\nimport { useState, useEffect } from 'react'\n\n// ** Configs\nimport themeConfig from '@configs/themeConfig'\n\nexport const useSkin = () => {\n // ** State\n const [skin, setSkin] = useState(() => {\n try {\n // ** Get from local storage by key\n const item = window.localStorage.getItem('skin')\n // ** Parse stored json or if none return initialValue\n return item ? JSON.parse(item) : themeConfig.layout.skin\n } catch (error) {\n // ** If error also return initialValue\n console.log(error)\n return themeConfig.layout.skin\n }\n })\n\n // ** Return a wrapped version of useState's setter function\n const setValue = value => {\n try {\n // ** Allow value to be a function so we have same API as useState\n const valueToStore = value instanceof Function ? value(skin) : value\n // ** Set state\n setSkin(valueToStore)\n // ** Save to local storage\n window.localStorage.setItem('skin', JSON.stringify(valueToStore))\n } catch (error) {\n // ** A more advanced implementation would handle the error case\n console.log(error)\n }\n }\n\n useEffect(() => {\n // ** Get Body Tag\n const element = window.document.body\n\n // ** Define classnames for skins\n const classNames = {\n dark: 'dark-layout',\n bordered: 'bordered-layout',\n 'semi-dark': 'semi-dark-layout'\n }\n\n // ** Remove all classes from Body on mount\n element.classList.remove(...element.classList)\n\n // ** If skin is not light add skin class\n if (skin !== 'light') {\n element.classList.add(classNames[skin])\n }\n }, [skin])\n\n return [skin, setValue]\n}\n","import React from 'react'\nimport { Button, Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap'\n\nconst ModalCompo = (props) => {\n const { loader, Modelbody, Cancel, Submit, Modalheader, HandleModalAccept, HandleModelReject, basicModal, setBasicModal, modelcom } = props\n return (\n setBasicModal(!basicModal)}>\n {Modalheader}\n \n {!modelcom &&
{Modelbody}
}\n {modelcom}\n
\n \n \n \n \n
\n )\n}\n\nexport default ModalCompo","// ** UseJWT import to get config\nimport useJwt from '@src/auth/jwt/useJwt'\n\nconst config = useJwt.jwtConfig\n\n// ** Handle User Login\nexport const handleLogin = data => {\n return dispatch => {\n dispatch({\n type: 'LOGIN',\n data,\n config,\n [config.storageTokenKeyName]: data[config.storageTokenKeyName],\n [config.storageRefreshTokenKeyName]: data[config.storageRefreshTokenKeyName]\n })\n\n // ** Add to user, accessToken & refreshToken to localStorage\n localStorage.setItem('userData', JSON.stringify(data))\n localStorage.setItem(config.storageTokenKeyName, JSON.stringify(data.accessToken))\n localStorage.setItem(config.storageRefreshTokenKeyName, JSON.stringify(data.refreshToken))\n }\n}\n\n// ** Handle User Logout\nexport const handleLogout = () => {\n return dispatch => {\n // dispatch({ type: 'LOGOUT', [config.storageTokenKeyName]: null, [config.storageRefreshTokenKeyName]: null })\n\n // ** Remove user, accessToken & refreshToken from localStorage\n localStorage.removeItem('userData')\n localStorage.removeItem('accessToken')\n localStorage.removeItem('refreshToken')\n // localStorage.removeItem(config.storageTokenKeyName)\n // localStorage.removeItem(config.storageRefreshTokenKeyName)\n }\n}\n","// ** Auth Endpoints\nexport default {\n loginEndpoint: '/jwt/login',\n registerEndpoint: '/jwt/register',\n refreshEndpoint: '/jwt/refresh-token',\n logoutEndpoint: '/jwt/logout',\n\n // ** This will be prefixed in authorization header with token\n // ? e.g. Authorization: Bearer \n tokenType: 'Bearer',\n\n // ** Value of this property will be used as key to store JWT token in storage\n storageTokenKeyName: 'accessToken',\n storageRefreshTokenKeyName: 'refreshToken'\n}\n","import axios from 'axios'\nimport jwtDefaultConfig from './jwtDefaultConfig'\nconst sendMessageToRN = () => {\n try {\n // Send a message to the React Native app\n window.ReactNativeWebView.postMessage('tokenexpired')\n } catch (error) {\n console.error('Error sending message to React Native:', error)\n }\n}\nexport default class JwtService {\n // ** jwtConfig <= Will be used by this service\n jwtConfig = { ...jwtDefaultConfig }\n\n // ** For Refreshing Token\n isAlreadyFetchingAccessToken = false\n\n // ** For Refreshing Token\n subscribers = []\n\n constructor(jwtOverrideConfig) {\n this.jwtConfig = { ...this.jwtConfig, ...jwtOverrideConfig }\n\n // ** Request Interceptor\n axios.interceptors.request.use(\n config => {\n // ** Get token from localStorage\n const accessToken = this.getToken()\n\n // ** If token is present add it to request's Authorization Header\n if (accessToken) {\n // ** eslint-disable-next-line no-param-reassign\n config.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`\n }\n return config\n },\n error => Promise.reject(error)\n )\n\n // ** Add request/response interceptor\n axios.interceptors.response.use(\n response => response,\n error => {\n // ** const { config, response: { status } } = error\n const { config, response } = error\n const originalRequest = config\n\n // ** if (status === 401) {\n if (response && response.status === 401) {\n if (!this.isAlreadyFetchingAccessToken) {\n sendMessageToRN()\n localStorage.clear()\n sessionStorage.clear()\n window.location.assign('/')\n // this.isAlreadyFetchingAccessToken = true\n // this.refreshToken().then(r => {\n // this.isAlreadyFetchingAccessToken = false\n\n // // ** Update accessToken in localStorage\n // this.setToken(r.data.accessToken)\n // this.setRefreshToken(r.data.refreshToken)\n\n // this.onAccessTokenFetched(r.data.accessToken)\n // })\n }\n const retryOriginalRequest = new Promise(resolve => {\n this.addSubscriber(accessToken => {\n // ** Make sure to assign accessToken according to your response.\n // ** Change Authorization header\n originalRequest.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`\n resolve(this.axios(originalRequest))\n })\n })\n return retryOriginalRequest\n }\n return Promise.reject(error)\n }\n )\n }\n\n onAccessTokenFetched(accessToken) {\n this.subscribers = this.subscribers.filter(callback => callback(accessToken))\n }\n\n addSubscriber(callback) {\n this.subscribers.push(callback)\n }\n\n getToken() {\n return localStorage.getItem(this.jwtConfig.storageTokenKeyName)\n }\n\n getRefreshToken() {\n return localStorage.getItem(this.jwtConfig.storageRefreshTokenKeyName)\n }\n\n setToken(value) {\n localStorage.setItem(this.jwtConfig.storageTokenKeyName, value)\n }\n\n setRefreshToken(value) {\n localStorage.setItem(this.jwtConfig.storageRefreshTokenKeyName, value)\n }\n\n login(...args) {\n return axios.post(this.jwtConfig.loginEndpoint, ...args)\n }\n\n register(...args) {\n return axios.post(this.jwtConfig.registerEndpoint, ...args)\n }\n\n refreshToken() {\n return axios.post(this.jwtConfig.refreshEndpoint, {\n refreshToken: this.getRefreshToken()\n })\n }\n}\n","// ** Core JWT Import\nimport useJwt from '@src/@core/auth/jwt/useJwt'\n\nconst { jwt } = useJwt({})\n\nexport default jwt\n","// ** JWT Service Import\nimport JwtService from './jwtService'\n\n// ** Export Service as useJwt\nexport default function useJwt(jwtOverrideConfig) {\n const jwt = new JwtService(jwtOverrideConfig)\n\n return {\n jwt\n }\n}\n","import React from 'react'\nimport packageJson from '../package.json'\nglobal.appVersion = packageJson.version\n\n// version from response - first param, local version second param\nconst semverGreaterThan = (versionA, versionB) => {\n const versionsA = versionA.split(/\\./g)\n\n const versionsB = versionB.split(/\\./g)\n while (versionsA.length || versionsB.length) {\n const a = Number(versionsA.shift())\n\n const b = Number(versionsB.shift())\n // eslint-disable-next-line no-continue\n if (a === b) continue\n // eslint-disable-next-line no-restricted-globals\n return a > b || isNaN(b)\n }\n return false\n}\n\nclass CacheBuster extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n loading: true,\n isLatestVersion: false,\n refreshCacheAndReload: () => {\n console.log('Clearing cache and hard reloading...')\n if (caches) {\n // Service worker cache should be cleared with caches.delete()\n caches.keys().then(function(names) {\n for (const name of names) caches.delete(name)\n })\n }\n\n // delete browser cache and hard reload\n window.location.reload(true)\n }\n }\n }\n\n componentDidMount() {\n fetch('/meta.json')\n .then((response) => response.json())\n .then((meta) => {\n const latestVersion = meta.version\n const currentVersion = global.appVersion\n\n const shouldForceRefresh = semverGreaterThan(latestVersion, currentVersion)\n if (shouldForceRefresh) {\n console.log(`We have a new version - ${latestVersion}. Should force refresh`)\n this.setState({ loading: false, isLatestVersion: false })\n } else {\n console.log(`You already have the latest version - ${latestVersion}. No cache refresh needed.`)\n this.setState({ loading: false, isLatestVersion: true })\n }\n })\n }\n render() {\n const { loading, isLatestVersion, refreshCacheAndReload } = this.state\n return this.props.children({ loading, isLatestVersion, refreshCacheAndReload })\n }\n}\n\nexport default CacheBuster","import axios from \"axios\"\nimport { toast } from \"react-toastify\"\n\nconst ROOTURL = \"https://api.fatwacentre.org\"\n// const ROOTURL = \"https://china.perisync.work\"\n// const ROOTURL = \"http://192.168.0.115:3010\"\n// const ROOTURL = \"http://192.168.0.236:3000\"\n\n\n// const sid1 = localStorage.getItem('sid')\n// const at1 = localStorage.getItem('at')\n// const options = {\n// headers: {\n// sid: localStorage.getItem('sid'),\n// at: localStorage.getItem('at') }\n// }\n\n/*eslint-disable */\nexport const USER_SEND_OTP = ({ ...data }) => {\n return (dispatch) => {\n axios\n .post(ROOTURL + \"/user/account/login/sendOTP\", {\n ...data\n })\n .then((res) => {\n dispatch({\n type: \"VAILDATE_NUM\",\n payload: { ...data, res }\n })\n })\n .catch((err) => {\n dispatch({\n type: \"VAILDATE_NUM_FAILED\",\n msg: err\n })\n })\n }\n}\nexport const USER_VERIFY_EMAIL = ({ ...data }) => {\n return (dispatch) => {\n axios\n .post(`${ROOTURL}/account/login/checkEmail?type=web`, {\n ...data\n })\n .then((res) => {\n dispatch({\n type: \"VAILDATE_EMAIL\",\n payload: { ...data, res }\n })\n })\n .catch((err) => {\n toast.error(err.response?.data?.Description, { autoClose: 3000 })\n dispatch({\n type: \"VAILDATE_EMAIL_FAILED\",\n msg: err\n })\n })\n }\n}\n\n\nexport const VALIDATE_OTP = ({ ...data }) => {\n return (dispatch) => {\n axios\n .post(ROOTURL + \"/account/login/verifyOTP\", {\n ...data,\n })\n .then((res) => {\n dispatch({\n type: \"VAILDATE_OTP\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"VAILDATE_OTP_Failed\",\n msg: err,\n });\n });\n };\n};\nexport const VALIDATE_PASSWORD = ({ ...data }) => {\n return (dispatch) => {\n axios\n .post(ROOTURL + \"/account/login/verifyPswd\", {\n ...data,\n })\n .then((res) => {\n localStorage.setItem('ID', res?.data?.UserInfo?.Role?.ID),\n dispatch({\n type: \"VAILDATE_PASSWORD\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n toast.error(err.response.data.Description, { autoClose: 3000 })\n // console.log(err.response.data.Description)\n dispatch({\n type: \"VAILDATE_PASSWORD_Failed\",\n msg: err,\n });\n });\n };\n};\n\nexport const GETNEW_TOKEN = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n rt: localStorage.getItem('RefreshToken'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios\n .get(ROOTURL + \"/api/v1/user/auth/renew\", options)\n .then((res) => {\n dispatch({\n type: \"NEWTOKEN_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"REFRESH_EXPIRED\",\n msg: err,\n });\n });\n };\n};\n\nexport const logOutAPi = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios\n .post(ROOTURL + \"/api/v1/user/account/logout/one\", {\n ...data\n }, options)\n .then((res) => {\n dispatch({\n type: \"LOGOUTAPI_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"LOGOUT_Failed\",\n msg: err,\n });\n });\n };\n};\n\nexport const GET_NOTIFICATION = (setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/user/notification/get\", options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"GET_NOTIFICATION_SUCCESS\",\n payload: {\n res\n }\n });\n })\n .catch((err) => {\n setloader(false)\n if (err?.response?.status === 403) dispatch({ type: \"VALID_USER_CHECK_FAIL\", msg: \"true\" })\n dispatch({\n type: \"GET_NOTIFICATION_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const NotificationSingleClear = ({ ...data }, setloader1) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.post(ROOTURL + \"/api/v1/user/notification/delete\", {\n ...data,\n }, options)\n .then((res) => {\n setloader1(false)\n if (data.Notifications.ID === 0) {\n dispatch({\n type: \"DELETE_ALL_NOTI_SUCCESS\",\n payload: { ...data, res, },\n });\n } else {\n dispatch({\n type: \"DELETE_SINGLE_NOTI_SUCCESS\",\n payload: { ...data, res, },\n });\n }\n })\n .catch((err) => {\n setloader1(false)\n dispatch({\n type: \"DELETE_Noti_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\n\nexport const ApproveTeamQAllGet = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/a-team/questions/all?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"GET_ATEAM_QA_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"GET_ATEAM_QA_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const UserprofileGet = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/user/profile/get\", options)\n .then((res) => {\n dispatch({\n type: \"USERPROFILE_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"USERPROFILE_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const ApproveTeamApproveListGet = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/a-team/actions/log/accepted?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"GET_ATEAM_APPROVELIST_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"GET_ATEAM_APPROVELIST_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const ApproveTeamRejectListGet = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/a-team/actions/log/rejected?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"GET_ATEAM_REJECTEDLIST_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"GET_ATEAM_REJECTEDLIST_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const ATEAMQuestionApprove = ({ ...data }, setloader, setmodel1) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.put(ROOTURL + \"/api/v1/a-team/questions/approve\", {\n ...data,\n }, options)\n .then((res) => {\n setloader(false)\n setmodel1(false)\n toast(\"Answer Approved\")\n dispatch({\n type: \"ATEAM_QUESTION_Approve_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setmodel1(false)\n dispatch({\n type: \"ATEAM_QUESTION_Approve_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\nexport const ATEAMQuestionReject = ({ ...data }, setloader, setBasicModal) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.put(ROOTURL + \"/api/v1/a-team/questions/reject\", {\n ...data,\n }, options)\n .then((res) => {\n setloader(false)\n setBasicModal(false)\n toast(\"Answer Rejected\")\n dispatch({\n type: \"ATEAM_QUESTION_REJECT_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setBasicModal(false)\n dispatch({\n type: \"ATEAM_QUESTION_REJECT_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\n\nexport const QUESTIONS_MO_GET = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n\n return async (dispatch) => {\n await axios.get(ROOTURL + `/api/v1/moderator/questions/all?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"GET_QUESTIONS_MO_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"GET_QUESTIONS_MO_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const GET_MO_ACCEPT_LIST = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n\n return async (dispatch) => {\n await axios.get(ROOTURL + `/api/v1/moderator/actions/log/accepted?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"MO_ACCEPTED_LIST_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"MO_ACCEPTED_LIST_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const GET_MO_REJECTED_LIST = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n\n return async (dispatch) => {\n await axios.get(ROOTURL + `/api/v1/moderator/actions/log/rejected?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"MO_REJECTED_LIST_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"MO_REJECTED_LIST_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const GET_MO_ANSWERED_LIST = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n\n return async (dispatch) => {\n await axios.get(ROOTURL + `/api/v1/moderator/actions/log/answered?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"GET_MO_ANSWERED_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"GET_MO_ANSWERED_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const ModeratorQuestionApprove = ({ ...data }, setloader, setmodal1) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n\n return (dispatch) => {\n axios.put(ROOTURL + \"/api/v1/moderator/questions/approve\", {\n ...data,\n }, options)\n .then((res) => {\n setloader(false)\n setmodal1(false)\n toast(\"Question Accepted\")\n dispatch({\n type: \"MODERATOR_QUESTION_Approve_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setmodal1(false)\n toast.error(\"Something Went Wrong\")\n dispatch({\n type: \"MODERATOR_QUESTION_Approve_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\nexport const ModeratorQuestionAnswerandApprove = ({ ...data }, setloader, setBasicModal) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n\n return (dispatch) => {\n axios.post(ROOTURL + \"/api/v1/arm/answer\", {\n ...data,\n }, options)\n .then((res) => {\n toast(\"Question Answered and Approved\")\n setloader(false)\n setBasicModal(false)\n dispatch({\n type: \"MODERATOR_QUESTION_Approve_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setBasicModal(false)\n toast.error(\"Something Went Wrong\")\n dispatch({\n type: \"MODERATOR_QUESTION_Approve_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\nexport const ModeratorQuestionREJECT = ({ ...data }, setloader, setmodal2) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.put(ROOTURL + \"/api/v1/moderator/questions/reject\", {\n ...data,\n }, options)\n .then((res) => {\n setloader(false)\n setmodal2(false)\n toast(\"Question Rejected\")\n dispatch({\n type: \"MODERATOR_QUESTION_REJECT_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n toast.error(\"Something Went Wrong\")\n setloader(false)\n setmodal2(false)\n dispatch({\n type: \"MODERATOR_QUESTION_REJECT_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const ModeratorQuestionREVERT = ({ ...data }, setloader, setmodal3) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.post(ROOTURL + \"/api/v1/moderator/questions/undo\", {\n ...data,\n }, options)\n .then((res) => {\n setloader(false)\n setmodal3(false)\n toast(\"Question added to bucket\")\n dispatch({\n type: \"MODERATOR_QUESTION_UNDO_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setmodal3(false)\n dispatch({\n type: \"MODERATOR_QUESTION_UNDO_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const SIDE_MENU_API = () => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/user/menu\", options\n )\n .then((res) => {\n dispatch({\n type: \"SIDE_MENU_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"SIDE_MENU_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const FCS_ADMIN_PUBLISH_QUESTION = ({ ...data }, setloader, setmodal1) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/fcs/question/publishStatus/toggle?questionID=${data?.questionId}&publish=${data?.publish}`, options)\n .then((res) => {\n setloader(false)\n setmodal1(false)\n toast(\"Question Published\")\n dispatch({\n type: \"FCS_ADMIN_PUBLISH_QUESTION_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setmodal1(false)\n dispatch({\n type: \"FCS_ADMIN_PUBLISH_QUESTION_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const FcsWorkingBucket = (PageData, bool, sideName, { setTotalRows, setloader }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/fcs/questions?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}&iftaQuestionStatus=${sideName === \"bucket\" ? \"\" : \"assigned\"}`, options)\n .then((res) => {\n setTotalRows(res?.data?.total)\n setloader(false)\n if (bool === true) {\n dispatch({\n type: \"Fcs_Bucket_SUCCESS\",\n payload: {\n res,\n },\n });\n } else {\n dispatch({\n type: \"Fcs_Bucket_Concat_SUCCESS\",\n payload: {\n res,\n },\n });\n }\n\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"Fcs_Bucket_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const FcsWorkingPublish = (PageData, bool, dataview, { setTotalRows, setloading }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/fcs/questions?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}&iftaQuestionStatus=${\"answered\"}&published=${dataview === \"publish\" ? true : false}`, options)\n .then((res) => {\n setTotalRows(res?.data?.total)\n setloading(false)\n if (bool === true) {\n dispatch({\n type: \"Fcs_Bucket_SUCCESS\",\n payload: {\n res,\n },\n });\n } else {\n dispatch({\n type: \"Fcs_Bucket_Concat_SUCCESS\",\n payload: {\n res,\n },\n });\n }\n\n })\n .catch((err) => {\n setloading(false)\n dispatch({\n type: \"Fcs_Bucket_FAILED\",\n msg: { err }\n });\n });\n };\n};\n// export const MuftiWorkingBucket = () => {\n// const options = {\n// headers: {\n// sid: localStorage.getItem('sid'),\n// at: localStorage.getItem('at')\n// }\n// }\n// return (dispatch) => {\n// axios.get(ROOTURL + \"/api/v1/mufti/bucket\", options)\n// .then((res) => {\n// dispatch({\n// type: \"MuftiBucket_SUCCESS\",\n// payload: {\n// res,\n// },\n// });\n// })\n// .catch((err) => {\n// dispatch({\n// type: \"MuftiBucket_FAILED\",\n// msg: { err }\n// });\n// });\n// };\n// };\nexport const MuftiListApi = ({ setSelectMufti, ignore }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/fcs/ifta?ignore=${ignore}`, options)\n .then((res) => {\n setSelectMufti(res?.data.map((e) => { return ({ value: e?.UserID, label: e?.UserName }) }))\n })\n .catch((err) => {\n dispatch({\n type: \"MuftiQuestionSelect_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const MuftiWorkingQuestionSelect = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.post(ROOTURL + \"/api/v1/mufti/question/select\", {\n ...data,\n }, options)\n .then((res) => {\n toast(\"Question Added\")\n dispatch({\n type: \"MuftiQuestionSelect_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"MuftiQuestionSelect_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const AssignQuestionToMufti = ({ ...data }, setloader, setmodal1, setTotalRows) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.post(ROOTURL + \"/api/v1/fcs/assign\", {\n ...data,\n }, options)\n .then((res) => {\n setloader(false)\n setTotalRows((prevCount) => prevCount - 1)\n setmodal1(false)\n toast(\"Question Assigned \")\n dispatch({\n type: \"Assign_Mufti_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setmodal1(false)\n toast.error(\"Something Went Wrong\")\n dispatch({\n type: \"Assign_Mufti_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\nexport const MuftiWorkingListCount = () => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/mufti/mybox/counts\", options)\n .then((res) => {\n dispatch({\n type: \"MuftiCount_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"MuftiCount_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const MuftiWorkingDraft = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/mufti/mybox/draft?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"MuftiDraft_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"MuftiDraft_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const MuftiWorkingInbox = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/mufti/mybox/inbox?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"MuftiInbox_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"MuftiInbox_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const NOTES_FOR_QUESTIONARY = ({ ...data }, setloader, setdescription) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/open/notesForQuestionary\", options)\n .then((res) => {\n setloader(false)\n setdescription(res?.data?.note?.Notes)\n dispatch({\n type: \"NOTES_FOR_QUESTIONARY_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setdescription(null)\n dispatch({\n type: \"NOTES_FOR_QUESTIONARY_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const DAILY_QUOTA = ({ ...data }, setloader, setdailyQuota) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/open/dailyQuota\", options)\n .then((res) => {\n setloader(false)\n setdailyQuota(res?.data?.quota)\n dispatch({\n type: \"DAILY_QUOTA_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setdailyQuota(null)\n dispatch({\n type: \"DAILY_QUOTA_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const QUESTION_STATE = ({ ...data }, setloader, setdailyQuota) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/open/askQuestion/state\", options)\n .then((res) => {\n setloader(false)\n setdailyQuota(res?.data?.state)\n dispatch({\n type: \"QUESTION_STATE_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setdailyQuota(null)\n dispatch({\n type: \"QUESTION_STATE_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const ASK_A_QUESTION = (formData, setloader, history, bool) => {\n const options = {\n headers: {\n \"Content-type\": \"multipart/form-data\",\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.post(ROOTURL + \"/api/v1/open/question/ask\", formData, options)\n .then((res) => {\n setloader(false)\n toast(\"Question Sent Successfully\")\n { bool === true ? history.push(\"/home\") : history.push(\"/login\") }\n dispatch({\n type: \"ASK_A_QUESTION_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n toast.error(err?.response?.data?.Description || \"Something Went Wrong\")\n dispatch({\n type: \"ASK_A_QUESTION_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const VERIFY_OTP = ({ ...data }, setqloader, setotpverify) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.post(ROOTURL + \"/api/v1/open/verifyEmail\", {\n ...data,\n }, options)\n .then((res) => {\n toast(\"We've sent a verification email containing your OTP. Please look for it in your inbox.\")\n setotpverify(res?.data)\n setqloader(false)\n dispatch({\n type: \"VERIFY_OTP_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n toast.error(err?.response?.data?.Description || \"Something Went Wrong\")\n setqloader(false)\n setotpverify(null)\n dispatch({\n type: \"VERIFY_OTP_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const MuftiWorkingSentItem = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/mufti/mybox/approval-queue?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"MuftiSentItem_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"MuftiSentItem_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const MuftiWorkingRejectedList = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/mufti/mybox/rejected-list?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"MuftiRejected-list_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"MuftiRejected-list_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const MuftiWorkingApprovedList = (PageData, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/mufti/mybox/approved-list?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"MuftiApproved_list_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"MuftiApproved_list_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const MuftiWorkingSavetoDraft2 = ({ ...data }, setmodel1, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.patch(ROOTURL + \"/api/v1/mufti/mybox/save-to-draft\", {\n ...data,\n }, options)\n .then((res) => {\n dispatch(MuftiWorkingListCount())\n setmodel1(false)\n setloader(false)\n toast(\"Answer Saved\")\n dispatch({\n type: \"MuftiSavetoDraft2_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setmodel1(false)\n setloader(false)\n dispatch({\n type: \"MuftiSavetoDraft_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const MuftiWorkingSavetoDraft = ({ ...data }, setloader, setmodel2) => {\n // console.log(\"asd\", data)\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.patch(ROOTURL + \"/api/v1/mufti/mybox/save-to-draft\", {\n ...data,\n }, options)\n .then((res) => {\n dispatch(MuftiWorkingListCount())\n setloader(false)\n setmodel2(false)\n toast(\"Answer Saved to Draft\")\n dispatch({\n type: \"MuftiSavetoDraft_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setmodel2(false)\n dispatch({\n type: \"MuftiSavetoDraft_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const MuftiWorkingSubmitToApproval = ({ ...data }, setloader, setmodel1) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.post(ROOTURL + \"/api/v1/mufti/mybox/submit-to-approval\", {\n ...data,\n }, options)\n .then((res) => {\n setloader(false)\n setmodel1(false)\n dispatch(MuftiWorkingListCount())\n toast(\"Answer Sent\")\n dispatch({\n type: \"MuftiSubmitToApproval_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n setmodel1(false)\n dispatch({\n type: \"MuftiSubmitToApproval_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\nexport const Publish_Save_Api = ({ ...data }, setloader, callFunc, setcallFunc) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.put(ROOTURL + \"/api/v1/fcs/q&a/modify\", {\n ...data,\n }, options)\n .then((res) => {\n toast(\"Question Saved\")\n setloader(false)\n setcallFunc(!callFunc)\n // setmodel1(false)\n // dispatch(MuftiWorkingListCount())\n dispatch({\n type: \"MuftiSavetoDraft_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n // setmodel1(false)\n dispatch({\n type: \"MuftiSavetoDraft_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const AskMuftiAnswer = ({ ...data }) => {\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/open/answer/${data.ID}`)\n .then((res) => {\n dispatch({\n type: \"AskMuftiAnswer_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"AskMuftiAnswer_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const AskMuftiAnswerwebsite = ({ ...data }, { setloading }) => {\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/open/answer/${data.ID}`)\n .then((res) => {\n setloading(false)\n dispatch({\n type: \"AskMuftiAnswer1_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloading(false)\n dispatch({\n type: \"AskMuftiAnswer1_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const MY_QUESTIONS_GET = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/user/questions/all\", options)\n .then((res) => {\n dispatch({\n type: \"MY_QUESTIONS_GET_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"MY_QUESTIONS_GET_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const UserAskQuestion = (formData) => {\n const options = {\n headers: {\n \"Content-type\": \"multipart/form-data\",\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n // axios.post(ROOTURL + \"/user/questions/ask\", {\n // formData,headers: { \"Content-Type\": \"multipart/form-data\" }\n // })\n axios.post(ROOTURL + \"/api/v1/user/questions/ask\", formData, options)\n .then((res) => {\n toast(\"Question Added\")\n dispatch({\n type: \"USER_ASK_QUESTION_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"USE_ASK_QUESTION_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const UserALLQuestion = (PageData, bool, { setTotalRows, setloading }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/question/all?page=${PageData?.pageNo}&size=${PageData?.perPage}&searchKey=${PageData?.searchKey}`, options)\n .then((res) => {\n setTotalRows(res?.data?.total)\n setloading(false)\n if (bool === true) {\n dispatch({\n type: \"USER_ALL_QUESTION_SUCCESS\",\n payload: {\n res,\n },\n });\n } else {\n dispatch({\n type: \"USER_ALL_QUESTION_Concat_SUCCESS\",\n payload: {\n res,\n },\n });\n }\n })\n .catch((err) => {\n dispatch({\n type: \"USER_ALL_QUESTION_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const UserOpenQuestions = (PageData, bool, { setTotalRows, setloading }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/open/question/all?page=${PageData?.pageNo}&size=${PageData?.perPage}`, options)\n .then((res) => {\n setTotalRows(res?.data?.total)\n setloading(false)\n if (bool === true) {\n dispatch({\n type: \"USER_ALL_QUESTION_SUCCESS\",\n payload: {\n res,\n },\n });\n } else {\n dispatch({\n type: \"USER_ALL_QUESTION_Concat_SUCCESS\",\n payload: {\n res,\n },\n });\n }\n })\n .catch((err) => {\n dispatch({\n type: \"USER_ALL_QUESTION_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const UserOpenQuestionsfilter = (PageData, bool, id, { setTotalRows, setloading }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/open/question/all?page=${PageData?.pageNo}&size=${PageData?.perPage}&categoryID=${id}`, options)\n .then((res) => {\n setTotalRows(res?.data?.total)\n setloading(false)\n if (bool === true) {\n dispatch({\n type: \"USER_ALL_QUESTION_SUCCESS\",\n payload: {\n res,\n },\n });\n } else {\n dispatch({\n type: \"USER_ALL_QUESTION_Concat_SUCCESS\",\n payload: {\n res,\n },\n });\n }\n })\n .catch((err) => {\n setloading(false)\n dispatch({\n type: \"USER_ALL_QUESTION_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const TIME_LINE_API = ({ ...data }, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/question/timeline?questionID=${data?.qid}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"TIME_LINE_API_SUCCESS\",\n payload: {\n ...data,\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"TIME_LINE_API_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const DraftQuestionListAPI = () => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/admin/mufti/question/list\", options)\n .then((res) => {\n dispatch({\n type: \"DRAFT_QUESTION_LIST_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"DRAFT_QUESTION_LIST_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const RevokeDraftQuestionAPI = (data, { setBasicModal, setloader }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.put(ROOTURL + \"/api/v1/admin/mufti/question/revoke\", data, options)\n .then((res) => {\n setBasicModal(false)\n setloader(false)\n dispatch({\n type: \"REVOKE_FROM_DRAFT_SUCCESS\",\n payload: {\n data,\n res,\n },\n });\n })\n .catch((err) => {\n setBasicModal(false)\n setloader(false)\n dispatch({\n type: \"REVOKE_FROM_DRAFT_FAILED\",\n msg: { data, err }\n });\n });\n };\n};\n\nexport const DeleteQAbyAdminApi = (data) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.delete(`${ROOTURL}/api/v1/admin/answer/delete?ansID=${data?.id}`, options)\n .then((res) => {\n dispatch({\n type: \"QUESTION_ANSWER_DELETE_SUCCESS\",\n payload: {\n data,\n res,\n },\n });\n toast(\"Action Completed Sucessfully\")\n })\n .catch((err) => {\n dispatch({\n type: \"QUESTION_ANSWER_DELETE_FAILED\",\n msg: { data, err }\n });\n toast(\"Something went Wrong\")\n });\n };\n};\n\nexport const ADMIN_LOGHISTORY = ({ ...data }, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/user/login/history?page=${data?.page}&size=${data?.size}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"ADMIN_LOGHISTORY_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"ADMIN_LOGHISTORY_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const ADMIN_LOGINHISTORY = ({ ...data }, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/admin/login-history?page=${data?.page}&size=${data?.size}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"ADMIN_LOGINHISTORY_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"ADMIN_LOGINHISTORY_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const ADMIN_AUDITLOGIN = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/user/login/history\", options)\n .then((res) => {\n dispatch({\n type: \"ADMIN_AUDITLOGIN_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"ADMIN_AUDITLOGIN_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const ADMIN_LIVEUSERS = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/admin/live-users\", options)\n .then((res) => {\n dispatch({\n type: \"ADMIN_LIVEUSERS_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"ADMIN_LIVEUSERS_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const AdminUserGetAll = ({ ...data }, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/api/v1/admin/users?page=${data?.page || \"1\"}&size=${data?.size || \"10\"}`, options)\n .then((res) => {\n setloader(false)\n dispatch({\n type: \"AdminUserGetAll_SUCCESS\",\n payload: { res },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"AdminUserGetAll_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const AdminUserGetMufti = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/admin/staff\", options)\n // axios.get(ROOTURL + \"/api/v1/admin/users/get/1\", options)\n .then((res) => {\n dispatch({\n type: \"AdminMuftiGetList_SUCCESS\",\n payload: { res },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"AdminMuftiGetList_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const AdminMuftiManagementADD = ({ ...data }, setloader) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.post(ROOTURL + \"/api/v1/admin/staff/create\", {\n ...data,\n }, options)\n .then((res) => {\n toast(\"Staff Added\")\n setloader(false)\n dispatch({\n type: \"ADMIN_CREATE_USER_SUCCESS\",\n payload: { ...data, res },\n });\n })\n .catch((err) => {\n setloader(false)\n toast.error(\"Something Went Wrong\")\n dispatch({\n type: \"ADMIN_CREATE_USER_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\nexport const AdminMuftiManagementUpdate = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.put(ROOTURL + \"/api/v1/admin/staff/update\", {\n ...data,\n }, options)\n .then((res) => {\n toast(\"User Updated\")\n dispatch({\n type: \"ADMIN_UPDATE_USER_SUCCESS\",\n payload: { ...data, res },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"ADMIN_UPDATE_USER_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const AdminUserPasswordChange = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.put(ROOTURL + \"/api/v1/admin/staff/password/change\", {\n ...data,\n }, options)\n .then((res) => {\n toast(\"PassWord Updated\")\n dispatch({\n type: \"PASSWORD_UPDATE_SUCCESS\",\n payload: { ...data, res },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"PASSWORD_UPDATE_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const ModeratorQuestionTranslate = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.put(ROOTURL + \"/api/v1/translate\", {\n ...data,\n }, options)\n .then((res) => {\n dispatch({\n type: \"QUESTION_TRANSLATE_SUCCESS\",\n payload: { ...data, res },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"QUESTION_TRANSLATE_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\n\nexport const CategoryManagementRootAPI = ({ setspinner }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/category/root\")\n .then((res) => {\n setspinner(false)\n dispatch({\n type: \"GET_ROOT_LEVEL_CATEGORY_SUCCESS\",\n payload: { res },\n });\n })\n .catch((err) => {\n setspinner(false)\n dispatch({\n type: \"GET_ROOT_LEVEL_CATEGORY_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const CategoryManagementPubliicAPI = ({ setspinner }) => {\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/open/categories\")\n .then((res) => {\n setspinner(false)\n dispatch({\n type: \"GET_ROOT_LEVEL_CATEGORY_SUCCESS\",\n payload: { res },\n });\n })\n .catch((err) => {\n setspinner(false)\n dispatch({\n type: \"GET_ROOT_LEVEL_CATEGORY_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\n\nexport const RootCategoryDeleteAPI = ({ ...data }) => {\n console.log(data)\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.delete(ROOTURL + \"/category/delete\", { data })\n .then((res) => {\n dispatch({\n type: \"DELETE_ROOT_LEVEL_CATEGORY_SUCCESS\",\n payload: { ...data, res },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"DELETE_ROOT_LEVEL_CATEGORY_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\n\nexport const RootCategoryAddAPI = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.post(ROOTURL + \"/category/create\", { ...data })\n .then((res) => {\n dispatch({\n type: \"ADD_ROOT_LEVEL_CATEGORY_SUCCESS\",\n payload: { ...data, res },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"ADD_ROOT_LEVEL_CATEGORY_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\n\nexport const RootCategoryUpdateAPI = ({ ...data }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.put(ROOTURL + \"/category/update\", { ...data })\n .then((res) => {\n dispatch({\n type: \"UPDATE_ROOT_LEVEL_CATEGORY_SUCCESS\",\n payload: { ...data, res },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"UPDATE_ROOT_LEVEL_CATEGORY_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\n\nexport const CategoryManagementSubAPI = ({ ...data }, { setspinner }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + `/category/byParent?pid=${data.pid}`, { ...data })\n .then((res) => {\n setspinner(false)\n dispatch({\n type: \"GET_SUB_ROOT_LEVEL_CATEGORY_SUCCESS\",\n payload: { ...data, res },\n });\n })\n .catch((err) => {\n setspinner(false)\n dispatch({\n type: \"GET_SUB_ROOT_LEVEL_CATEGORY_FAILED\",\n msg: { ...data, err }\n });\n });\n };\n};\n\nexport const CategoryQuestionAPI = (id) => {\n return (dispatch) => {\n axios.get(ROOTURL + `/category/questionByCategory/${id}`)\n .then((res) => {\n dispatch({\n type: \"CATEGORY_QUESTION_SUCCESS\",\n payload: {\n res\n },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"CATEGORY_QUESTION_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\n\nexport const CategorysRootAllListAPI = (setloading) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/category/listall\")\n .then((res) => {\n setloading(false)\n dispatch({\n type: \"GET_ROOT_CATEGORYS_FOR_MUFTI_SUCCESS\",\n payload: { res },\n });\n })\n .catch((err) => {\n setloading(false)\n dispatch({\n type: \"GET_ROOT_CATEGORYS_FOR_MUFTI__FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const GenralStatsAPI = () => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/admin/general/insights\", options)\n .then((res) => {\n dispatch({\n type: \"GENRAL_STATS_SUCCESS\",\n payload: { res }\n });\n })\n .catch((err) => {\n dispatch({\n type: \"GENRAL_STATS_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const ModratorInsightsAPI = ({ setl1 }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/admin/moderator/insights\", options)\n .then((res) => {\n setl1(false)\n dispatch({\n type: \"MODERATOR_INSIGHTS_SUCCESS\",\n payload: { res }\n });\n })\n .catch((err) => {\n setl1(false)\n dispatch({\n type: \"MODERATOR_INSIGHTS_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const MufitInsightsAPI = ({ setl2 }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/admin/mufti/insights\", options)\n .then((res) => {\n setl2(false)\n dispatch({\n type: \"MUFTI_INSIGHTS_SUCCESS\",\n payload: { res }\n });\n })\n .catch((err) => {\n setl2(false)\n dispatch({\n type: \"MUFTI_INSIGHTS_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const ApproverInsightsAPI = ({ setl3 }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/admin/approver/insights\", options)\n .then((res) => {\n setl3(false)\n dispatch({\n type: \"APPROVER_INSIGHTS_SUCCESS\",\n payload: { res }\n });\n })\n .catch((err) => {\n setl3(false)\n dispatch({\n type: \"APPROVER_INSIGHTS_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\n\nexport const GlobalLanguageApi = () => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/language/list\", options)\n .then((res) => {\n dispatch({\n type: \"GET_LANGUAGE_SUCCESS\",\n payload: { res },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"GET_LANGUAGE_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const GetAdminRolesApi = () => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/admin/roles\", options)\n .then((res) => {\n dispatch({\n type: \"GET_ROLES_SUCCESS\",\n payload: { res },\n });\n })\n .catch((err) => {\n dispatch({\n type: \"GET_ROLES_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\nexport const AskQuestionStateAPI = ({ setspinner, setQuestionState, setQuestionStatetemp }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/platformControl/askQuestion/state\", options)\n .then((res) => {\n setspinner(false)\n setQuestionState(res?.data?.state)\n setQuestionStatetemp(res?.data?.state)\n })\n .catch((err) => {\n setspinner(false)\n });\n };\n};\n\n\nexport const GetDailyQuotaAPI = ({ setspinner, setdailyQuota, setdailyQuotatemp }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/platformControl/dailyQuota\", options)\n .then((res) => {\n setspinner(false)\n setdailyQuota(res?.data?.quota)\n setdailyQuotatemp(res?.data?.quota)\n })\n .catch((err) => {\n setspinner(false)\n });\n };\n};\n\nexport const GetNewsAPI = ({ setspinner, setNews, setNewstemp }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/platformControl/notesForQuestionary\", options)\n .then((res) => {\n setspinner(false)\n setNews(res?.data?.note)\n setNewstemp(res?.data?.note)\n })\n .catch((err) => {\n setspinner(false)\n });\n };\n};\n\n\nexport const UpdateQuestionStateAPI = (QuestionState, { setspinner, setQuestionStatetemp, setUpdate }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.patch(ROOTURL + `/api/v1/platformControl/askQuestion/${QuestionState?.status ? 'enable' : 'disable'}`, { CalloutMessage: QuestionState?.callout }, options)\n .then((res) => {\n setspinner(false)\n setUpdate({ ToggleQA: false, DailyQuota: false, UpdateNews: false })\n setQuestionStatetemp(QuestionState)\n })\n .catch((err) => {\n setspinner(false)\n });\n };\n};\n\nexport const UpdateDailyQuotaAPI = (dailyQuota, { setspinner, setdailyQuotatemp, setUpdate }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.post(ROOTURL + `/api/v1/platformControl/dailyQuota`, { Quota: parseInt(dailyQuota?.dailyQuota) }, options)\n .then((res) => {\n setspinner(false)\n setUpdate({ ToggleQA: false, DailyQuota: false, UpdateNews: false })\n setdailyQuotatemp(dailyQuota)\n })\n .catch((err) => {\n setspinner(false)\n });\n };\n};\n\n\nexport const UpdateNewsAPI = (News, { setspinner, setNewstemp, setUpdate }) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.patch(ROOTURL + `/api/v1/platformControl/notesForQuestionary`, { Notes: News }, options)\n .then((res) => {\n setspinner(false)\n setUpdate({ ToggleQA: false, DailyQuota: false, UpdateNews: false })\n setNewstemp(dailyQuota)\n })\n .catch((err) => {\n setspinner(false)\n });\n };\n};\n\nexport const SubmitContactFormAPI = (formData, { setloading, setFormData }) => {\n return (dispatch) => {\n axios.get(ROOTURL + \"/api/v1/contactUs\", formData)\n .then((res) => {\n setloading(false)\n setFormData({\n firstName: '',\n lastName: '',\n email: '',\n subject: '',\n message: ''\n })\n dispatch({\n type: \"CONTACT_FORM_SUBMIT_SUCCESS\",\n payload: {\n res,\n },\n });\n toast.success(\"Form submitted sucessfylly\")\n })\n .catch((err) => {\n setloading(false)\n dispatch({\n type: \"CONTACT_FORM_SUBMIT_FAILED\",\n msg: { err }\n });\n toast.error(\"Something went wrong\")\n });\n };\n};\n\n\nexport const NudgeApi = (data, setloader, setTimerModal1) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.post(ROOTURL + `/api/v1/fcs/ifta/nudge`, data, options)\n .then((res) => {\n toast(\"Notification Sent\")\n setloader(false)\n setTimerModal1(false)\n dispatch({\n type: \"NudgeApi_SUCCESS\",\n payload: {\n res,\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"NudgeApi_FAILED\",\n msg: { err }\n });\n });\n };\n};\nexport const Switch_Ifta_Api = (data, setloader, setTimerModal) => {\n const options = {\n headers: {\n sid: localStorage.getItem('sid'),\n at: localStorage.getItem('at')\n }\n }\n return (dispatch) => {\n axios.put(ROOTURL + `/api/v1/fcs/ifta/switch`, data, options)\n .then((res) => {\n toast(\"Ifta Switched\")\n setloader(false)\n setTimerModal(false)\n dispatch({\n type: \"Switch_Ifta_Api_SUCCESS\",\n payload: {\n ...data, res\n },\n });\n })\n .catch((err) => {\n setloader(false)\n dispatch({\n type: \"Switch_Ifta_Api_FAILED\",\n msg: { err }\n });\n });\n };\n};\n\n/*eslint-enable */\n\n","// ** Handles Layout Content Width (full / boxed)\nexport const handleContentWidth = value => dispatch => dispatch({ type: 'HANDLE_CONTENT_WIDTH', value })\n\n// ** Handles Menu Collapsed State (Bool)\nexport const handleMenuCollapsed = value => dispatch => dispatch({ type: 'HANDLE_MENU_COLLAPSED', value })\n\n// ** Handles Menu Hidden State (Bool)\nexport const handleMenuHidden = value => dispatch => dispatch({ type: 'HANDLE_MENU_HIDDEN', value })\n\n// ** Handles RTL (Bool)\nexport const handleRTL = value => dispatch => dispatch({ type: 'HANDLE_RTL', value })\n","// ** React Imports\nimport { Fragment, useEffect } from 'react'\n\n// ** Third Party Components\nimport classnames from 'classnames'\n\n// ** Store & Actions\nimport { useSelector, useDispatch } from 'react-redux'\nimport { handleContentWidth, handleMenuCollapsed, handleMenuHidden } from '@store/actions/layout'\n\n// ** Styles\nimport 'animate.css/animate.css'\n\nconst LayoutWrapper = props => {\n // ** Props\n const { layout, children, appLayout, wrapperClass, transition, routeMeta } = props\n\n // ** Store Vars\n const dispatch = useDispatch()\n const store = useSelector(state => state)\n const navbarStore = store.navbar\n const contentWidth = store.layout.contentWidth\n\n //** Vars\n const Tag = layout === 'HorizontalLayout' && !appLayout ? 'div' : Fragment\n\n // ** Clean Up Function\n const cleanUp = () => {\n if (routeMeta) {\n if (routeMeta.contentWidth) {\n dispatch(handleContentWidth('full'))\n }\n if (routeMeta.menuCollapsed) {\n dispatch(handleMenuCollapsed(!routeMeta.menuCollapsed))\n }\n if (routeMeta.menuHidden) {\n dispatch(handleMenuHidden(!routeMeta.menuHidden))\n }\n }\n }\n\n // ** ComponentDidMount\n useEffect(() => {\n if (routeMeta) {\n if (routeMeta.contentWidth) {\n dispatch(handleContentWidth(routeMeta.contentWidth))\n }\n if (routeMeta.menuCollapsed) {\n dispatch(handleMenuCollapsed(routeMeta.menuCollapsed))\n }\n if (routeMeta.menuHidden) {\n dispatch(handleMenuHidden(routeMeta.menuHidden))\n }\n }\n return () => cleanUp()\n }, [])\n\n return (\n \n
\n
\n \n \n {children}\n \n
\n \n )\n}\n\nexport default LayoutWrapper\n","// ** Routes Imports\nimport AppRoutes from './Apps'\nimport PagesRoutes from './Pages'\nimport WebsiteRoutes from './Website'\n\n// ** Document title\nconst TemplateTitle = 'ZamZam Academy'\n\n// ** Default Route\nconst DefaultRoute = '/q&a'\n\n// ** Merge Routes\nconst Routes = [\n ...AppRoutes,\n ...PagesRoutes,\n ...WebsiteRoutes\n]\n\nexport { DefaultRoute, TemplateTitle, Routes }\n","import { lazy } from 'react'\nimport { Redirect } from 'react-router-dom'\n\nconst AppRoutes = [\n {\n path: '/moderator/dashboard',\n component: lazy(() => import('../../views/moderator/moTable')),\n name: \"moderator\"\n },\n // {\n // path: '/dashboard',\n // component: lazy(() => import('../../views/Defaultpage'))\n // },\n {\n path: '/admin/LogHistory',\n component: lazy(() => import('../../views/admin/loginHistory')),\n name: \"Super Admin Login History\"\n },\n {\n path: '/notification',\n component: lazy(() => import('../../views/Notifications/index')),\n name: \"Notifications\"\n },\n {\n path: '/admin/login-history',\n component: lazy(() => import('../../views/loginHistory')),\n name: \"Super Admin Login History\"\n },\n {\n path: '/admin/audit',\n component: lazy(() => import('../../views/AuditLog'))\n },\n {\n path: '/admin/settings',\n component: lazy(() => import('../../views/admin/Settings/Settings')),\n name: \"Settings\"\n },\n {\n path: '/admin/live-user',\n component: lazy(() => import('../../views/ActiveUsers')),\n name: \"live-user\"\n },\n {\n path: '/userprofile',\n component: lazy(() => import('../../views/Viewuserprofile')),\n name: \"Profile\"\n },\n {\n path: '/role-management/working',\n component: lazy(() => import('../../views/admin/rollManagement')),\n name: \"Role management\"\n },\n {\n path: '/end-user-managament/management',\n component: lazy(() => import('../../views/admin/userManagement')),\n name: \"End user managament\"\n },\n {\n path: '/mufti-management/management',\n component: lazy(() => import('../../views/admin/muftiManagement')),\n name: \"Team Management\"\n },\n {\n path: '/moderator/working/:sideName',\n exact: true,\n appLayout: true,\n className: 'email-application',\n component: lazy(() => import('../../views/moderator/working')),\n name: \"Moderator\"\n },\n {\n path: '/mufti/working/:sideName',\n exact: true,\n appLayout: true,\n className: 'email-application',\n component: lazy(() => import('../../views/mufti/working')),\n name: \"Mufti\"\n\n },\n {\n path: '/fcs/working/:sideName',\n exact: true,\n appLayout: true,\n className: 'email-application',\n component: lazy(() => import('../../views/mufti copy/working')),\n name: \"Fcs Module\"\n },\n {\n path: '/fcs/question/toPublish',\n exact: true,\n appLayout: true,\n className: 'email-application',\n component: lazy(() => import('../../views/publish/working')),\n name: \"Publish Questions\"\n },\n {\n path: '/approval-management/working/:sideName',\n exact: true,\n appLayout: true,\n className: 'email-application',\n component: lazy(() => import('../../views/approvalManagement/working')),\n name: \"Approval Management\"\n },\n // {\n // path: '/mufti/working/:folder',\n // exact: true,\n // appLayout: true,\n // className: 'email-application',\n // component: lazy(() => import('../../views/mufti/working')),\n // meta: {\n // navLink: '/mufti/working'\n // }\n // },\n {\n path: '/ask-a-question',\n component: lazy(() => import('../../views/generalView/askAQuestion')),\n name: \"Ask a Question\"\n },\n {\n path: '/q&a',\n component: lazy(() => import('../../views/generalView/questionAndAnswer')),\n className: 'email-application',\n exact: true,\n appLayout: true,\n name: \"Q&A\"\n },\n {\n path: '/open/q&a',\n component: lazy(() => import('../../views/generalView/OpenQuestionAndAnswer')),\n className: 'email-application assetstyle',\n layout: 'BlankLayout',\n exact: true,\n appLayout: true,\n name: \"Open/Q&A\"\n },\n {\n path: '/open/askaquestion',\n component: lazy(() => import('../../views/generalView/OpenQuestionAndAnswer/AskaQuestion')),\n className: 'email-application assetstyle',\n layout: 'BlankLayout',\n exact: true,\n appLayout: true,\n name: \"Ask a Question\"\n },\n {\n path: '/admin/insights',\n component: lazy(() => import('../../views/generalView/statistics/index'))\n },\n {\n path: '/admin/idleMufti',\n component: lazy(() => import('../../views/admin/RevokeQ&A SuperAdmin/index')),\n className: 'email-application',\n exact: true,\n appLayout: true,\n name: \"Revoke\"\n },\n {\n path: '/allQuestions/status',\n component: lazy(() => import('../../views/admin/AllQuestionList/index'))\n },\n {\n path: '/category-management/working',\n component: lazy(() => import('../../views/admin/CategoryManagement/CategoryManagementRoot')),\n name: \"Category Management\"\n },\n {\n path: '/categoryManagement/working/category:id',\n component: lazy(() => import('../../views/admin/CategoryManagement/CategoryManagmentSubRoot'))\n },\n {\n path: '/categoryManagement/working/category/questionslist:code/productId:id',\n component: lazy(() => import('../../views/admin/CategoryManagement/QuestionsList'))\n }\n // {\n // path: '/apps/email/label/:label',\n // exact: true,\n // appLayout: true,\n // className: 'email-application',\n // component: lazy(() => import('../../views/apps/email')),\n // meta: {\n // navLink: '/apps/email'\n // }\n // },\n // {\n // path: '/apps/email/:filter',\n // component: lazy(() => import('../../views/apps/email')),\n // meta: {\n // navLink: '/apps/email'\n // }\n // },\n]\n\nexport default AppRoutes\n","import { lazy } from 'react'\nimport { Redirect } from 'react-router-dom'\n\nconst PagesRoutes = [\n \n {\n path: '/faq',\n component: lazy(() => import('../../views/pages/faq'))\n },\n {\n path: '/login',\n component: lazy(() => import('../../views/pages/authentication/Login')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true\n }\n },\n {\n path: '/global/question/answer',\n component: lazy(() => import('../../views/generalView/questionAndAnswer')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true,\n publicRoute: true\n }\n },\n {\n path: '/pages/login-v1',\n component: lazy(() => import('../../views/pages/authentication/LoginV1')),\n layout: 'BlankLayout'\n },\n {\n path: '/pages/login-v2',\n component: lazy(() => import('../../views/pages/authentication/LoginV2')),\n layout: 'BlankLayout'\n },\n {\n path: '/register',\n component: lazy(() => import('../../views/pages/authentication/Register')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true\n }\n },\n {\n path: '/pages/register-v1',\n component: lazy(() => import('../../views/pages/authentication/RegisterV1')),\n layout: 'BlankLayout'\n },\n {\n path: '/pages/register-v2',\n component: lazy(() => import('../../views/pages/authentication/RegisterV2')),\n layout: 'BlankLayout'\n },\n {\n path: '/forgot-password',\n component: lazy(() => import('../../views/pages/authentication/ForgotPassword')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true\n }\n },\n {\n path: '/pages/forgot-password-v1',\n component: lazy(() => import('../../views/pages/authentication/ForgotPasswordV1')),\n layout: 'BlankLayout'\n },\n {\n path: '/pages/forgot-password-v2',\n component: lazy(() => import('../../views/pages/authentication/ForgotPasswordV2.js')),\n layout: 'BlankLayout'\n },\n {\n path: '/pages/reset-password-v1',\n component: lazy(() => import('../../views/pages/authentication/ResetPasswordV1')),\n layout: 'BlankLayout'\n },\n {\n path: '/pages/reset-password-v2',\n component: lazy(() => import('../../views/pages/authentication/ResetPasswordV2')),\n layout: 'BlankLayout'\n },\n {\n path: '/misc/coming-soon',\n component: lazy(() => import('../../views/pages/misc/ComingSoon')),\n layout: 'BlankLayout',\n meta: {\n publicRoute: true\n }\n },\n {\n path: '/misc/not-authorized',\n component: lazy(() => import('../../views/pages/misc/NotAuthorized')),\n layout: 'BlankLayout',\n meta: {\n publicRoute: true\n }\n },\n {\n path: '/misc/maintenance',\n component: lazy(() => import('../../views/pages/misc/Maintenance')),\n layout: 'BlankLayout',\n meta: {\n publicRoute: true\n }\n },\n {\n path: '/misc/error',\n component: lazy(() => import('../../views/pages/misc/Error')),\n layout: 'BlankLayout',\n meta: {\n publicRoute: true\n }\n }\n \n]\n\nexport default PagesRoutes\n","import { lazy } from 'react'\nimport { Redirect } from 'react-router-dom'\n\nconst WebsiteRoutes = [\n {\n path: '/home',\n component: lazy(() => import('../../views/Website/Home/Index')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true,\n publicRoute: true,\n exact: true\n }\n },\n {\n path: '/ask-a-question',\n component: lazy(() => import('../../views/Website/AskAQuestion/Index')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true,\n publicRoute: true,\n exact: true\n }\n },\n {\n path: '/all-answers',\n component: lazy(() => import('../../views/Website/AllAnswers/Index')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true,\n publicRoute: true,\n exact: true\n }\n },\n {\n path: '/view-answers/:category/:id/:title',\n component: lazy(() => import('../../views/Website/ViewAnswer/Index')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true,\n publicRoute: true,\n exact: true\n }\n },\n {\n path: '/filter-category/:category/:id',\n component: lazy(() => import('../../views/Website/CategoryFilter/Index')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true,\n publicRoute: true,\n exact: true\n }\n },\n {\n path: '/about-us',\n component: lazy(() => import('../../views/Website/About/Index')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true,\n publicRoute: true,\n exact: true\n }\n },\n {\n path: '/contact-us',\n component: lazy(() => import('../../views/Website/Contact/Index')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true,\n publicRoute: true,\n exact: true\n }\n },\n {\n path: '/donate',\n component: lazy(() => import('../../views/Website/Donate/index')),\n layout: 'BlankLayout',\n meta: {\n authRoute: true,\n publicRoute: true,\n exact: true\n }\n }\n]\n\nexport default WebsiteRoutes\n","// ** React Imports\nimport { useEffect, useState } from 'react'\n\n// ** Custom Hooks\nimport { useSkin } from '@hooks/useSkin'\n\nconst BlankLayout = ({ children, ...rest }) => {\n // ** Hooks\n const [skin, setSkin] = useSkin()\n\n // ** States\n const [isMounted, setIsMounted] = useState(false)\n\n //** ComponentDidMount\n useEffect(() => {\n setIsMounted(true)\n return () => setIsMounted(false)\n }, [])\n\n if (!isMounted) {\n return null\n }\n\n return (\n
\n
\n
\n
{children}
\n
\n
\n
\n )\n}\n\nexport default BlankLayout\n","// ** React Imports\nimport { useState } from 'react'\n\n// ** Third Party Components\nimport Select from 'react-select'\nimport classnames from 'classnames'\nimport { Settings, X } from 'react-feather'\nimport { CustomInput, FormGroup } from 'reactstrap'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\nimport { selectThemeColors } from '@utils'\n\n// ** Styles\nimport '@styles/react/libs/react-select/_react-select.scss'\n\nconst Customizer = props => {\n // ** Props\n const {\n skin,\n setSkin,\n isRtl,\n setIsRtl,\n layout,\n setLayout,\n navbarType,\n setNavbarType,\n footerType,\n setFooterType,\n navbarColor,\n setNavbarColor,\n isHidden,\n setIsHidden,\n contentWidth,\n setContentWidth,\n menuCollapsed,\n setMenuCollapsed,\n transition,\n setTransition\n } = props\n\n // ** State\n const [openCustomizer, setOpenCustomizer] = useState(false)\n\n // ** Toggles Customizer\n const handleToggle = e => {\n e.preventDefault()\n setOpenCustomizer(!openCustomizer)\n }\n\n // ** Render Layout Skin Options\n const renderSkinsRadio = () => {\n const skinsArr = [\n {\n name: 'light',\n label: 'Light',\n checked: skin === 'light'\n },\n {\n name: 'bordered',\n label: 'Bordered',\n checked: skin === 'bordered'\n },\n {\n name: 'dark',\n label: 'Dark',\n checked: skin === 'dark'\n },\n {\n name: 'semi-dark',\n label: 'Semi Dark',\n checked: skin === 'semi-dark'\n }\n ]\n\n return skinsArr.map((radio, index) => {\n const marginCondition = index !== skinsArr.length - 1\n\n if (layout === 'HorizontalLayout' && radio.name === 'semi-dark') {\n return null\n }\n\n return (\n setSkin(radio.name)}\n className={classnames({ 'mr-1': marginCondition })}\n />\n )\n })\n }\n\n // ** Render Navbar Colors Options\n const renderNavbarColors = () => {\n const colorsArr = ['white', 'primary', 'secondary', 'success', 'danger', 'info', 'warning', 'dark']\n\n return colorsArr.map(color => (\n setNavbarColor(color)}\n >\n ))\n }\n\n // ** Render Navbar Type Options\n const renderNavbarTypeRadio = () => {\n const navbarTypeArr = [\n {\n name: 'floating',\n label: 'Floating',\n checked: navbarType === 'floating'\n },\n {\n name: 'sticky',\n label: 'Sticky',\n checked: navbarType === 'sticky'\n },\n {\n name: 'static',\n label: 'Static',\n checked: navbarType === 'static'\n },\n {\n name: 'hidden',\n label: 'Hidden',\n checked: navbarType === 'hidden'\n }\n ]\n\n return navbarTypeArr.map((radio, index) => {\n const marginCondition = index !== navbarTypeArr.length - 1\n\n if (layout === 'HorizontalLayout' && radio.name === 'hidden') {\n return null\n }\n\n return (\n setNavbarType(radio.name)}\n className={classnames({ 'mr-1': marginCondition })}\n />\n )\n })\n }\n\n // ** Render Footer Type Options\n const renderFooterTypeRadio = () => {\n const footerTypeArr = [\n {\n name: 'sticky',\n label: 'Sticky',\n checked: footerType === 'sticky'\n },\n {\n name: 'static',\n label: 'Static',\n checked: footerType === 'static'\n },\n {\n name: 'hidden',\n label: 'Hidden',\n checked: footerType === 'hidden'\n }\n ]\n\n return footerTypeArr.map((radio, index) => {\n const marginCondition = index !== footerTypeArr.length - 1\n\n return (\n setFooterType(radio.name)}\n className={classnames({ 'mr-1': marginCondition })}\n />\n )\n })\n }\n\n // ** Router Transition Options\n const transitionOptions = [\n { value: 'fadeIn', label: 'Fade' },\n { value: 'fadeInLeft', label: 'Fade In Left' },\n { value: 'zoomIn', label: 'Zoom In' },\n { value: 'none', label: 'None' }\n ]\n\n // ** Get Current Transition\n const transitionValue = transitionOptions.find(i => i.value === transition)\n\n return (\n \n \n \n \n \n
\n

Theme Customizer

\n

Customize & Preview in Real Time

\n \n \n \n
\n\n
\n\n
\n \n

Skin

\n
{renderSkinsRadio()}
\n
\n\n \n

Content Width

\n
\n setContentWidth('full')}\n />\n setContentWidth('boxed')}\n />\n
\n
\n\n \n
\n

RTL

\n setIsRtl(!isRtl)} />\n
\n
\n\n \n
\n

Router Transition

\n setTransition(value)}\n />\n
\n
\n
\n\n
\n\n
\n

Menu Layout

\n \n
\n setLayout('vertical')}\n className='mr-1'\n />\n setLayout('horizontal')}\n />\n
\n
\n {layout !== 'HorizontalLayout' ? (\n \n
\n

Menu Collapsed

\n setMenuCollapsed(!menuCollapsed)}\n />\n
\n
\n ) : null}\n\n \n
\n

Menu Hidden

\n setIsHidden(!isHidden)}\n />\n
\n
\n
\n\n
\n\n
\n {layout !== 'HorizontalLayout' ? (\n \n

Navbar Color

\n
    {renderNavbarColors()}
\n
\n ) : null}\n\n \n

{layout === 'HorizontalLayout' ? 'Menu' : 'Navbar'} Type

\n
{renderNavbarTypeRadio()}
\n
\n
\n\n
\n\n
\n \n

Footer Type

\n
{renderFooterTypeRadio()}
\n
\n
\n
\n \n )\n}\n\nexport default Customizer\n","// ** Icons Import\nimport { Bell, Heart, Home, LogOut, Menu, Settings } from 'react-feather'\nimport { useDispatch } from 'react-redux'\nimport { useHistory } from 'react-router-dom'\nimport { logOutAPi } from '../../../../Action-Creators/Api-Management'\nimport ModalCompo from '../../../../assets/Components/ModalCompo'\nimport { useEffect, useState } from 'react'\n\nconst Footer = (props) => {\n const { menuVisibility, setMenuVisibility } = props\n const history = useHistory()\n const dispatch = useDispatch()\n const [model1, setmodel1] = useState(false)\n const [isKeyboardOpen, setKeyboardOpen] = useState(false)\n const [loader, setloader] = useState(false)\n const sendMessageToRN = () => {\n try {\n // Send a message to the React Native app\n window.ReactNativeWebView.postMessage('logout')\n } catch (error) {\n console.error('Error sending message to React Native:', error)\n }\n }\n const handleLogout1 = () => {\n sendMessageToRN()\n setloader(true)\n dispatch({ type: 'LOGOUT_SUCCESS' })\n dispatch({ type: 'CLEAR_SIDE_MENU_SUCCESS' })\n dispatch(logOutAPi({ lid: localStorage.getItem(\"lid\") }))\n localStorage.clear()\n sessionStorage.clear()\n // history.push(\"/login\")\n window.location.href = \"/login\"\n }\n const HandleClose = () => {\n setmodel1(false)\n }\n\n useEffect(() => {\n const handleKeyboardOpen = () => {\n setKeyboardOpen(true)\n }\n const handleKeyboardClose = () => {\n setKeyboardOpen(false)\n }\n // console.log(\"keyboard\", isKeyboardOpen)\n // Attach event listeners\n if (isKeyboardOpen) {\n window.addEventListener('resize', handleKeyboardClose)\n } else {\n window.addEventListener('resize', handleKeyboardOpen)\n }\n // window.addEventListener('scroll', handleKeyboardOpen)\n // window.addEventListener('focusin', handleKeyboardOpen)\n // window.addEventListener('focusout', handleKeyboardClose)\n }, [isKeyboardOpen])\n\n return (\n <>\n \n

\n \n COPYRIGHT © {new Date().getFullYear()}{' '}\n \n Whitethread\n \n , All rights Reserved\n \n {/* \n Hand-crafted & Made with\n \n */}\n

\n
\n
{ setMenuVisibility(true) }} className='d-flex flex-column justify-content-center align-items-center'>\n \n Menu\n
\n
{ history.push('/q&a') }} className='d-flex flex-column justify-content-center align-items-center'>\n \n Home\n
\n
{ history.push('/notification') }} className='d-flex flex-column justify-content-center align-items-center'>\n \n Notifications\n
\n
{\n setmodel1(true)\n // sendMessageToRN()\n }} className='d-flex flex-column justify-content-center align-items-center'>\n \n Logout\n
\n\n
\n \n )\n}\n\nexport default Footer\n","// ** React Imports\nimport { useContext } from 'react'\n\n// ** Third Party Components\nimport ReactCountryFlag from 'react-country-flag'\nimport { UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'\n\n// ** Internationalization Context\nimport { IntlContext } from '@src/utility/context/Internationalization'\n\nconst IntlDropdown = () => {\n // ** Context\n const intlContext = useContext(IntlContext)\n // const {locale, messages} = useContext(IntlContext)\n // console.log(locale, messages)\n\n // ** Vars\n // const langObj = {\n // en: 'English',\n // de: 'German',\n // fr: 'French',\n // pt: 'Portuguese'\n // }\n const langObj = {\n en: 'English',\n ta: 'Tamil',\n ka: 'Kannada',\n hi: 'Hindi'\n }\n\n // ** Function to switch Language\n const handleLangUpdate = (e, lang) => {\n e.preventDefault()\n intlContext.switchLanguage(lang)\n }\n\n return (\n \n e.preventDefault()}>\n {/* */}\n {langObj[intlContext.locale]}\n \n {/* \n handleLangUpdate(e, 'en')}>\n English\n \n handleLangUpdate(e, 'ka')}>\n Kannada\n \n handleLangUpdate(e, 'ta')}>\n Tamil\n \n handleLangUpdate(e, 'hi')}>\n Hindi\n \n */}\n \n )\n}\n\nexport default IntlDropdown\n","export default __webpack_public_path__ + \"static/media/NazimPic.f5ba6ee7.png\";","// ** React Imports\nimport { useEffect, useState } from 'react'\nimport { Link, useHistory } from 'react-router-dom'\n/*eslint-disable */\n// ** Custom Components\nimport Avatar from '@components/avatar'\n\n// ** Utils\nimport { isUserLoggedIn } from '@utils'\n\n// ** Store & Actions\nimport { useDispatch, useSelector } from 'react-redux'\nimport { handleLogout } from '@store/actions/auth'\n\n// ** Third Party Components\nimport { UncontrolledDropdown, DropdownMenu, DropdownToggle, DropdownItem } from 'reactstrap'\nimport { User, Mail, CheckSquare, MessageSquare, Settings, CreditCard, HelpCircle, Power, Users } from 'react-feather'\n\n// ** Default Avatar Image\n// import defaultAvatar from '@src/assets/images/portrait/small/avatar-s-11.jpg'\nimport defaultAvatar from '../../../../assets/images/avatars/NazimPic.png'\nimport { logOutAPi } from '../../../../Action-Creators/Api-Management'\nimport ModalCompo from '../../../../assets/Components/ModalCompo'\n\nconst UserDropdown = () => {\n const userDetails = useSelector((state) => state.autentication.validatePassword?.UserInfo)\n const history = useHistory()\n // ** Store Vars\n const dispatch = useDispatch()\n\n // ** State\n const [userData, setUserData] = useState(null)\n const [model1, setmodel1] = useState(false)\n const [loader, setloader] = useState(false)\n\n //** ComponentDidMount\n useEffect(() => {\n if (isUserLoggedIn() !== null) {\n setUserData(JSON.parse(localStorage.getItem('userData')))\n }\n }, [])\n const handleLogout1 = () => {\n setloader(true)\n dispatch({ type: 'LOGOUT_SUCCESS' })\n dispatch({ type: 'CLEAR_SIDE_MENU_SUCCESS' })\n dispatch(logOutAPi({ lid: localStorage.getItem(\"lid\") }))\n localStorage.clear()\n sessionStorage.clear()\n history.push(\"/login\")\n }\n const HandleClose = () => {\n setmodel1(false)\n }\n //** Vars\n const userAvatar = (userData && userData.avatar) || defaultAvatar\n return (\n \n \n e.preventDefault()}>\n
\n {/*NAZIM*/} {userDetails?.UserName || userData?.UserInfo?.UserName} \n {/* {\"submenu\"} */}\n {/* {userDetails?.Role[0] || <>{userData?.UserInfo?.Role[0] + userData?.UserInfo?.Role?.length > 1 && \"...\" + userData?.UserInfo?.Role?.length} || \"submenu\"} */}\n {/* {userDetails?.Role[0] || userData?.UserInfo?.Role.map((e) => { return (<>{e},) }) || \"submenu\"} */}\n {/* Moderator */}\n
\n {/* */}\n {/* status='online' */}\n
\n \n {/* \n \n Account\n */}\n {/* \n \n Notifications\n */}\n { history.push(\"/userprofile\") }}>\n \n Profile\n \n { history.push(\"/notification\") }}>\n \n Notifications\n \n { history.push(\"/admin/LogHistory\") }}>\n \n Login History\n \n {/* \n \n Audit Log\n */}\n { setmodel1(true) }}>\n \n Logout\n \n \n
\n )\n}\n\nexport default UserDropdown\n","// ** React Imports\nimport { useEffect, useState } from 'react'\n\n// ** Third Party Components\nimport axios from 'axios'\nimport classnames from 'classnames'\nimport * as Icon from 'react-feather'\nimport { NavItem, NavLink } from 'reactstrap'\n\n// ** Store & Actions\nimport { useDispatch } from 'react-redux'\nimport { handleSearchQuery } from '@store/actions/navbar'\n\n// ** Custom Components\nimport Autocomplete from '@components/autocomplete'\n\nconst NavbarSearch = () => {\n // ** Store Vars\n const dispatch = useDispatch()\n\n // ** States\n const [suggestions, setSuggestions] = useState([])\n const [navbarSearch, setNavbarSearch] = useState(false)\n\n // ** ComponentDidMount\n useEffect(() => {\n axios.get('/api/main-search/data').then(({ data }) => {\n setSuggestions(data.searchArr)\n })\n }, [])\n\n // ** Removes query in store\n const handleClearQueryInStore = () => dispatch(handleSearchQuery(''))\n\n // ** Function to handle external Input click\n const handleExternalClick = () => {\n if (navbarSearch === true) {\n setNavbarSearch(false)\n handleClearQueryInStore()\n }\n }\n\n // ** Function to clear input value\n const handleClearInput = setUserInput => {\n if (!navbarSearch) {\n setUserInput('')\n handleClearQueryInStore()\n }\n }\n\n // ** Function to close search on ESC & ENTER Click\n const onKeyDown = e => {\n if (e.keyCode === 27 || e.keyCode === 13) {\n setTimeout(() => {\n setNavbarSearch(false)\n handleClearQueryInStore()\n }, 1)\n }\n }\n\n // ** Function to handle search suggestion Click\n const handleSuggestionItemClick = () => {\n setNavbarSearch(false)\n handleClearQueryInStore()\n }\n\n // ** Function to handle search list Click\n const handleListItemClick = (func, link, e) => {\n func(link, e)\n setTimeout(() => {\n setNavbarSearch(false)\n }, 1)\n handleClearQueryInStore()\n }\n\n return (\n setNavbarSearch(true)}>\n \n \n \n \n
\n \n
\n {navbarSearch ? (\n handleClearInput(setUserInput)}\n onKeyDown={onKeyDown}\n onChange={e => dispatch(handleSearchQuery(e.target.value))}\n customRender={(item, i, filteredData, activeSuggestion, onSuggestionItemClick, onSuggestionItemHover) => {\n const IconTag = Icon[item.icon ? item.icon : 'X']\n return (\n handleListItemClick(onSuggestionItemClick, item.link, e)}\n onMouseEnter={() => onSuggestionItemHover(filteredData.indexOf(item))}\n >\n \n
\n {item.icon ? (\n \n ) : item.file ? (\n {item.title}\n ) : item.img ? (\n {item.title}\n ) : null}\n
\n

{item.title}

\n {item.by || item.email ? (\n {item.by ? item.by : item.email ? item.email : null}\n ) : null}\n
\n
\n {item.size || item.date ? (\n
\n {item.size ? item.size : item.date ? item.date : null}\n
\n ) : null}\n \n \n )\n }}\n />\n ) : null}\n
\n {\n e.stopPropagation()\n setNavbarSearch(false)\n handleClearQueryInStore()\n }}\n />\n
\n \n
\n )\n}\n\nexport default NavbarSearch\n","// ** React Imports\nimport { Fragment, useEffect, useState } from 'react'\n\n// ** Custom Components\nimport Avatar from '@components/avatar'\n\n// ** Third Party Components\nimport classnames from 'classnames'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\nimport { Bell, X, Check, AlertTriangle, Trash2 } from 'react-feather'\nimport {\n Button,\n Badge,\n Media,\n CustomInput,\n DropdownMenu,\n DropdownItem,\n DropdownToggle,\n UncontrolledDropdown\n} from 'reactstrap'\nimport { GET_NOTIFICATION, NotificationSingleClear } from \"../../../../Action-Creators/Api-Management\"\nimport { useDispatch, useSelector } from 'react-redux'\nimport moment from 'moment'\n\nconst NotificationDropdown = () => {\n const dispatch = useDispatch()\n const [loader, setloader] = useState(false)\n const notificationsArray = useSelector((state) => state.autentication.GetNotificationData)\n useEffect(() => {\n if (localStorage.getItem('at')) {\n dispatch(GET_NOTIFICATION(setloader))\n }\n }, [])\n\n const HandleSingleClear = (ID) => {\n setloader(true)\n dispatch(NotificationSingleClear({ Notifications: { ID } }, setloader))\n }\n const HandleAllClear = () => {\n setloader(true)\n dispatch(NotificationSingleClear({ Notifications: { ID: 0 } }, setloader))\n }\n // ** Function to render Notifications\n /*eslint-disable */\n const renderNotificationItems = () => {\n const [styleID, setStyleID] = useState(\"\");\n return (\n \n {notificationsArray.length > 0 ?\n notificationsArray.map((item, index) => {\n return (\n e.preventDefault()}>\n \n \n {\n setStyleID(item.ID);\n }}\n onMouseLeave={(e) => {\n setStyleID(\"\");\n }}>\n {item.Title + \" \"}\n {/*

\n {\n moment(item.RecordedAt).format(\"Do MMM YY, h:mm a\")\n }\n

*/}\n \n {\n moment(item.RecordedAt).format(\"Do MMM YY, h:mm a\")\n }\n  \n HandleSingleClear(item.ID)} style={\n styleID === item.ID\n ? { display: \"block\", cursor: \"pointer\" }\n : { display: \"none\" }\n } className=' float-right' size={16} />\n \n \n {/* {item.Description || \"Hello my self mohammd mustfaa k\"} */}\n \n {item?.Description}\n
\n
\n \n
\n )\n }) :
\n No notification\n
}\n \n )\n }\n /*eslint-enable */\n\n return (\n \n e.preventDefault()}>\n \n {notificationsArray.length !== 0 &&\n \n {notificationsArray.length}\n }\n\n \n \n
  • \n \n

    Notifications

    \n {/* \n {notificationsArray.length} New\n */}\n
    \n
  • \n {renderNotificationItems()}\n
  • \n HandleAllClear()}\n >\n Clear all notifications\n \n
  • \n
    \n
    \n )\n}\n\nexport default NotificationDropdown\n","import React, { useState } from 'react'\nimport { Maximize, Minimize } from 'react-feather'\n\nconst Fullscreen = () => {\n const [screen, setscreen] = useState(false)\n const handleFullScreen = () => {\n if (document.fullscreenElement) {\n document.exitFullscreen()\n setscreen(false)\n } else {\n document.documentElement.requestFullscreen()\n setscreen(true)\n }\n }\n return (\n <>\n {!screen ? { handleFullScreen() }} /> : { handleFullScreen() }} />}\n {/* {document.fullscreenElement ? 'Exit Fullscreen' : 'Fullscreen'} */}\n \n )\n}\n\nexport default Fullscreen\n","// ** Dropdowns Imports\nimport IntlDropdown from './IntlDropdown'\nimport CartDropdown from './CartDropdown'\nimport UserDropdown from './UserDropdown'\nimport NavbarSearch from './NavbarSearch'\nimport NotificationDropdown from './NotificationDropdown'\n\n// ** Third Party Components\nimport { Sun, Moon } from 'react-feather'\nimport { NavItem, NavLink } from 'reactstrap'\nimport Fullscreen from '../../../../assets/Components/Fullscreen'\n\nconst NavbarUser = props => {\n // ** Props\n const { skin, setSkin } = props\n\n // ** Function to toggle Theme (Light/Dark)\n const ThemeToggler = () => {\n if (skin === 'dark') {\n return setSkin('semi-dark')} />\n } else {\n return setSkin('dark')} />\n }\n }\n\n return (\n
      \n {/* */}\n \n \n \n \n \n
      \n \n
      \n {/* \n */}\n \n \n
    \n )\n}\nexport default NavbarUser\n","// ** React Imports\nimport { Fragment, useEffect, useState } from 'react'\nimport { Link } from 'react-router-dom'\n\n// ** Third Party Components\nimport * as Icon from 'react-feather'\nimport classnames from 'classnames'\nimport Autocomplete from '@components/autocomplete'\nimport {\n NavItem,\n NavLink,\n UncontrolledTooltip,\n UncontrolledDropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem\n} from 'reactstrap'\n\n// ** Store & Actions\nimport { useDispatch, useSelector } from 'react-redux'\n// import { getBookmarks, updateBookmarked, handleSearchQuery } from '@store/actions/navbar'\n\nconst NavbarBookmarks = props => {\n // ** Props\n const { setMenuVisibility } = props\n\n // ** State\n const [value, setValue] = useState('')\n const [openSearch, setOpenSearch] = useState(false)\n\n // ** Store Vars\n const dispatch = useDispatch()\n const store = useSelector(state => state.navbar)\n\n // ** ComponentDidMount\n // useEffect(() => {\n // dispatch(getBookmarks())\n // }, [])\n\n // ** Loops through Bookmarks Array to return Bookmarks\n const renderBookmarks = () => {\n if (store.bookmarks.length) {\n return store.bookmarks\n .map(item => {\n const IconTag = Icon[item.icon]\n return (\n \n \n \n {item.title}\n \n \n )\n })\n .slice(0, 10)\n } else {\n return null\n }\n }\n\n // ** If user has more than 10 bookmarks then add the extra Bookmarks to a dropdown\n const renderExtraBookmarksDropdown = () => {\n if (store.bookmarks.length && store.bookmarks.length >= 11) {\n return (\n \n \n \n \n \n \n \n {store.bookmarks\n .map(item => {\n const IconTag = Icon[item.icon]\n return (\n \n \n {item.title}\n \n )\n })\n .slice(10)}\n \n \n \n \n )\n } else {\n return null\n }\n }\n\n // ** Removes query in store\n // const handleClearQueryInStore = () => dispatch(handleSearchQuery(''))\n\n // ** Loops through Bookmarks Array to return Bookmarks\n const onKeyDown = e => {\n if (e.keyCode === 27 || e.keyCode === 13) {\n setTimeout(() => {\n setOpenSearch(false)\n handleClearQueryInStore()\n }, 1)\n }\n }\n\n // ** Function to toggle Bookmarks\n // const handleBookmarkUpdate = id => dispatch(updateBookmarked(id))\n\n // ** Function to handle Bookmarks visibility\n const handleBookmarkVisibility = () => {\n setOpenSearch(!openSearch)\n setValue('')\n handleClearQueryInStore()\n }\n\n // ** Function to handle Input change\n const handleInputChange = e => {\n setValue(e.target.value)\n dispatch(handleSearchQuery(e.target.value))\n }\n\n // ** Function to handle external Input click\n const handleExternalClick = () => {\n if (openSearch === true) {\n setOpenSearch(false)\n handleClearQueryInStore()\n }\n }\n\n // ** Function to clear input value\n const handleClearInput = setUserInput => {\n if (!openSearch) {\n setUserInput('')\n handleClearQueryInStore()\n }\n }\n\n return (\n \n
      \n \n setMenuVisibility(true)}>\n \n \n \n
    \n {/*
      \n {renderBookmarks()}\n {renderExtraBookmarksDropdown()}\n \n \n \n \n
      \n
      \n \n
      \n {openSearch && store.suggestions.length ? (\n handleClearInput(setUserInput)}\n onKeyDown={onKeyDown}\n value={value}\n onChange={handleInputChange}\n customRender={(\n item,\n i,\n filteredData,\n activeSuggestion,\n onSuggestionItemClick,\n onSuggestionItemHover\n ) => {\n const IconTag = Icon[item.icon ? item.icon : 'X']\n return (\n onSuggestionItemHover(filteredData.indexOf(item))}\n className={classnames('suggestion-item d-flex align-items-center justify-content-between', {\n active: filteredData.indexOf(item) === activeSuggestion\n })}\n >\n {\n setOpenSearch(false)\n handleClearQueryInStore()\n }}\n style={{\n width: 'calc(90%)'\n }}\n >\n
      \n \n {item.title}\n
      \n \n handleBookmarkUpdate(item.id)}\n />\n \n )\n }}\n />\n ) : null}\n
      \n
      \n
    */}\n
    \n )\n}\n\nexport default NavbarBookmarks\n","// ** React Imports\nimport { Fragment } from 'react'\n\n// ** Custom Components\nimport NavbarUser from './NavbarUser'\nimport NavbarBookmarks from './NavbarBookmarks'\n\nconst ThemeNavbar = props => {\n // ** Props\n const { skin, setSkin, setMenuVisibility } = props\n\n return (\n \n
    \n \n
    \n \n
    \n )\n}\n\nexport default ThemeNavbar\n","export default __webpack_public_path__ + \"static/media/FatwaWhite.90a20c50.png\";","// ** React Imports\nimport { useEffect } from 'react'\nimport { NavLink } from 'react-router-dom'\n\n// ** Third Party Components\nimport { ToggleLeft, X, ToggleRight } from 'react-feather'\n\n// ** Config\nimport themeConfig from '@configs/themeConfig'\nimport menuLogo from '../../../../../assets/images/zamzam/FatwaWhite.png'\nconst VerticalMenuHeader = props => {\n // ** Props\n const { menuCollapsed, setMenuCollapsed, setMenuVisibility, setGroupOpen, menuHover } = props\n\n // ** Reset open group\n useEffect(() => {\n if (!menuHover && menuCollapsed) setGroupOpen([])\n }, [menuHover, menuCollapsed])\n\n // ** Menu toggler component\n const Toggler = () => {\n if (!menuCollapsed) {\n return (\n setMenuCollapsed(true)}\n />\n )\n } else {\n return (\n setMenuCollapsed(false)}\n />\n )\n }\n }\n\n return (\n
    \n
      \n
    • \n \n \n {(menuCollapsed === true && !menuHover) && logo}\n \n\n \n {(menuCollapsed === false || menuHover) && logo}\n \n {/*

      Zam Zam

      */}\n {/*

      {themeConfig.app.appName}

      */}\n
      \n
    • \n
    • \n
      \n \n setMenuVisibility(false)} className='toggle-icon icon-x d-block d-xl-none' size={20} />\n
      \n
    • \n
    \n
    \n )\n}\n\nexport default VerticalMenuHeader\n","import { Mail, MessageSquare, CheckSquare, Calendar, FileText, Circle, ShoppingCart, User, Server, Grid } from 'react-feather'\n\nexport default [\n {\n header: 'Apps & Pages'\n },\n {\n id: 'table',\n title: 'Table Moderator',\n icon: ,\n navLink: '/apps/tableMo'\n },\n {\n id: 'email',\n title: 'Email',\n icon: ,\n navLink: '/apps/email'\n },\n {\n id: 'chat',\n title: 'Chat',\n icon: ,\n navLink: '/apps/chat'\n },\n {\n id: 'todo',\n title: 'Todo',\n icon: ,\n navLink: '/apps/todo'\n },\n {\n id: 'calendar',\n title: 'Calendar',\n icon: ,\n navLink: '/apps/calendar'\n },\n {\n id: 'invoiceApp',\n title: 'Invoice',\n icon: ,\n children: [\n {\n id: 'invoiceList',\n title: 'List',\n icon: ,\n navLink: '/apps/invoice/list'\n },\n {\n id: 'invoicePreview',\n title: 'Preview',\n icon: ,\n navLink: '/apps/invoice/preview'\n },\n {\n id: 'invoiceEdit',\n title: 'Edit',\n icon: ,\n navLink: '/apps/invoice/edit'\n },\n {\n id: 'invoiceAdd',\n title: 'Add',\n icon: ,\n navLink: '/apps/invoice/add'\n }\n ]\n },\n {\n id: 'eCommerce',\n title: 'eCommerce',\n icon: ,\n children: [\n {\n id: 'shop',\n title: 'Shop',\n icon: ,\n navLink: '/apps/ecommerce/shop'\n },\n {\n id: 'detail',\n title: 'Details',\n icon: ,\n navLink: '/apps/ecommerce/product-detail'\n },\n {\n id: 'wishList',\n title: 'Wish List',\n icon: ,\n navLink: '/apps/ecommerce/wishlist'\n },\n {\n id: 'checkout',\n title: 'Checkout',\n icon: ,\n navLink: '/apps/ecommerce/checkout'\n }\n ]\n },\n {\n id: 'users',\n title: 'User',\n icon: ,\n children: [\n {\n id: 'list',\n title: 'List',\n icon: ,\n navLink: '/apps/user/list'\n },\n {\n id: 'view',\n title: 'View',\n icon: ,\n navLink: '/apps/user/view'\n },\n {\n id: 'edit',\n title: 'Edit',\n icon: ,\n navLink: '/apps/user/edit'\n }\n ]\n },\n {\n id: 'tablesReactstrap',\n title: 'Table',\n icon: ,\n navLink: '/tables/reactstrap'\n },\n {\n id: 'dataTable',\n title: 'DataTable',\n icon: ,\n children: [\n {\n id: 'dtBasic',\n title: 'Basic',\n icon: ,\n navLink: '/datatables/basic'\n },\n {\n id: 'dtAdvance',\n title: 'Advanced',\n icon: ,\n navLink: '/datatables/advance'\n }\n ]\n }\n]\n","import { FileText, Circle } from 'react-feather'\nexport default [\n {\n id: 'pages',\n title: 'Pages',\n icon: ,\n children: [\n {\n id: 'authentication',\n title: 'Authentication',\n icon: ,\n children: [\n {\n id: 'login-v1',\n title: 'Login v1',\n permissions: ['admin', 'editor'],\n navLink: '/pages/login-v1',\n newTab: true\n },\n {\n id: 'login-v2',\n title: 'Login v2',\n permissions: ['admin', 'editor'],\n navLink: '/pages/login-v2',\n newTab: true\n },\n {\n id: 'register-v1',\n title: 'Register v1',\n permissions: ['admin', 'editor'],\n navLink: '/pages/register-v1',\n newTab: true\n },\n {\n id: 'register-v2',\n title: 'Register v2',\n permissions: ['admin', 'editor'],\n navLink: '/pages/register-v2',\n newTab: true\n },\n {\n id: 'forgotPassword-v1',\n title: 'Forgot Password v1',\n permissions: ['admin', 'editor'],\n navLink: '/pages/forgot-password-v1',\n newTab: true\n },\n {\n id: 'forgotPassword-v2',\n title: 'Forgot Password v2',\n permissions: ['admin', 'editor'],\n navLink: '/pages/forgot-password-v2',\n newTab: true\n },\n {\n id: 'resetPassword-v1',\n title: 'Reset Password v1',\n permissions: ['admin', 'editor'],\n navLink: '/pages/reset-password-v1',\n newTab: true\n },\n {\n id: 'resetPassword-v2',\n title: 'Reset Password v2',\n permissions: ['admin', 'editor'],\n navLink: '/pages/reset-password-v2',\n newTab: true\n }\n ]\n },\n {\n id: 'accountSettings',\n title: 'Account Settings',\n icon: ,\n permissions: ['admin', 'editor'],\n navLink: '/pages/account-settings'\n },\n {\n id: 'profile',\n title: 'Profile',\n icon: ,\n permissions: ['admin', 'editor'],\n navLink: '/pages/profile',\n collapsed: true\n },\n {\n id: 'faq',\n title: 'FAQ',\n icon: ,\n permissions: ['admin', 'editor'],\n navLink: '/pages/faq'\n },\n {\n id: 'knowledgeBase',\n title: 'Knowledge Base',\n icon: ,\n permissions: ['admin', 'editor'],\n navLink: '/pages/knowledge-base',\n parentOf: ['/pages/knowledge-base/category/questions', '/pages/knowledge-base/category']\n },\n {\n id: 'pricing',\n title: 'Pricing',\n icon: ,\n permissions: ['admin', 'editor'],\n navLink: '/pages/pricing'\n },\n {\n id: 'blog',\n title: 'Blog',\n icon: ,\n children: [\n {\n id: 'blogList',\n title: 'List',\n permissions: ['admin', 'editor'],\n navLink: '/pages/blog/list'\n },\n {\n id: 'blogDetail',\n title: 'Detail',\n permissions: ['admin', 'editor'],\n navLink: '/pages/blog/detail'\n },\n {\n id: 'blogEdit',\n title: 'Edit',\n permissions: ['admin', 'editor'],\n navLink: '/pages/blog/edit'\n }\n ]\n },\n {\n id: 'miscellaneous',\n title: 'Miscellaneous',\n icon: ,\n children: [\n {\n id: 'comingSoon',\n title: 'Coming Soon',\n permissions: ['admin', 'editor'],\n navLink: '/misc/coming-soon',\n newTab: true\n },\n\n {\n id: 'notAuthorized',\n title: 'Not Authorized',\n permissions: ['admin', 'editor'],\n navLink: '/misc/not-authorized',\n newTab: true\n },\n {\n id: 'maintenance',\n title: 'Maintenance',\n permissions: ['admin', 'editor'],\n navLink: '/misc/maintenance',\n newTab: true\n },\n {\n id: 'error',\n title: 'Error',\n permissions: ['admin', 'editor'],\n navLink: '/misc/error',\n newTab: true\n }\n ]\n }\n ]\n }\n]\n","import { Copy, Circle, Box, Package, CheckCircle, RotateCw } from 'react-feather'\n\nexport default [\n {\n header: 'Forms & Tables'\n },\n {\n id: 'formElements',\n title: 'Form Elements',\n icon: ,\n children: [\n {\n id: 'input',\n title: 'Input',\n icon: ,\n navLink: '/forms/elements/input'\n },\n {\n id: 'inputGroup',\n title: 'Input Groups',\n icon: ,\n navLink: '/forms/elements/input-group'\n },\n {\n id: 'inputMask',\n title: 'Input Mask',\n icon: ,\n navLink: '/forms/elements/input-mask'\n },\n {\n id: 'textarea',\n title: 'Textarea',\n icon: ,\n navLink: '/forms/elements/textarea'\n },\n {\n id: 'checkbox',\n title: 'Checkbox',\n icon: ,\n navLink: '/forms/elements/checkbox'\n },\n {\n id: 'radio',\n title: 'Radio',\n icon: ,\n navLink: '/forms/elements/radio'\n },\n {\n id: 'switch',\n title: 'Switch',\n icon: ,\n navLink: '/forms/elements/switch'\n },\n {\n id: 'select',\n title: 'Select',\n icon: ,\n navLink: '/forms/elements/select'\n },\n {\n id: 'numberInput',\n title: 'Number Input',\n icon: ,\n navLink: '/forms/elements/number-input'\n },\n {\n id: 'fileUploader',\n title: 'File Uploader',\n icon: ,\n navLink: '/forms/elements/file-uploader'\n },\n {\n id: 'quillEditor',\n title: 'Editor',\n icon: ,\n navLink: '/forms/elements/editor'\n },\n {\n id: 'date_&_timePicker',\n title: 'Date & Time Picker',\n icon: ,\n navLink: '/forms/elements/pickers'\n }\n ]\n },\n {\n id: 'formLayouts',\n title: 'Form Layout',\n icon: ,\n\n navLink: '/forms/layout/form-layout'\n },\n {\n id: 'wizard',\n title: 'Form Wizard',\n icon: ,\n\n navLink: '/forms/wizard'\n },\n {\n id: 'formValidation',\n title: 'Form Validation',\n icon: ,\n children: [\n {\n id: 'reactHookForm',\n title: 'React Hook Form',\n icon: ,\n navLink: '/forms/react-hook-form'\n },\n {\n id: 'reactstrapVal',\n title: 'Reactstrap',\n icon: ,\n navLink: '/forms/reactstrap-validation'\n }\n ]\n },\n {\n id: 'formRepeater',\n title: 'Form Repeater',\n icon: ,\n navLink: '/forms/form-repeater'\n }\n]\n","import { Server, Grid, Circle } from 'react-feather'\n\nexport default [\n {\n id: 'tablesReactstrap',\n title: 'Table',\n icon: ,\n navLink: '/tables/reactstrap'\n },\n {\n id: 'dataTable',\n title: 'DataTable',\n icon: ,\n children: [\n {\n id: 'dtBasic',\n title: 'Basic',\n icon: ,\n navLink: '/datatables/basic'\n },\n {\n id: 'dtAdvance',\n title: 'Advanced',\n icon: ,\n navLink: '/datatables/advance'\n }\n ]\n }\n]\n","import { Menu, Circle, EyeOff, Folder, LifeBuoy, Shield } from 'react-feather'\nexport default [\n {\n header: 'Misc'\n },\n {\n id: 'access-control',\n title: 'Access Control',\n icon: ,\n action: 'read',\n resource: 'ACL',\n navLink: '/access-control'\n },\n {\n id: 'menuLevels',\n title: 'Menu Levels',\n icon: ,\n children: [\n {\n id: 'secondLevel',\n title: 'Second Level 2.1',\n icon: ,\n navLink: ''\n },\n {\n id: 'secondLevel1',\n title: 'Second Level 2.2',\n icon: ,\n children: [\n {\n id: 'ThirdLevel',\n title: 'Third Level 3.1',\n navLink: ''\n },\n {\n id: 'ThirdLevel1',\n title: 'Third Level 3.2',\n navLink: ''\n }\n ]\n }\n ]\n },\n {\n id: 'disabledMenu',\n title: 'Disabled Menu',\n icon: ,\n navLink: '#',\n disabled: true\n },\n {\n id: 'documentation',\n title: 'Documentation',\n icon: ,\n externalLink: true,\n newTab: true,\n navLink: ''\n },\n {\n id: 'raiseSupport',\n title: 'Raise Support',\n icon: ,\n externalLink: true,\n newTab: true,\n navLink: ''\n }\n]\n","import { Home, Circle } from 'react-feather'\n\nexport default [\n {\n id: 'dashboards',\n title: 'Dashboards',\n icon: ,\n badge: 'light-warning',\n badgeText: '2',\n children: [\n {\n id: 'analyticsDash',\n title: 'Analytics',\n icon: ,\n navLink: '/dashboard/analytics'\n },\n {\n id: 'eCommerceDash',\n title: 'eCommerce',\n icon: ,\n navLink: '/dashboard/ecommerce'\n }\n ]\n }\n]\n","import { Type, Droplet, Eye, CreditCard, Circle, Briefcase, Box, Layout } from 'react-feather'\n\nexport default [\n {\n header: 'User Interface'\n },\n {\n id: 'typography',\n title: 'Typography',\n icon: ,\n navLink: '/ui-element/typography'\n },\n {\n id: 'colors',\n title: 'Colors',\n icon: ,\n navLink: '/colors/colors'\n },\n {\n id: 'feather',\n title: 'Feather',\n icon: ,\n navLink: '/icons/reactfeather'\n },\n {\n id: 'cards',\n title: 'Card',\n icon: ,\n badge: 'light-success',\n badgeText: 'New',\n children: [\n {\n id: 'basic',\n title: 'Basic',\n icon: ,\n navLink: '/cards/basic'\n },\n {\n id: 'cardAdvance',\n title: 'Advance',\n icon: ,\n navLink: '/cards/advance'\n },\n {\n id: 'cardStatistics',\n title: 'Statistics',\n icon: ,\n navLink: '/cards/statistics'\n },\n {\n id: 'CardAnalytics',\n title: 'Analytics',\n icon: ,\n navLink: '/cards/analytics'\n },\n {\n id: 'cardActions',\n title: 'Actions',\n icon: ,\n navLink: '/cards/action'\n }\n ]\n },\n {\n id: 'components',\n title: 'Components',\n icon: ,\n children: [\n {\n id: 'alerts',\n title: 'Alerts',\n icon: ,\n navLink: '/components/alerts'\n },\n {\n id: 'autoComplete',\n title: 'Auto Complete',\n icon: ,\n navLink: '/components/auto-complete'\n },\n {\n id: 'avatar',\n title: 'Avatar',\n icon: ,\n navLink: '/components/avatar'\n },\n {\n id: 'badges',\n title: 'Badges',\n icon: ,\n navLink: '/components/badges'\n },\n {\n id: 'blockui',\n title: 'BlockUI',\n icon: ,\n navLink: '/components/blockui'\n },\n {\n id: 'breadCrumbs',\n title: 'Breadcrumbs',\n icon: ,\n navLink: '/components/breadcrumbs'\n },\n {\n id: 'buttons',\n title: 'Buttons',\n icon: ,\n navLink: '/components/buttons'\n },\n {\n id: 'carousel',\n title: 'Carousel',\n icon: ,\n navLink: '/components/carousel'\n },\n {\n id: 'collapse',\n title: 'Collapse',\n icon: ,\n navLink: '/components/collapse'\n },\n {\n id: 'divider',\n title: 'Divider',\n icon: ,\n navLink: '/components/divider'\n },\n {\n id: 'dropDowns',\n title: 'Dropdowns',\n icon: ,\n navLink: '/components/dropdowns'\n },\n {\n id: 'listGroup',\n title: 'List Group',\n icon: ,\n navLink: '/components/list-group'\n },\n {\n id: 'mediaObjects',\n title: 'Media Objects',\n icon: ,\n navLink: '/components/media-objects'\n },\n {\n id: 'modals',\n title: 'Modals',\n icon: ,\n navLink: '/components/modals'\n },\n {\n id: 'navsComponent',\n title: 'Navs Component',\n icon: ,\n navLink: '/components/nav-component'\n },\n {\n id: 'pagination',\n title: 'Pagination',\n icon: ,\n navLink: '/components/pagination'\n },\n {\n id: 'pillBadges',\n title: 'Pill Badges',\n icon: ,\n navLink: '/components/pill-badges'\n },\n {\n id: 'pillsComponent',\n title: 'Pills Component',\n icon: ,\n navLink: '/components/pills-component'\n },\n {\n id: 'popovers',\n title: 'Popovers',\n icon: ,\n navLink: '/components/popovers'\n },\n {\n id: 'progress',\n title: 'Progress',\n icon: ,\n navLink: '/components/progress'\n },\n {\n id: 'spinners',\n title: 'Spinner',\n icon: ,\n navLink: '/components/spinners'\n },\n {\n id: 'tabsComponent',\n title: 'Tabs Component',\n icon: ,\n navLink: '/components/tabs-component'\n },\n {\n id: 'timeline',\n title: 'Timeline',\n icon: ,\n navLink: '/components/timeline'\n },\n {\n id: 'toasts',\n title: 'Toasts',\n icon: ,\n navLink: '/components/toasts'\n },\n {\n id: 'tooltips',\n title: 'Tooltips',\n icon: ,\n navLink: '/components/tooltips'\n }\n ]\n },\n {\n id: 'extensions',\n title: 'Extensions',\n icon: ,\n children: [\n {\n id: 'sweetAlert',\n title: 'Sweet Alert',\n icon: ,\n navLink: '/extensions/sweet-alert'\n },\n {\n id: 'toastr',\n title: 'Toastr',\n icon: ,\n navLink: '/extensions/toastr'\n },\n {\n id: 'slider',\n title: 'Sliders',\n icon: ,\n navLink: '/extensions/slider'\n },\n {\n id: 'drag_&_drop',\n title: 'Drag & Drop',\n icon: ,\n navLink: '/extensions/drag-and-drop'\n },\n {\n id: 'tour',\n title: 'Tour',\n icon: ,\n navLink: '/extensions/tour'\n },\n {\n id: 'clipBoard',\n title: 'Clipboard',\n icon: ,\n navLink: '/extensions/clipboard'\n },\n {\n id: 'reactPlayer',\n title: 'React Player',\n icon: ,\n navLink: '/extensions/react-player'\n },\n {\n id: 'contentMenu',\n title: 'Context Menu',\n icon: ,\n navLink: '/extensions/context-menu'\n },\n {\n id: 'swiper',\n title: 'Swiper',\n icon: ,\n navLink: '/extensions/swiper'\n },\n {\n id: 'ratings',\n title: 'Ratings',\n icon: ,\n navLink: '/extensions/ratings'\n },\n {\n id: 'i18n',\n title: 'I18n',\n icon: ,\n navLink: '/extensions/i18n'\n },\n {\n id: 'extPagination',\n title: 'React Paginate',\n icon: ,\n navLink: '/extensions/pagination'\n },\n {\n id: 'extImport',\n title: 'Import',\n icon: ,\n navLink: '/extensions/import'\n },\n {\n id: 'extExport',\n title: 'Export',\n icon: ,\n navLink: '/extensions/export'\n },\n {\n id: 'extExportSelected',\n title: 'Export Selected',\n icon: ,\n navLink: '/extensions/export-selected'\n }\n ]\n },\n {\n id: 'pageLayouts',\n title: 'Page Layouts',\n icon: ,\n children: [\n {\n id: 'collapsedMenu',\n title: 'Collapsed Menu',\n icon: ,\n navLink: '/page-layout/collapse-menu'\n },\n {\n id: 'layoutBoxed',\n title: 'Layout Boxed',\n icon: ,\n navLink: '/page-layout/layout-boxed'\n },\n {\n id: 'withoutMenu',\n title: 'Without Menu',\n icon: ,\n navLink: '/page-layout/without-menu'\n },\n {\n id: 'layoutEmpty',\n title: 'Layout Empty',\n icon: ,\n navLink: '/page-layout/layout-empty'\n },\n {\n id: 'layoutBlank',\n title: 'Layout Blank',\n icon: ,\n navLink: '/page-layout/layout-blank'\n }\n ]\n }\n]\n","// ** Navigation sections imports\nimport apps from './apps'\nimport pages from './pages'\nimport forms from './forms'\nimport tables from './tables'\nimport others from './others'\nimport dashboards from './dashboards'\nimport uiElements from './ui-elements'\nimport chartsAndMaps from './charts-maps'\n\n// ** Merge & Export\n// export default [...dashboards, ...apps, ...pages, ...uiElements, ...forms, ...tables, ...chartsAndMaps, ...others]\nexport default [...apps]\n","import { PieChart, Circle, Map } from 'react-feather'\nexport default [\n {\n header: 'Charts & Maps'\n },\n {\n id: 'charts',\n title: 'Charts',\n badge: 'light-danger',\n badgeText: '3',\n icon: ,\n children: [\n {\n id: 'apex',\n title: 'Apex',\n icon: ,\n navLink: '/charts/apex'\n },\n {\n id: 'chartJs',\n title: 'ChartJS',\n icon: ,\n navLink: '/charts/chartjs'\n },\n {\n id: 'recharts',\n title: 'Recharts',\n icon: ,\n navLink: '/charts/recharts'\n }\n ]\n },\n {\n id: 'leafletMaps',\n title: 'Leaflet Maps',\n icon: ,\n navLink: '/maps/leaflet'\n }\n]\n","// ** React Imports\nimport { useContext } from 'react'\nimport { AbilityContext } from '@src/utility/context/Can'\n\n/**\n * Return which component to render based on it's data/context\n * @param {Object} item nav menu item\n */\nexport const resolveVerticalNavMenuItemComponent = item => {\n if (item.header) return 'VerticalNavMenuSectionHeader'\n if (item.children) return 'VerticalNavMenuGroup'\n return 'VerticalNavMenuLink'\n}\n\n/**\n * Return which component to render based on it's data/context\n * @param {Object} item nav menu item\n */\nexport const resolveHorizontalNavMenuItemComponent = item => {\n if (item.children) return 'HorizontalNavMenuGroup'\n return 'HorizontalNavMenuLink'\n}\n\n/**\n * Check if nav-link is active\n * @param {Object} link nav-link object\n */\n// export const isNavLinkActive = (link, currentURL, match) => {\n// // return currentURL === link || (URLParams && Object.keys(URLParams).length && currentURLFilter === item.navLink)\n// const getFirstObjProp = obj => obj[Object.keys(obj)[0]]\n// return (\n// currentURL === link ||\n// (match !== null && match !== undefined && match.url === `${link}/${getFirstObjProp(match.params)}`)\n// )\n// }\n\nexport const isNavLinkActive = (link, currentURL, routerProps) => {\n return (\n currentURL === link ||\n (routerProps && routerProps.meta && routerProps.meta.navLink && routerProps.meta.navLink === link)\n )\n // return currentURL === link\n}\n\n/**\n * Check if nav group is\n * @param {Array} children Group children\n */\n// export const isNavGroupActive = (children, currentURL, match) => {\n// return children.some(child => {\n// // If child have children => It's group => Go deeper(recursive)\n// if (child.children) {\n// return isNavGroupActive(child.children, currentURL, match)\n// }\n// // else it's link => Check for matched Route\n// return isNavLinkActive(child.navLink, currentURL, match)\n// })\n// }\nexport const isNavGroupActive = (children, currentURL, routerProps) => {\n return children.some(child => {\n // If child have children => It's group => Go deeper(recursive)\n if (child.children) {\n return isNavGroupActive(child.children, currentURL, routerProps)\n }\n // else it's link => Check for matched Route\n return isNavLinkActive(child.navLink, currentURL, routerProps)\n })\n}\n\n/**\n * Search for parent object\n * @param {Array} navigation Group children\n * @param {string} currentURL current URL\n */\n// export const search = (navigation, currentURL, match) => {\n// let result\n// navigation.some(child => {\n// let children\n// // If child have children => It's group => Go deeper(recursive)\n// if (child.children && (children = search(child.children, currentURL, match))) {\n// return (result = {\n// id: child.id,\n// children\n// })\n// }\n\n// // else it's link => Check for matched Route\n// if (isNavLinkActive(child.navLink, currentURL, match)) {\n// return (result = {\n// id: child.id\n// })\n// }\n// })\n// return result\n// }\n\nexport const search = (navigation, currentURL, routerProps) => {\n let result\n navigation.some(child => {\n let children\n // If child have children => It's group => Go deeper(recursive)\n if (child.children && (children = search(child.children, currentURL, routerProps))) {\n return (result = {\n id: child.id,\n children\n })\n }\n\n // else it's link => Check for matched Route\n if (isNavLinkActive(child.navLink, currentURL, routerProps)) {\n return (result = {\n id: child.id\n })\n }\n })\n return result\n}\n\n/**\n * Loop through nested object\n * @param {object} obj nested object\n */\nexport const getAllParents = (obj, match) => {\n const res = []\n const recurse = (obj, current) => {\n for (const key in obj) {\n const value = obj[key]\n if (value !== undefined) {\n if (value && typeof value === 'object') {\n recurse(value, key)\n } else {\n if (key === match) {\n res.push(value)\n }\n }\n }\n }\n }\n recurse(obj)\n return res\n}\n\nexport const canViewMenuGroup = item => {\n const ability = useContext(AbilityContext)\n // ! This same logic is used in canViewHorizontalNavMenuGroup and canViewHorizontalNavMenuHeaderGroup. So make sure to update logic in them as well\n const hasAnyVisibleChild = item.children && item.children.some(i => ability.can(i.action, i.resource))\n\n // ** If resource and action is defined in item => Return based on children visibility (Hide group if no child is visible)\n // ** Else check for ability using provided resource and action along with checking if has any visible child\n if (!(item.action && item.resource)) {\n return hasAnyVisibleChild\n }\n return ability.can(item.action, item.resource) && hasAnyVisibleChild\n}\n\nexport const canViewMenuItem = item => {\n const ability = useContext(AbilityContext)\n return ability.can(item.action, item.resource)\n}\n","// ** React Imports\nimport { useEffect } from 'react'\nimport { NavLink, useLocation, matchPath, useParams } from 'react-router-dom'\n\n// ** Third Party Components\nimport { Badge } from 'reactstrap'\nimport classnames from 'classnames'\nimport { FormattedMessage } from 'react-intl'\nimport \"font-awesome/css/font-awesome.min.css\"\n\n// ** Vertical Menu Array Of Items\nimport navigation from '@src/navigation/vertical'\n\n// ** Utils\nimport { isNavLinkActive, search, getAllParents } from '@layouts/utils'\nimport Icon from 'react-feather'\n\nconst VerticalNavMenuLink = ({\n item,\n groupActive,\n setGroupActive,\n activeItem,\n setActiveItem,\n groupOpen,\n setGroupOpen,\n toggleActiveGroup,\n parentItem,\n routerProps,\n currentActiveItem\n}) => {\n // ** Conditional Link Tag, if item has newTab or externalLink props use tag else use NavLink\n const LinkTag = item.externalLink ? 'a' : NavLink\n\n // ** URL Vars\n const location = useLocation()\n const currentURL = location.pathname\n\n // ** To match path\n const match = matchPath(currentURL, {\n path: `${item.navLink}/:param`,\n exact: true,\n strict: false\n })\n\n // ** Search for current item parents\n const searchParents = (navigation, currentURL) => {\n const parents = search(navigation, currentURL, routerProps) // Search for parent object\n const allParents = getAllParents(parents, 'id') // Parents Object to Parents Array\n return allParents\n }\n\n // ** URL Vars\n const resetActiveGroup = navLink => {\n const parents = search(navigation, navLink, match)\n toggleActiveGroup(item.id, parents)\n }\n\n // ** Reset Active & Open Group Arrays\n const resetActiveAndOpenGroups = () => {\n setGroupActive([])\n setGroupOpen([])\n }\n\n // ** Checks url & updates active item\n useEffect(() => {\n if (currentActiveItem !== null) {\n setActiveItem(currentActiveItem)\n const arr = searchParents(navigation, currentURL)\n setGroupActive([...arr])\n }\n }, [location])\n\n return (\n \n {\n if (!match) {\n return false\n }\n\n if (match.url && match.url !== '' && match.url === item.navLink) {\n currentActiveItem = item.navLink\n }\n }\n })}\n /*eslint-enable */\n onClick={e => {\n if (!item.navLink.length) {\n e.preventDefault()\n }\n parentItem ? resetActiveGroup(item.navLink) : resetActiveAndOpenGroups()\n }}\n >\n {/* sm */}\n {/* {item.icon} */}\n {/* */}\n \n \n \n \n\n {item.badge && item.badgeText ? (\n \n {item.badgeText}\n \n ) : null}\n \n \n )\n}\n\nexport default VerticalNavMenuLink\n","// ** React Imports\nimport { Link, useLocation } from 'react-router-dom'\n// import * as Icons from 'react-feather'\n// ** Third Party Components\nimport classnames from 'classnames'\nimport { Collapse, Badge } from 'reactstrap'\nimport { FormattedMessage } from 'react-intl'\nimport \"font-awesome/css/font-awesome.min.css\"\n\n// ** Vertical Menu Items Component\nimport VerticalNavMenuItems from './VerticalNavMenuItems'\n\n// ** Utils\nimport { isNavGroupActive, getAllParents } from '@layouts/utils'\nimport { Circle, Globe } from 'react-feather'\n\nconst VerticalNavMenuGroup = ({\n item,\n groupActive,\n setGroupActive,\n activeItem,\n setActiveItem,\n groupOpen,\n setGroupOpen,\n parentItem,\n menuCollapsed,\n menuHover,\n routerProps,\n currentActiveItem\n}) => {\n // const { [item.icon]: Icon } = Icons\n\n // ** Current Val\n const currentURL = useLocation().pathname\n\n // ** Toggles Open Group\n const toggleOpenGroup = (item, parentItem) => {\n let openArr = groupOpen\n let allParents\n\n if (parentItem) {\n allParents = getAllParents(parentItem, 'id')\n allParents.pop()\n }\n\n // ** If user clicked on menu group inside already opened group i.g. when user click on blog group inside pages group\n if (groupOpen && allParents && groupOpen[0] === allParents[0]) {\n groupOpen.includes(item) ? openArr.splice(openArr.indexOf(item), 1) : openArr.push(item)\n } else {\n openArr = []\n if (!groupOpen.includes(item)) {\n openArr.push(item)\n }\n }\n\n // ** Set Open Group\n setGroupOpen([...openArr])\n }\n\n // ** Toggle Active Group\n const toggleActiveGroup = (item, parentItem) => {\n let activeArr = groupActive\n let allParents\n\n if (parentItem) {\n allParents = getAllParents(parentItem, 'id')\n activeArr = allParents\n } else {\n activeArr.includes(item) ? activeArr.splice(activeArr.indexOf(item), 1) : activeArr.push(item)\n }\n\n // ** Set open group removing any activegroup item present in opengroup state\n const openArr = groupOpen.filter(val => !activeArr.includes(val))\n setGroupOpen([...openArr])\n\n // ** Set Active Group\n setGroupActive([...activeArr])\n }\n\n // ** On Group Item Click\n const onCollapseClick = (e, item) => {\n if ((groupActive && groupActive.includes(item.id)) || isNavGroupActive(item.children, currentURL, routerProps)) {\n toggleActiveGroup(item.id)\n } else {\n toggleOpenGroup(item.id, parentItem)\n }\n\n e.preventDefault()\n }\n\n // ** Returns condition to add open class\n const openClassCondition = id => {\n if ((menuCollapsed && menuHover) || menuCollapsed === false) {\n if (groupActive.includes(id) || groupOpen.includes(item.id)) {\n return true\n }\n } else if (groupActive.includes(id) && menuCollapsed && menuHover === false) {\n return false\n } else {\n return null\n }\n }\n return (\n \n onCollapseClick(e, item)}>\n {/* sm */}\n {/* */}\n \n \n {/* */}\n \n \n\n {item.badge && item.badgeText ? (\n \n {item.badgeText}\n \n ) : null}\n \n\n {/* Render Child Recursively Through VerticalNavMenuItems Component */}\n
      \n \n \n \n
    \n \n )\n}\n\nexport default VerticalNavMenuGroup\n","// ** Third Party Components\nimport { FormattedMessage } from 'react-intl'\nimport { MoreHorizontal } from 'react-feather'\n\nconst VerticalNavMenuSectionHeader = ({ item, index }) => {\n return (\n
  • \n \n \n \n \n
  • \n )\n}\n\nexport default VerticalNavMenuSectionHeader\n","// ** React Imports\n// import { useContext } from 'react'\n\n// ** Vertical Menu Components\nimport VerticalNavMenuLink from './VerticalNavMenuLink'\nimport VerticalNavMenuGroup from './VerticalNavMenuGroup'\nimport VerticalNavMenuSectionHeader from './VerticalNavMenuSectionHeader'\n\n// ** Ability Context\n// import { AbilityContext } from '@src/utility/context/Can'\n\n// ** Utils\nimport {\n resolveVerticalNavMenuItemComponent as resolveNavItemComponent,\n canViewMenuGroup,\n canViewMenuItem\n} from '@layouts/utils'\n\nconst VerticalMenuNavItems = props => {\n // ** Context\n // const ability = useContext(AbilityContext)\n\n // ** Components Object\n const Components = {\n VerticalNavMenuSectionHeader,\n VerticalNavMenuGroup,\n VerticalNavMenuLink\n }\n\n // ** Render Nav Menu Items\n const RenderNavItems = props.items.map((item, index) => {\n const TagName = Components[resolveNavItemComponent(item)]\n if (item.children) {\n // @sm\n return \n }\n return \n \n // return canViewMenuGroup(item) && \n // }\n // return canViewMenuItem(item) && \n })\n\n return RenderNavItems\n}\n\nexport default VerticalMenuNavItems\n","// ** React Imports\nimport { Fragment, useState, useRef, useEffect } from 'react'\n\n// ** Vertical Menu Items Array\n// import navigation from '@src/navigation/vertical'\n\n// ** Third Party Components\nimport classnames from 'classnames'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\n\n// ** Vertical Menu Components\nimport VerticalMenuHeader from './VerticalMenuHeader'\nimport VerticalNavMenuItems from './VerticalNavMenuItems'\nimport { SIDE_MENU_API } from '../../../../../Action-Creators/Api-Management'\nimport { useDispatch, useSelector } from 'react-redux'\n\nconst Sidebar = props => {\n const dispatch = useDispatch()\n const navigation = useSelector(state => state.autentication?.SideMenuReduser)\n useEffect(() => {\n if (localStorage.getItem('at')) {\n dispatch(SIDE_MENU_API())\n }\n }, [])\n // ** Props\n const { menuCollapsed, routerProps, menu, currentActiveItem, skin } = props\n\n // ** States\n const [groupOpen, setGroupOpen] = useState([])\n const [groupActive, setGroupActive] = useState([])\n const [activeItem, setActiveItem] = useState(null)\n\n // ** Menu Hover State\n const [menuHover, setMenuHover] = useState(false)\n\n // ** Ref\n const shadowRef = useRef(null)\n\n // ** Function to handle Mouse Enter\n const onMouseEnter = () => {\n if (menuCollapsed) {\n setMenuHover(true)\n }\n }\n\n // ** Scroll Menu\n const scrollMenu = container => {\n if (shadowRef && container.scrollTop > 0) {\n if (!shadowRef.current.classList.contains('d-block')) {\n shadowRef.current.classList.add('d-block')\n }\n } else {\n if (shadowRef.current.classList.contains('d-block')) {\n shadowRef.current.classList.remove('d-block')\n }\n }\n }\n\n return (\n \n setMenuHover(false)}\n >\n {menu ? (\n menu\n ) : (\n \n {/* Vertical Menu Header */}\n \n {/* Vertical Menu Header Shadow */}\n
    \n {/* Perfect Scrollbar */}\n scrollMenu(container)}\n >\n
      \n \n
    \n \n
    \n )}\n \n
    \n )\n}\n\nexport default Sidebar\n","//** React Imports\nimport { useEffect } from 'react'\n\n// ** Store & Actions\nimport { handleRTL } from '@store/actions/layout'\nimport { useDispatch, useSelector } from 'react-redux'\n\nexport const useRTL = () => {\n // ** Store Vars\n const dispatch = useDispatch()\n const isRtl = useSelector(state => state.layout.isRTL)\n\n // ** Return a wrapped version of useState's setter function\n const setValue = value => {\n try {\n // ** Allow value to be a function so we have same API as useState\n const valueToStore = value instanceof Function ? value(isRtl) : value\n dispatch(handleRTL(valueToStore))\n } catch (error) {\n // ** A more advanced implementation would handle the error case\n console.log(error)\n }\n }\n\n useEffect(() => {\n // ** Get HTML Tag\n const element = document.getElementsByTagName('html')[0]\n\n // ** If isRTL then add attr dir='rtl' with HTML else attr dir='ltr'\n if (isRtl) {\n element.setAttribute('dir', 'rtl')\n } else {\n element.setAttribute('dir', 'ltr')\n }\n }, [isRtl])\n\n return [isRtl, setValue]\n}\n","//** React Imports\nimport { useState } from 'react'\n\n// ** Configs\nimport themeConfig from '@configs/themeConfig'\n\nexport const useNavbarType = () => {\n // ** State\n const [navbarType, setNavbarType] = useState(() => {\n try {\n return themeConfig.layout.navbar.type\n } catch (error) {\n // ** If error return initialValue\n console.log(error)\n return themeConfig.layout.navbar.type\n }\n })\n\n // ** Return a wrapped version of useState's setter function\n const setValue = value => {\n try {\n // ** Allow value to be a function so we have same API as useState\n const valueToStore = value instanceof Function ? value(navbarType) : value\n\n // ** Set state\n setNavbarType(valueToStore)\n } catch (error) {\n // ** A more advanced implementation would handle the error case\n console.log(error)\n }\n }\n\n return [navbarType, setValue]\n}\n","// ** React Imports\nimport { useState } from 'react'\n\n// ** Configs\nimport themeConfig from '@configs/themeConfig'\n\nexport const useFooterType = () => {\n // ** State\n const [footerType, setFooterType] = useState(() => {\n try {\n return themeConfig.layout.footer.type\n } catch (error) {\n // ** If error also initialValue\n console.log(error)\n return themeConfig.layout.footer.type\n }\n })\n\n // ** Return a wrapped version of useState's setter function\n const setValue = value => {\n try {\n // ** Allow value to be a function so we have same API as useState\n const valueToStore = value instanceof Function ? value(footerType) : value\n\n // ** Set state\n setFooterType(valueToStore)\n } catch (error) {\n // ** A more advanced implementation would handle the error case\n console.log(error)\n }\n }\n\n return [footerType, setValue]\n}\n","//** React Imports\nimport { useState } from 'react'\n\n// ** Configs\nimport themeConfig from '@configs/themeConfig'\n\nexport const useNavbarColor = () => {\n // ** State\n const [navbarColor, setNavbarColor] = useState(() => {\n try {\n return themeConfig.layout.navbar.backgroundColor\n } catch (error) {\n // ** If error return initialValue\n console.log(error)\n return themeConfig.layout.navbar.backgroundColor\n }\n })\n\n // ** Return a wrapped version of useState's setter function\n const setValue = value => {\n try {\n // ** Allow value to be a function so we have same API as useState\n const valueToStore = value instanceof Function ? value(navbarColor) : value\n\n // ** Set state\n setNavbarColor(valueToStore)\n } catch (error) {\n // ** A more advanced implementation would handle the error case\n console.log(error)\n }\n }\n\n return [navbarColor, setValue]\n}\n","import React from 'react'\nimport { Card } from 'reactstrap'\n\nconst PageCompo = (props) => {\n const { name } = props\n return (\n \n {name || \"q&a\"}\n \n )\n}\n\nexport default PageCompo","// ** React Imports\nimport { useState, useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\n\n// ** Store & Actions\nimport { useSelector, useDispatch } from 'react-redux'\nimport { handleMenuCollapsed, handleContentWidth, handleMenuHidden } from '@store/actions/layout'\n\n// ** Third Party Components\nimport classnames from 'classnames'\nimport { ArrowUp } from 'react-feather'\nimport ScrollToTop from 'react-scroll-up'\nimport { Navbar, Button, Card, CardBody } from 'reactstrap'\n\n// ** Configs\nimport themeConfig from '@configs/themeConfig'\n\n// ** Custom Components\nimport Customizer from '@components/customizer'\nimport FooterComponent from './components/footer'\nimport NavbarComponent from './components/navbar'\nimport SidebarComponent from './components/menu/vertical-menu'\n\n// ** Custom Hooks\nimport { useRTL } from '@hooks/useRTL'\nimport { useSkin } from '@hooks/useSkin'\nimport { useNavbarType } from '@hooks/useNavbarType'\nimport { useFooterType } from '@hooks/useFooterType'\nimport { useNavbarColor } from '@hooks/useNavbarColor'\n\n// ** Styles\nimport '@styles/base/core/menu/menu-types/vertical-menu.scss'\nimport '@styles/base/core/menu/menu-types/vertical-overlay-menu.scss'\nimport PageCompo from '../../assets/Components/PageCompo'\n\nconst VerticalLayout = props => {\n // ** Props\n const { children, navbar, footer, menu, routerProps, currentActiveItem } = props\n\n // ** Hooks\n const [skin, setSkin] = useSkin()\n const [isRtl, setIsRtl] = useRTL()\n const [navbarType, setNavbarType] = useNavbarType()\n const [footerType, setFooterType] = useFooterType()\n const [navbarColor, setNavbarColor] = useNavbarColor()\n\n // ** States\n const [isMounted, setIsMounted] = useState(false)\n const [menuVisibility, setMenuVisibility] = useState(false)\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\n // console.log(\"windowWidth\", windowWidth);\n // ** Store Vars\n const dispatch = useDispatch()\n const layoutStore = useSelector(state => state.layout)\n\n // ** Update Window Width\n const handleWindowWidth = () => {\n setWindowWidth(window.innerWidth)\n }\n console.log(\"menu\", routerProps)\n // ** Vars\n const location = useLocation()\n const contentWidth = layoutStore.contentWidth\n const menuCollapsed = layoutStore.menuCollapsed\n const isHidden = layoutStore.menuHidden\n\n // ** Toggles Menu Collapsed\n const setMenuCollapsed = val => dispatch(handleMenuCollapsed(val))\n\n // ** Handles Content Width\n const setContentWidth = val => dispatch(handleContentWidth(val))\n\n // ** Handles Content Width\n const setIsHidden = val => dispatch(handleMenuHidden(val))\n\n //** This function will detect the Route Change and will hide the menu on menu item click\n useEffect(() => {\n if (menuVisibility && windowWidth < 1200) {\n setMenuVisibility(false)\n }\n }, [location])\n\n //** Sets Window Size & Layout Props\n useEffect(() => {\n if (window !== undefined) {\n window.addEventListener('resize', handleWindowWidth)\n }\n }, [windowWidth])\n\n //** ComponentDidMount\n useEffect(() => {\n setIsMounted(true)\n return () => setIsMounted(false)\n }, [])\n\n // ** Vars\n const footerClasses = {\n static: 'footer-static',\n sticky: 'footer-fixed',\n hidden: 'footer-hidden'\n }\n\n const navbarWrapperClasses = {\n floating: `${windowWidth < 435 ? \"navbar-hidden\" : \"navbar-floating\"}`,\n sticky: 'navbar-sticky',\n static: 'navbar-static',\n hidden: 'navbar-hidden'\n }\n\n const navbarClasses = {\n floating: `${windowWidth < 435 ? \"d-none\" : \"floating-nav\"}`,\n sticky: 'fixed-top',\n static: 'navbar-static-top',\n hidden: 'd-none'\n }\n\n const bgColorCondition = navbarColor !== '' && navbarColor !== 'light' && navbarColor !== 'white'\n\n if (!isMounted) {\n return null\n }\n return (\n = 1200,\n 'menu-collapsed': menuCollapsed && windowWidth >= 1200,\n 'menu-expanded': !menuCollapsed && windowWidth > 1200,\n\n // Overlay Menu\n 'vertical-overlay-menu': windowWidth < 1200,\n 'menu-hide': !menuVisibility && windowWidth < 1200,\n 'menu-open': menuVisibility && windowWidth < 1200\n }\n )}\n {...(isHidden ? { 'data-col': '1-column' } : {})}\n >\n {!isHidden ? (\n \n ) : null}\n\n \n
    \n {navbar ? navbar : }\n
    \n \n {windowWidth < 435 && }\n {children}\n\n {/* Vertical Nav Menu Overlay */}\n setMenuVisibility(false)}\n >\n {/* Vertical Nav Menu Overlay */}\n\n {/* {themeConfig.layout.customizer === true ? (\n \n ) : null} */}\n \n {footer ? footer : }\n \n\n {themeConfig.layout.scrollTop === true ? (\n
    \n \n \n \n
    \n ) : null}\n \n )\n}\n\nexport default VerticalLayout\n","// !Do not remove the Layout import\nimport Layout from '@layouts/VerticalLayout'\n\nconst VerticalLayout = props => {props.children}\n\nexport default VerticalLayout\n","// ** React Imports\nimport { useEffect } from 'react'\nimport { NavLink, useLocation } from 'react-router-dom'\n\n// ** Horizontal menu items array\nimport navigation from '@src/navigation/horizontal'\n\n// ** Third Party Components\nimport classnames from 'classnames'\nimport { DropdownItem } from 'reactstrap'\nimport { FormattedMessage } from 'react-intl'\n\n// ** Utils\nimport { isNavLinkActive, search, getAllParents } from '@layouts/utils'\n\nconst HorizontalNavMenuLink = ({\n item,\n setOpenDropdown,\n setGroupActive,\n activeItem,\n setActiveItem,\n routerProps,\n currentActiveItem,\n isChild\n}) => {\n // ** Conditional Link Tag, if item has newTab or externalLink props use
    tag else use NavLink\n const LinkTag = item.externalLink ? 'a' : NavLink\n\n // ** URL Vars\n const location = useLocation()\n const currentURL = location.pathname\n\n const navLinkActive = isNavLinkActive(item.navLink, currentURL, routerProps)\n\n // ** Get parents of current items\n const searchParents = (navigation, currentURL) => {\n const parents = search(navigation, currentURL, routerProps) // Search for parent object\n const allParents = getAllParents(parents, 'id') // Parents Object to Parents Array\n allParents.pop()\n return allParents\n }\n\n // ** Remove all items from OpenDropdown array\n const resetOpenDropdowns = () => setOpenDropdown([])\n\n // ** On mount update active group array\n useEffect(() => {\n if (currentActiveItem !== null) {\n setActiveItem(currentActiveItem)\n const arr = searchParents(navigation, currentURL)\n setGroupActive([...arr])\n }\n }, [location])\n\n return (\n \n {\n if (!match) {\n return false\n }\n\n if (match.url && match.url !== '' && match.url === item.navLink) {\n currentActiveItem = item.navLink\n }\n }\n })}\n /*eslint-enable */\n >\n {item.icon}\n \n \n \n \n \n )\n}\n\nexport default HorizontalNavMenuLink\n","// ** React Imports\nimport { Link, useLocation } from 'react-router-dom'\n\n// ** Third Party Components\nimport classnames from 'classnames'\nimport { FormattedMessage } from 'react-intl'\nimport { Dropdown, DropdownMenu, DropdownToggle } from 'reactstrap'\n\n// ** Utils\nimport { isNavGroupActive } from '@layouts/utils'\n\n// ** Horizontal Menu Items Component\nimport HorizontalNavMenuItems from './HorizontalNavMenuItems'\n\nconst HorizontalNavMenuGroup = props => {\n // ** Props\n const {\n item,\n submenu,\n groupActive,\n onMouseEnter,\n onMouseLeave,\n openDropdown,\n setGroupActive,\n activeItem,\n setActiveItem,\n routerProps,\n setOpenDropdown,\n currentActiveItem\n } = props\n\n // ** URL Var\n const currentURL = useLocation().pathname\n\n // ** Dropdown menu modifiers\n const menuModifiers = {\n setMaxHeight: {\n enabled: true,\n fn: data => {\n const pageHeight = window.innerHeight,\n ddTop = data.instance.reference.getBoundingClientRect().top,\n ddHeight = data.popper.height\n let maxHeight, stylesObj\n\n // ** Calculate and set height\n if (pageHeight - ddTop - ddHeight - 28 < 1) {\n maxHeight = pageHeight - ddTop - 25\n stylesObj = {\n maxHeight,\n overflowY: 'auto'\n }\n }\n\n const ddRef = data.instance.popper.getBoundingClientRect()\n\n // ** If there is not space left to open sub menu open it to the right\n if (ddRef.left + ddRef.width - (window.innerWidth - 16) >= 0) {\n data.instance.popper.closest('.dropdown').classList.add('openLeft')\n }\n\n return {\n ...data,\n styles: {\n ...stylesObj\n }\n }\n }\n }\n }\n return (\n onMouseEnter(item.id)}\n onMouseEnter={() => onMouseEnter(item.id)}\n onMouseLeave={() => onMouseLeave(item.id)}\n >\n e.preventDefault()}\n >\n {item.icon}\n \n \n \n \n \n \n \n \n )\n}\n\nexport default HorizontalNavMenuGroup\n","// ** React Imports\nimport { useContext } from 'react'\n\n// ** Ability Context\nimport { AbilityContext } from '@src/utility/context/Can'\n\n// ** Menu Components Imports\nimport HorizontalNavMenuLink from './HorizontalNavMenuLink'\nimport HorizontalNavMenuGroup from './HorizontalNavMenuGroup'\nimport {\n resolveHorizontalNavMenuItemComponent as resolveNavItemComponent,\n canViewMenuGroup,\n canViewMenuItem\n} from '@layouts/utils'\n\nconst HorizontalNavMenuItems = props => {\n // ** Context\n const ability = useContext(AbilityContext)\n\n // ** Components Object\n const Components = {\n HorizontalNavMenuGroup,\n HorizontalNavMenuLink\n }\n\n // ** Render Nav Items\n const RenderNavItems = props.items.map((item, index) => {\n const TagName = Components[resolveNavItemComponent(item)]\n if (item.children) {\n return canViewMenuGroup(item) && \n }\n return canViewMenuItem(item) && \n })\n\n return RenderNavItems\n}\n\nexport default HorizontalNavMenuItems\n","// ** React Imports\nimport { useState } from 'react'\n\n// ** Horizontal Menu Array\nimport navigation from '@src/navigation/horizontal'\n\n// ** Horizontal Menu Components\nimport HorizontalNavMenuItems from './HorizontalNavMenuItems'\n\nconst HorizontalMenu = ({ currentActiveItem, routerProps }) => {\n // ** States\n const [activeItem, setActiveItem] = useState(null)\n const [groupActive, setGroupActive] = useState([])\n const [openDropdown, setOpenDropdown] = useState([])\n\n // ** On mouse enter push the ID to openDropdown array\n const onMouseEnter = id => {\n const arr = openDropdown\n arr.push(id)\n setOpenDropdown([...arr])\n }\n\n // ** On mouse leave remove the ID to openDropdown array\n const onMouseLeave = id => {\n const arr = openDropdown\n arr.splice(arr.indexOf(id), 1)\n setOpenDropdown([...arr])\n }\n\n return (\n
    \n \n
    \n )\n}\n\nexport default HorizontalMenu\n","// ** React Imports\nimport { useState, useEffect } from 'react'\nimport { Link } from 'react-router-dom'\n\n// ** Store & Actions\nimport { useSelector, useDispatch } from 'react-redux'\nimport { handleMenuHidden, handleContentWidth } from '@store/actions/layout'\n\n// ** Third Party Components\nimport classnames from 'classnames'\nimport { ArrowUp } from 'react-feather'\nimport ScrollToTop from 'react-scroll-up'\nimport { Navbar, NavItem, Button } from 'reactstrap'\n\n// ** Configs\nimport themeConfig from '@configs/themeConfig'\n\n// ** Custom Components\nimport Customizer from '@components/customizer'\nimport NavbarComponent from './components/navbar'\nimport FooterComponent from './components/footer'\nimport MenuComponent from './components/menu/horizontal-menu'\n\n// ** Custom Hooks\nimport { useRTL } from '@hooks/useRTL'\nimport { useSkin } from '@hooks/useSkin'\nimport { useNavbarType } from '@hooks/useNavbarType'\nimport { useFooterType } from '@hooks/useFooterType'\nimport { useNavbarColor } from '@hooks/useNavbarColor'\n\n// ** Styles\nimport '@styles/base/core/menu/menu-types/horizontal-menu.scss'\n\nconst HorizontalLayout = props => {\n // ** Props\n const { children, navbar, footer, menu, currentActiveItem, routerProps } = props\n\n // ** Hooks\n const [skin, setSkin] = useSkin()\n const [isRtl, setIsRtl] = useRTL()\n const [navbarType, setNavbarType] = useNavbarType()\n const [footerType, setFooterType] = useFooterType()\n const [navbarColor, setNavbarColor] = useNavbarColor()\n\n // ** States\n const [isMounted, setIsMounted] = useState(false)\n const [navbarScrolled, setNavbarScrolled] = useState(false)\n\n // ** Store Vars\n const dispatch = useDispatch()\n const layoutStore = useSelector(state => state.layout)\n\n // ** Vars\n const contentWidth = layoutStore.contentWidth\n const isHidden = layoutStore.menuHidden\n\n // ** Handles Content Width\n const setContentWidth = val => dispatch(handleContentWidth(val))\n\n // ** Handles Content Width\n const setIsHidden = val => dispatch(handleMenuHidden(val))\n\n // ** UseEffect Cleanup\n const cleanup = () => {\n setIsMounted(false)\n setNavbarScrolled(false)\n }\n\n //** ComponentDidMount\n useEffect(() => {\n setIsMounted(true)\n window.addEventListener('scroll', function () {\n if (window.pageYOffset > 65 && navbarScrolled === false) {\n setNavbarScrolled(true)\n }\n if (window.pageYOffset < 65) {\n setNavbarScrolled(false)\n }\n })\n return () => cleanup()\n }, [])\n\n // ** Vars\n const footerClasses = {\n static: 'footer-static',\n sticky: 'footer-fixed',\n hidden: 'footer-hidden'\n }\n\n const navbarWrapperClasses = {\n floating: 'navbar-floating',\n sticky: 'navbar-sticky',\n static: 'navbar-static'\n }\n\n const navbarClasses = {\n floating: 'floating-nav',\n sticky: 'fixed-top'\n }\n\n const bgColorCondition = navbarColor !== '' && navbarColor !== 'light' && navbarColor !== 'white'\n\n if (!isMounted) {\n return null\n }\n\n return (\n \n \n {!navbar && (\n
    \n
      \n \n \n \n logo\n \n

      {themeConfig.app.appName}

      \n \n
      \n
    \n
    \n )}\n\n
    \n {navbar ? navbar : }\n
    \n \n {!isHidden ? (\n
    \n \n {menu ? menu : }\n \n
    \n ) : null}\n\n {children}\n {themeConfig.layout.customizer === true ? (\n \n ) : null}\n \n {footer ? footer : }\n \n\n {themeConfig.layout.scrollTop === true ? (\n
    \n \n \n \n
    \n ) : null}\n \n )\n}\nexport default HorizontalLayout\n","// !Do not remove the Layout import\nimport Layout from '@layouts/HorizontalLayout'\n\nconst HorizontalLayout = props => {props.children}\n\nexport default HorizontalLayout\n","// ** React Imports\nimport { Suspense, useContext, lazy } from 'react'\n\n// ** Utils\nimport { isUserLoggedIn } from '@utils'\nimport { useLayout } from '@hooks/useLayout'\nimport { AbilityContext } from '@src/utility/context/Can'\nimport { useRouterTransition } from '@hooks/useRouterTransition'\n\n// ** Custom Components\n// import Spinner from '@components/spinner/Loading-spinner' // Uncomment if your require content fallback\nimport LayoutWrapper from '@layouts/components/layout-wrapper'\n\n// ** Router Components\nimport { BrowserRouter as AppRouter, Route, Switch, Redirect } from 'react-router-dom'\n\n// ** Routes & Default Routes\nimport { DefaultRoute, Routes } from './routes'\n\n// ** Layouts\nimport BlankLayout from '@layouts/BlankLayout'\nimport VerticalLayout from '@src/layouts/VerticalLayout'\nimport HorizontalLayout from '@src/layouts/HorizontalLayout'\nimport IdleTimerContainer from '../IdleTimerContainer'\n\nconst Router = () => {\n // ** Hooks\n const [layout, setLayout] = useLayout()\n const [transition, setTransition] = useRouterTransition()\n\n // ** ACL Ability Context\n const ability = useContext(AbilityContext)\n\n // ** Default Layout\n const DefaultLayout = layout === 'horizontal' ? 'HorizontalLayout' : 'VerticalLayout'\n\n // ** All of the available layouts\n const Layouts = { BlankLayout, VerticalLayout, HorizontalLayout }\n\n // ** Current Active Item\n const currentActiveItem = null\n\n // ** Return Filtered Array of Routes & Paths\n const LayoutRoutesAndPaths = layout => {\n const LayoutRoutes = []\n const LayoutPaths = []\n\n if (Routes) {\n Routes.filter(route => {\n // ** Checks if Route layout or Default layout matches current layout\n if (route.layout === layout || (route.layout === undefined && DefaultLayout === layout)) {\n LayoutRoutes.push(route)\n LayoutPaths.push(route.path)\n }\n })\n }\n\n return { LayoutRoutes, LayoutPaths }\n }\n\n const NotAuthorized = lazy(() => import('@src/views/pages/misc/NotAuthorized'))\n\n // ** Init Error Component\n const Error = lazy(() => import('@src/views/pages/misc/Error'))\n\n /**\n ** Final Route Component Checks for Login & User Role and then redirects to the route\n */\n // const FinalRoute = props => {\n // const route = props.route\n // let action, resource\n\n // // ** Assign vars based on route meta\n // if (route.meta) {\n // action = route.meta.action ? route.meta.action : null\n // resource = route.meta.resource ? route.meta.resource : null\n // }\n\n // if (\n // (!isUserLoggedIn() && route.meta === undefined) ||\n // (!isUserLoggedIn() && route.meta && !route.meta.authRoute && !route.meta.publicRoute)\n // ) {\n // /**\n // ** If user is not Logged in & route meta is undefined\n // ** OR\n // ** If user is not Logged in & route.meta.authRoute, !route.meta.publicRoute are undefined\n // ** Then redirect user to login\n // */\n\n // return \n // // } else if (route.meta && route.meta.authRoute && isUserLoggedIn()) {\n // } else if (route.meta && route.meta.authRoute && isUserLoggedIn()) {\n // // ** If route has meta and authRole and user is Logged in then redirect user to home page (DefaultRoute)\n // return \n // } else if (isUserLoggedIn() && ability.can(action || 'read', resource)) {\n // // ** If user is Logged in and doesn't have ability to visit the page redirect the user to Not Authorized\n // return \n // } else {\n // // ** If none of the above render component\n // return \n // }\n // }\n\n // ** Return Route to Render\n const ResolveRoutes = () => {\n return Object.keys(Layouts).map((layout, index) => {\n // ** Convert Layout parameter to Layout Component\n // ? Note: make sure to keep layout and component name equal\n\n const LayoutTag = Layouts[layout]\n\n // ** Get Routes and Paths of the Layout\n const { LayoutRoutes, LayoutPaths } = LayoutRoutesAndPaths(layout)\n\n // ** We have freedom to display different layout for different route\n // ** We have made LayoutTag dynamic based on layout, we can also replace it with the only layout component,\n // ** that we want to implement like VerticalLayout or HorizontalLayout\n // ** We segregated all the routes based on the layouts and Resolved all those routes inside layouts\n\n // ** RouterProps to pass them to Layouts\n const routerProps = {}\n\n return (\n \n \n \n {LayoutRoutes.map(route => {\n return (\n {\n // ** Assign props to routerProps\n Object.assign(routerProps, {\n ...props,\n meta: route.meta,\n routename: route?.name\n })\n\n return (\n \n {/* Layout Wrapper to add classes based on route's layout, appLayout and className */}\n \n \n {/* */}\n \n \n )\n }}\n />\n )\n })}\n \n \n \n )\n })\n }\n\n return (\n \n \n {/* If user is logged in Redirect user to DefaultRoute else to login */}\n {\n return isUserLoggedIn() ? : \n }}\n />\n {/* Not Auth Route */}\n (\n \n \n \n )}\n />\n {ResolveRoutes()}\n\n {/* NotFound Error page */}\n \n \n {/* */}\n \n )\n}\n\nexport default Router\n","//** React Imports\nimport { useState, useEffect } from 'react'\n\n// ** Configs\nimport themeConfig from '@configs/themeConfig'\n\nexport const useLayout = () => {\n // ** States\n const [lastLayout, setLastLayout] = useState(null)\n const [layout, setLayout] = useState(() => {\n try {\n return themeConfig.layout.type\n } catch (error) {\n // ** If error return initialValue\n console.log(error)\n return themeConfig.layout.type\n }\n })\n\n // ** Return a wrapped version of useState's setter function\n const setValue = value => {\n try {\n // ** Allow value to be a function so we have same API as useState\n const valueToStore = value instanceof Function ? value(layout) : value\n\n // ** Set state\n setLayout(valueToStore)\n } catch (error) {\n // ** A more advanced implementation would handle the error case\n console.log(error)\n }\n }\n\n const handleLayout = () => {\n // ** If layout is horizontal & screen size is equals to or below 1200\n if (layout === 'horizontal' && window.innerWidth <= 1200) {\n setLayout('vertical')\n setLastLayout('horizontal')\n }\n // ** If lastLayout is horizontal & screen size is equals to or above 1200\n if (lastLayout === 'horizontal' && window.innerWidth >= 1200) {\n setLayout('horizontal')\n }\n }\n\n // ** ComponentDidMount\n useEffect(() => {\n handleLayout()\n }, [])\n\n useEffect(() => {\n // ** Window Resize Event\n window.addEventListener('resize', handleLayout)\n }, [layout, lastLayout])\n\n return [layout, setValue]\n}\n","//** React Imports\nimport { useState } from 'react'\n\n// ** Configs\nimport themeConfig from '@configs/themeConfig'\n\nexport const useRouterTransition = () => {\n // ** State\n const [transition, setTransition] = useState(() => {\n try {\n return themeConfig.layout.routerTransition\n } catch (error) {\n // ** If error return initialValue\n console.log(error)\n return themeConfig.layout.routerTransition\n }\n })\n\n // ** Return a wrapped version of useState's setter function\n const setValue = value => {\n try {\n // ** Allow value to be a function so we have same API as useState\n const valueToStore = value instanceof Function ? value(transition) : value\n\n // ** Set state\n setTransition(valueToStore)\n } catch (error) {\n // ** A more advanced implementation would handle the error case\n console.log(error)\n }\n }\n\n return [transition, setValue]\n}\n","// import external modules\nimport React from \"react\"\nimport './offline.css'\n\nconst OfflinePage = (props) => {\n return (\n
    \n
    \n

    Offline View

    \n

    2017. 2-minute read.

    \n

    Do you want to be productive? Just go offline, because to maintain a constant connection to the internet is to maintain a constant connection to interruptions, both external and internal.

    \n

    The external interruptions are legion and well documented: you have a new message on Gmail, Slack, Twitter, Facebook, Instagram, Snapchat, LinkedIn. Friends, family, coworkers, and spammers: each have direct access to your precious attention.

    \n

    But it’s the internal distractions that are truly pernicious. You can mute Twitter notifications and log off from Slack, but how do you stop your own mind from derailing you?

    \n

    I have spent hours caught in webs of my own curiosity. Most dangerous is the split-second whim: “I wonder what the second most commonly spoken language is?” Those 500 milliseconds could change your day, because it's never just one Google search, never just one Wikipedia article. Disconnecting from the internet short-circuits those whims, allowing you to move on unencumbered.

    \n

    (It’s Spanish, by the way.)

    \n

    This page itself is an experiment in that vein: What if certain content required us to disconnect? What if readers had access to that glorious focus that makes devouring a novel for hours at a time so satisfying? What if creators could pair that with the power of modern devices? Our phones and laptops are amazing platforms for inventive content—if only we could harness our own attention.

    \n

    Offline-only content would also force creators to think differently. Look up; there was not a single link to distract readers. How many good articles have you left half-read because you chased a shiny underlined link? When you are offline, right here is the only place you can be.

    \n

    I can already hear the groans: “But I have to be online for my job.” I don’t care. Make time. I bet the thing that makes you valuable is not your ability to Google something but your ability to synthesize information. Do your research online; create offline.

    \n

    Now back to your regularly scheduled internet. Just remember to give yourself an occasional gift of disconnection..

    \n

    ❤️ Chris Bolin

    \n

    Update: This little experiment in 2017 has become something bigger: The Disconnect is an offline digital magazine on the web.

    \n \n \n
    \n
    \n )\n}\n\nexport default OfflinePage\n","// ** Router Import\nimport CacheBuster from './CacheBuster'\nimport Router from './router/Router'\nimport IdleTimerContainer from './IdleTimerContainer'\nimport OfflinePage from './views/OfflinePageNew/offlinePage'\nimport { useState } from 'react'\nconst App = props => {\n const [network, setnetwork] = useState(\"online\")\n\n function updateOnlineStatus(event) {\n console.log(\"event\", event.type)\n setnetwork(event.type)\n }\n\n window.addEventListener('online', updateOnlineStatus)\n window.addEventListener('offline', updateOnlineStatus)\n return (\n\n // cachebuster is a function used to clear the cache when the version is updated where we are returning the component\n \n {({ loading, isLatestVersion, refreshCacheAndReload }) => {\n if (loading) return null\n if (!loading && !isLatestVersion) {\n refreshCacheAndReload()\n }\n return (\n <>\n {/* */}\n {network === \"online\" && }\n {network === \"offline\" && }\n {/* */}\n \n )\n }\n\n }\n \n )\n}\n\nexport default App\n","// ** Checks if an object is empty (returns boolean)\nexport const isObjEmpty = obj => Object.keys(obj).length === 0\n\n// ** Returns K format from a number\nexport const kFormatter = num => (num > 999 ? `${(num / 1000).toFixed(1)}k` : num)\n\n// ** Converts HTML to string\nexport const htmlToString = html => html.replace(/<\\/?[^>]+(>|$)/g, '')\n\n// ** Checks if the passed date is today\nconst isToday = date => {\n const today = new Date()\n return (\n /* eslint-disable operator-linebreak */\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear()\n /* eslint-enable */\n )\n}\n\n/**\n ** Format and return date in Humanize format\n ** Intl docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format\n ** Intl Constructor: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat\n * @param {String} value date to format\n * @param {Object} formatting Intl object to format with\n */\nexport const formatDate = (value, formatting = { month: 'short', day: 'numeric', year: 'numeric' }) => {\n if (!value) return value\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\n}\n\n// ** Returns short month of passed date\nexport const formatDateToMonthShort = (value, toTimeForCurrentDay = true) => {\n const date = new Date(value)\n let formatting = { month: 'short', day: 'numeric' }\n\n if (toTimeForCurrentDay && isToday(date)) {\n formatting = { hour: 'numeric', minute: 'numeric' }\n }\n\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\n}\n\n/**\n ** Return if user is logged in\n ** This is completely up to you and how you want to store the token in your frontend application\n * ? e.g. If you are using cookies to store the application please update this function\n */\nexport const isUserLoggedIn = () => sessionStorage.getItem('userData')\nexport const getUserData = () => JSON.parse(localStorage.getItem('userData'))\n\n/**\n ** This function is used for demo purpose route navigation\n ** In real app you won't need this function because your app will navigate to same route for each users regardless of ability\n ** Please note role field is just for showing purpose it's not used by anything in frontend\n ** We are checking role just for ease\n * ? NOTE: If you have different pages to navigate based on user ability then this function can be useful. However, you need to update it.\n * @param {String} userRole Role of user\n */\nexport const getHomeRouteForLoggedInUser = userRole => {\n if (userRole === 'admin') return '/'\n if (userRole === 'client') return '/access-control'\n return '/login'\n}\n\n// ** React Select Theme Colors\nexport const selectThemeColors = theme => ({\n ...theme,\n colors: {\n ...theme.colors,\n primary25: '#7367f01a', // for option hover bg-color\n primary: '#7367f0', // for selected option bg-color\n // neutral10: '#7367f0', // for tags bg-color\n neutral10: '#d6ac48', // for tags bg-color\n neutral20: '#ededed', // for input border-color\n neutral30: '#ededed' // for input hover border-color\n }\n})\n","// ** React Imports\nimport { forwardRef } from 'react'\n\n// ** Third Party Components\nimport Proptypes from 'prop-types'\nimport { Badge } from 'reactstrap'\nimport classnames from 'classnames'\n\nconst Avatar = forwardRef((props, ref) => {\n // ** Props\n const {\n color,\n className,\n imgClassName,\n initials,\n size,\n badgeUp,\n content,\n icon,\n badgeColor,\n badgeText,\n img,\n imgHeight,\n imgWidth,\n status,\n tag: Tag,\n contentStyles,\n ...rest\n } = props\n\n // ** Function to extract initials from content\n const getInitials = str => {\n const results = []\n const wordArray = str.split(' ')\n wordArray.forEach(e => {\n results.push(e[0])\n })\n return results.join('')\n }\n\n return (\n \n {img === false || img === undefined ? (\n \n {initials ? getInitials(content) : content}\n\n {icon ? icon : null}\n {badgeUp ? (\n \n {badgeText ? badgeText : '0'}\n \n ) : null}\n \n ) : (\n \n )}\n {status ? (\n \n ) : null}\n \n )\n})\n\nexport default Avatar\n\n// ** PropTypes\nAvatar.propTypes = {\n imgClassName: Proptypes.string,\n className: Proptypes.string,\n src: Proptypes.string,\n tag: Proptypes.oneOfType([Proptypes.func, Proptypes.string]),\n badgeUp: Proptypes.bool,\n content: Proptypes.string,\n icon: Proptypes.node,\n contentStyles: Proptypes.object,\n badgeText: Proptypes.string,\n imgHeight: Proptypes.oneOfType([Proptypes.string, Proptypes.number]),\n imgWidth: Proptypes.oneOfType([Proptypes.string, Proptypes.number]),\n size: Proptypes.oneOf(['sm', 'lg', 'xl']),\n status: Proptypes.oneOf(['online', 'offline', 'away', 'busy']),\n badgeColor: Proptypes.oneOf([\n 'primary',\n 'secondary',\n 'success',\n 'danger',\n 'info',\n 'warning',\n 'dark',\n 'light-primary',\n 'light-secondary',\n 'light-success',\n 'light-danger',\n 'light-info',\n 'light-warning',\n 'light-dark'\n ]),\n color: Proptypes.oneOf([\n 'primary',\n 'secondary',\n 'success',\n 'danger',\n 'info',\n 'warning',\n 'dark',\n 'light-primary',\n 'light-secondary',\n 'light-success',\n 'light-danger',\n 'light-info',\n 'light-warning',\n 'light-dark'\n ]),\n initials(props) {\n if (props['initials'] && props['content'] === undefined) {\n return new Error('content prop is required with initials prop.')\n }\n if (props['initials'] && typeof props['content'] !== 'string') {\n return new Error('content prop must be a string.')\n }\n if (typeof props['initials'] !== 'boolean' && props['initials'] !== undefined) {\n return new Error('initials must be a boolean!')\n }\n }\n}\n\n// ** Default Props\nAvatar.defaultProps = {\n tag: 'div'\n}\n","import React, { useRef, useState } from 'react'\nimport { Link, useHistory } from 'react-router-dom'\nimport IdleTimer from 'react-idle-timer'\nimport { Button, Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap'\nimport { useDispatch } from 'react-redux'\nconst IdleTimerContainer = () => {\n const history = useHistory()\n const dispatch = useDispatch()\n const idleTimerRef = useRef(null)\n\n const [timerModal, setTimerModal] = useState(false)\n const onIdle = () => {\n console.log('user is idle')\n setTimerModal(true)\n }\n const logmeout = () => {\n setTimerModal(!timerModal)\n dispatch({type:'LOGOUT_SUCCESS'})\n dispatch({type:'CLEAR_SIDE_MENU_SUCCESS'})\n localStorage.clear()\n sessionStorage.clear()\n history.push(\"/login\")\n }\n return (\n
    \n \n setTimerModal(!timerModal)}>\n ZamZam Academy\n \n
    You've been idle for a while!
    \n

    You will be logged out soon

    \n
    \n \n \n \n \n
    \n
    \n )\n}\n\nexport default IdleTimerContainer\n"],"sourceRoot":""}