{"version":3,"sources":["config.js","store/authReducer.js","store/customizationReducer.js","store/menuReducer.js","store/breadcrumbReducer.js","store/signalrReducer.js","store/reducer.js","store/index.js","store/constant.js","views/PageUnderConstruction/index.jsx","qubCommon/wijmoHelpers/columnMethods.js","assets/scss/_themes-vars.module.scss","qubCommon/Inputs/CssTextField.jsx","qubCommon/Inputs/RowLabel.jsx","qubCommon/Inputs/ColumnLabel.jsx","qubCommon/helperMethods/dateHelper.js","context/permissionContext.js","hooks/useSettings.jsx","ui-component/cards/MainCard.js","apis/controllers/person.js","common/Conditional/index.jsx","assets/images/qb.png","assets/images/excelIcon.png","apis/axiosInstance.js","assets/images/pdf.png","context/loaderContext.js","hooks/useLoading.js","hooks/bringValue/useBringValue.jsx","context/BringValueContext/components/BringValueToolbar.jsx","context/BringValueContext/components/BringValueGrid.jsx","context/BringValueContext/components/BringValueRejectDialog.jsx","context/BringValueContext/components/BringValueWarningDialog.jsx","context/BringValueContext/bringValueContext.jsx","utils/decode-token.js","apis/controllers/auth.js","hooks/useLogOut.js","assets/images/default-user-image.png","qubCommon/Inputs/TextInput.jsx","qubCommon/helperMethods/inputHelper.js","assets/images/csvIcon.png","qubCommon/Inputs/Checkbox.jsx","context/settingsContext.js","context/userContext.js","store/actions.js","utils/greetings.js","utils/data-url-to-file.js","utils/imgSizesCalc.js","utils/grk2Latin/replaceText.js","utils/grk2Latin/index.js","enums/signalrConnection.js","ui-component/cards/ExplorerCard.js","qubCommon/helperMethods/formatRequest.js","assets/images/no-image-icon.png","qubCommon/Inputs/BringValueInput.jsx","qubCommon/Inputs/DateInput.jsx","qubCommon/Inputs/DateTimeInput.jsx","enums/index.js","ui-component/FullName.js","ui-component/Dialog.js","ui-component/Logo.js","ui-component/PageTitle.jsx","ui-component/cards/CasualCard.js","ui-component/cards/AvatarCard.js","ui-component/cards/StackedBarChartCard.js","context/dialogContext.js","apis/controllers/apiEntities.js","context/SignalR/mobileActionsConnection.jsx","qubCommon/Grids/QubGroupGrid.jsx","qubCommon/wijmoHelpers/convertToMobile.js","qubCommon/qubStyles.js","qubCommon/context/modalContext.jsx","common/BringValueInput/useBringValueInput.jsx","common/BringValueInput/BringValueInput.jsx","common/BringValueInput/index.jsx","constants/appUrls.js","qubCommon/ExplorerToolbar/components/FilesMenu.jsx","qubCommon/helperMethods/fileHelper.js","qubCommon/ExplorerToolbar/components/Criteria/FieldSearchGrid.jsx","qubCommon/ExplorerToolbar/components/Criteria/ValueListGrid.jsx","qubCommon/ExplorerToolbar/components/Criteria/index.jsx","qubCommon/ExplorerToolbar/index.js","ui-component/cards/OptionCard.js","qubCommon/ExplorerToolbar/components/TreeParent/index.jsx","qubCommon/ExplorerToolbar/components/ColumnPicker.jsx","views/dashboard/Users/hooks/usePerson.jsx","utils/date-translate.js","views/dashboard/Search/index.jsx","apis/controllers/club.js","qubCommon/Inputs/Dropdown.jsx","apis/controllers/qform.js","apis/controllers/backoffice.js","apis/controllers/user.js","apis/controllers/transaction.js","apis/controllers/admin.js","apis/controllers/applications.js","apis/controllers/generic.js","apis/controllers/emailTool.js","apis/controllers/dashboard.js","apis/controllers/validator.js","apis/controllers/notifications.js","apis/controllers/common.js","apis/controllers/translation.js","apis/controllers/devices.js","apis/reportsAxiosInstance.js","apis/controllers/reports.js","apis/controllers/payment.js","assets/TermsOfUse.pdf","ui-component/person/PersonInfo.jsx","hoc/components/PermissionDenied.js","hooks/useBreadcrumbs.js","assets/GDPR_TKD.pdf","ui-component/cards/AuthFooter.js","assets/Help.pdf","assets sync /^/.*$","assets/AthletesHelp.pdf","assets/ClubsHelp.pdf","assets/OfficialsHelp.pdf","assets/PaymentsHelp.pdf","assets/Terms.pdf","assets/images/auth/auth-blue-card.svg","assets/images/auth/auth-pattern-dark.svg","assets/images/auth/auth-pattern.svg","assets/images/auth/auth-purple-card.svg","assets/images/auth/auth-signup-blue-card.svg","assets/images/auth/auth-signup-white-card.svg","assets/images/icons/earning.svg","assets/images/icons/social-google.svg","assets/images/logo copy.png","assets/images/logo-dark.svg","assets/images/logo-white.svg","assets/images/logo.png","assets/images/logo.svg","assets/images/users/user-round.svg","themes/palettes/light.module.scss","themes/palettes/dark.module.scss","themes/palettes/warm.module.scss","themes/palettes/relax.module.scss","serviceWorker.js","layout/MainLayout/LogoSection/index.js","layout/MainLayout/Header/ProfileSection/index.js","layout/MainLayout/Header/LanguageSection/Wrapper.js","layout/MainLayout/Header/LanguageSection/index.js","layout/MainLayout/Header/ImpersonationSection/index.js","layout/MainLayout/Header/BreadcrumbSection/index.js","layout/MainLayout/Header/FullNameSection/index.jsx","layout/MainLayout/Header/index.js","layout/MainLayout/Sidebar/MenuList/NavItem/index.js","layout/MainLayout/Sidebar/MenuList/NavCollapse/index.js","layout/MainLayout/Sidebar/MenuList/NavGroup/index.js","layout/MainLayout/Sidebar/MenuList/index.js","ui-component/CustomNavItem.jsx","layout/MainLayout/Sidebar/index.js","layout/MainLayout/index.js","views/verification/index.js","hooks/useMenu.js","hoc/index.js","ui-component/wrappers/index.js","ui-component/layouts/index.js","layout/MinimalLayout/index.js","common/CommonIndex.jsx","routes/MainRoutes.js","layout/PublicLayout/components/LanguageSelector.jsx","layout/PublicLayout/components/PublicFooter.jsx","layout/PublicLayout/PublicLayout.jsx","layout/PublicLayout/index.jsx","routes/AuthenticationRoutes.js","routes/index.js","themes/palette.js","themes/typography.js","themes/presets.js","themes/index.js","themes/compStyleOverride.js","layout/NavigationScroll.js","i18n/index.js","views/splashScreen/index.jsx","App.js","index.js","hooks/useMe.js"],"names":["config","basename","defaultPath","fontFamily","language","borderRadius","initialState","isLoggedIn","isEmailVerified","token","authReducer","state","action","type","actionTypes","payload","capitalizeInputFields","opened","theme","customizationReducer","isOpen","lockMenu","menuItems","loading","menuReducer","id","breadcrumbs","info","breadcrumbReducer","isDevicePaired","signalrReducer","reducer","combineReducers","customization","auth","menu","signalr","persistConfig","key","storage","whitelist","persistedReducer","persistReducer","store","createStore","window","__REDUX_DEVTOOLS_EXTENSION__","persistor","persistStore","gridSpacing","drawerWidth","PageUnderConstruction","t","useTranslation","justifyContent","alignItems","container","sx","height","item","xs","sm","boxShadow","background","width","p","display","direction","size","paragraph","marginLeft","fontSize","color","colors","grey700","fontWeight","mb","wijmoDateFormat","panel","r","c","cell","dateColumn","time","dateFormat","format","columns","binding","cellType","innerHTML","date","Date","console","log","wijmoExtendLastColumn","flex","groups","formatedColumns","onInit","rowHeaderChange","columnWidths","forEach","column","group","children","fldName","Number","isNaN","parseInt","colWidth","includes","maxRealIndex","maxVisibleIndex","colWidthSum","col","visibleIndex","index","visible","clientSize","wijmoStyleGrid","columnStyles","cellStyles","style","colCss","getColumn","cssClass","rows","dataItem","rowCss","addClass","module","exports","CssTextField","styled","TextField","shouldForwardProp","prop","fixedPadding","disabledStyling","hasBackground","focusedStyling","hoverStyling","darkMode","palette","mode","backgroundColor","default","borderColor","grey","hoverBorderColor","primary","main","focusedBackgroundColor","focusedBorderColor","disabledBackgroundColor","paper","disabledBorderColor","errorBackgroundColor","errorBorderColor","labelColor","text","secondary","focusedTextColor","common","black","padding","WebkitTextFillColor","disabled","border","RowLabel","label","labelWidth","marginRight","align","fontStyle","ColumnLabel","containsOnlyNumbers","str","test","dateValuesArray","string","array","error","split","value","isValidDate","year","month","day","d","getFullYear","getMonth","getDate","decideYear","length","formatToShowDate","m","y","defaultValue","dateInUse","dateFrom","dateTo","dateParsed","yearParsed","toString","inDateRange","validTime","timeArray","formatToShowDateTime","datePart","timePart","dateTimeFormat","defaultDate","defaultTime","dateTimeValuesArray","timeParsed","setHours","match","Context","createContext","PermissionProvider","whoami","useMe","Provider","permissions","Ability","Can","createContextualCan","Consumer","useSettings","res","useSettingsContext","headerSX","mr","MainCard","forwardRef","ref","content","contentClass","contentSX","darkTitle","shadow","title","stickyTitle","others","useTheme","position","top","zIndex","variant","className","displayName","personApi","post","path","params","options","cancelToken","axiosInstance","then","data","catch","err","response","get","updateAvatar","a","getAvatar","getFiles","downloadFile","removeAvatar","getPerson","getPersonFromUser","getRecommendedRoles","inviteUser","reinvite","activateUserFromInvitation","createTempUser","createOrUpdateFunctions","deleteFunction","validateB4Submit","submitRecord","approveRecord","rejectRecord","removeFile","getUserClub","getFunctions","getPersonByFunctionId","savePerson","adminSavePerson","getUserPersonFunction","updateUserPersonFunction","Conditional","condition","hide","hidden","axios","create","withCredentials","baseURL","process","interceptors","request","use","Object","keys","moment","getState","headers","Authorization","originalRequest","message","errorObject","status","Promise","reject","_retry","dispatch","LOGOUT","refreshToken","refreshResponse","REFRESH_TOKEN","LoaderContext","LoaderProvider","useState","setLoading","useLoading","useContext","useBringValue","openDialog","setOpenDialog","dataKey","setDataKey","setTitle","filters","setFilters","restData","setRestData","searchFieldOptions","setSearchFieldOptions","operatorsOptions","setOperatorsOptions","searchField","setSearchField","searchValue","setSearchValue","searchOperator","setSearchOperator","searchSecondaryValue","setSearchSecondaryValue","secondValueField","setSecondValueField","openRejectDialog","setOpenRejectDialog","acceptWarning","setAcceptWarning","rejectReason","setRejectReason","openWarningDialog","setOpenWarningDialog","warningReason","setWarningReason","setColumns","groupColumns","setGroupColumns","gridData","setGridData","itemCount","setItemCount","dataLoading","setDataLoading","showRowHeader","setShowRowHeader","showColHeaderGroup","setShowColHeaderGroup","pageSizeOptions","setPageSizeOptions","pageSize","setPageSize","cellCssMapping","setCellCssMapping","operators","operator","useOperators","useRef","gridRef","getOperators","selectedItem","find","field","fldSearchName","dataType","availableOptions","filter","option","useEffect","onSubmit","fieldSearchParams","value1","value2","apiEntities","getData","parameters","bringValueKey","critFldsSearch","ReturnedRecords","TotalRecords","gridInitialized","stickyHeaders","selectionMode","keyActionEnter","isReadOnly","current","hostElement","addEventListener","e","ht","hitTest","pageX","pageY","view","grid","collectionView","currentItem","IsBvWarning","BvWarningReason","onSelect","IsBvDisabled","BvDisabledReason","code","preventDefault","stopPropagation","resizedColumn","addHandler","s","fldWidth","formatItem","row","selectItem","select","criteria","rejectDialog","warningDialog","BringValueToolbar","originalToolbarProps","Grid","Select","onChange","event","target","map","MenuItem","onKeyDown","Button","onClick","BringValueGrid","props","rest","gridColumns","setGridColumns","helpCols","push","gridLoadedRows","child","columnStyle","object","fldNameCss","itemFormatter","focus","Box","QubGroupGrid","minHeight","initialized","loadedRows","headersVisibility","itemsSource","autoSizeMode","alternatingRowStep","header","BringValueRejectDialog","open","setOpen","Dialog","fullWidth","DialogTitle","DialogContent","Stack","spacing","Typography","whiteSpace","DialogActions","BringValueWarningDialog","BringValueContext","BringValueProvider","enqueueSnackbar","useSnackbar","openBringValue","resParams","fieldSearch","fldTitle","isVisible","fldFormat","colAlign","onClose","maxWidth","gap","webPageKey","excelHandleClick","FlexGridXlsxConverter","saveAsync","includeColumnHeaders","includeStyles","hideCriteria","setToolbarLoading","toolbarProps","csvFiles","pdfFiles","excelFiles","rptId","rptTitle","hideAddNew","mx","useQubBringValue2","bringValueContext","Error","jwt","authApi","login","username","password","register","resetPasswordEmail","email","resetPassword","newPassword","sendVerificationEmail","emailTo","ValidateVerificationPin","userIdentifier","getUserHasRoles","updateUserHasRoles","getUserPermissionTree","updateUserPermissionTree","getRolePermissionTree","updateRolePermissionTree","getMe","logout","changeUsernameRequest","verifyUsernameRequest","changePasswordRequest","useLogout","useDispatch","queryClient","useQueryClient","authState","useSelector","navigate","useNavigate","useCallback","RESET_MENU","cancelQueries","TextInput","useFormContext","errors","formState","setValue","fieldsVariant","name","rules","rowDirection","innerRef","blurFn","tooltip","autoCapitalize","changeFn","startAdornment","endAdornment","other","Tooltip","inputProps","toLocaleUpperCase","replace","toLocaleLowerCase","toUppercase","InputProps","disableUnderline","InputAdornment","onBlur","helperText","required","InputLabelProps","FormCheckbox","control","useController","fieldState","checked","userSelect","SettingsContext","SettingsProvider","setData","fetchData","generic","getSettings","UserContext","UserProvider","memo","meQuery","useQuery","person","organization","formatedPermissions","dbPermission","subject","abilities","defineAbility","can","element","retry","refetchInterval","minutes","refetch","SET_MENU","MENU_OPEN","SET_FONT_FAMILY","SET_BORDER_RADIUS","SET_LANGUAGE","SET_CAPITALIZE_INPUT_FIELDS","SET_THEME","LOGIN","VERIFY_EMAIL","LOCK_MENU","STORE_MENU","SET_BREADCRUMBS","RESET_BREADCRUMBS","SIGNALR_DEVICE_PAIRED","SIGNALR_DEVICE_UNPAIRED","greetings","getHours","propTypes","dataURLtoFile","dataurl","filename","arr","mime","bstr","atob","n","u8arr","Uint8Array","charCodeAt","File","imgSizesCalc","aspect","imgWidth","imgHeight","cropWidth","cropHeight","defaultImg","require","stringToSet","o","i","charAt","grCaps","replacements","greek","greeklish","fivi","bi","fixCase","mirror","toUpperCase","substr","grk2Latin","pop","replacement","grLetters","expression","RegExp","join","greekSet","viSet","$0","toLowerCase","c1","c2","toGreeklish","toUpper","ON","invalidateQuery","actionResponse","devicePaired","deviceUnpaired","ExplorerCard","maxHeight","overflowY","flexGrow","flexDirection","formatCritFldSearch","helpData","defaultOperator","result","parse","formatValuesListSearch","parent","isSelected","containsTrue","helpResult","parentWithChildren","parentId","BringValueInput","onClear","getValues","handleSelect","Id","hanleBringValue","onKeyPress","handleKeyPress","placeholder","IconButton","tabIndex","Search","CircularProgress","cursor","preventExecOnAutocomplete","nativeEvent","inputType","handleAutocomplete","DateInput","locked","cmpyrsValidation","hasReset","input","setInput","datePickerValue","setDatePickerValue","dateRef","createRef","CustomDatePicker","DateRangeSharp","shouldDirty","datePicked","popperProps","strategy","selected","eValid","eFormatted","handleDatePickerChange","customInput","showYearDropdown","DateTimeInput","ThemeProvider","dateTimePicked","margin","slice","ProjectTables","Organization","Person","OrganizationCouncil","TransHeader","Application","PersonFunction","EmailMessages","Competition","CompetitionDetails","AthletesParticiaption","Sites","FileTypes","png","pdf","jpg","FileTypesConfigDataKeys","FunctionId","EntityTypeId","ApplicationTypeId","Competitions","ApplicationTypeId_FunctionId","EmailFilters","Sent","Drafts","EntityType","Federation","RegionalCommittee","Union","Club","Department","Athletes","Coach","Refereed","Administration","Stuff","ApplicationType","AthleteNew","AthleteClubRenewal","AthleteTransfer","AthleteNewHealthCertificate","AthleteNewBooklet","AthleteNewCard","OfficalNew","ContractRenewal","ClubNew","ClubUpdate","ClubCertificates","Renewal","OfficalNewDegree","QueryStatus","idle","success","TransactionStatus","submitted","paid","canceled","rechecked","pendingPayment","pending","PaymentMethod","card","bank","FullNameBaseComponent","firstName","lastName","matchUpMd","useMediaQuery","breakpoints","up","textVariant","withSkeleton","Skeleton","CustomDialog","onAccept","meta","btnDisableOnClick","buttonsDisabled","setButtonsDisabled","debouncedOnAccept","useMemo","debounce","debouncedOnClose","handleClose","DialogContentText","description","autoFocus","cancel","Logo","dimensions","logo","link","styles","backgroundImage","backgroundSize","defaultProps","PageTitle","CasualCard","handleClick","Label","MenuList","Data","pl","pr","Value","Datakey","AvatarCard","avatar","handleViewProfile","overflow","mt","Avatar","src","bgcolor","userName","userId","Divider","orientation","ml","personFunction","organizationName","flexWrap","roles","Chip","StackedBarChartCard","chartInitialized","dataset","setDataset","classes","setClasses","maxObject","reduce","b","labels","undefined","translatedDataset","datum","navUrl","nav","chartType","bindingX","stacking","elem","wjProperty","reversed","DialogContext","useDialog","dialogContext","handleSubmit","form","reset","acceptButtonTitle","cancelButtonTitle","validationSchema","render","watchField","setDescription","setAcceptButtonTitle","setCancelButtonTitle","setFormJSON","setValidationSchema","watch","mutateOnClose","watchersUnsubscribe","mutateRender","mutateOnAccept","setForm","formJSON","DialogProvider","setRender","watchers","watcher","unsubscribe","resolver","useYupValidationResolver","useForm","methods","callBack","watchFunction","apiEntitiesApi","MobileConnectionContext","MobileConnectionProvider","url","SIGNALR_PATH","connection","HubConnectionBuilder","configureLogging","LogLevel","Information","withUrl","accessTokenFactory","withAutomaticReconnect","build","client","handleOnInvalidateQuery","invalidateQueries","handleOnDeviceUnpaired","start","on","stop","useMobileConnection","mobileConnectionContext","editableColumns","allowResizing","itemsSourceChanged","columnGroup","grpDescr","grpId","cellTemplates","ct","template","ctx","convertGridToMobile","visibleColumns","formatColumns","mobileData","formatedMobileGridData","newObj","allData","htmlString","formatedRow","supportLine","styleExplorer","marginTop","ModalImages","Warning","Question","Info","ModalButtons","OkCancel","YesNo","YesNoCancel","OK","Yes","No","Cancel","ModalContext","ModalImage","imageType","ModalProvider","setMessage","setImageType","defaultButton","setDefaultButton","isGrid","setIsGrid","popupRef","buttons","setButtons","openModal","callback","buttonsArray","command","getbuttonsArray","show","offsetHeight","left","offsetWidth","openGrid","centerPopup","popup","isDraggable","isResizable","fadeOut","fadeIn","hideTrigger","marginBottom","autoSizeColumns","overflowWrap","useModal","modalContext","useBringValueInput","runOnInit","defaultIdValue","defaultDescriptionValue","additionalFilters","onSelected","onNotFound","paramsRef","handleBringValue","backoffice","itemsCount","items","isFunction","handleSelectBringValue","primaryKeyName","bringValue","getParams","initialFetch","idValue","operation","registerProps","descriptionRegisterProps","clear","gridProps","getGrid","handleOnEnter","autoComplete","shrink","React","FilesMenu","anchorEl","setAnchorEl","files","fileMenuType","handleFilePick","Boolean","FileMenuIcon","excel","alt","csv","Menu","MenuListProps","file","ListItemIcon","openPdf","blob","Blob","document","createElement","href","URL","createObjectURL","setAttribute","body","appendChild","click","FieldSearchGrid","gridRefs","handleDirtyCheck","operatorMap","wjcGrid","getDisplayValues","rowDataItem","el","showMarquee","onSelectionChanged","isRowEditable","isEmptyOrNull","onCellEditEnded","editingCol","setCellData","extraRow","allowMerging","columnHeaders","splice","colIndex","toggleClass","rowHeaders","textContent","getCellData","prepareCellForEdit","rootEl","wjInput","activeEditor","parentCell","parentElement","insertBefore","wjcCore","cellEditEnding","cellEditEndHandler","s2","args","removeHandler","dispose","autoSizeRows","fieldSearchLoadedRows","Cell","dataMap","minWidth","isRequired","ValueListGrid","finishEditing","level","dirtyChildren","hasChildren","curRowIdx","childRow","cells","classToRemove","isCollapsed","classToAdd","span","querySelector","collapseGroupsToLevel","refreshCells","ListBox","childItemsPath","Criteria","tab","setTab","popupInitialized","criteriaRef","submit","dirtyValuesList","dirtyFieldSearch","opacity","critValuesList","crit","ButtonGroup","dark","light","ToolbarExplorer","menuFiles","setMenuFiles","filesMenu","setFilesMenu","setFileMenuType","setDirtyValuesList","setDirtyFieldSearch","mobileGridRef","rptRequestVars","newTitle","newUrl","colPopupRef","criteriaPopupRef","initRef","dirty","mapHeaders","wordWrap","useImperativeHandle","filterParams","reports","getQubReport","ReportId","DBKey","CONFIG","dbKey","UserId","ReportParams","responseType","getQubReportExcel","handleMenuOpen","fileType","currentTarget","ColumnPicker","my","FilterAlt","ViewColumnTwoTone","OptionCard","clickAction","additionalInfo","TreeParent","category","extendLastColumn","mobileColumnChange","categoryCheck","setCategoryCheck","TreeItem","nodeId","FormControlLabel","Checkbox","checkbox","headerChange","alterHeaders","saveColumnPickerSettings","columnsHelp","submitJSON","submitJSON2","fldId","entries","GridVisibleColIds","lostFocus","TreeView","defaultCollapseIcon","defaultExpandIcon","defaultExpanded","multiSelect","defaultChecked","fetchPerson","queryKey","personId","fetchPersonFromUser","defaultOptions","fromUser","usePerson","useDateTranslatorHelper","isNil","f","hasUser","ListItem","function","lblRegNumber","regNumber","functionId","isActive","personFunctionId","PersonFunctionsPretty","showTitle","functions","setFunctions","func","isOfficial","useWatch","personQuery","showAll","isSuccess","paddingBottom","PersonInfo","clubApi","createOrUpdateClub","getClub","saveClub","adminSaveClub","BaseComponent","valueName","labelName","menuAnchorRef","optionAll","SelectProps","MenuProps","anchorOrigin","vertical","horizontal","transformOrigin","displayEmpty","Array","isArray","Dropdown","qformApi","getWithConfiguration","backofficeApi","getLookups","commitChanges","getForm","getExplorer","transactionApi","gettransaction","createOrUpdateTransactionRequest","changeStatus","getTransactionRequiredFiles","uploadFiles","deleteFile","paymentEmail","splitMerge","getClubAdminsEmails","submitPayment","manage","getTransactionSettings","paymentLink","newTransactionOptions","adminApi","impersonate","exitImpersonation","qubTablesBackOffice","applicationsApi","getApplicationsType","getApplicationById","createApplication","approval","updateApplication","getAllByGuid","getSettingsByApplicationType","genericApi","downloadFileAsBase64","getAssets","getFilesDataKeyByAppTypeId","emailToolApi","getOrganizations","dashboardApi","statistics","validatorApi","validateAmka","validateAfm","notificationsApi","getNotifications","commonApi","lookupDefaultValue","translationApi","getResources","devicesApi","getRegisteredDevices","registerDevice","issueActivationToken","requestAction","unpairDevice","localStorage","getItem","JSON","urlAPI","reportsAxiosInstance","qubiteqSubKey","qubSubKey","reportsApi","saveFile","getFile","paymentApi","pay","setAvatar","fetch","recordGuid","divider","flexItem","fathersName","gender","dob","errorMain","useBreadcrumbs","PropTypes","AuthFooter","qb","component","Link","location","origin","underline","webpackContext","req","webpackContextResolve","__webpack_require__","resolve","hostname","LogoSection","projectLogo","ButtonBase","disableRipple","to","ProfileSection","selectedIndex","setSelectedIndex","anchorRef","dashboard","fetchAvatar","projectTableId","recordId","contains","handleToggle","prevOpen","borderWidth","borderStyle","substring","Popper","placement","role","transition","disablePortal","popperOptions","modifiers","offset","TransitionProps","in","Paper","ClickAwayListener","onClickAway","elevation","shadows","List","down","ListItemButton","route","handleListItemClick","stroke","ListItemText","languageToString","Wrapper","matchesXs","typography","commonAvatar","mediumAvatar","textAlign","LanguageSection","selectedLanguage","setLanguage","i18n","handleLanguageChange","changeLanguage","LanguageRadioGroup","FormControl","RadioGroup","Radio","ImpersonationSection","decodeToken","admin","original_name","disableElevation","BreadcrumbSection","pathname","useLocation","matchDownMd","FullNameSection","Header","handleLeftDrawerToggle","md","NavItem","matchesSM","Icon","Loadable","lazy","icon","itemIcon","findIndex","itemTarget","listItemProps","external","py","Trans","i18nKey","caption","subMenuCaption","gutterBottom","chip","NavCollapse","menuState","setSelected","openedId","menus","permission","I","passThrough","allowed","menuIcon","Collapse","timeout","unmountOnExit","disablePadding","NavGroup","menuItem","subheader","menuCaption","NavGroupWithSkeleton","_","navItems","CustomNavItem","setHelp","Help","Sidebar","drawerOpen","drawerToggle","drawer","paddingLeft","paddingRight","tabindex","px","flexShrink","Drawer","anchor","white","borderRight","ModalProps","keepMounted","Main","mainContent","borderBottomLeftRadius","borderBottomRightRadius","transitions","easing","sharp","duration","leavingScreen","paddingTop","easeOut","enteringScreen","MainLayout","menuItemId","leftDrawerOpened","CssBaseline","AppBar","enableColorOnDark","Toolbar","boxSizing","Verification","primaryMain","inputStyle","onComplete","pin","recursiveSearch","matchArray","searchArray","useMenu","pathArray","shift","activeItem","acc","concat","useStyles","makeStyles","root","withPermission","Component","unrestricted","isLoading","isError","hasPermission","withLayout","Layout","setMenuItem","LoadingDialog","PaperProps","BackdropProps","MinimalWrapper","MinimalLayout","CommonIndex","choices","setChoices","findByPathname","idx","newChildren","PaymentSubmittion","PaymentResultPage","HomeView","AccountSettings","UsersView","TransactionOptions","View","UsersManage","Manage","UsersCreate","Create","RolesView","RolesManage","ClubsView","ClubManage","AthletesView","AthletesManage","OfficialsView","OfficialsManage","PaymentIndexManage","PaymentCardView","PaymentPendingView","ApplicationsAthletesView","ApplicationsAthletesManage","ApplicationsAthletesCertificates","Certificates","ApplicationsAthletesBatchRenewal","BatchRenewal","ApplicationsAthletesSelfInsurance","BatchSelfInsurance","ApplicationsAthletesFedInsurance","BatchFedInsurance","ApplicationsOfficialsBatchRenewal","Batch","ApplicationsOfficialsCertificates","ApplicationsClubsCertificates","EmailToolView","EmailToolCreate","MergesView","MergeManage","NewMerge","New","ApplicationsClubsView","ApplicationsClubsManage","ApplicationsOfficialsView","ApplicationsOfficialsManage","NewApplicationView","CompetitionsDetailsView","CompetitionDetailsManage","CompetitionParticipationsView","ParticipationsExplorer","Participations","CompetitionsParticipationsManage","ParticipationsListCompetitions","CompetitionsView","ParticipationsListParticipations","ParticipationsView","SitesView","SitesManage","FaqView","FaqManage","FaqEdit","Edit","ImpersonationView","GridManage","GridView","FormsView","FormsManage","FormsPreview","Preview","PageNotFound","ServerError","GDPR","TermsOfUse","UserDetails","UserRoles","UserPermissions","RolesDetails","RolesPermissions","AthleteDetails","AthleteFunctions","AthleteNfcCard","ClubDetails","OfficialDetails","OfficialFunctions","TransactionHeaders","TransactionDetails","MainRoutes","LanguageSelector","PublicFooter","desktop","PublicLayout","projectFullTitle","address","phone","lgUp","mdUp","handleNavLogin","handleNavFederation","handleNavMenu","prev","pt","overflowX","Accordion","AccordionSummary","expandIcon","borderTop","AccordionDetails","AuthLogin3","ResetPassword","UserInvitation","CompetitionsCalendar","Calendar","Details","AuthenticationRoutes","project_public_enabled","search","Routes","routes","useRoutes","themePalette","primaryLight","primaryDark","primary200","primary800","secondaryLight","secondaryMain","secondaryDark","secondary200","secondary800","errorLight","errorDark","orange","orangeLight","orangeMain","orangeDark","warning","warningLight","warningMain","warningDark","successLight","success200","successMain","successDark","grey50","grey100","darkTextSecondary","heading","darkTextPrimary","textDark","darkLevel1","darkLevel2","darkBackground","darkPaper","hint","backgroundDefault","themeTypography","h6","h5","h4","h3","h2","h1","subtitle1","textDarkPrimary","subtitle2","body1","lineHeight","body2","letterSpacing","button","textTransform","grey500","smallAvatar","largeAvatar","THEME_PRESETS","warm","relax","themeOption","grey900","menuSelected","menuSelectedBack","grey200","themeOptions","mixins","toolbar","themes","createTheme","components","MuiButton","styleOverrides","MuiPaper","rounded","MuiCardHeader","MuiCardContent","MuiCardActions","MuiListItemButton","MuiListItemIcon","MuiListItemText","MuiInputBase","MuiSlider","grey300","mark","valueLabel","MuiDivider","MuiAvatar","MuiChip","MuiTooltip","MuiDialogContentText","grey800","componentStyleOverrides","NavigationScroll","scrollTo","behavior","node","lazyLoadTranslations","translation","lang","addResourceBundle","ln","namespace","datavalues","LanguageDetector","initReactI18next","init","debug","partialBundledLanguages","transSupportBasicHtmlNodes","fallbackLng","defaultNS","interpolation","escapeValue","resources","SplashScreen","projectIcon","favicon","getElementById","QueryClient","queries","refetchOnWindowFocus","App","setLicenseKey","WIJMO_LICENSE_KEY","StyledEngineProvider","injectFirst","translationNs","rootElement","createRoot","maxSnack","TransitionComponent","Slide","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.be428f64.chunk.js","sourcesContent":["const config = {\r\n basename: '',\r\n defaultPath: '/',\r\n fontFamily: `'Roboto', sans-serif`,\r\n language: 'en',\r\n borderRadius: 4\r\n};\r\n\r\nexport default config;\r\n","// action - state management\r\nimport * as actionTypes from './actions';\r\n\r\nexport const initialState = {\r\n isLoggedIn: false,\r\n isEmailVerified: null,\r\n token: null\r\n};\r\n\r\n// ==============================|| CUSTOMIZATION REDUCER ||============================== //\r\n\r\nconst authReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.LOGIN:\r\n return {\r\n ...state,\r\n ...action.payload,\r\n isLoggedIn: true\r\n };\r\n case actionTypes.VERIFY_EMAIL:\r\n return {\r\n ...state,\r\n isEmailVerified: true\r\n };\r\n\r\n case actionTypes.REFRESH_TOKEN:\r\n return {\r\n ...state,\r\n ...action.payload\r\n };\r\n case actionTypes.LOGOUT:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default authReducer;\r\n","// project imports\r\nimport config from 'config';\r\n\r\n// action - state management\r\nimport * as actionTypes from './actions';\r\n\r\nexport const initialState = {\r\n fontFamily: config.fontFamily,\r\n borderRadius: config.borderRadius,\r\n language: config.language,\r\n capitalizeInputFields: true,\r\n opened: true,\r\n theme: 'light'\r\n};\r\n\r\n// ==============================|| CUSTOMIZATION REDUCER ||============================== //\r\n\r\nconst customizationReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SET_FONT_FAMILY:\r\n return {\r\n ...state,\r\n fontFamily: action.fontFamily\r\n };\r\n case actionTypes.SET_BORDER_RADIUS:\r\n return {\r\n ...state,\r\n borderRadius: action.borderRadius\r\n };\r\n case actionTypes.SET_LANGUAGE:\r\n return {\r\n ...state,\r\n language: action.language\r\n };\r\n case actionTypes.SET_CAPITALIZE_INPUT_FIELDS:\r\n return {\r\n ...state,\r\n capitalizeInputFields: action.capitalizeInputFields\r\n };\r\n case actionTypes.SET_THEME:\r\n return {\r\n ...state,\r\n theme: action.theme\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default customizationReducer;\r\n","// action - state management\r\nimport * as actionTypes from './actions';\r\n\r\nexport const initialState = {\r\n isOpen: ['Home.View'], // for active default menu\r\n opened: true,\r\n lockMenu: false,\r\n menuItems: [],\r\n loading: false\r\n};\r\n\r\n// ==============================|| CUSTOMIZATION REDUCER ||============================== //\r\n\r\nconst menuReducer = (state = initialState, action) => {\r\n let id;\r\n switch (action.type) {\r\n case actionTypes.MENU_OPEN:\r\n id = action.id;\r\n return {\r\n ...state,\r\n isOpen: [id]\r\n };\r\n case actionTypes.SET_MENU:\r\n return {\r\n ...state,\r\n opened: action.opened\r\n };\r\n case actionTypes.LOCK_MENU:\r\n return {\r\n ...state,\r\n lockMenu: action.lockMenu\r\n };\r\n case actionTypes.STORE_MENU:\r\n return {\r\n ...state,\r\n menuItems: action.menuItems\r\n };\r\n case actionTypes.RESET_MENU:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default menuReducer;\r\n","// action - state management\r\nimport * as actionTypes from './actions';\r\n\r\nexport const initialState = { breadcrumbs: null, info: null };\r\n\r\n// ==============================|| BREADCRUMB REDUCER ||============================== //\r\n\r\nconst breadcrumbReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SET_BREADCRUMBS:\r\n return {\r\n ...state,\r\n ...action.payload\r\n };\r\n case actionTypes.RESET_BREADCRUMBS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default breadcrumbReducer;\r\n","import * as actionTypes from './actions';\r\n\r\nexport const initialState = {\r\n isDevicePaired: false\r\n};\r\n\r\nconst signalrReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SIGNALR_DEVICE_PAIRED:\r\n return {\r\n ...state,\r\n isDevicePaired: true\r\n };\r\n case actionTypes.SIGNALR_DEVICE_UNPAIRED:\r\n return {\r\n ...state,\r\n isDevicePaired: false\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default signalrReducer;\r\n","import { combineReducers } from 'redux';\r\n\r\n// reducer import\r\nimport authReducer from './authReducer';\r\nimport customizationReducer from './customizationReducer';\r\nimport menuReducer from './menuReducer';\r\nimport breadcrumbReducer from './breadcrumbReducer';\r\nimport signalrReducer from './signalrReducer';\r\n// ==============================|| COMBINE REDUCER ||============================== //\r\n\r\nconst reducer = combineReducers({\r\n customization: customizationReducer,\r\n auth: authReducer,\r\n menu: menuReducer,\r\n breadcrumbs: breadcrumbReducer,\r\n signalr: signalrReducer\r\n});\r\n\r\nexport default reducer;\r\n","import { createStore } from 'redux';\r\nimport reducer from './reducer';\r\nimport { persistStore, persistReducer } from 'redux-persist';\r\nimport storage from 'redux-persist/lib/storage';\r\n\r\n// ==============================|| REDUX - MAIN STORE ||============================== //\r\n\r\nconst persistConfig = {\r\n key: 'root',\r\n storage,\r\n whitelist: ['auth', 'menu', 'customization']\r\n};\r\n\r\nconst persistedReducer = persistReducer(persistConfig, reducer);\r\n/* eslint-disable no-underscore-dangle */\r\n\r\nconst store = createStore(persistedReducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__());\r\nconst persistor = persistStore(store);\r\n\r\nexport { store, persistor };\r\n","// theme constant\r\nexport const gridSpacing = 3;\r\nexport const drawerWidth = 260;\r\nexport const appDrawerWidth = 320;\r\n","import { Box, Typography, Stack, Grid } from '@mui/material';\r\nimport colors from 'assets/scss/_themes-vars.module.scss';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { IconTrafficCone } from '@tabler/icons';\r\nimport { useEffect } from 'react';\r\n\r\nconst PageUnderConstruction = () => {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('PageUnderConstruction')}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PageUnderConstruction;\r\n","import format from 'date-fns/format';\r\nimport { store } from 'store';\r\nimport * as wjcCore from '@grapecity/wijmo';\r\nimport { addClass } from '@grapecity/wijmo';\r\n\r\nexport const wijmoHideColumns = (flex, columnNames) => {\r\n flex.columns.forEach((c) => {\r\n if (columnNames.includes(c.binding)) c.visible = false;\r\n });\r\n};\r\n\r\nexport const wijmoAggregateColumns = (flex, columnNames, aggFunction) => {\r\n flex.columns.forEach((c) => {\r\n if (columnNames.includes(c.binding)) c.aggregate = aggFunction;\r\n });\r\n};\r\n\r\nexport const wijmoMergeColumns = (flex, columnNames) => {\r\n flex.columns.forEach((c) => {\r\n if (columnNames.includes(c.binding)) c.allowMerging = true;\r\n });\r\n};\r\n\r\nexport const wijmoDateFormat = (panel, r, c, cell, dateColumn, time = false, dateFormat = { format: 'dd/MM/yyyy' }) => {\r\n if (panel.columns[c]?.binding === dateColumn && panel.cellType === 1 && cell.innerHTML !== '') {\r\n try {\r\n const date = new Date(cell.innerHTML);\r\n if (time) cell.innerHTML = format(date, `${dateFormat?.format} HH:mm`);\r\n else {\r\n cell.innerHTML = format(date, `${dateFormat?.format}`);\r\n }\r\n } catch {\r\n console.log('wrong value format', cell.innerHTML, panel.columns[c]?.binding);\r\n }\r\n }\r\n};\r\n\r\nexport const wijmoCurrencyFormat = (panel, r, c, cell, currencyColumns) => {\r\n const currDecimals = 2;\r\n const currDecimalSep = ',';\r\n\r\n if (currencyColumns.includes(panel.columns[c]?.binding) && panel.cellType === 1 && cell.innerHTML !== '') {\r\n /* eslint-disable */\r\n const commasRemoved = cell.innerHTML.replace(/\\,/g, '');\r\n const value = parseFloat(commasRemoved).toFixed(currDecimals);\r\n const formatValue = parseFloat(value);\r\n const formatter = new Intl.NumberFormat(currDecimalSep === ',' ? 'el-GR' : 'el-GR', {\r\n minimumFractionDigits: currDecimals,\r\n maximumFractionDigits: currDecimals\r\n });\r\n cell.innerHTML = formatter.format(formatValue);\r\n }\r\n};\r\n\r\nexport const wijmoExtendLastColumn = (flex, groups, formatedColumns = false, onInit = false, rowHeaderChange = '') => {\r\n try {\r\n const columnWidths = {};\r\n if (formatedColumns) {\r\n groups.forEach((column) => {\r\n columnWidths[column?.binding] = column?.width;\r\n });\r\n } else {\r\n groups.forEach((group) => {\r\n group.children.forEach((column) => {\r\n columnWidths[column?.fldName] =\r\n Number.isNaN(parseInt(column?.colWidth, 10)) || column?.colWidth?.includes('*')\r\n ? column?.colWidth\r\n : parseInt(column?.colWidth, 10);\r\n });\r\n });\r\n }\r\n\r\n let maxVisibleIndex = -2;\r\n let maxRealIndex;\r\n let colWidthSum = 0;\r\n if (onInit) colWidthSum = 7;\r\n if (rowHeaderChange === 'enable' && !onInit) {\r\n colWidthSum = 43;\r\n }\r\n if (rowHeaderChange === 'disable' && !onInit) {\r\n colWidthSum = -43;\r\n }\r\n flex.columns.forEach((col) => {\r\n if (col?.visibleIndex > maxVisibleIndex) {\r\n maxVisibleIndex = col?.visibleIndex;\r\n maxRealIndex = col?.index;\r\n }\r\n if (col?.visible) {\r\n col.width = columnWidths[col?.binding];\r\n colWidthSum += col?.width;\r\n }\r\n });\r\n // if (flex.headersVisibility === 3) colWidthSum += flex.rowHeaders.width;\r\n\r\n if (flex.clientSize.width - colWidthSum > 0) flex.columns[maxRealIndex].width += flex.clientSize.width - colWidthSum;\r\n } catch {}\r\n};\r\n\r\nexport const wijmoStyleGrid = (panel, r, c, cell, columnStyles, cellStyles, flex) => {\r\n try {\r\n columnStyles.forEach((style) => {\r\n if (style?.colCss) {\r\n const col = flex.getColumn(style?.binding);\r\n col.cssClass = style?.colCss;\r\n }\r\n });\r\n } catch {\r\n console.log('column css not applied');\r\n }\r\n try {\r\n // let rowCssBinding;\r\n // flex.columns.forEach(c=> {\r\n // if (c?.binding.toLowerCase() === 'rowcss') rowCssBinding = c?.binding;\r\n // })\r\n if (panel?.rows?.[r]?.dataItem?.rowCss) panel.rows[r].cssClass = panel.rows[r].dataItem.rowCss;\r\n } catch {\r\n console.log('row css not applied');\r\n }\r\n try {\r\n if (cellStyles?.[panel?.columns?.[c]?.binding])\r\n addClass(cell, panel?.rows?.[r]?.dataItem?.[cellStyles?.[panel?.columns?.[c]?.binding]]);\r\n } catch {\r\n console.log('cell css not applied');\r\n }\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"background\":\"#f0f0f0\",\"primaryLight\":\"#e3f2fd\",\"primary200\":\"#90caf9\",\"primaryMain\":\"#2196f3\",\"primaryDark\":\"#1e88e5\",\"primary800\":\"#1565c0\",\"secondaryLight\":\"#ede7f6\",\"secondary200\":\"#b39ddb\",\"secondaryMain\":\"#673ab7\",\"secondaryDark\":\"#5e35b1\",\"secondary800\":\"#4527a0\",\"successLight\":\"#4caf50\",\"success200\":\"#69f0ae\",\"successMain\":\"#2e7d32\",\"successDark\":\"#1b5e20\",\"errorLight\":\"#ef5350\",\"errorMain\":\"#d32f2f\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#ff9800\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey800\":\"#3e3e3e\",\"grey900\":\"#212121\",\"darkPaper\":\"#111936\",\"darkBackground\":\"#1a223f\",\"darkLevel1\":\"#29314f\",\"darkLevel2\":\"#212946\",\"darkTextTitle\":\"#d7dcec\",\"darkTextPrimary\":\"#bdc8f0\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#e3f2fd\",\"darkPrimaryMain\":\"#2196f3\",\"darkPrimaryDark\":\"#1e88e5\",\"darkPrimary200\":\"#90caf9\",\"darkPrimary800\":\"#1565c0\",\"darkSecondaryLight\":\"#d1c4e9\",\"darkSecondaryMain\":\"#7c4dff\",\"darkSecondaryDark\":\"#651fff\",\"darkSecondary200\":\"#b39ddb\",\"darkSecondary800\":\"#6200ea\"};","import { styled } from '@mui/material/styles';\r\nimport { TextField } from '@mui/material';\r\n\r\nexport const CssTextField = styled(TextField, {\r\n shouldForwardProp: (prop) =>\r\n prop !== 'fixedPadding' &&\r\n prop !== 'hasBackground' &&\r\n prop !== 'disabledStyling' &&\r\n prop !== 'focusedStyling' &&\r\n prop !== 'hoverStyling'\r\n})(({ fixedPadding, hasBackground, disabledStyling, focusedStyling, hoverStyling, theme }) => {\r\n const darkMode = theme.palette.mode === 'dark';\r\n const backgroundColor = darkMode ? theme.palette.background.default : '#EDF2F8';\r\n const boxShadow = '0px 4px 10px rgba(0, 0, 0, 0.2)';\r\n const borderColor = darkMode ? theme.palette.grey[500] : '#EDF2F8';\r\n const hoverBorderColor = darkMode ? theme.palette.primary.main : '#EDF2F8';\r\n const focusedBackgroundColor = darkMode ? '#FFD78A' : '#FFECBA';\r\n const focusedBorderColor = darkMode ? '#E0B34A' : '#FFD35E';\r\n const disabledBackgroundColor = darkMode ? theme.palette.background.paper : '#EAEAEA';\r\n const disabledBorderColor = darkMode ? theme.palette.grey[700] : '#D9D9D9';\r\n const errorBackgroundColor = '#FFF2F2';\r\n const errorBorderColor = '#D10029';\r\n const labelColor = darkMode ? theme.palette.text.secondary : 'gray';\r\n const textColor = theme.palette.text.primary;\r\n const focusedTextColor = theme.palette.common.black;\r\n\r\n return {\r\n '& .MuiInput-input': {\r\n padding: 0,\r\n ':focus': {\r\n color: 'black'\r\n }\r\n },\r\n '& .MuiInputBase-input.Mui-disabled': {\r\n WebkitTextFillColor: darkMode ? theme.palette.text.disabled : 'rgba(0, 0, 0, 1)'\r\n },\r\n '& .MuiInput-root': {\r\n backgroundColor,\r\n boxShadow,\r\n borderRadius: '10px',\r\n padding: fixedPadding ?? 10,\r\n border: `2px solid ${borderColor}`,\r\n '&:hover': {\r\n boxShadow,\r\n border: `2px solid ${hoverBorderColor}`,\r\n ...hoverStyling\r\n },\r\n '&.Mui-focused': {\r\n background: focusedBackgroundColor,\r\n boxShadow,\r\n border: `2px solid ${focusedBorderColor}`, // Using adjusted focused color,\r\n ...focusedStyling\r\n },\r\n '&.Mui-disabled': {\r\n background: disabledBackgroundColor,\r\n border: `2px solid ${disabledBorderColor}`,\r\n boxShadow,\r\n ...disabledStyling\r\n },\r\n '&.Mui-error': {\r\n background: errorBackgroundColor,\r\n border: `2px solid ${errorBorderColor}`\r\n },\r\n '&.Mui-focused fieldset': {\r\n borderColor: focusedBorderColor // Using adjusted focused color,\r\n },\r\n '&:.Mui-focused': {\r\n color: focusedTextColor\r\n }\r\n },\r\n '& .MuiOutlinedInput-root': {\r\n backgroundColor,\r\n boxShadow,\r\n borderRadius: '10px',\r\n padding: fixedPadding ?? 0,\r\n '& label': {\r\n color: labelColor\r\n },\r\n '& > fieldset': {\r\n borderColor\r\n },\r\n '&:hover': {\r\n boxShadow,\r\n ...hoverStyling,\r\n '& > fieldset': {\r\n border: `2px solid ${hoverBorderColor}`\r\n }\r\n },\r\n '&.Mui-focused': {\r\n background: focusedBackgroundColor,\r\n boxShadow,\r\n ...focusedStyling,\r\n '& > fieldset': {\r\n border: `2px solid ${focusedBorderColor}` // Using adjusted focused color\r\n }\r\n },\r\n '&.Mui-error': {\r\n background: errorBackgroundColor,\r\n '& > fieldset': {\r\n border: `2px solid ${errorBorderColor}`\r\n }\r\n },\r\n '&.Mui-disabled': {\r\n background: disabledBackgroundColor,\r\n '& > fieldset': {\r\n border: `2px solid ${disabledBorderColor}`,\r\n ...disabledStyling\r\n },\r\n boxShadow\r\n }\r\n }\r\n };\r\n});\r\n","import { Box, Typography } from '@mui/material';\r\n\r\nconst RowLabel = ({ label, labelWidth = 120 }) => {\r\n if (typeof label === 'string')\r\n return (\r\n \r\n {`${label}:`}\r\n \r\n );\r\n return `${label}:`;\r\n};\r\n\r\nexport default RowLabel;\r\n","import { Typography } from '@mui/material';\r\n\r\nconst ColumnLabel = ({ label }) => {\r\n if (typeof label === 'string') return {label};\r\n return label;\r\n};\r\n\r\nexport default ColumnLabel;\r\n","/* eslint-disable */\r\nimport format from 'date-fns/format';\r\n\r\nfunction containsOnlyNumbers(str) {\r\n return /^\\d+$/.test(str);\r\n}\r\n\r\nfunction dateValuesArray(string) {\r\n let array = [];\r\n let error = false;\r\n if (string.includes('/')) array = string.split('/');\r\n else if (string.includes('-')) array = string.split('-');\r\n else if (string.includes('.')) array = string.split('.');\r\n else if (string.includes(',')) array = string.split(',');\r\n else error = true;\r\n\r\n array.forEach((value) => {\r\n if (!containsOnlyNumbers(value)) {\r\n error = true;\r\n }\r\n });\r\n if (error) return 'error';\r\n else return array;\r\n}\r\n\r\nfunction isValidDate(year, month, day) {\r\n var d = new Date(year, month, day);\r\n if (d.getFullYear() === Number(year) && d.getMonth() === Number(month) && d.getDate() === Number(day)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nfunction decideYear(year) {\r\n if (year?.length === 4) return year;\r\n else if (year?.length === 2)\r\n if (year < 50) return '20' + year;\r\n else return '19' + year;\r\n else return false;\r\n}\r\n\r\nfunction formatToShowDate(\r\n string,\r\n dateFormat = { format: 'dd/MM/yyyy', d: 0, m: 1, y: 2 },\r\n defaultValue,\r\n dateInUse = false,\r\n dateFrom,\r\n dateTo\r\n) {\r\n const dateParsed = dateValuesArray(string);\r\n let year;\r\n let yearParsed = dateParsed[dateFormat?.y] ?? new Date().getFullYear().toString();\r\n if (decideYear(yearParsed)) year = decideYear(yearParsed);\r\n else {\r\n if (defaultValue) return format(new Date(defaultValue), dateFormat?.format);\r\n else return null;\r\n }\r\n let month = dateParsed[dateFormat?.m] - 1;\r\n let day = dateParsed[dateFormat?.d];\r\n if (dateParsed === 'error') {\r\n if (defaultValue) return format(new Date(defaultValue), dateFormat?.format);\r\n else return null;\r\n }\r\n if (isValidDate(year, month, day)) {\r\n if (dateInUse) return inDateRange(year, month, day, dateFrom, dateTo, dateFormat?.format);\r\n else return format(new Date(year, month, day), dateFormat?.format);\r\n } else if (isValidDate(year, day - 1, month + 1))\r\n if (dateInUse) return inDateRange(year, day - 1, month + 1, dateFrom, dateTo, dateFormat?.format);\r\n else return format(new Date(year, day - 1, month + 1), dateFormat?.format);\r\n else {\r\n if (defaultValue) return format(new Date(defaultValue), dateFormat?.format);\r\n else return null;\r\n }\r\n}\r\n\r\nfunction inDateRange(year, month, day, dateFrom, dateTo, dateFormat = 'dd/MM/yyyy') {\r\n if (new Date(year, month, day) >= new Date(dateFrom) && new Date(year, month, day) <= new Date(dateTo))\r\n return format(new Date(year, month, day), dateFormat);\r\n else if (new Date(year, month, day) < new Date(dateFrom)) return format(new Date(dateFrom), dateFormat);\r\n else if (new Date(year, month, day > new Date(dateTo))) return format(new Date(dateTo), dateFormat);\r\n else return null;\r\n}\r\n\r\nfunction validTime(timeArray) {\r\n if (containsOnlyNumbers(timeArray[0]) && containsOnlyNumbers(timeArray[1]))\r\n if (timeArray[0] < 0 || timeArray[0] > 23 || timeArray[1] < 0 || timeArray[1] > 59) return 'errorTime';\r\n else return true;\r\n else return 'errorTime';\r\n}\r\n\r\nfunction formatToShowDateTime(\r\n string,\r\n dateFormat = { format: 'dd/MM/yyyy', d: 0, m: 1, y: 2 },\r\n dateTimeFormat = 'dd/MM/yyyy HH:mm',\r\n defaultDate,\r\n defaultTime\r\n) {\r\n const dateParsed = dateTimeValuesArray(string)?.date;\r\n const timeParsed = dateTimeValuesArray(string)?.time;\r\n let datePart, timePart;\r\n\r\n let year, month, day;\r\n let yearParsed = dateParsed[dateFormat?.y] ?? new Date().getFullYear().toString();\r\n\r\n // check year, if year is ok and store month and day\r\n if (decideYear(yearParsed)) {\r\n year = decideYear(yearParsed);\r\n month = dateParsed[dateFormat?.m] - 1;\r\n day = dateParsed[dateFormat?.d];\r\n }\r\n // if year is not okay then date is error\r\n else {\r\n if (defaultDate) datePart = new Date(defaultDate);\r\n else datePart = null;\r\n }\r\n // check if date was wrong from the beggining\r\n if (dateParsed === 'error') {\r\n if (defaultDate) datePart = new Date(defaultDate);\r\n else datePart = null;\r\n }\r\n // check if date is valid\r\n if (isValidDate(year, month, day)) datePart = new Date(year, month, day);\r\n // check if day and month were written opposite\r\n else if (isValidDate(year, day - 1, month + 1)) datePart = new Date(year, day - 1, month + 1);\r\n // invalid Date\r\n else {\r\n if (defaultDate) datePart = new Date(defaultDate);\r\n else datePart = null;\r\n }\r\n if (timeParsed) {\r\n if (validTime(timeParsed)) timePart = timeParsed;\r\n else if (defaultTime) timePart = defaultTime?.split(':');\r\n else timePart = null;\r\n } else if (defaultTime) timePart = defaultTime?.split(':');\r\n else timePart = null;\r\n\r\n if (datePart && timePart) {\r\n datePart.setHours(timePart[0], timePart[1]);\r\n return format(datePart, dateTimeFormat);\r\n } else return format(datePart ?? new Date(), dateTimeFormat);\r\n}\r\n\r\nfunction dateFormatDetails(format) {\r\n let array = [];\r\n let d, m, y, seperator;\r\n if (format.includes('/')) {\r\n array = format.split('/');\r\n seperator = '/';\r\n } else if (format.includes('-')) {\r\n array = format.split('-');\r\n seperator = '-';\r\n } else if (format.includes('.')) {\r\n array = format.split('.');\r\n seperator = '.';\r\n }\r\n if (array?.indexOf('d') > -1) d = array?.indexOf('d');\r\n if (array?.indexOf('dd') > -1) d = array?.indexOf('dd');\r\n if (array?.indexOf('M') > -1) m = array?.indexOf('M');\r\n if (array?.indexOf('MM') > -1) m = array?.indexOf('MM');\r\n if (array?.indexOf('yyyy') > -1) y = array?.indexOf('yyyy');\r\n if (array?.indexOf('yy') > -1) y = array?.indexOf('yy');\r\n let formatArray = [];\r\n formatArray[d] = 'day';\r\n formatArray[m] = 'month';\r\n formatArray[y] = 'year';\r\n\r\n return {\r\n format,\r\n d,\r\n m,\r\n y,\r\n seperator,\r\n formatArray\r\n };\r\n}\r\n\r\nfunction dateTimeValuesArray(string) {\r\n let array = [],\r\n date,\r\n time;\r\n if (string.includes(' ')) {\r\n array = string.split(' ');\r\n date = array[0];\r\n time = array[1];\r\n } else return { date: dateValuesArray(string), time: null };\r\n date = dateValuesArray(array[0]);\r\n if (array[1].includes(':')) time = array[1].split(':');\r\n else if (array[1].includes('.')) time = array[1].split('.');\r\n else if (array[1]?.length === 4) time = array[1].match(/.{1,2}/g);\r\n else time = null;\r\n return {\r\n date,\r\n time\r\n };\r\n}\r\n\r\nexport function calculate(startDateOfUse, endDateOfUse) {\r\n let yearOfStartDate = new Date(startDateOfUse).getFullYear();\r\n let yearOfEndDate = new Date(endDateOfUse).getFullYear();\r\n let yearOfCurrentDate = new Date().getFullYear();\r\n\r\n //let yearOfStartDate = StartDate.getfullYear();\r\n //let yearOfEndDate = EndDate.getfullYear();\r\n // let yearOfCurrentDate = CurrentDate.getfullYear();\r\n\r\n let monthOfStartDate = new Date(startDateOfUse).getMonth();\r\n let monthOfEndDate = new Date(endDateOfUse).getMonth();\r\n let monthOfCurrentDate = new Date().getMonth();\r\n\r\n let dayOfEndDate = new Date(endDateOfUse).getDate();\r\n let dayOfCurrentDate = new Date().getDate();\r\n\r\n let firstDate;\r\n let lastDate;\r\n let resultMonth;\r\n\r\n if (yearOfStartDate !== yearOfEndDate) {\r\n if (yearOfStartDate <= yearOfCurrentDate <= yearOfEndDate) {\r\n if (monthOfStartDate !== monthOfEndDate) {\r\n if (monthOfStartDate <= monthOfCurrentDate <= monthOfEndDate) {\r\n if (monthOfCurrentDate === 0) {\r\n firstDate = new Date(yearOfCurrentDate, monthOfCurrentDate, 1);\r\n lastDate = new Date(yearOfCurrentDate, monthOfCurrentDate, dayOfEndDate);\r\n } else {\r\n resultMonth = monthOfCurrentDate - 1;\r\n firstDate = new Date(yearOfCurrentDate, resultMonth, 1);\r\n lastDate = new Date(yearOfCurrentDate, resultMonth + 1, 0);\r\n }\r\n }\r\n } else {\r\n if (monthOfStartDate >= monthOfCurrentDate) {\r\n if (monthOfCurrentDate === 0) {\r\n firstDate = new Date(yearOfCurrentDate, monthOfCurrentDate, 1);\r\n lastDate = new Date(yearOfCurrentDate, monthOfCurrentDate, dayOfEndDate);\r\n } else {\r\n resultMonth = monthOfCurrentDate - 1;\r\n firstDate = new Date(yearOfCurrentDate, resultMonth, 1);\r\n lastDate = new Date(yearOfCurrentDate, resultMonth + 1, 0);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (yearOfStartDate >= yearOfCurrentDate) {\r\n if (monthOfStartDate !== monthOfEndDate) {\r\n if (monthOfStartDate <= monthOfCurrentDate <= monthOfEndDate) {\r\n if (monthOfCurrentDate === 0) {\r\n firstDate = new Date(yearOfCurrentDate, monthOfCurrentDate, 1);\r\n lastDate = new Date(yearOfCurrentDate, monthOfCurrentDate, dayOfCurrentDate);\r\n } else {\r\n resultMonth = monthOfCurrentDate - 1;\r\n firstDate = new Date(yearOfCurrentDate, resultMonth, 1);\r\n lastDate = new Date(yearOfCurrentDate, resultMonth + 1, 0);\r\n }\r\n }\r\n } else {\r\n if (monthOfStartDate >= monthOfCurrentDate) {\r\n if (monthOfCurrentDate === 0) {\r\n firstDate = new Date(yearOfCurrentDate, monthOfCurrentDate, 1);\r\n lastDate = new Date(yearOfCurrentDate, monthOfCurrentDate, dayOfEndDate);\r\n } else {\r\n resultMonth = monthOfCurrentDate - 1;\r\n firstDate = new Date(yearOfCurrentDate, resultMonth, 1);\r\n lastDate = new Date(yearOfCurrentDate, resultMonth + 1, 0);\r\n }\r\n } else {\r\n firstDate = new Date(yearOfStartDate, monthOfStartDate, 1);\r\n lastDate = new Date(yearOfStartDate, monthOfStartDate, dayOfEndDate);\r\n }\r\n }\r\n } else {\r\n firstDate = new Date(yearOfStartDate, 11, 1);\r\n lastDate = new Date(yearOfStartDate, 11 + 1, 0);\r\n }\r\n }\r\n firstDate = format(firstDate, 'yyyy-MM-dd');\r\n lastDate = format(lastDate, 'yyyy-MM-dd');\r\n return { firstDate, lastDate };\r\n}\r\n\r\nexport function validDate(startDateOfUse, endDateOfUse, currentDate) {\r\n let yearOfStartDate = new Date(startDateOfUse).getFullYear();\r\n let yearOfEndDate = new Date(endDateOfUse).getFullYear();\r\n let yearOfCurrentDate = new Date(currentDate).getFullYear();\r\n\r\n let monthOfStartDate = new Date(startDateOfUse).getMonth();\r\n let monthOfEndDate = new Date(endDateOfUse).getMonth();\r\n let monthOfCurrentDate = new Date(currentDate).getMonth();\r\n\r\n let dayOfStartDate = new Date(startDateOfUse).getDate();\r\n let dayOfEndDate = new Date(endDateOfUse).getDate();\r\n let dayOfCurrentDate = new Date(currentDate).getDate();\r\n\r\n let valid = false;\r\n\r\n if (yearOfStartDate !== yearOfEndDate) {\r\n if (yearOfStartDate <= yearOfCurrentDate <= yearOfEndDate) {\r\n valid = true;\r\n }\r\n } else {\r\n if (yearOfStartDate > yearOfCurrentDate) {\r\n valid = true;\r\n } else if (yearOfStartDate === yearOfCurrentDate) {\r\n if (monthOfStartDate !== monthOfEndDate) {\r\n if (monthOfStartDate <= monthOfCurrentDate <= monthOfEndDate) {\r\n valid = true;\r\n }\r\n } else if (monthOfStartDate > monthOfCurrentDate) {\r\n valid = true;\r\n } else if (monthOfStartDate === monthOfCurrentDate) {\r\n if (dayOfStartDate < dayOfCurrentDate && dayOfCurrentDate <= dayOfEndDate) {\r\n valid = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return valid;\r\n}\r\n\r\nexport function lastDayofMonth(givenDay) {\r\n let yearofGivenDay = new Date(givenDay).getFullYear();\r\n let monthofGivenDay = new Date(givenDay).getMonth();\r\n\r\n let lastDateofMonth = new Date(yearofGivenDay, monthofGivenDay + 1, 0);\r\n\r\n lastDateofMonth = format(lastDateofMonth, 'yyyy-MM-dd');\r\n return lastDateofMonth;\r\n}\r\n\r\nexport function firstDayofMonth(givenDay) {\r\n let yearofGivenDay = new Date(givenDay).getFullYear();\r\n let monthofGivenDay = new Date(givenDay).getMonth();\r\n\r\n let firstDateofMonth = new Date(yearofGivenDay, monthofGivenDay, 1);\r\n\r\n firstDateofMonth = format(firstDateofMonth, 'yyyy-MM-dd');\r\n return firstDateofMonth;\r\n}\r\n\r\nexport function previousMonthsDetails(givenDay) {\r\n let yearofGivenDay = new Date(givenDay).getFullYear();\r\n let monthofGivenDay = new Date(givenDay).getMonth();\r\n\r\n let previousMonth = monthofGivenDay - 1;\r\n\r\n let previousFirstDateofMonth = new Date(yearofGivenDay, previousMonth, 1);\r\n let previousLastDateofMonth = new Date(yearofGivenDay, previousMonth + 1, 0);\r\n\r\n previousFirstDateofMonth = format(previousFirstDateofMonth, 'yyyy-MM-dd');\r\n previousLastDateofMonth = format(previousLastDateofMonth, 'yyyy-MM-dd');\r\n\r\n return { previousFirstDateofMonth, previousLastDateofMonth };\r\n}\r\n\r\nexport {\r\n containsOnlyNumbers,\r\n isValidDate,\r\n dateValuesArray,\r\n decideYear,\r\n formatToShowDate,\r\n formatToShowDateTime,\r\n dateFormatDetails,\r\n inDateRange\r\n};\r\n","import React, { createContext } from 'react';\r\nimport { Ability } from '@casl/ability';\r\nimport { createContextualCan, useAbility } from '@casl/react';\r\nimport propTypes from 'prop-types';\r\nimport { useMe } from 'hooks/useMe';\r\n\r\nconst Context = createContext();\r\n\r\nfunction usePermissions() {\r\n const permissions = useAbility(Context);\r\n if (permissions === undefined) {\r\n throw new Error('usePermissions should be used within a PermissionProvider');\r\n }\r\n return permissions;\r\n}\r\n\r\nconst PermissionProvider = ({ children }) => {\r\n const { whoami } = useMe();\r\n return {children};\r\n};\r\n\r\nPermissionProvider.propTypes = {\r\n children: propTypes.node\r\n};\r\n\r\nexport { usePermissions, PermissionProvider };\r\nexport const Can = createContextualCan(Context.Consumer);\r\n","import { useEffect, useContext } from 'react';\r\nimport { useSettingsContext } from 'context/settingsContext';\r\n\r\nexport const useSettings = () => {\r\n const res = useSettingsContext();\r\n return { ...res };\r\n};\r\n\r\nexport default useSettings;\r\n","import PropTypes from 'prop-types';\r\nimport { forwardRef } from 'react';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Card, CardContent, CardHeader, Divider, Typography } from '@mui/material';\r\n\r\n// constant\r\nconst headerSX = {\r\n '& .MuiCardHeader-action': { mr: 0 }\r\n};\r\n\r\n// ==============================|| CUSTOM MAIN CARD ||============================== //\r\n\r\nconst MainCard = forwardRef(\r\n (\r\n {\r\n border = true,\r\n boxShadow,\r\n children,\r\n content = true,\r\n contentClass = '',\r\n contentSX = {},\r\n darkTitle,\r\n secondary,\r\n shadow,\r\n sx = {},\r\n title,\r\n stickyTitle,\r\n ...others\r\n },\r\n ref\r\n ) => {\r\n const theme = useTheme();\r\n\r\n return (\r\n \r\n {/* card header and action */}\r\n {!darkTitle && title && (\r\n \r\n )}\r\n {darkTitle && title && (\r\n {title}} action={secondary} />\r\n )}\r\n\r\n {/* content & header divider */}\r\n {title && }\r\n\r\n {/* card content */}\r\n {content && (\r\n \r\n {children}\r\n \r\n )}\r\n {!content && children}\r\n \r\n );\r\n }\r\n);\r\n\r\nMainCard.propTypes = {\r\n border: PropTypes.bool,\r\n boxShadow: PropTypes.bool,\r\n children: PropTypes.node,\r\n content: PropTypes.bool,\r\n contentClass: PropTypes.string,\r\n contentSX: PropTypes.object,\r\n darkTitle: PropTypes.bool,\r\n secondary: PropTypes.oneOfType([PropTypes.node, PropTypes.string, PropTypes.object]),\r\n shadow: PropTypes.string,\r\n sx: PropTypes.object,\r\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.string, PropTypes.object]),\r\n stickyTitle: PropTypes.bool\r\n};\r\n\r\nMainCard.displayName = 'MainCard';\r\n\r\nexport default MainCard;\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const personApi = {\r\n post: (path, params, options, cancelToken) =>\r\n axiosInstance\r\n .post(`/person${path}`, params, {\r\n ...options,\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(`/person${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\nexport const updateAvatar = async (params) => personApi.post('/uploadavatar', params);\r\n\r\nexport const getAvatar = async (params) => personApi.post('/getavatar', params);\r\n\r\nexport const getFiles = async (params) => personApi.post('/getfiles', params);\r\n\r\nexport const downloadFile = async (params, options) => personApi.post('/downloadfile', params, options);\r\n\r\nexport const removeAvatar = async (params) => personApi.post('/removeavatar', params);\r\n\r\nexport const getPerson = async (params) => personApi.get('/getperson', { params });\r\n\r\nexport const getPersonFromUser = async (params) => personApi.get('/getpersonfromuser', { params });\r\n\r\nexport const getRecommendedRoles = async (params) => personApi.get('/getrecommendedroles', { params });\r\n\r\nexport const inviteUser = async (params) => personApi.post('/invite', params);\r\n\r\nexport const reinvite = async (params) => personApi.post('/reinvite', params);\r\n\r\nexport const activateUserFromInvitation = async (params) => personApi.post('/activateUserFromInvitation', params);\r\n\r\nexport const createTempUser = async (params) => personApi.post('/createtempuser', params);\r\n\r\nexport const createOrUpdateFunctions = async (params) => personApi.post('/createorupdatefunctions', params);\r\n\r\nexport const deleteFunction = async (params) => personApi.post('/deletefunction', params);\r\n\r\nexport const validateB4Submit = async (params) => personApi.post('/validateb4submit', params);\r\n\r\nexport const submitRecord = async (params) => personApi.post('/SubmitPersonRecord', params);\r\n\r\nexport const approveRecord = async (params) => personApi.post('/Approveforverperson', params);\r\n\r\nexport const rejectRecord = async (params) => personApi.post('/RejectPerson', params);\r\n\r\nexport const removeFile = async (params) => personApi.post('/removefile', params);\r\n\r\nexport const getUserClub = async (params) => personApi.get('/getUserClub');\r\n\r\nexport const getFunctions = async (params) => personApi.get('/getpersonfunctions', { params });\r\n\r\nexport const getPersonByFunctionId = async (params) => personApi.get('/getPersonByFunctionId', { params });\r\n\r\nexport const savePerson = async (params) => personApi.post('/save', params);\r\n\r\nexport const adminSavePerson = async (params) => personApi.post('/adminSave', params);\r\n\r\nexport const getUserPersonFunction = async (params) => personApi.post('/GetUserPersonFunction', params);\r\n\r\nexport const updateUserPersonFunction = async (params) => personApi.post('/UpdateUserPersonFunction', params);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Conditional = ({ condition, children, hide }) => {\r\n if (hide) {\r\n return ;\r\n }\r\n return condition ? <>{children} : null;\r\n};\r\n\r\nConditional.propTypes = {\r\n condition: PropTypes.bool.isRequired,\r\n children: PropTypes.node\r\n};\r\n\r\nexport default Conditional;\r\n","export default __webpack_public_path__ + \"static/media/qb.7ddda2f8.png\";","export default __webpack_public_path__ + \"static/media/excelIcon.c0340b70.png\";","import axios from 'axios';\r\nimport { store } from 'store';\r\nimport { LOGOUT, REFRESH_TOKEN } from 'store/actions';\r\nimport moment from 'moment';\r\n/* eslint-disable import/no-cycle */\r\n/* eslint-disable no-underscore-dangle */\r\nimport { refreshToken } from 'apis/controllers/auth';\r\n\r\nconst axiosInstance = axios.create({\r\n withCredentials: true,\r\n baseURL: process.env.REACT_APP_BASE_URL\r\n});\r\n\r\naxiosInstance.interceptors.request.use((config) => {\r\n if (config.data) {\r\n Object.keys(config.data).forEach(async (key) => {\r\n // Find a valid date object and format it\r\n if (config.data[key] instanceof Date && !Number.isNaN(config.data[key])) {\r\n config.data[key] = moment(config.data[key]).format('YYYY-MM-DDTHH:mm:ss.SSS');\r\n }\r\n });\r\n }\r\n const state = store.getState();\r\n if (!config.headers.Authorization) {\r\n config.headers = {\r\n ...config.headers,\r\n Authorization: `Bearer ${state.auth.token}`\r\n };\r\n }\r\n return config;\r\n});\r\n\r\naxiosInstance.interceptors.response.use(\r\n (response) => {\r\n return response;\r\n },\r\n async (error) => {\r\n console.log('error', error);\r\n const originalRequest = error.config;\r\n if (error?.message === 'Network Error') {\r\n const errorObject = {\r\n response: {\r\n message: error.message,\r\n status: 503\r\n }\r\n };\r\n return Promise.reject(errorObject);\r\n }\r\n if (error?.response?.status === 453 && !originalRequest._retry) {\r\n const { dispatch } = store;\r\n dispatch({ type: LOGOUT });\r\n }\r\n if (error?.response?.status === 401 && !originalRequest._retry) {\r\n const state = store.getState();\r\n const { dispatch } = store;\r\n originalRequest._retry = true;\r\n try {\r\n if (state.auth.refreshToken) {\r\n const refreshResponse = await refreshToken({\r\n refreshToken: state.auth.refreshToken\r\n });\r\n dispatch({ type: REFRESH_TOKEN, payload: refreshResponse });\r\n originalRequest.headers.Authorization = `Bearer ${refreshResponse?.token}`;\r\n return axiosInstance(originalRequest);\r\n }\r\n dispatch({ type: LOGOUT });\r\n } catch (ex) {\r\n return Promise.reject(error);\r\n }\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nexport default axiosInstance;\r\n","export default __webpack_public_path__ + \"static/media/pdf.ea368c58.png\";","import { createContext, useState } from 'react';\r\n\r\nexport const LoaderContext = createContext(null);\r\n\r\nexport const LoaderProvider = ({ children }) => {\r\n const [loading, setLoading] = useState(false);\r\n\r\n return {children};\r\n};\r\n","import { LoaderContext } from 'context/loaderContext';\r\nimport { useContext } from 'react';\r\n\r\nexport const useLoading = () => useContext(LoaderContext);\r\n","import { useState, useRef, useEffect } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { apiEntities } from 'apis';\r\n\r\nconst useOperators = () => {\r\n const { t } = useTranslation();\r\n const operators = [\r\n { id: 'beginsWith', operator: t('Begins') },\r\n { id: 'contains', operator: t('Contains') },\r\n { id: 'endsWith', operator: t('Ends') },\r\n { id: '=', operator: '=' },\r\n { id: '>', operator: '>' },\r\n { id: '>=', operator: '>=' },\r\n { id: '<', operator: '<' },\r\n { id: '<=', operator: '<=' },\r\n { id: '<>', operator: '<>' },\r\n { id: 'between', operator: t('Between') },\r\n { id: 'isNull', operator: 'NULL' },\r\n { id: 'isEmpty', operator: t('Empty') }\r\n ];\r\n return operators;\r\n};\r\n\r\nconst useBringValue = () => {\r\n const { t } = useTranslation();\r\n const [openDialog, setOpenDialog] = useState(false);\r\n const [dataKey, setDataKey] = useState(null);\r\n const [title, setTitle] = useState('');\r\n\r\n const [filters, setFilters] = useState([]);\r\n const [restData, setRestData] = useState([]);\r\n\r\n const [searchFieldOptions, setSearchFieldOptions] = useState([]);\r\n const [operatorsOptions, setOperatorsOptions] = useState([]);\r\n\r\n const [searchField, setSearchField] = useState('');\r\n const [searchValue, setSearchValue] = useState('');\r\n const [searchOperator, setSearchOperator] = useState('');\r\n const [searchSecondaryValue, setSearchSecondaryValue] = useState('');\r\n\r\n const [secondValueField, setSecondValueField] = useState(false);\r\n\r\n const [openRejectDialog, setOpenRejectDialog] = useState(false);\r\n const [acceptWarning, setAcceptWarning] = useState(null);\r\n\r\n const [rejectReason, setRejectReason] = useState('');\r\n\r\n const [openWarningDialog, setOpenWarningDialog] = useState(false);\r\n const [warningReason, setWarningReason] = useState('');\r\n\r\n const [columns, setColumns] = useState([]);\r\n const [groupColumns, setGroupColumns] = useState([]);\r\n const [gridData, setGridData] = useState([]);\r\n const [itemCount, setItemCount] = useState('');\r\n const [dataLoading, setDataLoading] = useState(false);\r\n const [showRowHeader, setShowRowHeader] = useState(true);\r\n const [showColHeaderGroup, setShowColHeaderGroup] = useState(true);\r\n const [pageSizeOptions, setPageSizeOptions] = useState([]);\r\n const [pageSize, setPageSize] = useState(null);\r\n const [cellCssMapping, setCellCssMapping] = useState([]);\r\n const operators = useOperators();\r\n\r\n const ref = useRef();\r\n const gridRef = useRef();\r\n\r\n const getOperators = () => {\r\n const selectedItem = searchFieldOptions?.find((field) => field?.fldSearchName === searchField);\r\n const dataType = selectedItem?.dataType;\r\n let availableOptions = operators;\r\n if (dataType === 'date' || dataType === 'datetime')\r\n availableOptions = availableOptions.filter((option) =>\r\n ['=', '>', '>=', '<', '<=', '<>', 'between', 'isNull'].includes(option.id)\r\n );\r\n else if (dataType === 'boolean') availableOptions = availableOptions.filter((option) => ['='].includes(option.id));\r\n else if (dataType === 'int' || dataType === 'decimal')\r\n availableOptions = availableOptions.filter((option) =>\r\n ['=', '>', '>=', '<', '<=', '<>', 'between', 'isNull'].includes(option.id)\r\n );\r\n\r\n return availableOptions;\r\n };\r\n\r\n useEffect(() => {\r\n setOperatorsOptions(getOperators());\r\n setSearchOperator(getOperators()[0]?.id);\r\n }, [searchField]);\r\n\r\n useEffect(() => {\r\n if (searchOperator === 'between') setSecondValueField(true);\r\n else {\r\n setSecondValueField(false);\r\n setSearchSecondaryValue('');\r\n }\r\n }, [searchOperator]);\r\n\r\n const gridInitialized = (flex) => {\r\n flex.stickyHeaders = true;\r\n flex.selectionMode = 'Row';\r\n flex.keyActionEnter = 'None';\r\n flex.isReadOnly = true;\r\n gridRef.current = flex;\r\n flex.hostElement.addEventListener('dblclick', (e) => {\r\n const ht = flex.hitTest(e.pageX, e.pageY);\r\n const view = ht?.grid?.collectionView;\r\n const currentItem = view.currentItem;\r\n if (currentItem && ht.cellType === 1) {\r\n if (currentItem?.IsBvWarning) {\r\n setWarningReason(currentItem?.BvWarningReason);\r\n setOpenWarningDialog(true);\r\n setAcceptWarning(() => {\r\n ref.current.onSelect(view.currentItem);\r\n });\r\n } else if (currentItem?.IsBvDisabled) {\r\n setRejectReason(currentItem?.BvDisabledReason);\r\n setOpenRejectDialog(true);\r\n } else {\r\n ref.current.onSelect(view.currentItem);\r\n setOpenDialog(false);\r\n setDataKey(null);\r\n setGridData([]);\r\n }\r\n }\r\n });\r\n\r\n flex.hostElement.addEventListener('keydown', (e) => {\r\n const view = flex.collectionView;\r\n if (e.code === 'Enter' && view.currentItem) {\r\n if (view.currentItem?.IsBvDisabled) {\r\n setRejectReason(view?.currentItem?.BvDisabledReason);\r\n setOpenRejectDialog(true);\r\n } else if (view.currentItem?.IsBvWarning) {\r\n setWarningReason(view?.currentItem?.BvWarningReason);\r\n setAcceptWarning(ref.current.onSelect(view.currentItem));\r\n setOpenWarningDialog(true);\r\n } else {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n ref.current.onSelect(view.currentItem);\r\n setOpenDialog(false);\r\n setDataKey(null);\r\n setGridData([]);\r\n }\r\n }\r\n });\r\n\r\n flex.resizedColumn.addHandler((s, e) => {\r\n const col = e.panel.columns[e.col];\r\n apiEntities.getData({ dataKey: 'Qub-ColsWidth-Save', parameters: { fldName: col.binding, fldWidth: col.width, dataKey } });\r\n });\r\n\r\n flex.formatItem.addHandler((flex, e) => {\r\n const row = flex.rows[e.row];\r\n if (row?.dataItem?.IsBvDisabled) {\r\n row.cssClass = 'bv-disabled-row';\r\n }\r\n if (row?.dataItem?.IsBvWarning && !row?.dataItem?.IsBvDisabled) {\r\n row.cssClass = 'bv-warning-row';\r\n }\r\n if (e.panel.cellType === 3) {\r\n e.cell.innerHTML = `
${e.panel.rows[e.row]?.index + 1}
`;\r\n }\r\n });\r\n };\r\n\r\n const selectItem = (select) => {\r\n if (select) {\r\n if (!gridRef.current?.collectionView?.currentItem?.IsBvDisabled && !gridRef.current?.collectionView?.currentItem?.IsBvWarning) {\r\n ref?.current?.onSelect(gridRef.current?.collectionView?.currentItem);\r\n setOpenDialog(false);\r\n setDataKey(null);\r\n setGridData([]);\r\n } else if (gridRef.current?.collectionView?.currentItem?.IsBvWarning) {\r\n setWarningReason(gridRef.current?.collectionView?.currentItem?.BvWarningReason);\r\n setOpenWarningDialog(true);\r\n setAcceptWarning(ref?.current?.onSelect(gridRef.current?.collectionView?.currentItem));\r\n } else {\r\n setRejectReason(gridRef.current?.collectionView?.currentItem?.BvDisabledReason);\r\n setOpenRejectDialog(true);\r\n }\r\n } else {\r\n ref?.current?.onSelect(t('NoItemSelected'));\r\n setOpenDialog(false);\r\n setDataKey(null);\r\n setGridData([]);\r\n }\r\n };\r\n\r\n // set criteria here\r\n const onSubmit = async () => {\r\n const fieldSearchParams = [\r\n { fldName: searchField, operator: searchOperator, value1: searchValue, value2: searchSecondaryValue },\r\n ...filters\r\n ];\r\n setDataLoading(true);\r\n setGridData([]);\r\n const res = await apiEntities.getData({\r\n dataKey: 'QUB-BringValue-DataGet',\r\n parameters: {\r\n bringValueKey: dataKey,\r\n critFldsSearch: fieldSearchParams,\r\n pageSize\r\n }\r\n });\r\n setItemCount(`${res?.ReturnedRecords}/${res?.TotalRecords} ${t('Rows')}` ?? '');\r\n setGridData(res?.data);\r\n setDataLoading(false);\r\n };\r\n\r\n return {\r\n openDialog,\r\n setOpenDialog,\r\n gridInitialized,\r\n ref,\r\n gridRef,\r\n dataKey,\r\n setDataKey,\r\n title,\r\n setTitle,\r\n columns,\r\n itemCount,\r\n setItemCount,\r\n setColumns,\r\n groupColumns,\r\n setGroupColumns,\r\n gridData,\r\n setGridData,\r\n selectItem,\r\n onSubmit,\r\n dataLoading,\r\n setDataLoading,\r\n showRowHeader,\r\n showColHeaderGroup,\r\n setShowRowHeader,\r\n setShowColHeaderGroup,\r\n pageSizeOptions,\r\n setPageSizeOptions,\r\n cellCssMapping,\r\n setCellCssMapping,\r\n criteria: {\r\n searchField,\r\n setSearchField,\r\n searchValue,\r\n setSearchValue,\r\n searchOperator,\r\n setSearchOperator,\r\n searchSecondaryValue,\r\n setSearchSecondaryValue,\r\n secondValueField,\r\n setSecondValueField,\r\n searchFieldOptions,\r\n setSearchFieldOptions,\r\n operatorsOptions,\r\n setFilters,\r\n restData,\r\n setRestData,\r\n setPageSize,\r\n pageSizeOptions,\r\n setPageSizeOptions\r\n },\r\n rejectDialog: {\r\n openRejectDialog,\r\n setOpenRejectDialog,\r\n rejectReason,\r\n setRejectReason,\r\n acceptWarning\r\n },\r\n warningDialog: {\r\n openWarningDialog,\r\n setOpenWarningDialog,\r\n warningReason,\r\n setWarningReason,\r\n acceptWarning,\r\n setAcceptWarning\r\n }\r\n };\r\n};\r\n\r\nexport default useBringValue;\r\n","/* eslint-disable*/\r\nimport { Accordion, AccordionDetails, AccordionSummary, Typography, Select, MenuItem, Stack, TextField, Button, Grid } from '@mui/material';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport { useTranslation } from 'react-i18next';\r\nimport ToolbarExplorer from 'qubCommon/ExplorerToolbar';\r\n\r\nconst BringValueToolbar = (params) => {\r\n const { operators, onSubmit, criteria, originalToolbarProps } = params;\r\n const { t } = useTranslation();\r\n\r\n const handleFieldChange = (event) => {\r\n criteria.setSearchField(event.target.value);\r\n };\r\n\r\n const handleOperatorChange = (event) => {\r\n criteria.setSearchOperator(event.target.value);\r\n };\r\n\r\n const handleValueChange = (event) => {\r\n criteria.setSearchValue(event.target.value);\r\n };\r\n\r\n const handleSecondaryValueChange = (event) => {\r\n criteria.setSearchSecondaryValue(event.target.value);\r\n };\r\n\r\n const handlePageSizeChange = (event) => {\r\n criteria.setPageSize(event.target.value);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {/* */}\r\n {/* {t('Field')} */}\r\n \r\n {criteria.searchFieldOptions?.length > 0 &&\r\n criteria.searchFieldOptions.map((option) => (\r\n \r\n {option?.title}\r\n \r\n ))}\r\n \r\n \r\n {/* */}\r\n {/* */}\r\n \r\n {/* {t('Operation')} */}\r\n \r\n \r\n {/* */}\r\n {/* */}\r\n {/* {t('Value')} */}\r\n \r\n {\r\n if (e.key === 'Enter') onSubmit();\r\n }}\r\n defaultValue={criteria.searchValue ?? ''}\r\n sx={{ width: 200 }}\r\n />\r\n {/* */}\r\n \r\n \r\n {criteria.secondValueField && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {criteria.pageSizeOptions?.length > 0 && (\r\n \r\n {criteria.pageSizeOptions.map((option) => (\r\n \r\n {option?.label}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BringValueToolbar;\r\n","import { FlexGrid, FlexGridColumn } from '@grapecity/wijmo.react.grid';\r\nimport { FlexGridFilter } from '@grapecity/wijmo.react.grid.filter';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useEffect, useState } from 'react';\r\nimport { Box } from '@mui/material';\r\nimport QubGroupGrid from 'qubCommon/Grids/QubGroupGrid';\r\nimport { wijmoDateFormat, wijmoStyleGrid } from 'qubCommon/wijmoHelpers/columnMethods';\r\nimport 'assets/css/explorer.css';\r\n\r\nconst BringValueGrid = (props) => {\r\n const { columns, groupColumns, data, gridInitialized, showRowHeader, showColHeaderGroup, cellCssMapping, ...rest } = props;\r\n const [gridColumns, setGridColumns] = useState([]);\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n const helpCols = [];\r\n columns.forEach((column) =>\r\n helpCols.push({\r\n ...column,\r\n width: column?.width ?? '*'\r\n })\r\n );\r\n setGridColumns(helpCols);\r\n }, [columns]);\r\n\r\n const gridLoadedRows = (flex) => {\r\n const columnStyles = [];\r\n groupColumns?.forEach((group) => {\r\n group?.children.forEach((child) => {\r\n const columnStyle = {};\r\n columnStyle.binding = child?.fldName;\r\n columnStyle.colCss = child?.colCss;\r\n columnStyles.push(columnStyle);\r\n });\r\n });\r\n const cellStyles = {};\r\n cellCssMapping?.forEach((object) => {\r\n cellStyles[object?.fldName] = object?.fldNameCss;\r\n });\r\n flex.itemFormatter = (panel, r, c, cell) => {\r\n wijmoStyleGrid(panel, r, c, cell, columnStyles, cellStyles, flex);\r\n flex.columns.forEach((col) => {\r\n if (col?.format === 'date') {\r\n // console.log(c, 'MelloAngelos', c.binding);\r\n wijmoDateFormat(panel, r, c, cell, col.binding, false, { format: 'dd/MM/yyyy' });\r\n }\r\n if (col?.format === 'datetime') {\r\n // console.log(c, 'MelloAngelos', c.binding);\r\n wijmoDateFormat(panel, r, c, cell, col.binding, true, { format: 'dd/MM/yyyy' });\r\n }\r\n });\r\n };\r\n flex.focus();\r\n };\r\n\r\n return (\r\n \r\n {showColHeaderGroup ? (\r\n \r\n ) : (\r\n \r\n \r\n {gridColumns.length > 0 &&\r\n gridColumns.map((c, index) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default BringValueGrid;\r\n","import { Dialog, DialogActions, DialogContent, DialogTitle, Grid, Stack, Button, Typography } from '@mui/material';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst BringValueRejectDialog = (props) => {\r\n const { open, setOpen, rejectReason, acceptWarning, setGridData, setOpenDialog, setDataKey } = props;\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n Rejection reason\r\n \r\n \r\n \r\n \r\n \r\n {rejectReason}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n try {\r\n acceptWarning();\r\n setOpenDialog(false);\r\n setDataKey(null);\r\n setGridData([]);\r\n setOpen(false);\r\n } catch (e) {\r\n console.log(e, 'MelloAngelos');\r\n }\r\n }}\r\n sx={{ background: '#4d79bc', ':hover': { background: '#79AEC9', color: '#fff' } }}\r\n >\r\n {t('Close')}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BringValueRejectDialog;\r\n\r\n// import { Dialog, DialogActions, DialogContent, DialogTitle, Grid, Stack, Button, Typography } from '@mui/material';\r\n// import { useTranslation } from 'react-i18next';\r\n\r\n// const BringValueRejectDialog = (props) => {\r\n// const { open, setOpen, rejectReason } = props;\r\n// const { t } = useTranslation();\r\n\r\n// return (\r\n// \r\n// Rejection reason\r\n// \r\n// \r\n// \r\n// \r\n// \r\n// {rejectReason}\r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// setOpen(false)}\r\n// sx={{ background: '#4d79bc', ':hover': { background: '#79AEC9', color: '#fff' } }}\r\n// >\r\n// {t('Close')}\r\n// \r\n// \r\n// \r\n// );\r\n// };\r\n\r\n// export default BringValueRejectDialog;\r\n","import { Dialog, DialogActions, DialogContent, DialogTitle, Grid, Stack, Button, Typography } from '@mui/material';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst BringValueWarningDialog = (props) => {\r\n const { open, setOpen, warningReason, acceptWarning, setGridData, setOpenDialog, setDataKey } = props;\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n {t('Warning')}!\r\n \r\n \r\n \r\n \r\n \r\n {warningReason}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n try {\r\n setOpenDialog(false);\r\n setDataKey(null);\r\n setGridData([]);\r\n setOpen(false);\r\n } catch (e) {\r\n setOpen(false);\r\n console.log('Error on BringValueWarningDialog:', e);\r\n }\r\n }}\r\n sx={{ background: '#4d79bc', ':hover': { background: '#79AEC9', color: '#fff' } }}\r\n >\r\n {t('OK')}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BringValueWarningDialog;\r\n","/* eslint-disable */\r\nimport { createContext, useContext, useState } from 'react';\r\nimport { Button, Typography, Grid, Dialog, DialogTitle, DialogContent, DialogActions, Stack, Box } from '@mui/material';\r\nimport useBringValue from 'hooks/bringValue/useBringValue';\r\nimport { useSnackbar } from 'notistack';\r\nimport { apiEntities } from 'apis';\r\nimport BringValueToolbar from './components/BringValueToolbar';\r\nimport BringValueGrid from './components/BringValueGrid';\r\nimport BringValueRejectDialog from './components/BringValueRejectDialog';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { FlexGridXlsxConverter } from '@grapecity/wijmo.grid.xlsx';\r\nimport BringValueWarningDialog from './components/BringValueWarningDialog';\r\n\r\nconst BringValueContext = createContext({});\r\n\r\nconst BringValueProvider = (props) => {\r\n const { children } = props;\r\n const { t } = useTranslation();\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n const {\r\n openDialog,\r\n setOpenDialog,\r\n gridInitialized,\r\n ref,\r\n gridRef,\r\n dataKey,\r\n setDataKey,\r\n title,\r\n setTitle,\r\n columns,\r\n itemCount,\r\n setItemCount,\r\n groupColumns,\r\n setGroupColumns,\r\n setColumns,\r\n showRowHeader,\r\n showColHeaderGroup,\r\n setShowRowHeader,\r\n setShowColHeaderGroup,\r\n cellCssMapping,\r\n setCellCssMapping,\r\n\r\n gridData,\r\n setGridData,\r\n selectItem,\r\n onSubmit,\r\n dataLoading,\r\n setDataLoading,\r\n criteria,\r\n rejectDialog,\r\n warningDialog\r\n } = useBringValue();\r\n\r\n console.log('warningDialog', warningDialog);\r\n\r\n const openBringValue = async (props) => {\r\n const { dataKey, searchValue, searchField, title, onSelect, filters = [], restData = [] } = props;\r\n ref.current = { onSelect };\r\n\r\n setGridData([]);\r\n setDataKey(dataKey);\r\n criteria.setFilters(filters);\r\n criteria.setRestData(restData);\r\n criteria.setSearchValue(searchValue);\r\n criteria.setSearchField(searchField);\r\n setDataLoading(true);\r\n\r\n const resParams = await apiEntities.getData({\r\n dataKey: 'QUB-BringValue-ParamsGet',\r\n parameters: { bringValueKey: dataKey }\r\n });\r\n const pageSize = resParams?.data?.pageSize?.[0]?.value;\r\n criteria.setPageSize(pageSize);\r\n criteria.setPageSizeOptions(resParams?.data?.pageSize);\r\n const gridColumns = resParams?.data?.gridColumns ?? [];\r\n const fieldSearch = resParams?.data?.critFldsSearch;\r\n const cellCssMapping = resParams?.data?.cellCssMapping ?? [];\r\n setCellCssMapping(cellCssMapping);\r\n setShowRowHeader(resParams?.data?.showRowHeader);\r\n setShowColHeaderGroup(resParams?.data?.showColHeaderGroup);\r\n\r\n const helpCols = [];\r\n setGroupColumns(gridColumns);\r\n gridColumns.forEach((column) =>\r\n column.children.forEach((child) =>\r\n helpCols.push({\r\n binding: child.fldName,\r\n header: child.fldTitle,\r\n visible: child.isVisible,\r\n format: child.fldFormat,\r\n width: child.colWidth ?? '*',\r\n align: child?.colAlign ?? 'justify'\r\n })\r\n )\r\n );\r\n\r\n criteria.setSearchFieldOptions(fieldSearch);\r\n setColumns(helpCols);\r\n setTitle(resParams?.data?.title ?? title);\r\n\r\n const res = await apiEntities.getData({\r\n dataKey: 'QUB-BringValue-DataGet',\r\n parameters: {\r\n bringValueKey: dataKey,\r\n critFldsSearch: [{ fldName: searchField, operator: 'beginsWith', value1: searchValue }, ...filters],\r\n restData,\r\n pageSize\r\n }\r\n });\r\n\r\n setItemCount(`${res?.ReturnedRecords}/${res?.TotalRecords} ${t('Rows')}` ?? '');\r\n setDataLoading(false);\r\n\r\n setGridData(res?.data ?? []);\r\n if (!res?.data) {\r\n selectItem(false);\r\n enqueueSnackbar(t('NoDataFound'), { variant: 'warning' });\r\n } else if (res?.data?.length === 1) {\r\n if (res?.data[0].IsBvDisabled) {\r\n rejectDialog?.setRejectReason(res?.data[0]?.BvDisabledReason);\r\n rejectDialog?.setOpenRejectDialog(true);\r\n } else if (res?.data[0]?.IsBvWarning) {\r\n warningDialog.setWarningReason(res?.data[0]?.BvWarningReason);\r\n warningDialog?.setOpenWarningDialog(true);\r\n warningDialog?.setAcceptWarning(ref.current.onSelect(res?.data[0]));\r\n } else ref.current.onSelect(res?.data[0]);\r\n } else setOpenDialog(true);\r\n };\r\n\r\n const excelHandleClick = (gridRef, webPageKey) => {\r\n FlexGridXlsxConverter.saveAsync(\r\n gridRef.current,\r\n {\r\n includeColumnHeaders: true,\r\n includeStyles: false\r\n },\r\n `${webPageKey}_BringValue.xlsx`\r\n );\r\n };\r\n\r\n return (\r\n \r\n setOpenDialog(false)} maxWidth=\"xl\" fullWidth sx={{ height: 'max-content' }}>\r\n \r\n \r\n {t(title)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n excelHandleClick(gridRef, dataKey),\r\n hideCriteria: true,\r\n setToolbarLoading: setDataLoading,\r\n toolbarProps: {\r\n csvFiles: [],\r\n pdfFiles: [],\r\n showRowHeader,\r\n excelFiles: [{ rptId: 'default', rptTitle: 'Προεπιλογή' }],\r\n columns: groupColumns,\r\n status: true,\r\n hideAddNew: true\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {itemCount}\r\n \r\n selectItem(true)}\r\n >\r\n {t('OK')}\r\n \r\n selectItem(false)}\r\n >\r\n {t('Cancel')}\r\n \r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst useQubBringValue2 = () => {\r\n const bringValueContext = useContext(BringValueContext);\r\n if (!bringValueContext) {\r\n throw new Error('useBringValue must be used within a BringValueProvider');\r\n }\r\n return bringValueContext;\r\n};\r\n\r\n// when all bvs are migrated this has to change to useQubBringValue :)\r\nexport { BringValueProvider, useQubBringValue2 };\r\n","import jwt from 'jwt-decode';\r\n\r\nexport default (token) => {\r\n try {\r\n return jwt(token);\r\n } catch (error) {\r\n return undefined;\r\n }\r\n};\r\n","/* eslint-disable import/no-cycle */\r\nimport axiosInstance from '../axiosInstance';\r\n\r\nexport const authApi = {\r\n post: async (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/auth${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n console.log('err', err);\r\n throw err.error ? err : err?.response;\r\n }),\r\n get: async (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(\r\n `/auth${path}`,\r\n { params },\r\n {\r\n cancelToken: cancelToken?.token\r\n }\r\n )\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response;\r\n })\r\n};\r\n\r\nexport const login = async ({ username, password }) => authApi.post('/login', { username, password });\r\n\r\nexport const register = async (params) => authApi.post('/register', params);\r\n\r\nexport const resetPasswordEmail = async (email) => authApi.post('/passwordResetEmail', email);\r\n\r\nexport const resetPassword = async (newPassword) => authApi.post('/passwordReset', newPassword);\r\n\r\nexport const sendVerificationEmail = async ({ emailTo }) => authApi.post('/sendverificationmail', { emailTo });\r\n\r\nexport const ValidateVerificationPin = async ({ userIdentifier, value }) => authApi.post('/verifyEmail', { userIdentifier, value });\r\n\r\nexport const getUserHasRoles = async (params) => authApi.post('/userhasroles', params);\r\n\r\nexport const updateUserHasRoles = async (params) => authApi.post('/updateuserhasroles', params);\r\n\r\nexport const getUserPermissionTree = async (params) => authApi.post('/userPermissionTree', params);\r\n\r\nexport const updateUserPermissionTree = async (params) => authApi.post('/updateuserPermissionTree', params);\r\n\r\nexport const getRolePermissionTree = async (params) => authApi.post('/RolePermissionTree', params);\r\n\r\nexport const updateRolePermissionTree = async (params) => authApi.post('/updateRolePermissionTree', params);\r\n\r\nexport const getMe = async () => authApi.get('/getUserDetails');\r\n\r\nexport const logout = async (params) => authApi.post('/logout', params);\r\n\r\nexport const refreshToken = async (params) => authApi.post('/refresh', params);\r\n\r\nexport const changeUsernameRequest = async (params) => authApi.post('/changeusernamerequest', params);\r\n\r\nexport const verifyUsernameRequest = async (params) => authApi.post('/verifyusernamerequest', params);\r\n\r\nexport const changePasswordRequest = async (params) => authApi.post('/changepassword', params);\r\n","import { useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useQueryClient } from 'react-query';\r\nimport axiosInstance from 'apis/axiosInstance';\r\nimport { RESET_MENU, LOGOUT } from 'store/actions';\r\nimport { store } from 'store';\r\nimport { auth } from 'apis';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\nexport const useLogout = () => {\r\n const dispatch = useDispatch();\r\n const queryClient = useQueryClient();\r\n const authState = useSelector((state) => state.auth);\r\n const navigate = useNavigate();\r\n const logout = useCallback(async () => {\r\n const refreshToken = authState.refreshToken;\r\n // notify backend to blacklist token\r\n await auth.logout({ refreshToken }).catch((err) => console.error(err));\r\n // reset store\r\n dispatch({ type: RESET_MENU });\r\n dispatch({ type: LOGOUT });\r\n // reset axios interceptors\r\n axiosInstance.interceptors.request.use((config) => {\r\n const state = store.getState();\r\n config.headers = {\r\n ...config.headers,\r\n Authorization: `Bearer ${state.auth.token}`\r\n };\r\n return config;\r\n });\r\n // cancel queries\r\n queryClient.cancelQueries('me');\r\n navigate('/');\r\n }, [authState, dispatch, queryClient]);\r\n\r\n return { logout };\r\n};\r\n","export default \"data:image/png;base64,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\"","/* eslint-disable */\r\nimport React, { useState, useEffect } from 'react';\r\n// mui\r\nimport { Stack, Tooltip, Typography, InputAdornment } from '@mui/material';\r\n\r\n// hook forms\r\nimport { useFormContext } from 'react-hook-form';\r\n\r\nimport { CssTextField } from './CssTextField';\r\nimport RowLabel from './RowLabel';\r\nimport ColumnLabel from './ColumnLabel';\r\nimport HelpIcon from '@mui/icons-material/HelpOutline';\r\nimport { useSelector } from 'react-redux';\r\nimport { toUppercase } from 'qubCommon/helperMethods/inputHelper';\r\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline';\r\n\r\nconst TextInput = (props) => {\r\n const {\r\n register,\r\n formState: { errors },\r\n setValue\r\n } = useFormContext();\r\n // const { errors } = formState;\r\n const { fieldsVariant } = useSelector((state) => state.customization);\r\n\r\n const {\r\n name,\r\n rules,\r\n rowDirection = false,\r\n label,\r\n labelWidth,\r\n variant = fieldsVariant ?? 'standard',\r\n defaultValue,\r\n innerRef,\r\n blurFn,\r\n tooltip,\r\n autoCapitalize = false,\r\n changeFn = () => {},\r\n startAdornment,\r\n endAdornment,\r\n ...other\r\n } = props;\r\n\r\n useEffect(() => {\r\n setValue(name, defaultValue);\r\n }, [setValue, name, defaultValue]);\r\n // const [helpColor, setHelpColor] = useState(\"black\");\r\n\r\n const handleChange = (e) => {\r\n const { value } = e.target;\r\n setValue(name, autoCapitalize ? toUppercase(value) : value);\r\n changeFn();\r\n };\r\n\r\n return (\r\n \r\n {variant === 'standard' && (\r\n <>\r\n {rowDirection ? ( // variant = 'standard'\r\n \r\n ) : (\r\n \r\n \r\n {tooltip && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n {startAdornment}\r\n \r\n ) : (\r\n startAdornment\r\n ),\r\n endAdornment:\r\n typeof endAdornment === 'string' ? (\r\n \r\n {endAdornment}\r\n \r\n ) : (\r\n endAdornment\r\n )\r\n // endAdornment: (\r\n // \r\n // \r\n // \r\n // )\r\n }}\r\n error={!!errors[name]}\r\n // onFocus={() => setHelpColor(\"orange\")}\r\n onBlur={() => {\r\n if (blurFn) blurFn();\r\n }}\r\n helperText={errors[name]?.message}\r\n required={rules?.required}\r\n size=\"small\"\r\n InputLabelProps={{ fontSize: '1.25em' }}\r\n fullWidth\r\n {...other}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default TextInput;\r\n","export const toUppercase = (value) => {\r\n return value.toLocaleUpperCase('el').replace(/([ΆΈΉΊΪΌΎΫΏ])/g, (match) => match.toLocaleLowerCase());\r\n};\r\n","export default __webpack_public_path__ + \"static/media/csvIcon.bd5ee057.png\";","import React from 'react';\r\nimport { Checkbox, FormControlLabel, Typography, Stack } from '@mui/material';\r\nimport { useFormContext, useController } from 'react-hook-form';\r\n\r\nconst FormCheckbox = ({ name, label, defaultValue, ...other }) => {\r\n const { control } = useFormContext();\r\n const { field, fieldState } = useController({ name, control, defaultValue });\r\n\r\n return (\r\n \r\n \r\n }\r\n label={{label}}\r\n />\r\n {!!fieldState.error && {fieldState.error?.message}}\r\n \r\n );\r\n};\r\n\r\nexport default FormCheckbox;\r\n","import React, { createContext, useContext, useState, useEffect } from 'react';\r\nimport { generic } from 'apis';\r\n\r\nconst SettingsContext = createContext({});\r\n\r\n// eslint-disable-next-line react/prop-types\r\nconst SettingsProvider = ({ children }) => {\r\n const [data, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n await generic\r\n .getSettings()\r\n .then((res) => {\r\n setData(res.data);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n fetchData();\r\n }, []);\r\n\r\n return {children};\r\n};\r\n\r\nconst useSettingsContext = () => {\r\n const context = useContext(SettingsContext);\r\n return context;\r\n};\r\n\r\nexport { SettingsProvider, SettingsContext, useSettingsContext };\r\n","import { memo, createContext, useEffect } from 'react';\r\nimport propTypes from 'prop-types';\r\nimport { useQuery } from 'react-query';\r\nimport { useSelector } from 'react-redux';\r\nimport { auth, person } from 'apis';\r\nimport { useLogout } from 'hooks/useLogOut';\r\nimport { useSnackbar } from 'notistack';\r\nimport { defineAbility } from '@casl/ability';\r\nimport { createContextualCan } from '@casl/react';\r\nimport { useNavigate } from 'react-router';\r\n\r\nconst UserContext = createContext();\r\n\r\nconst minutesToMSeconds = ({ minutes }) => minutes * 60 * 1000;\r\n\r\nconst UserProvider = memo(({ children }) => {\r\n const { isLoggedIn } = useSelector((state) => state.auth);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const navigate = useNavigate();\r\n const { logout } = useLogout();\r\n\r\n const meQuery = useQuery(\r\n 'me',\r\n async () => {\r\n try {\r\n const res = await auth.getMe();\r\n const organization = await person.getUserClub().catch((error) => console.error('org error', error));\r\n const formatedPermissions = res.permissions.map((dbPermission) => {\r\n const [subject, action] = dbPermission.split('.');\r\n return {\r\n action,\r\n subject\r\n };\r\n });\r\n const abilities = defineAbility((can) => {\r\n formatedPermissions.forEach((element) => {\r\n can(element.action, element.subject);\r\n });\r\n });\r\n return { ...res, organization, permissions: abilities };\r\n } catch (error) {\r\n console.info('res', error);\r\n if (error?.status === 400) {\r\n enqueueSnackbar('Your connection has expired, please login again', {\r\n variant: 'error'\r\n });\r\n logout();\r\n }\r\n if (error?.status === 503) {\r\n navigate('site-is-temporarily-unavailable');\r\n }\r\n throw error;\r\n }\r\n },\r\n {\r\n retry: 1,\r\n refetchInterval: minutesToMSeconds({ minutes: 120 })\r\n /// enabled: isLoggedIn\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n if (isLoggedIn) {\r\n meQuery.refetch();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [isLoggedIn]);\r\n return {children};\r\n});\r\n\r\nUserProvider.propTypes = {\r\n children: propTypes.node\r\n};\r\n\r\nexport { UserProvider, UserContext };\r\nexport const Can = createContextualCan(UserContext.Consumer);\r\n","// action - customization reducer\r\nexport const SET_MENU = '@customization/SET_MENU';\r\nexport const MENU_TOGGLE = '@customization/MENU_TOGGLE';\r\nexport const MENU_OPEN = '@customization/MENU_OPEN';\r\nexport const SET_FONT_FAMILY = '@customization/SET_FONT_FAMILY';\r\nexport const SET_BORDER_RADIUS = '@customization/SET_BORDER_RADIUS';\r\nexport const SET_LANGUAGE = '@customization/SET_LANGUAGE';\r\nexport const SET_CAPITALIZE_INPUT_FIELDS = '@customization/SET_CAPITALIZE_INPUT_FIELDS';\r\nexport const SET_THEME = '@customization/SET_THEME';\r\nexport const LOGIN = '@authentication/LOGIN';\r\nexport const LOGOUT = '@authentication/LOGOUT';\r\nexport const REFRESH_TOKEN = '@authentication/REFRESH_TOKEN';\r\nexport const VERIFY_EMAIL = '@authentication/VERIFY_EMAIL';\r\nexport const LOCK_MENU = '@menu/SET_MENU_LOCKED';\r\nexport const STORE_MENU = '@menu/STORE_MENU';\r\nexport const RESET_MENU = '@menu/RESET_MENU';\r\nexport const SET_BREADCRUMBS = '@breadcrumbs/SET_BREADCRUMBS';\r\nexport const RESET_BREADCRUMBS = '@breadcrumbs/RESET_BREADCRUMBS';\r\nexport const SIGNALR_DEVICE_PAIRED = '@signalr/DEVICE_PAIRED';\r\nexport const SIGNALR_DEVICE_UNPAIRED = '@signalr/DEVICE_UNPAIRED';\r\n","import propTypes from 'prop-types';\r\n\r\nconst greetings = (time) => (time.getHours() >= 12 ? 'GoodEvening' : 'GoodMorning');\r\n\r\ngreetings.propTypes = {\r\n time: propTypes.time\r\n};\r\n\r\nexport default greetings;\r\n","import propTypes from 'prop-types';\r\n\r\nconst dataURLtoFile = (dataurl, filename) => {\r\n const arr = dataurl.split(',');\r\n const mime = arr[0].match(/:(.*?);/)[1];\r\n const bstr = atob(arr[1]);\r\n let n = bstr.length;\r\n const u8arr = new Uint8Array(n);\r\n\r\n // eslint-disable-next-line no-plusplus\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n return new File([u8arr], filename, { type: mime });\r\n};\r\n\r\ndataURLtoFile.propTypes = {\r\n dataurl: propTypes.File,\r\n filename: propTypes.string\r\n};\r\n\r\nexport default dataURLtoFile;\r\n","const imgSizesCalc = (aspect) => {\r\n let imgWidth = 0;\r\n let imgHeight = 0;\r\n let cropWidth = 0;\r\n let cropHeight = 0;\r\n let defaultImg = require('assets/images/default-user-image.png').default;\r\n if (aspect === 4 / 5) {\r\n imgWidth = 120;\r\n imgHeight = 150;\r\n cropWidth = 200;\r\n cropHeight = 250;\r\n defaultImg = require('assets/images/default-user-image.png').default;\r\n } else if (aspect === 16 / 9) {\r\n imgWidth = 200;\r\n imgHeight = 112.5;\r\n cropWidth = 320;\r\n cropHeight = 180;\r\n defaultImg = require('assets/images/no-image-icon.png').default;\r\n } else if (aspect === 1 / 1) {\r\n imgWidth = 150;\r\n imgHeight = 150;\r\n cropWidth = 150;\r\n cropHeight = 150;\r\n defaultImg = require('assets/images/no-image-icon.png').default;\r\n }\r\n\r\n return { imgWidth, imgHeight, cropWidth, cropHeight, defaultImg };\r\n};\r\n\r\nexport default imgSizesCalc;\r\n","const stringToSet = (s) => {\r\n const o = {};\r\n // eslint-disable-next-line no-plusplus\r\n for (let i = 0; i < s.length; i++) {\r\n o[s.charAt(i)] = 1;\r\n }\r\n return o;\r\n};\r\n\r\nconst grCaps = stringToSet('ΑΆΒΓΔΕΈΖΗΉΘΙΊΪΚΛΜΝΞΟΌΠΡΣΤΥΎΫΦΧΨΩΏ');\r\nconst replacements = [\r\n { greek: 'αι', greeklish: 'ai' },\r\n { greek: 'αί', greeklish: 'ai' },\r\n { greek: 'οι', greeklish: 'oi' },\r\n { greek: 'οί', greeklish: 'oi' },\r\n { greek: 'ου', greeklish: 'ou' },\r\n { greek: 'ού', greeklish: 'ou' },\r\n { greek: 'ει', greeklish: 'ei' },\r\n { greek: 'εί', greeklish: 'ei' },\r\n { greek: 'αυ', fivi: 1 },\r\n { greek: 'αύ', fivi: 1 },\r\n { greek: 'ευ', fivi: 1 },\r\n { greek: 'εύ', fivi: 1 },\r\n { greek: 'ηυ', fivi: 1 },\r\n { greek: 'ηύ', fivi: 1 },\r\n { greek: 'ντ', greeklish: 'nt' },\r\n { greek: 'μπ', bi: 1 },\r\n { greek: 'τσ', greeklish: 'ts' },\r\n { greek: 'τς', greeklish: 'ts' },\r\n { greek: 'ΤΣ', greeklish: 'ts' },\r\n { greek: 'τζ', greeklish: 'tz' },\r\n { greek: 'γγ', greeklish: 'ng' },\r\n { greek: 'γκ', greeklish: 'gk' },\r\n { greek: 'θ', greeklish: 'th' },\r\n { greek: 'χ', greeklish: 'ch' },\r\n { greek: 'ψ', greeklish: 'ps' }\r\n];\r\n\r\nconst fixCase = (text, mirror) => {\r\n if (grCaps[mirror.charAt(0)]) {\r\n if (mirror.length === 1 || grCaps[mirror.charAt(1)]) {\r\n return text.toUpperCase();\r\n // eslint-disable-next-line no-else-return\r\n } else {\r\n return text.charAt(0).toUpperCase() + text.substr(1);\r\n }\r\n // eslint-disable-next-line no-else-return\r\n } else {\r\n return text;\r\n }\r\n};\r\n\r\nexport const toGreeklish = (text) => {\r\n // Remove extraneus array element\r\n if (!replacements[replacements.length - 1]) replacements.pop();\r\n // Enchance replacements\r\n // eslint-disable-next-line no-cond-assign, no-plusplus\r\n for (let i = 0, replacement; (replacement = replacements[i]); i++) {\r\n replacements[replacement.greek] = replacement;\r\n }\r\n // Append single letter replacements\r\n const grLetters = 'αάβγδεέζηήθιίϊΐκλμνξοόπρσςτυύϋΰφχψωώ';\r\n const engLetters = 'aavgdeezii.iiiiklmnxooprsstyyyyf..oo';\r\n // eslint-disable-next-line no-plusplus\r\n for (let i = 0; i < grLetters.length; i++) {\r\n if (!replacements[grLetters.charAt(i)]) {\r\n replacements.push({ greek: grLetters.charAt(i), greeklish: engLetters.charAt(i) });\r\n }\r\n }\r\n // Enchance replacements, build expression\r\n let expression = [];\r\n // eslint-disable-next-line no-cond-assign, no-plusplus\r\n for (let i = 0, replacement; (replacement = replacements[i]); i++) {\r\n replacements[replacement.greek] = replacement;\r\n expression[i] = replacement.greek;\r\n }\r\n expression = new RegExp(expression.join('|'), 'gi');\r\n // Replace greek with greeklsh\r\n const greekSet = stringToSet(grLetters);\r\n const viSet = stringToSet('αβγδεζηλιmμνορω');\r\n text = text.replace(expression, function ($0, index) {\r\n const replacement = replacements[$0.toLowerCase()];\r\n if (replacement.bi) {\r\n const bi = greekSet[text.charAt(index - 1).toLowerCase()] && greekSet[text.charAt(index + 2).toLowerCase()] ? 'mp' : 'b';\r\n return fixCase(bi, $0);\r\n // eslint-disable-next-line no-else-return\r\n } else if (replacement.fivi) {\r\n const c1 = replacements[$0.charAt(0).toLowerCase()].greeklish;\r\n const c2 = viSet[text.charAt(index + 2).toLowerCase()] ? 'v' : 'f';\r\n return fixCase(c1 + c2, $0);\r\n } else {\r\n return fixCase(replacement.greeklish, $0 + text.charAt(index + $0.length));\r\n }\r\n });\r\n return text;\r\n};\r\n","import { toGreeklish } from './replaceText';\r\nimport { toUpper } from 'lodash';\r\n\r\n// based on https://www.passport.gov.gr/passports/GrElotConverter/GrElotConverter.html\r\nexport const grk2Latin = (text) => {\r\n // Convert a modern Greek characters text to ELOT743 (letter mapping).\r\n\r\n text = toGreeklish(text);\r\n\r\n // convert to uppercase\r\n text = toUpper(text);\r\n\r\n return text;\r\n};\r\n","export const ON = {\r\n invalidateQuery: 'invalidateQuery',\r\n actionResponse: 'actionResponse',\r\n devicePaired: 'devicePaired',\r\n deviceUnpaired: 'deviceUnpaired'\r\n};\r\n","import { Grid } from '@mui/material';\r\n\r\nconst ExplorerCard = ({ children }) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default ExplorerCard;\r\n","import format from 'date-fns/format';\r\nimport parse from 'date-fns/parse';\r\n\r\nfunction formatRequestObject(object) {\r\n /* eslint-disable */\r\n let formattedObject = [];\r\n for (const property in object) {\r\n formattedObject.push({ dataKey: property, dataValue: object[property] });\r\n }\r\n return formattedObject;\r\n}\r\n\r\nconst formatCritFldSearch = (data) => {\r\n const helpData = data?.filter((field) => field?.value1 || field?.defaultOperator === 'isNull' || field?.defaultOperator === 'isEmpty');\r\n\r\n return helpData?.map((field) => {\r\n const result = {};\r\n\r\n result.fldName = field?.fldSearchName;\r\n result.operator = field?.defaultOperator;\r\n if (field?.value1) result.value1 = field?.value1;\r\n if (field?.value2) result.value2 = field?.value2;\r\n if (field?.dataType === 'datetime') {\r\n if (field?.value1)\r\n try {\r\n result.value1 = format(parse(field?.value1, 'dd/MM/yyyy HH:mm', new Date()), 'yyyy-MM-dd HH:mm');\r\n } catch {\r\n console.log('comes from db');\r\n }\r\n if (field?.value2)\r\n try {\r\n result.value2 = format(parse(field?.value2, 'dd/MM/yyyy HH:mm', new Date()), 'yyyy-MM-dd HH:mm');\r\n } catch {\r\n console.log('comes from db');\r\n }\r\n }\r\n if (field?.dataType === 'date') {\r\n if (field?.value1)\r\n try {\r\n result.value1 = format(parse(field?.value1, 'dd/MM/yyyy', new Date()), 'yyyy-MM-dd');\r\n } catch {\r\n console.log('comes from db');\r\n }\r\n if (field?.value2)\r\n try {\r\n result.value2 = format(parse(field?.value2, 'dd/MM/yyyy', new Date()), 'yyyy-MM-dd');\r\n } catch {\r\n console.log('comes from db');\r\n }\r\n }\r\n return result;\r\n });\r\n};\r\n\r\n// format CriteriaValue List it is Generic\r\nconst formatValuesListSearch = (data) => {\r\n function containsTrue(array) {\r\n let result = false;\r\n array?.forEach((item) => {\r\n if (item?.isSelected) result = true;\r\n });\r\n return result;\r\n }\r\n const helpData = data?.filter((parent) => containsTrue(parent?.children));\r\n const result = helpData?.map((parent) => {\r\n const helpResult = parent?.children?.filter((child) => child.isSelected);\r\n const parentWithChildren = {};\r\n parentWithChildren.parentId = parent?.value;\r\n parentWithChildren.children = helpResult\r\n .map((child) => {\r\n return child?.value;\r\n })\r\n ?.toString();\r\n return parentWithChildren;\r\n });\r\n return result;\r\n};\r\n\r\nexport { formatRequestObject, formatCritFldSearch, formatValuesListSearch };\r\n","export default __webpack_public_path__ + \"static/media/no-image-icon.20c5b2e7.png\";","/* eslint-disable */\r\nimport { InputAdornment, CircularProgress, Tooltip, IconButton } from '@mui/material';\r\nimport { Search } from '@mui/icons-material';\r\nimport ClearIcon from '@mui/icons-material/Clear';\r\nimport { useQubBringValue2 } from 'context/BringValueContext/bringValueContext';\r\nimport { useFormContext } from 'react-hook-form';\r\nimport TextInput from './TextInput';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst BringValueInput = (props) => {\r\n const { dataKey, onClear, onSelect, name, searchField = 'searchValue', filters, ...other } = props;\r\n const { t } = useTranslation();\r\n const { openBringValue, dataLoading } = useQubBringValue2();\r\n const { getValues, setValue } = useFormContext();\r\n\r\n const handleSelect = (value) => {\r\n if (onSelect && typeof onSelect === 'function') onSelect(value);\r\n setValue(name, value[searchField]);\r\n setValue(`${name}Id`, value.Id);\r\n };\r\n\r\n const handleClear = () => {\r\n if (onClear && typeof onClear === 'function') onClear();\r\n setValue(name, null);\r\n setValue(`${name}Id`, null);\r\n };\r\n\r\n const hanleBringValue = () => {\r\n if (!other.disabled)\r\n openBringValue({\r\n dataKey,\r\n searchField,\r\n filters,\r\n searchValue: getValues(name),\r\n title: 'Sample',\r\n onSelect: (value) => {\r\n handleSelect(value);\r\n }\r\n });\r\n };\r\n\r\n const handleAutocomplete = (e) => {\r\n if (!e.nativeEvent?.inputType) hanleBringValue();\r\n };\r\n\r\n const handleChange = (e) => {\r\n if (!other.preventExecOnAutocomplete) {\r\n handleAutocomplete(e);\r\n }\r\n if (other.onChange && typeof other.onChange === 'function') other.onChange(e);\r\n };\r\n\r\n const handleKeyPress = (e) => {\r\n if (e.key === 'Enter') hanleBringValue();\r\n };\r\n\r\n return (\r\n handleKeyPress(e)}\r\n placeholder={t('TypeAndHitEnter')}\r\n fullWidth\r\n InputProps={{\r\n disableUnderline: true,\r\n startAdornment: (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n endAdornment: !props?.disabled && (\r\n \r\n {dataLoading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )\r\n }}\r\n name={name}\r\n {...other}\r\n onChange={handleChange}\r\n />\r\n );\r\n};\r\n\r\nexport default BringValueInput;\r\n","// React Imports\r\nimport { useState, forwardRef, createRef, useEffect } from 'react';\r\n\r\n// MUI Imports\r\nimport { InputAdornment, IconButton, Stack, Tooltip } from '@mui/material';\r\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline';\r\nimport { DateRangeSharp } from '@mui/icons-material';\r\n\r\n// Other Libraries\r\nimport format from 'date-fns/format';\r\nimport { useSelector } from 'react-redux';\r\nimport DatePicker from 'react-datepicker';\r\nimport 'react-datepicker/dist/react-datepicker.css';\r\n\r\n// Project Imports\r\nimport { formatToShowDate, inDateRange } from 'qubCommon/helperMethods/dateHelper';\r\nimport { CssTextField } from './CssTextField';\r\nimport { parse } from 'date-fns';\r\nimport RowLabel from './RowLabel';\r\nimport ColumnLabel from './ColumnLabel';\r\nimport { useFormContext, useController } from 'react-hook-form';\r\n\r\nconst DateInput = ({\r\n defaultValue = '',\r\n dateInUse = false,\r\n locked = false,\r\n label = '',\r\n labelWidth = 120,\r\n variant = 'standard',\r\n cmpyrsValidation = false,\r\n rowDirection = false,\r\n name,\r\n blurFn,\r\n tooltip,\r\n hasReset = false,\r\n changeFn = () => {},\r\n ...other\r\n}) => {\r\n const dateFormat = {\r\n format: 'dd/MM/yyyy',\r\n d: 0,\r\n m: 1,\r\n y: 2\r\n };\r\n\r\n const dateFrom = '2022-01-01';\r\n const dateTo = '2022-12-31';\r\n const { control, setValue, getValues } = useFormContext();\r\n const { field, fieldState } = useController({ name, control, defaultValue });\r\n const [input, setInput] = useState(defaultValue ? format(new Date(defaultValue), dateFormat?.format) : '');\r\n const [datePickerValue, setDatePickerValue] = useState(\r\n defaultValue ? format(new Date(defaultValue), dateFormat?.format) : format(new Date(), dateFormat?.format)\r\n );\r\n const dateRef = createRef();\r\n\r\n const CustomDatePicker = forwardRef(({ value, onClick }, ref) => (\r\n \r\n \r\n \r\n ));\r\n\r\n useEffect(() => {\r\n if (defaultValue) {\r\n setValue(name, defaultValue, { shouldDirty: true });\r\n setInput(format(new Date(defaultValue), dateFormat?.format));\r\n }\r\n }, [defaultValue]);\r\n\r\n useEffect(() => {\r\n if (hasReset)\r\n try {\r\n setInput(format(new Date(getValues(name)), dateFormat?.format));\r\n } catch (e) {\r\n setInput('');\r\n console.log(e);\r\n }\r\n }, [getValues(name)]);\r\n\r\n const handleDatePickerChange = (e) => {\r\n let eValid;\r\n if (dateInUse) eValid = inDateRange(e.getFullYear(), e.getMonth(), e.getDate(), dateFrom, dateTo, dateFormat?.format);\r\n else eValid = format(new Date(e.getFullYear(), e.getMonth(), e.getDate()), dateFormat?.format);\r\n const eFormatted = parse(eValid, dateFormat?.format, new Date());\r\n setInput(format(eFormatted, dateFormat?.format));\r\n setValue(name, format(eFormatted, 'yyyy-MM-dd'), {\r\n shouldDirty: true\r\n });\r\n setDatePickerValue(format(eFormatted, dateFormat?.format));\r\n };\r\n\r\n return (\r\n \r\n {variant === 'standard' && !other.hidden && (\r\n <>\r\n {rowDirection ? ( // variant = 'standard'\r\n \r\n ) : (\r\n \r\n \r\n {tooltip && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n {\r\n if (input) {\r\n const datePicked = formatToShowDate(input, dateFormat, defaultValue, dateInUse, dateFrom, dateTo);\r\n setInput(datePicked ?? '');\r\n setValue(name, datePicked ? format(parse(datePicked, dateFormat.format, new Date()), 'yyyy-MM-dd') : null, {\r\n shouldDirty: true\r\n });\r\n setDatePickerValue(datePicked ?? format(new Date(), dateFormat?.format));\r\n }\r\n\r\n if (blurFn) blurFn();\r\n }}\r\n value={input}\r\n error={!!fieldState.error}\r\n helperText={fieldState.error?.message}\r\n onChange={(e) => {\r\n setInput(e?.target?.value);\r\n changeFn(e?.target?.value);\r\n }}\r\n InputProps={\r\n locked\r\n ? { disableUnderline: true }\r\n : {\r\n disableUnderline: true,\r\n endAdornment: (\r\n \r\n handleDatePickerChange(e)}\r\n customInput={}\r\n showYearDropdown\r\n />\r\n \r\n )\r\n }\r\n }\r\n {...other}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default DateInput;\r\n","/* eslint-disable */\r\n// React Imports\r\nimport { useState, forwardRef, createRef, useEffect } from 'react';\r\nimport { useFormContext } from 'react-hook-form';\r\n\r\n// MUI Imports\r\nimport { InputAdornment, IconButton, ThemeProvider, Stack, Tooltip } from '@mui/material';\r\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline';\r\nimport { DateRangeSharp } from '@mui/icons-material';\r\n\r\n// Other Libraries\r\nimport format from 'date-fns/format';\r\nimport { useSelector } from 'react-redux';\r\nimport DatePicker from 'react-datepicker';\r\nimport 'react-datepicker/dist/react-datepicker.css';\r\n\r\n// Project Imports\r\nimport { formatToShowDateTime } from 'qubCommon/helperMethods/dateHelper';\r\nimport { CssTextField } from './CssTextField';\r\nimport { parse } from 'date-fns';\r\nimport RowLabel from './RowLabel';\r\nimport ColumnLabel from './ColumnLabel';\r\n\r\nconst DateTimeInput = (props) => {\r\n const { dateFormat } = useSelector((state) => state.auth);\r\n const dateTimeFormat = dateFormat?.format + ' HH:mm';\r\n const { setValue } = useFormContext();\r\n const { fieldsVariant } = useSelector((state) => state.customization);\r\n\r\n const {\r\n defaultDate = '',\r\n defaultTime = '',\r\n locked = false,\r\n label = '',\r\n cmpyrsValidation = false,\r\n variant = fieldsVariant ?? 'standard',\r\n name,\r\n labelWidth = 120,\r\n rowDirection = false,\r\n tooltip,\r\n ...other\r\n } = props;\r\n\r\n const [input, setInput] = useState(defaultDate ? format(new Date(defaultDate + ' ' + defaultTime), dateTimeFormat) : '');\r\n const [datePickerValue, setDatePickerValue] = useState(\r\n defaultDate ? format(new Date(defaultDate), dateFormat?.format) : format(new Date(), dateFormat?.format)\r\n );\r\n const dateRef = createRef();\r\n\r\n const CustomDatePicker = forwardRef(({ value, onClick }, ref) => (\r\n \r\n \r\n \r\n ));\r\n\r\n useEffect(() => {\r\n if (defaultDate && defaultTime) setValue(name, defaultDate + ' ' + defaultTime);\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n {variant === 'standard' && (\r\n <>\r\n {rowDirection ? ( // variant = 'standard'\r\n \r\n ) : (\r\n \r\n \r\n {tooltip && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n {\r\n let dateTimePicked = formatToShowDateTime(input, dateFormat, dateTimeFormat, defaultDate, defaultTime);\r\n setInput(dateTimePicked ?? '');\r\n setValue(name, format(parse(dateTimePicked, dateFormat.format + ' HH:mm', new Date()), 'yyyy-MM-dd HH:mm'));\r\n setDatePickerValue(\r\n format(parse(dateTimePicked, dateTimeFormat, new Date()), dateFormat?.format) ??\r\n format(new Date(), dateFormat?.format)\r\n );\r\n }}\r\n style={{ margin: 1 }}\r\n value={input}\r\n onChange={(e) => setInput(e?.target?.value)}\r\n InputProps={\r\n locked\r\n ? { disableUnderline: true }\r\n : {\r\n disableUnderline: true,\r\n endAdornment: (\r\n \r\n {\r\n setInput(format(e, dateFormat?.format) + ' ' + input?.slice(-5));\r\n setValue(name, format(e, dateFormat?.format) + ' ' + input?.slice(-5));\r\n setDatePickerValue(format(e, dateFormat?.format));\r\n }}\r\n customInput={}\r\n showYearDropdown\r\n />\r\n \r\n )\r\n }\r\n }\r\n {...other}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default DateTimeInput;\r\n","export const ProjectTables = {\r\n Organization: 1,\r\n Person: 2,\r\n OrganizationCouncil: 3,\r\n TransHeader: 4,\r\n Application: 6,\r\n PersonFunction: 7,\r\n EmailMessages: 8,\r\n Competition: 9,\r\n CompetitionDetails: 10,\r\n AthletesParticiaption: 11,\r\n Sites: 12\r\n};\r\n\r\nexport const FileTypes = {\r\n png: 'image/png',\r\n pdf: 'application/pdf',\r\n jpg: 'image/jpeg'\r\n};\r\n\r\nexport const DBFileTypes = {\r\n Certificate: 1,\r\n Avatar: 2,\r\n Id: 4,\r\n AthleteId: 5,\r\n HealthId: 8,\r\n DanCup: 10,\r\n Contract: 11,\r\n Recruitment: 12,\r\n JobLicense: 13,\r\n PaymentReceipt: 14,\r\n Council: 15,\r\n ETU: 16,\r\n AssistantCoachDocument: 17\r\n};\r\n\r\nexport const FileTypesConfigDataKeys = {\r\n FunctionId: 'FunctionId',\r\n EntityTypeId: 'EntityTypeId',\r\n ApplicationTypeId: 'ApplicationTypeId',\r\n Competitions: 'Competitions',\r\n ApplicationTypeId_FunctionId: 'ApplicationTypeId-FunctionId'\r\n};\r\n\r\nexport const FilesMetaDataFields = {\r\n lblDateFrom: 'lblDateFrom',\r\n lblDateTo: 'lblDateTo',\r\n lblIssuedAt: 'lblIssuedAt',\r\n lblIssuedBy: 'lblIssuedBy',\r\n lblNumber: 'lblNumber',\r\n lblComments: 'lblComments',\r\n lkCommon: 'lkCommon'\r\n};\r\n\r\nexport const EmailFilters = {\r\n Sent: 600,\r\n Drafts: 610\r\n};\r\n\r\nexport const OptionDataKey = {\r\n Organizations: 'Organizations',\r\n Functions: 'Functions',\r\n Roles: 'Roles'\r\n};\r\n\r\nexport const EntityType = {\r\n Federation: 100,\r\n RegionalCommittee: 110,\r\n Union: 120,\r\n Club: 130,\r\n Department: 140,\r\n Athletes: 200,\r\n Coach: 210,\r\n Refereed: 220,\r\n Administration: 230,\r\n Stuff: 250\r\n};\r\n\r\nexport const ApplicationType = {\r\n AthleteNew: 100,\r\n AthleteClubRenewal: 101,\r\n AthleteTransfer: 102,\r\n AthleteNewHealthCertificate: 103,\r\n AthleteNewBooklet: 104,\r\n AthleteNewCard: 105,\r\n OfficalNew: 200,\r\n ContractRenewal: 201,\r\n ClubNew: 300,\r\n ClubUpdate: 301,\r\n ClubCertificates: 302,\r\n Renewal: 500,\r\n OfficalNewDegree: 501\r\n};\r\n\r\nexport const QubDataTypes = {\r\n object: 0,\r\n string: 1,\r\n number: 2,\r\n boolean: 3,\r\n date: 4,\r\n array: 5,\r\n price: 6,\r\n percentage: 7,\r\n status: 8,\r\n url: 9,\r\n dropdown: 10,\r\n guid: 11\r\n};\r\nexport const QueryStatus = {\r\n idle: 'idle',\r\n loading: 'loading',\r\n success: 'success',\r\n error: 'error'\r\n};\r\n\r\nexport const TransactionStatus = {\r\n submitted: 420,\r\n paid: 430,\r\n canceled: 490,\r\n rechecked: 500,\r\n pendingPayment: 425,\r\n pending: 410\r\n};\r\n\r\nexport const PaymentMethod = {\r\n card: {\r\n id: 1,\r\n name: 'PaymentByCard'\r\n },\r\n bank: {\r\n id: 2,\r\n name: 'PaymentByBank'\r\n }\r\n};\r\n","import { memo } from 'react';\r\n\r\n// mui\r\nimport { Stack, Typography, useMediaQuery, useTheme, Skeleton } from '@mui/material';\r\n\r\n// project impors\r\nimport { withSkeleton, Spice } from '@qubiteq/qublib';\r\n\r\n// utils\r\nimport { greetings } from 'utils';\r\n\r\n// i18n\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport PropTypes from 'prop-types';\r\n\r\nexport const FullNameBaseComponent = memo((props) => {\r\n const { firstName, lastName } = props;\r\n const theme = useTheme();\r\n const matchUpMd = useMediaQuery(theme.breakpoints.up('sm'));\r\n const date = new Date();\r\n const { t } = useTranslation();\r\n\r\n // Responsive Text Size\r\n const textVariant = () => (matchUpMd ? 'h2' : 'h4');\r\n return (\r\n \r\n \r\n {`${t(greetings(date), greetings(date))},`}\r\n \r\n {`${firstName} ${lastName}`}\r\n \r\n \r\n );\r\n});\r\n\r\nFullNameBaseComponent.propTypes = {\r\n firstName: PropTypes.string,\r\n lastName: PropTypes.string\r\n};\r\n\r\nexport const FullNameSkeleton = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst FullName = withSkeleton(FullNameBaseComponent, FullNameSkeleton);\r\n\r\nexport default FullName;\r\n","import { Button, DialogTitle, Dialog, DialogContent, DialogActions, DialogContentText } from '@mui/material';\r\nimport 'react-image-crop/dist/ReactCrop.css';\r\nimport propTypes from 'prop-types';\r\nimport { useEffect, useMemo, useState } from 'react';\r\nimport { debounce } from 'lodash';\r\n\r\nconst CustomDialog = ({ open, onClose, onAccept, meta, content, btnDisableOnClick = true, ...props }) => {\r\n const [buttonsDisabled, setButtonsDisabled] = useState(false);\r\n\r\n useEffect(() => {\r\n setButtonsDisabled(false);\r\n }, [open]);\r\n\r\n const debouncedOnAccept = useMemo(onAccept && typeof onAccept === 'function' ? () => debounce(onAccept, 300) : () => {}, [onAccept]);\r\n\r\n const debouncedOnClose = useMemo(onClose && typeof onClose === 'function' ? () => debounce(onClose, 300) : () => {}, [onClose]);\r\n\r\n const handleAccept = () => {\r\n setButtonsDisabled(true);\r\n debouncedOnAccept();\r\n };\r\n\r\n const handleClose = async () => {\r\n setButtonsDisabled(true);\r\n debouncedOnClose();\r\n };\r\n\r\n return (\r\n
\r\n \r\n {meta.title}\r\n \r\n {meta.description}\r\n {content}\r\n {props.children}\r\n \r\n \r\n \r\n \r\n {meta.cancel}\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nCustomDialog.propTypes = {\r\n open: propTypes.bool,\r\n onClose: propTypes.func,\r\n onAccept: propTypes.func,\r\n meta: propTypes.object,\r\n content: propTypes.element,\r\n props: propTypes.any\r\n};\r\n\r\nexport default CustomDialog;\r\n","import { useNavigate } from 'react-router-dom';\r\nimport { Box } from '@mui/material';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Logo = ({ dimensions, logo, link, styles }) => {\r\n const navigate = useNavigate();\r\n return (\r\n {\r\n if (link) {\r\n navigate(link);\r\n }\r\n }}\r\n sx={{\r\n width: dimensions.width,\r\n height: dimensions.height,\r\n backgroundImage: `url(${logo})`,\r\n backgroundSize: 'cover',\r\n cursor: link ? 'pointer' : 'default',\r\n ...styles\r\n }}\r\n />\r\n );\r\n};\r\n\r\nLogo.propTypes = {\r\n dimensions: PropTypes.object,\r\n logo: PropTypes.string,\r\n link: PropTypes.string,\r\n styles: PropTypes.object\r\n};\r\n\r\nLogo.defaultProps = {\r\n dimensions: { width: 200, height: 200 }\r\n};\r\n\r\nexport default Logo;\r\n","import { Stack, Typography } from '@mui/material';\r\nimport PropTypes from 'prop-types';\r\nimport { Spice } from '@qubiteq/qublib';\r\n\r\nconst PageTitle = ({ title }) => (\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n);\r\n\r\nPageTitle.propTypes = {\r\n title: PropTypes.string\r\n};\r\n\r\nexport default PageTitle;\r\n","// mui\r\nimport { Stack, Grid, Typography, Box, MenuItem, MenuList, ListItemIcon } from '@mui/material';\r\n\r\nimport { useTranslation } from 'react-i18next';\r\nimport CircleIcon from '@mui/icons-material/Circle';\r\nimport { useTheme } from '@emotion/react';\r\n\r\nconst CasualCard = ({ props, handleClick }) => {\r\n const { t } = useTranslation();\r\n const theme = useTheme();\r\n\r\n return (\r\n \r\n \r\n \r\n {t(`${props?.Label}`)}\r\n \r\n \r\n \r\n \r\n {props?.Data?.map((value, index) => (\r\n handleClick(value)}>\r\n {/* \r\n \r\n */}\r\n \r\n {value.child[1].Value} / {value.child[0].Value}\r\n \r\n {t(`${value.Datakey}`)}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {t(`Confirmed`)} / {t(`Total`)}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CasualCard;\r\n","// mui\r\nimport { Grid, Typography, Box, Avatar, Chip, Button, Stack, IconButton, Divider, useTheme } from '@mui/material';\r\nimport ArrowCircleRightIcon from '@mui/icons-material/ArrowCircleRight';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Conditional from 'common/Conditional';\r\nimport { useMe } from 'hooks/useMe';\r\nimport { useSnackbar } from 'notistack';\r\n\r\nconst AvatarCard = ({ props, avatar, handleViewProfile }) => {\r\n const { t } = useTranslation();\r\n const { whoami } = useMe();\r\n const theme = useTheme();\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n return (\r\n \r\n \r\n \r\n {t(`${props?.Label}`)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {props?.Data && (\r\n \r\n {`${props?.Data[0]?.userName?.split(' ')[props?.Data[0]?.userName?.split(' ').length - 1][0]}\r\n ${props?.Data[0]?.userName?.split(' ')[0][0]}`}\r\n \r\n )} */}\r\n \r\n {whoami?.firstName[0]} {whoami?.lastName[0]}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props?.Data && (\r\n {`${props?.Data[0]?.userName.split(' ')[1]} ${\r\n props?.Data[0]?.userName.split(' ')[0]\r\n }`}\r\n )}\r\n {whoami?.email}\r\n {\r\n try {\r\n handleViewProfile(props?.Data[0]?.userId);\r\n } catch {\r\n enqueueSnackbar(t('AvatarUserError'), {\r\n variant: 'error'\r\n });\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {whoami?.personFunction[0]?.description}\r\n {whoami?.organization?.organizationName}\r\n \r\n \r\n \r\n \r\n \r\n {whoami?.roles.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AvatarCard;\r\n\r\n// ${props?.Data[0]?.userOrganization}\r\n","// mui\r\nimport { Grid, Typography, Box, MenuItem, Icon, Select, FormControl, useTheme } from '@mui/material';\r\nimport { useEffect, useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport OutlinedInput from '@mui/material/OutlinedInput';\r\nimport NumbersRoundedIcon from '@mui/icons-material/NumbersRounded';\r\n\r\nimport '@grapecity/wijmo.styles/wijmo.css';\r\n//\r\nimport * as wjChart from '@grapecity/wijmo.react.chart';\r\nimport * as wjChartAnimate from '@grapecity/wijmo.react.chart.animation';\r\nimport { Palettes } from '@grapecity/wijmo.chart';\r\nimport { BreakfastDining } from '@mui/icons-material';\r\nimport { useNavigate } from 'react-router';\r\n\r\nconst StackedBarChartCard = ({ props, palette, chartInitialized }) => {\r\n const { t } = useTranslation();\r\n const theme = useTheme();\r\n const [dataset, setDataset] = useState();\r\n const [classes, setClasses] = useState();\r\n\r\n useEffect(() => {\r\n const maxObject = props?.Data?.reduce((a, b) => (a.length > b.length ? a : b));\r\n const labels =\r\n maxObject === undefined ? [] : Object?.keys(maxObject)?.filter((key) => key !== 'Datakey' && key !== 'LoggingDatakey');\r\n setClasses(labels);\r\n\r\n const translatedDataset = props?.Data?.map((datum) => {\r\n let navUrl = null;\r\n switch (datum?.Datakey) {\r\n case 'Athletes':\r\n navUrl = '/applications/athletes/view';\r\n break;\r\n case 'Officials':\r\n navUrl = '/applications/officials';\r\n break;\r\n case 'Clubs':\r\n navUrl = '/applications/clubs';\r\n break;\r\n default:\r\n break;\r\n }\r\n return {\r\n ...datum,\r\n Datakey: t(`${datum?.Datakey}`),\r\n nav: navUrl\r\n };\r\n });\r\n\r\n setDataset(translatedDataset);\r\n }, [t]);\r\n\r\n return (\r\n \r\n \r\n \r\n {t(`${props?.Label}`)}\r\n \r\n \r\n \r\n {value}`}\r\n style={{ border: '0px' }}\r\n initialized={chartInitialized}\r\n >\r\n \r\n {classes?.map((elem, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default StackedBarChartCard;\r\n","import React, { createContext, useRef, useState, useContext, useEffect, useCallback } from 'react';\r\nimport { Dialog, DialogContent, DialogContentText, DialogActions, DialogTitle, Button, Stack } from '@mui/material';\r\nimport propTypes from 'prop-types';\r\nimport { useForm } from 'react-hook-form';\r\nimport { DynamicForm, useYupValidationResolver } from '@qubiteq/qublib';\r\n\r\nconst DialogContext = createContext();\r\n\r\nfunction useDialog() {\r\n const dialogContext = useContext(DialogContext);\r\n const handleSubmit = dialogContext.form?.handleSubmit;\r\n const reset = dialogContext.form?.reset;\r\n\r\n const openDialog = (props) => {\r\n const { title, description, acceptButtonTitle, cancelButtonTitle, onClose, onAccept, form, validationSchema, render, watchField } =\r\n props;\r\n\r\n dialogContext.setOpen(true);\r\n dialogContext.setTitle(title);\r\n dialogContext.setDescription(description);\r\n dialogContext.setAcceptButtonTitle(acceptButtonTitle);\r\n dialogContext.setCancelButtonTitle(cancelButtonTitle);\r\n dialogContext.setFormJSON(form);\r\n dialogContext.setValidationSchema(validationSchema);\r\n if (watchField) {\r\n dialogContext.watch(watchField);\r\n }\r\n dialogContext.mutateOnClose(() => {\r\n if (onClose) {\r\n onClose();\r\n }\r\n dialogContext.watchersUnsubscribe();\r\n dialogContext.mutateRender(null);\r\n dialogContext.setOpen(false);\r\n if (reset !== undefined || reset !== null) {\r\n dialogContext.setFormJSON([]);\r\n reset({});\r\n }\r\n });\r\n if (onAccept) {\r\n dialogContext.mutateOnAccept(\r\n handleSubmit((data) => {\r\n onAccept(data);\r\n dialogContext.setOpen(false);\r\n if (reset !== undefined || reset !== null) {\r\n reset({});\r\n }\r\n })\r\n );\r\n }\r\n if (render) {\r\n dialogContext.mutateRender(render);\r\n }\r\n };\r\n // dialogContext.onClose.current();\r\n return { openDialog, form: dialogContext.form, setForm: dialogContext.setFormJSON, formJSON: dialogContext.formJSON };\r\n}\r\n\r\nconst DialogProvider = ({ children }) => {\r\n const [open, setOpen] = useState(false);\r\n const [title, setTitle] = useState('');\r\n const [description, setDescription] = useState('');\r\n const [acceptButtonTitle, setAcceptButtonTitle] = useState('');\r\n const [cancelButtonTitle, setCancelButtonTitle] = useState('');\r\n const [formJSON, setFormJSON] = useState([]);\r\n const [validationSchema, setValidationSchema] = useState(null);\r\n const [render, setRender] = useState(null);\r\n const onAccept = useRef(() => setOpen(false));\r\n const onClose = useRef(() => setOpen(false));\r\n const watchers = useRef([]);\r\n\r\n const mutateOnAccept = (callBack) => {\r\n onAccept.current = callBack;\r\n };\r\n\r\n const mutateOnClose = (callBack) => {\r\n onClose.current = callBack;\r\n };\r\n\r\n const mutateRender = useCallback((render) => {\r\n setRender(render);\r\n }, []);\r\n\r\n const watchersUnsubscribe = () => {\r\n watchers.current.forEach((watcher) => watcher.unsubscribe());\r\n };\r\n\r\n const resolver = useYupValidationResolver(validationSchema);\r\n\r\n const form = useForm({ resolver: validationSchema ? resolver : null });\r\n\r\n const watch = (watchFunction) => {\r\n const watcher = form.watch(watchFunction);\r\n watchers.current.push(watcher);\r\n };\r\n\r\n useEffect(() => {\r\n return watchersUnsubscribe;\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n {title}\r\n \r\n {description}\r\n \r\n {formJSON && }\r\n \r\n {render}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nDialogProvider.propTypes = {\r\n children: propTypes.node\r\n};\r\n\r\nconst DialogConsumer = DialogContext.Consumer;\r\n\r\nexport { DialogProvider, DialogConsumer, useDialog };\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const apiEntitiesApi = {\r\n post: (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/apiEntities${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n // if (res?.data?.error || res?.data?.status === 'error') throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(`/apiEntities${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const getData = async (params) => apiEntitiesApi.post('/getData', params);\r\n","import { createContext, useContext, useEffect } from 'react';\r\nimport { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';\r\nimport { SIGNALR_PATH } from 'constants/appUrls';\r\nimport { useDispatch } from 'react-redux';\r\nimport { store } from 'store';\r\nimport { useQueryClient } from 'react-query';\r\nimport { ON } from 'enums/signalrConnection';\r\nimport { SIGNALR_DEVICE_UNPAIRED } from 'store/actions';\r\n\r\nconst MobileConnectionContext = createContext({});\r\n\r\nconst MobileConnectionProvider = (props) => {\r\n const { children } = props;\r\n const url = `${process.env.REACT_APP_BASE_URL}${SIGNALR_PATH}`;\r\n const state = store.getState();\r\n const dispatch = useDispatch();\r\n // const signalrState = useSelector((state) => state.signalr);\r\n const connection = new HubConnectionBuilder()\r\n .configureLogging(LogLevel.Information)\r\n .withUrl(url, { accessTokenFactory: () => state.auth.token })\r\n .withAutomaticReconnect()\r\n .build();\r\n\r\n const client = useQueryClient();\r\n\r\n const handleOnInvalidateQuery = (data) => {\r\n client.invalidateQueries(data);\r\n };\r\n\r\n /* const handleOnDevicePaired = () => {\r\n console.log('device paired');\r\n }; */\r\n\r\n const handleOnDeviceUnpaired = () => {\r\n dispatch({ type: SIGNALR_DEVICE_UNPAIRED });\r\n };\r\n\r\n useEffect(() => {\r\n if (connection && connection.state === 'Disconnected') {\r\n connection.start();\r\n }\r\n\r\n // connection.on(ON.devicePaired, handleOnDevicePaired);\r\n connection.on(ON.deviceUnpaired, handleOnDeviceUnpaired);\r\n connection.on(ON.invalidateQuery, handleOnInvalidateQuery);\r\n\r\n return () => {\r\n connection.stop();\r\n };\r\n }, [connection]);\r\n\r\n return {children};\r\n};\r\n\r\nconst useMobileConnection = () => {\r\n const mobileConnectionContext = useContext(MobileConnectionContext);\r\n if (!mobileConnectionContext) {\r\n throw new Error('useMobileConnection must be used within a MobileConnectionProvider');\r\n }\r\n return mobileConnectionContext;\r\n};\r\n\r\nexport { MobileConnectionProvider, useMobileConnection };\r\n","import { FlexGrid, FlexGridColumnGroup, FlexGridCellTemplate } from '@grapecity/wijmo.react.grid';\r\nimport { FlexGridFilter } from '@grapecity/wijmo.react.grid.filter';\r\nimport { wijmoExtendLastColumn } from 'qubCommon/wijmoHelpers/columnMethods';\r\n\r\nconst QubGroupGrid = (props) => {\r\n const { gridColumns, gridData, initialized, editableColumns = [], children, gridLoadedRows } = props;\r\n return (\r\n wijmoExtendLastColumn(flex, gridColumns, false, true)}\r\n itemsSource={gridData}\r\n autoSizeMode={1}\r\n alternatingRowStep={0}\r\n {...props}\r\n className=\"explorer-grid\"\r\n >\r\n {children}\r\n \r\n {gridColumns?.length > 0 &&\r\n gridColumns.map((columnGroup, index) => {\r\n if (columnGroup?.children?.length > 0)\r\n return (\r\n \r\n {columnGroup?.children?.map((child) => (\r\n \r\n {child.cellTemplates?.map((ct, i) => (\r\n ct.template(ctx, child)}\r\n />\r\n ))}\r\n \r\n ))}\r\n \r\n );\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default QubGroupGrid;\r\n","import format from 'date-fns/format';\r\n\r\nexport const convertGridToMobile = (gridRef, flex, columns) => {\r\n const groups = {};\r\n const visibleColumns = {};\r\n const formatColumns = {};\r\n try {\r\n if (gridRef.current) {\r\n gridRef.current.columns.forEach((c) => {\r\n visibleColumns[c?.binding] = c?.visible;\r\n if (c?.format) formatColumns[c?.binding] = c?.format;\r\n });\r\n /* eslint-disable */\r\n columns.forEach((group) => {\r\n groups[`group${group?.grpId}`] = group?.children\r\n .map((child) => {\r\n if (visibleColumns[child?.fldName]) return child?.fldName;\r\n })\r\n .filter((element) => element !== undefined);\r\n });\r\n const mobileData = gridRef.current.itemsSource;\r\n Object.keys(groups).forEach((group) => {\r\n if (groups[group]?.length === 0) delete groups[group];\r\n });\r\n const mobileGridData = mobileData.map((item) => {\r\n const newObj = {};\r\n\r\n Object.keys(groups).forEach((group) => {\r\n newObj[group] = groups[group]\r\n .filter((key) => {\r\n if (key in item) {\r\n return item[key];\r\n }\r\n })\r\n .map((key) => {\r\n if (key in item) {\r\n try {\r\n if (formatColumns?.[key] === 'date') {\r\n return format(new Date(item[key]), 'dd/MM/yyyy');\r\n }\r\n if (formatColumns?.[key] === 'datetime') return format(new Date(item[key]), 'dd/MM/yyyy HH:mm');\r\n } catch {\r\n return item[key];\r\n }\r\n return item[key];\r\n } else {\r\n return null;\r\n }\r\n });\r\n });\r\n newObj.allData = item;\r\n return newObj;\r\n });\r\n const formatedMobileGridData = mobileGridData.map((row) => {\r\n let htmlString = '';\r\n let allData = {};\r\n const formatedRow = {};\r\n Object.keys(row).forEach((group, index) => {\r\n if (group !== 'allData') {\r\n if (index !== 0) htmlString += `

${row[group].join(', ')}


`;\r\n else\r\n htmlString += `

${row[group]\r\n .slice(0, 2)\r\n .join(', ')}, ${row[group]\r\n .slice(2, row[group]?.length)\r\n .join(', ')}


`;\r\n }\r\n if (group === 'allData') allData = row[group];\r\n });\r\n formatedRow.htmlString = htmlString;\r\n formatedRow.allData = allData;\r\n formatedRow.supportLine = 'Support';\r\n return formatedRow;\r\n });\r\n flex.itemsSource = formatedMobileGridData;\r\n }\r\n } catch {\r\n console.log('error not ready yet');\r\n }\r\n flex.columns.forEach((col) => {\r\n col.visible = col.index === 0;\r\n col.width = '*';\r\n });\r\n};\r\n","export const styleExplorer = {\r\n main: { height: '100%', padding: 2.5 },\r\n content: {\r\n display: 'flex',\r\n flex: 1,\r\n overflowY: 'auto',\r\n flexDirection: 'column',\r\n padding: 0,\r\n marginTop: 2\r\n }\r\n};\r\n","import { createContext, useContext, useState, useRef } from 'react';\r\nimport { Stack, Box, Typography, Button } from '@mui/material';\r\nimport ErrorIcon from '@mui/icons-material/Error';\r\nimport WarningIcon from '@mui/icons-material/Warning';\r\nimport InfoIcon from '@mui/icons-material/Info';\r\nimport QuestionMarkOutlinedIcon from '@mui/icons-material/QuestionMarkOutlined';\r\nimport { Popup } from '@grapecity/wijmo.react.input';\r\nimport { styleExplorer } from 'qubCommon/qubStyles';\r\nimport '@grapecity/wijmo.styles/wijmo.css';\r\nimport { FlexGrid } from '@grapecity/wijmo.react.grid';\r\n\r\nconst ModalImages = {\r\n Warning: 1,\r\n Question: 2,\r\n Error: 3,\r\n Info: 4\r\n};\r\n\r\nconst ModalButtons = {\r\n OkCancel: 1,\r\n YesNo: 2,\r\n YesNoCancel: 3,\r\n OK: 4,\r\n Yes: 5,\r\n No: 6,\r\n Cancel: 7\r\n};\r\n\r\nconst ModalContext = createContext({});\r\n\r\nconst ModalImage = ({ imageType }) => {\r\n if (imageType === ModalImages.Error) return ;\r\n if (imageType === ModalImages.Warning) return ;\r\n if (imageType === ModalImages.Info) return ;\r\n if (imageType === ModalImages.Question) return ;\r\n return <>;\r\n};\r\n\r\nfunction getbuttonsArray(buttons) {\r\n let buttonsArray;\r\n switch (buttons) {\r\n case ModalButtons.YesNo:\r\n buttonsArray = [\r\n { label: 'Ναι', command: ModalButtons.Yes },\r\n { label: 'Οχι', command: ModalButtons.No }\r\n ];\r\n break;\r\n case ModalButtons.OK:\r\n buttonsArray = [{ label: 'OK', command: ModalButtons.OK }];\r\n break;\r\n case ModalButtons.OkCancel:\r\n buttonsArray = [\r\n { label: 'OK', command: ModalButtons.OK },\r\n { label: 'Cancel', command: ModalButtons.Cancel }\r\n ];\r\n break;\r\n case ModalButtons.YesNoCancel:\r\n buttonsArray = [\r\n { label: 'Ναι', command: ModalButtons.Yes },\r\n { label: 'Οχι', command: ModalButtons.No },\r\n { label: 'Ακύρωση', command: ModalButtons.Cancel }\r\n ];\r\n break;\r\n default:\r\n buttonsArray = [{ label: 'OK', command: ModalButtons.OK }];\r\n break;\r\n }\r\n\r\n return buttonsArray;\r\n}\r\n\r\nfunction ModalProvider({ children }) {\r\n const [title, setTitle] = useState(null);\r\n const [message, setMessage] = useState('');\r\n const [imageType, setImageType] = useState(null);\r\n const [defaultButton, setDefaultButton] = useState(null);\r\n const [isGrid, setIsGrid] = useState(false);\r\n const [gridData, setGridData] = useState(null);\r\n const popupRef = useRef();\r\n\r\n const popupInitialized = (popup) => {\r\n popup.isDraggable = true;\r\n popup.isResizable = true;\r\n popup.fadeOut = false;\r\n popup.fadeIn = false;\r\n\r\n popupRef.current = popup;\r\n };\r\n\r\n const gridLoadedRows = (flex) => {\r\n flex.autoSizeColumns();\r\n };\r\n\r\n const [buttons, setButtons] = useState([]);\r\n const ref = useRef();\r\n\r\n function openGrid(props) {\r\n setIsGrid(true);\r\n const { title, gridData } = props;\r\n setTitle(title);\r\n setGridData(gridData);\r\n\r\n popupRef.current.show(true);\r\n popupRef.current.centerPopup();\r\n }\r\n function openModal(props) {\r\n const { title, message, imageType, buttons, callback, defaultButton } = props;\r\n\r\n ref.current = {\r\n callback\r\n };\r\n setIsGrid(false);\r\n setDefaultButton(defaultButton);\r\n setButtons(getbuttonsArray(buttons));\r\n popupRef.current.show(true);\r\n\r\n setTitle(title);\r\n setMessage(message);\r\n setImageType(imageType);\r\n popupRef.current.hostElement.style.top = `calc(50% - ${popupRef.current.hostElement.offsetHeight / 2}px)`;\r\n popupRef.current.hostElement.style.left = `calc(50% - ${popupRef.current.hostElement.offsetWidth / 2}px)`;\r\n }\r\n\r\n const handleButtonClick = (command) => {\r\n setTitle(null);\r\n popupRef.current.hide();\r\n ref.current.callback(command);\r\n setIsGrid(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n
{title}
\r\n
\r\n \r\n
\r\n {!isGrid ? (\r\n <>\r\n \r\n \r\n \r\n \r\n {message}\r\n \r\n
\r\n \r\n\r\n \r\n {buttons.map((b) => {\r\n return (\r\n handleButtonClick(b.command)}\r\n variant=\"outlined\"\r\n >\r\n {b.label}\r\n \r\n );\r\n })}\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n\r\n {children}\r\n
\r\n );\r\n}\r\n\r\nfunction useModal() {\r\n const modalContext = useContext(ModalContext);\r\n if (!modalContext) {\r\n throw new Error('useModal must be used within LoadingProvider');\r\n }\r\n\r\n return modalContext;\r\n}\r\n\r\nexport { ModalProvider, useModal, ModalButtons, ModalImages };\r\n","import { useEffect, useState, useCallback, useRef, useImperativeHandle } from 'react';\r\nimport { useSnackbar } from 'notistack';\r\nimport { useFormContext } from 'react-hook-form';\r\nimport { backoffice } from 'apis';\r\nimport { useBringValue } from '@qubiteq/datagrid';\r\nimport { isFunction } from 'lodash';\r\n\r\nconst useBringValueInput = ({ props, ref, runOnInit }) => {\r\n const { enqueueSnackbar } = useSnackbar();\r\n const { register, formState, setValue, getValues } = useFormContext();\r\n const { errors } = formState;\r\n const { name, rules, defaultIdValue, defaultDescriptionValue, dataKey, searchField, additionalFilters, onSelected, onNotFound } = props;\r\n const paramsRef = useRef(null);\r\n\r\n const handleBringValue = useCallback(\r\n async ({ dataKey, filters, ...rest }) => {\r\n try {\r\n const result = await backoffice\r\n .getData({\r\n dataKey,\r\n pageSize: 20,\r\n filters,\r\n additionalFilters,\r\n ...rest\r\n })\r\n .catch((err) => {\r\n throw err;\r\n });\r\n\r\n if (!result) {\r\n throw new Error('No data');\r\n }\r\n\r\n const { itemsCount, items } = result;\r\n if (itemsCount === 0) {\r\n if (onNotFound && isFunction(onNotFound)) onNotFound();\r\n enqueueSnackbar('Δεν βρέθηκε εγγραφή', {\r\n variant: 'warning'\r\n });\r\n setValue(name, null);\r\n setValue(`${name}Description`, '');\r\n }\r\n\r\n return {\r\n itemsCount,\r\n items\r\n };\r\n } catch (err) {\r\n console.error(err);\r\n return {};\r\n }\r\n },\r\n [additionalFilters]\r\n );\r\n\r\n const handleSelectBringValue = ({ item }) => {\r\n setValue(name, item[paramsRef.current.primaryKeyName]);\r\n setValue(`${name}Description`, item[searchField]);\r\n if (onSelected) {\r\n onSelected(item);\r\n }\r\n };\r\n\r\n const bringValue = useBringValue(handleBringValue, backoffice.getParams, handleSelectBringValue);\r\n\r\n useEffect(() => {\r\n const initialFetch = async () => {\r\n const filters = [];\r\n const idValue = getValues()[name] || defaultIdValue;\r\n\r\n const params = await backoffice.getParams({ dataKey });\r\n paramsRef.current = params.params;\r\n if (idValue) {\r\n if (params?.params) {\r\n filters.push({\r\n filter: idValue,\r\n operation: 'custom',\r\n searchField: paramsRef.current.primaryKeyName\r\n });\r\n }\r\n }\r\n const result = await handleBringValue({ dataKey, filters });\r\n if (result?.itemsCount === 1 && runOnInit) {\r\n handleSelectBringValue({ item: result.items[0] });\r\n }\r\n };\r\n\r\n initialFetch();\r\n }, [handleBringValue]);\r\n\r\n useEffect(() => {\r\n setValue(name, defaultIdValue);\r\n }, [setValue, name, defaultIdValue]);\r\n\r\n useEffect(() => {\r\n setValue(`${name}Description`, defaultDescriptionValue);\r\n }, [defaultDescriptionValue]);\r\n\r\n const onChange = (e) => {\r\n // setValue(`${name}Description`, e.target.value);\r\n if (e.target.value === '') {\r\n setValue(name, null);\r\n }\r\n };\r\n\r\n const onKeyDown = async (e) => {\r\n if (e.key === 'Enter') {\r\n const filter = [\r\n {\r\n searchField,\r\n filter: `${e.target.value}*`,\r\n operation: 'custom'\r\n }\r\n ];\r\n await bringValue.bringValue({ e }, dataKey, filter);\r\n }\r\n };\r\n\r\n const clear = () => {\r\n setValue(name, null);\r\n setValue(`${name}Description`, '');\r\n if (onNotFound && isFunction(onNotFound)) onNotFound();\r\n };\r\n\r\n return {\r\n bringValue,\r\n registerProps: register(name, rules),\r\n descriptionRegisterProps: register(`${name}Description`, rules),\r\n errors,\r\n onKeyDown,\r\n onChange,\r\n clear\r\n };\r\n};\r\n\r\nexport default useBringValueInput;\r\n","import React, { useEffect, useRef } from 'react';\r\nimport { Stack, TextField, Typography, InputAdornment } from '@mui/material';\r\nimport PropTypes from 'prop-types';\r\nimport { BringValueView, GridPropsProvider } from '@qubiteq/datagrid';\r\nimport { IconSearch, IconX } from '@tabler/icons';\r\n\r\nimport useBringValueInput from './useBringValueInput';\r\n/* eslint-disable react/jsx-no-duplicate-props */\r\n\r\nconst BringValueInput = (props, ref) => {\r\n const { name, rules, runOnInit = true, label, ...other } = props;\r\n const { registerProps, descriptionRegisterProps, errors, bringValue, onKeyDown, onChange, clear } = useBringValueInput({\r\n props,\r\n ref,\r\n runOnInit\r\n });\r\n\r\n delete other.defaultDescriptionValue;\r\n delete other.defaultIdValue;\r\n delete other.searchField;\r\n delete other.dataKey;\r\n delete other.additionalFilters;\r\n delete other.onNotFound;\r\n delete other.onSelected;\r\n\r\n return (\r\n <>\r\n {/* Temporary fix */}\r\n null }}>\r\n \r\n \r\n \r\n \r\n {typeof label === 'string' ? {label} : label}\r\n \r\n \r\n \r\n ),\r\n // eslint-disable-next-line react/destructuring-assignment\r\n endAdornment: !props?.disabled && (\r\n \r\n \r\n \r\n )\r\n }}\r\n InputLabelProps={{ shrink: true }}\r\n error={!!errors[name]}\r\n helperText={errors[name]?.message}\r\n required={rules?.required}\r\n size=\"small\"\r\n fullWidth\r\n {...other}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\n// BringValueInput.propTypes = {\r\n// name: PropTypes.string,\r\n// rules: PropTypes.any,\r\n// label: PropTypes.string\r\n// };\r\n\r\nexport default React.forwardRef(BringValueInput);\r\n","import BringValueInput from './BringValueInput';\r\n\r\nexport default BringValueInput;\r\n","export const SIGNALR_PATH = '/hub/notificationhub';\r\n","import { ListItemIcon, Menu, MenuItem } from '@mui/material';\r\nimport excel from 'assets/images/excelIcon.png';\r\nimport csv from 'assets/images/csvIcon.png';\r\nimport pdf from 'assets/images/pdf.png';\r\nimport React from 'react';\r\n\r\nconst FilesMenu = ({ anchorEl, setAnchorEl, files, fileMenuType, handleFilePick }) => {\r\n const open = Boolean(anchorEl);\r\n\r\n const handleClose = (file) => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const FileMenuIcon = () => {\r\n if (fileMenuType === 'Excel') return \"excel\";\r\n if (fileMenuType === 'Csv') return \"excel\";\r\n if (fileMenuType === 'Pdf') return \"excel\";\r\n return null;\r\n };\r\n\r\n return (\r\n setAnchorEl(null)}\r\n MenuListProps={{\r\n 'aria-labelledby': 'basic-button'\r\n }}\r\n >\r\n {files?.map((file) => {\r\n return (\r\n handleFilePick(file)}>\r\n \r\n \r\n \r\n {file?.rptTitle}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default FilesMenu;\r\n","function openPdf(res) {\r\n const blob = new Blob([res], { type: 'application/pdf' });\r\n const link = document.createElement('a');\r\n link.href = window.URL.createObjectURL(blob);\r\n window.open(link.href);\r\n}\r\n\r\nfunction downloadFile(res) {\r\n // const blob = new Blob([res]);\r\n\r\n // const link = document.createElement('a');\r\n // link.href = window.URL.createObjectURL(blob);\r\n // link.setAttribute('download', `Report.xlsx`);\r\n // link.click();\r\n const url = URL.createObjectURL(new Blob([res]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'report.xlsx');\r\n document.body.appendChild(link);\r\n link.click();\r\n}\r\n\r\nexport { openPdf, downloadFile };\r\n","/* eslint-disable */\r\nimport { FlexGrid, FlexGridColumn } from '@grapecity/wijmo.react.grid';\r\nimport * as wjcGrid from '@grapecity/wijmo.grid';\r\nimport { useEffect, memo } from 'react';\r\nimport './criteria.css';\r\nimport * as wjInput from '@grapecity/wijmo.input';\r\nimport * as wjcCore from '@grapecity/wijmo';\r\nimport { toggleClass } from '@grapecity/wijmo';\r\nimport { formatToShowDate, formatToShowDateTime } from 'qubCommon/helperMethods/dateHelper';\r\n\r\nconst FieldSearchGrid = memo((props) => {\r\n const { gridRefs, name, handleDirtyCheck } = props;\r\n\r\n const operators = [\r\n { id: 'contains', operator: 'Περιέχει' },\r\n { id: 'beginsWith', operator: 'Αρχίζει' },\r\n { id: 'endsWith', operator: 'Τελειώνει' },\r\n { id: '=', operator: '=' },\r\n { id: '>', operator: '>' },\r\n { id: '>=', operator: '>=' },\r\n { id: '<', operator: '<' },\r\n { id: '<=', operator: '<=' },\r\n { id: '<>', operator: '<>' },\r\n { id: 'between', operator: 'Μεταξύ' },\r\n { id: 'isNull', operator: 'NULL' },\r\n { id: 'isEmpty', operator: 'ΚΕΝΟ' }\r\n ];\r\n\r\n var operatorMap = new wjcGrid.DataMap(operators, 'id', 'operator');\r\n\r\n operatorMap.getDisplayValues = function (rowDataItem) {\r\n const { dataType } = rowDataItem;\r\n let availableOptions = operators;\r\n if (dataType === 'date' || dataType === 'datetime')\r\n availableOptions = operators.filter((operator) => ['=', '>', '>=', '<', '<=', '<>', 'between', 'isNull'].includes(operator.id));\r\n if (dataType === 'boolean') operators.filter((operator) => ['='].includes(operator.id));\r\n if (dataType === 'int' || dataType === 'decimal')\r\n operators.filter((operator) => ['=', '>', '>=', '<', '<=', '<>', 'between', 'isNull'].includes(operator.id));\r\n\r\n return availableOptions.map((option) => option.operator);\r\n };\r\n\r\n const fieldSearchGridInit = (flex) => {\r\n function isRowEditable(row) {\r\n var item = row?.dataItem.defaultOperator;\r\n return item === 'between';\r\n }\r\n\r\n function isEmptyOrNull(row) {\r\n var item = row?.dataItem.defaultOperator;\r\n return ['isEmpty', 'isNull'].includes(item);\r\n }\r\n\r\n flex.onSelectionChanged = (e) => {\r\n var row = flex.rows[e.row];\r\n if (flex?.columns[e.col]) {\r\n if (e.col === 2) flex.columns[e.col].isReadOnly = !isRowEditable(row);\r\n }\r\n if (flex?.columns[e.col]) {\r\n if (e.col === 1) flex.columns[e.col].isReadOnly = isEmptyOrNull(row);\r\n }\r\n };\r\n\r\n flex.onCellEditEnded = (e) => {\r\n handleDirtyCheck();\r\n const grid = e.panel.grid;\r\n const editingCol = grid.columns[e.col]?.binding;\r\n const currentItem = grid.rows[e.row].dataItem;\r\n const value = currentItem?.defaultOperator;\r\n if (e.col === 0 && currentItem.value2 && value !== 10) {\r\n flex.setCellData(e.row, e.col + 2, undefined);\r\n }\r\n if (e.col === 0 && currentItem.value1 && ['isEmpty', 'isNull'].includes(value)) {\r\n flex.setCellData(e.row, e.col + 1, undefined);\r\n }\r\n\r\n const { dataType, value1, value2, defaultOperator } = currentItem;\r\n\r\n if (dataType === 'date') {\r\n if (editingCol === 'value1') flex.setCellData(e.row, e.col, formatToShowDate(value1));\r\n else if (editingCol === 'value2') flex.setCellData(e.row, e.col, formatToShowDate(value2));\r\n }\r\n if (dataType === 'datetime') {\r\n if (editingCol === 'value1') flex.setCellData(e.row, e.col, formatToShowDateTime(value1));\r\n else if (editingCol === 'value2')\r\n flex.setCellData(\r\n e.row,\r\n e.col,\r\n formatToShowDateTime(value2, { format: 'dd/MM/yyyy', d: 0, m: 1, y: 2 }, 'dd/MM/yyyy HH:mm', null, '23:59')\r\n );\r\n }\r\n };\r\n\r\n const extraRow = new wjcGrid.Row();\r\n extraRow.allowMerging = true;\r\n var panel = flex.columnHeaders;\r\n\r\n panel.rows.splice(0, 0, extraRow);\r\n panel.rows.forEach((r) => {\r\n if (r?.index === 1) r.visible = false;\r\n });\r\n for (let colIndex = 0; colIndex <= 2; colIndex++) {\r\n panel?.setCellData(0, colIndex, 'Αναζήτηση');\r\n }\r\n\r\n // flex.onSelectionChanging.addHandler((s, e) => {\r\n // var row = s.rows[e.row];\r\n // });\r\n\r\n flex.itemFormatter = (panel, r, c, cell) => {\r\n toggleClass(cell, 'cell-custom', true);\r\n if (panel === flex.rowHeaders && c === 0) {\r\n cell.textContent = flex.rows[r].dataItem.title;\r\n flex.rowHeaders.columns[0].width = 140;\r\n }\r\n if (c === 2) {\r\n if (flex.getCellData(r, c - 2) === 'between') toggleClass(cell, 'cell-custom', true);\r\n else toggleClass(cell, 'cell-country', true);\r\n }\r\n if (c === 1) {\r\n if (flex.getCellData(r, c - 1) === 'isNull' || flex.getCellData(r, c - 1) === 'isEmpty')\r\n toggleClass(cell, 'cell-country', true);\r\n else toggleClass(cell, 'cell-custom', true);\r\n }\r\n };\r\n\r\n flex.prepareCellForEdit.addHandler((s, e) => {\r\n if (e.col === 1) {\r\n const rootEl = document.createElement('div');\r\n rootEl.style.width = '100%';\r\n rootEl.style.height = '100%';\r\n let control;\r\n const inputType = s.rows[e.row].dataItem['dataType'];\r\n const lineId = s.rows[e.row].dataItem['fieldId'];\r\n switch (inputType) {\r\n case 'bool':\r\n control = new wjInput.ComboBox(rootEl, {\r\n itemsSource: ['ΝΑΙ', 'ΟΧΙ', '‎']\r\n });\r\n break;\r\n case 'text':\r\n control = document.createElement('TextArea');\r\n control.value = s.getCellData(e.row, e.col, false);\r\n rootEl.appendChild(control);\r\n break;\r\n default:\r\n return;\r\n }\r\n if (s.activeEditor) {\r\n const parentCell = s.activeEditor.parentElement;\r\n parentCell.style.padding = '0';\r\n parentCell.insertBefore(rootEl, s.activeEditor);\r\n control.focus();\r\n\r\n if (!wjcCore.isUndefined(control['text'])) {\r\n control['text'] = s.activeEditor.value;\r\n }\r\n }\r\n const cellEditEndHandler = (s2, args) => {\r\n s2.cellEditEnding.removeHandler(cellEditEndHandler);\r\n if (!args.cancel) {\r\n args.cancel = true;\r\n\r\n switch (inputType) {\r\n case 'number':\r\n case 'string':\r\n case 'date':\r\n s2.setCellData(args.row, args.col, control.value, false);\r\n break;\r\n case 'bool':\r\n s2.setCellData(args.row, args.col, control.selectedItem, false);\r\n break;\r\n default:\r\n }\r\n if (control.dispose) {\r\n control.dispose();\r\n }\r\n }\r\n };\r\n s.cellEditEnding.addHandler(cellEditEndHandler);\r\n }\r\n });\r\n flex.autoSizeColumns(0, flex.columns.length);\r\n flex.autoSizeColumns(0, flex.columns.length, true);\r\n flex.autoSizeRows(0, flex.rows.length);\r\n flex.autoSizeRows(0, flex.rows.length, true);\r\n };\r\n\r\n const fieldSearchLoadedRows = (flex) => {\r\n flex.autoSizeColumns(0, flex.columns.length);\r\n flex.autoSizeColumns(0, flex.columns.length, true);\r\n flex.autoSizeRows(0, flex.rows.length);\r\n flex.autoSizeRows(0, flex.rows.length, true);\r\n };\r\n\r\n return (\r\n {\r\n if (!gridRefs?.current?.find((r) => r.name === name)) gridRefs.current.push({ grid: el, name });\r\n }}\r\n alternatingRowStep={0}\r\n showMarquee={true}\r\n initialized={fieldSearchGridInit}\r\n fieldSearchLoadedRows={fieldSearchLoadedRows}\r\n itemsSource={props?.data}\r\n selectionMode={wjcGrid.SelectionMode.Cell}\r\n allowMerging=\"ColumnHeaders\"\r\n isReadOnly={false}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nexport default FieldSearchGrid;\r\n","/* eslint-disable */\r\nimport { FlexGrid, FlexGridColumn } from '@grapecity/wijmo.react.grid';\r\nimport * as wjcGrid from '@grapecity/wijmo.grid';\r\nimport { useEffect, memo } from 'react';\r\nimport * as wjInput from '@grapecity/wijmo.input';\r\nimport * as wjcCore from '@grapecity/wijmo';\r\nimport { toggleClass } from '@grapecity/wijmo';\r\nimport './criteria.css';\r\n\r\nconst ValueListGrid = memo((props) => {\r\n const { gridRefs, name, handleDirtyCheck } = props;\r\n\r\n const valueListGridInit = (flex) => {\r\n //collapse everything\r\n flex.hostElement.addEventListener('dblclick', function (e) {\r\n flex.finishEditing();\r\n });\r\n\r\n //hide id\r\n flex.columns?.forEach((c) => {\r\n if (c.binding === 'id') c.visible = false;\r\n });\r\n\r\n flex.itemFormatter = (panel, r, c, cell) => {\r\n toggleClass(cell, 'criteria', true);\r\n if (flex.rows[r]?.level === 0) {\r\n toggleClass(cell, 'criteriaBold', true);\r\n const children = flex?.rows[r]?.dataItem?.children;\r\n let dirtyChildren = 0;\r\n children?.forEach((child) => {\r\n if (child.isSelected) dirtyChildren += 1;\r\n });\r\n if (dirtyChildren && dirtyChildren < children?.length) toggleClass(cell, 'criteriaRed', true);\r\n }\r\n };\r\n //handle cell edit and check all\r\n\r\n flex.onCellEditEnded = (e) => {};\r\n\r\n flex.formatItem.addHandler((s, e) => {\r\n flex.onCellEditEnded = (e) => {\r\n const grid = e.panel.grid;\r\n const row = s.rows[e.row];\r\n const editingCol = grid.columns[e.col];\r\n const currentItem = grid.rows[e.row].dataItem;\r\n const value = currentItem?.isSelected;\r\n handleDirtyCheck();\r\n // if (currentItem?.children) {\r\n // currentItem?.children.forEach((child) => {\r\n // const rows = flex.rows;\r\n // const updateRow = rows.find((r) => r.dataItem.value == child.value);\r\n // flex.setCellData(updateRow.index, editingCol.index, value);\r\n // });\r\n // }\r\n if (row.hasChildren) {\r\n var curRowIdx = row.index + 1,\r\n childRow = s.rows[curRowIdx++];\r\n while (childRow && childRow.level > row.level) {\r\n flex.setCellData(childRow.index, editingCol.index, value);\r\n childRow = s.rows[curRowIdx++];\r\n }\r\n }\r\n flex.collectionView.items.forEach((item, index) => {\r\n if (item.children) {\r\n let dirtyChildren = 0;\r\n item.children.forEach((child) => {\r\n if (child.isSelected) {\r\n dirtyChildren += 1;\r\n }\r\n });\r\n }\r\n });\r\n };\r\n flex.rows.forEach((r) => {\r\n r.isReadOnly = false;\r\n });\r\n flex.columns.forEach((c) => {\r\n if (c.binding !== 'isSelected') c.isReadOnly = true;\r\n });\r\n // replace collapse button with | + | AND | - |\r\n var row = s.rows[e.row];\r\n if (s.cells === e.panel && row instanceof wjcGrid.GroupRow) {\r\n // remove this class to remove the icons\r\n var classToRemove = 'wj-glyph-' + (row.isCollapsed ? 'right' : 'down-right');\r\n // change icon according to font awsome icons\r\n var classToAdd = row?.isCollapsed ? 'fa-sharp fa-plus boldim' : 'fa-minus boldim';\r\n var span = e.cell.querySelector('span.' + classToRemove);\r\n if (span) {\r\n wjcCore.removeClass(span, classToRemove);\r\n wjcCore.createElement(``, span);\r\n }\r\n }\r\n });\r\n flex.autoSizeColumns(0, flex.columns.length);\r\n flex.autoSizeColumns(0, flex.columns.length, true);\r\n flex.autoSizeRows(0, flex.rows.length);\r\n flex.autoSizeRows(0, flex.rows.length, true);\r\n flex.collapseGroupsToLevel(0);\r\n };\r\n\r\n // Make checkboxes editable (Wijmo treegrid makes rows ReadOnly)\r\n const valueListGridLoadedRows = (flex) => {\r\n flex.collapseGroupsToLevel(0);\r\n flex.autoSizeColumns(0, flex.columns.length);\r\n flex.autoSizeColumns(0, flex.columns.length, true);\r\n flex.autoSizeRows(0, flex.rows.length);\r\n flex.autoSizeRows(0, flex.rows.length, true);\r\n flex.refreshCells();\r\n };\r\n\r\n const dataLines1 = [\r\n {\r\n id: 0,\r\n selected: false,\r\n name: 'Κριτήριο23',\r\n children: [{ id: 2, selected: false, name: 'λαλαλα' }]\r\n },\r\n { id: 3, selected: false, name: 'Κριτήριο2' },\r\n { id: 4, selected: false, name: 'Κριτήριο3' },\r\n {\r\n id: 5,\r\n selected: false,\r\n name: 'Κριτήριο23'\r\n }\r\n ];\r\n\r\n return (\r\n {\r\n if (!gridRefs?.current?.find((r) => r.name === name)) gridRefs.current.push({ grid: el, name });\r\n }}\r\n initialized={valueListGridInit}\r\n loadedRows={valueListGridLoadedRows}\r\n itemsSource={props?.data}\r\n selectionMode={wjcGrid.SelectionMode.ListBox}\r\n headersVisibility={0}\r\n childItemsPath=\"children\"\r\n isReadOnly={false}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nexport default ValueListGrid;\r\n","/* eslint-disable */\r\n\r\n// Material & React\r\nimport { Stack, Typography, Tooltip, Box, IconButton, ButtonGroup, Button } from '@mui/material';\r\nimport ListIcon from '@mui/icons-material/List';\r\nimport TextFieldsIcon from '@mui/icons-material/TextFields';\r\nimport SearchIcon from '@mui/icons-material/Search';\r\nimport ClearIcon from '@mui/icons-material/Clear';\r\nimport FilterAltIcon from '@mui/icons-material/FilterAlt';\r\nimport { useState } from 'react';\r\n\r\n// Wijmo\r\nimport { Popup } from '@grapecity/wijmo.react.input';\r\n\r\n// Project Imports\r\nimport FieldSearchGrid from './FieldSearchGrid';\r\nimport ValueListGrid from './ValueListGrid';\r\nimport './criteria.css';\r\nimport { useTheme } from '@emotion/react';\r\n\r\nconst Criteria = (props) => {\r\n const [tab, setTab] = useState(0);\r\n\r\n const theme = useTheme();\r\n\r\n const { popupInitialized, criteriaRef, submit, handleDirtyCheck, dirtyValuesList, dirtyFieldSearch } = props;\r\n\r\n const reset = () => {\r\n let dirty = false;\r\n criteriaRef?.current?.critFldsSearch?.forEach((crit) => {\r\n crit.value1 = null;\r\n crit.value2 = null;\r\n\r\n if (crit.defaultOperator === 'isNull' || crit.defaultOperator === 'isEmpty') {\r\n if (['date', 'datetime', 'int', 'decimal', 'boolean'].includes(crit.dataType)) crit.defaultOperator = '=';\r\n else crit.defaultOperator = 'contains';\r\n }\r\n });\r\n criteriaRef?.current?.critValuesList?.forEach((crit) => {\r\n crit.isSelected = false;\r\n crit?.children?.forEach((child, index) => {\r\n child.isSelected = false;\r\n });\r\n });\r\n props.gridRefs.current.forEach((gridRef) => gridRef.grid.control.refreshCells());\r\n handleDirtyCheck();\r\n };\r\n\r\n if (criteriaRef?.current)\r\n return (\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Κριτήρια /\r\n \r\n  \r\n \r\n {tab === 0 && criteriaRef?.current?.critValuesList ? 'Λίστα Τιμών' : 'Πεδία Αναζήτησης'}\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {criteriaRef?.current?.critValuesList && (\r\n \r\n \r\n setTab(0)}>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n setTab(1)}>\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n OK\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n else return null;\r\n};\r\n\r\nexport default Criteria;\r\n","/*eslint-disable*/\r\n// mui- imports\r\nimport Box from '@mui/material/Box';\r\nimport IconButton from '@mui/material/IconButton';\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport excel from 'assets/images/excelIcon.png';\r\nimport csv from 'assets/images/csvIcon.png';\r\nimport pdf from 'assets/images/pdf.png';\r\nimport { useEffect, useState, forwardRef, useImperativeHandle, useRef, useContext } from 'react';\r\nimport { ArrowBack, FilterAlt, ViewColumnTwoTone, Refresh, BarChart } from '@mui/icons-material';\r\nimport { useNavigate } from 'react-router-dom';\r\n// import { authorizedGenApiCall, authorizedReportApiCall } from \"api/genApiCalls\";\r\n// import { apiDataKeyExplorerToolbarData } from \"api/ApiDatakeys\";\r\nimport { Stack } from '@mui/material';\r\n\r\nimport ColumnPicker from './components/ColumnPicker';\r\nimport { useForm } from 'react-hook-form';\r\nimport FilesMenu from './components/FilesMenu';\r\nimport { downloadFile, openPdf } from 'qubCommon/helperMethods/fileHelper';\r\nimport Criteria from './components/Criteria';\r\nimport { formatCritFldSearch, formatValuesListSearch } from 'qubCommon/helperMethods/formatRequest';\r\nimport { reports } from 'apis';\r\nimport { useMe } from 'hooks/useMe';\r\nimport NoteAddIcon from '@mui/icons-material/NoteAdd';\r\nimport { LoaderContext } from 'context/loaderContext';\r\nimport { useLoading } from 'hooks/useLoading';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Dropdown } from 'qubCommon/Inputs';\r\n\r\nconst ToolbarExplorer = forwardRef((props, ref) => {\r\n const navigate = useNavigate();\r\n const { t } = useTranslation();\r\n const { whoami } = useMe();\r\n /* Report Files Excel,CSV,PDF States */\r\n\r\n // Objects describing files : {id,title etc}\r\n const [menuFiles, setMenuFiles] = useState([]);\r\n // open,setOpen(anchorEl)\r\n const [filesMenu, setFilesMenu] = useState(null);\r\n // 3 Menus have the same Component so in order to open the correct one we have to set fileMenuType before openning\r\n const [fileMenuType, setFileMenuType] = useState(null);\r\n\r\n // Criteria Dirty Check\r\n const [dirtyValuesList, setDirtyValuesList] = useState(false);\r\n const [dirtyFieldSearch, setDirtyFieldSearch] = useState(false);\r\n\r\n // Redux variables\r\n\r\n // props\r\n const {\r\n excelHandleClick,\r\n webPageKey,\r\n title,\r\n gridRef,\r\n mobileGridRef,\r\n form,\r\n rptRequestVars,\r\n submit,\r\n toolbarProps,\r\n children,\r\n setToolbarLoading,\r\n hideCriteria = false\r\n } = props;\r\n // const { csvFiles, pdfFiles, excelFiles, columns, criteriaRef } = useToolbarProps({ webPageKey }); migrated to parent component\r\n const { csvFiles, pdfFiles, excelFiles, columns, criteriaRef, newTitle, newUrl, hideAddNew, showRowHeader, pageSize } = toolbarProps;\r\n\r\n // methods are used for ColumnPicker visibleFields\r\n const methods = useForm();\r\n\r\n // Criteria and ColumnPicker Popup Refs\r\n const colPopupRef = useRef();\r\n const criteriaPopupRef = useRef();\r\n\r\n // GridRefs is an array of refs used for Dynamic Criteria Component\r\n const gridRefs = useRef([]);\r\n\r\n const { setLoading } = useLoading();\r\n\r\n const handleDirtyCheck = (initRef) => {\r\n if (initRef) {\r\n let dirty = false;\r\n initRef?.current?.critFldsSearch?.forEach((crit) => {\r\n if (crit.value1 || crit.value2) {\r\n dirty = 'fs';\r\n }\r\n });\r\n initRef?.current?.critValuesList?.forEach((crit) => {\r\n let dirtyChildren = 0;\r\n crit?.children?.forEach((child, index) => {\r\n if (child?.isSelected) {\r\n dirtyChildren += 1;\r\n }\r\n if (dirtyChildren && dirtyChildren !== crit?.children?.length && index === crit?.children?.length - 1)\r\n if (dirty === 'fs' || dirty === 'fsvl') dirty = 'fsvl';\r\n else dirty = 'vl';\r\n });\r\n });\r\n if (dirty === 'fsvl') {\r\n setDirtyFieldSearch(true);\r\n setDirtyValuesList(true);\r\n } else if (dirty === 'fs') {\r\n setDirtyFieldSearch(true);\r\n setDirtyValuesList(false);\r\n } else if (dirty === 'vl') {\r\n setDirtyFieldSearch(false);\r\n setDirtyValuesList(true);\r\n } else {\r\n setDirtyFieldSearch(false);\r\n setDirtyValuesList(false);\r\n }\r\n } else {\r\n let dirty = false;\r\n criteriaRef?.current?.critFldsSearch?.forEach((crit) => {\r\n if (crit.value1 || crit.value2) {\r\n dirty = 'fs';\r\n }\r\n });\r\n criteriaRef?.current?.critValuesList?.forEach((crit) => {\r\n let dirtyChildren = 0;\r\n crit?.children?.forEach((child, index) => {\r\n if (child?.isSelected) {\r\n dirtyChildren += 1;\r\n }\r\n if (dirtyChildren && dirtyChildren !== crit?.children?.length && index === crit?.children?.length - 1)\r\n if (dirty === 'fs' || dirty === 'fsvl') dirty = 'fsvl';\r\n else dirty = 'vl';\r\n });\r\n });\r\n if (dirty === 'fsvl') {\r\n setDirtyFieldSearch(true);\r\n setDirtyValuesList(true);\r\n } else if (dirty === 'fs') {\r\n setDirtyFieldSearch(true);\r\n setDirtyValuesList(false);\r\n } else if (dirty === 'vl') {\r\n setDirtyFieldSearch(false);\r\n setDirtyValuesList(true);\r\n } else {\r\n setDirtyFieldSearch(false);\r\n setDirtyValuesList(false);\r\n }\r\n }\r\n };\r\n\r\n // !!! ΕΙΤ 2023.06.01 - Το κλεινω προσωρινα\r\n // set Tab Title\r\n useEffect(() => {\r\n // document.title = webPageKey;\r\n handleDirtyCheck(criteriaRef);\r\n }, [criteriaRef?.current?.critValuesList]);\r\n\r\n // populating methods based on fetched data\r\n useEffect(() => {\r\n if (columns?.length >= 1) {\r\n columns?.forEach((c) => {\r\n c?.children?.forEach((child) => {\r\n methods.setValue(`${child.fldName}`, Boolean(child.isVisible));\r\n });\r\n });\r\n }\r\n }, [columns, methods]);\r\n\r\n // function used to map data to grid (binding,header,visible) for unbound grids\r\n const mapHeaders = (flex) => {\r\n flex.columns.forEach((c) => {\r\n c.visible = false;\r\n });\r\n flex.columns.forEach((c) => {\r\n c.wordWrap = true;\r\n\r\n columns.forEach((column) => {\r\n const res = column.children.find((item) => item.fldName === c.binding);\r\n if (res && methods.getValues(res?.fldName)) {\r\n c.visible = true;\r\n // flex.autoSizeColumn(c.index);\r\n }\r\n if (res?.fldTitle) {\r\n c.header = res?.fldTitle;\r\n }\r\n });\r\n });\r\n };\r\n\r\n // imperative handler, our Ref comes from our Components Hook. Px. ParastatikaExplorer(Component), useParastatikaExplorer(MainHook): ref is created in useParastatikaExplorer\r\n useImperativeHandle(ref, () => ({\r\n mapHeaders,\r\n criteriaRef\r\n }));\r\n\r\n // columnPickerPopUP initialization\r\n const colPopupInitialized = (popup) => {\r\n popup.isDraggable = true;\r\n popup.isResizable = false;\r\n popup.fadeOut = false;\r\n popup.fadeIn = false;\r\n\r\n colPopupRef.current = popup;\r\n };\r\n\r\n // criteriaPopUP initialization\r\n const criteriaPopupInitialized = (popup) => {\r\n popup.isDraggable = true;\r\n popup.isResizable = true;\r\n popup.fadeOut = false;\r\n popup.fadeIn = false;\r\n criteriaPopupRef.current = popup;\r\n };\r\n\r\n // Pick File, this function will be probided to FilesMenu\r\n const handleFilePick = async (file) => {\r\n setToolbarLoading(true);\r\n const filterParams = form?.getValues();\r\n if (file?.rptId === 'default') {\r\n excelHandleClick();\r\n setLoading(false);\r\n } else if (fileMenuType === 'Pdf') {\r\n // let params;\r\n // const formValues = formatRequestObject(form?.getValues());\r\n // if (rptRequestVars && form?.getValues()) {\r\n // params = [...rptRequestVars, ...formValues, { dataKey: 'rptId', dataValue: file?.rptId }];\r\n // } else if (rptRequestVars && !form?.getValues()) {\r\n // params = [...rptRequestVars, { dataKey: 'rptId', dataValue: file?.rptId }];\r\n // } else if (!rptRequestVars && form.getValues()) {\r\n // params = [...formValues, { dataKey: 'rptId', dataValue: file?.rptId }];\r\n // } else params = [{ dataKey: 'rptId', dataValue: file?.rptId }];\r\n\r\n filterParams.critFldsSearch = formatCritFldSearch(criteriaRef?.current?.critFldsSearch);\r\n filterParams.critValuesList = formatValuesListSearch(criteriaRef?.current?.critValuesList);\r\n\r\n try {\r\n const res = await reports.getQubReport(\r\n {\r\n ReportId: file?.rptId,\r\n DBKey: window.CONFIG.dbKey,\r\n UserId: whoami?.userId,\r\n ReportParams: filterParams\r\n },\r\n {\r\n responseType: 'blob'\r\n }\r\n );\r\n openPdf(res);\r\n } catch {\r\n console.log('error on get QubReport');\r\n }\r\n } else if (fileMenuType === 'Excel') {\r\n try {\r\n const res = await reports.getQubReportExcel(\r\n {\r\n ReportId: file?.rptId,\r\n DBKey: window.CONFIG.dbKey,\r\n UserId: whoami?.userId,\r\n ReportParams: filterParams\r\n },\r\n {\r\n responseType: 'blob'\r\n }\r\n );\r\n downloadFile(res);\r\n } catch {\r\n console.log('error on getQubReport');\r\n }\r\n } else if (fileMenuType === 'Csv') {\r\n try {\r\n const res = await reports.getQubReportExcel(\r\n {\r\n ReportId: file?.rptId,\r\n DBKey: window.CONFIG.dbKey,\r\n UserId: whoami?.userId,\r\n ReportParams: filterParams\r\n },\r\n {\r\n responseType: 'blob'\r\n }\r\n );\r\n downloadFile(res);\r\n } catch {\r\n console.log('error on getQubReport');\r\n }\r\n }\r\n setToolbarLoading(false);\r\n setFilesMenu(null);\r\n };\r\n\r\n // Open Menu based on Icon (xls,csv,pdf)\r\n const handleMenuOpen = (event, fileType) => {\r\n switch (fileType) {\r\n case 'xls':\r\n if (excelFiles?.length > 0) {\r\n setMenuFiles(excelFiles);\r\n setFileMenuType('Excel');\r\n setFilesMenu(event.currentTarget);\r\n }\r\n break;\r\n case 'csv':\r\n if (csvFiles?.length > 0) {\r\n setMenuFiles(csvFiles);\r\n setFileMenuType('Csv');\r\n setFilesMenu(event.currentTarget);\r\n }\r\n break;\r\n case 'pdf':\r\n if (pdfFiles?.length > 0) {\r\n setMenuFiles(pdfFiles);\r\n setFileMenuType('Pdf');\r\n setFilesMenu(event.currentTarget);\r\n }\r\n break;\r\n default:\r\n console.log('provide a valid file type');\r\n }\r\n };\r\n\r\n const handleFilterSubmit = () => {\r\n submit();\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {columns?.length >= 1 && (\r\n \r\n )}\r\n \r\n {!hideCriteria && (\r\n \r\n )}\r\n\r\n \r\n \r\n {!hideCriteria && (\r\n \r\n criteriaPopupRef.current.show(true)} sx={{}}>\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {columns?.length !== 0 && (\r\n \r\n \r\n colPopupRef.current.show(true)}>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n handleMenuOpen(e, 'xls')}>\r\n \r\n \r\n \r\n \r\n \r\n {!hideAddNew && (\r\n \r\n navigate(newUrl)}>\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {children}\r\n \r\n \r\n \r\n {pageSize?.length > 0 && (\r\n \r\n )}\r\n \r\n {/* \r\n {title ?? webPageKey}\r\n */}\r\n \r\n \r\n );\r\n});\r\n\r\nexport default ToolbarExplorer;\r\n","// material-ui\r\nimport { Card, Divider, Typography, useTheme } from '@mui/material';\r\n\r\n// ==============================|| SKELETON - EARNING CARD ||============================== //\r\n\r\nconst OptionCard = ({ description, clickAction, selected, additionalInfo }) => {\r\n const theme = useTheme();\r\n\r\n return (\r\n \r\n
\r\n \r\n {null}\r\n
\r\n
\r\n {description}\r\n
\r\n \r\n {selected ?
{additionalInfo}
: null}\r\n \r\n );\r\n};\r\n\r\nexport default OptionCard;\r\n","import { useState } from 'react';\r\nimport { Box, FormControlLabel, Checkbox, Typography } from '@mui/material';\r\nimport { TreeItem } from '@mui/lab';\r\nimport QubCheckbox from 'qubCommon/Inputs/Checkbox';\r\n\r\nconst TreeParent = ({ category, methods, gridRef, extendLastColumn, mobileColumnChange = () => {} }) => {\r\n const { children } = category;\r\n const [categoryCheck, setCategoryCheck] = useState(false);\r\n\r\n // const fetchData = (id) => {\r\n // if (data === null) {\r\n // children?.forEach((checkbox) => {\r\n // checkbox.defaultValue = categoryCheck;\r\n // });\r\n // }\r\n // return dataLines[id];\r\n // };\r\n\r\n const handleCheckAll = () => {\r\n children?.forEach((checkbox) => {\r\n methods.setValue(`${checkbox.fldName}`, !categoryCheck);\r\n const c = gridRef.current.getColumn(checkbox.fldName);\r\n if (c) c.visible = !categoryCheck;\r\n });\r\n setCategoryCheck(!categoryCheck);\r\n mobileColumnChange();\r\n extendLastColumn();\r\n };\r\n\r\n const alterHeaders = (name) => {\r\n const headerChange = methods.getValues(name);\r\n {\r\n const c = gridRef.current.getColumn(name);\r\n if (c) c.visible = !headerChange;\r\n }\r\n extendLastColumn();\r\n mobileColumnChange();\r\n };\r\n\r\n return (\r\n {\r\n // if (data === null) setData(() => fetchData(category.id));\r\n // }}\r\n label={\r\n event.stopPropagation()}>\r\n {category.grpDescr}}\r\n control={\r\n \r\n }\r\n />\r\n \r\n }\r\n >\r\n <>\r\n {category?.children?.map((child) => {\r\n return (\r\n alterHeaders(child?.fldName)}\r\n label={child?.fldTitle}\r\n defaultValue={Boolean(child?.isVisible) || false}\r\n size=\"small\"\r\n style={{\r\n width: '20px',\r\n marginLeft: 19,\r\n marginRight: 5,\r\n padding: 0\r\n }}\r\n />\r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TreeParent;\r\n","import { FormProvider } from 'react-hook-form';\r\nimport { TreeView } from '@mui/lab';\r\nimport TreeParent from './TreeParent';\r\nimport { Popup } from '@grapecity/wijmo.react.input';\r\nimport { Stack, Button, Typography, Checkbox, FormControlLabel } from '@mui/material';\r\nimport Add from '@mui/icons-material/Add';\r\nimport Remove from '@mui/icons-material/Remove';\r\nimport { useEffect } from 'react';\r\n// import { authorizedGenApiCall } from 'api/genApiCalls';\r\n// import { apiDataKeyCOLSUserStateSave } from \"api/ApiDatakeys\";\r\nimport { useSelector } from 'react-redux';\r\nimport { apiEntities } from 'apis';\r\n\r\nimport ViewColumnIcon from '@mui/icons-material/ViewColumn';\r\nimport { wijmoExtendLastColumn } from 'qubCommon/wijmoHelpers/columnMethods';\r\nimport { convertGridToMobile } from 'qubCommon/wijmoHelpers/convertToMobile';\r\n\r\nconst ColumnPicker = (props) => {\r\n const { columns, popupInitialized, gridRef, mobileGridRef, methods, webPageKey, showRowHeader } = props;\r\n const onSubmit = (data) => {\r\n // saveColumnPickerSettings();\r\n };\r\n\r\n const saveColumnPickerSettings = async () => {\r\n const columnsHelp = [];\r\n columns.forEach((column) => column?.children?.forEach((col) => columnsHelp.push(col)));\r\n const data = methods?.getValues();\r\n let submitJSON = '';\r\n const submitJSON2 = [];\r\n /* eslint-disable */ for (const [key, value] of Object.entries(data)) {\r\n const res = columnsHelp.find((item) => item.fldName === key);\r\n\r\n if (res) submitJSON2.push({ fldId: res.fldId, isSelected: value });\r\n if (res && value) submitJSON += `${res?.fldId},`;\r\n if (key === 'wijmoRowHeader' && value) submitJSON += `${-999}`;\r\n }\r\n const res = await apiEntities.getData({\r\n dataKey: 'Qub-ColsUserState-Save',\r\n parameters: {\r\n webPageKey: webPageKey,\r\n GridVisibleColIds: submitJSON\r\n }\r\n });\r\n };\r\n\r\n // useEffect(() => {\r\n // const handleTabClose = (event) => {\r\n // event.preventDefault();\r\n // saveColumnPickerSettings();\r\n // };\r\n\r\n // window.addEventListener('beforeunload', handleTabClose);\r\n\r\n // return () => {\r\n // window.removeEventListener('beforeunload', handleTabClose);\r\n // };\r\n // }, []);\r\n const extendLastColumn = () => {\r\n wijmoExtendLastColumn(gridRef.current, columns, false);\r\n };\r\n\r\n const mobileColumnChange = () => {\r\n try {\r\n convertGridToMobile(gridRef, mobileGridRef.current, columns);\r\n } catch {\r\n console.log('no mobile grid here yet');\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Στήλες\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n }\r\n defaultExpandIcon={}\r\n defaultExpanded={columns?.map((c) => c.grpDescr)}\r\n multiSelect\r\n sx={{}}\r\n >\r\n {\r\n if (e.target.checked) {\r\n gridRef.current.headersVisibility = 'All';\r\n methods.setValue('wijmoRowHeader', true);\r\n wijmoExtendLastColumn(gridRef.current, columns, false, false, 'enable');\r\n } else {\r\n methods.setValue('wijmoRowHeader', false);\r\n gridRef.current.headersVisibility = 'Column';\r\n wijmoExtendLastColumn(gridRef.current, columns, false, false, 'disable');\r\n }\r\n mobileColumnChange();\r\n }}\r\n defaultChecked={showRowHeader}\r\n size=\"small\"\r\n style={{\r\n width: '20px',\r\n marginLeft: 5,\r\n marginRight: 5,\r\n padding: 0\r\n }}\r\n />\r\n }\r\n label={A/A}\r\n />\r\n {columns?.map((category) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {!hasUser && f?.functionId > 200 && f?.isActive && (\r\n navigate(`/users/create/${personId}/${f?.personFunctionId}`)}\r\n sx={{ margin: 1 }}\r\n >\r\n {t('CreateNewUser')}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n//\r\n\r\nPersonFunction.propTypes = {\r\n f: PropTypes.object.isRequired,\r\n onClick: PropTypes.func.isRequired\r\n};\r\n\r\nexport const PersonFunctionsPretty = ({ personId, showTitle = true, hasUser }) => {\r\n const [functions, setFunctions] = useState(null);\r\n\r\n const navigate = useNavigate();\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n const getFunctions = async () => {\r\n const result = await person.getFunctions({ personId });\r\n setFunctions(result);\r\n };\r\n if (!isNil(personId)) getFunctions();\r\n else setFunctions(null);\r\n }, [personId]);\r\n\r\n const onClick = (func) => {\r\n if (func.isOfficial) {\r\n navigate(`/officials/manage/${func.personFunctionId}/details`);\r\n } else if (func.dataKey === '@Athlete') {\r\n navigate(`/athletes/manage/${func.personFunctionId}/details`);\r\n }\r\n };\r\n\r\n return functions ? (\r\n \r\n {functions.map((f) => (\r\n \r\n ))}\r\n \r\n ) : null;\r\n};\r\n\r\nconst Search = () => {\r\n const form = useForm();\r\n const { t } = useTranslation();\r\n\r\n const personId = useWatch({ control: form.control, name: 'Id' });\r\n const personQuery = usePerson(personId);\r\n\r\n return (\r\n \r\n \r\n form.setValue('Id', null)}\r\n />\r\n \r\n {personQuery.isSuccess && personQuery.data.id && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Search;\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const clubApi = {\r\n post: (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/club${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(`/club${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const createOrUpdateClub = async (params) => clubApi.post('/createorupdateclub', params);\r\n\r\nexport const updateAvatar = async (params) => clubApi.post('/uploadavatar', params);\r\n\r\nexport const getAvatar = async (params) => clubApi.post('/getavatar', params);\r\n\r\nexport const removeAvatar = async (params) => clubApi.post('/removeavatar', params);\r\n\r\nexport const getClub = async (params) => clubApi.get('/getclub', { params });\r\n\r\nexport const saveClub = async (params) => clubApi.post('/save', params);\r\n\r\nexport const adminSaveClub = async (params) => clubApi.post('/adminsave', params);\r\n","import React from 'react';\r\nimport { Typography, TextField, Tooltip, MenuItem, Stack } from '@mui/material';\r\nimport { useFormContext, Controller } from 'react-hook-form';\r\nimport RowLabel from './RowLabel';\r\nimport ColumnLabel from './ColumnLabel';\r\nimport { CssTextField } from './CssTextField';\r\nimport { useSelector } from 'react-redux';\r\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline';\r\n\r\nconst BaseComponent = (props) => {\r\n const { formState, getValues } = useFormContext();\r\n const { fieldsVariant } = useSelector((state) => state.customization);\r\n const {\r\n name,\r\n field,\r\n options,\r\n isReadOnly,\r\n defaultValue,\r\n label,\r\n valueName,\r\n labelName,\r\n disabled,\r\n menuAnchorRef,\r\n rowDirection = false,\r\n optionAll = false,\r\n inputProps,\r\n tooltip,\r\n changeFn = () => {},\r\n variant = fieldsVariant ?? 'standard',\r\n ...other\r\n } = props;\r\n const { onChange, value } = field;\r\n const { errors } = formState;\r\n return (\r\n \r\n {variant === 'standard' && (\r\n <>\r\n {rowDirection ? ( // variant = 'standard'\r\n \r\n ) : (\r\n \r\n \r\n {tooltip && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n {\r\n onChange(e);\r\n changeFn();\r\n },\r\n value: value || '',\r\n MenuProps: {\r\n anchorOrigin: {\r\n vertical: 'bottom',\r\n horizontal: 'center'\r\n },\r\n transformOrigin: {\r\n vertical: 'top',\r\n horizontal: 'center'\r\n }\r\n },\r\n defaultValue,\r\n displayEmpty: true\r\n }}\r\n fullWidth\r\n label={variant === 'standard' ? null : label}\r\n variant={variant}\r\n disabled={isReadOnly || disabled}\r\n >\r\n {optionAll && (\r\n \r\n Όλα\r\n \r\n )}\r\n {Array.isArray(options) ? (\r\n options.map((option) => (\r\n \r\n {labelName ? option[labelName] : option?.label}\r\n \r\n ))\r\n ) : (\r\n
No options available...
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nconst Dropdown = (props) => {\r\n const { control } = useFormContext();\r\n const { name, rules, changeFn, ...other } = props;\r\n\r\n return (\r\n }\r\n />\r\n );\r\n};\r\n\r\nexport default Dropdown;\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const qformApi = {\r\n post: (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/qform${path}/getwithconfiguration`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(`/qform${path}/getwithconfiguration`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const getWithConfiguration = async (dataKey, params) => qformApi.post(`/${dataKey}`, params);\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const backofficeApi = {\r\n post: (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/backoffice${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(`/backoffice${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const getParams = async (params) => backofficeApi.post('/getparams', params);\r\n\r\nexport const getData = async (params) => backofficeApi.post('/getdata', params);\r\n\r\nexport const getLookups = async (params) => backofficeApi.post('/getlookups', params);\r\n\r\nexport const commitChanges = async (params) => backofficeApi.post('/commitchanges', params);\r\n\r\nexport const getForm = async (params) => backofficeApi.post('/getform', params);\r\n\r\nexport const getExplorer = async (params) =>\r\n axiosInstance\r\n .post(`/qexplorer/${params.dataKey}/get`, params)\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n });\r\n","/* eslint-disable import/no-cycle */\r\nimport axiosInstance from '../axiosInstance';\r\n\r\nexport const userApi = {\r\n post: async (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/user${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n console.log('err', err);\r\n throw err.error ? err : err?.response;\r\n }),\r\n get: async (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(\r\n `/user${path}`,\r\n { params },\r\n {\r\n cancelToken: cancelToken?.token\r\n }\r\n )\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response;\r\n })\r\n};\r\n\r\nexport const search = async (params) => userApi.post('/search', params);\r\nexport const data = async (params) => userApi.get('/data', { personId: params?.personId, userId: params?.userId });\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const transactionApi = {\r\n post: (path, params, options, cancelToken) =>\r\n axiosInstance\r\n .post(`/transaction${path}`, params, {\r\n ...options,\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, options, cancelToken) =>\r\n axiosInstance\r\n .get(\r\n `/transaction${path}`,\r\n { ...params, ...options },\r\n {\r\n cancelToken: cancelToken?.token\r\n }\r\n )\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const gettransaction = async (params, options) => transactionApi.get('/gettransaction', { params }, options);\r\n\r\nexport const createOrUpdateTransactionRequest = async (params) => transactionApi.post('/createorupdatetransactionrequest', params);\r\n\r\nexport const changeStatus = async (params) => transactionApi.post('/changeStatus', params);\r\nexport const getTransactionRequiredFiles = async (params) => transactionApi.get('/GetTransactionRequiredFiles', { params });\r\nexport const uploadFiles = async (params, options) => transactionApi.post('/UploadFile', params, options);\r\nexport const deleteFile = async (params, options) => transactionApi.post('/RemoveFile', params, options);\r\nexport const getFiles = async (params) => transactionApi.post('/GetFiles', params);\r\nexport const downloadFile = async (params, options) => transactionApi.post('/DownloadFile', params, options);\r\nexport const removeFile = async (params) => transactionApi.post('/RemoveFile', params);\r\nexport const paymentEmail = async (params) => transactionApi.post('/PaymentEmail', params);\r\n// export const transactionDetails = async (params) => transactionApi.post('/GetTransactionDetails', params);\r\nexport const splitMerge = async (params) => transactionApi.post('/SplitMerge', params);\r\nexport const getClubAdminsEmails = async (params) => transactionApi.get('/GetClubAdmisEmails', { params });\r\nexport const submitPayment = async (params, options) => transactionApi.post('/PaymentSubmittion', params, options);\r\nexport const manage = async (params) => transactionApi.get('/ManageTransaction', { params });\r\nexport const getTransactionSettings = async (params) => transactionApi.get('/GetTransactionSettings', { params });\r\nexport const paymentLink = async (params) => transactionApi.get('/CreatePaymentLink', { params });\r\nexport const newTransactionOptions = async (params) => transactionApi.get('/NewTransactionOptions', { params });\r\n","/* eslint-disable import/no-cycle */\r\nimport axiosInstance from '../axiosInstance';\r\n\r\nexport const adminApi = {\r\n post: async (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/admin${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n console.log('err', err);\r\n throw err.error ? err : err?.response;\r\n }),\r\n get: async (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(\r\n `/admin${path}`,\r\n { params },\r\n {\r\n cancelToken: cancelToken?.token\r\n }\r\n )\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response;\r\n })\r\n};\r\n\r\nexport const impersonate = async (params) => adminApi.post('/impersonate', params);\r\nexport const exitImpersonation = async () => adminApi.post('/exitImpersonation');\r\nexport const qubTablesBackOffice = async () => adminApi.get('/qubTablesBackOffice');\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const applicationsApi = {\r\n post: (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/applications${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(`/applications${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const getApplicationsType = async (params) => applicationsApi.post('/getapplicationstypes', params);\r\n\r\nexport const getApplicationById = async (params) => applicationsApi.get('/getbyid', { params });\r\n\r\nexport const createApplication = async (params) => applicationsApi.post('/save', params);\r\n\r\nexport const changeStatus = async (params) => applicationsApi.post('/changestatus', params);\r\n\r\nexport const approval = async (params) => applicationsApi.post('/approval', params);\r\n\r\nexport const updateApplication = async (params) => applicationsApi.post('/update', params);\r\n\r\nexport const getSettings = async (params) => applicationsApi.get('/getSettings', { params });\r\n\r\nexport const getAllByGuid = async (params) => applicationsApi.get('/getallbyguid', { params });\r\n\r\nexport const getSettingsByApplicationType = async (params) => applicationsApi.get('/settingsByApplicationType', { params });\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const genericApi = {\r\n post: (path, params, options, cancelToken) => {\r\n return axiosInstance\r\n .post(`/generic${path}`, params, {\r\n ...options,\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n });\r\n },\r\n get: (path, params, options, cancelToken) =>\r\n axiosInstance\r\n .get(`/generic${path}`, params, {\r\n ...options,\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const getFiles = async (params, options) => genericApi.post('/getFiles', params, options);\r\n\r\nexport const downloadFile = async (params, options) => genericApi.post('/downloadfile', params, options);\r\n\r\nexport const downloadFileAsBase64 = async (params) => genericApi.get('/downloadfileasbase64', { params });\r\n\r\nexport const removeFile = async (params, options) => genericApi.post('/removefile', params, options);\r\n\r\nexport const getAssets = async () => genericApi.post('/getassets');\r\n\r\nexport const getFilesDataKeyByAppTypeId = async (params) => genericApi.get('/filesDataKeyByAppTypeId', { params });\r\n\r\nexport const uploadFiles = async (params, options) => genericApi.post('/uploadfiles', params, options);\r\n\r\nexport const getAvatar = async (params) => genericApi.post('/getavatar', params);\r\n\r\nexport const removeAvatar = async (params) => genericApi.post('/removeavatar', params);\r\n\r\nexport const getSettings = async (params) => genericApi.post('/getsettings', params);\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const emailToolApi = {\r\n post: (path, params, options, cancelToken) =>\r\n axiosInstance\r\n .post(`/emailTool${path}`, params, {\r\n ...options,\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(`/emailTool${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const getOrganizations = async (params) => emailToolApi.get('/getOrganizations', { params });\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const dashboardApi = {\r\n post: (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/dashboard${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(`/dashboard${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const statistics = async (params) => dashboardApi.post('/statistics', params);\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const validatorApi = {\r\n post: (path, params, options, cancelToken) =>\r\n axiosInstance\r\n .post(`/validator${path}`, params, {\r\n ...options,\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(`/validator${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const validateAmka = async (params) => validatorApi.post('/validateAmka', params);\r\nexport const validateAfm = async (params) => validatorApi.post('/validateAfm', params);\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const notificationsApi = {\r\n post: (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/notifications${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(`/notifications${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const getNotifications = async (params) => notificationsApi.get('/getnotifications', { params });\r\n","/* eslint-disable import/no-cycle */\r\nimport axiosInstance from '../axiosInstance';\r\n\r\nexport const commonApi = {\r\n post: async (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/common${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n console.log('err', err);\r\n throw err.error ? err : err?.response;\r\n }),\r\n get: async (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(\r\n `/common${path}`,\r\n { params },\r\n {\r\n cancelToken: cancelToken?.token\r\n }\r\n )\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response;\r\n })\r\n};\r\n\r\nexport const lookupDefaultValue = async (params) => commonApi.get('/GetLookupDefaultValue', params);\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const translationApi = {\r\n post: (path, params, options, cancelToken) =>\r\n axiosInstance\r\n .post(`/translation${path}`, params, {\r\n ...options,\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, options, cancelToken) =>\r\n axiosInstance\r\n .get(\r\n `/translation${path}`,\r\n { ...params, ...options },\r\n {\r\n cancelToken: cancelToken?.token\r\n }\r\n )\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const getResources = async (params) => translationApi.get('/GetTranslationResources', { params });\r\n","/* eslint-disable import/no-cycle */\r\nimport axiosInstance from '../axiosInstance';\r\n\r\nexport const devicesApi = {\r\n post: async (path, params, cancelToken) =>\r\n axiosInstance\r\n .post(`/CloudMessaging${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n console.log('err', err);\r\n throw err.error ? err : err?.response;\r\n }),\r\n get: async (path, params, cancelToken) =>\r\n axiosInstance\r\n .get(\r\n `/CloudMessaging${path}`,\r\n { params },\r\n {\r\n cancelToken: cancelToken?.token\r\n }\r\n )\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response;\r\n })\r\n};\r\n\r\nexport const getRegisteredDevices = async () => devicesApi.get('/GetRegisteredDevices'); // dont use it\r\n\r\nexport const registerDevice = async (params) => devicesApi.post('/PairDevice', params);\r\n\r\nexport const issueActivationToken = async (params) => devicesApi.get('/IssueActivationToken', params);\r\n\r\nexport const requestAction = async (params) => devicesApi.post('/RequestAction', params);\r\n\r\nexport const unpairDevice = async (params) => devicesApi.post('/UnpairDevice', params);\r\n","import axios from 'axios';\r\n\r\nconst config = window.localStorage.getItem('CONFIG');\r\nwindow.CONFIG = JSON.parse(config);\r\nconst baseURL = window.CONFIG?.urlAPI;\r\nconst reportsAxiosInstance = axios.create({\r\n baseURL\r\n});\r\n\r\nexport default reportsAxiosInstance;\r\n","import reportsAxiosInstance from 'apis/reportsAxiosInstance';\r\n\r\nconst qubiteqSubKey = window.CONFIG?.qubSubKey;\r\n\r\nexport const reportsApi = {\r\n post: (path, params, options, cancelToken) =>\r\n reportsAxiosInstance\r\n .post(`${path}`, params, {\r\n ...options,\r\n cancelToken: cancelToken?.token,\r\n headers: {\r\n 'qubiteq-subscription-key': qubiteqSubKey,\r\n 'Access-Control-Allow-Origin': '*'\r\n }\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, cancelToken) =>\r\n reportsAxiosInstance\r\n .get(`/event${path}`, params, {\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const getQubReport = async (params, options) => reportsApi.post('/Report/GetPDF', params, options);\r\n\r\nexport const getQubReportExcel = async (params, options) => reportsApi.post('/Report/GetExcel', params, options);\r\n\r\nexport const saveFile = async (params, options) => reportsApi.post('/File/UploadFile', params, options);\r\n\r\nexport const getFile = async (params, options) => reportsApi.post('/File/GetFile', params, options);\r\n","import axiosInstance from '../axiosInstance';\r\n\r\nexport const paymentApi = {\r\n post: (path, params, options, cancelToken) =>\r\n axiosInstance\r\n .post(`/payment${path}`, params, {\r\n ...options,\r\n cancelToken: cancelToken?.token\r\n })\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n }),\r\n get: (path, params, options, cancelToken) =>\r\n axiosInstance\r\n .get(\r\n `/payment${path}`,\r\n { ...params, ...options },\r\n {\r\n cancelToken: cancelToken?.token\r\n }\r\n )\r\n .then((res) => {\r\n if (res?.data?.error) throw res.data;\r\n return res?.data;\r\n })\r\n .catch((err) => {\r\n throw err.error ? err : err?.response?.data;\r\n })\r\n};\r\n\r\nexport const pay = async (params) => paymentApi.post('/pay', params);\r\n","export default __webpack_public_path__ + \"static/media/TermsOfUse.f0bf4bc2.pdf\";","import { Box, Typography, Stack, Divider, Chip, Avatar, Button } from '@mui/material';\r\nimport { useTranslation } from 'react-i18next';\r\nimport PropTypes from 'prop-types';\r\nimport { format } from 'date-fns';\r\nimport { useEffect, useState } from 'react';\r\nimport { getAvatar } from 'apis/controllers/person';\r\nimport { useNavigate } from 'react-router';\r\n\r\nconst PersonInfo = ({ person }) => {\r\n const { t } = useTranslation();\r\n const navigate = useNavigate();\r\n const [avatar, setAvatar] = useState('');\r\n\r\n useEffect(() => {\r\n const fetch = async () => {\r\n const result = await getAvatar({ recordGuid: person.id });\r\n setAvatar(result);\r\n };\r\n\r\n fetch();\r\n }, [person.id]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n } spacing={1}>\r\n <>\r\n {`${person.firstName} ${person.lastName}`}\r\n {person.fathersName && {`του ${person.fathersName}`}}\r\n \r\n {person.gender.description}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n {person.dob && (\r\n \r\n {format(new Date(person.dob), 'dd/MM/yyyy')}\r\n \r\n )}\r\n \r\n {person.hasUser ? (\r\n navigate(`/users-and-access/users/manage/${person?.id}/details`)}\r\n >\r\n {t('ViewUser')}\r\n \r\n ) : (\r\n navigate(`/users-and-access/users/create/${person?.id}`)}\r\n >\r\n {t('CreateNewUser')}\r\n \r\n )}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nPersonInfo.propTypes = {\r\n person: PropTypes.object\r\n};\r\n\r\nexport default PersonInfo;\r\n","// mui\r\nimport { Grid, Stack, Typography } from '@mui/material';\r\n\r\n// icons\r\nimport { IconLockAccess } from '@tabler/icons';\r\n\r\n// colors\r\nimport colors from 'assets/scss/_themes-vars.module.scss';\r\n\r\nexport default () => {\r\n return (\r\n \r\n \r\n \r\n \r\n Restricted permission\r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n","import { useDispatch } from 'react-redux';\r\nimport { SET_BREADCRUMBS, RESET_BREADCRUMBS } from 'store/actions';\r\nimport PropTypes from 'prop-types';\r\nimport { useEffect } from 'react';\r\n\r\nexport const useBreadcrumbs = (payload) => {\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n dispatch({ type: SET_BREADCRUMBS, payload });\r\n return () => {\r\n dispatch({ type: RESET_BREADCRUMBS });\r\n };\r\n }, [payload, dispatch]);\r\n};\r\n\r\nuseBreadcrumbs.propTypes = {\r\n breadcrumbs: PropTypes.array\r\n};\r\n","export default __webpack_public_path__ + \"static/media/GDPR_TKD.d3b3bb05.pdf\";","// material-ui\r\nimport { Link, Typography, Stack } from '@mui/material';\r\nimport qb from 'assets/images/qb.png';\r\nimport PDF from 'assets/TermsOfUse.pdf';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useQuery } from 'react-query';\r\nimport { generic } from 'apis';\r\n\r\n// ==============================|| FOOTER - AUTHENTICATION 2 & 3 ||============================== //\r\n\r\nconst AuthFooter = () => {\r\n const { t } = useTranslation();\r\n // const assetsQuery = useQuery(['assets'], async () => {\r\n // const assets = await generic.getAssets();\r\n // return assets;\r\n // });\r\n\r\n return (\r\n
\r\n
\r\n \r\n \"Qb\"\r\n \r\n
\r\n\r\n {/* window.open(assetsQuery?.data?.termsOfUse)}\r\n sx={{ cursor: 'pointer' }}\r\n underline=\"hover\"\r\n > */}\r\n
\r\n window.open(PDF)}\r\n onClick={() => window.open(`${window.location.origin}/TermsOfUse`, '_blank')}\r\n sx={{ cursor: 'pointer' }}\r\n underline=\"hover\"\r\n >\r\n {t('TermsOfUse')}\r\n \r\n
\r\n\r\n
\r\n
\r\n NFC Sports || Powered by \r\n \r\n QUBITEQ\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AuthFooter;\r\n","export default __webpack_public_path__ + \"static/media/Help.f55b29c1.pdf\";","var map = {\n\t\"./AthletesHelp.pdf\": 751,\n\t\"./ClubsHelp.pdf\": 752,\n\t\"./GDPR_TKD.pdf\": 678,\n\t\"./Help.pdf\": 683,\n\t\"./OfficialsHelp.pdf\": 753,\n\t\"./PaymentsHelp.pdf\": 754,\n\t\"./Terms.pdf\": 755,\n\t\"./TermsOfUse.pdf\": 608,\n\t\"./css/explorer.css\": 539,\n\t\"./css/mobile-explorer.css\": 675,\n\t\"./css/qubStyles.css\": 622,\n\t\"./css/wj-treegrid.css\": 680,\n\t\"./css/wj-viewonly.css\": 674,\n\t\"./images/auth/auth-blue-card.svg\": 756,\n\t\"./images/auth/auth-pattern-dark.svg\": 757,\n\t\"./images/auth/auth-pattern.svg\": 758,\n\t\"./images/auth/auth-purple-card.svg\": 759,\n\t\"./images/auth/auth-signup-blue-card.svg\": 760,\n\t\"./images/auth/auth-signup-white-card.svg\": 761,\n\t\"./images/csvIcon.png\": 409,\n\t\"./images/default-user-image.png\": 400,\n\t\"./images/excelIcon.png\": 325,\n\t\"./images/icons/earning.svg\": 762,\n\t\"./images/icons/social-google.svg\": 763,\n\t\"./images/logo copy.png\": 764,\n\t\"./images/logo-dark.svg\": 765,\n\t\"./images/logo-white.svg\": 766,\n\t\"./images/logo.png\": 767,\n\t\"./images/logo.svg\": 768,\n\t\"./images/no-image-icon.png\": 487,\n\t\"./images/pdf.png\": 347,\n\t\"./images/qb.png\": 258,\n\t\"./images/users/user-round.svg\": 769,\n\t\"./main.css\": 623,\n\t\"./scss/_themes-vars.module.scss\": 152,\n\t\"./scss/style.scss\": 624,\n\t\"./tailwind.css\": 770\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 750;","export default __webpack_public_path__ + \"static/media/AthletesHelp.ca535a40.pdf\";","export default __webpack_public_path__ + \"static/media/ClubsHelp.7c4e7e42.pdf\";","export default __webpack_public_path__ + \"static/media/OfficialsHelp.008fa613.pdf\";","export default __webpack_public_path__ + \"static/media/PaymentsHelp.b306bd8e.pdf\";","export default __webpack_public_path__ + \"static/media/Terms.128b3b81.pdf\";","export default __webpack_public_path__ + \"static/media/auth-blue-card.21877993.svg\";","export default __webpack_public_path__ + \"static/media/auth-pattern-dark.df61463d.svg\";","export default __webpack_public_path__ + \"static/media/auth-pattern.d80b0e94.svg\";","export default __webpack_public_path__ + \"static/media/auth-purple-card.f8fb8b2f.svg\";","export default __webpack_public_path__ + \"static/media/auth-signup-blue-card.cae8da7b.svg\";","export default __webpack_public_path__ + \"static/media/auth-signup-white-card.245f388a.svg\";","export default __webpack_public_path__ + \"static/media/earning.00f461a5.svg\";","export default __webpack_public_path__ + \"static/media/social-google.a57081bd.svg\";","export default __webpack_public_path__ + \"static/media/logo copy.602048df.png\";","export default __webpack_public_path__ + \"static/media/logo-dark.67cadf22.svg\";","export default __webpack_public_path__ + \"static/media/logo-white.54072849.svg\";","export default __webpack_public_path__ + \"static/media/logo.eb3ce198.png\";","export default __webpack_public_path__ + \"static/media/logo.74a2ce07.svg\";","export default __webpack_public_path__ + \"static/media/user-round.27fe79b1.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mode\":\"light\",\"paper\":\"#fff\",\"background\":\"#f0f0f0\",\"primaryLight\":\"#e3f2fd\",\"primary200\":\"#90caf9\",\"primaryMain\":\"#2196f3\",\"primaryDark\":\"#1e88e5\",\"primary800\":\"#1565c0\",\"secondaryLight\":\"#ede7f6\",\"secondary200\":\"#b39ddb\",\"secondaryMain\":\"#673ab7\",\"secondaryDark\":\"#5e35b1\",\"secondary800\":\"#4527a0\",\"successLight\":\"#4caf50\",\"success200\":\"#69f0ae\",\"successMain\":\"#2e7d32\",\"successDark\":\"#1b5e20\",\"errorLight\":\"#ef5350\",\"errorMain\":\"#d32f2f\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#ff9800\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey800\":\"#3e3e3e\",\"grey900\":\"#212121\",\"darkPaper\":\"#111936\",\"darkBackground\":\"#1a223f\",\"darkLevel1\":\"#29314f\",\"darkLevel2\":\"#212946\",\"darkTextTitle\":\"#d7dcec\",\"darkTextPrimary\":\"#bdc8f0\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#e3f2fd\",\"darkPrimaryMain\":\"#2196f3\",\"darkPrimaryDark\":\"#1e88e5\",\"darkPrimary200\":\"#90caf9\",\"darkPrimary800\":\"#1565c0\",\"darkSecondaryLight\":\"#d1c4e9\",\"darkSecondaryMain\":\"#7c4dff\",\"darkSecondaryDark\":\"#651fff\",\"darkSecondary200\":\"#b39ddb\",\"darkSecondary800\":\"#6200ea\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mode\":\"dark\",\"paper\":\"#111936\",\"background\":\"#1a223f\",\"primaryLight\":\"#e3f2fd\",\"primary200\":\"#90caf9\",\"primaryMain\":\"#2196f3\",\"primaryDark\":\"#1e88e5\",\"primary800\":\"#1565c0\",\"secondaryLight\":\"#d1c4e9\",\"secondary200\":\"#b39ddb\",\"secondaryMain\":\"#7c4dff\",\"secondaryDark\":\"#651fff\",\"secondary800\":\"#6200ea\",\"successLight\":\"#4caf50\",\"success200\":\"#69f0ae\",\"successMain\":\"#2e7d32\",\"successDark\":\"#1b5e20\",\"errorLight\":\"#ef5350\",\"errorMain\":\"#d32f2f\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#ff9800\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#3e3e3e\",\"grey100\":\"#424242\",\"grey200\":\"#454545\",\"grey300\":\"#757575\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#bdbdbd\",\"grey700\":\"#e0e0e0\",\"grey800\":\"#eee\",\"grey900\":\"#f5f5f5\",\"lightPaper\":\"#fff\",\"lightBackground\":\"#f0f0f0\",\"lightLevel1\":\"#3e3e3e\",\"lightLevel2\":\"#454545\",\"lightTextTitle\":\"#d7dcec\",\"lightTextPrimary\":\"#bdc8f0\",\"lightTextSecondary\":\"#8492c4\",\"lightPrimaryLight\":\"#e3f2fd\",\"lightPrimaryMain\":\"#2196f3\",\"lightPrimaryDark\":\"#1e88e5\",\"lightPrimary200\":\"#90caf9\",\"lightPrimary800\":\"#1565c0\",\"lightSecondaryLight\":\"#ede7f6\",\"lightSecondaryMain\":\"#673ab7\",\"lightSecondaryDark\":\"#5e35b1\",\"lightSecondary200\":\"#b39ddb\",\"lightSecondary800\":\"#4527a0\",\"white\":\"#fff\",\"black\":\"#000\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"background\":\"#f0f0f0\",\"primaryLight\":\"#e3f2fd\",\"primary200\":\"#90caf9\",\"primaryMain\":\"#2196f3\",\"primaryDark\":\"#1e88e5\",\"primary800\":\"#1565c0\",\"secondaryLight\":\"#ede7f6\",\"secondary200\":\"#b39ddb\",\"secondaryMain\":\"#673ab7\",\"secondaryDark\":\"#5e35b1\",\"secondary800\":\"#4527a0\",\"successLight\":\"#4caf50\",\"success200\":\"#69f0ae\",\"successMain\":\"#2e7d32\",\"successDark\":\"#1b5e20\",\"errorLight\":\"#ef5350\",\"errorMain\":\"#d32f2f\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#ff9800\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey800\":\"#3e3e3e\",\"grey900\":\"#212121\",\"darkPaper\":\"#111936\",\"darkBackground\":\"#1a223f\",\"darkLevel1\":\"#29314f\",\"darkLevel2\":\"#212946\",\"darkTextTitle\":\"#d7dcec\",\"darkTextPrimary\":\"#bdc8f0\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#e3f2fd\",\"darkPrimaryMain\":\"#2196f3\",\"darkPrimaryDark\":\"#1e88e5\",\"darkPrimary200\":\"#90caf9\",\"darkPrimary800\":\"#1565c0\",\"darkSecondaryLight\":\"#d1c4e9\",\"darkSecondaryMain\":\"#7c4dff\",\"darkSecondaryDark\":\"#651fff\",\"darkSecondary200\":\"#b39ddb\",\"darkSecondary800\":\"#6200ea\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"background\":\"#fff\",\"primaryLight\":\"#a6b5a6\",\"primary200\":\"#b8bfa6\",\"primaryMain\":\"#a6b5a6\",\"primaryDark\":\"#3f4531\",\"primary800\":\"#525940\",\"secondaryLight\":\"#a6b5a6\",\"secondary200\":\"#dedede\",\"secondaryMain\":\"#a6b5a6\",\"secondaryDark\":\"#dedede\",\"secondary800\":\"#c09c3f\",\"successLight\":\"#81c784\",\"success200\":\"#4caf50\",\"successMain\":\"#388e3c\",\"successDark\":\"#1b5e20\",\"errorLight\":\"#e57373\",\"errorMain\":\"#f44336\",\"errorDark\":\"#d32f2f\",\"orangeLight\":\"#ffcc80\",\"orangeMain\":\"#ff5722\",\"orangeDark\":\"#e64a19\",\"warningLight\":\"#ffb74d\",\"warningMain\":\"#ff9800\",\"warningDark\":\"#f57c00\",\"grey50\":\"#f5f5f5\",\"grey100\":\"#eee\",\"grey200\":\"#bdbdbd\",\"grey300\":\"#9e9e9e\",\"grey500\":\"#616161\",\"grey600\":\"#424242\",\"grey700\":\"#212121\",\"grey800\":\"#191919\",\"grey900\":\"#121212\",\"darkPaper\":\"#191919\",\"darkBackground\":\"#121212\",\"darkLevel1\":\"#212946\",\"darkLevel2\":\"#29314f\",\"darkTextTitle\":\"#d7dcec\",\"darkTextPrimary\":\"#bdc8f0\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#c5e1a5\",\"darkPrimaryMain\":\"#4caf50\",\"darkPrimaryDark\":\"#388e3c\",\"darkPrimary200\":\"#81c784\",\"darkPrimary800\":\"#2e7d32\",\"darkSecondaryLight\":\"#ffcc80\",\"darkSecondaryMain\":\"#ff9800\",\"darkSecondaryDark\":\"#f57c00\",\"darkSecondary200\":\"#ffb74d\",\"darkSecondary800\":\"#ef6c00\"};","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\r\n);\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch((error) => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (response.status === 404 || (contentType != null && contentType.indexOf('javascript') === -1)) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log('No internet connection found. App is running in offline mode.');\r\n });\r\n}\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then((registration) => {\r\n registration.unregister();\r\n })\r\n .catch((error) => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import { Link } from 'react-router-dom';\r\n\r\n// material-ui\r\nimport { ButtonBase } from '@mui/material';\r\n\r\n// project imports\r\nimport config from 'config';\r\nimport { Logo } from '@qubiteq/qublib';\r\n// material-ui\r\n// import logo from 'assets/images/logo.png';\r\nimport { useSettings } from 'hooks/useSettings';\r\n// ==============================|| MAIN LOGO ||============================== //\r\n\r\nconst LogoSection = () => {\r\n const { projectLogo } = useSettings();\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LogoSection;\r\n","import { useState, useRef, useEffect } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\n// import { ChangeUsernameDialog } from '../../../../ui-component/change-username/change-username-dialog';\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport {\r\n Box,\r\n Chip,\r\n ClickAwayListener,\r\n Divider,\r\n List,\r\n ListItemButton,\r\n ListItemIcon,\r\n ListItemText,\r\n Paper,\r\n Popper,\r\n Stack,\r\n Typography,\r\n Avatar\r\n} from '@mui/material';\r\nimport MainCard from 'ui-component/cards/MainCard';\r\nimport { Transitions } from '@qubiteq/qublib';\r\nimport { IconLogout, IconSettings, IconUserCircle, IconWriting } from '@tabler/icons';\r\nimport { useMe } from 'hooks/useMe';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useLogout } from 'hooks/useLogOut';\r\nimport { useQuery } from 'react-query';\r\nimport { dashboard, person } from 'apis';\r\nimport Conditional from 'common/Conditional';\r\n\r\n// ==============================|| PROFILE MENU ||============================== //\r\n\r\nconst ProfileSection = () => {\r\n const theme = useTheme();\r\n const { whoami } = useMe();\r\n const { t } = useTranslation();\r\n const customization = useSelector((state) => state.customization);\r\n const navigate = useNavigate();\r\n const [selectedIndex, setSelectedIndex] = useState(-1);\r\n const [open, setOpen] = useState(false);\r\n const { logout } = useLogout();\r\n const [avatar, setAvatar] = useState('');\r\n // const [changeEmailOpen, setChangeEmailOpen] = useState(false);\r\n\r\n const anchorRef = useRef(null);\r\n\r\n const statistics = useQuery(['userId'], async () => {\r\n const result = await dashboard.statistics();\r\n return result;\r\n });\r\n\r\n useEffect(() => {\r\n const fetchAvatar = async () => {\r\n try {\r\n const res = await person.getAvatar({\r\n projectTableId: 2,\r\n recordId: statistics.data[2].Data[0].recordId\r\n });\r\n if (res !== '') {\r\n setAvatar(res);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n fetchAvatar();\r\n }, [statistics.status]);\r\n\r\n const handleClose = (event) => {\r\n if (anchorRef.current && anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n setSelectedIndex(-1);\r\n setOpen(false);\r\n };\r\n\r\n const handleListItemClick = (event, index, route = '') => {\r\n setSelectedIndex(index);\r\n handleClose(event);\r\n\r\n if (route && route !== '') {\r\n navigate(route);\r\n }\r\n };\r\n const handleToggle = () => {\r\n setOpen((prevOpen) => !prevOpen);\r\n };\r\n\r\n const prevOpen = useRef(open);\r\n useEffect(() => {\r\n if (prevOpen.current === true && open === false) {\r\n anchorRef.current.focus();\r\n }\r\n\r\n prevOpen.current = open;\r\n }, [open]);\r\n\r\n return (\r\n <>\r\n {/* \r\n {`${whoami?.firstName?.substring(0, 1)}${whoami?.lastName?.substring(0, 1)}`}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n variant=\"outlined\"\r\n ref={anchorRef}\r\n aria-controls={open ? 'menu-list-grow' : undefined}\r\n aria-haspopup=\"true\"\r\n onClick={handleToggle}\r\n color=\"primary\"\r\n /> */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {`${whoami?.firstName?.substring(0, 1)}${whoami?.lastName?.substring(0, 1)}`}\r\n \r\n \r\n \r\n \r\n {({ TransitionProps }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {t('GoodMorning')}, */}\r\n \r\n {`${whoami?.firstName} ${whoami?.lastName}`}\r\n \r\n \r\n {`${whoami?.roles?.join(', ')}`}\r\n \r\n \r\n \r\n \r\n \r\n handleListItemClick(event, 0, '/user/settings')}\r\n >\r\n \r\n \r\n \r\n {t('AccountSettings')}} />\r\n \r\n \r\n \r\n \r\n \r\n {t('Logout')}} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ProfileSection;\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Box, ButtonBase, ClickAwayListener, Paper, Popper, useMediaQuery, Typography } from '@mui/material';\r\n\r\n// project imports\r\nimport { Transitions } from '@qubiteq/qublib';\r\nimport MainCard from 'ui-component/cards/MainCard';\r\n\r\n// propTypes\r\nimport propTypes from 'prop-types';\r\nimport { useSelector } from 'react-redux';\r\n\r\n// ==============================|| NOTIFICATION ||============================== //\r\n\r\nconst languageToString = (language) => {\r\n if (language === 'gre') {\r\n return 'ΕΛ';\r\n }\r\n if (language === 'en') {\r\n return 'EN';\r\n }\r\n return '';\r\n};\r\n\r\nconst Wrapper = ({ children }) => {\r\n const theme = useTheme();\r\n const matchesXs = useMediaQuery(theme.breakpoints.down('md'));\r\n const { language } = useSelector((state) => state.customization);\r\n const [open, setOpen] = useState(false);\r\n /**\r\n * anchorRef is used on different componets and specifying one type leads to other components throwing an error\r\n * */\r\n const anchorRef = useRef(null);\r\n\r\n const handleToggle = () => {\r\n setOpen((prevOpen) => !prevOpen);\r\n };\r\n\r\n const handleClose = (event) => {\r\n if (anchorRef.current && anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n setOpen(false);\r\n };\r\n\r\n const prevOpen = useRef(open);\r\n useEffect(() => {\r\n if (prevOpen.current === true && open === false) {\r\n anchorRef.current.focus();\r\n }\r\n prevOpen.current = open;\r\n }, [open]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {languageToString(language)}\r\n \r\n \r\n \r\n \r\n {({ TransitionProps }) => (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nWrapper.propTypes = {\r\n children: propTypes.node\r\n};\r\n\r\nexport default Wrapper;\r\n","import { useState } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { SET_LANGUAGE } from 'store/actions';\r\n\r\n// i18next\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Grid, Divider, FormControl, FormControlLabel, Radio, RadioGroup, Stack, Typography } from '@mui/material';\r\n\r\n// project imports\r\nimport Wrapper from './Wrapper';\r\n\r\n// ==============================|| LANGUAGE ||============================== //\r\n\r\nconst LanguageSection = () => {\r\n const theme = useTheme();\r\n const dispatch = useDispatch();\r\n const { language } = useSelector((state) => state.customization);\r\n const [selectedLanguage, setLanguage] = useState(language);\r\n const { i18n, t } = useTranslation();\r\n\r\n const handleLanguageChange = (e) => {\r\n setLanguage(e.target.value);\r\n dispatch({ type: SET_LANGUAGE, language: e.target.value });\r\n i18n.changeLanguage(e.target.value);\r\n };\r\n\r\n const LanguageRadioGroup = () => (\r\n \r\n \r\n }\r\n label=\"English\"\r\n sx={{\r\n '& .MuiSvgIcon-root': { fontSize: 28 },\r\n '& .MuiFormControlLabel-label': { color: theme.palette.grey[900] }\r\n }}\r\n />\r\n }\r\n label=\"Ελληνικά\"\r\n sx={{\r\n '& .MuiSvgIcon-root': { fontSize: 28 },\r\n '& .MuiFormControlLabel-label': { color: theme.palette.grey[900] }\r\n }}\r\n />\r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {t('SelectLanguage')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LanguageSection;\r\n","import { useNavigate } from 'react-router';\r\nimport { useSnackbar } from 'notistack';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useState } from 'react';\r\nimport decodeToken from 'utils/decode-token';\r\nimport { Button } from '@mui/material';\r\nimport { useQueryClient } from 'react-query';\r\nimport { LOGIN, STORE_MENU } from '../../../../store/actions';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n// Apis\r\nimport { admin } from '../../../../apis';\r\n\r\nconst ImpersonationSection = () => {\r\n const navigate = useNavigate();\r\n const dispatch = useDispatch();\r\n const queryClient = useQueryClient();\r\n const { enqueueSnackbar } = useSnackbar();\r\n const { t } = useTranslation();\r\n const { token } = useSelector((state) => state.auth);\r\n\r\n const data = decodeToken(token);\r\n\r\n const onSubmit = async () => {\r\n await admin\r\n .exitImpersonation()\r\n .then((res) => {\r\n dispatch({ type: STORE_MENU, menuItems: res?.menu });\r\n dispatch({ type: LOGIN, payload: res });\r\n queryClient.invalidateQueries('me');\r\n enqueueSnackbar(t('LoginSuccess'), {\r\n variant: 'success'\r\n });\r\n navigate('/home');\r\n })\r\n .catch((error) => {\r\n enqueueSnackbar(error?.data?.message || t('SomethingWrong'), {\r\n variant: 'error'\r\n });\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {data?.original_name ? (\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default ImpersonationSection;\r\n","import Breadcrumbs from '@mui/material/Breadcrumbs';\r\nimport { Box, Typography, Stack, useMediaQuery, useTheme } from '@mui/material';\r\nimport { useSelector } from 'react-redux';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\nimport colors from 'assets/scss/_themes-vars.module.scss';\r\n\r\nconst BreadcrumbSection = () => {\r\n const { breadcrumbs, info } = useSelector((state) => state.breadcrumbs);\r\n const { pathname } = useLocation();\r\n const navigate = useNavigate();\r\n const theme = useTheme();\r\n const matchDownMd = useMediaQuery(theme.breakpoints.up('sm'));\r\n return (\r\n \r\n {matchDownMd && (\r\n \r\n \r\n {breadcrumbs?.map((item, key) => {\r\n const name = item.name ? item.name : '';\r\n const path = item.path ? item.path : pathname;\r\n return (\r\n \r\n navigate(path)}\r\n >\r\n {name}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n {info}\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default BreadcrumbSection;\r\n","import { Typography } from '@mui/material';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst FullNameSection = ({ firstName = '', lastName = '' }) => {\r\n return {`${firstName} ${lastName}`};\r\n};\r\n\r\nexport default FullNameSection;\r\n\r\nFullNameSection.propTypes = {\r\n firstName: PropTypes.string.isRequired,\r\n lastName: PropTypes.string.isRequired\r\n};\r\n","import PropTypes from 'prop-types';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Avatar, Box, ButtonBase, Stack } from '@mui/material';\r\n\r\n// project imports\r\nimport LogoSection from '../LogoSection';\r\n// import SearchSection from './SearchSection';\r\nimport ProfileSection from './ProfileSection';\r\n// import NotificationSection from './NotificationSection';\r\nimport LanguageSection from './LanguageSection';\r\n\r\nimport ImpersonationSection from './ImpersonationSection';\r\n\r\n// assets\r\nimport { IconMenu2 } from '@tabler/icons';\r\n\r\nimport BreadcrumbSection from './BreadcrumbSection';\r\nimport FullNameSection from './FullNameSection';\r\nimport { useMe } from 'hooks/useMe';\r\n// ==============================|| MAIN NAVBAR / HEADER ||============================== //\r\n\r\nconst Header = ({ handleLeftDrawerToggle }) => {\r\n const theme = useTheme();\r\n const { whoami } = useMe();\r\n\r\n return (\r\n \r\n {/* logo & toggler button */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* header search */}\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nHeader.propTypes = {\r\n handleLeftDrawerToggle: PropTypes.func\r\n};\r\n\r\nexport default Header;\r\n","import PropTypes from 'prop-types';\r\nimport { forwardRef, lazy, useEffect, useMemo } from 'react';\r\nimport { Link, useLocation } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Avatar, Chip, ListItemButton, ListItemIcon, ListItemText, Typography, useMediaQuery } from '@mui/material';\r\n\r\n// project imports\r\nimport { MENU_OPEN, SET_MENU } from 'store/actions';\r\nimport config from 'config';\r\n\r\n// assets\r\nimport FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';\r\n\r\n// i18n\r\nimport { Trans } from 'react-i18next';\r\n\r\nimport { Loadable } from '@qubiteq/qublib';\r\nimport colors from 'assets/scss/_themes-vars.module.scss';\r\n\r\n// ==============================|| SIDEBAR MENU LIST ITEMS ||============================== //\r\n\r\nconst NavItem = ({ item, level }) => {\r\n const theme = useTheme();\r\n const dispatch = useDispatch();\r\n const menu = useSelector((state) => state.menu);\r\n const customization = useSelector((state) => state.customization);\r\n const matchesSM = useMediaQuery(theme.breakpoints.down('lg'));\r\n const location = useLocation();\r\n\r\n const Icon = Loadable(\r\n useMemo(\r\n () =>\r\n lazy(() =>\r\n import('@tabler/icons').then((module) => {\r\n return {\r\n default: module[item.icon]\r\n };\r\n })\r\n ),\r\n [item.icon]\r\n )\r\n );\r\n const itemIcon = item?.icon ? (\r\n \r\n ) : (\r\n id === item?.id) > -1 ? 8 : 6,\r\n height: menu.isOpen.findIndex((id) => id === item?.id) > -1 ? 8 : 6\r\n }}\r\n fontSize={level > 0 ? 'inherit' : 'medium'}\r\n />\r\n );\r\n\r\n let itemTarget = '_self';\r\n if (item.target) {\r\n itemTarget = '_blank';\r\n }\r\n\r\n let listItemProps = {\r\n component: forwardRef((props, ref) => )\r\n };\r\n if (item?.external) {\r\n listItemProps = { component: 'a', href: item.url, target: itemTarget };\r\n }\r\n\r\n /* useEffect(() => {\r\n if (item?.url.includes(location?.pathname?.split('/')[1])) {\r\n dispatch({ type: MENU_OPEN, id: item.id });\r\n }\r\n }, [location, dispatch, item.id, item?.url]); */\r\n\r\n const itemHandler = (id) => {\r\n if (matchesSM) dispatch({ type: SET_MENU, opened: false });\r\n };\r\n\r\n return (\r\n 1 ? 1 : 1.25,\r\n pl: `${level * 24}px`\r\n }}\r\n selected={menu.isOpen.findIndex((id) => id === item.id) > -1}\r\n onClick={() => itemHandler(item.id)}\r\n tabIndex={-1}\r\n >\r\n {itemIcon}\r\n \r\n {item.title}\r\n \r\n }\r\n secondary={\r\n item.caption && (\r\n \r\n {item.caption}\r\n \r\n )\r\n }\r\n />\r\n {item.chip && (\r\n {item.chip.avatar}}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nNavItem.propTypes = {\r\n item: PropTypes.object,\r\n level: PropTypes.number\r\n};\r\n\r\nexport default NavItem;\r\n","import PropTypes from 'prop-types';\r\nimport { useState, lazy, useEffect, forwardRef, useMemo } from 'react';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Collapse, List, ListItemButton, ListItemIcon, ListItemText, Typography, Link } from '@mui/material';\r\n\r\n// project imports\r\nimport NavItem from '../NavItem';\r\n\r\n// assets\r\nimport FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';\r\nimport { IconChevronDown, IconChevronUp } from '@tabler/icons';\r\n\r\nimport { Loadable } from '@qubiteq/qublib';\r\nimport { MENU_OPEN } from 'store/actions';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\n\r\nimport config from 'config';\r\nimport { useLocation, useNavigate } from 'react-router';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Can } from 'context/permissionContext';\r\n\r\n// ==============================|| SIDEBAR MENU LIST COLLAPSE ITEMS ||============================== //\r\n\r\nconst NavCollapse = ({ menu, level }) => {\r\n const theme = useTheme();\r\n const dispatch = useDispatch();\r\n const customization = useSelector((state) => state.customization);\r\n const menuState = useSelector((state) => state.menu);\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const { t } = useTranslation();\r\n\r\n const [open, setOpen] = useState(false);\r\n const [selected, setSelected] = useState(null);\r\n\r\n useEffect(() => {\r\n const [openedId] = menuState.isOpen;\r\n if (openedId === menu.id || (openedId > -1 && menu?.children.findIndex((child) => child.id === openedId) > -1)) {\r\n setOpen(true);\r\n setSelected(menu.id);\r\n } else {\r\n setOpen(false);\r\n setSelected(null);\r\n }\r\n }, [menu, menuState]);\r\n\r\n /* useEffect(() => {\r\n if (menu?.url.includes(location?.pathname?.split('/')[1])) {\r\n dispatch({ type: MENU_OPEN, id: menu.id });\r\n }\r\n menu?.children.forEach((item) => {\r\n if (item?.url.includes(location?.pathname?.split('/')[1])) {\r\n dispatch({ type: MENU_OPEN, id: item.id });\r\n }\r\n });\r\n }, [location, dispatch, menu]); */\r\n\r\n const handleClick = () => {\r\n setOpen(!open);\r\n setSelected(menu.id);\r\n if (location.pathname !== `${config.basename}${menu.url}`) navigate(`${config.basename}${menu.url}`);\r\n };\r\n\r\n // menu collapse & item\r\n const menus = menu.children?.map((item) => {\r\n const [subject, action] = item.permission?.split('.') ?? [];\r\n switch (item.type) {\r\n case 'collapse':\r\n return ;\r\n case 'item':\r\n return (\r\n \r\n {(allowed) => (allowed || (!subject && !action)) && }\r\n \r\n );\r\n default:\r\n return (\r\n \r\n Menu Items Error\r\n \r\n );\r\n }\r\n });\r\n\r\n const Icon = Loadable(\r\n useMemo(\r\n () =>\r\n lazy(() =>\r\n import('@tabler/icons').then((module) => {\r\n return {\r\n default: module[menu.icon]\r\n };\r\n })\r\n ),\r\n [menu]\r\n )\r\n );\r\n\r\n const menuIcon = menu?.icon ? (\r\n \r\n ) : (\r\n id === menu?.id) > -1 ? 8 : 6,\r\n height: menu.isOpen.findIndex((id) => id === menu?.id) > -1 ? 8 : 6\r\n }}\r\n fontSize={level > 0 ? 'inherit' : 'medium'}\r\n />\r\n );\r\n\r\n return (\r\n <>\r\n 1 ? 'transparent !important' : 'inherit',\r\n py: level > 1 ? 1 : 1.25,\r\n pl: `${level * 24}px`\r\n }}\r\n selected={selected === menu.id}\r\n // onClick={() => itemHandler(item.id)}\r\n onClick={handleClick}\r\n tabIndex={-1}\r\n >\r\n {menuIcon}\r\n \r\n {t(menu.title)}\r\n \r\n }\r\n secondary={\r\n menu.caption && (\r\n \r\n {menu.caption}\r\n \r\n )\r\n }\r\n />\r\n {open ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n {menus}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nNavCollapse.propTypes = {\r\n menu: PropTypes.object,\r\n level: PropTypes.number\r\n};\r\n\r\nexport default NavCollapse;\r\n","import PropTypes from 'prop-types';\r\n\r\n// i18n\r\nimport { Trans } from 'react-i18next';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Divider, List, Typography } from '@mui/material';\r\n\r\n// project imports\r\nimport NavItem from '../NavItem';\r\nimport NavCollapse from '../NavCollapse';\r\n\r\n// permissions\r\nimport { Can } from 'context/permissionContext';\r\n\r\n// ==============================|| SIDEBAR MENU LIST GROUP ||============================== //\r\n\r\nconst NavGroup = ({ item }) => {\r\n const theme = useTheme();\r\n // menu list collapse & items\r\n const [subject, action] = item.permission?.split('.') ?? [];\r\n\r\n const items = item.children?.map((menuItem) => {\r\n const [subject, action] = menuItem.permission?.split('.') ?? [];\r\n switch (menuItem.type) {\r\n case 'collapse':\r\n return (\r\n \r\n {(allowed) => (allowed || (!subject && !action)) && }\r\n \r\n );\r\n case 'item':\r\n return (\r\n \r\n {(allowed) => (allowed || (!subject && !action)) && }\r\n \r\n );\r\n\r\n default:\r\n return (\r\n \r\n Menu Items Error\r\n \r\n );\r\n }\r\n });\r\n\r\n return (\r\n \r\n {(allowed) =>\r\n allowed || (!subject && !action) ? (\r\n <>\r\n \r\n {item.title}\r\n {item.caption && (\r\n \r\n {item.caption}\r\n \r\n )}\r\n \r\n )\r\n }\r\n >\r\n {items}\r\n \r\n\r\n {/* group divider */}\r\n \r\n \r\n ) : null\r\n }\r\n \r\n );\r\n};\r\n\r\nNavGroup.propTypes = {\r\n item: PropTypes.object\r\n};\r\n\r\nexport default NavGroup;\r\n","// material-ui\r\nimport { Skeleton, Stack, Typography } from '@mui/material';\r\n\r\n// project imports\r\nimport NavGroup from './NavGroup';\r\nimport { useSelector } from 'react-redux';\r\n// import menuItems from 'menu-items';\r\nimport { withSkeleton } from '@qubiteq/qublib';\r\nimport { useMe } from 'hooks/useMe';\r\n\r\n// ==============================|| SIDEBAR MENU LIST ||============================== //\r\n\r\nconst NavGroupSkeleton = () => {\r\n return (\r\n \r\n \r\n {[1, 2, 3, 4, 5].map((_, index) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst NavGroupWithSkeleton = withSkeleton(NavGroup, NavGroupSkeleton);\r\n\r\nconst MenuList = () => {\r\n const { menuItems } = useSelector((state) => state.menu);\r\n const { status } = useMe();\r\n const navItems = menuItems?.map((item) => {\r\n switch (item.type) {\r\n case 'group':\r\n return ;\r\n default:\r\n return (\r\n \r\n Menu Items Error\r\n \r\n );\r\n }\r\n });\r\n\r\n return <>{navItems};\r\n};\r\n\r\nexport default MenuList;\r\n","import { useDispatch, useSelector } from 'react-redux';\r\nimport { IconHelp } from '@tabler/icons';\r\nimport { useState, useEffect } from 'react';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { ListItemButton, ListItemIcon, ListItemText, Typography } from '@mui/material';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useNavigate } from 'react-router';\r\nimport { MENU_OPEN } from 'store/actions';\r\n// project imports\r\n\r\nconst CustomNavItem = ({ file }) => {\r\n const customization = useSelector((state) => state.customization);\r\n const theme = useTheme();\r\n const { t } = useTranslation();\r\n const [Help, setHelp] = useState('');\r\n const navigate = useNavigate();\r\n const dispatch = useDispatch();\r\n\r\n /* eslint-disable global-require */\r\n\r\n useEffect(() => {\r\n if (file) {\r\n try {\r\n const Help = require(`assets/${file}`).default; // eslint-disable-line import/no-dynamic-require\r\n setHelp(Help);\r\n } catch {\r\n console.log('No help file found');\r\n }\r\n }\r\n }, [file]);\r\n\r\n /* eslint-enable global-require */\r\n\r\n return (\r\n {\r\n dispatch({ type: MENU_OPEN, id: null });\r\n navigate('/faq/view');\r\n }}\r\n tabIndex={-1}\r\n >\r\n \r\n \r\n \r\n \r\n {t('Help')}\r\n \r\n }\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default CustomNavItem;\r\n","import PropTypes from 'prop-types';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Box, Drawer, useMediaQuery } from '@mui/material';\r\n\r\n// third-party\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { BrowserView, MobileView } from 'react-device-detect';\r\n\r\n// project imports\r\nimport MenuList from './MenuList';\r\nimport LogoSection from '../LogoSection';\r\n/* import MenuCard from './MenuCard'; */\r\nimport { drawerWidth } from 'store/constant';\r\nimport CustomNavItem from 'ui-component/CustomNavItem';\r\n// ==============================|| SIDEBAR DRAWER ||============================== //\r\n\r\nconst Sidebar = ({ drawerOpen, drawerToggle, window }) => {\r\n const theme = useTheme();\r\n const matchUpMd = useMediaQuery(theme.breakpoints.up('md'));\r\n\r\n const drawer = (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n const container = window !== undefined ? () => window.document.body : undefined;\r\n\r\n return (\r\n \r\n \r\n {drawer}\r\n \r\n \r\n );\r\n};\r\n\r\nSidebar.propTypes = {\r\n drawerOpen: PropTypes.bool,\r\n drawerToggle: PropTypes.func,\r\n window: PropTypes.object\r\n};\r\n\r\nexport default Sidebar;\r\n","import { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Outlet } from 'react-router-dom';\r\nimport AuthFooter from 'ui-component/cards/AuthFooter';\r\n\r\n// material-ui\r\nimport { styled, useTheme } from '@mui/material/styles';\r\nimport { AppBar, Box, CssBaseline, Toolbar, useMediaQuery } from '@mui/material';\r\n\r\n// project imports\r\nimport Breadcrumbs from 'ui-component/extended/Breadcrumbs';\r\nimport Header from './Header';\r\nimport Sidebar from './Sidebar';\r\n// import navigation from 'menu-items';\r\nimport { drawerWidth } from 'store/constant';\r\nimport { SET_MENU } from 'store/actions';\r\n\r\n// assets\r\nimport { IconChevronRight } from '@tabler/icons';\r\n\r\n// styles\r\nconst Main = styled('main', { shouldForwardProp: (prop) => prop !== 'open' })(({ theme, open }) => ({\r\n ...theme.typography.mainContent,\r\n ...(!open && {\r\n borderBottomLeftRadius: 0,\r\n borderBottomRightRadius: 0,\r\n transition: theme.transitions.create('margin', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen\r\n }),\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: -drawerWidth,\r\n width: `calc(100% - ${drawerWidth}px)`\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '0px',\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n padding: '16px',\r\n paddingTop: '8px',\r\n paddingBottom: '8px'\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n marginLeft: '0px',\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n padding: '16px',\r\n marginRight: '10px',\r\n paddingTop: '8px',\r\n paddingBottom: '8px'\r\n }\r\n }),\r\n ...(open && {\r\n transition: theme.transitions.create('margin', {\r\n easing: theme.transitions.easing.easeOut,\r\n duration: theme.transitions.duration.enteringScreen\r\n }),\r\n marginLeft: 0,\r\n borderBottomLeftRadius: 0,\r\n borderBottomRightRadius: 0,\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '20px'\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n marginLeft: '10px'\r\n }\r\n })\r\n}));\r\n\r\n// ==============================|| MAIN LAYOUT ||============================== //\r\n\r\nconst MainLayout = (props) => {\r\n const { menuItemId } = props;\r\n const theme = useTheme();\r\n const matchDownMd = useMediaQuery(theme.breakpoints.down('lg'));\r\n const { menuItems } = useSelector((state) => state.menu);\r\n\r\n // Handle left drawer\r\n const leftDrawerOpened = useSelector((state) => state.menu.opened);\r\n const dispatch = useDispatch();\r\n const handleLeftDrawerToggle = () => {\r\n dispatch({ type: SET_MENU, opened: !leftDrawerOpened });\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: SET_MENU, opened: !matchDownMd });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [matchDownMd]);\r\n\r\n return (\r\n \r\n \r\n {/* header */}\r\n \r\n \r\n
\r\n \r\n \r\n\r\n {/* drawer */}\r\n \r\n\r\n {/* main content */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MainLayout;\r\n","// mui\r\nimport { Stack, Grid, Typography, Box, Button } from '@mui/material';\r\n\r\n// colors\r\nimport colors from 'assets/scss/_themes-vars.module.scss';\r\n\r\n// Apis\r\nimport { auth } from 'apis';\r\n\r\n// react-router-dom\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\n// store\r\nimport { VERIFY_EMAIL } from 'store/actions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { PinInput } from '@qubiteq/qublib';\r\n\r\nimport { useSnackbar } from 'notistack';\r\n\r\nimport { useMe } from 'hooks/useMe';\r\n\r\nimport { useQueryClient } from 'react-query';\r\n\r\nconst Verification = () => {\r\n const dispatch = useDispatch();\r\n const { isLoggedIn } = useSelector((state) => state.auth);\r\n const queryClient = useQueryClient();\r\n const { whoami } = useMe();\r\n const { enqueueSnackbar } = useSnackbar();\r\n const navigate = useNavigate();\r\n const userIdentifier = whoami?.email;\r\n\r\n const onComplete = (pin) => {\r\n auth.ValidateVerificationPin({ userIdentifier, value: Number(pin) })\r\n .then((res) => {\r\n if (res.success === 1) {\r\n if (!isLoggedIn) {\r\n navigate('/login');\r\n }\r\n dispatch({ type: VERIFY_EMAIL });\r\n queryClient.invalidateQueries('me');\r\n enqueueSnackbar('Το email επιβεβαιώθηκε με επιτυχία', {\r\n variant: 'success'\r\n });\r\n }\r\n if (res.success === 0) {\r\n enqueueSnackbar('Το email δεν επιβεβαιώθηκε', {\r\n variant: 'error'\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.log('error', error);\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Enter the verification code\r\n \r\n An email with the verification code was sent to your email account\r\n \r\n \r\n {\r\n auth.sendVerificationEmail({ emailTo: userIdentifier })\r\n .then((res) => {\r\n enqueueSnackbar('Το PIN έχει σταλεί στο email σας', {\r\n variant: 'success'\r\n });\r\n })\r\n .catch((error) => {\r\n console.log('error', error);\r\n });\r\n }}\r\n sx={{ mt: 4 }}\r\n >\r\n Επαναποστολή PIN\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Verification;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { MENU_OPEN } from 'store/actions';\r\n\r\n/**\r\n * [setMenuItem]\r\n * void function to set the active menu item\r\n * @param {[String]} menuItemId [Menu Item Id]\r\n * @example\r\n * const { setMenuItem } = useMenu();\r\n * setMenuItem(\"HomeMenuItem\");\r\n *\r\n *\r\n */\r\n/* eslint-disable */\r\nfunction recursiveSearch(matchArray, searchArray, index = 0) {\r\n if (index >= matchArray.length) {\r\n return null; // All items have been successfully matched or the matchArray is empty\r\n }\r\n\r\n for (const item of searchArray) {\r\n // Check if the URL part matches the title (or another relevant property)\r\n if (item.url.toLowerCase().split('/').includes(matchArray[index].toLowerCase())) {\r\n if (index === matchArray.length - 1 || !item.children) {\r\n return item.id; // Match found and no further items to match or no children to search into\r\n } else {\r\n // Search in the children\r\n return recursiveSearch(matchArray, item.children, index + 1);\r\n }\r\n }\r\n }\r\n\r\n return null; // No match found\r\n}\r\n\r\nexport const useMenu = () => {\r\n let pathArray = [];\r\n try {\r\n pathArray = window?.location?.pathname.split('/');\r\n pathArray.shift();\r\n } catch (e) {}\r\n const { menuItems } = useSelector((state) => state.menu);\r\n const items = menuItems.reduce((acc, group) => acc.concat(group.children || []), []);\r\n const activeItem = recursiveSearch(pathArray, items);\r\n const dispatch = useDispatch();\r\n React.useEffect(() => {\r\n dispatch({ type: MENU_OPEN, id: activeItem });\r\n }, [dispatch, activeItem]);\r\n};\r\n","// project imports\r\nimport VerificationPrompt from 'views/verification';\r\n\r\nimport { PermissionDenied } from './components';\r\n\r\nimport { useMe } from 'hooks/useMe';\r\nimport { useMenu } from 'hooks/useMenu';\r\nimport propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nimport { CircularProgress, Dialog } from '@mui/material';\r\nimport { useLoading } from 'hooks/useLoading';\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n color: '#4D79BC' // Set the desired white color\r\n }\r\n});\r\n\r\nexport const withPermission =\r\n (Component, { action, subject, unrestricted }) =>\r\n (props) => {\r\n const { whoami, isLoading, isError } = useMe();\r\n const isEmailVerified = whoami?.isEmailVerified;\r\n const hasPermission = whoami?.permissions?.can(action, subject);\r\n\r\n if (isLoading || isError) {\r\n return null;\r\n }\r\n if (!isEmailVerified) {\r\n return ;\r\n }\r\n if (!hasPermission && !unrestricted) {\r\n return ;\r\n }\r\n return ;\r\n };\r\n\r\n/**\r\n *\r\n * @param {JSX.Element | null} Layout\r\n * @returns {JSX.Element | null}\r\n * Returns Enhanced React JSX Element which\r\n * sets the active menu item id\r\n */\r\nexport const withLayout = (Layout) => {\r\n /**\r\n *\r\n * @param {any} props\r\n * @returns {JSX.Element | null}\r\n * Returns Enhanced React JSX Element which\r\n * sets the active menu item id\r\n */\r\n const EnhancedLayout = (props) => {\r\n const { menuItemId } = props;\r\n const { setMenuItem } = useMenu();\r\n React.useEffect(() => {\r\n setMenuItem(menuItemId);\r\n }, [menuItemId, setMenuItem]);\r\n return ;\r\n };\r\n\r\n EnhancedLayout.propTypes = {\r\n menuItemId: propTypes.string\r\n };\r\n\r\n return EnhancedLayout;\r\n};\r\n\r\nexport const LoadingDialog = () => {\r\n const classes = useStyles();\r\n const { loading } = useLoading();\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n","// material-ui\r\nimport { styled } from '@mui/material/styles';\r\n\r\n// ==============================|| WRAPPER ||============================== //\r\n\r\nexport const MinimalWrapper = styled('div')(({ theme }) => ({\r\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.primary.light : theme.palette.background.default,\r\n minHeight: '100vh'\r\n}));\r\n","import { withLayout } from 'hoc';\r\nimport MainLayout from 'layout/MainLayout';\r\n\r\nexport const ClubLayout = withLayout(MainLayout);\r\n\r\nexport const AthletesLayout = withLayout(MainLayout);\r\n","import { MinimalWrapper } from 'ui-component/wrappers';\r\nimport { Stack, Box } from '@mui/material';\r\nimport { Outlet } from 'react-router-dom';\r\nimport LanguageSection from 'layout/MainLayout/Header/LanguageSection';\r\n// ==============================|| MINIMAL LAYOUT ||============================== //\r\n\r\nconst MinimalLayout = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default MinimalLayout;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Typography } from '@mui/material';\r\nimport OptionCard from 'ui-component/cards/OptionCard';\r\nimport { useNavigate } from 'react-router';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useBreadcrumbs } from 'hooks/useBreadcrumbs';\r\n\r\nconst CommonIndex = () => {\r\n const [choices, setChoices] = useState([]);\r\n const { menuItems } = useSelector((state) => state.menu);\r\n const navigate = useNavigate();\r\n const { t } = useTranslation();\r\n\r\n const findByPathname = (path, children, idx = 0) => {\r\n const item = children[idx];\r\n if (!item) return null;\r\n if (item.url === path) {\r\n return item;\r\n }\r\n\r\n const newChildren = item?.children?.length ? [...children, ...item.children] : children;\r\n\r\n return findByPathname(path, newChildren, idx + 1);\r\n };\r\n\r\n useEffect(() => {\r\n try {\r\n menuItems.forEach((element) => {\r\n // eslint-disable-next-line no-var\r\n var res = findByPathname(window.location.pathname, element.children);\r\n if (res) {\r\n setChoices(res);\r\n }\r\n // setChoices(...choices, x.children);\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, [navigate]);\r\n\r\n const navigateTo = (url) => {\r\n navigate(url);\r\n };\r\n\r\n return (\r\n
\r\n \r\n {t(choices?.title ?? '')}\r\n \r\n {choices?.children?.map((option) => (\r\n navigateTo(option.url)} key={option.id} description={t(option.title)} />\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default CommonIndex;\r\n","import { lazy } from 'react';\r\n\r\n// project imports\r\nimport MainLayout from 'layout/MainLayout';\r\nimport { Loadable } from '@qubiteq/qublib';\r\n\r\n// permission\r\nimport { withPermission } from 'hoc';\r\n\r\n// react-router\r\nimport { Navigate, Redirect } from 'react-router-dom';\r\nimport Search from 'views/dashboard/Search';\r\nimport { ClubLayout, AthletesLayout } from 'ui-component/layouts';\r\nimport MinimalLayout from 'layout/MinimalLayout';\r\nimport CommonIndex from 'common/CommonIndex';\r\nimport ExplorerCard from 'ui-component/cards/ExplorerCard';\r\nimport PageUnderConstruction from 'views/PageUnderConstruction';\r\n\r\n// import ApplicationsView from 'views/application/Applications/index';\r\n// import MainCard from 'ui-component/cards/MainCard';\r\n\r\n// dashboard routing\r\n\r\nconst PaymentSubmittion = Loadable(lazy(() => import('views/application/Payments/Submittion')));\r\nconst PaymentResultPage = Loadable(lazy(() => import('views/application/Payments/Submittion/paymentMethod/byCard/form/resultPage')));\r\n\r\nconst HomeView = withPermission(Loadable(lazy(() => import('views/dashboard/Home'))), {\r\n unrestricted: true\r\n});\r\nconst AccountSettings = withPermission(Loadable(lazy(() => import('views/settings/AccountSettings'))), {\r\n unrestricted: true\r\n});\r\nconst ApplicationsView = withPermission(Loadable(lazy(() => import('views/application/Applications'))), {\r\n unrestricted: true\r\n});\r\nconst ToolsView = withPermission(Loadable(lazy(() => import('views/application/Tools'))), {\r\n unrestricted: true\r\n});\r\nconst PaymentsView = withPermission(\r\n Loadable(lazy(() => import('views/application/Transactions').then((module) => ({ default: module.TransactionOptions })))),\r\n {\r\n unrestricted: true\r\n }\r\n);\r\n\r\nconst UsersView = withPermission(Loadable(lazy(() => import('views/dashboard/Users').then((module) => ({ default: module.View })))), {\r\n action: 'View',\r\n subject: 'Users'\r\n});\r\n\r\n/* const NewUsersView = withPermission(Loadable(lazy(() => import('views/dashboard/Users').then((module) => ({ default: module.View })))), {\r\n action: 'View',\r\n subject: 'Users'\r\n}); */\r\n\r\nconst UsersManage = withPermission(Loadable(lazy(() => import('views/dashboard/Users').then((module) => ({ default: module.Manage })))), {\r\n action: 'Manage',\r\n subject: 'Users'\r\n});\r\nconst UsersCreate = withPermission(Loadable(lazy(() => import('views/dashboard/Users').then((module) => ({ default: module.Create })))), {\r\n action: 'Create',\r\n subject: 'Users'\r\n});\r\nconst RolesView = withPermission(Loadable(lazy(() => import('views/dashboard/Roles').then((module) => ({ default: module.View })))), {\r\n action: 'View',\r\n subject: 'Roles'\r\n});\r\nconst RolesManage = withPermission(Loadable(lazy(() => import('views/dashboard/Roles').then((module) => ({ default: module.Manage })))), {\r\n action: 'Manage',\r\n subject: 'Roles'\r\n});\r\nconst ClubsView = withPermission(Loadable(lazy(() => import('views/application/Clubs').then((module) => ({ default: module.View })))), {\r\n action: 'View',\r\n subject: 'Clubs'\r\n});\r\n\r\nconst ClubManage = withPermission(Loadable(lazy(() => import('views/application/Clubs').then((module) => ({ default: module.Manage })))), {\r\n action: 'Manage',\r\n subject: 'Clubs'\r\n});\r\nconst AthletesView = withPermission(\r\n Loadable(lazy(() => import('views/application/Athletes').then((module) => ({ default: module.View })))),\r\n {\r\n action: 'View',\r\n subject: 'Athletes'\r\n }\r\n);\r\n\r\nconst AthletesManage = withPermission(\r\n Loadable(lazy(() => import('views/application/Athletes').then((module) => ({ default: module.Manage })))),\r\n {\r\n action: 'Manage',\r\n subject: 'Athlete'\r\n }\r\n);\r\n\r\nconst OfficialsView = withPermission(\r\n Loadable(lazy(() => import('views/application/Officials').then((module) => ({ default: module.View })))),\r\n {\r\n action: 'View',\r\n subject: 'Athletes'\r\n }\r\n);\r\n\r\nconst OfficialsManage = withPermission(\r\n Loadable(lazy(() => import('views/application/Officials').then((module) => ({ default: module.Manage })))),\r\n {\r\n action: 'Manage',\r\n subject: 'Official'\r\n }\r\n);\r\n\r\nconst PaymentIndexView = withPermission(\r\n Loadable(lazy(() => import('views/application/Transactions').then((module) => ({ default: module.View })))),\r\n {\r\n action: 'Explore',\r\n subject: 'Index'\r\n }\r\n);\r\n\r\nconst PaymentIndexManage = withPermission(\r\n Loadable(lazy(() => import('views/application/Transactions').then((module) => ({ default: module.Manage })))),\r\n {\r\n action: 'Manage',\r\n subject: 'Index'\r\n }\r\n);\r\n\r\nconst PaymentCardView = withPermission(\r\n Loadable(lazy(() => import('views/application/Transactions').then((module) => ({ default: module.Manage })))),\r\n {\r\n action: 'Manage',\r\n subject: 'Transaction'\r\n }\r\n);\r\n\r\nconst PaymentPendingView = withPermission(\r\n Loadable(lazy(() => import('views/application/Transactions').then((module) => ({ default: module.View })))),\r\n {\r\n action: 'Explore',\r\n subject: 'Pending'\r\n }\r\n);\r\n\r\n// //////////////////////////////////////////// Applications\r\nconst ApplicationsAthletesView = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Athletes').then((module) => ({ default: module.View })))),\r\n {\r\n action: 'View',\r\n subject: 'Athletes'\r\n }\r\n);\r\n\r\nconst ApplicationsAthletesManage = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Athletes').then((module) => ({ default: module.Manage })))),\r\n {\r\n action: 'Create',\r\n subject: 'Athlete'\r\n }\r\n);\r\n\r\nconst ApplicationsAthletesCertificates = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Athletes').then((module) => ({ default: module.Certificates })))),\r\n {\r\n action: 'Create',\r\n subject: 'Athlete'\r\n }\r\n);\r\n\r\nconst ApplicationsAthletesBatchRenewal = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Athletes').then((module) => ({ default: module.BatchRenewal })))),\r\n {\r\n action: 'Create',\r\n subject: 'Athlete'\r\n }\r\n);\r\n\r\nconst ApplicationsAthletesSelfInsurance = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Athletes').then((module) => ({ default: module.BatchSelfInsurance })))),\r\n {\r\n action: 'Create',\r\n subject: 'Athlete'\r\n }\r\n);\r\n\r\nconst ApplicationsAthletesFedInsurance = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Athletes').then((module) => ({ default: module.BatchFedInsurance })))),\r\n {\r\n action: 'Create',\r\n subject: 'Athlete'\r\n }\r\n);\r\n\r\nconst ApplicationsOfficialsBatchRenewal = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Officials').then((module) => ({ default: module.Batch })))),\r\n {\r\n action: 'Create',\r\n subject: 'Athlete'\r\n }\r\n);\r\n\r\nconst ApplicationsOfficialsCertificates = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Officials').then((module) => ({ default: module.Certificates })))),\r\n {\r\n action: 'Manage',\r\n subject: 'Official'\r\n }\r\n);\r\n\r\nconst ApplicationsClubsCertificates = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Clubs').then((module) => ({ default: module.Certificates })))),\r\n {\r\n action: 'Create',\r\n subject: 'Clubs'\r\n }\r\n);\r\n\r\nconst EmailToolView = withPermission(\r\n Loadable(lazy(() => import('views/application/Tools/EmailTool').then((module) => ({ default: module.View })))),\r\n {\r\n action: 'View',\r\n subject: 'EmailTool'\r\n }\r\n);\r\n\r\nconst EmailToolCreate = withPermission(\r\n Loadable(lazy(() => import('views/application/Tools/EmailTool').then((module) => ({ default: module.Manage })))),\r\n {\r\n action: 'View',\r\n subject: 'EmailTool'\r\n }\r\n);\r\n\r\nconst MergesView = withPermission(\r\n Loadable(lazy(() => import('views/application/Tools/MergeTool').then((module) => ({ default: module.View })))),\r\n {\r\n action: 'View',\r\n subject: 'MergeTool'\r\n }\r\n);\r\n\r\nconst MergeManage = withPermission(\r\n Loadable(lazy(() => import('views/application/Tools/MergeTool').then((module) => ({ default: module.Manage })))),\r\n {\r\n action: 'View',\r\n subject: 'MergeTool'\r\n }\r\n);\r\n\r\nconst NewMerge = withPermission(\r\n Loadable(lazy(() => import('views/application/Tools/MergeTool').then((module) => ({ default: module.New })))),\r\n {\r\n action: 'View',\r\n subject: 'MergeTool'\r\n }\r\n);\r\n\r\nconst ApplicationsClubsView = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Clubs').then((module) => ({ default: module.View })))),\r\n {\r\n action: 'View',\r\n subject: 'Athletes'\r\n }\r\n);\r\n\r\nconst ApplicationsClubsManage = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Clubs').then((module) => ({ default: module.Manage })))),\r\n {\r\n action: 'Manage',\r\n subject: 'Clubs'\r\n }\r\n);\r\n\r\nconst ApplicationsOfficialsView = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Officials').then((module) => ({ default: module.View })))),\r\n {\r\n action: 'View',\r\n subject: 'Athletes'\r\n }\r\n);\r\n\r\nconst ApplicationsOfficialsManage = withPermission(\r\n Loadable(lazy(() => import('views/application/Applications/Officials').then((module) => ({ default: module.Manage })))),\r\n {\r\n action: 'Create',\r\n subject: 'Athlete'\r\n }\r\n);\r\n\r\nconst NewApplicationView = withPermission(Loadable(lazy(() => import('views/application/Applications/New/Index'))), {\r\n action: 'View',\r\n subject: 'Athletes'\r\n});\r\n\r\nconst Competitions = withPermission(Loadable(lazy(() => import('views/application/Competitions'))), {\r\n unrestricted: true\r\n});\r\n\r\nconst CompetitionsDetailsView = withPermission(\r\n Loadable(lazy(() => import('views/application/Competitions/Details').then((module) => ({ default: module.View })))),\r\n {\r\n action: 'View',\r\n subject: 'Competitions'\r\n }\r\n);\r\n\r\nconst CompetitionDetailsManage = Loadable(\r\n Loadable(lazy(() => import('views/application/Competitions/Details').then((module) => ({ default: module.Manage })))),\r\n {\r\n action: 'View',\r\n subject: 'Competitions'\r\n }\r\n);\r\n\r\nconst CompetitionParticipationsView = withPermission(\r\n Loadable(lazy(() => import('views/application/Competitions/Participations').then((module) => ({ default: module.View })))),\r\n {\r\n action: 'View',\r\n subject: 'Competitions'\r\n }\r\n);\r\n\r\nconst ParticipationsExplorer = withPermission(\r\n Loadable(lazy(() => import('views/application/Competitions/Participations').then((module) => ({ default: module.Participations })))),\r\n {\r\n action: 'View',\r\n subject: 'Competitions'\r\n }\r\n);\r\n\r\nconst CompetitionsParticipationsManage = withPermission(\r\n Loadable(lazy(() => import('views/application/Competitions/Participations').then((module) => ({ default: module.Manage })))),\r\n {\r\n action: 'View',\r\n subject: 'Competitions'\r\n }\r\n);\r\n\r\nconst ParticipationsListCompetitions = withPermission(\r\n Loadable(\r\n lazy(() => import('views/application/Competitions/ParticipationList').then((module) => ({ default: module.CompetitionsView })))\r\n ),\r\n {\r\n action: 'View',\r\n subject: 'Competitions'\r\n }\r\n);\r\n\r\nconst ParticipationsListParticipations = withPermission(\r\n Loadable(\r\n lazy(() => import('views/application/Competitions/ParticipationList').then((module) => ({ default: module.ParticipationsView })))\r\n ),\r\n {\r\n action: 'View',\r\n subject: 'Competitions'\r\n }\r\n);\r\n\r\nconst SitesView = withPermission(Loadable(lazy(() => import('views/application/Sites').then((module) => ({ default: module.View })))), {\r\n action: 'Explore',\r\n subject: 'Site'\r\n});\r\n\r\nconst SitesManage = withPermission(Loadable(lazy(() => import('views/application/Sites').then((module) => ({ default: module.Manage })))), {\r\n action: 'Manage',\r\n subject: 'Site'\r\n});\r\n\r\nconst FaqView = withPermission(Loadable(lazy(() => import('views/application/Faq').then((module) => ({ default: module.View })))), {\r\n action: 'View',\r\n subject: 'FAQ'\r\n});\r\n\r\nconst FaqManage = withPermission(Loadable(lazy(() => import('views/application/Faq').then((module) => ({ default: module.Manage })))), {\r\n action: 'Manage',\r\n subject: 'FAQ'\r\n});\r\n\r\nconst FaqEdit = withPermission(Loadable(lazy(() => import('views/application/Faq').then((module) => ({ default: module.Edit })))), {\r\n action: 'Update',\r\n subject: 'FAQ'\r\n});\r\n// /////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\n// admin routing\r\nconst ImpersonationView = withPermission(Loadable(lazy(() => import('views/admin/Impersonation'))), {\r\n action: 'Impersonation',\r\n subject: 'Admin'\r\n});\r\nconst GridManage = withPermission(Loadable(lazy(() => import('views/admin/ConfigTables').then((module) => ({ default: module.Manage })))), {\r\n action: 'Manage',\r\n subject: 'ConfigTables'\r\n});\r\nconst GridView = withPermission(Loadable(lazy(() => import('views/admin/ConfigTables').then((module) => ({ default: module.View })))), {\r\n action: 'View',\r\n subject: 'ConfigTables'\r\n});\r\n\r\nconst FormsView = withPermission(Loadable(lazy(() => import('views/admin/Forms').then((module) => ({ default: module.View })))), {\r\n action: 'Manage',\r\n subject: 'Forms'\r\n});\r\n\r\nconst FormsManage = withPermission(Loadable(lazy(() => import('views/admin/Forms').then((module) => ({ default: module.Manage })))), {\r\n action: 'Update',\r\n subject: 'Forms'\r\n});\r\n\r\nconst FormsPreview = withPermission(Loadable(lazy(() => import('views/admin/Forms').then((module) => ({ default: module.Preview })))), {\r\n action: 'Manage',\r\n subject: 'Forms'\r\n});\r\n\r\nconst PageNotFound = Loadable(lazy(() => import('views/PageNotFound')));\r\nconst ServerError = Loadable(lazy(() => import('views/ServerError')));\r\nconst GDPR = Loadable(lazy(() => import('views/GDPR')));\r\nconst TermsOfUse = Loadable(lazy(() => import('views/TermsOfUse')));\r\n\r\n// const PageUnderConstruction = Loadable(lazy(() => import('views/PageUnderConstruction')));\r\n\r\n// user manage\r\nconst UserDetails = Loadable(lazy(() => import('views/dashboard/Users/Manage/Details')));\r\nconst UserRoles = Loadable(lazy(() => import('views/dashboard/Users/Manage/Roles')));\r\nconst UserPermissions = Loadable(lazy(() => import('views/dashboard/Users/Manage/Permissions')));\r\n\r\n// role manage\r\nconst RolesDetails = Loadable(lazy(() => import('views/dashboard/Roles/Manage/Details')));\r\nconst RolesPermissions = Loadable(lazy(() => import('views/dashboard/Roles/Manage/Permissions')));\r\n// ==============================|| MAIN ROUTING ||============================== //\r\nconst AthleteDetails = Loadable(lazy(() => import('views/application/Athletes/Manage/Details')));\r\nconst AthleteFunctions = Loadable(lazy(() => import('views/application/Athletes/Manage/Functions')));\r\nconst AthleteNfcCard = Loadable(lazy(() => import('views/application/Athletes/Manage/NfcCard')));\r\n\r\nconst ClubDetails = Loadable(lazy(() => import('views/application/Clubs/Manage/Details')));\r\n\r\nconst OfficialDetails = Loadable(lazy(() => import('views/application/Officials/Manage/Details')));\r\nconst OfficialFunctions = Loadable(lazy(() => import('views/application/Officials/Manage/Functions')));\r\n\r\nconst TransactionHeaders = Loadable(lazy(() => import('views/application/Transactions/View/TransactionHeaders')));\r\nconst TransactionDetails = Loadable(lazy(() => import('views/application/Transactions/View/TransactionDetails')));\r\n\r\nconst StatisticsView = withPermission(Loadable(lazy(() => import('views/dashboard/Statistics'))), {\r\n action: 'View',\r\n subject: 'Statistics'\r\n});\r\n\r\nconst MainRoutes = () => [\r\n {\r\n path: '',\r\n element: ,\r\n children: [\r\n {\r\n path: 'home',\r\n element: \r\n },\r\n\r\n {\r\n path: 'search',\r\n element: \r\n },\r\n {\r\n path: 'user/settings',\r\n element: \r\n },\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'site-is-temporarily-unavailable',\r\n element: \r\n },\r\n {\r\n path: 'GDPR',\r\n element: \r\n },\r\n {\r\n path: 'TermsOfUse',\r\n element: \r\n },\r\n {\r\n path: '/invite',\r\n element: (\r\n
\r\n Παρακαλώ αποσυνδεθείτε για να αποδεχθείτε την πρόσκληση!\r\n
\r\n )\r\n },\r\n {\r\n path: 'configtables',\r\n element: \r\n },\r\n {\r\n path: 'configtables/manage/:dataKey',\r\n element: \r\n },\r\n {\r\n path: 'forms',\r\n element: \r\n },\r\n {\r\n path: 'forms/manage/:id',\r\n element: \r\n },\r\n {\r\n path: 'forms/preview',\r\n element: \r\n },\r\n {\r\n path: '*',\r\n element: \r\n },\r\n {\r\n path: 'lookups',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: '',\r\n element: ,\r\n children: [\r\n {\r\n path: 'payment/:token',\r\n element: \r\n },\r\n {\r\n path: 'api/payment/success',\r\n element: \r\n },\r\n {\r\n path: 'api/payment/fail',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: 'users-and-access',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'users',\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'create',\r\n element: \r\n },\r\n {\r\n path: 'create/:existingPersonId',\r\n element: \r\n },\r\n {\r\n path: 'create/:existingPersonId/:personFunctionId',\r\n element: \r\n },\r\n {\r\n path: 'manage/:id',\r\n element: ,\r\n children: [\r\n {\r\n path: 'details',\r\n element: \r\n },\r\n {\r\n path: 'roles',\r\n element: \r\n },\r\n {\r\n path: 'permissions',\r\n element: \r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n path: 'roles',\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'manage/:id',\r\n element: ,\r\n children: [\r\n {\r\n path: 'details',\r\n element: \r\n },\r\n {\r\n path: 'permissions',\r\n element: \r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n path: 'impersonation',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: 'faq-manage',\r\n element: ,\r\n children: [{ path: '', element: }]\r\n },\r\n {\r\n path: 'clubs',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'manage/:id',\r\n element: ,\r\n children: [\r\n {\r\n path: 'details',\r\n element: \r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n path: 'athletes',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'manage/:id',\r\n element: ,\r\n children: [\r\n {\r\n path: 'details',\r\n element: \r\n },\r\n {\r\n path: 'functions',\r\n element: \r\n },\r\n {\r\n path: 'nfccard',\r\n element: \r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n path: 'officials',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'manage/:id',\r\n element: ,\r\n children: [\r\n {\r\n path: 'details',\r\n element: \r\n },\r\n {\r\n path: 'functions',\r\n element: \r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n path: 'statistics',\r\n element: ,\r\n children: [\r\n { path: '', element: },\r\n\r\n { path: 'clubs', element: },\r\n { path: 'athletes', element: },\r\n { path: 'officials', element: },\r\n { path: 'competitions', element: }\r\n ]\r\n },\r\n {\r\n path: 'applications',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'clubs',\r\n element: \r\n },\r\n {\r\n path: 'clubs/manage/:id',\r\n element: \r\n },\r\n {\r\n path: 'athletes',\r\n element: \r\n },\r\n {\r\n path: 'athletes/manage/:id',\r\n element: \r\n },\r\n {\r\n path: 'athletes/certificate/:id',\r\n element: \r\n },\r\n {\r\n path: 'athletes/batch/:id',\r\n element: \r\n },\r\n {\r\n path: 'athletes/selfinsurance/:id',\r\n element: \r\n },\r\n {\r\n path: 'athletes/fedinsurance/:id',\r\n element: \r\n },\r\n {\r\n path: 'officials/certificate/:id',\r\n element: \r\n },\r\n {\r\n path: 'officials/batch/:id',\r\n element: \r\n },\r\n {\r\n path: 'clubs/certificate/:id',\r\n element: \r\n },\r\n {\r\n path: 'officials',\r\n element: \r\n },\r\n {\r\n path: 'officials/manage/:id',\r\n element: \r\n },\r\n {\r\n path: 'new/:id',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: 'tools',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'email',\r\n element: \r\n },\r\n {\r\n path: 'email/new',\r\n element: \r\n },\r\n {\r\n path: 'merge',\r\n element: \r\n },\r\n { path: 'merge/new', element: },\r\n { path: 'merge/manage/:id/details', element: }\r\n ]\r\n },\r\n {\r\n path: 'payments',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: ,\r\n children: []\r\n },\r\n {\r\n path: 'headers',\r\n element: (\r\n \r\n \r\n \r\n )\r\n },\r\n {\r\n path: 'details',\r\n element: (\r\n \r\n \r\n \r\n )\r\n },\r\n\r\n {\r\n path: 'index/:id',\r\n element: \r\n },\r\n {\r\n path: 'card/:id/:type',\r\n element: \r\n },\r\n {\r\n path: 'card/:id',\r\n element: \r\n },\r\n {\r\n path: 'pending',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: 'payment-reports',\r\n element: ,\r\n children: [{ path: '', element: }]\r\n },\r\n {\r\n path: 'payment-data-transfer',\r\n element: ,\r\n children: [{ path: '', element: }]\r\n },\r\n {\r\n path: '',\r\n element: ,\r\n children: []\r\n },\r\n {\r\n path: 'competitions',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'calendar',\r\n element: \r\n },\r\n {\r\n path: 'details/manage/:id',\r\n element: \r\n },\r\n {\r\n path: 'participations',\r\n element: \r\n },\r\n {\r\n path: 'participations/:id',\r\n element: \r\n },\r\n {\r\n path: 'participations/manage/:id',\r\n element: \r\n },\r\n {\r\n path: 'participationslist',\r\n element: \r\n },\r\n {\r\n path: 'participationslist/:id',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: 'results',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: 'performance',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: 'certifications',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: 'sites',\r\n element: ,\r\n children: [\r\n {\r\n path: 'view',\r\n element: \r\n },\r\n {\r\n path: 'manage/:id',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: 'faq',\r\n element: ,\r\n children: [\r\n {\r\n path: 'view',\r\n element: \r\n },\r\n {\r\n path: 'manage',\r\n element: \r\n },\r\n {\r\n path: 'edit/:id',\r\n element: \r\n }\r\n ]\r\n }\r\n];\r\n\r\nexport default MainRoutes;\r\n","import { ClickAwayListener, FormControl, FormControlLabel, Popper, Radio, RadioGroup } from '@mui/material';\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useDispatch } from 'react-redux';\r\nimport { SET_LANGUAGE } from 'store/actions';\r\n\r\nconst LanguageSelector = (props) => {\r\n const { open, setOpen, anchorRef, language } = props;\r\n const dispatch = useDispatch();\r\n const { i18n } = useTranslation();\r\n const theme = useTheme();\r\n const [selectedLanguage, setLanguage] = useState(language);\r\n\r\n const handleLanguageChange = (value) => {\r\n setLanguage(value);\r\n dispatch({ type: SET_LANGUAGE, language: value });\r\n i18n.changeLanguage(value);\r\n };\r\n\r\n const handleClose = (event) => {\r\n if (anchorRef.current && anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n setOpen(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n handleLanguageChange(e.target.value)}\r\n name=\"row-radio-buttons-group\"\r\n >\r\n }\r\n onClick={() => handleLanguageChange('en')}\r\n label=\"English\"\r\n sx={{\r\n '& .MuiSvgIcon-root': { fontSize: 28 },\r\n '& .MuiFormControlLabel-label': { color: theme.palette.grey[900] }\r\n }}\r\n />\r\n }\r\n onClick={() => handleLanguageChange('gre')}\r\n label=\"Ελληνικά\"\r\n sx={{\r\n '& .MuiSvgIcon-root': { fontSize: 28 },\r\n '& .MuiFormControlLabel-label': { color: theme.palette.grey[900] }\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LanguageSelector;\r\n","import { Box, Stack, Typography, Link } from '@mui/material';\r\nimport qb from 'assets/images/qb.png';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst PublicFooter = (props) => {\r\n const { desktop } = props;\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n {desktop ? (\r\n <>\r\n \r\n \r\n \"Qb\"\r\n \r\n \r\n \r\n window.open(PDF)}\r\n onClick={() => window.open(`${window.location.origin}/TermsOfUse`, '_blank')}\r\n sx={{ cursor: 'pointer' }}\r\n underline=\"hover\"\r\n >\r\n {t('TermsOfUse')}\r\n \r\n \r\n \r\n \r\n NFC Sports || Powered by \r\n \r\n QUBITEQ\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \"Qb\"\r\n \r\n window.open(PDF)}\r\n onClick={() => window.open(`${window.location.origin}/TermsOfUse`, '_blank')}\r\n sx={{ cursor: 'pointer' }}\r\n underline=\"hover\"\r\n >\r\n {t('TermsOfUse')}\r\n \r\n \r\n NFC Sports || Powered by \r\n \r\n QUBITEQ\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PublicFooter;\r\n","import FacebookIcon from '@mui/icons-material/Facebook';\r\nimport InstagramIcon from '@mui/icons-material/Instagram';\r\nimport {\r\n Accordion,\r\n AccordionDetails,\r\n AccordionSummary,\r\n AppBar,\r\n Box,\r\n Button,\r\n CssBaseline,\r\n Divider,\r\n Grid,\r\n IconButton,\r\n Stack,\r\n Toolbar,\r\n Typography,\r\n useMediaQuery\r\n} from '@mui/material';\r\nimport { styled, useTheme } from '@mui/material/styles';\r\nimport { useSettings } from 'hooks/useSettings';\r\nimport { Outlet, useNavigate } from 'react-router-dom';\r\nimport { Logo } from 'ui-component';\r\n// import XIcon from '@mui/icons-material/X';\r\nimport LanguageIcon from '@mui/icons-material/Language';\r\nimport MailOutlineIcon from '@mui/icons-material/MailOutline';\r\nimport MenuIcon from '@mui/icons-material/Menu';\r\nimport YouTubeIcon from '@mui/icons-material/YouTube';\r\nimport { useRef, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { LanguageSelector, PublicFooter } from './components';\r\nimport { useTranslation, Trans } from 'react-i18next';\r\n\r\nconst languageToString = (language) => {\r\n if (language === 'gre') {\r\n return 'ΕΛ';\r\n }\r\n if (language === 'en') {\r\n return 'EN';\r\n }\r\n return '';\r\n};\r\n\r\nconst Main = styled('main')(({ theme }) => ({\r\n ...theme.typography.mainContent,\r\n borderBottomLeftRadius: 0,\r\n borderBottomRightRadius: 0,\r\n minHeight: '10vh'\r\n}));\r\n\r\nconst PublicLayout = () => {\r\n const theme = useTheme();\r\n const { t } = useTranslation();\r\n const { projectLogo, url, email, projectFullTitle, address, phone } = useSettings();\r\n const { language } = useSelector((state) => state.customization);\r\n const navigate = useNavigate();\r\n const lgUp = useMediaQuery(theme.breakpoints.up('lg'));\r\n const mdUp = useMediaQuery(theme.breakpoints.up('md'));\r\n const anchorRef = useRef(null);\r\n const [open, setOpen] = useState(false);\r\n\r\n const scrollbarStyles = {\r\n '&::-webkit-scrollbar': {\r\n width: '0.4em',\r\n height: '0.4em'\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n backgroundColor: '#b8cbd4'\r\n }\r\n };\r\n\r\n const handleNavLogin = () => {\r\n navigate('/login');\r\n };\r\n\r\n const handleNavFederation = () => {\r\n window.open(url, '_blank');\r\n window.focus();\r\n };\r\n\r\n const handleSendEmail = () => {\r\n window.open(`mailto:${email}`, '_blank');\r\n };\r\n\r\n const handleNavMenu = (url) => {\r\n navigate(url);\r\n };\r\n\r\n const handleOpenLanguage = (event) => {\r\n setOpen((prev) => !prev);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {languageToString(language)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {projectFullTitle}\r\n \r\n \r\n \r\n \r\n {address}\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n {projectFullTitle}\r\n \r\n \r\n {address}\r\n \r\n */}\r\n {/* */}\r\n {lgUp ? (\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n {t('MemberLogin')}\r\n \r\n \r\n \r\n ) : (\r\n \r\n }\r\n sx={{\r\n flexDirection: 'row-reverse',\r\n borderTop: 'none',\r\n '& .MuiAccordionSummary-content': {\r\n marginLeft: 1\r\n },\r\n '& .MuiAccordionSummary-content.Mui-expanded': {\r\n marginLeft: 1\r\n }\r\n }}\r\n >\r\n \r\n Menu\r\n \r\n \r\n \r\n \r\n handleNavMenu('/public/calendar')}>\r\n {t('Calendar')}\r\n \r\n {/* handleNavMenu('/public/athletes')}>\r\n Athletes\r\n \r\n handleNavMenu('/public/officials')}>\r\n Officials\r\n \r\n handleNavMenu('/public/clubs')}>\r\n Clubs\r\n */}\r\n \r\n {t('GoToFederation')}\r\n \r\n \r\n \r\n {t('MemberLogin')}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PublicLayout;\r\n","import PublicLayout from './PublicLayout';\r\n\r\nexport default PublicLayout;\r\n","import { lazy } from 'react';\r\nimport { Navigate } from 'react-router-dom';\r\n\r\n// project imports\r\nimport { Loadable } from '@qubiteq/qublib';\r\nimport MinimalLayout from 'layout/MinimalLayout';\r\nimport PublicLayout from 'layout/PublicLayout';\r\nimport { useSettings } from 'hooks/useSettings';\r\n\r\n// login option 3 routing\r\nconst AuthLogin3 = Loadable(lazy(() => import('views/authentication/authentication3/Login3')));\r\n// const AuthRegister3 = Loadable(lazy(() => import('views/authentication/authentication3/Register3')));\r\nconst ResetPassword = Loadable(lazy(() => import('views/authentication/forgotPassword')));\r\nconst UserInvitation = Loadable(lazy(() => import('views/authentication/userInvitation')));\r\nconst PaymentSubmittion = Loadable(lazy(() => import('views/application/Payments/Submittion')));\r\nconst TermsOfUse = Loadable(lazy(() => import('views/TermsOfUse')));\r\nconst PaymentResultPage = Loadable(lazy(() => import('views/application/Payments/Submittion/paymentMethod/byCard/form/resultPage')));\r\nconst CompetitionsCalendar = Loadable(lazy(() => import('views/public/Competitions').then((module) => ({ default: module.Calendar }))));\r\nconst CompetitionDetails = Loadable(lazy(() => import('views/public/Competitions').then((module) => ({ default: module.Details }))));\r\n\r\n// ==============================|| AUTHENTICATION ROUTING ||============================== //\r\n\r\nconst AuthenticationRoutes = () => {\r\n // eslint-disable-next-line camelcase\r\n const { project_public_enabled } = useSettings();\r\n\r\n return [\r\n {\r\n path: '/',\r\n element: ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'api/payment/success',\r\n element: \r\n },\r\n {\r\n path: 'api/payment/fail',\r\n element: \r\n },\r\n {\r\n path: '/login',\r\n element: \r\n },\r\n /* {\r\n path: '/register',\r\n element: \r\n }, */\r\n {\r\n path: '/reset/:token',\r\n element: \r\n },\r\n {\r\n path: '/invite',\r\n element: \r\n },\r\n {\r\n path: '/invite',\r\n element: \r\n },\r\n {\r\n path: 'TermsOfUse',\r\n element: \r\n },\r\n {\r\n path: '/payment/:token',\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: 'public',\r\n // eslint-disable-next-line camelcase\r\n element: project_public_enabled === 'true' ? : ,\r\n children: [\r\n {\r\n path: '',\r\n element: \r\n },\r\n {\r\n path: 'calendar',\r\n element: \r\n },\r\n {\r\n path: 'competition',\r\n element: \r\n },\r\n {\r\n path: 'athletes',\r\n element:
Athletes
\r\n },\r\n {\r\n path: 'officials',\r\n element:
Officials
\r\n },\r\n {\r\n path: 'clubs',\r\n element:
Clubs
\r\n }\r\n ]\r\n },\r\n {\r\n path: '*',\r\n element: \r\n }\r\n ];\r\n};\r\nexport default AuthenticationRoutes;\r\n","import { memo } from 'react';\r\nimport { useRoutes } from 'react-router-dom';\r\n\r\n// routes\r\nimport MainRoutes from './MainRoutes';\r\nimport AuthenticationRoutes from './AuthenticationRoutes';\r\nimport config from 'config';\r\n\r\n// store\r\nimport { useSelector } from 'react-redux';\r\nimport { useMenu } from 'hooks/useMenu';\r\n// ==============================|| ROUTING RENDER ||============================== //\r\n\r\nconst Routes = memo(() => {\r\n const { isLoggedIn } = useSelector((state) => state.auth);\r\n const routes = isLoggedIn ? MainRoutes() : AuthenticationRoutes();\r\n useMenu();\r\n\r\n return useRoutes(routes, config.basename);\r\n});\r\n\r\nexport default Routes;\r\n","/**\r\n * Color intention that you want to used in your theme\r\n * @param {JsonObject} theme Theme customization object\r\n */\r\n\r\nexport default function themePalette(theme) {\r\n return {\r\n mode: theme?.mode ?? 'light',\r\n common: {\r\n white: theme.colors.white,\r\n black: theme.colors.black\r\n },\r\n primary: {\r\n light: theme.colors?.primaryLight,\r\n main: theme.colors?.primaryMain,\r\n dark: theme.colors?.primaryDark,\r\n 200: theme.colors?.primary200,\r\n 800: theme.colors?.primary800\r\n },\r\n secondary: {\r\n light: theme.colors?.secondaryLight,\r\n main: theme.colors?.secondaryMain,\r\n dark: theme.colors?.secondaryDark,\r\n 200: theme.colors?.secondary200,\r\n 800: theme.colors?.secondary800\r\n },\r\n error: {\r\n light: theme.colors?.errorLight,\r\n main: theme.colors?.errorMain,\r\n dark: theme.colors?.errorDark\r\n },\r\n orange: {\r\n light: theme.colors?.orangeLight,\r\n main: theme.colors?.orangeMain,\r\n dark: theme.colors?.orangeDark\r\n },\r\n warning: {\r\n light: theme.colors?.warningLight,\r\n main: theme.colors?.warningMain,\r\n dark: theme.colors?.warningDark\r\n },\r\n success: {\r\n light: theme.colors?.successLight,\r\n 200: theme.colors?.success200,\r\n main: theme.colors?.successMain,\r\n dark: theme.colors?.successDark\r\n },\r\n grey: {\r\n 50: theme.colors?.grey50,\r\n 100: theme.colors?.grey100,\r\n 500: theme.darkTextSecondary,\r\n 600: theme.heading,\r\n 700: theme.darkTextPrimary,\r\n 900: theme.textDark\r\n },\r\n dark: {\r\n light: theme.colors?.darkTextPrimary,\r\n main: theme.colors?.darkLevel1,\r\n dark: theme.colors?.darkLevel2,\r\n 800: theme.colors?.darkBackground,\r\n 900: theme.colors?.darkPaper\r\n },\r\n text: {\r\n primary: theme.darkTextPrimary,\r\n secondary: theme.darkTextSecondary,\r\n dark: theme.textDark,\r\n hint: theme.colors?.grey100\r\n },\r\n background: {\r\n paper: theme.paper,\r\n default: theme.backgroundDefault\r\n }\r\n };\r\n}\r\n","/**\r\n * Typography used in theme\r\n * @param {JsonObject} theme theme customization object\r\n */\r\n\r\nexport default function themeTypography(theme) {\r\n return {\r\n fontFamily: theme?.customization?.fontFamily,\r\n h6: {\r\n fontWeight: 600,\r\n color: theme.heading,\r\n fontSize: '0.75rem'\r\n },\r\n h5: {\r\n fontSize: '0.875rem',\r\n color: theme.heading,\r\n fontWeight: 600\r\n },\r\n h4: {\r\n fontSize: '1rem',\r\n color: theme.heading,\r\n fontWeight: 800\r\n },\r\n h3: {\r\n fontSize: '1.25rem',\r\n color: theme.heading,\r\n fontWeight: 800\r\n },\r\n h2: {\r\n fontSize: '1.5rem',\r\n color: theme.heading,\r\n fontWeight: 800\r\n },\r\n h1: {\r\n fontSize: '2.125rem',\r\n color: theme.heading,\r\n fontWeight: 800\r\n },\r\n subtitle1: {\r\n fontSize: '0.875rem',\r\n fontWeight: 400,\r\n color: theme.textDarkPrimary\r\n },\r\n subtitle2: {\r\n fontSize: '0.8rem',\r\n fontWeight: 400,\r\n color: theme.darkTextSecondary\r\n },\r\n caption: {\r\n fontSize: '0.75rem',\r\n color: theme.darkTextSecondary,\r\n fontWeight: 600\r\n },\r\n body1: {\r\n fontSize: '0.875rem',\r\n fontWeight: 400,\r\n lineHeight: '1.334em'\r\n },\r\n body2: {\r\n letterSpacing: '0em',\r\n fontWeight: 400,\r\n lineHeight: '1.5em',\r\n color: theme.darkTextPrimary\r\n },\r\n error: {\r\n color: theme.colors.errorMain\r\n },\r\n button: {\r\n textTransform: 'capitalize'\r\n },\r\n customInput: {\r\n marginTop: 1,\r\n marginBottom: 1,\r\n '& > label': {\r\n top: 23,\r\n left: 0,\r\n color: theme.grey500,\r\n '&[data-shrink=\"false\"]': {\r\n top: 5\r\n }\r\n },\r\n '& > div > input': {\r\n padding: '30.5px 14px 11.5px !important'\r\n },\r\n '& legend': {\r\n display: 'none'\r\n },\r\n '& fieldset': {\r\n top: 0\r\n }\r\n },\r\n mainContent: {\r\n backgroundColor: theme.background,\r\n width: '100%',\r\n minHeight: 'calc(100vh - 120px)',\r\n flexGrow: 1,\r\n padding: '12px',\r\n marginTop: '88px',\r\n marginRight: '20px',\r\n borderRadius: `${theme?.customization?.borderRadius}px`\r\n },\r\n menuCaption: {\r\n fontSize: '0.875rem',\r\n fontWeight: 500,\r\n color: theme.heading,\r\n padding: '6px',\r\n textTransform: 'capitalize',\r\n marginTop: '10px'\r\n },\r\n subMenuCaption: {\r\n fontSize: '0.6875rem',\r\n fontWeight: 500,\r\n color: theme.darkTextSecondary,\r\n textTransform: 'capitalize'\r\n },\r\n commonAvatar: {\r\n cursor: 'pointer',\r\n borderRadius: '8px'\r\n },\r\n smallAvatar: {\r\n width: '22px',\r\n height: '22px',\r\n fontSize: '1rem'\r\n },\r\n mediumAvatar: {\r\n width: '34px',\r\n height: '34px',\r\n fontSize: '1.2rem'\r\n },\r\n largeAvatar: {\r\n width: '44px',\r\n height: '44px',\r\n fontSize: '1.5rem'\r\n }\r\n };\r\n}\r\n","export const THEME_PRESETS = {\r\n light: require('./palettes/light.module.scss'),\r\n dark: require('./palettes/dark.module.scss'),\r\n warm: require('./palettes/warm.module.scss'),\r\n relax: require('./palettes/relax.module.scss')\r\n};\r\n","import { createTheme } from '@mui/material/styles';\r\n\r\n// project imports\r\nimport componentStyleOverrides from './compStyleOverride';\r\nimport themePalette from './palette';\r\nimport themeTypography from './typography';\r\nimport { THEME_PRESETS } from './presets';\r\n\r\n/**\r\n * Represent theme style and structure as per Material-UI\r\n * @param {JsonObject} customization customization parameter object\r\n */\r\n\r\nexport const theme = (customization) => {\r\n const color = THEME_PRESETS[customization?.theme ?? 'light'];\r\n\r\n const themeOption = {\r\n colors: color,\r\n heading: color.grey900,\r\n paper: color.paper,\r\n backgroundDefault: color.background,\r\n background: color.primaryLight,\r\n darkTextPrimary: color.grey700,\r\n darkTextSecondary: color.grey500,\r\n textDark: color.grey900,\r\n menuSelected: color.secondaryDark,\r\n menuSelectedBack: color.primaryMain,\r\n divider: color.grey200,\r\n mode: color?.mode ?? 'light',\r\n white: color.white,\r\n black: color.black\r\n };\r\n\r\n const themeOptions = {\r\n direction: 'ltr',\r\n palette: themePalette(themeOption),\r\n mixins: {\r\n toolbar: {\r\n minHeight: '48px',\r\n padding: '16px',\r\n '@media (min-width: 600px)': {\r\n minHeight: '48px'\r\n }\r\n }\r\n },\r\n typography: themeTypography(themeOption)\r\n };\r\n\r\n const themes = createTheme(themeOptions);\r\n themes.components = componentStyleOverrides(themeOption);\r\n\r\n return themes;\r\n};\r\n\r\nexport default theme;\r\n","export default function componentStyleOverrides(theme) {\r\n const bgColor = theme.colors?.paper;\r\n return {\r\n MuiButton: {\r\n styleOverrides: {\r\n root: {\r\n fontWeight: 500,\r\n borderRadius: '4px'\r\n }\r\n }\r\n },\r\n MuiPaper: {\r\n defaultProps: {\r\n elevation: 0\r\n },\r\n styleOverrides: {\r\n root: {\r\n backgroundImage: 'none'\r\n },\r\n rounded: {\r\n borderRadius: `${theme?.customization?.borderRadius}px`\r\n }\r\n }\r\n },\r\n MuiCardHeader: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.colors?.textDark,\r\n padding: '24px'\r\n },\r\n title: {\r\n fontSize: '1.125rem'\r\n }\r\n }\r\n },\r\n MuiCardContent: {\r\n styleOverrides: {\r\n root: {\r\n padding: '24px'\r\n }\r\n }\r\n },\r\n MuiCardActions: {\r\n styleOverrides: {\r\n root: {\r\n padding: '24px'\r\n }\r\n }\r\n },\r\n MuiListItemButton: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.darkTextPrimary,\r\n paddingTop: '10px',\r\n paddingBottom: '10px',\r\n '&.Mui-selected': {\r\n color: theme.paper,\r\n backgroundColor: theme.menuSelectedBack,\r\n '&:hover': {\r\n backgroundColor: theme.menuSelectedBack\r\n },\r\n '& .MuiListItemIcon-root': {\r\n color: theme.paper\r\n }\r\n },\r\n '&:hover': {\r\n backgroundColor: theme.menuSelectedBack,\r\n color: theme.paper,\r\n '& .MuiListItemIcon-root': {\r\n color: theme.paper\r\n }\r\n }\r\n }\r\n }\r\n },\r\n MuiListItemIcon: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.darkTextPrimary,\r\n minWidth: '36px'\r\n }\r\n }\r\n },\r\n MuiListItemText: {\r\n styleOverrides: {\r\n primary: {\r\n color: theme.textDark\r\n }\r\n }\r\n },\r\n MuiInputBase: {\r\n styleOverrides: {\r\n input: {\r\n color: theme.textDark,\r\n '&::placeholder': {\r\n color: theme.darkTextSecondary,\r\n fontSize: '0.875rem',\r\n fontWeight: 'bold'\r\n }\r\n }\r\n }\r\n },\r\n // MuiOutlinedInput: {\r\n // styleOverrides: {\r\n // root: {\r\n // background: bgColor,\r\n // borderRadius: `${theme?.customization?.borderRadius}px`,\r\n // '& .MuiOutlinedInput-notchedOutline': {\r\n // borderColor: theme.colors?.grey400\r\n // },\r\n // '&:hover $notchedOutline': {\r\n // borderColor: theme.colors?.primaryLight\r\n // },\r\n // '&.MuiInputBase-multiline': {\r\n // padding: 1\r\n // }\r\n // },\r\n // input: {\r\n // fontWeight: 500,\r\n // background: bgColor,\r\n // padding: '15.5px 14px',\r\n // borderRadius: `${theme?.customization?.borderRadius}px`,\r\n // '&.MuiInputBase-inputSizeSmall': {\r\n // padding: '10px 14px',\r\n // '&.MuiInputBase-inputAdornedStart': {\r\n // paddingLeft: 0\r\n // }\r\n // }\r\n // },\r\n // inputAdornedStart: {\r\n // paddingLeft: 4\r\n // },\r\n // notchedOutline: {\r\n // borderRadius: `${theme?.customization?.borderRadius}px`\r\n // }\r\n // }\r\n // },\r\n MuiSlider: {\r\n styleOverrides: {\r\n root: {\r\n '&.Mui-disabled': {\r\n color: theme.colors?.grey300\r\n }\r\n },\r\n mark: {\r\n backgroundColor: theme.paper,\r\n width: '4px'\r\n },\r\n valueLabel: {\r\n color: theme?.colors?.primaryLight\r\n }\r\n }\r\n },\r\n MuiDivider: {\r\n styleOverrides: {\r\n root: {\r\n borderColor: theme.divider,\r\n opacity: 1\r\n }\r\n }\r\n },\r\n MuiAvatar: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.colors?.primaryDark,\r\n background: theme.colors?.primary200\r\n }\r\n }\r\n },\r\n MuiChip: {\r\n styleOverrides: {\r\n root: {\r\n '&.MuiChip-deletable .MuiChip-deleteIcon': {\r\n color: 'inherit'\r\n }\r\n }\r\n }\r\n },\r\n MuiTooltip: {\r\n styleOverrides: {\r\n tooltip: {\r\n color: theme.paper,\r\n background: theme.colors?.grey700\r\n }\r\n }\r\n },\r\n MuiDialogContentText: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.colors?.grey800\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\n// ==============================|| NAVIGATION SCROLL TO TOP ||============================== //\r\n\r\nconst NavigationScroll = ({ children }) => {\r\n const location = useLocation();\r\n const { pathname } = location;\r\n\r\n useEffect(() => {\r\n window.scrollTo({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }, [pathname]);\r\n\r\n return children || null;\r\n};\r\n\r\nNavigationScroll.propTypes = {\r\n children: PropTypes.node\r\n};\r\n\r\nexport default NavigationScroll;\r\n","import i18n from 'i18next';\r\nimport { initReactI18next } from 'react-i18next';\r\nimport LanguageDetector from 'i18next-browser-languagedetector';\r\nimport { translation } from 'apis';\r\n\r\nexport const lazyLoadTranslations = async () => {\r\n const data = await translation.getResources();\r\n data?.map((lang) => {\r\n i18n.addResourceBundle(lang.ln, lang.namespace, lang.datavalues);\r\n return null;\r\n });\r\n};\r\n\r\ni18n.use(LanguageDetector)\r\n .use(initReactI18next)\r\n .init({\r\n debug: true,\r\n partialBundledLanguages: true,\r\n transSupportBasicHtmlNodes: true,\r\n fallbackLng: 'el',\r\n defaultNS: 'common',\r\n interpolation: {\r\n escapeValue: false\r\n },\r\n resources: {}\r\n });\r\n\r\nexport default i18n;\r\n","import { useEffect } from 'react';\r\nimport { useMe } from '../../hooks/useMe';\r\nimport { Box, CircularProgress } from '@mui/material';\r\nimport { QueryStatus } from 'enums';\r\nimport { lazyLoadTranslations } from 'i18n';\r\nimport { useSettings } from 'hooks/useSettings';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst SplashScreen = ({ children }) => {\r\n const { status } = useMe();\r\n const { projectFullTitle, projectIcon } = useSettings();\r\n\r\n useEffect(() => {\r\n if (projectFullTitle) {\r\n document.title = projectFullTitle;\r\n document.querySelector('meta[name=\"title\"]').setAttribute('content', projectFullTitle);\r\n }\r\n if (projectIcon) {\r\n const favicon = document.getElementById('favicon');\r\n favicon.href = projectIcon;\r\n favicon.setAttribute('type', 'image/x-icon');\r\n }\r\n }, [projectFullTitle, projectIcon]);\r\n\r\n useEffect(() => {\r\n lazyLoadTranslations();\r\n }, []);\r\n\r\n if (status === QueryStatus.loading) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return children;\r\n};\r\n\r\nSplashScreen.propTypes = {\r\n children: PropTypes.node\r\n};\r\n\r\nexport default SplashScreen;\r\n","import { useSelector } from 'react-redux';\r\n\r\nimport { ThemeProvider } from '@mui/material/styles';\r\nimport { CssBaseline, StyledEngineProvider, Slide } from '@mui/material';\r\n\r\nimport { QBringValueProvider } from '@qubiteq/datagrid';\r\n\r\n// routing\r\nimport Routes from 'routes';\r\n\r\n// defaultTheme\r\nimport themes from 'themes';\r\n\r\n// project imports\r\nimport NavigationScroll from 'layout/NavigationScroll';\r\n\r\nimport { QueryClient, QueryClientProvider } from 'react-query';\r\n\r\nimport { SettingsProvider } from 'context/settingsContext';\r\n\r\n// permissions\r\nimport { PermissionProvider } from 'context/permissionContext';\r\n\r\nimport { UserProvider } from 'context/userContext';\r\n\r\nimport { DialogProvider } from 'context/dialogContext';\r\n\r\nimport SplashScreen from './views/splashScreen';\r\n\r\nimport { ModalProvider } from 'qubCommon/context/modalContext';\r\n\r\nimport { BringValueProvider } from 'context/BringValueContext/bringValueContext';\r\n\r\nimport { LoaderProvider } from 'context/loaderContext';\r\n\r\nimport { MobileConnectionProvider } from 'context/SignalR/mobileActionsConnection';\r\n\r\nimport { setLicenseKey } from '@grapecity/wijmo';\r\n\r\nimport { LoadingDialog } from './hoc';\r\n\r\nimport 'font-awesome/css/font-awesome.min.css';\r\n\r\nimport './assets/css/qubStyles.css';\r\n\r\nconst queryClient = new QueryClient({\r\n defaultOptions: {\r\n retry: 1,\r\n queries: {\r\n refetchOnWindowFocus: false\r\n }\r\n }\r\n});\r\n\r\n// ==============================|| APP ||============================== //\r\n\r\nconst App = () => {\r\n const customization = useSelector((state) => state.customization);\r\n\r\n // console.log('window', window);\r\n try {\r\n const data = window.localStorage.getItem('CONFIG');\r\n window.CONFIG = JSON.parse(data);\r\n\r\n // console.log(window.CONFIG);\r\n setLicenseKey(window.CONFIG.WIJMO_LICENSE_KEY);\r\n } catch (e) {\r\n console.log(e);\r\n const data = window.localStorage.getItem('CONFIG');\r\n window.CONFIG = JSON.parse(data);\r\n\r\n // console.log(window.CONFIG);\r\n setLicenseKey(window.CONFIG.WIJMO_LICENSE_KEY);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","// import ReactDOM from 'react-dom';\r\nimport { createRoot } from 'react-dom/client';\r\n\r\n// third party\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { PersistGate } from 'redux-persist/integration/react';\r\n\r\n// project imports\r\nimport * as serviceWorker from 'serviceWorker';\r\nimport App from 'App';\r\nimport { store, persistor } from 'store';\r\nimport './assets/main.css';\r\n\r\n// style + assets\r\nimport 'assets/scss/style.scss';\r\nimport '@grapecity/wijmo.styles/wijmo.css';\r\n\r\n// i18n\r\nimport './i18n';\r\n\r\nimport '@qubiteq/datagrid/dist/datagrid.cjs.development.css';\r\nimport { Helpers } from '@qubiteq/datagrid';\r\nimport { setLicenseKey } from '@grapecity/wijmo';\r\nimport { SnackbarProvider } from 'notistack';\r\nimport { Slide } from '@mui/material';\r\n\r\n// ==============================|| LICENSE WIJMO ||============================== //\r\n\r\n// setLicenseKey(window.CONFIG.WIJMO_LICENSE_KEY);\r\n// Helpers.licenseWj(window.CONFIG.WIJMO_LICENSE_KEY);\r\n\r\n/* eslint-disable */\r\n// ==============================|| REACT DOM RENDER ||============================== //\r\n\r\n// ReactDOM.render(\r\nconst rootElement = document.getElementById('root');\r\nconst root = createRoot(rootElement);\r\nroot.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n // ,\r\n // document.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","import { UserContext } from 'context/userContext';\r\nimport { useContext } from 'react';\r\n\r\nexport const useMe = () => {\r\n const { data, ...other } = useContext(UserContext);\r\n return { whoami: data, ...other };\r\n};\r\n"],"sourceRoot":""}