{"version":3,"sources":["components/forms/custom-elements/CustomFormLabel.js","layouts/full-layout/customizer/LetterAvatar.js","components/forms/custom-elements/CustomTextField.js","components/container/PageContainer.js","layouts/full-layout/breadcrumb/Breadcrumb.js","components/macomponent/DataGrid.js","components/apps/ChatRoom/chatContent/ChatItem.js","assets/global/Typography.js","assets/global/Override.js","assets/global/Shadows.js","assets/global/Theme-variable.js","context/AuthProvider.js","api/axios.js","views/apps/chatroom/GroupMembers.js","views/apps/chatroom/ChatGroupManagement.js","api/utils.js","redux/constants/index.js","layouts/full-layout/customizer/RTL.js","layouts/full-layout/customizer/ThemeSettings.js","views/spinner/Spinner.js","layouts/full-layout/loadable/Loadable.js","routes/Router.js","App.js","serviceWorker.js","reportWebVitals.js","redux/Store.js","redux/customizer/CustomizerReducer.js","redux/Rootreducers.js","index.js"],"names":["CustomFormLabel","styled","props","variant","component","htmlFor","marginBottom","marginTop","display","stringToColor","string","i","hash","color","undefined","length","charCodeAt","toString","slice","getchildren","names","split","toUpperCase","stringAvatar","name","width","height","fontSize","ml","image","colorbg","sx","src","alt","bgcolor","children","BackgroundLetterAvatars","fullname","CustomTextField","theme","opacity","borderColor","palette","mode","backgroundColor","PageContainer","title","description","content","Breadcrumb","subtitle","items","container","p","item","xs","sm","lg","fontWeight","separator","map","to","underline","NavLink","lineHeight","alignItems","md","justifyContent","DICTIONARY_VALUE_INDICATOR","TablePaginationActions","useTheme","count","page","rowsPerPage","onPageChange","flexShrink","onClick","event","disabled","direction","Math","ceil","max","ValueCell","row","columnname","startsWith","columnnames","trim","substring","val","index","includes","substr","inner_columns","_val","j","Array","isArray","GetColumnProperty","column","propertyname","_enable","getDateFormat","date","format","toLowerCase","year","toLocaleDateString","month","day","TableHeader","columns","hasRowId","align","style","minWidth","cursor","ordering_function","columntext","_TableRow","rowIndicatorConstrain","_columnsValues","forEach","element","hover","columntype","href","pattern","target","rel","icon","grey","A200","hidden","columnname_secondary","ColumnFileLink","id","ColumnAction","key","uuidv4","customerender","ColumnCustome","value","ColumnAsyncCustome","Date","toDateString","ColumnDate","ColumnLink","ColumnText","_TableBody","data","_TablePagination","pagination","data_length","rowsPerPageOptions","colSpan","currentpage","SelectProps","inputprops","native","handleChangePage","onRowsPerPageChange","handleChangeRowsPerPage","ActionsComponent","DataGrid","maxHeight","maxWidth","overflow","stickyHeader","ChatItem","this","step","user","axiosInstance","post","mid","animationDelay","className","user_name","msg","fromISO","stamp","Component","typography","fontFamily","body1","h1","h2","h3","h4","h5","h6","button","textTransform","subtitle1","subtitle2","components","MuiCssBaseline","styleOverrides","boxSizing","html","body","margin","padding","transform","position","right","top","alignSelf","borderRight","backgroundPosition","MuiContainer","root","paddingLeft","paddingRight","MuiButton","boxShadow","MuiListItem","borderRadius","MuiCard","MuiListItemIcon","MuiGridItem","paddingTop","MuiLinearProgress","MuiMenuItem","MuiChip","shadows","SidebarWidth","TopbarHeight","baseTheme","primary","main","light","dark","secondary","success","contrastText","danger","info","error","warning","text","A100","A400","A700","action","disabledBackground","hoverOpacity","shape","mixins","toolbar","minHeight","status","themesOptions","BLUE_THEME","GREEN_THEME","PURPLE_THEME","INDIGO_THEME","ORANGE_THEME","RED_THEME","BLACK_THEME","BuildTheme","config","themeOptions","find","customizer","useSelector","state","CustomizerReducer","baseMode","activeMode","background","default","paper","console","warn","Error","createTheme","_","merge","AuthContext","createContext","AuthProvider","useState","auth","setAuth","useEffect","_auth","getUser","log","accessToken","refreshToken","Provider","baseURL","GetEndPoint","axios","create","timeout","headers","Authorization","accept","interceptors","response","use","a","originalRequest","Promise","reject","url","window","location","code","currentUser","jwtDecode","exp","now","refresh","then","new_accessToken","access","new_refreshToken","localStorage","setItem","JSON","stringify","defaults","catch","err","statusText","pathname","GroupMembers","Box","team","first_name","last_name","BCrumb","ChatGroupManagement","React","listofgroups","setListofGroups","open","setOpen","setTitle","update","setUpdate","groupid","setGroupid","setPage","rowperpage","setRowPerPage","searchgroups","setSearchGroups","autocompletevalue","setAutocompleteValue","selectedguests","setSelectedGuests","searchusers","setSearchUsers","defaultguests","setDefaultGuests","convesationOpen","setConvesationOpen","conversation","setConvesation","setText","deletedRenderColumn","CheckBox","CheckBoxOutlineBlank","OnpageChanged","OnChangeRowsPerPage","getGroups","get","encodeURIComponent","group_name","results","groupEdit","openConversation","columnValues","members","handleClose","sender","role","conversation_handleClose","deleteHandler","e","group_id","updateEvent","preventDefault","push","submitHandler","response_members","Button","Autocomplete","onChange","newValue","onKeyDown","freeSolo","fullWidth","mb","options","getOptionLabel","option","renderInput","params","TextField","placeholder","size","Dialog","onClose","onSubmit","DialogContent","Typography","label","multiple","defaultValue","email","DialogActions","type","DialogTitle","m","Close","dividers","itm","owner","parse","sender_fullname","message_id","getItem","handlePhoneChange","setPhoneNumber","curVal","replace","cvLength","clearState","removeItem","c","crypto","getRandomValues","Uint8Array","token","base64","jsonPayload","decodeURIComponent","atob","join","emailValidation","test","passwordStrength","pass_val","strongRegex","RegExp","mediumRegex","okRegex","origin","configData","GetProgramMode","GetFront","GetStatus","respons","isImage","AcceptedImage","file","fileParts","extentions","toFixed","URL","createObjectURL","GetImageUrl","username","image_name","endpoint_type","SendAutoEmail","triggerName","parameters","email_trigger","message","GetUserConnection","SendAutoEmailV2","emails","iso","daysBetween","convertedISO","getTime","toISOString","result","hour","Time","isAM","DARK_THEME","THEME_COLOR","NAVBAR_BG","SIDEBAR_BG","DIRECTION","RTL","document","dir","createCache","prepend","stylisPlugins","stylisRTLPlugin","ThemeSettings","activeDir","activeTheme","Spinner","Loadable","fallback","FullLayout","lazy","BlankLayout","Login","Logout","Register","ResetPassword","ResetPasswordChange","Dashboard","ChatRooms","FileManager","SharedWithMe","UserManager","UserEdit","UserBroadCastMessage","UserEmail","UserAutoTrigger","UserAdd","EJMaching","EJMachingEdit","Calendar","EJExam","EJApplication","Router","path","exact","App","routing","useRoutes","ThemeProvider","CssBaseline","Boolean","hostname","match","InitialState","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","INIT_STATE","activeNavbarBg","activeSidebarBg","payload","RootReducers","combineReducers","ReactDOM","render","store","createStore","composeWithDevTools","applyMiddleware","thunk","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.5f63f966.chunk.js","sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Typography } from '@mui/material';\n\nconst CustomFormLabel = styled((props) => (\n \n))(() => ({\n marginBottom: '5px',\n marginTop: '15px',\n display: 'block',\n}));\n\nexport default CustomFormLabel;\n","import * as React from 'react';\nimport Avatar from '@mui/material/Avatar';\n\nfunction stringToColor(string) {\n let hash = 0;\n let i;\n let color = '#';\n /* eslint-disable no-bitwise */\n if (string!== null && string!== undefined) {\n for (i = 0; i < string.length; i += 1) {\n hash = string.charCodeAt(i) + ((hash << 5) - hash);\n }\n for (i = 0; i < 3; i += 1) {\n const value = (hash >> (i * 8)) & 0xff;\n color += `00${value.toString(16)}`.slice(-2);\n }\n /* eslint-enable no-bitwise */\n }\n return color;\n}\nfunction getchildren(string){\n const names = string.split(' ')\n if (names !== undefined && names!= null && names.length > 0){\n if (names.length >= 2){\n return (names[0].length > 0 ? names[0][0].toUpperCase() : '') + ' ' + (names[1].length > 0 ? names[1][0].toUpperCase() : '')\n }\n return (names[0].length > 0 ? names[0][0].toUpperCase() : '')\n }\n return '-'\n}\n\nfunction stringAvatar(name, width, height, fontSize, ml , image , colorbg ) {\n if(image !== ''){\n return {\n sx: {\n width: width,\n height: height,\n fontSize: fontSize,\n ml: ml,\n },\n src: `${image}`,\n alt: `${image}`\n }; \n }\n if (name!==null && name!==undefined){\n return {\n sx: {\n bgcolor: (colorbg === '' ? stringToColor(name) : colorbg),\n width: width,\n height: height,\n fontSize: fontSize,\n ml: ml,\n },\n children: `${getchildren(name)}`,\n };\n }\n return {\n sx: {\n bgcolor: '#',\n },\n children: '- -',\n };\n}\n\nexport default function BackgroundLetterAvatars(fullname , colorbg = '' , width=46 , height=46, fontSize = 15 , ml='0px' , image = '') {\n return (\n \n );\n}","import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { TextField } from '@mui/material';\n\nconst CustomTextField = styled((props) => )(({ theme }) => ({\n '& .MuiOutlinedInput-input::-webkit-input-placeholder': {\n color: '#767e89',\n opacity: '1',\n },\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: `${theme.palette.mode === 'dark' ? 'rgba(255, 255, 255, 0.12)' : '#000'}`,\n },\n '& .MuiOutlinedInput-input.Mui-disabled': {\n backgroundColor: `${theme.palette.mode === 'dark' ? 'rgba(0, 0, 0, 0.12) ' : '#f8f9fb '}`,\n },\n '& .MuiOutlinedInput-input.Mui-disabled::-webkit-input-placeholder': {\n color: '#767e89',\n opacity: '1',\n },\n}));\n\nexport default CustomTextField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Helmet } from 'react-helmet';\n\nconst PageContainer = ({ title, description, children }) => (\n
\n \n {title}\n \n \n {children}\n
\n);\n\nPageContainer.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n children: PropTypes.node,\n};\n\nexport default PageContainer;\n","import React from 'react';\nimport { Grid, Typography, Box, Breadcrumbs, Link } from '@mui/material';\nimport { NavLink } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport NavigateNextIcon from '@mui/icons-material/NavigateNext';\n\nconst Breadcrumb = ({ subtitle, items, title, children }) => (\n \n \n \n {subtitle}\n \n\n } aria-label=\"breadcrumb\">\n {items\n ? items.map((item) => (\n
\n {item.to ? (\n \n {item.title}\n \n ) : (\n {item.title}\n )}\n
\n ))\n : ''}\n
\n \n {title}\n
\n \n \n \n {children}\n \n \n \n);\n\nBreadcrumb.propTypes = {\n subtitle: PropTypes.string,\n items: PropTypes.array,\n title: PropTypes.string,\n children: PropTypes.node,\n};\n\nexport default Breadcrumb;\n","import './DataGrid.css'\nimport * as React from 'react';\nimport { useTheme } from '@mui/material/styles';\nimport {\n Table,\n TableCell,\n Typography,\n TableHead,\n TableRow,\n TableBody,\n IconButton,\n Link,\n TablePagination,\n TableContainer,\n Box,\n CircularProgress,\n Paper\n} from '@mui/material';\nimport FeatherIcon from 'feather-icons-react';\nimport FirstPageIcon from '@mui/icons-material/FirstPage';\nimport KeyboardArrowLeft from '@mui/icons-material/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@mui/icons-material/KeyboardArrowRight';\nimport LastPageIcon from '@mui/icons-material/LastPage';\nimport SortIcon from '@mui/icons-material/Sort';\nimport axiosInstance from '../../api/axios';\nimport { func } from 'prop-types';\nimport { result } from 'lodash';\nimport { uuidv4 } from '../../api/utils';\n\n// if we want to return a list of value for action column we can start with ... and then add the column by comma\n// {\"columnname\": \"...id,group_name,description,members\" , \"columntext\": \"Edit\" , \"columntype\": \"action\" , \"icon\": \"edit\" , \"onClick\": groupEdit}\nconst DICTIONARY_VALUE_INDICATOR = \"...\";\n\nfunction TablePaginationActions(props) {\n \n const theme = useTheme();\n const { count, page, rowsPerPage, onPageChange } = props;\n \n const handleFirstPageButtonClick = (event) => {\n onPageChange(event, 0);\n };\n \n const handleBackButtonClick = (event) => {\n onPageChange(event, page - 1);\n };\n \n const handleNextButtonClick = (event) => {\n onPageChange(event, page + 1);\n };\n \n const handleLastPageButtonClick = (event) => {\n onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\n };\n \n return (\n \n \n {theme.direction === 'rtl' ? : }\n \n \n {theme.direction === 'rtl' ? : }\n \n = Math.ceil(count / rowsPerPage) - 1 }\n aria-label=\"next page\"\n >\n {theme.direction === 'rtl' ? : }\n \n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"last page\"\n >\n {theme.direction === 'rtl' ? : }\n \n \n );\n}\n\nfunction ValueCell(row,columnname){\n if (columnname.startsWith(DICTIONARY_VALUE_INDICATOR)){\n columnname = columnname.trim().substring(DICTIONARY_VALUE_INDICATOR.length,columnname.length)\n var columnnames = columnname.split(',');\n \n var val = {}\n for (let index = 0; index < columnnames.length; index++) {\n val[columnnames[index]] = row[columnnames[index].trim()];\n }\n return val;\n }\n else{\n var columnnames = columnname.split(',');\n var val= \"\";\n for(var i =0; i < columnnames.length; i++){\n if(columnnames[i].includes('\"')){\n val+=columnnames[i].trim().substr(1,columnnames[i].length-2)\n }\n else{\n if(columnnames[i].trim().includes('.')){\n var inner_columns = columnnames[i].trim().split('.')\n var _val = row[inner_columns[0]];\n for(var j=1; j\n { const val = ValueCell(row,column.columnname); column.onClick(val); }}>\n {(column.columnname && ( column.hidden !== undefined && column.hidden === true)) &&\n }\n theme.palette.grey.A200,\n }}\n />\n {(column.columnname && (column.hidden === undefined || column.hidden === false))&&\n \n {column.columnname.startsWith(DICTIONARY_VALUE_INDICATOR)?\"\":ValueCell(row,column.columnname)}\n \n }\n {column.columnname_secondary &&\n \n {ValueCell(row,column.columnname_secondary)}\n \n }\n \n)\n}\n\nfunction ColumnFileLink(column,row){\n return(\n \n theme.palette.grey.A200,\n }}\n />\n {column.columnname?\n \n :''}\n {column.columnname_secondary &&\n \n {ValueCell(row,column.columnname_secondary)}\n \n }\n \n );\n}\n\nfunction ColumnLink(column,row){\n return(\n \n \n {column.icon? :\n column.columnname_secondary? \n {ValueCell(row,column.columnname_secondary)}\n :\n column.columntext}\n \n \n );\n}\n\nfunction ColumnText(column,row){\n return (\n \n {column.columnname.startsWith(DICTIONARY_VALUE_INDICATOR)?\"\":ValueCell(row,column.columnname)}\n \n {column.columnname_secondary &&\n \n {ValueCell(row,column.columnname_secondary)}\n \n }\n );\n}\n\nfunction ColumnCustome(column,row){\n const val = ValueCell(row,column.columnname)\n const key = uuidv4();\n return (\n {column.customerender?column.customerender(val,key):
'Custom Render need a function to render'
} \n
);\n}\n\nfunction ColumnAsyncCustome(column,row){\n const val = ValueCell(row,column.columnname)\n const key = uuidv4();\n return (\n \n {column.customerender?column.customerender(val,key):
'Custom Render need a function to render'
}\n
\n
);\n}\n\nfunction getDateFormat(date, format, separator){\n format = format.toLowerCase();\n var year = date.toLocaleDateString(\"default\", {year: \"2-digit\"})\n var month = date.toLocaleDateString(\"default\", {month: \"2-digit\"})\n var day = date.toLocaleDateString(\"default\", {day: \"2-digit\"})\n var formattedDate = month + separator + day + separator + year\n return formattedDate\n\n}\n\nfunction ColumnDate(column,row){\n const val = column.columnname.startsWith(DICTIONARY_VALUE_INDICATOR)?\"\":ValueCell(row,column.columnname)\n const date = new Date(val)\n return (\n \n \n {date.toDateString()==='Invalid Date'?'-':getDateFormat(date,\"\",\"/\")}\n \n \n )\n}\n\nfunction TableHeader(columns,hasRowId){\n return(\n \n \n {hasRowId?\n \n #\n :\n ''\n }\n {columns.map((column)=>(\n {column.ordering_function(column);}: ()=>{}}\n >\n \n {(\"ordering_function\" in column)? {column.columntext} : column.columntext}\n \n \n ))}\n \n \n );\n}\n\nfunction _TableRow(columns,row,index, hasRowId,rowIndicatorConstrain){\n let backgroundColor= \"#fff\";\n if(rowIndicatorConstrain!==null){\n let _columnsValues = {}\n columns.forEach(element => {\n _columnsValues[element.columnname] = ValueCell(row,element.columnname);\n });\n backgroundColor = rowIndicatorConstrain(row,index,_columnsValues)\n }\n return (\n \n {hasRowId?\n \n {index+1}\n :\n ''\n }\n { columns.map( (column)=>{\n if(column.columntype === 'filelink'){\n return ColumnFileLink(column,row)\n }\n else if (column.columntype === 'action') {\n return ColumnAction(column,row)\n } \n else if(column.columntype === 'custom'){\n return ColumnCustome(column,row);\n }\n else if(column.columntype === 'asyncustom'){\n var value = ColumnAsyncCustome(column,row)\n return value;\n }\n else if(column.columntype === 'date'){\n return ColumnDate(column,row);\n }\n else if(column.columntype === 'link'){\n return ColumnLink(column,row);\n }\n else {\n return ColumnText(column,row); \n } \n })\n }\n \n );\n}\n\nfunction _TableBody(data,columns,hasRowId,rowIndicatorConstrain){\n return (\n \n { \n data.map((row , index)=>{\n return _TableRow(columns,row,index,hasRowId,rowIndicatorConstrain);\n })\n }\n \n )\n\n}\n\nfunction _TablePagination(pagination,data_length){\n return (\n
\n {pagination!==null && ( \n \n )}\n
\n )\n}\n\n\nexport function DataGrid(data, columns , \n hasRowId = true , \n pagination = null , \n maxHeight = 440,\n maxWidth = -1,\n rowIndicatorConstrain = null )\n{\n return (\n \n \n \n {TableHeader(columns,hasRowId)}\n {_TableBody(data,columns,hasRowId,rowIndicatorConstrain)}\n
\n \n {_TablePagination(pagination,data.length)}\n
\n ); \n}\n\n\n\nexport async function DataGrid2(url , columns , parameters = {\"page\": 1,\n\"rowperpage\" : 10 ,\n\"ordering\" : [\"-created_at\"],\n\"autocompletevalue\": ''}, \nhasRowId = true , pagination = null , maxHeight = 440)\n{\n await axiosInstance.get(url + \"/?p=\" +parameters[\"page\"]+1+\"&count=\"+parameters[\"rowperpage\"]+\n (parameters[\"autocompletevalue\"]?\"&search=\"+parameters[\"autocompletevalue\"]:'')+\"&ordering=\"+parameters[\"ordering\"]).then((response)=>{\n if(response?.status === 200){\n let data = response.data['results']\n return DataGrid(data,columns,hasRowId,pagination, maxHeight);\n }\n });\n}\n\n\n\n","import React, { Component } from \"react\";\nimport BackgroundLetterAvatars from \"../../../../layouts/full-layout/customizer/LetterAvatar\";\nimport {Link, ListItemAvatar, ListItemText} from '@mui/material'; \nimport {fromISO} from '../../../../api/utils'\nimport axiosInstance from \"../../../../api/axios\";\nimport { Done, DoneAll, Visibility } from \"@mui/icons-material\";\nexport default class ChatItem extends Component {\n\n componentDidMount() {\n if(this.props.step !== \"view\"){\n if( this.props.step === \"sent\" && this.props.user=== \"me\" ) {\n //console.log(this.props)\n axiosInstance.post(\"/machat/acknowledge/\",{'message_id':this.props.mid});\n }\n }\n }\n\n render() {\n\n return (\n \n \n {BackgroundLetterAvatars(this.props.fullname)}\n \n
\n
\n \n {this.props.msg}\n \n
\n \n
\n
\n
\n \n { this.props.step !== 'view' ? ((this.props.step && this.props.step === \"received\") ? \n : \n ) : } \n {fromISO(this.props.stamp)}\n
\n
\n \n \n );\n }\n}","const typography = {\n fontFamily: \"'DM Sans', sans-serif\",\n body1: {\n fontWeight: 400, // or 'bold'\n },\n h1: {\n fontWeight: 500,\n fontSize: '1.875rem',\n lineHeight: '1.5',\n },\n h2: {\n fontWeight: 500,\n fontSize: '1.5rem',\n lineHeight: '1.5',\n },\n h3: {\n fontWeight: 500,\n fontSize: '1.3125rem',\n lineHeight: '1.5',\n },\n h4: {\n fontWeight: 500,\n fontSize: '1.125rem',\n lineHeight: '1.5',\n },\n h5: {\n fontWeight: 500,\n fontSize: '1rem',\n lineHeight: '1.5',\n },\n h6: {\n fontWeight: 500,\n fontSize: '0.875rem',\n lineHeight: '1.5',\n },\n button: {\n textTransform: 'none',\n fontWeight: '400',\n },\n subtitle1: {\n fontSize: '1rem',\n fontWeight: '400',\n },\n subtitle2: {\n fontSize: '0.875rem',\n fontWeight: '400',\n },\n};\n\nexport default typography;\n","const components = {\n MuiCssBaseline: {\n styleOverrides: {\n '*': {\n boxSizing: 'border-box',\n },\n html: {\n height: '100%',\n width: '100%',\n },\n body: {\n height: '100%',\n margin: 0,\n padding: 0,\n },\n '#root': {\n height: '100%',\n },\n \"*[dir='rtl'] .buyNowImg\": {\n transform: 'scaleX(-1)',\n },\n\n '.buyNowImg': {\n position: 'absolute',\n right: '-44px',\n top: '-18px',\n width: '143px',\n height: '175px',\n },\n '.MuiCardHeader-action': {\n alignSelf: 'center !important',\n },\n '.scrollbar-container': {\n borderRight: '0 !important',\n },\n \"*[dir='rtl'] .welcomebg:before\": {\n backgroundPosition: 'top -24px left -9px !important',\n },\n },\n },\n MuiContainer: {\n styleOverrides: {\n root: {\n paddingLeft: '15px !important',\n paddingRight: '15px !important',\n maxWidth: '1600px',\n },\n },\n },\n\n MuiButton: {\n styleOverrides: {\n root: {\n textTransform: 'none',\n boxShadow: 'none',\n fontSize: '15px',\n '&:hover': {\n boxShadow: 'none',\n },\n },\n },\n },\n\n MuiListItem: {\n styleOverrides: {\n root: {\n borderRadius: '9px',\n },\n },\n },\n\n MuiCard: {\n styleOverrides: {\n root: {\n borderRadius: '20px',\n padding: '14px',\n margin: '15px',\n boxShadow: '0px 7px 30px 0px rgba(90, 114, 123, 0.11)',\n },\n },\n },\n\n MuiListItemIcon: {\n styleOverrides: {\n root: {\n minWidth: '40px',\n },\n },\n },\n\n MuiGridItem: {\n styleOverrides: {\n root: {\n paddingTop: '30px',\n paddingLeft: '30px !important',\n },\n },\n },\n MuiLinearProgress: {\n styleOverrides: {\n root: {\n backgroundColor: '#ecf0f2',\n borderRadius: '6px',\n },\n },\n },\n MuiMenuItem: {\n styleOverrides: {\n root: {\n borderRadius: '0',\n },\n },\n },\n MuiChip: {\n styleOverrides: {\n root: {\n fontWeight: '500',\n fontSize: '0.75rem',\n },\n },\n },\n};\n\nexport default components;\n","const shadows = [\n 'none',\n '0px 2px 3px rgba(0,0,0,0.10)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 2px 2px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 3px 4px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 3px 4px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 6px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 6px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 8px -2px rgba(0,0,0,0.25)',\n '1px 2px 10px rgba(0,0,0,0.08)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 6px 12px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 7px 12px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 6px 16px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 7px 16px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 8px 18px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 9px 18px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 10px 20px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 11px 20px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 12px 22px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 13px 22px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 14px 24px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 16px 28px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 18px 30px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 20px 32px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 22px 34px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 24px 36px -8px rgba(0,0,0,0.25)',\n];\n\nexport default shadows;\n","import _ from 'lodash';\nimport { createTheme } from '@mui/material/styles';\nimport { useSelector } from 'react-redux';\nimport typography from './Typography';\nimport components from './Override';\nimport shadows from './Shadows';\n\n// ##############################import {\nimport {\n BLUE_THEME,\n GREEN_THEME,\n RED_THEME,\n BLACK_THEME,\n PURPLE_THEME,\n INDIGO_THEME,\n ORANGE_THEME,\n} from '../../redux/constants';\n// // // Global Variables\n// ##############################\n\nconst SidebarWidth = 265;\nconst TopbarHeight = 70;\n\nconst baseTheme = {\n direction: 'ltr',\n palette: {\n primary: {\n main: '#1a97f5',\n light: '#e6f4ff',\n dark: '#1682d4',\n },\n secondary: {\n main: '#1e4db7',\n light: '#ddebff',\n dark: '#173f98',\n },\n\n success: {\n main: '#00c292',\n light: '#ebfaf2',\n dark: '#00964b',\n contrastText: '#ffffff',\n },\n danger: {\n main: '#e46a76',\n light: '#fdf3f5',\n },\n info: {\n main: '#0bb2fb',\n light: '#a7e3f4',\n },\n error: {\n main: '#e46a76',\n light: '#fdf3f5',\n dark: '#e45a68',\n },\n warning: {\n main: '#fec90f',\n light: '#fff4e5',\n dark: '#dcb014',\n contrastText: '#ffffff',\n },\n text: {\n secondary: '#777e89',\n danger: '#fc4b6c',\n },\n grey: {\n A100: '#ecf0f2',\n A200: '#99abb4',\n A400: '#767e89',\n A700: '#e6f4ff',\n },\n action: {\n disabledBackground: 'rgba(73,82,88,0.12)',\n hoverOpacity: 0.02,\n hover: 'rgba(0, 0, 0, 0.03)',\n },\n },\n\n shape: {\n borderRadius: 5,\n },\n mixins: {\n toolbar: {\n color: '#949db2',\n '@media(min-width:1280px)': {\n minHeight: TopbarHeight,\n padding: '0 30px',\n },\n '@media(max-width:1280px)': {\n minHeight: '64px',\n },\n },\n },\n status: {\n danger: '#e53e3e',\n },\n components,\n typography,\n shadows,\n};\n\nconst themesOptions = [\n {\n name: BLUE_THEME,\n palette: {\n primary: {\n main: '#1a97f5',\n light: '#e6f4ff',\n dark: '#1682d4',\n },\n secondary: {\n main: '#1e4db7',\n light: '#ddebff',\n dark: '#173f98',\n },\n },\n },\n {\n name: GREEN_THEME,\n palette: {\n primary: {\n main: '#00cec3',\n light: '#d7f8f6',\n dark: '#02b3a9',\n contrastText: '#ffffff',\n },\n secondary: {\n main: '#066a73',\n },\n },\n },\n {\n name: PURPLE_THEME,\n palette: {\n primary: {\n main: '#7352ff',\n light: '#e5e0fa',\n dark: '#5739d6',\n },\n secondary: {\n main: '#402e8d',\n },\n },\n },\n {\n name: INDIGO_THEME,\n palette: {\n primary: {\n main: '#1e4db7',\n light: '#e6f4ff',\n dark: '#0c399e',\n },\n secondary: {\n main: '#11397b',\n },\n },\n },\n {\n name: ORANGE_THEME,\n palette: {\n primary: {\n main: '#03c9d7',\n light: '#e5fafb',\n dark: '#05b2bd',\n contrastText: '#ffffff',\n },\n secondary: {\n main: '#fb9678',\n light: '#fcf1ed',\n dark: '#e67e5f',\n contrastText: '#ffffff',\n },\n },\n },\n {\n name: RED_THEME,\n palette: {\n primary: {\n main: '#ff5c8e',\n light: '#fce6ed',\n dark: '#d43653',\n contrastText: '#ffffff',\n },\n secondary: {\n main: '#5e244d',\n },\n },\n },\n {\n name: BLACK_THEME,\n palette: {\n primary: {\n main: '#1c2025',\n },\n },\n },\n];\n\nexport const BuildTheme = (config = {}) => {\n let themeOptions = themesOptions.find((theme) => theme.name === config.theme);\n const customizer = useSelector((state) => state.CustomizerReducer);\n\n const baseMode = {\n palette: {\n mode: customizer.activeMode,\n background: {\n default: customizer.activeMode === 'dark' ? '#20232a' : '#fafbfb',\n dark: customizer.activeMode === 'dark' ? '#1c2025' : '#ffffff',\n paper: customizer.activeMode === 'dark' ? '#282C34' : '#ffffff',\n },\n text: {\n primary: customizer.activeMode === 'dark' ? '#e6e5e8' : 'rgba(0, 0, 0, 0.87)',\n secondary: customizer.activeMode === 'dark' ? '#adb0bb' : '#777e89',\n },\n },\n };\n if (!themeOptions) {\n console.warn(new Error(`The theme ${config.theme} is not valid`));\n [themeOptions] = themesOptions;\n }\n\n const theme = createTheme(\n _.merge({}, baseTheme, baseMode, themeOptions, {\n direction: config.direction,\n }),\n );\n return theme;\n};\n\nexport { TopbarHeight, SidebarWidth, baseTheme };\n","import { createContext, useState , useEffect } from \"react\";\nimport { getUser } from \"../api/utils\";\n\nconst AuthContext = createContext({});\n\nexport default AuthContext;\n\nexport const AuthProvider = ({ children }) => {\n const [auth, setAuth] = useState({});\n useEffect(()=>{\n let _auth = getUser() \n \n if(_auth!==null && _auth!==undefined && _auth!== \"\"){\n \n console.log(_auth);\n const user = _auth['user'];\n const accessToken = _auth['accessToken'];\n const refreshToken =_auth['refreshToken'];\n setAuth({ user, accessToken , refreshToken })\n }\n },[]);\n return (\n \n {children}\n \n )\n}\n\n\n","import axios from 'axios'\nimport { getUser, jwtDecode, GetEndPoint } from './utils';\n\n\nconst baseURL = GetEndPoint();\n\nconst axiosInstance = axios.create({\n baseURL : baseURL,\n timeout: 5000,\n headers: {\n Authorization: getUser()\n ? 'JWT ' + getUser()['accessToken']\n :null,\n 'content-Type': 'application/json',\n accept: 'application/json',\n }\n});\n\naxiosInstance.interceptors.response.use((response)=> {\n return response\n}, async (error)=> {\n const originalRequest = error.config;\n if (typeof error.response === 'undefined') {\n // alert(\n // 'A server/network error occurred. ' +\n // 'Looks like CORS might be the problem. ' +\n // 'Sorry about this - we will get it fixed shortly.'\n // );\n console.log(error);\n return Promise.reject(error);\n }\n\n if (error.response.status === 401 &&\n originalRequest.url === '/user/token/refresh/') {\n window.location.href = '/auth/login/';\n return Promise.reject(error);\n }\n if (\n error.response.data.code === 'token_not_valid' &&\n error.response.status === 401\n ) {\n const currentUser = getUser()\n if (currentUser!==null){\n const refreshToken = currentUser['refreshToken'];\n const user = currentUser['user-name'];\n if (jwtDecode(refreshToken).exp > Date.now() / 1000){\n return axiosInstance\n .post('/user/token/refresh/', { refresh: refreshToken })\n .then((response) => {\n if(response.status === 401){\n console.log('Refresh token not available.');\n\t\t\t\t window.location.href = '/auth/login/';\n }\n if(response.status === 200){\n const new_accessToken = response?.data?.access;\n const new_refreshToken = response?.data?.refresh\n localStorage.setItem('User',\n JSON.stringify({'user-name': user ,\n 'email': currentUser['email'],\n 'role' : currentUser['role'],\n 'full_name': currentUser['full_name'],\n 'accessToken' : new_accessToken , \n 'refreshToken': new_refreshToken})\n )\n axiosInstance.defaults.headers['Authorization'] =\n 'JWT ' + response.data.access;\n originalRequest.headers['Authorization'] =\n 'JWT ' + response.data.access;\n \n return axiosInstance(originalRequest);\n }\n else\n {\n console.log('Server Error!');\n window.location.href = '/auth/login/';\n }\n })\n .catch((err) => {\n console.log('Refresh token not available.');\n console.log(err);\n });\n }\n else {\n\t\t\t\tconsole.log('Refresh token not available.');\n\t\t\t\twindow.location.href = '/auth/login/';\n\t\t }\n }else {\n\t\t\t\tconsole.log('Refresh token not available.');\n\t\t\t\twindow.location.href = '/auth/login/';\n\t\t}\n }\n else\n {\n if(error.response.status === 401){\n if (getUser() && error.response.status === 401 && error.response.statusText === \"Unauthorized\")\n {\n axiosInstance.defaults.headers['Authorization'] =\n 'JWT ' + getUser()['accessToken'];\n originalRequest.headers['Authorization'] =\n 'JWT ' + getUser()['accessToken']; \n return axiosInstance(originalRequest);\n }\n else{\n if(window.location.pathname !== '/auth/login/'){\n window.location.href = '/auth/login/';\n }\n }\n }\n if(error.response.status === 400){\n return error.response\n }\n }\n \n\n });\n\nexport default axiosInstance;\n","\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types'\nimport axiosInstance from '../../../api/axios'\nimport BackgroundLetterAvatars from '../../../layouts/full-layout/customizer/LetterAvatar'\nimport { Box ,Avatar, Typography } from '@mui/material'\n\n\n\nconst GroupMembers = props => {\n return (\n \n {props.map((team)=>(\n BackgroundLetterAvatars(team.first_name + ' ' + team.last_name,'',30,30,12,'-8px')\n ))} \n \n )\n}\n\nGroupMembers.propTypes = {id: PropTypes.string}\n\nexport default GroupMembers","import React from 'react';\nimport Breadcrumb from '../../../layouts/full-layout/breadcrumb/Breadcrumb';\nimport PageContainer from '../../../components/container/PageContainer';\nimport axiosInstance from '../../../api/axios';\nimport { DataGrid } from '../../../components/macomponent/DataGrid';\nimport GroupMembers from './GroupMembers';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n Box,\n Typography,\n Autocomplete,\n DialogTitle\n} from '@mui/material';\nimport TextField from '@mui/material/TextField';\nimport CustomTextField from '../../../components/forms/custom-elements/CustomTextField';\nimport CustomFormLabel from '../../../components/forms/custom-elements/CustomFormLabel';\nimport 'react-quill/dist/quill.snow.css';\nimport ReactQuill from 'react-quill';\nimport ChatItem from '../../../components/apps/ChatRoom/chatContent/ChatItem';\nimport \"../../../components/apps/ChatRoom/chatContent/chatContent.css\"\n\n\nimport { CheckBox, CheckBoxOutlineBlank, Close } from '@mui/icons-material';\n\nconst BCrumb = [\n {\n to: '/',\n title: 'Chat',\n },\n {\n title: 'Manager',\n },\n];\n\nconst ChatGroupManagement = () => {\n const [listofgroups, setListofGroups] = React.useState();\n const [open, setOpen] = React.useState(false);\n const [title, setTitle] = React.useState('');\n const [update, setUpdate] = React.useState();\n const [groupid, setGroupid] = React.useState();\n let [page, setPage] = React.useState(0);\n let [rowperpage, setRowPerPage] = React.useState(15);\n let [searchgroups, setSearchGroups] = React.useState([]);\n let [autocompletevalue, setAutocompleteValue] = React.useState('');\n\n const [selectedguests, setSelectedGuests] = React.useState([]);\n let [searchusers, setSearchUsers] = React.useState([]);\n let [defaultguests, setDefaultGuests] = React.useState([]);\n let [convesationOpen,setConvesationOpen] = React.useState(false)\n let [conversation,setConvesation] = React.useState([]);\n \n const [text, setText] = React.useState('');\n\n function deletedRenderColumn(val) {\n if (val === 'true') {\n return (\n \n \n \n );\n } else {\n return (\n \n \n \n );\n }\n }\n const OnpageChanged = async (event, page) => {\n setPage(page);\n };\n const OnChangeRowsPerPage = async (event) => {\n setRowPerPage(event.target.value, 5);\n setPage(0);\n };\n const getGroups = (page, rowperpage) => {\n axiosInstance\n .get(\n 'machat/management/getgroups/?p=' +\n (page + 1) +\n '&count=' +\n rowperpage +\n (autocompletevalue ? '&esearch=' + encodeURIComponent(autocompletevalue.group_name) : ''),\n )\n .then((response) => {\n setListofGroups(\n DataGrid(\n response?.data.results,\n [\n { columnname: 'group_name', columntext: 'Group Name' },\n { columnname: 'description', columntext: 'Description' },\n { columnname: 'date', columntext: 'Created', columntype: 'date' },\n {\n columnname: 'members',\n columntext: 'Members',\n columntype: 'custom',\n customerender: GroupMembers,\n },\n {\n columnname: '...id,group_name,description,members',\n columntext: 'Edit',\n columntype: 'action',\n icon: 'edit',\n onClick: groupEdit,\n },\n {\n columnname: '...id,members',\n columntext: 'Conversation',\n columntype: 'action',\n icon:'message-square',\n onClick: openConversation,\n },\n {\n columnname: 'deleted',\n columntext: 'Deleted',\n columntype: 'custom',\n customerender: deletedRenderColumn,\n },\n ],\n true,\n {\n count: response.data['count'],\n currentpage: page,\n rowsPerPage: rowperpage,\n handleChangePage: OnpageChanged,\n handleChangeRowsPerPage: OnChangeRowsPerPage,\n },\n 900,\n -1,\n (row, index, columnValues) => {\n if (columnValues['deleted'] == 'true') {\n return '#E04F36';\n }\n },\n ),\n );\n });\n };\n React.useEffect(() => {\n getGroups(page, rowperpage);\n }, [page, rowperpage]);\n const inputChangeHandler = (e) => setTitle(e.target.value);\n const groupEdit = (val) => {\n setOpen(true);\n setUpdate(true);\n setTitle(val.group_name);\n setText(val.description);\n setDefaultGuests(val.members);\n setGroupid(val.id);\n };\n const groupAdd = () => {\n setOpen(true);\n setUpdate(false);\n setTitle('');\n setText('');\n setDefaultGuests([]);\n };\n const handleClose = () => {\n setOpen(false);\n setTitle('');\n setUpdate(null);\n };\n \n const getconversation = (sender,user_name,role,id)=>{\n if(role === 'group'){\n axiosInstance.get('machat/management/getconversationgrou/'+user_name+'/'+id).then((response)=>{\n setConvesationOpen(true);\n setConvesation(response?.data)\n //this.setState({connections: response?.data}); \n });\n }\n else{\n axiosInstance.get('machat/management/getconversation/'+user_name+'/'+sender).then((response)=>{\n setConvesationOpen(true);\n setConvesation(response?.data)\n //this.setState({connections: response?.data}); \n });\n } };\n\n const openConversation= (val)=>{\n getconversation('',val.members[0]['user_name'],'group',val.id);\n };\n\n const conversation_handleClose = () =>{\n setConvesationOpen(false);\n }\n const deleteHandler = async (e) => {\n //e.preventDefault();\n const response = await axiosInstance.post('machat/management/deletegroup/', {\n group_id: groupid,\n });\n if (response.status === 200) {\n handleClose();\n getGroups();\n }\n };\n const updateEvent = async (e) => {\n e.preventDefault();\n\n var members = [];\n if (selectedguests.length === 0) {\n defaultguests.forEach((element) => {\n members.push(element.id);\n });\n } else {\n selectedguests.forEach((element) => {\n members.push(element.id);\n });\n }\n const response = await axiosInstance.post('machat/management/updategroup/', {\n group_id: groupid,\n group_name: title,\n description: text === '' ? title : text,\n members: members,\n });\n console.log(response);\n if (response.status === 200) {\n handleClose();\n getGroups();\n }\n };\n const submitHandler = async (e) => {\n e.preventDefault();\n console.log({ group_name: title, description: text === '' ? title : text });\n const response = await axiosInstance.post('machat/management/creategroup/', {\n group_name: title,\n description: text === '' ? title : text,\n });\n if (response && response.status === 200) {\n var members = [];\n selectedguests.forEach((element) => {\n members.push(element.id);\n });\n setGroupid(response.data.group_id);\n const response_members = await axiosInstance.post('machat/management/addmember/', {\n group_id: response.data.group_id,\n members: members,\n });\n if (response_members && response_members.status === 200) {\n handleClose();\n getGroups();\n }\n }\n };\n return (\n \n \n \n {\n setAutocompleteValue(newValue);\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n getGroups(0, rowperpage);\n }\n }}\n freeSolo\n fullWidth\n sx={{\n mb: 2,\n }}\n options={searchgroups}\n getOptionLabel={(option) => `${option.group_name}`}\n renderInput={(params) => (\n {\n await axiosInstance\n .get('machat/management/getgroups/?search=' + encodeURIComponent(e.target.value))\n .then((response) => {\n if (response?.status === 200) {\n setSearchGroups(response.data ? response.data['results'] : []);\n } else {\n setSearchGroups([]);\n }\n });\n }}\n size=\"small\"\n aria-label=\"FreeSolo\"\n />\n )}\n />\n {listofgroups}\n \n
\n \n \n {update ? 'Update Event' : 'Add Event'}\n \n Group Title\n \n Guests\n {\n setSelectedGuests(newValue);\n }}\n options={searchusers}\n defaultValue={defaultguests}\n getOptionLabel={(option) =>\n `${option.email} | ${option.user_name} | ${option.first_name} ${option.last_name}`\n }\n renderInput={(params) => (\n {\n await axiosInstance\n .get('user/autocomplete/list/?search=' + e.target.value)\n .then((response) => {\n setSearchUsers(response.data ? response.data['results'] : []);\n });\n }}\n size=\"small\"\n aria-label=\"FreeSolo\"\n />\n )}\n />\n\n Description\n\n {\n setText(value);\n }}\n placeholder=\"Type here...\"\n />\n \n \n \n\n {update ? (\n \n ) : (\n ''\n )}\n \n \n
\n
\n \n {'Chat'}\n theme.palette.grey[500],\n }}>\n \n {conversation.map((itm, index) => {\n return (\n \n );\n })}\n \n \n \n \n \n
\n );\n};\n\nexport default ChatGroupManagement;\n","\nimport { func } from 'prop-types';\nimport configData from './config.json'\nimport axiosInstance from './axios';\nimport axios from 'axios';\n\nexport const getUser = ()=>{\n if(localStorage.getItem('User')){\n let data = JSON.parse((localStorage.getItem('User')))\n return {'accessToken' : data['accessToken'] , \n 'refreshToken': data['refreshToken'] , \n 'user-name': data['user-name'] , \n 'role': data['role'] , \n 'full_name': data['full_name'],\n 'email': data['email']}\n }\n return null;\n};\n\n\n\nexport function handlePhoneChange(val, setPhoneNumber) {\n if (!val) setPhoneNumber(val);\n const curVal = val.replace(/[^\\d]/g, '');\n const cvLength = curVal.length;\n if (cvLength < 4) setPhoneNumber(curVal);\n else if (cvLength < 7) setPhoneNumber(`(${curVal.slice(0, 3)}) ${curVal.slice(3)}`);\n else setPhoneNumber(`(${curVal.slice(0, 3)}) ${curVal.slice(3, 6)}-${curVal.slice(6, 10)}`);\n }\n\n\nexport const clearState = ()=>{\n localStorage.removeItem('User');\n}\n\nexport const setUserAuth = ()=>{\n const currentuser = getUser()\n localStorage.setItem('AT', currentuser['accessToken'])\n localStorage.setItem('RT', currentuser['refreshToken'])\n}\n\nexport function uuidv4() {\n return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>\n ((c ^ crypto.getRandomValues(new Uint8Array(1))[0]) & (15 >> (c / 4))).toString(16)\n );\n}\n\nexport function jwtDecode (token) {\n var base64Url = token.split('.')[1];\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n\n return JSON.parse(jsonPayload);\n};\n\nexport function emailValidation(email){\n const regex = /^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/g;\n if(!email || regex.test(email) === false){\n return false;\n }\n return true;\n}\n\nexport function passwordStrength(pass_val){\n var strongRegex = new RegExp(\"^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\\\W).*$\", \"g\");\n\n var mediumRegex = new RegExp(\"^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$\", \"g\");\n \n var okRegex = new RegExp(\"(?=.{6,}).*\", \"g\");\n if(pass_val.length < 6 )\n {\n return 'invalid';\n }\n if(okRegex.test(pass_val) === false){\n return 'weak'\n }else if(strongRegex.test(pass_val)){\n return 'strong'\n }else if(mediumRegex.test(pass_val)){\n return 'medium';\n }else{\n return 'invalid';\n }\n}\n\nexport function GetEndPoint(type = \"\"){\n if(type == \"storage\"){\n return \"https://ejcoremedia.blob.core.windows.net\"\n }\n if(window.location.origin === 'http://localhost:3000' || window.location.origin === 'http://127.0.0.1:3000'){\n return configData['endpoint-local'];\n }\n else if (window.location.origin === 'https://ejapplication-nonprod.azurewebsites.net'){\n return configData['endpoint-stage'];\n }\n return configData['endpoint'];\n}\n\nexport function GetProgramMode(){\n if(window.location.origin === 'http://localhost:3000' || window.location.origin === 'http://127.0.0.1:3000'){\n return 'local';\n }\n else if (window.location.origin === 'https://ejapplication-nonprod.azurewebsites.net'){\n return 'stage';\n }\n return 'prod';\n}\n\nexport function GetFront(){\n return window.location.origin;\n}\n\nexport async function GetStatus(type){\n const respons = await axiosInstance.get('maevent/getstatus/'+type)\n if(respons){\n return respons.data\n }\n return undefined\n}\n\nexport function isImage(url) {\n return /\\.(jpg|jpeg|png|webp|avif|gif|svg)$/.test(url);\n }\n\nexport function AcceptedImage(file){\n if(file){\n if(file.name.length > 99){\n return { \"state\": false, \"message\": \"File Name is too long please rename your file before Upload.\" };\n }\n const support_extention = ['jpg', 'jpeg', 'png']\n const fileParts = file.name.split('.')\n const extentions = fileParts[fileParts.length-1].toLowerCase()\n const size = (file.size / 1024 / 1024).toFixed(2);\n if(support_extention.includes(extentions)){\n if(size > 2){\n return { \"state\": false, \"message\": \"File size should be less than 2 MB current file have \"+ (file.size / 1024 / 1024).toFixed(2) + \" MB.\" };\n }\n return {\"state\":true , \"img\": URL.createObjectURL(file)};\n }\n return {\"state\":false, \"message\": \"Extension is not acceptable.\"};}\n return {\"state\":false, \"message\": \"Select a File.\"};\n\n}\n\nexport function GetEmailContent(type){\n const emails = {\n \"CreatesAccount\": {\n \"Condition\": \"Activist Applicant creates account on EJ Webapp\",\n \"Medium\": \"Email\",\n \"Recipient\": \"Activist Applicant\",\n \"Message\":\"\"\n },\n \"ActivistExam\": {\n \"Condition\": \"\",\n \"Medium\": \"\",\n \"Recipient\": \"\",\n \"Message\":\"\"\n },\n \"ActivistApplicationConfirmed\":{\n \"Condition\": \"\",\n \"Medium\": \"\",\n \"Recipient\": \"\",\n \"Message\":\"\"\n },\n \"ActivistAssignToCoach\":{\n \"Condition\": \"\",\n \"Medium\": \"\",\n \"Recipient\": \"\",\n \"Message\":\"\"\n }\n }\n}\n\nexport function GetImageUrl(username,image_name, endpoint_type = 'storage'){\n console.log(image_name);\n return GetEndPoint(endpoint_type)+'/media/'+ username+'-'+ image_name\n}\n\nexport async function SendAutoEmail(triggerName, email , parameters = [])\n{\n await axiosInstance.get(\"maevent/autotrigger/email/\"+triggerName).then((email_trigger)=>{\n let body = email_trigger.data['Body']\n \n parameters.map((element)=>{\n body = body.replace(element['param'], element['value'])\n })\n // make sure it is active before we send the email\n if(email_trigger.data['active'] === true){\n let message = {\n 'subject': email_trigger.data['Title'],\n 'message': body,\n 'title': email_trigger.data['Title'],\n 'emails': [email]\n }\n axiosInstance.post('maevent/email/send/', message)\n }\n })\n}\n\nexport async function GetUserConnection(user_name,role){\n let results = undefined\n await axiosInstance.get(\"user/match/get/connectionv2/\"+user_name+\"/\"+role).then((response)=>{\n if(response!== undefined){\n results = response.data[0]\n }\n })\n return results;\n}\n\nexport async function SendAutoEmailV2(triggerName, emails , parameters = [])\n{\n \n await axiosInstance.get(\"maevent/autotrigger/email/\"+triggerName).then((email_trigger)=>{\n let body = email_trigger.data['Body']\n \n parameters.map((element)=>{\n body = body.replace(element['param'], element['value'])\n })\n // make sure it is active before we send the email\n if(email_trigger.data['active'] === true){\n let message = {\n 'subject': email_trigger.data['Title'],\n 'message': body,\n 'title': email_trigger.data['Title'],\n 'emails': emails\n }\n axiosInstance.post('maevent/email/send/', message)\n }\n })\n}\n\nexport function fromISO(iso) {\n const now = new Date()\n \n const date = new Date(iso);\n const daysBetween = ( now - date) / (1000 * 60 * 60 * 24);\n \n const convertedDate = new Date(date.getTime() - 14400000);\n const convertedISO = convertedDate.toISOString();\n const month = convertedISO.slice(5, 7);\n let result = \"\";\n \n switch (month) {\n case \"01\":\n result += \"Jan \";\n break;\n case \"02\":\n result += \"Feb \";\n break;\n case \"03\":\n result += \"Mar \";\n break;\n case \"04\":\n result += \"Apr \";\n break;\n case \"05\":\n result += \"May \";\n break;\n case \"06\":\n result += \"Jun \";\n break;\n case \"07\":\n result += \"Jul \";\n break;\n case \"08\":\n result += \"Aug \";\n break;\n case \"09\":\n result += \"Sep \";\n break;\n case \"10\":\n result += \"Oct \";\n break;\n case \"11\":\n result += \"Nov \";\n break;\n case \"12\":\n result += \"Dec \";\n break;\n }\n \n const day = convertedISO.slice(8, 10);\n if (day.slice(0, 1) === \"0\") {\n result += day.slice(1, 2);\n } else {\n result += day;\n }\n \n const hour = convertedISO.slice(11, 13);\n let Time = \"\";\n let isAM = true;\n if (hour === 0) {\n Time += \" 12:\";\n } else if (hour < 12) {\n Time += \" \" + hour + \":\";\n } else {\n Time += \" \" + (hour - 12) + \":\";\n isAM = false;\n }\n \n Time += convertedISO.slice(14, 16);\n \n if (isAM) {\n Time += \" AM\";\n } else {\n Time += \" PM\";\n }\n if (daysBetween < 1)\n {\n return \"Today \" + Time\n }\n if (daysBetween > 1 && daysBetween < 2){\n return \"Yesterday \" + Time\n }\n \n \n return result + Time;\n }\n\n\n// export function rm_empty_dict_entries (obj) {\n// for (var propName in obj) {\n// if (obj[propName] === '' || obj[propName] === undefined || obj[propName] === null) {\n// delete obj[propName];\n// }\n// }\n// return obj;\n// };","// Layout and colors CONSTANTS\nexport const LIGHT_THEME = 'LIGHT_THEME';\nexport const DARK_THEME = 'DARK_THEME';\nexport const THEME_COLOR = 'THEME_COLOR';\nexport const NAVBAR_BG = 'NAVBAR_BG';\nexport const SIDEBAR_BG = 'SIDEBAR_BG';\nexport const DIRECTION = 'DIRECTION';\nexport const BLUE_THEME = 'BLUE_THEME';\nexport const GREEN_THEME = 'GREEN_THEME';\nexport const RED_THEME = 'RED_THEME';\nexport const BLACK_THEME = 'BLACK_THEME';\nexport const PURPLE_THEME = 'PURPLE_THEME';\nexport const INDIGO_THEME = 'INDIGO_THEME';\nexport const ORANGE_THEME = 'ORANGE_THEME';\n// CHAT CONSTANTS\nexport const FETCH_CHAT_SUCCESS = 'FETCH_CHAT_SUCCESS';\nexport const SELECTED_CHAT = 'SELECTED_CHAT';\nexport const SEARCH_USER = 'SEARCH_USER';\nexport const MSG_SUBMIT = 'MSG_SUBMIT';\n\n// NOTES CONSTANTS\nexport const SELECTED_NOTES = 'SELECTED_NOTES';\nexport const SEARCH_NOTES = 'SEARCH_NOTES';\nexport const UPDATE_NOTE = 'UPDATE_NOTE';\nexport const DELETE_NOTE = 'DELETE_NOTE';\nexport const ADD_NOTE = 'ADD_NOTE';\nexport const FETCH_NOTES_SUCCESS = 'FETCH_NOTES_SUCCESS';\n\n// EMAIL CONSTANTS\nexport const STAR_EMAIL = 'STAR_EMAIL';\nexport const IMPORTANT_EMAIL = 'IMPORTANT_EMAIL';\nexport const OPEN_EMAIL = 'OPEN_EMAIL';\nexport const TRASH_EMAIL = 'TRASH_EMAIL';\nexport const ASSIGN_FOLDER = 'ASSIGN_FOLDER';\nexport const ASSIGN_LABEL = 'ASSIGN_LABEL';\nexport const SET_SELECTED_EMAIL = 'SET_SELECTED_EMAIL';\nexport const FILTER_EMAIL = 'FILTER_EMAIL';\nexport const SET_EMAIL_VISIBILITY_FILTER = 'SET_EMAIL_VISIBILITY_FILTER';\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport createCache from '@emotion/cache';\nimport { CacheProvider } from '@emotion/react';\nimport stylisRTLPlugin from 'stylis-plugin-rtl';\n\nconst styleCache = () =>\n createCache({\n key: 'rtl',\n prepend: true,\n // We have to temporary ignore this due to incorrect definitions\n // in the stylis-plugin-rtl module\n // @see https://github.com/styled-components/stylis-plugin-rtl/issues/23\n stylisPlugins: [stylisRTLPlugin],\n });\n\nconst RTL = (props) => {\n const { children, direction } = props;\n\n useEffect(() => {\n document.dir = direction;\n }, [direction]);\n\n if (direction === 'rtl') {\n return {children};\n }\n\n return <>{children};\n};\n\nRTL.propTypes = {\n children: PropTypes.node.isRequired,\n direction: PropTypes.oneOf(['ltr', 'rtl']),\n};\n\nexport default RTL;\n","import { useEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport { BuildTheme } from '../../../assets/global/Theme-variable';\n\nconst ThemeSettings = () => {\n const customizer = useSelector((state) => state.CustomizerReducer);\n const theme = BuildTheme({\n direction: customizer.activeDir,\n theme: customizer.activeTheme,\n });\n useEffect(() => {\n document.dir = customizer.activeDir;\n }, [customizer]);\n\n return theme;\n};\nexport default ThemeSettings;\n","import React from 'react';\nimport './spinner.css';\n\nconst Spinner = () => (\n
\n
\n
\n
\n
\n
\n
\n);\nexport default Spinner;\n","import React, { Suspense } from 'react';\n\n// project imports\nimport Spinner from '../../../views/spinner/Spinner';\n\n// ===========================|| LOADABLE - LAZY LOADING ||=========================== //\n\nconst Loadable = (Component) => (props) =>\n (\n }>\n \n \n );\n\nexport default Loadable;\n","import React, { lazy } from 'react';\nimport { Navigate } from 'react-router-dom';\nimport Loadable from '../layouts/full-layout/loadable/Loadable';\nimport ChatGroupManagement from '../views/apps/chatroom/ChatGroupManagement';\nimport { getUser } from '../api/utils';\n\n/* ***Layouts**** */\nconst FullLayout = Loadable(lazy(() => import('../layouts/full-layout/FullLayout')));\nconst BlankLayout = Loadable(lazy(() => import('../layouts/blank-layout/BlankLayout')));\n/* ***End Layouts**** */\n\nconst Error = Loadable(lazy(() => import('../views/authentication/Error')));\nconst Login = Loadable(lazy(() => import('../views/authentication/Login')));\nconst Logout = Loadable(lazy(()=> import('../views/authentication/Logout')))\nconst Register = Loadable(lazy(() => import('../views/authentication/Register')));\nconst ResetPassword = Loadable(lazy(() => import('../views/authentication/ResetPassword')));\nconst ResetPasswordChange = Loadable(lazy(() => import('../views/authentication/ResetPasswordChange')));\n\n\n/* ****Pages***** */\nconst Dashboard = Loadable(lazy(() => import('../views/dashboards/Dashboard')));\n\n/* ****Apps***** */\nconst ChatRooms = Loadable(lazy(()=> import('../views/apps/chatroom/ChatRoom')))\nconst CharGroupManagement = Loadable(lazy(()=> import('../views/apps/chatroom/ChatGroupManagement')))\nconst FileManager = Loadable(lazy(()=> import('../views/apps/filemanager/FileManager')))\nconst SharedWithMe = Loadable(lazy(()=> import('../views/apps/filemanager/FileSharedwithme')))\nconst UserManager = Loadable(lazy(()=> import('../views/apps/usermanagement/UserManagement')))\nconst UserEdit = Loadable(lazy(()=> import('../views/apps/usermanagement/UserEdit')))\nconst UserBroadCastMessage = Loadable(lazy(()=> import('../views/apps/usermanagement/UserBroadCastMessage')))\nconst UserEmail = Loadable(lazy(()=> import('../views/apps/usermanagement/UserEmail')))\nconst UserAutoTrigger = Loadable(lazy(()=> import('../views/apps/usermanagement/UserAutoTrigger')))\nconst UserAdd = Loadable(lazy(()=> import('../views/apps/usermanagement/UserAdd')))\nconst EJMaching = Loadable(lazy(()=> import('../views/apps/ej-maching/EJMaching')))\nconst EJMachingEdit = Loadable(lazy(()=> import('../views/apps/ej-maching/EJMatchingEdit')))\nconst Calendar = Loadable(lazy(() => import('../views/apps/calendar/ACalendar')));\nconst EJExam = Loadable(lazy(() => import('../components/apps/Exam/ExamQuestions/examQuestions')));\nconst EJApplication = Loadable(lazy(() => import('../components/apps/UserRole/userRoleBody/userRoleBody')));\n\n\n/* ****Routes***** */\n\nconst Router = [\n {\n path: '',\n element: ,\n children: [\n { path: '/', element: getUser() === null ? : },\n { path: '/home', exact: true, element: },\n { path: '/chatrooms', element: },\n { path: '/chatrooms/groupmanager', element: },\n { path: '/filemanager/upload', element: },\n { path: '/filemanager/sharedwithme', element: },\n { path: '/usermanager', element: },\n { path: '/usermanager/edit', element: },\n { path: '/usermanager/add', element: },\n { path: '/usermanager/broadcast', element: },\n { path: '/usermanager/email', element: },\n { path: '/usermanager/autotrigger', element: },\n { path: '/ej/matching', element: },\n { path: '/ej/matching/edit', element: },\n { path: '/calendar', element: },\n { path: '/ej/exam', element: },\n { path: '/ej/application', element: },\n { path: '*', element: },\n ],\n },\n {\n path: 'auth',\n element: ,\n children: [\n { path: '404', element: },\n { path: 'login', element: },\n { path: 'logout', element: },\n { path: 'register', element: },\n { path: 'reset-password', element: },\n { path: 'reset-password-change', element: },\n { path: '*', element: },\n ],\n },\n];\n\nexport default Router;\n","import React from 'react';\nimport { useRoutes } from 'react-router-dom';\nimport { CssBaseline, ThemeProvider } from '@mui/material';\nimport { useSelector } from 'react-redux';\nimport RTL from './layouts/full-layout/customizer/RTL';\nimport ThemeSettings from './layouts/full-layout/customizer/ThemeSettings';\nimport Router from './routes/Router';\nimport 'react-perfect-scrollbar/dist/css/styles.css';\n\nconst App = () => {\n const routing = useRoutes(Router);\n const theme = ThemeSettings();\n const customizer = useSelector((state) => state.CustomizerReducer);\n return (\n \n \n \n {routing}\n \n \n );\n};\n\nexport default App;\n","/* eslint-disable */\n/* @ts-nocheck */\n\n// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA',\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.',\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","const reportWebVitals = (onPerfEntry) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import { createStore, applyMiddleware } from 'redux';\nimport thunk from 'redux-thunk';\nimport { composeWithDevTools } from 'redux-devtools-extension';\nimport RootReducers from './Rootreducers';\n\n// eslint-disable-next-line import/prefer-default-export\nexport function configureStore(InitialState) {\n const Store = createStore(\n RootReducers,\n InitialState,\n composeWithDevTools(applyMiddleware(thunk)),\n );\n return Store;\n}\n","import { THEME_COLOR, NAVBAR_BG, SIDEBAR_BG, DIRECTION, DARK_THEME } from '../constants';\n\nconst INIT_STATE = {\n activeDir: 'ltr',\n activeNavbarBg: '#0b70fb', // This can be any color,\n activeSidebarBg: '#ffffff', // This can be any color\n activeMode: 'light', // This can be light or dark\n activeTheme: 'ORANGE_THEME', // BLUE_THEME, GREEN_THEME, RED_THEME, BLACK_THEME, PURPLE_THEME, INDIGO_THEME, ORANGE_THEME\n SidebarWidth: 240,\n};\n\nconst CustomizerReducer = (state = INIT_STATE, action) => {\n switch (action.type) {\n case NAVBAR_BG:\n return {\n ...state,\n activeNavbarBg: action.payload,\n };\n case DARK_THEME:\n return {\n ...state,\n activeMode: action.payload,\n };\n case SIDEBAR_BG:\n return {\n ...state,\n activeSidebarBg: action.payload,\n };\n case THEME_COLOR:\n return {\n ...state,\n activeTheme: action.payload,\n };\n case DIRECTION:\n return {\n ...state,\n activeDir: action.payload,\n };\n\n default:\n return state;\n }\n};\n\nexport default CustomizerReducer;\n","import { combineReducers } from 'redux';\nimport CustomizerReducer from './customizer/CustomizerReducer';\n// import chatReducer from './chats/ChatReducer';\n// import notesReducer from './notes/NotesReducer';\n// import emailReducer from './email/EmailReducer';\n\nconst RootReducers = combineReducers({\n CustomizerReducer,\n});\n\nexport default RootReducers;\n","import React, { Suspense } from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport { Provider } from 'react-redux';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport reportWebVitals from './reportWebVitals';\nimport Spinner from './views/spinner/Spinner';\nimport { AuthProvider} from './context/AuthProvider'\nimport { configureStore } from './redux/Store';\n\nReactDOM.render(\n \n }>\n \n \n \n \n \n \n ,\n document.getElementById('root'),\n);\n\n// If you want to enable client cache, register instead.\nserviceWorker.unregister();\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}