{"version":3,"sources":["services/logger/index.ts","services/logger/logger.ts","services/index.ts","services/auth/index.ts","services/auth/auth.ts","services/account/index.ts","services/account/account.ts","services/dipp/index.ts","services/dipp/dipp.ts","services/presentation/index.ts","services/presentation/presentation.ts","services/headers.ts","modules/auth/constants/userTypes.ts","modules/auth/constants/categories.ts","modules/auth/constants/errorMessages.tsx","modules/auth/store/register/reducer.ts","modules/auth/store/signin/reducer.ts","modules/dashboard/store/userActivity/reducer.ts","modules/dashboard/store/userAdministration/userAccountSlice.ts","modules/common/components/Button/Button.tsx","modules/common/components/Input/Input.tsx","modules/common/components/InputLabel/InputLabel.tsx","modules/common/components/Tooltip/Tooltip.tsx","modules/common/components/ValidationSummary/ValidationSummary.tsx","assets/icons/chevron.svg","modules/common/components/Dropdown/DropdownIndicator.tsx","modules/common/components/Dropdown/Control.tsx","modules/common/components/Dropdown/Dropdown.tsx","assets/icons/checkbox-check.svg","modules/common/constants/userRoles.ts","modules/common/components/Checkbox/Checkbox.tsx","modules/common/components/FormGroup/FormGroup.tsx","modules/common/components/Footer/Footer.tsx","modules/common/components/MainFooter/MainFooter.tsx","modules/common/constants/actionTypes.ts","modules/common/constants/applicationTypes.ts","modules/common/constants/counties.ts","modules/common/constants/userTypes.ts","modules/common/constants/notificationTypes.ts","modules/common/constants/infoTypes.ts","modules/common/constants/regexPatterns.ts","modules/common/components/Navigation/Navigation.tsx","assets/icons/hamburger.svg","assets/images/profile-image.png","modules/common/components/ProfileSettings/ProfileImage.tsx","modules/common/components/ProfileSettings/ProfileSettings.tsx","modules/common/components/MainHeader/MainHeader.tsx","assets/images/LogoMP1x.jpg","assets/icons/close.svg","modules/common/components/HamburgerMenu/HamburgerMenu.tsx","modules/common/components/MainLayout/MainLayout.tsx","assets/icons/arrow-down.svg","modules/common/components/NavDropdown/NavDropdown.tsx","assets/icons/filter.svg","modules/common/components/FilterGroup/FilterGroup.tsx","assets/icons/cancel.svg","modules/common/components/Filter/Filter.tsx","modules/common/components/ActionFilter/ActionFilter.tsx","modules/common/components/RoleFilter/RoleFilter.tsx","assets/icons/calendar.svg","assets/icons/arrow-left.svg","assets/icons/arrow-right.svg","modules/common/components/DatePicker/Navbar.tsx","modules/common/components/DatePicker/DatePicker.tsx","assets/icons/sortIcon.svg","modules/common/components/ActivityTable/TableHeader.tsx","modules/common/components/ActivityTable/TableBody.tsx","modules/common/components/NoResults/NoResults.tsx","modules/common/components/ActivityTable/Table.tsx","modules/common/components/ActivityTable/columnDefinitions.tsx","modules/common/components/Pagination/Pagination.tsx","modules/common/components/AdministrationTable/TableHeader.tsx","modules/common/components/AdministrationTable/TableBody.tsx","modules/common/components/AdministrationTable/Table.tsx","modules/common/components/CountyFilter/CountyFilter.tsx","modules/common/components/Modal/Modal.tsx","modules/common/components/Modal/ModalHeader.tsx","modules/common/components/Modal/ModalFooter.tsx","modules/common/components/RolesList/RolesList.tsx","modules/common/components/UserInfo/UserInfo.tsx","modules/common/components/SkeletonText/SkeletonText.tsx","modules/common/components/UserInfo/UserInfoLoading.tsx","modules/common/components/RadioInput/RadioInput.tsx","modules/common/components/RoleFilterSingle/RoleFilterSingle.tsx","assets/icons/spinner.svg","modules/common/components/Loading/Loading.tsx","assets/icons/cross.svg","assets/icons/check.svg","modules/common/components/ToggleSwitch/ToggleSwitch.tsx","modules/common/components/ProfileInfo/ProfileInfo.tsx","modules/common/components/ProfileInfo/ProfileInfoCitizenForm.tsx","modules/common/components/ProfileInfo/ProfileInfoForm.tsx","assets/icons/exclamation_circle.svg","modules/common/components/InfoNote/InfoNote.tsx","modules/common/components/ProfileSkeleton/ProfileSkeleton.tsx","modules/common/components/RangeDatePicker/Navbar.tsx","modules/common/components/RangeDatePicker/DateSideControls.tsx","modules/common/components/RangeDatePicker/RangeDatePicker.tsx","modules/common/components/DoughnutChart/DoughnutChart.tsx","modules/common/components/DoughnutChart/chartOptions.ts","modules/common/components/StatisticsContainer/StatisticsContainer.tsx","modules/common/components/UsersStats/UsersStats.tsx","modules/common/components/StatisticsContent/StatisticsContent.tsx","modules/common/components/ModuleUsageTable/TableHeader.tsx","modules/common/components/ModuleUsageTable/TableBody.tsx","modules/common/components/ModuleUsageTable/Table.tsx","modules/common/components/ModuleUsageTable/mockData.ts","modules/common/components/HorizontalBarChart/chartOptions.ts","modules/common/components/HorizontalBarChart/HorizontalBarChart.tsx","modules/common/utils/stringUtils.ts","modules/common/utils/fileUtils.ts","modules/common/hooks/useOutsideClick.ts","modules/common/hooks/useTitle.ts","modules/dashboard/utils/mappingUtils.ts","modules/dashboard/utils/mapUserActivities.ts","modules/dashboard/utils/mapUserAccount.ts","modules/dashboard/utils/mapUserProfile.ts","modules/dashboard/store/userAdministration/accountDashboardDataSlice.ts","modules/dashboard/store/userAdministration/accountListSlice.ts","modules/dashboard/store/userAdministration/deactivateAccountSlice.ts","modules/dashboard/store/userAdministration/deactivateUserSlice.ts","modules/dashboard/store/userAdministration/profileSlice.ts","modules/dashboard/store/userAdministration/addressSlice.ts","modules/dashboard/store/userAdministration/updateUserRoleSlice.ts","modules/dashboard/store/userAdministration/thunks.ts","modules/dashboard/utils/mapUserAccounts.ts","modules/auth/authorization/ability.ts","modules/auth/authorization/roleChecks.ts","modules/auth/authorization/roleRules/mpSuperAdminRules.ts","modules/auth/authorization/roleRules/mpAdminFarmerRules.ts","modules/auth/authorization/roleRules/employeeMpRules.ts","modules/auth/authorization/roleRules/employeeAppRules.ts","modules/auth/authorization/roleRules/adviserRules.ts","modules/auth/authorization/roleRules/adviserSuperAdminRules.ts","modules/auth/authorization/roleRules/adviserAdminFarmerRules.ts","modules/auth/authorization/roleRules/citizenRules.ts","modules/dashboard/components/ActivityFilters/ActivityFilters.tsx","modules/dashboard/components/AdministrationFilters/AdministrationFilters.tsx","assets/icons/email.svg","assets/icons/messenger.svg","modules/dashboard/components/NotificationSettings/NotificationSettings.tsx","modules/dashboard/components/Subscriptions/Subscriptions.tsx","assets/icons/sms.svg","modules/dashboard/components/Notifications/Notifications.tsx","modules/dashboard/components/Notifications/NotificationSelect.tsx","modules/dashboard/components/NotificationsStats/NotificationsStats.tsx","modules/dashboard/components/RegistrationStats/RegistrationStats.tsx","modules/dashboard/components/SubscriptionsStats/SubscriptionsStats.tsx","modules/dashboard/components/ModuleUsageStats/ModuleUsageStats.tsx","modules/dashboard/components/SystemAdministrationSkeleton/SystemAdministrationSkeleton.tsx","modules/dashboard/components/Settings/Settings.tsx","assets/icons/add.svg","modules/dashboard/components/FileUpload/FileUpload.tsx","modules/dashboard/components/DeactivateAccountModal/DeactivateAccountModal.tsx","modules/auth/store/signin/thunks.ts","modules/auth/store/forgotPassword/reducer.ts","modules/auth/store/forgotPassword/thunks.ts","modules/auth/store/activateAccount/reducer.ts","modules/auth/store/changePassword/reducer.ts","assets/icons/base-check.svg","modules/auth/components/PasswordRequirements/PasswordRequirements.tsx","modules/auth/components/PasswordStrength/PasswordStrength.tsx","modules/auth/components/AccountMessages/AccountMessages.tsx","assets/icons/resend.svg","assets/icons/success.svg","modules/auth/components/EmailSent/EmailSent.tsx","modules/auth/components/LinkExpired/LinkExpired.tsx","assets/images/LogoMP.jpg","modules/auth/components/AccountHeader/AccountHeader.tsx","assets/images/unsplash.jpg","modules/auth/components/AccountLayout/AccountLayout.tsx","modules/auth/components/TermsOfUseModal/TermsOfUseModal.tsx","modules/auth/utils/decodeJwt.ts","modules/auth/utils/timer.ts","modules/auth/utils/getUrlCode.ts","modules/auth/cache/sessionCache.ts","modules/auth/validation/validation.ts","modules/auth/validation/passwordStrength.ts","modules/auth/authorization/roleRules/farmerRules.ts","modules/auth/authorization/Can.ts","assets/icons/eye-off.svg","assets/icons/eye.svg","assets/icons/valid.svg","assets/icons/base-valid.svg","views/ChangePassword.tsx","modules/auth/store/changePassword/thunks.ts","views/ForgotPassword.tsx","views/SignIn.tsx","modules/auth/utils/checkRedirectUrl.ts","assets/icons/tooltip.svg","views/SignUp.tsx","modules/auth/store/register/thunks.ts","modules/education/components/EducationTabFilter.tsx","assets/icons/location-pin.svg","assets/icons/redirect.svg","modules/education/constants/reminders.ts","modules/education/hooks/useReminderHandler.tsx","modules/education/components/EducationReminders.tsx","modules/education/components/EducationList.tsx","modules/education/store/EducationsSlice.ts","modules/education/utils/reminderRequestHandlers.ts","modules/education/store/thunks.ts","modules/education/store/MeasuresSlice.ts","modules/education/store/OperationTypesSlice.ts","modules/education/store/ExpertAreasSlice.ts","modules/education/store/FarmSlice.ts","modules/education/components/EducationSignupModal.tsx","modules/education/components/EducationModalFilter.tsx","modules/education/components/EducationFilters.tsx","modules/education/components/EducationMembersForm.tsx","modules/education/components/EducationCarrierForm.tsx","modules/education/components/EducationTabNavigation.tsx","assets/icons/link.svg","modules/education/components/EducationLinks.tsx","assets/icons/search.svg","modules/education/components/EducationSignup.tsx","modules/education/components/SpecificEducation.tsx","views/Educations.tsx","views/ActivateAccount.tsx","modules/auth/store/activateAccount/thunk.ts","views/UserActivity.tsx","modules/dashboard/store/userActivity/thunks.ts","assets/icons/details.svg","views/UserAdministration.tsx","modules/common/utils/userTypeUtils.ts","views/Profile.tsx","assets/icons/download.svg","views/SystemAdministration.tsx","views/NotAuthorized.tsx","views/NoMatch.tsx","views/Agrometeorology.tsx","views/AgroclimateStations.tsx","views/PlantProtection.tsx","views/Records.tsx","views/Advisors.tsx","assets/icons/edit.svg","assets/icons/download-circle.svg","assets/icons/delete.svg","routing/AppRoutes.ts","modules/presentation/components/PresentationItem.tsx","modules/presentation/components/PresentationFilters.tsx","modules/presentation/components/PresentationUploadModal.tsx","modules/presentation/components/PresentationFormFirst.tsx","modules/presentation/components/PresentationFormSecond.tsx","modules/presentation/components/PresentationFormThird.tsx","modules/presentation/components/PresentationDeleteModal.tsx","modules/presentation/store/PresentationSlice.ts","modules/presentation/store/thunks.ts","modules/presentation/constants/FileTypes.ts","views/Presentations.tsx","modules/communication/components/CommunicationFilters.tsx","modules/communication/components/CommunicationAdditionalFiltersModal.tsx","modules/communication/components/CommunicationUsersModal.tsx","modules/communication/store/CommunicationSlice.ts","views/Communication.tsx","modules/communication/store/thunks.ts","views/News.tsx","routing/Routing.tsx","modules/auth/utils/expiration.ts","routing/components/PrivateRoute.tsx","store/store.ts","App.tsx","index.tsx"],"names":["accountService","axios","create","baseURL","process","fetchUserActivity","data","accessToken","a","post","headers","Authorization","authService","signUp","signIn","renewToken","refreshToken","sendForgotPasswordEmail","email","activateUserAccount","code","verifyResetPasswordCode","resetPassword","password","getUserAccounts","getUserAccount","uid","userType","deleteUserAccount","delete","updateRoles","roleType","getMyAccount","get","updateMyAccountSettings","requestData","updateMyAccountMobileNumber","mobileNumber","updateMyAccountMetadata","deleteMyAccount","getUserAccountDashboardData","body","getAllCounties","getSettlements","countyId","params","getCityMunicipalities","countyIds","initializeNew","sendEmail","uploadAttachment","sendNotification","getAllEducations","getAllMeasures","getAllOperationTypes","getAllExpertAreas","educationApplication","addReminderToEducation","getFarmMembers","mibpg","getUsersEducationsWithReminder","accountUid","getFarmHolder","getEducation","educationUid","getAllPresentations","addOrUpdatePresentationFile","deletePresentationItem","id","downloadPresentationItem","Accept","UserTypes","value","label","categories","formErrorMessages","registerSlice","createSlice","name","initialState","isLoading","registrationError","registrationSuccess","errorMessage","successMessage","reducers","registrationRequest","state","action","payload","actions","registrationReducer","reducer","signInSlice","isRenewing","signInError","signInSuccess","user","signInRequest","signOut","tokenRenewRequest","tokenRenewSuccess","tokenRenewError","signInReducer","fetchError","fetchSuccess","undefined","userActivityLogCount","userActivitySlice","getUserActivityRequest","getUserActivitySuccess","getUserActivityError","userActivityReducer","userAccountSlice","isFetchingUserData","userData","getUserAccountRequest","getUserAccountSuccess","getUserAccountError","userAccountReducer","Button","children","isDisabled","className","size","type","to","variant","onClick","getButtonSize","getButtonVariant","href","rel","target","disabled","Input","isValid","onBlur","onChange","onFocus","placeholder","rightIcon","lefIcon","readOnly","flexField","getInputSize","InputLabel","labelFor","labelText","htmlFor","Tooltip","tooltipPosition","tooltipText","icon","data-tip","place","effect","arrowColor","ValidationSummary","getType","_extends","Object","assign","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","opacity","d","stroke","SvgChevron","_ref","svgRef","title","titleId","props","width","height","viewBox","fill","xmlns","ref","ForwardRef","DropdownIndicator","Control","isFocused","selectProps","getDropdownSize","innerProps","styles","valueContainer","provided","padding","color","input","margin","caretColor","dropdownIndicator","Dropdown","maxMenuHeight","components","IndicatorSeparator","strokeWidth","SvgCheckboxCheck","RoleType","Checkbox","checked","text","getSize","FormGroup","Footer","MainFooter","useState","showToUModal","setShowToUModal","toggleToUModal","toggleModal","isVisible","ActionType","userRoles","Citizen","Farmer","EmployeeMp","EmployeeApprrr","EmployeeAdviser","MpAdminFarmer","MpSuperAdmin","AdviserAdminFarmer","AdviserSuperAdmin","ApplicationType","actionTypes","ChangeUserRole","SendMessage","ChangeInfoType","ChangeNotificationType","AddStation","ChangeStation","ChangeBoundryValues","AddCulture","UploadDocument","DeactivateDocument","County","Web","Mobile","CountyFilterFields","bjelovarskoBilogorska","BjelovarskoBilogorska","brodskoPosavska","BrodskoPosavska","dubrovackoNeretvanska","DubrovackoNeretvanska","istarska","Istarska","karlovacka","Karlovacka","koprivnickoKrizevacka","KoprivnickoKrizevacka","krapinskoZagorska","KrapinskoZagorska","lickoSenjska","LickoSenjska","medjimurska","Medimurska","osjeckoBaranjska","OsjeckoBaranjska","pozeskoSlavonska","PozeskoSlavonska","primorskoGoranska","PrimorskoGoranska","sisackoMoslavacka","SisackoMoslavacka","splitskoDalmatinska","SplitskoDalmatinska","sibenskoKninska","SibenskoKninska","varazdinska","Varazdinska","virovitickoPodravska","VirovitickoPodravska","vukovarskoSrijemska","VukovarskoSrijemska","zadarska","Zadarska","zagrebacka","Zagrebacka","gradZagreb","GradZagreb","NotificationType","userTypes","EmployeeMP","EmployeeAPPRRR","InfoType","notificationTypes","Email","SMS","Sms","WhatsApp","Viber","Application","Push","infoTypes","Advice","CoursesNotification","DemonstrationNotification","News","WetherAlarm","RecommendationFarmingAndOther","FarmingAndOther","RecommendationFruitAndOliveGrowing","FruitAndOliveGrowing","RecommendationWineGrowing","WineGrowing","Announcement","emailRegex","phoneRegex","passwordRegex","Navigation","profile","useSelector","role","Can","I","AppRoutes","UserActivity","activeClassName","UserAdministration","SystemAdministration","Agrometeorology","AgroclimateStations","PlantProtection","Communication","Records","Advisors","Education","strokeMiterlimit","strokeLinecap","SvgHamburger","ProfileImage","image","src","profileImage","alt","ProfileSettings","dispatch","useDispatch","isOpen","setIsOpen","profileSettingsrRef","useRef","useOutsideClick","prev","firstName","lastName","Profile","logOff","MainHeader","setMenuOpen","y1","x2","y2","transform","SvgClose","HamburgerMenu","close","hamburgerMenuRef","MainLayout","menuOpen","position","strokeLinejoin","SvgArrowDown","NavDropdown","show","setShow","SvgFilter","FilterGroup","maskUnits","x","y","mask","SvgCancel","Filter","isActive","onClear","showDropdown","ActionFilter","map","index","arr","toString","includes","RoleFilter","SvgCalendar","cx","cy","r","SvgArrowLeft","SvgArrowRight","MONTHS","Navbar","currentDate","getMonth","month","getYear","onPreviousClick","onNextClick","DateInput","React","forwardRef","WEEKDAYS_SHORT","WEEKDAYS_LONG","DatePicker","selectedDay","component","inputProps","formatDate","date","format","dayPickerProps","navbarElement","locale","weekdaysShort","onDayClick","selectedDays","SvgSortIcon","TableHeader","headerGroups","headerGroup","getHeaderGroupProps","column","getHeaderProps","getSortByToggleProps","render","TableBody","getTableBodyProps","rows","prepareRow","row","getRowProps","cells","cell","getCellProps","NoResults","Table","columns","useTable","useSortBy","getTableProps","colSpan","userActivityColumns","Header","accessor","userUid","userAction","PAGE_SIZE_OPTIONS","LEFT_DOTS","RIGHT_DOTS","range","start","stop","step","Array","Pagination","currentPage","numberOfPages","pageSize","pageNeighbours","onPageSizeChange","handlepageClick","next","pages","selectedPage","totalNumbers","startPage","Math","max","endPage","min","hasLeftDots","hasRightDots","dotOffset","extraPages","fetchPageNumbers","hasPrev","hasNext","page","options","AdministrationTable","CountyFilter","Modal","modalHeader","modalFooter","modalRef","existingRoot","document","querySelector","parent","rootContainer","createElement","setAttribute","createRootElement","ReactDOM","createPortal","ModalHeader","onClose","ModalFooter","RolesList","UserInfo","userInfo","legalEntityName","street","streetNumber","postalNumber","city","county","country","phoneNumber","notificationType","infoType","onDeactivateClick","accountRole","setAccountRole","useCallback","updateUserRoles","v","event","valueNumb","parseInt","SkeletonText","style","UserInfoLoading","_item","RadioInput","RoleFilterSingle","SvgSpinner","Loading","SvgCross","SvgCheck","ToggleSwitch","ProfileInfo","settlementInitialValue","postOffice","ProfileInfoCitizenForm","address","counties","settlements","isFormChanged","setIsFormChanged","Number","valueName","settlement","settlementId","setState","formErrors","countyList","settlementList","handleInputChange","useEffect","profileAddressCheck","replaceAll","toLowerCase","onMenuOpen","getCounties","noOptionsMessage","isSearchable","selectedCounty","find","getSettlementsByCountyId","toUpperCase","sort","b","localeCompare","selectedSettlement","test","updateMobileNumber","updateAccountMetadata","ProfileInfoForm","setFormErrors","isValidMobile","field","filtered","filter","reduce","obj","clearFormError","Boolean","SvgExclamationCircle","InfoNote","ProfileSkeleton","findMonth","val","m","nextDate","add","months","nextMonth","DateSideControls","firstDayOfWeek","RangeDatePicker","modifiers","updateRange","showOverlay","setShowOverlay","selectedControl","setSelectedControl","dateRangeContainerRef","dateRangeRef","today","Date","handleClick","e","dayPickerNode","current","contains","hideDayPicker","setToday","currentTarget","setYesterday","yesterday","sub","days","setCurrentWeek","weekStart","startOfWeek","weekStartsOn","weekEnd","endOfWeek","setLastWeek","lastWeekDay","lastWeekStart","lastWeekEnd","setCurrentMonth","currentMonthStart","startOfMonth","currentMonthEnd","endOfMonth","setLastMonth","lastMonth","lastMonthStart","lastMonthEnd","setCurrentQuarter","currentQuarterStart","startOfQuarter","currentQuarterEnd","endOfQuarter","setPreviousQuarter","prevQuarter","subQuarters","prevQuarterStart","prevQuarterEnd","formatValue","addEventListener","removeEventListener","overlayComponent","classNames","overlayWrapper","overlay","from","hideOnDayClick","keepFocus","onDayPickerShow","onDayPickerHide","numberOfMonths","DoughnutChart","datasets","subscriptionChartOptions","legend","display","tooltips","enabled","elements","arc","borderWidth","backgroundColor","responsive","cutoutPercentage","regisrationChartOptions","StatisticsContainer","UsersStats","numberOfRegistered","numberOfSignedIn","StatisticsContent","ModuleUsageTable","mockModuleUsageData","web","mobile","chartOptions","scales","xAxes","gridLines","ticks","yAxes","stacked","rectangle","maintainAspectRatio","HorizontalBarChart","labels","barThickness","isEmpty","createObjectUrl","fileAsByteArray","contentType","extension","binaryString","window","atob","base64ToArrayBuffer","Uint8Array","_","charCodeAt","blob","Blob","fileName","url","URL","createObjectURL","handler","handleClickOutside","useTitle","prevTitle","mapUserRoles","values","mapCounty","o","mapUserType","mapApplicationType","application","mapUserActivites","activities","mapSingleRole","userRole","mapApplicationAction","mapUserAccount","userAccount","notifications","s","subscriptions","mapSubscriptions","username","mapUserProfile","members","dashboardDataSlice","isFetching","getDashboardDataRequest","getDashboardDataSuccess","getDashboardDataError","dashboardDataReducer","accountListSlice","isFetchingAccountList","userAccountCount","getAccountListRequest","getAccountListSuccess","userAccounts","getAccountListError","accountListReducer","deactivateAccountSlice","isDeactivating","deactivationError","deactivationSuccess","deactivateAccountRequest","deactivateAccountSuccess","deactivateAccountError","deactivateAccountReducer","deactivateUserSlice","deactivateUserRequest","deactivateUserSuccess","deactivateUserError","deactivateUserReducer","profileSlice","isUpdating","isError","isSuccess","getProfileRequest","getProfileSuccess","getProfileError","updateProfileRequest","updateProfileSuccess","updateProfileError","profileReducer","addressSlice","cityMunicipalities","getCountiesRequest","getCountiesSuccess","getCountiesError","getSettlementsRequest","getSettlementsSuccess","getSettlementsError","getCityMunicipalitiesRequest","getCityMunicipalitiesSuccess","municipalities","getCityMunicipalitiesError","addressReducer","updateRolesSlice","isUpdatingRoles","roleUpdateError","roleUpdateSuccess","updateRolesRequest","updateRolesSuccess","updateRolesError","updateRolesReducer","getAccountList","getState","response","userAccountList","cityMunicipality","statuses","first","message","getUserAccountData","account","getProfile","session","sessionCache","getSession","result","ability","update","abilityBuilder","AbilityBuilder","AppAbilityModel","isMpSuperAdmin","can","rules","defineRulesForMpSuperAdmin","isMpAdminFarmer","cannot","defineRulesForMpAdminFarmer","isEmployeeMp","defineRulesForEmployeeMp","isEmployeeApprrr","defineRulesForEmployeeApprrr","isEmployeeAdviser","defineRulesForAdviser","isAdviserSuperAdmin","defineRulesForAdviserSuperAdmin","isAdviserAdminFarmer","defineRulesForAdviserAdminFarmer","isFarmer","defineRulesForFarmer","isCitizen","defineRulesForCitizen","defineRoleRules","updateSession","metadata","toast","success","error","ActivityFilters","actionFilter","roleFilter","setActionFilter","setRoleFilter","showActionFilter","setShowActionFilter","showRoleFilter","setShowRoleFilter","actionFilterRef","roleFilterRef","isRoleFilterActive","isActionFilterActive","_event","AdministrationFilters","countyFilter","setCountyFilter","showCountyFilter","setShowCountyFilter","countyFilterRef","fillOpacity","SvgEmail","SvgMessenger","NotificationSettings","Subscriptions","SvgSms","Notifications","useMemo","EmailIcon","SmsIcon","MessengerIcon","n","Icon","NotificationSelect","notificationFilter","setNotificationFilter","checkIfSelected","option","some","toggleOption","newArray","bind","NotificationsStats","numberOfEmailUsers","numberOfSmsUsers","numberOfViberUsers","numberOfWhatsAppUsers","RegistrationStats","numberOfCitizens","numberOfFarmers","numberOfFishermans","total","SubscriptionsStats","usersByAdvices","usersByCourses","usersByDemonstrations","usersByFarmingRecommendations","usersByManifestations","usersByNews","ModuleUsageStats","SystemAdministrationSkeleton","columnClassName","Settings","mountedRef","setNotifications","setSubscriptions","isArray","SvgAdd","FileUpload","onUpload","acceptedFiles","subtitle","maxFileSize","isEditPresentation","hiddenFileInput","loading","setLoading","setFileName","maxSize","click","accept","files","file","hidden","preventDefault","preventSubmit","DeactivateAccountModal","tokenRenew","cache","timer","Timer","getInstance","decodeJwt","updateTokens","exp","removeSession","forgotPasswordSlice","forgotPasswordError","forgotPasswordSuccess","passwordMailSent","forgotPasswordRequest","forgotPasswordReducer","sendPasswordResetEmail","activateAccountSlice","activateAccountError","activateAccountSuccess","activateAccountRequest","activateAccountReducer","changePasswordSlice","changePasswordError","changePasswordSuccess","verifySuccess","verifyError","verifyPasswordResetLinkRequest","verifyPasswordResetLinkSuccess","verifyPasswordResetLinkError","changePasswordRequest","changePasswordReducer","SvgBaseCheck","PassworRequirements","lengthRequirement","charRequiremenet","numberRequirement","PasswordStrength","score","data-strength","AccountMessages","info","SvgResend","SvgSuccess","EmailSent","LinkExpired","AccountHeader","Mplogo","AccountLayout","footer","header","AuthImage","TermsOfUseModal","jwt","parts","split","second","JSON","parse","defaultTimerInterval","tokenExpirationTreshold","timerHandle","expiresAt","setTimer","cb","duration","setInterval","clearTimer","handle","clearInterval","cancel","checkDiff","now","differenceInSeconds","addHandler","timerHandler","timerDuration","instance","getUrlCode","decoded","decodeURIComponent","parsedQuery","qs","saveSession","rememberMe","localStorage","setItem","stringify","sessionStorage","getItem","removeItem","expiration","existingSession","isOneLowerCaseChar","RegExp","isOneUpperCaseChar","isOneNumericChar","isEightCharLong","isValidEmail","calculatePasswordStrength","isOneSpecialChar","isTenCharLong","Ability","AbilityContext","createContext","createContextualCan","Consumer","SvgEyeOff","SvgEye","SvgValid","SvgBaseValid","Fields","ChangePassword","search","useLocation","history","useHistory","changePassword","passwordRepeat","formState","setFormState","showPwdReq","setShowPwdReq","showPassword","setShowPassword","showPasswordRepeat","setShowPasswordRepeat","doPasswordsMatch","setDoPasswordsMatch","lengthFulfilled","setLengthFulfilled","numberFulfilled","setNumberFulfilled","charsFulfilled","setCharsFulfilled","passwordScore","setPasswordScore","isPasswordResetSuccess","setIsPasswordResetSuccess","push","pathname","SignIn","verfiyPasswordLink","passwordsMatch","checkPassword","handleShowPassword","handleShowPassworRepeat","buttonDisabled","onSubmit","updatePassword","ForgotPassword","forgotPassword","location","isFetchingProfile","profileData","registration","passwordSuccessMessage","accountActivation","activateAccount","activationErrorMessage","activationSuccesMessage","setRememberMe","signInInfo","setSignInInfo","redirectTo","SignUp","ActivateAccount","refreshBody","authData","userId","refreshExpiration","SvgTooltip","termsAccepted","setTermsAccepted","category","setCategory","setUserInfo","handleFullNameBlur","EducationTabFilter","filters","activeFilter","setFilter","SvgLocationPin","SvgRedirect","reminders","useReminderHandler","currentPickedEducation","allReminders","educations","pickedReminders","setPickedReminders","items","handleAddReminder","reminder","education","remindInDays","isReminderExisting","addReminder","handleAddExistingReminder","handleRemoveReminder","handleAddNewReminder","EducationReminders","isReminderOpen","pickedEducation","mappedEducation","remindersFromPickedEducation","checkedReminders","setCheckedReminders","EducationList","setCurrentPickedEducation","setIsReminderOpen","reminderRef","filterTitle","formatTime","orderByStartDate","orderBy","item","startDate","groupByStartDate","groupBy","getDate","dataGroup","handleAddToRef","element","checks","itemGroup","getDay","showSignupButton","differenceInMilliseconds","registrationDeadline","endDate","educationItem","semisId","expertArea","measure","spotsAvailable","maxAttendees","isEducationMandatoryForFarmer","instructors","remark","educationStatuses","showComma","Fragment","farmerName","farmerLastName","appliedEducations","listenedEducations","educationById","educationApplicationError","educationReminder","educationReminderError","educationsWithReminders","educationsSlice","getEducationsRequest","getEducationsSuccess","getAppliedEducationsSuccess","getListenedEducationsSuccess","getEducationByIdSuccess","getEducationsError","getEducationApplicationSuccess","getEducationsApplicationError","getEducationReminderSuccess","getEducationReminderError","getEducationsWithRemindersSuccess","getEducationsWithReminderError","getAllReminders","educationsReducer","handleAddEducationsWithReminders","newEducationWithReminder","existingEducationsWithReminders","count","updatedEducations","handlePagination","pageNumber","isEnd","slice","handleFormatEducationsWithReminders","educationReminderResponse","educationRemindersHelper","groupedReminders","curr","remindInDaysHelper","every","educationId","handleGetPaginatedEducationsWithReminders","getMeasures","measures","getMeasuresRequest","getMeasuresSuccess","getMeasuresError","getOperationTypes","operationTypes","getOperationTypesRequest","getOperationTypesSuccess","getOperationTypesError","getExpertAreas","expertAreas","getExpertAreasRequest","getExpertAreasSuccess","getExpertAreasError","educationSignUp","enrolled","notice","errorNotice","reminderToAdd","measuresSlice","measuresReducer","operationTypesSlice","operationTypesReducer","expertAreasSlice","expertAreasReducer","farmHolder","farmMembers","firstFarmMember","farmSlice","getFarmHolderRequest","getFarmHolderSuccess","getFarmHolderError","getFarmMembersSuccess","getFarmMembersError","farmReducer","EducationSignupModal","isSubmitAndAddNew","setIsSubmitAndAddNew","Filters","tabFilter","setTabFilter","carrier","oib","member","formData","setFormData","carrierFormValid","setCarrierFormValid","memberFormValid","setMemberFormValid","onMemberChange","console","log","carrierContact","carrierEmail","contact","semisEducationId","memberContact","memberEmail","formValid","EducationModalFilter","EducationFilters","countiesFilter","setCountiesFilter","measuresFilter","setMeasuresFilter","expertAreasFilter","setExpertAreasFilter","isMandatoryFilter","setIsMandatoryFilter","countiesFilterRef","measuresFilterRef","expertAreasFilterRef","ReducerCounties","loadingCounties","ReducerMeasures","loadingMeasures","ReducerExpertAreas","loadingExpertAreas","showCountiesFilter","setShowCountiesFilter","showMeasuresFilter","setShowMeasuresFilter","showExpertAreasFilter","setShowExpertAreasFilter","onCountyChange","xor","onMeasureChange","selectedMeasure","onExpertAreaChange","selectedExpertArea","EducationMembersForm","useForm","mode","defaultValues","register","errors","getValues","reset","memberList","defaultValue","selectedMember","required","pattern","EducationCarrierForm","EducationTabNavigation","Presentations","SvgLink","EducationLinks","SvgSearch","DefaultPageSize","EducationSignup","profileCounty","startsWith","searchTerm","setSearchTerm","setDate","showModal","setShowModal","setCurrentPage","setPageSize","setSemisId","chosenEducations","setChosenEducations","debouncedSearch","debounce","dateFrom","dateTo","isMandatory","status","educationReminders","getEducationsWithReminder","years","day","DateUtils","addDayToRange","end","ceil","SpecificEducation","getEducationById","Educations","userActivity","tableColumns","roles","actionTypeFilter","applicationTypeFilter","userRoleFilter","setHours","userActivityLogList","toISOString","SvgDetails","accountList","deactivateAccount","deactivateUser","isModalOpen","setIsModalOpen","handleModalOpen","handleModalClose","Cell","original","disableSortBy","t","showDeactivateModal","setShowDeactivateModal","toggleDeactivateModal","SvgDownload","dashboardData","getAccountDashboardData","totalRegistered","accountDashboardRegisteredView","totalFarmerAccountCount","totalFishermanAccountCount","totalCitizenAccountCount","filename","totalAccountRegisteredCount","totalAccountLoginCount","sum","sumObjectValues","accountDashboardInfoView","totalInfoAdviceCount","totalInfoCoursesNotificationCount","totalInfoDemonstrationNotificationCount","totalInfoAnnouncementCount","totalInfoFarmingAndOtherCount","totalInfoNewsCount","accountDashboardNotificationView","totalNotificationEmailCount","totalNotificationSmsCount","totalNotificationViberCount","totalNotificationWhatsappCount","NotAuthorized","NoMatch","showLoading","setShowLoading","onLoad","SvgEdit","SvgDownloadCircle","fillRule","clipRule","SvgDelete","PresentationItem","onEdit","onDownload","onDelete","isDownloading","presentations","operationType","createdAt","author","PresentationFilters","typeFilter","setTypeFilter","operationsFilter","setOperationsFilter","isActiveFilter","setIsActiveFilter","typeFilterRef","operationsFilterRef","ReducerOperationTypes","loadingOperationTypes","showTypeFilter","setShowTypeFilter","showOperationsFilter","setShowOperationsFilter","onTypeChange","selectedType","FileType","onOperationChange","selectedOperation","PresentationUploadModal","selectedPresentation","selectedPresentationFile","setStep","isSubmitted","setIsSubmitted","currentStep","closeModal","updateValues","disableButton","presentationId","addOrUpdatePresentation","renderForm","PresentationFormFirst","setSelectedType","handleRadioChange","onFileUpload","filetype","formats","PresentationFormSecond","selectedField","setSelectedField","additionalValue","setAdditionalValue","onCustomInputClick","PresentationFormThird","setSelectedMeasure","setSelectedOperation","setAuthor","handleMeasureChange","handleOperationChange","PresentationDeleteModal","deletePresentation","presentationUpload","presentationsSlice","getPresentationsRequest","getPresentationsSuccess","getPresentationsError","getPresentationUploadSuccess","deletePresentationSuccess","getPresentationDownloadRequest","getPresentationDownloadSuccess","getPresentationDownloadError","presentationsReducer","getPresentations","callback","FormData","append","fileTypes","showUploadModal","setShowUploadModal","showDeleteModal","setShowDeleteModal","selectedItemId","setSelectedItemId","selectedItemFile","setSelectedItemFile","setIsEditPresentation","token","statePresentations","currentPresentation","p","presentation","File","toggleUploadModal","toggleDeleteModal","handleEditPresentation","downloadItemForCurrentPresentation","bytes","link","download","visibility","appendChild","removeChild","downloadPresentation","CommunicationFilters","cityFilter","setCityFilter","cityFilterRef","ReducerCities","showCityFilter","setShowCityFilter","onCityChange","selectedCity","year","getFullYear","obligations","CommunicationAdditionalFiltersModal","yearFilter","setYearFilter","obligationFilter","setObligationFilter","measureFilter","setMeasureFilter","operationFilter","setOperationFilter","ReducerOperations","onYearChange","selectedYear","onObligationChange","selectedObligation","marginLeft","marginTop","maxHeight","overflowY","paddingBottom","borderBottomWidth","borderBottomStyle","borderBottomColor","marginBottom","CommunicationUsersModal","userFilter","setUserFilter","allUsers","Set","selectedUser","marginRight","fullName","communicationSlice","isLoadingEmail","errorEmail","isLoadingNotification","errorNotification","notification","getEmailRequest","getEmailSuccess","res","getEmailError","getNotificationRequest","getNotificationSuccess","getNotificationError","communicationsReducer","communications","control","showFilterModal","setShowFilterModal","showUsersModal","setShowUsersModal","uploadedFile","setUploadedFile","toggleFilterModal","toggleUsersModal","cities","operations","entryYear","isDone","citiesMunicipalityFilter","entryYearFilter","isDoneFilter","uids","emailRequest","responseInit","responseInitId","notificationFormView","attachmentRequest","attachment","responseSendNotification","sendEmailAsync","isHtml","isEmailOnly","subject","toUids","preferredChannels","Routing","refreshTokenExpiration","redirectLocation","setRedirectLocation","isTokenExpired","path","exact","roleRequirements","PrivateRoute","rest","combineReducers","store","configureStore","devTools","App","BehaviorSubject","subscribe","ReactGA","initialize","send","Provider","basename","getElementById"],"mappings":"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","file":"static/js/main.eb38df61.chunk.js","sourcesContent":["export * from \"./logger\";\r\nexport * from \"./request\";\r\nexport * from \"./response\";\r\n","import axios from \"axios\";\r\nimport { headers } from \"../headers\";\r\nimport { UserActivityRequest } from \"./request\";\r\n\r\nconst accountService = axios.create({\r\n baseURL: process.env.REACT_APP_API_BASE_URL,\r\n});\r\n\r\nasync function fetchUserActivity(\r\n data: UserActivityRequest,\r\n accessToken: string\r\n) {\r\n return accountService.post(\"/logger/v1/Logger/GetUserActivityLogList\", data, {\r\n headers: {\r\n ...headers,\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n}\r\n\r\nexport { fetchUserActivity };\r\n","export * from \"./logger\";\r\nexport * from \"./auth\";\r\nexport * from \"./account\";\r\nexport * from \"./dipp\";\r\nexport * from \"./presentation\";\r\n","export * from \"./auth\";\r\nexport * from \"./request\";\r\nexport * from \"./response\";\r\n","import axios from \"axios\";\r\nimport { headers } from \"../headers\";\r\nimport { SignInRequest, SignUpRequest } from \"./request\";\r\nimport { SignInResponse, TokenRenewResponse } from \"./response\";\r\n\r\n// http://localhost:50500/v1/Auth/Register\"\r\n\r\nconst authService = axios.create({\r\n baseURL: process.env.REACT_APP_API_BASE_URL,\r\n headers: headers,\r\n});\r\n\r\nasync function signUp(data: SignUpRequest) {\r\n return authService.post(\"/auth/v1/Auth/Register\", data);\r\n}\r\n\r\nasync function signIn(data: SignInRequest) {\r\n return authService.post(\"/auth/v1/Auth/Login\", data);\r\n}\r\n\r\nasync function renewToken(refreshToken: string) {\r\n return authService.post(\"/auth/v1/Auth/RefreshTokens\", {\r\n refreshToken,\r\n });\r\n}\r\n\r\nasync function sendForgotPasswordEmail(email: string) {\r\n return authService.post(\"/auth/v1/Auth/SendForgotPasswordEmail\", { email });\r\n}\r\n\r\nasync function activateUserAccount(code: string) {\r\n return authService.post(\"/auth/v1/Auth/ActivateUserAccount\", { code });\r\n}\r\n\r\nasync function verifyResetPasswordCode(code: string) {\r\n return authService.post(\"/auth/v1/Auth/VerifyResetPasswordCode\", { code });\r\n}\r\n\r\nasync function resetPassword(code: string, password: string) {\r\n return authService.post(\"/auth/v1/Auth/ResetPassword\", { code, password });\r\n}\r\n\r\nexport {\r\n signIn,\r\n signUp,\r\n renewToken,\r\n sendForgotPasswordEmail,\r\n activateUserAccount,\r\n verifyResetPasswordCode,\r\n resetPassword,\r\n};\r\n","export * from \"./account\";\r\nexport * from \"./request\";\r\nexport * from \"./response\";\r\n","import axios from \"axios\";\r\nimport {\r\n AccountDashboardDataResponse,\r\n ProfileResonse,\r\n SendEmailResponse,\r\n SendNotificationResponse,\r\n UserAccountResponse,\r\n UserAccountsResponse,\r\n} from \".\";\r\nimport { headers } from \"../headers\";\r\nimport {\r\n SendEmailRequest,\r\n SendNotificationRequest,\r\n UpdateMyAccountMetadataRequest,\r\n UpdateProfileRequest,\r\n UploadAttachmentRequest,\r\n UserAccountsRequest,\r\n} from \"./request\";\r\nimport { UploadAttachmentResponse } from \"./response\";\r\n\r\nconst accountService = axios.create({\r\n baseURL: process.env.REACT_APP_API_BASE_URL,\r\n headers: headers,\r\n});\r\n\r\nasync function getUserAccounts(data: UserAccountsRequest, accessToken: string) {\r\n return accountService.post(\r\n \"/account/v1/Account/GetUserAccounts\",\r\n data,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function getUserAccount(\r\n uid: string,\r\n userType: number,\r\n accessToken: string\r\n) {\r\n return accountService.post(\r\n \"/account/v1/Account/GetUserAccount\",\r\n {\r\n uid,\r\n userType,\r\n },\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function deleteUserAccount(\r\n uid: string,\r\n userType: number,\r\n accessToken: string\r\n) {\r\n return accountService.delete(\"/account/v1/Account/DeleteUserAccount\", {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n data: {\r\n uid,\r\n userType,\r\n },\r\n });\r\n}\r\n\r\nasync function updateRoles(\r\n uid: string,\r\n roleType: number,\r\n userType: number,\r\n accessToken: string\r\n) {\r\n return accountService.post(\r\n \"/account/v1/Account/UpdateUserAccountRoles\",\r\n {\r\n uid,\r\n userType,\r\n roleType,\r\n },\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function getMyAccount(accessToken: string) {\r\n return accountService.get(\r\n \"/account/v1/Account/GetMyAccount\",\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function updateMyAccountSettings(\r\n requestData: UpdateProfileRequest,\r\n accessToken: string\r\n) {\r\n return accountService.post(\r\n \"/account/v1/Account/UpdateMyAccountSettings\",\r\n {\r\n ...requestData,\r\n },\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function updateMyAccountMobileNumber(\r\n mobileNumber: string,\r\n accessToken: string\r\n) {\r\n return accountService.post(\r\n \"/account/v1/Account/UpdateMyAccountMobileNumber\",\r\n {\r\n mobileNumber,\r\n },\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function updateMyAccountMetadata(\r\n requestData: UpdateMyAccountMetadataRequest,\r\n accessToken: string\r\n) {\r\n return accountService.post(\r\n \"/account/v1/Account/UpdateMyAccountMetadata\",\r\n {\r\n ...requestData,\r\n },\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function deleteMyAccount(accessToken: string) {\r\n return accountService.delete(\"/account/v1/Account/DeleteMyAccount\", {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n}\r\n\r\nasync function getUserAccountDashboardData(\r\n accessToken: string,\r\n body: {\r\n dateFrom: Date | null;\r\n dateTo: Date | null;\r\n }\r\n) {\r\n return accountService.post(\r\n \"/account/v1/Account/GetUserAccountDashboardData\",\r\n body,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function getAllCounties(accessToken: string) {\r\n return accountService.get(\"/account/v1/Account/GetAllCounties\", {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n}\r\n\r\nasync function getSettlements(accessToken: string, countyId: any) {\r\n return accountService.get(\"/account/v1/Account/GetSettlementsByCountyId\", {\r\n params: {\r\n countyId,\r\n },\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n}\r\n\r\nasync function getCityMunicipalities(accessToken: string, countyIds: string) {\r\n return accountService.get(\r\n \"/account/v1/Account/GetCityMunicipalitiesByCountyValues\",\r\n {\r\n params: {\r\n countyIds,\r\n },\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function initializeNew(accessToken: string, body: SendEmailRequest) {\r\n return accountService.post(\r\n \"/account/v1/NotificationTransmit/InitializeNew\",\r\n body,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function sendEmail(accessToken: string, body: SendEmailRequest) {\r\n return accountService.post(\r\n \"/account/v1/NotificationTransmit/SendNotification\",\r\n body,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\nasync function uploadAttachment(accessToken: string, body: FormData) {\r\n return accountService.post(\r\n \"/account/v1/NotificationTransmit/UploadAttachment\",\r\n body,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function deleteAttachment(accessToken: string) {\r\n return accountService.post(\r\n \"/account/v1/NotificationTransmit/DeleteAttachment\",\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function saveEmail(accessToken: string) {\r\n return accountService.post(\r\n \"/account/v1/NotificationTransmit/SaveNotification\",\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\n\r\nasync function sendNotification(accessToken: string, body: SendNotificationRequest) {\r\n return accountService.post(\r\n \"/account/v1/Account/SendUserNotification\",\r\n body,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nexport {\r\n getUserAccounts,\r\n getUserAccount,\r\n deleteUserAccount,\r\n updateRoles,\r\n getMyAccount,\r\n updateMyAccountSettings,\r\n updateMyAccountMobileNumber,\r\n updateMyAccountMetadata,\r\n deleteMyAccount,\r\n getUserAccountDashboardData,\r\n getAllCounties,\r\n getSettlements,\r\n getCityMunicipalities,\r\n initializeNew,\r\n uploadAttachment,\r\n sendEmail,\r\n sendNotification,\r\n};\r\n","export * from \"./dipp\";\r\nexport * from \"./response\";\r\nexport * from \"./request\";","import axios from \"axios\";\r\nimport { EducationApplicationRequest, EducationsRequest } from \"services\";\r\nimport { headers } from \"services/headers\";\r\nimport { EducationByIdResponse, FarmHolderResponse } from \".\";\r\nimport {\r\n EducationReminderRequest,\r\n EducationReminderResponse,\r\n StatusResponse,\r\n} from \".\";\r\nimport {\r\n EducationApplicationResponse,\r\n EducationResponse,\r\n ExpertAreasResponse,\r\n MeasuresResponse,\r\n OperationTypesResponse,\r\n} from \"./response\";\r\n\r\nconst accountService = axios.create({\r\n baseURL: process.env.REACT_APP_API_BASE_URL,\r\n headers: headers,\r\n});\r\n\r\nasync function getAllEducations(accessToken: string, body: EducationsRequest) {\r\n return accountService.post(\r\n \"/dipp/v1/Education/GetEducations\",\r\n body,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function getAllMeasures(accessToken: string) {\r\n return accountService.get(\r\n \"/dipp/v1/Education/GetAllMeasures\",\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function getAllOperationTypes(accessToken: string) {\r\n return accountService.get(\r\n \"/dipp/v1/Education/GetAllOperationTypes\",\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function getAllExpertAreas(accessToken: string) {\r\n return accountService.get(\r\n \"/dipp/v1/Education/GetAllExpertAreas\",\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function educationApplication(\r\n accessToken: string,\r\n body: EducationApplicationRequest\r\n) {\r\n return accountService.post(\r\n \"dipp/v1/Education/EducationApplication\",\r\n body,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function addReminderToEducation(\r\n accessToken: string,\r\n body: EducationReminderRequest\r\n) {\r\n return accountService.post(\r\n \"dipp/v1/Education/AddEducationReminder\",\r\n body,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function getFarmMembers(accessToken: string, mibpg: string) {\r\n return accountService.get(\"/dipp/v1/Farmer/GetFarmMembers\", {\r\n params: {\r\n mibpg,\r\n },\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n}\r\n\r\nasync function getUsersEducationsWithReminder(\r\n accessToken: string,\r\n accountUid: string\r\n) {\r\n return accountService.get(\r\n `dipp/v1/Education/GetEducationReminder?accountUid=${accountUid}`,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function getFarmHolder(accessToken: string, mibpg: string) {\r\n return accountService.get(\r\n \"/dipp/v1/Farmer/GetFarmHolder\",\r\n {\r\n params: {\r\n mibpg,\r\n },\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function getEducation(accessToken: string, educationUid: string) {\r\n return accountService.get(\"dipp/v1/Education/Get\", {\r\n params: {\r\n educationUid,\r\n },\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n}\r\n\r\nexport {\r\n getAllEducations,\r\n getAllMeasures,\r\n getAllOperationTypes,\r\n getAllExpertAreas,\r\n educationApplication,\r\n addReminderToEducation,\r\n getUsersEducationsWithReminder,\r\n getFarmMembers,\r\n getFarmHolder,\r\n getEducation,\r\n};\r\n","export * from \"./presentation\";\r\nexport * from \"./request\";\r\nexport * from \"./response\";\r\n","import axios from \"axios\";\r\nimport {\r\n AddOrUpdatePresentationResponse,\r\n DownloadPresentationResponse,\r\n PresentationsRequest,\r\n PresentationsResponse,\r\n} from \"services\";\r\nimport { headers } from \"services/headers\";\r\n\r\nconst accountService = axios.create({\r\n baseURL: process.env.REACT_APP_API_BASE_URL,\r\n headers: headers,\r\n});\r\n\r\nasync function getAllPresentations(\r\n accessToken: string,\r\n body: PresentationsRequest\r\n) {\r\n return accountService.post(\r\n \"/presentation/v1/File/GetFiles\",\r\n body,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function addOrUpdatePresentationFile(\r\n accessToken: string,\r\n body: FormData\r\n) {\r\n return accountService.post(\r\n \"presentation/v1/File/AddOrUpdateFile\",\r\n body,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n }\r\n );\r\n}\r\n\r\nasync function deletePresentationItem(accessToken: string, id: number) {\r\n return accountService.delete(`presentation/v1/File/${id}`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n}\r\n\r\nasync function downloadPresentationItem(accessToken: string, id: number) {\r\n return accountService.get(\r\n \"presentation/v1/File/Download\",\r\n {\r\n params: { id },\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n}\r\n\r\nexport {\r\n getAllPresentations,\r\n addOrUpdatePresentationFile,\r\n deletePresentationItem,\r\n downloadPresentationItem,\r\n};\r\n","export const headers = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json; charset=UTF-8\",\r\n};\r\n","export const UserTypes = {\r\n Citizen: {\r\n value: \"1\",\r\n label: \"Građanin\",\r\n },\r\n Farmer: {\r\n value: \"2\",\r\n label: \"Poljoprivrednik\",\r\n },\r\n // Fisherman: {\r\n // value: \"4\",\r\n // label: \"Ribar\",\r\n // },\r\n};\r\n","import { UserTypes } from \"./userTypes\";\r\n\r\nexport const categories = [\r\n { value: UserTypes.Farmer.value, label: UserTypes.Farmer.label },\r\n { value: UserTypes.Citizen.value, label: UserTypes.Citizen.label },\r\n // { value: UserTypes.Fisherman.value, label: UserTypes.Fisherman.label },\r\n];\r\n","export const formErrorMessages = {\r\n required: \"Polje je obavezno.\",\r\n invalidEmail: \"Unesena adresa nije ispravna. Molimo probajte ponovno.\",\r\n invalidPassword: \"Unesena lozinka nije ispravna. Molimo probajte ponovno.\",\r\n invalidPhone: \"Neispravan broj\",\r\n};\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n registrationError: boolean;\r\n errorMessage: string;\r\n successMessage: string;\r\n registrationSuccess: boolean;\r\n}\r\n\r\ninterface RegistrationError {\r\n errorMessage: string;\r\n}\r\n\r\ninterface RegistrationSuccess {\r\n successMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n registrationError: false,\r\n registrationSuccess: false,\r\n errorMessage: \"\",\r\n successMessage: \"\",\r\n};\r\nconst registerSlice = createSlice({\r\n name: \"Registration\",\r\n initialState: initialState,\r\n reducers: {\r\n registrationRequest: (state) => {\r\n state.registrationError = false;\r\n state.registrationSuccess = false;\r\n state.isLoading = true;\r\n },\r\n registrationSuccess: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isLoading = false;\r\n state.registrationSuccess = true;\r\n state.successMessage = action.payload.successMessage;\r\n },\r\n registrationError: (state, action: PayloadAction) => {\r\n state.isLoading = false;\r\n state.registrationError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = registerSlice;\r\n\r\nexport const {\r\n registrationError,\r\n registrationRequest,\r\n registrationSuccess,\r\n} = actions;\r\n\r\nexport const registrationReducer = registerSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\n\r\ninterface User {\r\n userId: string;\r\n email: string;\r\n accessToken: string;\r\n refreshToken: string;\r\n role: { value: number; label: string };\r\n}\r\ninterface State {\r\n isLoading: boolean;\r\n signInError: boolean;\r\n isRenewing: boolean;\r\n errorMessage: string;\r\n signInSuccess: boolean;\r\n user: User | null;\r\n}\r\n\r\ninterface SignInSuccess {\r\n accessToken: string;\r\n refreshToken: string;\r\n userId: string;\r\n email: string;\r\n role: { value: number; label: string };\r\n userType: { value: number; label: string };\r\n}\r\n\r\ninterface RefreshTokenSuccess {\r\n accessToken: string;\r\n refreshToken: string;\r\n}\r\n\r\ninterface SignInError {\r\n errorMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n isRenewing: false,\r\n signInError: false,\r\n signInSuccess: false,\r\n errorMessage: \"\",\r\n user: null,\r\n};\r\n\r\nconst signInSlice = createSlice({\r\n name: \"SignIn\",\r\n initialState: initialState,\r\n reducers: {\r\n signInRequest: (state) => {\r\n state.signInError = false;\r\n state.signInSuccess = false;\r\n state.isLoading = true;\r\n },\r\n signInSuccess: (state, action: PayloadAction) => {\r\n state.isLoading = false;\r\n state.signInSuccess = true;\r\n state.user = { ...action.payload };\r\n },\r\n signInError: (state, action: PayloadAction) => {\r\n state.isLoading = false;\r\n state.signInError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n state.user = null;\r\n },\r\n signOut: (state) => {\r\n state.user = null;\r\n },\r\n tokenRenewRequest: (state) => {\r\n state.isRenewing = true;\r\n },\r\n tokenRenewSuccess: (state, action: PayloadAction) => {\r\n state.isRenewing = false;\r\n\r\n if (state.user) {\r\n state.user.accessToken = action.payload.accessToken;\r\n state.user.refreshToken = action.payload.refreshToken;\r\n }\r\n },\r\n tokenRenewError: (state) => {\r\n state.isRenewing = false;\r\n state.user = null;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = signInSlice;\r\n\r\nexport const {\r\n signInError,\r\n signOut,\r\n signInRequest,\r\n signInSuccess,\r\n tokenRenewError,\r\n tokenRenewRequest,\r\n tokenRenewSuccess,\r\n} = actions;\r\n\r\nexport const signInReducer = signInSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\ninterface UserActivity {\r\n userUid: string;\r\n firstName: string;\r\n lastName: string;\r\n userRole: string;\r\n userAction: string;\r\n application: string;\r\n createdAt: string;\r\n}\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n fetchError: boolean;\r\n fetchSuccess: boolean;\r\n userActivityLogCount: number;\r\n errorMessage: string | undefined;\r\n data: UserActivity[] | null;\r\n}\r\n\r\ninterface GetUserActivitySuccess {\r\n data: UserActivity[];\r\n userActivityLogCount: number;\r\n}\r\n\r\ninterface GetUserActivityError {\r\n errorMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n fetchError: false,\r\n fetchSuccess: false,\r\n errorMessage: undefined,\r\n userActivityLogCount: 0,\r\n data: null,\r\n};\r\n\r\nconst userActivitySlice = createSlice({\r\n name: \"UserActivity\",\r\n initialState: initialState,\r\n reducers: {\r\n getUserActivityRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n getUserActivitySuccess: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isLoading = false;\r\n state.fetchSuccess = true;\r\n state.data = action.payload.data;\r\n state.userActivityLogCount = action.payload.userActivityLogCount;\r\n },\r\n getUserActivityError: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isLoading = false;\r\n state.fetchError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = userActivitySlice;\r\n\r\nexport const {\r\n getUserActivityError,\r\n getUserActivityRequest,\r\n getUserActivitySuccess,\r\n} = actions;\r\n\r\nexport const userActivityReducer = userActivitySlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { MappedUserAccount } from \"modules/dashboard\";\r\n\r\ninterface State {\r\n isFetchingUserData: boolean;\r\n fetchError: boolean;\r\n fetchSuccess: boolean;\r\n errorMessage: string;\r\n userData: MappedUserAccount | null;\r\n}\r\n\r\ninterface GetUserAccountSuccess {\r\n user: MappedUserAccount;\r\n}\r\ninterface RequestError {\r\n errorMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isFetchingUserData: false,\r\n fetchError: false,\r\n fetchSuccess: false,\r\n errorMessage: \"\",\r\n userData: null,\r\n};\r\n\r\nconst userAccountSlice = createSlice({\r\n name: \"UserAccount\",\r\n initialState: initialState,\r\n reducers: {\r\n getUserAccountRequest: (state) => {\r\n state.isFetchingUserData = true;\r\n state.userData = null;\r\n },\r\n getUserAccountSuccess: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isFetchingUserData = false;\r\n state.fetchSuccess = true;\r\n state.userData = action.payload.user;\r\n },\r\n getUserAccountError: (state, action: PayloadAction) => {\r\n state.isFetchingUserData = false;\r\n state.fetchError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = userAccountSlice;\r\n\r\nexport const {\r\n getUserAccountError,\r\n getUserAccountRequest,\r\n getUserAccountSuccess,\r\n} = actions;\r\n\r\nexport const userAccountReducer = userAccountSlice.reducer;\r\n","import * as React from \"react\";\r\n\r\ninterface Props {\r\n type?: \"button\" | \"submit\" | \"reset\";\r\n variant?:\r\n | \"primary\"\r\n | \"secondary\"\r\n | \"primary-ghost\"\r\n | \"secondary-ghost\"\r\n | \"warning-ghost\";\r\n size: \"large\" | \"medium\" | \"small\" | \"xsmall\" | \"xxsmall\";\r\n isDisabled: boolean;\r\n onClick?: (event: React.MouseEvent) => void;\r\n className?: string;\r\n to?: string;\r\n}\r\nexport const Button: React.FC = ({\r\n children,\r\n isDisabled = false,\r\n className,\r\n size,\r\n type,\r\n to,\r\n variant,\r\n onClick,\r\n}) => {\r\n const getButtonSize = () => {\r\n switch (size) {\r\n case \"large\":\r\n return \"btn--large\";\r\n case \"medium\":\r\n return \"btn--medium\";\r\n case \"small\":\r\n return \"btn--small\";\r\n case \"xsmall\":\r\n return \"btn--xsmall\";\r\n case \"xxsmall\":\r\n return \"btn--xxsmall\";\r\n default:\r\n return;\r\n }\r\n };\r\n\r\n const getButtonVariant = () => {\r\n switch (variant) {\r\n case \"primary\":\r\n return \"btn--primary\";\r\n case \"secondary\":\r\n return \"btn--secondary\";\r\n case \"primary-ghost\":\r\n return \"btn--primary--ghost\";\r\n case \"secondary-ghost\":\r\n return \"btn--secondary--ghost\";\r\n case \"warning-ghost\":\r\n return \"btn--warning--ghost\";\r\n default:\r\n return;\r\n }\r\n };\r\n return to ? (\r\n \r\n {children}\r\n \r\n ) : (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\n\r\ninterface Props {\r\n size: \"small\" | \"medium\" | \"large\";\r\n name: string;\r\n className?: string;\r\n id: string;\r\n type: string;\r\n isValid: boolean;\r\n isDisabled?: boolean;\r\n placeholder?: string;\r\n errorMessage: string;\r\n onChange?: (event: React.ChangeEvent) => void;\r\n onBlur?: (event: React.FocusEvent) => void;\r\n onFocus?: (event: React.FocusEvent) => void;\r\n rightIcon?: React.ReactNode;\r\n lefIcon?: React.ReactNode;\r\n value?: any;\r\n readOnly?: boolean;\r\n flexField?: boolean;\r\n}\r\n\r\nexport const Input: React.FC = ({\r\n className,\r\n children,\r\n errorMessage,\r\n isValid,\r\n isDisabled,\r\n id,\r\n size,\r\n name,\r\n onBlur,\r\n onChange,\r\n onFocus,\r\n placeholder,\r\n type,\r\n rightIcon,\r\n lefIcon,\r\n value,\r\n readOnly,\r\n flexField,\r\n}) => {\r\n const getInputSize = () => {\r\n switch (size) {\r\n case \"large\":\r\n return \"form-input--large\";\r\n case \"medium\":\r\n return \"form-input--medium\";\r\n case \"small\":\r\n return \"form-input--small\";\r\n default:\r\n return;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n {lefIcon && (\r\n \r\n {lefIcon}\r\n
\r\n )}\r\n {rightIcon && (\r\n \r\n {rightIcon}\r\n
\r\n )}\r\n \r\n {children}\r\n {!isValid &&

{errorMessage}

}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n labelFor: string;\r\n labelText: string;\r\n isValid: boolean;\r\n rightIcon?: React.ReactNode;\r\n}\r\n\r\nexport const InputLabel: React.FC = ({\r\n labelFor,\r\n labelText,\r\n isValid,\r\n rightIcon,\r\n}) => (\r\n
\r\n \r\n {labelText}\r\n \r\n {rightIcon ? rightIcon : null}\r\n
\r\n);\r\n","import React from \"react\";\r\nimport ReactTooltip from \"react-tooltip\";\r\n\r\ninterface Props {\r\n tooltipText: string;\r\n tooltipPosition?: \"top\" | \"right\" | \"bottom\" | \"left\";\r\n icon: React.ReactNode;\r\n id: string;\r\n}\r\nexport const Tooltip: React.FC = ({\r\n tooltipPosition,\r\n tooltipText,\r\n icon,\r\n id,\r\n}) => {\r\n return (\r\n <>\r\n

\r\n {icon}\r\n

\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n type: \"info\" | \"error\" | \"success\";\r\n className?: string;\r\n}\r\nexport const ValidationSummary: React.FC = ({\r\n className,\r\n children,\r\n type,\r\n}) => {\r\n const getType = () => {\r\n switch (type) {\r\n case \"error\":\r\n return \"summary--error\";\r\n case \"success\":\r\n return \"summary--success\";\r\n case \"info\":\r\n return \"summary--info\";\r\n default:\r\n return;\r\n }\r\n };\r\n\r\n return (\r\n
{children}
\r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.5,\n d: \"M1 0.828369L3.82843 3.65679L6.65686 0.828369\",\n stroke: \"#242424\"\n});\n\nfunction SvgChevron(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 8,\n height: 5,\n viewBox: \"0 0 8 5\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevron);\nexport default __webpack_public_path__ + \"static/media/chevron.70117bd3.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport { components } from \"react-select\";\r\nimport { ReactComponent as ChevronIcon } from \"../../../../assets/icons/chevron.svg\";\r\n\r\nexport const DropdownIndicator = (props: any) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n","import { ControlProps, GroupTypeBase } from \"react-select\";\r\n\r\nexport function Control(props: ControlProps>) {\r\n const getDropdownSize = () => {\r\n switch (props.selectProps.size) {\r\n case \"large\":\r\n return \"dropdown--large\";\r\n case \"medium\":\r\n return \"dropdown--medium\";\r\n case \"small\":\r\n return \"dropdown--small\";\r\n default:\r\n return;\r\n }\r\n };\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport Select, { OptionTypeBase, StylesConfig } from \"react-select\";\r\nimport { Props as SelectComponentsProps } from \"react-select/src/Select\";\r\nimport { DropdownIndicator } from \"./DropdownIndicator\";\r\nimport { Control } from \"./Control\";\r\n\r\nexport interface OptionType extends OptionTypeBase {\r\n value: string;\r\n label: string;\r\n}\r\n\r\nexport type Props = {\r\n maxMenuHeight: number;\r\n size: \"large\" | \"medium\" | \"small\";\r\n isValid?: boolean;\r\n errorMessage: string;\r\n} & SelectComponentsProps;\r\n\r\nconst styles: StylesConfig = {\r\n valueContainer: (provided) => ({\r\n ...provided,\r\n padding: 0,\r\n }),\r\n placeholder: () => ({\r\n color: \"#242424\",\r\n }),\r\n input: (provided) => ({\r\n ...provided,\r\n margin: 0,\r\n padding: 0,\r\n caretColor: \"transparent\",\r\n }),\r\n dropdownIndicator: (provided) => ({\r\n ...provided,\r\n padding: 0,\r\n }),\r\n};\r\n\r\nexport function Dropdown(props: Props) {\r\n return (\r\n <>\r\n \r\n {...props}\r\n maxMenuHeight={props.maxMenuHeight}\r\n styles={styles}\r\n components={{\r\n Control,\r\n DropdownIndicator,\r\n IndicatorSeparator: () => null,\r\n }}\r\n />\r\n\r\n {!props.isValid && (\r\n

{props.errorMessage}

\r\n )}\r\n \r\n );\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 5.8L4.14286 9L12 1\",\n stroke: \"white\",\n strokeWidth: 2\n});\n\nfunction SvgCheckboxCheck(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 13,\n height: 11,\n viewBox: \"0 0 13 11\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheckboxCheck);\nexport default __webpack_public_path__ + \"static/media/checkbox-check.b2540f3b.svg\";\nexport { ForwardRef as ReactComponent };","export enum RoleType {\r\n Citizen = 1,\r\n Farmer = 2,\r\n // Fisherman = 3,\r\n EmployeeMp = 4,\r\n EmployeeApprrr = 5,\r\n EmployeeAdviser = 6,\r\n MpAdminFarmer = 7,\r\n // MpAdminFisherman = 8,\r\n MpSuperAdmin = 9,\r\n AdviserAdminFarmer = 10,\r\n // AdviserAdminFisherman = 11,\r\n AdviserSuperAdmin = 12,\r\n}\r\n\r\nexport const userRoles: Record = {\r\n Citizen: {\r\n value: RoleType.Citizen,\r\n label: \"Građanin\",\r\n },\r\n Farmer: {\r\n value: RoleType.Farmer,\r\n label: \"Poljoprivrednik\",\r\n },\r\n // Fisherman: {\r\n // value: RoleType.Fisherman,\r\n // label: \"Ribar\",\r\n // },\r\n EmployeeMp: {\r\n value: RoleType.EmployeeMp,\r\n label: \"Djelatnik MP\",\r\n },\r\n EmployeeApprrr: {\r\n value: RoleType.EmployeeApprrr,\r\n label: \"Djelatnik APPRRR\",\r\n },\r\n EmployeeAdviser: {\r\n value: RoleType.EmployeeAdviser,\r\n label: \"Savjetnik\",\r\n },\r\n MpAdminFarmer: {\r\n value: RoleType.MpAdminFarmer,\r\n label: \"Djelatnik MP Poljo – administrator\",\r\n },\r\n // MpAdminFisherman: {\r\n // value: RoleType.MpAdminFisherman,\r\n // label: \"Djelatnik MP Ribar – administrator\",\r\n // },\r\n MpSuperAdmin: {\r\n value: RoleType.MpSuperAdmin,\r\n label: \"Djelatnik MP Super – administrator\",\r\n },\r\n AdviserAdminFarmer: {\r\n value: RoleType.AdviserAdminFarmer,\r\n label: \"Savjetnik Poljo – administrator\",\r\n },\r\n // AdviserAdminFisherman: {\r\n // value: RoleType.AdviserAdminFisherman,\r\n // label: \"Savjetnik Ribar – administrator\",\r\n // },\r\n AdviserSuperAdmin: {\r\n value: RoleType.AdviserSuperAdmin,\r\n label: \"Savjetnik Super – administrator\",\r\n },\r\n};\r\n","import * as React from \"react\";\r\nimport { ReactComponent as CheckIcon } from \"../../../../assets/icons/checkbox-check.svg\";\r\ninterface Props {\r\n checked: boolean;\r\n size: \"base\" | \"small\";\r\n type: \"checkbox\" | \"radio\";\r\n htmlFor: string;\r\n text: React.ReactNode;\r\n isDisabled?: boolean;\r\n className?: string;\r\n value?: string;\r\n onChange: (event: React.ChangeEvent) => void;\r\n}\r\n\r\nexport const Checkbox: React.FC = ({\r\n checked,\r\n type,\r\n className,\r\n htmlFor,\r\n size,\r\n value,\r\n text,\r\n isDisabled,\r\n onChange,\r\n}) => {\r\n const getSize = () => {\r\n switch (size) {\r\n case \"base\":\r\n return \"checkbox--base\";\r\n case \"small\":\r\n return \"checkbox--small\";\r\n default:\r\n return;\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n \r\n \r\n {text}\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const FormGroup: React.FC = ({ children }) => {\r\n return
{children}
;\r\n};\r\n","import React from \"react\";\r\n\r\nexport const Footer: React.FC = () => {\r\n return (\r\n
\r\n © Ministarstvo poljoprivrede 2020. Sva prava pridržana.\r\n
\r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport {\r\n TermsOfUseModal\r\n} from \"modules/auth\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\n\r\nexport const MainFooter: React.FC = () => {\r\n\r\n const [showToUModal, setShowToUModal] = useState(false);\r\n const toggleToUModal = () => {\r\n setShowToUModal(!showToUModal);\r\n };\r\n\r\n return (\r\n \r\n\r\n\r\n );\r\n};\r\n","enum ActionType {\r\n ChangeUserRole = 0x001,\r\n SendMessage = 0x002,\r\n ChangeInfoType = 0x004,\r\n ChangeNotificationType = 0x008,\r\n AddStation = 0x010,\r\n ChangeStation = 0x020,\r\n AddBoundryValues = 0x040,\r\n ChangeBoundryValues = 0x080,\r\n AddCulture = 0x100,\r\n DeleteCulture = 0x200,\r\n UploadDocument = 0x400,\r\n DeactivateDocument = 0x800,\r\n}\r\n\r\nexport const actionTypes: Record = {\r\n ChangeUserRole: { value: ActionType.ChangeUserRole, label: \"Promjena uloge\" },\r\n SendMessage: { value: ActionType.SendMessage, label: \"Slanje poruke\" },\r\n ChangeInfoType: {\r\n value: ActionType.ChangeInfoType,\r\n label: \"Promjena predbilježbe\",\r\n },\r\n ChangeNotificationType: {\r\n value: ActionType.ChangeNotificationType,\r\n label: \"Promjena načina obavještavanja\",\r\n },\r\n AddStation: { value: ActionType.AddStation, label: \"Unos stanice\" },\r\n ChangeStation: { value: 20, label: \"Promjena stanice\" },\r\n ChangeBoundryValues: {\r\n value: ActionType.ChangeBoundryValues,\r\n label: \"Promjena graničnih vrijednosti\",\r\n },\r\n AddCulture: { value: ActionType.AddCulture, label: \"Unos kulture\" },\r\n UploadDocument: {\r\n value: ActionType.UploadDocument,\r\n label: \"Učitan dokument\",\r\n },\r\n DeactivateDocument: {\r\n value: ActionType.DeactivateDocument,\r\n label: \"Deaktiviran dokument\",\r\n },\r\n};\r\n","enum ApplicationType {\r\n Web = 0x001,\r\n Mobile = 0x002,\r\n}\r\nexport const applicationTypes: Record<\r\n string,\r\n { value: number; label: string }\r\n> = {\r\n Web: { value: ApplicationType.Web, label: \"Web\" },\r\n Mobile: { value: ApplicationType.Mobile, label: \"Mobilna\" },\r\n};\r\n","enum County {\r\n BjelovarskoBilogorska = 0x000001,\r\n BrodskoPosavska = 0x000002,\r\n DubrovackoNeretvanska = 0x000004,\r\n GradZagreb = 0x000008,\r\n Istarska = 0x000010,\r\n Medimurska = 0x000020,\r\n Karlovacka = 0x000040,\r\n KoprivnickoKrizevacka = 0x000080,\r\n KrapinskoZagorska = 0x000100,\r\n LickoSenjska = 0x000200,\r\n PozeskoSlavonska = 0x000400,\r\n PrimorskoGoranska = 0x000800,\r\n OsjeckoBaranjska = 0x001000,\r\n SibenskoKninska = 0x002000,\r\n SisackoMoslavacka = 0x004000,\r\n SplitskoDalmatinska = 0x008000,\r\n VirovitickoPodravska = 0x010000,\r\n Varazdinska = 0x020000,\r\n VukovarskoSrijemska = 0x040000,\r\n Zadarska = 0x080000,\r\n Zagrebacka = 0x100000,\r\n}\r\n\r\nexport const CountyFilterFields: Record<\r\n string,\r\n { value: number; label: string }\r\n> = {\r\n bjelovarskoBilogorska: {\r\n label: \"Bjelovarsko-bilogorska\",\r\n value: County.BjelovarskoBilogorska,\r\n },\r\n brodskoPosavska: { value: County.BrodskoPosavska, label: \"Brodsko-posavska\" },\r\n dubrovackoNeretvanska: {\r\n value: County.DubrovackoNeretvanska,\r\n label: \"Dubrovačko-neretvanska\",\r\n },\r\n istarska: { value: County.Istarska, label: \"Istarska\" },\r\n karlovacka: { value: County.Karlovacka, label: \"Karlovačka\" },\r\n koprivnickoKrizevacka: {\r\n value: County.KoprivnickoKrizevacka,\r\n label: \"Koprivničko-križevačka\",\r\n },\r\n krapinskoZagorska: {\r\n value: County.KrapinskoZagorska,\r\n label: \"Krapinsko-zagorska\",\r\n },\r\n lickoSenjska: { value: County.LickoSenjska, label: \"Ličko-senjska\" },\r\n medjimurska: { value: County.Medimurska, label: \"Međimurska\" },\r\n osjeckoBaranjska: {\r\n value: County.OsjeckoBaranjska,\r\n label: \"Osječko-baranjska\",\r\n },\r\n pozeskoSlavonska: {\r\n value: County.PozeskoSlavonska,\r\n label: \"Požeško-slavonska\",\r\n },\r\n primorskoGoranska: {\r\n value: County.PrimorskoGoranska,\r\n label: \"Primorsko-goranska\",\r\n },\r\n sisackoMoslavacka: {\r\n value: County.SisackoMoslavacka,\r\n label: \"Sisačko-moslavačka\",\r\n },\r\n splitskoDalmatinska: {\r\n value: County.SplitskoDalmatinska,\r\n label: \"Splitsko-dalmatinska\",\r\n },\r\n sibenskoKninska: { value: County.SibenskoKninska, label: \"Šibensko-kninska\" },\r\n varazdinska: { value: County.Varazdinska, label: \"Varaždinska\" },\r\n virovitickoPodravska: {\r\n value: County.VirovitickoPodravska,\r\n label: \"Virovitičko-podravska\",\r\n },\r\n vukovarskoSrijemska: {\r\n value: County.VukovarskoSrijemska,\r\n label: \"Vukovarsko-srijemska\",\r\n },\r\n zadarska: { value: County.Zadarska, label: \"Zadarska\" },\r\n zagrebacka: { value: County.Zagrebacka, label: \"Zagrebačka\" },\r\n gradZagreb: { value: County.GradZagreb, label: \"Grad Zagreb\" },\r\n};\r\n","export enum UserTypes {\r\n Citizen = 1,\r\n Farmer = 2,\r\n // Fisherman = 3,\r\n EmployeeMp = 4,\r\n EmployeeApprrr = 5,\r\n EmployeeAdviser = 6,\r\n}\r\n\r\nexport const userTypes: Record = {\r\n Citizen: {\r\n value: UserTypes.Citizen,\r\n label: \"Građanin\",\r\n },\r\n Farmer: {\r\n value: UserTypes.Farmer,\r\n label: \"Poljoprivrednik\",\r\n },\r\n // Fisherman: {\r\n // value: UserTypes.Fisherman,\r\n // label: \"Ribar\",\r\n // },\r\n EmployeeMP: {\r\n value: UserTypes.EmployeeMp,\r\n label: \"Djelatnik MP\",\r\n },\r\n EmployeeAPPRRR: {\r\n value: UserTypes.EmployeeApprrr,\r\n label: \"Djelatnik APPRRR\",\r\n },\r\n EmployeeAdviser: {\r\n value: UserTypes.EmployeeAdviser,\r\n label: \"Savjetnik\",\r\n },\r\n};\r\n","export enum NotificationType {\r\n Email = 0x1,\r\n Sms = 0x2,\r\n WhatsApp = 0x4,\r\n Viber = 0x8,\r\n Push = 0x10,\r\n}\r\n\r\nexport const notificationTypes: Record<\r\n string,\r\n { value: number; label: string }\r\n> = {\r\n Email: {\r\n value: NotificationType.Email,\r\n label: \"Email\",\r\n },\r\n SMS: {\r\n value: NotificationType.Sms,\r\n label: \"SMS\",\r\n },\r\n WhatsApp: {\r\n value: NotificationType.WhatsApp,\r\n label: \"WhatsApp\",\r\n },\r\n Viber: {\r\n value: NotificationType.Viber,\r\n label: \"Viber\",\r\n },\r\n Application: {\r\n value: NotificationType.Push,\r\n label: \"Aplikacija\",\r\n },\r\n};\r\n","enum InfoType {\r\n News = 0x0001,\r\n Advice = 0x0002,\r\n\r\n FarmingAndOther = 0x0200,\r\n WineGrowing = 0x0400,\r\n FruitAndOliveGrowing = 0x0800,\r\n\r\n CoursesNotification = 0x1000,\r\n DemonstrationNotification = 0x2000,\r\n WetherAlarm = 0x4000,\r\n Announcement = 0x8000,\r\n}\r\n\r\nexport const infoTypes: Record = {\r\n Advice: {\r\n value: InfoType.Advice,\r\n label: \"Savjeti\",\r\n },\r\n CoursesNotification: {\r\n value: InfoType.CoursesNotification,\r\n label: \"Obavijesti o tečajevima\",\r\n },\r\n DemonstrationNotification: {\r\n value: InfoType.DemonstrationNotification,\r\n label: \"Obavijesti o demonstracijama\",\r\n },\r\n News: {\r\n value: InfoType.News,\r\n label: \"Vijesti\",\r\n },\r\n WetherAlarm: {\r\n value: InfoType.WetherAlarm,\r\n label: \"Vremenski alarmi\",\r\n },\r\n RecommendationFarmingAndOther: {\r\n value: InfoType.FarmingAndOther,\r\n label: \"Preporuke za zaštitu bilja: Ratarstvo i ostalo\",\r\n },\r\n RecommendationFruitAndOliveGrowing: {\r\n value: InfoType.FruitAndOliveGrowing,\r\n label: \"Preporuke za zaštitu bilja: Voćarstvo i maslinarstvo\",\r\n },\r\n RecommendationWineGrowing: {\r\n value: InfoType.WineGrowing,\r\n label: \"Preporuke za zaštitu bilja: Vinogradarstvo\",\r\n },\r\n Announcement: {\r\n value: InfoType.Announcement,\r\n label: \"Najave manifestacija\",\r\n },\r\n};\r\n","export const emailRegex =\r\n /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n\r\nexport const phoneRegex = /^(\\+|\\d)\\s?(\\d\\s?)*$/g;\r\n\r\nexport const passwordRegex =\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?!.*\\s).{8,}$/g;\r\n","import { AppRoutes } from \"routing\";\r\nimport React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { Can } from \"modules/auth\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { RootState } from \"store\";\r\nimport { RoleType } from \"modules/common/constants\";\r\nimport { NavDropdown } from \"modules/common\";\r\n\r\nexport const Navigation: React.FC = () => {\r\n const { profile } = useSelector((state: RootState) => state.profile);\r\n\r\n return (\r\n \r\n );\r\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 12H22.5\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 5.25H22.5\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 18.75H22.5\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n});\n\nfunction SvgHamburger(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHamburger);\nexport default __webpack_public_path__ + \"static/media/hamburger.e2aae330.svg\";\nexport { ForwardRef as ReactComponent };","export default __webpack_public_path__ + \"static/media/profile-image.57cb418b.png\";","import React from \"react\";\r\nimport profileImage from \"assets/images/profile-image.png\";\r\n\r\ninterface Props {\r\n image?: string;\r\n className?: string;\r\n}\r\n\r\nexport const ProfileImage: React.FC = ({ image, className }) => (\r\n
\r\n \"profile\"\r\n
\r\n);\r\n","import React, { useRef, useState } from \"react\";\r\nimport { ReactComponent as ChevronIcon } from \"assets/icons/chevron.svg\";\r\nimport { useOutsideClick } from \"modules/common\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { logOff } from \"modules/auth\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { AppRoutes } from \"routing\";\r\nimport { RootState } from \"store\";\r\nimport { ProfileImage } from \"./ProfileImage\";\r\n\r\nexport const ProfileSettings: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const profile = useSelector((state: RootState) => state.profile.profile);\r\n\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const handleMenuClick = () => {\r\n setIsOpen((prev) => !prev);\r\n };\r\n\r\n const handleOutsideClick = () => {\r\n setIsOpen(false);\r\n };\r\n const profileSettingsrRef = useRef(null);\r\n\r\n const handleLogout = () => {\r\n dispatch(logOff());\r\n };\r\n\r\n const handleClose = () => {\r\n setIsOpen(false);\r\n };\r\n\r\n useOutsideClick(profileSettingsrRef, handleOutsideClick);\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n
  • \r\n \r\n \r\n {profile?.firstName} {profile?.lastName}\r\n \r\n
  • \r\n
  • \r\n Postavke\r\n
  • \r\n {/*
  • \r\n Upravljačka konzola\r\n
  • */}\r\n\r\n
  • \r\n Odjava\r\n
  • \r\n \r\n
    \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Navigation } from \"../Navigation\";\r\nimport { ReactComponent as HamburgerIcon } from \"assets/icons/hamburger.svg\";\r\nimport Mplogo from \"assets/images/LogoMP1x.jpg\";\r\nimport { ProfileSettings } from \"../ProfileSettings\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { AppRoutes } from \"routing\";\r\n\r\ninterface Props {\r\n setMenuOpen: () => void;\r\n}\r\nexport const MainHeader: React.FC = ({ setMenuOpen }) => {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \"MPlogo\"\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n","export default \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAA0ADQDAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/igDxf8AaK+Kd98Evgd8UPivpnh278V6l4G8Jalren6DZ7t19exKsNq120cc08Wk2U88d/rc9rbXl5b6Pa309lY313HDaTexw9lX9vZ9kuSfWI4V5xmuX5YsRJ0V7J47FUsMpQ+sVsNh5Vb1UqMMRicLQqVnCFbFYelKVaHjcSZyuHOG+JeJHgq2ZR4b4cz/AIjnl2H9p7bHQyHKMZm08JCVGliKtP6xDBypOtSw+JqUYzdWnhsROCoz/lw/ae/4L0/tT/Dn40fC+DwH4H+HyfD7RrAXPjmyXwv4kv8ARPiyk2v3mlX93oPiHxXqvhDW/COkfZNLE2gTPpMusafqc8zalFrOkxG21X3oZBgKGX5E82nlfD+a8U5flOLnlHE/GuUx4p4CzWWHoYzO+Es74f8ADLL/ABbyriHO8swuY5VicbiMs4kw2VqjjMNhsPmFHF1MV9X/AFf6K+B4Y+kd4Y+InGOCyzjurmvAGfZ9kWJwfCPCuHznhrOqCyyliuD+KcJxt4hcReDUeHsqzrGUs4wEMvx2Q51mU5ZbjMXWy+VClgHU0fGH/BWb9tU+FvE3g3wJ8XvgnbeO/FWmX3xD8O+MPiX4U0nwdp3hjQ7LxN4XsLPwX4XvbjxLBoF9qHiqPxSPLtvEy3evaBpuh6hbafHrup3K3Nh5XGOa5b4eZbkfFHHPgn4i4XIafiDQ8Jc+yzw/4hzzxIzyXEOWcNcQ55xvxPVyyh4YZBnH+rnC2Myalk8M+yDC4zhTiavmWBzKhmHCOW4fEU8b/LH0cvE/MPFnOOL8rxWb8NZ1WweS4fjfh/F0OGqHDuGwGR8RYuvhuGcgx2HfH2d4XE4jFYfB/XKNLNsfg+JcmcsVg84pcW47FZcsH+rv/BPv/gpR46/bE8TeCdE1zwB4SsrHXfhtcazr2peANYbxVbeGfFujad4fm1STxFrmm6hq3hfTdO1TW7nxH4a0jwwmpv4w07VNBuW17T7VGeKz9Dijh3JclxOY0ck4mwPFOBwE8kjRzzB4zh+hh8fic3rcXU8dk9LIIZ7iuL8Nj+F6PDWV4rNM2zDIMBw1mcOLcvpZHmeLr5djIT/RcHnHGdfjLiTh3iXwd428Ncvy2nndbKsx4lp5rjcLmVPJc14by+nOnnMOGcs4X/4XqfEtbEZdlOFz7M+I8thwvmf9t5dhXi4fVP2Jr44+kCgAoAo6npthrOm6hpGqWsN9pmq2N3puo2Vwu+3vLC+gktby1nTjfDcW8skMq5+ZHYd6NVqnKL6SjJxkn0cZRalGS3UotNPVNMunUlSqU6sOXnpTjUhzQhUjzQkpR5qdSMqc43SvCcZQktJRabR/KH+xX8A/2X/i58a/jJ4e/bU/Zj+HfhHw38O7nVB8LPiP8Z7jxdo9t40P/CUS6R9ispvilr0vhLX4zoWnadqK2+lWk4ithFLbpDYvtflyL6Rfi1nVfGZLnnEtbhPI8oWIhktLI8JgeCsDJVsbVqV/YxyrC5ZRr1cROU8ZXrXq4itWrVK86jdSTf8AaXiP9BnwA+j7wHwhxJ9F/Iq3G/FfiFLK8V4k5LTx2J8V8xyyphchjiMLXxdKviM9zLI6OExWMxOV4fDqGAwVOEI4Z0JVqUXHo/2b/AH7L/7Tfgn9oS9/a/8A2JvgJ8G9c+GmlwyfA7Q9e8P698ONR+JF9qOk+MptWs9CPirVLDWdfnivNE8I2cy+DJIrqKbWbASsLq50gx8PDf0gvF3M6WcYjiDjji3L8Rl0Yyyijj+JM8UcfNwxUpwp0M0xtSOJ9+lhozjQg7+1gppuVO30Xiv9C7wN8FM78Ncu+jtw/wAK8UZTx5inS8Us04P4I4Cx8OF8LgcZkdLLcRmuK4MyCnRyuMcPm3EWIwtTP5ypxhg8ZLD8tOnmHP8Abv8AwRXbWfEOh/H/AMbeNPghf/BvxlLr3gnw9Db61a+OItV1HwvaaTqd1ZJbzePprjWW0a2v2uo7W3gnfT4LmO58kJM04PncN8ccR8fSxubcV5VlOAzbCyp4X61gOGcp4exmYUKvNWdXMp5ZluXTzSrGonGni8asRiIpSj7Z3kj436Wngd4Y/R8r8EcF+DviJxLxtwXm+DzTPa+BzbxMzzxDybIM5w1bD4D6tkNHNuIeIMLw1Crgpwq4jLcplgMLUU6E/qcYwotfuVX1J/HQUAFABQB/MRqdzdf8FYPE3iP9m39pC3X9l3wf+yxrGqXXgbx5p7Yl+It1b6hP4Ca3mk8bGx0aQf2Xp0Ws7tDuLnc05ZSbUo5/BqkpeIdevkedx/sDDcP1aksJi4b42UZvB8reK5KT/dwVX91KW/8ALZn+yGCo0foP5NlHi74SVX4z5/41YDBUeJOGcUvc4To1cLS4mVWnDh1YnMIP67i55fbMqVGyp2laupRWJYeILv8A4KmR3XxP+P1mn7NuvfsMIviH4S+HLDzET4z3WuLJ4hubO5HjQWN66Wt78JvD1gp8NR3UhHiaTzAJfsIkyhWlx+pY/OIrI63CS9tl1CF7ZpKres4y+tckvdll1GH7hSf79315L+licrofQslR4N8L68vFzLPpJyeV8c5tiuSUvD2jlrhlVLEUf9XvrOHjKth+OM1xMv7YlQhfJ4cr5PrLj+rH/BNT9sP4n/tn6B8WfH/xR+EsPwi1TwxrHhPwfpukW8fiFItUsIrLXNabUs+Iba2uGkW41eS1YQK0KrFGSQ7MK/QuBuJcfxRRzHGY/LlltTD1cPhoUoqslUgoVavtP30YyvzVHHTTRdT+JPpfeAfBv0fM14H4X4M45qcd4LOcvzvP8Xj6ssqlPBYqeIy7LlhLZVWrUlB0sBCtF1Wqjc5WXKkfp1X3h/HAUAFABQB+Pf7en7FHib9tLWfCXwa8feILH4N/A/4XW0njXwD8ZNMNn4mudf8AEOsvdaHdfDTxD4W1XUfD48MHw1okVjPpWvf21q1t4itwgBtdRNzYW35rxdwtX4oq4fLMZWhlmVYCLxWDzOny15Vq1XmpSwNbD1J0fYewpKLp1va1I1o2+Gd4R/vb6Mn0icn+jzl+eeIHC+V4nj/xH4zrR4d4n4AxixGT0csyrL40cyocX5VnWBwmaf2ys4zGeIpY3LP7PwNbKqrk2q+EVHFVvz+0bVNQ/wCCxWr23jzxVpjfs9+If2FNUs5vAHguxaXxtd/GzW/Fl1/bUehvcapD4RutEuILz4R6TpgGlaZr8xPiWW4khj+yQQ3Px1Kc/EupHF4im8mrcJVIvB4WF8VLNauIl7VUnKosNKk1LLacP3cKz/fuTS5Upf1HmGCwv0BcBW4ZyTGR8VMq+krgsRT4o4hxKhw7Q8O8uySj/Z88xjSwVTPaOY0qmH46x2Mf13GZZBLJ4UoVJ+3qVKP9Hfwrbx3qXhPS/E/xR0HS/CnxC8R6VpNz4j8JaJq7+INK8Iyw2a/8U1Z660FkutrY3s+o3cuqrp9mZ7nUJoER7W1tXP7bl7xc8NTr5hRp4fG16dOVfDUqjrU8M1H+BGtaPteSTnJ1OSPNKbSXLGJ/krxtHhnCZ5jcm4LzPG53wrlONx1HKc9zHARyvG59TqYh/wDCxiMsVXEPLpYnD08JQhgniq/sqOFp1JSjWrVor0qu4+QCgDxlv2gfhHH44vvhtJ4wsIvHFh8SNN+EsnhyVZY9Ql8eax8JB8cNL0aBXQRul/8ADcTa1bai7x6bJPaXWli7/tKBrWvW/sTNHg4ZgsLN4OeAqZmq6s4LBUsz/sepVk07pwx9qMqaTqJSjU5fZvmPM/tjLvrU8C8TBYuGNhlzoO6m8XUy7+1adJaWtPA3qxm2oNxlT5udcpyHhn9rT4K+Ln8PWWia9fTa74p8F/CL4iaH4autMm0/XdQ8F/GvVPD2i+Edfsbe/a3tdStdP1TxV4fs/Gcel3l9deC21jR5fEVvY2+u6DLqnViOGc3wqrzrUIKjhsXmmBrYiNRTowxeUU69XFUJyhzSpynTw1eWEdSEI4tUqqoSm6NZU+ehxDleIdGNKtJ1a+Fy7G0qEoOFWeFzSpRpYatBT5YzjCpiKMcSqcpywrq0nXUFWoupmT/tgfCgeFNT8ZWFt4r1fSNC+D9r8eNfisdP0iDVtF+F95puq6xD4mutG1bXtM1K7s203RNWlWTSLfUoZr7T7vQLeabxJBJo66LhbM/rNPCTlhqVWtmssloOdSrKlVzGFSlSeHjVpUalOM/aVqStVlTahUjWklh2qpm+I8v9hUxMFiKlOll0c2rKMKaqUsBKFSoq8qdSrCco8lKo06cZpzhKjFusnTWzd/Hr4S+C7jxJps2kXugeJ/Csvwj0vxJ4Ut9F0ez1jT7z4yeNk+HXw60yS+t79PDV4LvxHPp8F5c2XiC60jQNO1XStU1O/s9NvYriuPD8OYqaoVMNDC/V8VHMpUMTTvGlUpZPg/r2NlyKksRFU8PGbpwnQjUqzpVKVKnKcHE9LHcVOs6tPMMZmGIrYWpgfaYfFVp150q2cYv6ph7Sq150HOtiJR9tUhWcYRq06taajNSKF1+1t8K10LXvEelReJvEGn+FfCnhDxv4mt9P0/TNO17w/wCGPHfhzSvFXhjVtX8KeKNa8PeKbK11TSdXt1t5pdGEU2rWmu6BA8uueGvEWn6X1R4YzJ1qOHqvD0KmJxOKweHlOdSpQr4jBV6mGxFKlicNRr4acqdWlLmSq3VKdGvJKjiKFSp574hy/wBlVrU1XrQw+Hw2KrqEKcK1Ghi6NPEUKlTD16tHERjUp1Fyt0rOpGrRTdWhWhT0pf2oPhva3txol/b+JtP8W2vi4+ALnwbc6bYyeILfxtNH8LpdL8NTfY9Vu9Hivdbt/jN8ONQ065fV10pND8QHxNqeoad4Z0vV9YsM1w7j5QjWhLDzwssL9dji41JqhLCJ5iqmIXPSjVcKTynHwnFUvautQ+r06dTEVKVKdvPsFGUqU1XhiI4n6nLDOEXWWKawDp0Hy1JU1OrHM8FOEnUVNUq3t6k4UKdSrD1PwB8Q/DvxJ0jUdV8PG/ibQ/Emv+DvEOlatZSafq/h/wAVeF9Qk0zXdE1K2cyQtNaXMYe3vtPub7R9X0+ez1fRNS1LSL+yvrjzcdga+X1adOvyNVsPQxdCrSmp0q+GxMFUo1qctHaUXaUJxhVpVIzpVqdOrCcI9+DxlHHU51KPOvZV62GrU6kHCpRxGHm6dWlOLurxkrqcJTp1IONSlOdOcZv81rDx58DvHvjrxF8StM/Zu8XzfFzTvDvib4qN4lXxYmg6h4i8B/BLxV4R19pvCWsy6lZ6fr+rjxf45udF0zw7e2Vn4fF3pPifw74l8W6NpbaTFqf388FnGCwdDL6mf4VZXUr4fLfYfVnWhh8bm+GxVBLFUlTnOhS+q4ONapXhOdflq4evh8LWqKq6fxMMXlWLxVbHQyTEPMYUK+Ye2+sKlOvhMqxGHrXw9VzjCtU+s4uVKnRnGNHmp4ijXxFKn7NVNNfH37K3gP4eeEfHn/CrPEa+APhZ47h0XwLc3Wt+Ib7XvBWlfAD9krWPjfpPiTSYtXvU8TIX+FHw7Phi/wDC+q6pcz+Idct9Lt/FTXkLXV3bZ/UuJMbjsVgv7SofXcywTrYyMaNCFHF1M74mo5PVoVXSg8O7Zlj/AKxDEU6cVQoyqSw3K1GMr+t5BhMHh8Z9QrfVMBi1SwkpVa06uFp5Pw7VzSnXpqpJV7vL8F7CdCpUlKtVVOOI5lzSjW8YXXwX8CXD/BDWfgL468X60PAUn7NWn+E/DvxN8SeJZr/4IfG34YeOPHT6R4R1q2vtO1qzu/Emh/sv6n4Z1ezjPh3UtK8V6FpOrW3iJ9I8Q6p49u6wsc2xsVnFHOsHhaP11Z/PFV8vw+HUM4yjMcHg1VxVKUKlKccPW4ip4ilJ+3p1cNWq0pUFVoU8FGcTLLMI/wCyquUYvE1fqjyOGHo46tXlPK80wGKxbp4erGdOrGVelkU6FWP7mpTxFGnVjW9nWqYyVy5179n/AOJ2uXerJ+zxdeKfHWqfG3xj8I7iSz+IWoWsnjDxr8OrHXv2joLLxPqMOq2V1rrWGv8A7MGgr4W0rxhpl1o/hq21Pw7oWhXdn4S8ReOtItJjRzvL6Mabz2GGwdLKMLmaU8DCSwuEx06GQynh6bpTjR56PEVf6zVwtSNXESp161aM8TQwdWdyq5Pjqsp/2NLEYupmuJy6TjjJx+s4rBQrZ0o15qpCVXkrZFSWHp4mnKnQjOjRpSjhq2Kpxx9I8d/ss6xc/Cnw/o3w41zxL4F/aO8CyeAPAHia6+JvikXl18NYPEP7PWn6n4V8JQ6tqtn4istD8L+LPivo1pfaHp+sadqnhqH4Y/ECGCzs5NJttG1XWrguI6Ucyr1cfRw+NyHGLG43Dxy/DcscwdDPZ08TinSpToTrYjDZZVlCtUpVKeIeY4FynNVZVaedPF5BVeX0aWCq18JnWE+qYOvLH4jnlgVWyaFTD4dVKka0KWHxGYU1OlCrCpQWBxqUYunGlU7PU/iX8J/iFpt18R7v4CXt5r3xK+GHiP41atcaX4p1Pwp4un8P/sieKfh5e6Be6TrUun+FPL+INpffFjTbnwxqGmaxYaJqdpoh0jU/HUuj2emxjkp5fmeBqRwEc6hCjl+Y4fKKUamGp4nCxr8UYbHQrwq0VPE3wMoZZUjiIVKU61OVb2tPBKrOozpqY7LsZB42WUSnWxuAr5pUlTrzw+JdHhzEYOVGVOq4Ye2MjPMISoTp1IUpxpezqYt04wR6b8KPjr4eXTfFVn8MPhjqEfh6x8deIRc6trFx8ULzWPFOtap9i8Qaj4o1W+h+GHiya5vtV/tiHzUv9evb3TVhTRnSyh02CwtfOzPJq/tMNLMcxg688FQ5aVKOXQpYajT56FPDU4PMcMowp+ydnCjCFS7qpzdRzl35fmtHkxEcBgZqjDF1uapUePlUr1anLWnXqTWAxDlKp7VX560pwt7JqKgoR+nJ/g78KrvS9D0S7+Hng+70nw1ba5ZaDp93oGnXVtpWn+J1ZPE2mWcc8Egi0rxHGxi1/SxnT9ZhVIdStrmKONF+ejmuZRqVq0cdio1cRKjOvONepGVWeH1w9SbjJXqUGr0Knx0nd05RbbPbeW5fKnSpSweGlToRqwowlShJU4V/49ON07U621an8FVWU4ySSKF38DvhPe65aeIpvAvh5dStfEOoeK5Gh062gg1LxDqngbX/AIa3mpazbxRrFq7zeBfFOveGpLbUBPYz6ffoLi1ml0/SpbHSOcZnCjKgsbX9nKhDDJOpKTp0KeMoZhCnSk23SSxmGo4hShyzVSD5ZJTqKcyyrLpVY1nhKPtI1p4htQSU608JWwMp1IpWqN4SvVoOM04OE1zRbhTcNjR/hT8NfD/9i/2L4E8K6Y3hvVTrnh17TRbGKXQdY/4R+68JLqWiyiHzNLvIvCN/f+EbeexeB7bwnf3/AIZgMeh3tzYS5VcyzCv7b22NxNT6xS9jXUq02q9L28cU6dZXtUg8VCGKkpqSliYQxEr1oRmtaeX4Gj7L2WEw8PYVPa0XGlBOjV9jLDKdJ2vTksNOeGi4WccPOdCNqUnB19O+D/wq0jWNN8Q6T8OfBel6/o91c32ma3p3hzSrLVrO+vLjxjdXV5DqNtaxXYup7j4ifEKWS4aZpS3j7xt8+PFniAag6maZlVpVKFXH4upQqxjCpRqYirOlOEI4SMYOnKTjyxjgMClG1rYLB6f7LQ9nMMty+nVhWp4LC061OUpU6sKFOFSMpPEylJTjFS5m8bjG5Xv/ALXitf8AaK3PLqnwl+GGtrYR6t8PvB9/FpVhqmmaXBc+H9Me302w1vxDoHi/V7awt/swgs01Hxb4V8L+Kbs28cbzeJPDXh/XXY6po2m3VsqeZ5jRc3Sx2Kg6k6dSo416ilUnRoV8LSlOXNebp4bE4nDQ5m0sPiK9Ffu6tSMnUy7AVVBVMHhpqnCpTpp0YWhCrWo4mpGC5bR58Rh8PiJcqTdehRq39pThKOPb/AT4JWtpZ2EPwm+Hv2PT4datrC3l8JaJcJZ2fiSXR5/Een2v2izlMGm+IJ/D2gXGuabGVsdWuNE0mfULe4l0+0eLWWdZvKUpvM8dzTdGU5LFVouc8OqqoTlyzV6lBV66o1H79KNaqoSipyTyjlGVxjGCy/B8sFVjBPD0pcsa7pOvCPNF8sKzoUXVgrQqOlTc03CLUl98B/gdqmo6lrGp/Bn4U6jq+s39xqusapffDvwhd6jqup3j77vUdSvrjR5Lm+v7p/nuLy6lluJ3+aWRjzRDOs4p06dKnm2Z06VKEadKnDH4qNOlTgrRp04RqqMIRWkYxSilskOWU5VOc6k8sy+dSrOVSrUlgsNKdSpJ3lOcnTcpzk9ZSk3Jvdj/2Q==\"","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"line\", {\n y1: -0.5,\n x2: 22.4263,\n y2: -0.5,\n transform: \"matrix(0.700709 0.713447 -0.700709 0.713447 1 1)\",\n stroke: \"#555555\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"line\", {\n y1: -0.5,\n x2: 22.4263,\n y2: -0.5,\n transform: \"matrix(-0.700709 0.713447 0.700709 0.713447 17 1)\",\n stroke: \"#555555\"\n});\n\nfunction SvgClose(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 17,\n viewBox: \"0 0 18 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClose);\nexport default __webpack_public_path__ + \"static/media/close.44c34024.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useRef } from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { AppRoutes } from \"routing\";\r\nimport { ReactComponent as CloseIcon } from \"assets/icons/close.svg\";\r\nimport { RoleType, useOutsideClick } from \"modules/common\";\r\nimport { Can } from \"modules/auth\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { RootState } from \"store\";\r\n\r\ninterface Props {\r\n close: () => void;\r\n className?: string;\r\n isOpen: boolean;\r\n}\r\nexport const HamburgerMenu: React.FC = ({\r\n close,\r\n className,\r\n isOpen,\r\n}) => {\r\n const hamburgerMenuRef = useRef(null);\r\n const { profile } = useSelector((state: RootState) => state.profile);\r\n\r\n const handleOutsideClick = () => close();\r\n useOutsideClick(hamburgerMenuRef, handleOutsideClick);\r\n\r\n return (\r\n <>\r\n {isOpen &&
    }\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n Aktivnost korisnika\r\n \r\n \r\n \r\n \r\n Administracija korisnika\r\n \r\n \r\n \r\n \r\n Administracija sustava\r\n \r\n \r\n \r\n\r\n \r\n Vijesti i savjeti\r\n \r\n \r\n Agrometeorologija\r\n \r\n \r\n \r\n Agroklimatske stanice\r\n \r\n \r\n \r\n \r\n Zaštita bilja\r\n \r\n \r\n \r\n \r\n Komunikacija\r\n \r\n \r\n \r\n Evidencije\r\n \r\n \r\n {profile?.roleType?.value === RoleType.Farmer\r\n ? \"Moj savjetnik\"\r\n : \"Savjetnici\"}\r\n \r\n \r\n \r\n {profile?.roleType?.value === RoleType.Farmer\r\n ? \"Moje edukacije\"\r\n : \"Edukacije\"}\r\n \r\n \r\n\r\n \r\n \r\n \r\n SEMIS\r\n \r\n \r\n \r\n \r\n Sharepoint\r\n \r\n \r\n \r\n \r\n Intranet\r\n \r\n \r\n \r\n \r\n IT podrška\r\n \r\n \r\n \r\n Web autori\r\n \r\n \r\n \r\n PIO za odgovarače\r\n \r\n \r\n \r\n\r\n \r\n Savjetodavni portal\r\n \r\n\r\n \r\n Ministarstvo poljoprivrede\r\n \r\n\r\n \r\n APPRRR\r\n \r\n\r\n \r\n VETIS\r\n \r\n\r\n \r\n Agronet\r\n \r\n\r\n \r\n Postavi upit\r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { HamburgerMenu } from \"../HamburgerMenu\";\r\nimport { MainFooter } from \"../MainFooter\";\r\nimport { MainHeader } from \"../MainHeader/MainHeader\";\r\nimport { ToastContainer } from \"react-toastify\";\r\n\r\nexport const MainLayout: React.FC = ({ children }) => {\r\n const [menuOpen, setMenuOpen] = useState(false);\r\n\r\n const handleMenuOpen = () => {\r\n setMenuOpen(true);\r\n };\r\n\r\n const handleMenuClose = () => {\r\n setMenuOpen(false);\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    {children}
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.3137 0.65625L6.65686 6.3131L1 0.656258\",\n stroke: \"#555555\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgArrowDown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 13,\n height: 7,\n viewBox: \"0 0 13 7\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowDown);\nexport default __webpack_public_path__ + \"static/media/arrow-down.e9e60a0c.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useRef, useState } from \"react\";\r\nimport { ReactComponent as ArrowDownIcon } from \"assets/icons/arrow-down.svg\";\r\nimport { useOutsideClick } from \"modules/common\";\r\n\r\ninterface Props {\r\n name: string;\r\n className?: string;\r\n}\r\nexport const NavDropdown: React.FC = ({ className, name, children }) => {\r\n const ref = useRef(null);\r\n const [show, setShow] = useState(false);\r\n\r\n useOutsideClick(ref, () => setShow(false));\r\n\r\n return (\r\n
    \r\n setShow(!show)}\r\n >\r\n {name}\r\n \r\n
    \r\n {show &&
    {children}
    }\r\n
    \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 3.5H15.5\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 3.5H2.5\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5 12.5H0.5\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.5 12.5H13.5\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.5 6.5C7.15685 6.5 8.5 5.15685 8.5 3.5C8.5 1.84315 7.15685 0.5 5.5 0.5C3.84315 0.5 2.5 1.84315 2.5 3.5C2.5 5.15685 3.84315 6.5 5.5 6.5Z\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5 15.5C12.1569 15.5 13.5 14.1569 13.5 12.5C13.5 10.8431 12.1569 9.5 10.5 9.5C8.84315 9.5 7.5 10.8431 7.5 12.5C7.5 14.1569 8.84315 15.5 10.5 15.5Z\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgFilter(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFilter);\nexport default __webpack_public_path__ + \"static/media/filter.6df8e749.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport { ReactComponent as FilterIcon } from \"assets/icons/filter.svg\";\r\n\r\ninterface Props {\r\n text: string;\r\n className?: string;\r\n}\r\nexport const FilterGroup: React.FC = ({ text, children, className }) => {\r\n return (\r\n
    \r\n \r\n \r\n {text}\r\n \r\n
    {children}
    \r\n
    \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0\",\n \"mask-type\": \"alpha\",\n maskUnits: \"userSpaceOnUse\",\n x: 0,\n y: 0,\n width: 12,\n height: 12\n}, /*#__PURE__*/React.createElement(\"rect\", {\n width: 12,\n height: 12,\n fill: \"#555555\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 1L1 11\",\n stroke: \"#555555\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 11L1 1\",\n stroke: \"#555555\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n}));\n\nfunction SvgCancel(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCancel);\nexport default __webpack_public_path__ + \"static/media/cancel.23c7ef84.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport { ReactComponent as CancelIcon } from \"assets/icons/cancel.svg\";\r\n\r\ninterface Props {\r\n text: string;\r\n isActive: boolean;\r\n showDropdown: boolean;\r\n className?: string;\r\n onClick: (event: React.MouseEvent) => void;\r\n onClear: (event: React.MouseEvent) => void;\r\n}\r\nexport const Filter: React.FC = ({\r\n text,\r\n children,\r\n className,\r\n isActive,\r\n onClear,\r\n onClick,\r\n showDropdown,\r\n}) => {\r\n return (\r\n
    \r\n \r\n \r\n {text}\r\n {isActive && }\r\n \r\n \r\n \r\n {children}\r\n
    \r\n \r\n );\r\n};\r\n","import { actionTypes } from \"modules/common/constants\";\r\nimport React from \"react\";\r\nimport { Filter, Checkbox } from \"../\";\r\n\r\ninterface Props {\r\n onChange: (event: React.ChangeEvent) => void;\r\n onClick: (event: React.MouseEvent) => void;\r\n onClear: (event: React.MouseEvent) => void;\r\n isActive: boolean;\r\n showDropdown: boolean;\r\n value: number[];\r\n}\r\n\r\nexport const ActionFilter: React.FC = ({\r\n onChange,\r\n onClick,\r\n onClear,\r\n isActive,\r\n showDropdown,\r\n value,\r\n}) => {\r\n return (\r\n \r\n {Object.keys(actionTypes).map((key, index, arr) => (\r\n
    \r\n {actionTypes[key].label}
    \r\n }\r\n />\r\n \r\n ))}\r\n \r\n );\r\n};\r\n","import { userRoles } from \"modules/common/constants\";\r\nimport React from \"react\";\r\nimport { Filter, Checkbox } from \"../\";\r\n\r\ninterface Props {\r\n onChange: (event: React.ChangeEvent) => void;\r\n onClick: (event: React.MouseEvent) => void;\r\n onClear: (event: React.MouseEvent) => void;\r\n isActive: boolean;\r\n showDropdown: boolean;\r\n value: number[];\r\n}\r\n\r\nexport type RoleFilterState = string[];\r\n\r\nexport const RoleFilter: React.FC = ({\r\n onChange,\r\n onClick,\r\n onClear,\r\n isActive,\r\n showDropdown,\r\n value,\r\n}) => {\r\n return (\r\n \r\n
    \r\n {userRoles.Citizen.label}
    \r\n }\r\n />\r\n \r\n
    \r\n {userRoles.Farmer.label}
    \r\n }\r\n />\r\n \r\n {/*
    \r\n \r\n {userRoles.Fisherman.label}\r\n
    \r\n }\r\n />\r\n */}\r\n
    \r\n \r\n {userRoles.EmployeeMp.label}\r\n
    \r\n }\r\n />\r\n \r\n
    \r\n \r\n {userRoles.EmployeeApprrr.label}\r\n
    \r\n }\r\n />\r\n \r\n
    \r\n \r\n {userRoles.MpAdminFarmer.label}\r\n
    \r\n }\r\n />\r\n \r\n {/*
    \r\n \r\n {userRoles.MpAdminFisherman.label}\r\n
    \r\n }\r\n />\r\n */}\r\n
    \r\n \r\n {userRoles.MpSuperAdmin.label}\r\n
    \r\n }\r\n />\r\n \r\n
    \r\n \r\n {userRoles.AdviserAdminFarmer.label}\r\n
    \r\n }\r\n />\r\n \r\n {/*
    \r\n \r\n {userRoles.AdviserAdminFisherman.label}\r\n
    \r\n }\r\n />\r\n */}\r\n
    \r\n \r\n {userRoles.AdviserSuperAdmin.label}\r\n
    \r\n }\r\n />\r\n \r\n \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 5.5H15\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 2.5H2C1.448 2.5 1 2.948 1 3.5V14.5C1 15.052 1.448 15.5 2 15.5H14C14.552 15.5 15 15.052 15 14.5V3.5C15 2.948 14.552 2.5 14 2.5Z\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 0.5V2.5\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 0.5V2.5\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0.5V2.5\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgCalendar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendar);\nexport default __webpack_public_path__ + \"static/media/calendar.31c6ae98.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 15.5,\n stroke: \"#848D27\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.5 16.5H8.5\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.5 11.5L8.5 16.5L13.5 21.5\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgArrowLeft(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowLeft);\nexport default __webpack_public_path__ + \"static/media/arrow-left.2f4e0470.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 15.5,\n transform: \"rotate(-180 16 16)\",\n stroke: \"#848D27\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.5 15.5L23.5 15.5\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.5 20.5L23.5 15.5L18.5 10.5\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgArrowRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowRight);\nexport default __webpack_public_path__ + \"static/media/arrow-right.b2a45d85.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactComponent as ArrowLeftIcon } from \"assets/icons/arrow-left.svg\";\r\nimport { ReactComponent as ArrowRightIcon } from \"assets/icons/arrow-right.svg\";\r\nimport getMonth from \"date-fns/getMonth\";\r\nimport getYear from \"date-fns/getYear\";\r\n\r\nconst MONTHS = [\r\n \"Siječanj\",\r\n \"Veljača\",\r\n \"Ožujak\",\r\n \"Travanj\",\r\n \"Svibanj\",\r\n \"Lipanj\",\r\n \"Srpanj\",\r\n \"Kolovoz\",\r\n \"Rujan\",\r\n \"Listopad\",\r\n \"Studeni\",\r\n \"Prosinac\",\r\n];\r\n\r\nexport function Navbar(props: any) {\r\n const currentDate = `${MONTHS[getMonth(props.month)]} ${getYear(\r\n props.month\r\n )}`;\r\n return (\r\n
    \r\n props.onPreviousClick()}\r\n />\r\n {currentDate}\r\n props.onNextClick()}\r\n />\r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport DayPickerInput from \"react-day-picker/DayPickerInput\";\r\nimport { ReactComponent as CalendarIcon } from \"assets/icons/calendar.svg\";\r\nimport { ReactComponent as ChevronIcon } from \"assets/icons/chevron.svg\";\r\nimport { Input } from \"..\";\r\nimport { Navbar } from \"./Navbar\";\r\nimport format from \"date-fns/format\";\r\nimport \"../../../../css/datePicker.component.css\";\r\nimport { DayModifiers } from \"react-day-picker\";\r\n\r\ninterface Props {\r\n onClick: (\r\n day: Date,\r\n modifiers: DayModifiers,\r\n e: React.MouseEvent\r\n ) => void;\r\n selectedDay: Date | null;\r\n}\r\nconst DateInput = React.forwardRef((props: any, ref) => {\r\n return (\r\n }\r\n rightIcon={}\r\n />\r\n );\r\n});\r\n\r\nconst WEEKDAYS_SHORT = [\"Ned\", \"Pon\", \"Uto\", \"Sri\", \"Čet\", \"Pet\", \"Sub\"];\r\nexport const WEEKDAYS_LONG = [\r\n \"Nedjelja\",\r\n \"Ponedjeljak\",\r\n \"Utorak\",\r\n \"Srijeda\",\r\n \"Četvrtak\",\r\n \"Petak\",\r\n \"Subota\",\r\n];\r\n\r\nexport const DatePicker: React.FC = ({ onClick, selectedDay }) => {\r\n return (\r\n <>\r\n {\r\n return format(date, \"dd.MM.yyyy.\");\r\n }}\r\n format=\"dd.MM.yyyy.\"\r\n dayPickerProps={{\r\n navbarElement: ,\r\n locale: \"hr\",\r\n weekdaysShort: WEEKDAYS_SHORT,\r\n onDayClick: onClick,\r\n selectedDays: selectedDay || undefined,\r\n }}\r\n />\r\n \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.3\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 6.5L4.32843 9.32843L7.65686 6.5\",\n stroke: \"black\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 3.5L4.32843 0.671575L7.65686 3.5\",\n stroke: \"black\"\n}));\n\nfunction SvgSortIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 9,\n height: 10,\n viewBox: \"0 0 9 10\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSortIcon);\nexport default __webpack_public_path__ + \"static/media/sortIcon.b03bd324.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport { ReactComponent as SortIcon } from \"assets/icons/sortIcon.svg\";\r\nimport { HeaderGroup } from \"react-table\";\r\n\r\ninterface Props {\r\n headerGroups: HeaderGroup[];\r\n}\r\nexport const TableHeader: React.FC = ({ headerGroups }) => {\r\n return (\r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column: any) => (\r\n \r\n {column.render(\"Header\")}\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Row, TableBodyPropGetter, TableBodyProps } from \"react-table\";\r\n\r\ninterface Props {\r\n getTableBodyProps: (\r\n propGetter?: TableBodyPropGetter\r\n ) => TableBodyProps;\r\n rows: Row[];\r\n prepareRow: (row: Row) => void;\r\n}\r\nexport const TableBody: React.FC = ({\r\n getTableBodyProps,\r\n rows,\r\n prepareRow,\r\n}) => {\r\n return (\r\n \r\n {rows.map((row, i) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n return (\r\n \r\n {cell.render(\"Cell\")}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n className?: string;\r\n}\r\nexport const NoResults: React.FC = ({ className }) => {\r\n return (\r\n
    \r\n Rezultati pretrage nisu dostupni ili ne postoje. Molimo pokušajte ponovno.\r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useTable, useSortBy } from \"react-table\";\r\nimport { TableHeader } from \"./TableHeader\";\r\nimport { TableBody } from \"./TableBody\";\r\nimport { NoResults } from \"../NoResults\";\r\n\r\ninterface Props {\r\n data: Array;\r\n columns: any;\r\n}\r\nexport const Table: React.FC = ({ data, columns }) => {\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n rows,\r\n prepareRow,\r\n } = useTable(\r\n {\r\n columns,\r\n data,\r\n },\r\n useSortBy\r\n );\r\n\r\n return (\r\n \r\n \r\n {data.length === 0 ? (\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","import React from \"react\";\r\n\r\nexport const userActivityColumns = [\r\n {\r\n Header: \"PODACI O KORISNIKU\",\r\n accessor: (data: any) => (\r\n
    \r\n \r\n {data.firstName} {data.lastName}\r\n \r\n {data.userUid}\r\n
    \r\n ),\r\n className: \"user-info-header\",\r\n },\r\n\r\n {\r\n Header: \"APLIKACIJA\",\r\n accessor: \"application\",\r\n className: \"application-header\",\r\n },\r\n {\r\n Header: \"ULOGA\",\r\n accessor: \"userRole\",\r\n className: \"role-header\",\r\n },\r\n {\r\n Header: \"AKCIJA\",\r\n accessor: (data: any) => (\r\n {data.userAction}\r\n ),\r\n },\r\n];\r\n","import * as React from \"react\";\r\nimport { ValueType } from \"react-select\";\r\nimport { Dropdown, OptionType } from \"../Dropdown\";\r\n\r\ninterface Props {\r\n currentPage: number;\r\n next?: VoidFunction;\r\n prev?: VoidFunction;\r\n numberOfPages: number;\r\n pageNeighbours: number;\r\n pageSize: OptionType;\r\n onPageSizeChange: (value: ValueType) => void;\r\n handlepageClick: (\r\n event: React.MouseEvent\r\n ) => void;\r\n className?: string;\r\n}\r\n\r\nconst PAGE_SIZE_OPTIONS = [\r\n { value: \"10\", label: \"10\" },\r\n { value: \"20\", label: \"20\" },\r\n];\r\n\r\nconst LEFT_DOTS = \"LEFT\";\r\nconst RIGHT_DOTS = \"RIGHT\";\r\n\r\nconst range = (start: number, stop: number, step = 1) =>\r\n Array(stop - start + 1)\r\n .fill(start)\r\n .map((x, y) => x + y * step);\r\n\r\nconst fetchPageNumbers = (\r\n numberOfPages: number,\r\n selectedPage: number,\r\n pageNeighbours: number\r\n) => {\r\n // total page numbers to show on the control\r\n const totalNumbers = pageNeighbours * 2 + 3;\r\n // totalNumbers + 2 to cover for the left(...) and right(..)\r\n const totalBlocks = totalNumbers + 2;\r\n\r\n if (numberOfPages > totalBlocks) {\r\n const startPage = Math.max(2, selectedPage - pageNeighbours);\r\n const endPage = Math.min(numberOfPages - 1, selectedPage + pageNeighbours);\r\n let pages = range(startPage, endPage);\r\n\r\n // has hidden pages to the left\r\n const hasLeftDots = startPage > 2;\r\n // has hidden pages to the right\r\n const hasRightDots = numberOfPages - endPage > 1;\r\n // number of hidden pages either to the left or to the right\r\n const dotOffset = totalNumbers - (pages.length + 1);\r\n\r\n if (hasLeftDots && !hasRightDots) {\r\n //case: (1) ... {6} [7] {8} (10)\r\n const extraPages = range(startPage - dotOffset, startPage - 1);\r\n pages = [LEFT_DOTS, ...extraPages, ...pages];\r\n } else if (!hasLeftDots && hasRightDots) {\r\n //case: (1) {2} [4] {5} ... (10)\r\n const extraPages = range(endPage + 1, endPage + dotOffset);\r\n pages = [...pages, ...extraPages, RIGHT_DOTS];\r\n } else if (hasLeftDots && hasRightDots) {\r\n //case: (1) ... {5} [6] {8} ... (10)\r\n pages = [LEFT_DOTS, ...pages, RIGHT_DOTS];\r\n }\r\n\r\n return [1, ...pages, numberOfPages];\r\n }\r\n\r\n return range(1, numberOfPages);\r\n};\r\n\r\nexport const Pagination: React.FC = ({\r\n className,\r\n currentPage,\r\n numberOfPages,\r\n pageSize,\r\n pageNeighbours,\r\n onPageSizeChange,\r\n handlepageClick,\r\n next,\r\n prev,\r\n}) => {\r\n const pages = fetchPageNumbers(numberOfPages, currentPage, pageNeighbours);\r\n const hasPrev = currentPage - 1 > 0;\r\n const hasNext = currentPage + 1 <= numberOfPages;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n Prethodno\r\n \r\n
    \r\n {pages.map((page, index) => {\r\n if (page === LEFT_DOTS) return ...;\r\n\r\n if (page === RIGHT_DOTS) return ...;\r\n\r\n return (\r\n \r\n {page}\r\n \r\n );\r\n })}\r\n
    \r\n \r\n Sljedeće\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { ReactComponent as SortIcon } from \"assets/icons/sortIcon.svg\";\r\nimport { HeaderGroup } from \"react-table\";\r\n\r\ninterface Props {\r\n headerGroups: HeaderGroup[];\r\n}\r\nexport const TableHeader: React.FC = ({ headerGroups }) => {\r\n return (\r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column: any) =>\r\n column.id !== \"info\" ? (\r\n \r\n {column.render(\"Header\")}\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n {column.render(\"Header\")}\r\n \r\n )\r\n )}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Row, TableBodyPropGetter, TableBodyProps } from \"react-table\";\r\n\r\ninterface Props {\r\n getTableBodyProps: (\r\n propGetter?: TableBodyPropGetter\r\n ) => TableBodyProps;\r\n rows: Row[];\r\n prepareRow: (row: Row) => void;\r\n}\r\nexport const TableBody: React.FC = ({\r\n getTableBodyProps,\r\n rows,\r\n prepareRow,\r\n}) => {\r\n return (\r\n \r\n {rows.map((row, i) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell: any) => {\r\n return (\r\n \r\n {cell.render(\"Cell\")}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useTable, useSortBy } from \"react-table\";\r\nimport { TableHeader } from \"./TableHeader\";\r\nimport { TableBody } from \"./TableBody\";\r\nimport { NoResults } from \"modules/common\";\r\n\r\ninterface Props {\r\n data: Array;\r\n columns: any;\r\n}\r\nexport const AdministrationTable: React.FC = ({ data, columns }) => {\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n rows,\r\n prepareRow,\r\n } = useTable(\r\n {\r\n columns,\r\n data,\r\n },\r\n useSortBy\r\n );\r\n\r\n return (\r\n \r\n \r\n {data.length === 0 ? (\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","import { CountyFilterFields } from \"modules/common\";\r\nimport React from \"react\";\r\nimport { Filter, Checkbox } from \"../\";\r\n\r\ninterface Props {\r\n onChange: (event: React.ChangeEvent) => void;\r\n onClick: (event: React.MouseEvent) => void;\r\n onClear: (event: React.MouseEvent) => void;\r\n isActive: boolean;\r\n showDropdown: boolean;\r\n value: number[];\r\n}\r\n\r\nexport const CountyFilter: React.FC = ({\r\n onChange,\r\n onClick,\r\n onClear,\r\n isActive,\r\n showDropdown,\r\n value,\r\n}) => {\r\n return (\r\n \r\n {Object.keys(CountyFilterFields).map((key, index, arr) => (\r\n
    \r\n \r\n {CountyFilterFields[key].label}\r\n
    \r\n }\r\n />\r\n \r\n ))}\r\n \r\n );\r\n};\r\n","import React, { useRef } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\ninterface Props {\r\n isActive: boolean;\r\n modalHeader: React.ReactNode;\r\n modalFooter?: React.ReactNode;\r\n onClose: () => void;\r\n}\r\nexport const Modal: React.FC = ({\r\n children,\r\n isActive,\r\n modalHeader,\r\n modalFooter,\r\n}) => {\r\n const modalRef = useRef(null);\r\n\r\n /** Close modal on outside click */\r\n // const handleOutsideClick = () => onClose();\r\n // useOutsideClick(modalRef, handleOutsideClick);\r\n\r\n if (!isActive) {\r\n return null;\r\n }\r\n const existingRoot = document.querySelector(\"#modal\");\r\n const parent = existingRoot ?? createRootElement(\"modal\");\r\n\r\n return ReactDOM.createPortal(\r\n <>\r\n
    \r\n
    \r\n
    \r\n {modalHeader}\r\n {children}\r\n {modalFooter}\r\n
    \r\n
    \r\n ,\r\n parent\r\n );\r\n};\r\n\r\nfunction createRootElement(id: string) {\r\n const rootContainer = document.createElement(\"div\");\r\n rootContainer.setAttribute(\"id\", id);\r\n return rootContainer;\r\n}\r\n","import * as React from \"react\";\r\nimport { ReactComponent as CloseIcon } from \"assets/icons/close.svg\";\r\nimport { SkeletonText } from \"modules/common\";\r\ninterface Props {\r\n title: string;\r\n onClose: () => void;\r\n isLoading?: boolean;\r\n}\r\n\r\nexport const ModalHeader: React.FC = ({ title, onClose, isLoading }) => {\r\n return (\r\n
    \r\n {isLoading ? (\r\n \r\n ) : (\r\n {title}\r\n )}\r\n \r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\n\r\ninterface Props {}\r\n\r\nexport const ModalFooter: React.FC = ({ children }) => {\r\n return
    {children}
    ;\r\n};\r\n","import { RadioInput, userRoles } from \"modules/common\";\r\nimport React from \"react\";\r\n\r\ninterface Props {\r\n className?: string;\r\n onChange: (event: React.ChangeEvent) => void;\r\n value: number;\r\n}\r\nexport const RolesList: React.FC = ({ className, value, onChange }) => {\r\n return (\r\n <>\r\n {value === userRoles.Citizen.value && (\r\n
    \r\n \r\n {userRoles.Citizen.label}\r\n
    \r\n }\r\n />\r\n
    \r\n )}\r\n\r\n {value === userRoles.Farmer.value && (\r\n
    \r\n {userRoles.Farmer.label}
    \r\n }\r\n />\r\n \r\n )}\r\n\r\n {/* {value === userRoles.Fisherman.value && (\r\n
    \r\n \r\n {userRoles.Fisherman.label}\r\n
    \r\n }\r\n />\r\n \r\n )} */}\r\n\r\n {value ===\r\n (userRoles.EmployeeMp.value ||\r\n userRoles.EmployeeApprrr.value ||\r\n userRoles.MpAdminFarmer.value ||\r\n // userRoles.MpAdminFisherman.value ||\r\n // userRoles.MpAdminFisherman.value ||\r\n userRoles.MpSuperAdmin.value) && (\r\n <>\r\n
    \r\n \r\n {userRoles.EmployeeMp.label}\r\n
    \r\n }\r\n />\r\n \r\n
    \r\n \r\n {userRoles.EmployeeApprrr.label}\r\n
    \r\n }\r\n />\r\n \r\n\r\n
    \r\n \r\n {userRoles.MpAdminFarmer.label}\r\n
    \r\n }\r\n />\r\n \r\n {/*
    \r\n \r\n {userRoles.MpAdminFisherman.label}\r\n
    \r\n }\r\n />\r\n */}\r\n
    \r\n \r\n {userRoles.MpSuperAdmin.label}\r\n
    \r\n }\r\n />\r\n \r\n \r\n )}\r\n\r\n {value ===\r\n (userRoles.EmployeeAdviser.value ||\r\n userRoles.AdviserAdminFarmer.value ||\r\n // userRoles.AdviserAdminFisherman.value ||\r\n userRoles.AdviserSuperAdmin.value) && (\r\n <>\r\n
    \r\n \r\n {userRoles.EmployeeAdviser.label}\r\n
    \r\n }\r\n />\r\n \r\n
    \r\n \r\n {userRoles.AdviserAdminFarmer.label}\r\n
    \r\n }\r\n />\r\n \r\n {/*
    \r\n \r\n {userRoles.AdviserAdminFisherman.label}\r\n
    \r\n }\r\n />\r\n */}\r\n
    \r\n \r\n {userRoles.AdviserSuperAdmin.label}\r\n
    \r\n }\r\n />\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport {\r\n MappedUserAccount,\r\n Notifications,\r\n updateUserRoles,\r\n} from \"modules/dashboard\";\r\nimport { Button } from \"../Button\";\r\nimport { RolesList } from \"../RolesList\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Can } from \"modules/auth\";\r\n\r\ninterface Props {\r\n userInfo: MappedUserAccount;\r\n onDeactivateClick: (uid: string, userType: number) => void;\r\n}\r\n\r\nexport const UserInfo: React.FC = ({\r\n userInfo: {\r\n uid,\r\n userType,\r\n legalEntityName,\r\n mibpg,\r\n street,\r\n streetNumber,\r\n postalNumber,\r\n city,\r\n county,\r\n country,\r\n phoneNumber,\r\n email,\r\n notificationType,\r\n infoType,\r\n roleType,\r\n },\r\n onDeactivateClick,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const [accountRole, setAccountRole] = useState(roleType);\r\n\r\n const updateRoles = useCallback(\r\n (id: string, role: number, userType: number) => {\r\n dispatch(updateUserRoles(id, role, userType));\r\n },\r\n [dispatch]\r\n );\r\n\r\n const handleAccountRoleChange = (\r\n event: React.ChangeEvent\r\n ) => {\r\n const { value } = event.target;\r\n const valueNumb = parseInt(value);\r\n\r\n setAccountRole(valueNumb);\r\n updateRoles(uid, valueNumb, userType?.value ?? 0);\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n Naziv\r\n {legalEntityName}\r\n
    \r\n
    \r\n Mibpg\r\n {mibpg}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Adresa\r\n \r\n {street} {streetNumber}\r\n \r\n \r\n {postalNumber} {city}\r\n \r\n
    \r\n
    \r\n {county}\r\n {country}\r\n
    \r\n
    \r\n Broj mobitela\r\n {phoneNumber}\r\n
    \r\n
    \r\n E-mail adresa\r\n {email}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Način obavještavanja\r\n \r\n
    \r\n
    \r\n Predbilježbe na obavijesti\r\n {infoType.map((v, index) => (\r\n \r\n {v}\r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Uloge\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n onDeactivateClick(uid, userType?.value ?? 0)}\r\n >\r\n Deaktiviraj korisnika\r\n \r\n
    \r\n Deaktivacijom korisnika deaktivira se korisnički račun na sustavu\r\n e-Savjetnik\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n width: string;\r\n height: string;\r\n className?: string;\r\n}\r\nexport const SkeletonText: React.FC = ({ width, height, className }) => {\r\n return (\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\n\r\nimport { SkeletonText } from \"../SkeletonText\";\r\n\r\ninterface Props {}\r\n\r\nexport const UserInfoLoading: React.FC = () => {\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\n \r\n {[...new Array(4)].map((_item, index) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n {[...new Array(4)].map((_item, index) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {[...new Array(4)].map((_item, index) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { Checkbox } from \"../Checkbox\";\r\n\r\ninterface Props {\r\n checked: boolean;\r\n size: \"base\" | \"small\";\r\n htmlFor: string;\r\n text: React.ReactNode;\r\n isDisabled?: boolean;\r\n className?: string;\r\n value: string;\r\n onChange: (event: React.ChangeEvent) => void;\r\n}\r\n\r\nexport const RadioInput: React.FC = ({\r\n checked,\r\n className,\r\n value,\r\n htmlFor,\r\n size,\r\n text,\r\n isDisabled,\r\n onChange,\r\n}) => {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n","import { userRoles } from \"modules/common\";\r\nimport React from \"react\";\r\nimport { Filter, RadioInput } from \"../\";\r\n\r\ninterface Props {\r\n onChange: (event: React.ChangeEvent) => void;\r\n onClick: (event: React.MouseEvent) => void;\r\n onClear: (event: React.MouseEvent) => void;\r\n isActive: boolean;\r\n showDropdown: boolean;\r\n value: number;\r\n title?: string;\r\n}\r\n\r\nexport const RoleFilterSingle: React.FC = ({\r\n onChange,\r\n onClick,\r\n onClear,\r\n isActive,\r\n showDropdown,\r\n value,\r\n title,\r\n}) => {\r\n return (\r\n \r\n {/* \r\n */}\r\n
    \r\n {userRoles.Citizen.label}
    \r\n }\r\n />\r\n
    \r\n
    \r\n {userRoles.Farmer.label}
    \r\n }\r\n />\r\n
    \r\n {/*
    \r\n \r\n {userRoles.Fisherman.label}\r\n
    \r\n }\r\n />\r\n
    */}\r\n
    \r\n \r\n {userRoles.EmployeeMp.label}\r\n
    \r\n }\r\n />\r\n
    \r\n
    \r\n \r\n {userRoles.EmployeeApprrr.label}\r\n
    \r\n }\r\n />\r\n
    \r\n
    \r\n \r\n {userRoles.EmployeeAdviser.label}\r\n
    \r\n }\r\n />\r\n
    \r\n
    \r\n \r\n {userRoles.MpAdminFarmer.label}\r\n
    \r\n }\r\n />\r\n
    \r\n {/*
    \r\n \r\n {userRoles.MpAdminFisherman.label}\r\n
    \r\n }\r\n />\r\n
    */}\r\n
    \r\n \r\n {userRoles.MpSuperAdmin.label}\r\n
    \r\n }\r\n />\r\n \r\n
    \r\n \r\n {userRoles.AdviserAdminFarmer.label}\r\n
    \r\n }\r\n />\r\n \r\n {/*
    \r\n \r\n {userRoles.AdviserAdminFisherman.label}\r\n
    \r\n }\r\n />\r\n */}\r\n
    \r\n \r\n {userRoles.AdviserSuperAdmin.label}\r\n
    \r\n }\r\n />\r\n \r\n \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0.5C9.48336 0.5 10.9334 0.939868 12.1668 1.76398C13.4001 2.58809 14.3614 3.75943 14.9291 5.12987C15.4968 6.50032 15.6453 8.00832 15.3559 9.46318C15.0665 10.918 14.3522 12.2544 13.3033 13.3033C12.2544 14.3522 10.918 15.0665 9.46318 15.3559C8.00832 15.6453 6.50032 15.4968 5.12987 14.9291C3.75943 14.3614 2.58809 13.4001 1.76398 12.1668C0.939867 10.9334 0.5 9.48336 0.5 8\",\n stroke: \"#848D27\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.2,\n d: \"M8 15.5C6.51664 15.5 5.06659 15.0601 3.83322 14.236C2.59985 13.4119 1.63856 12.2406 1.0709 10.8701C0.503246 9.49968 0.354721 7.99168 0.64411 6.53682C0.9335 5.08197 1.64781 3.74559 2.6967 2.6967C3.74559 1.64781 5.08197 0.9335 6.53682 0.64411C7.99168 0.354721 9.49968 0.503246 10.8701 1.0709C12.2406 1.63856 13.4119 2.59985 14.236 3.83322C15.0601 5.06659 15.5 6.51664 15.5 8\",\n stroke: \"#848D27\"\n});\n\nfunction SvgSpinner(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSpinner);\nexport default __webpack_public_path__ + \"static/media/spinner.671ab127.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport { ReactComponent as Spinner } from \"assets/icons/spinner.svg\";\r\n\r\ninterface Props {\r\n className?: string;\r\n}\r\nexport const Loading: React.FC = ({ className }) => (\r\n
    \r\n \r\n
    \r\n);\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.05373 12.9463L12.9463 7.05371\",\n stroke: \"#A7A7A7\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.05373 7.05373L12.9463 12.9463\",\n stroke: \"#A7A7A7\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\"\n});\n\nfunction SvgCross(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCross);\nexport default __webpack_public_path__ + \"static/media/cross.beafa04a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 4.14286L3.90323 7L10 1\",\n stroke: \"#2DB561\",\n strokeWidth: 2\n});\n\nfunction SvgCheck(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 11,\n height: 9,\n viewBox: \"0 0 11 9\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheck);\nexport default __webpack_public_path__ + \"static/media/check.5f8e5bcd.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from \"react\";\r\nimport { ReactComponent as CrossIcon } from \"assets/icons/cross.svg\";\r\nimport { ReactComponent as CheckIcon } from \"assets/icons/check.svg\";\r\n\r\ninterface Props {\r\n checked: boolean;\r\n onChange: (event: React.ChangeEvent) => void;\r\n htmlFor: string;\r\n className?: string;\r\n value?: string;\r\n isDisabled?: boolean;\r\n}\r\n\r\nexport const ToggleSwitch: React.FC = ({\r\n checked,\r\n isDisabled,\r\n className,\r\n onChange,\r\n htmlFor,\r\n value,\r\n}) => {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n className?: string;\r\n}\r\nexport const ProfileInfo: React.FC = ({ children, className }) => {\r\n return (\r\n
    \r\n {children}\r\n
    \r\n );\r\n};\r\n","import { formErrorMessages, isValidMobile } from 'modules/auth';\nimport { Button, Input, phoneRegex } from 'modules/common';\nimport {\n getCounties,\n getSettlementsByCountyId,\n updateAccountMetadata,\n updateMobileNumber,\n} from 'modules/dashboard';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { CountyResponse, SettlementResponse } from 'services';\nimport { RootState } from 'store';\nimport { Dropdown } from '../Dropdown';\nimport { ProfileInfo } from './ProfileInfo';\n\ninterface FormData {\n county: CountyResponse;\n settlement: SettlementResponse;\n postalNumber: string;\n street: string;\n streetNumber: string;\n mobileNumber: string;\n}\n\ninterface Settlement {\n value: string;\n label: string;\n}\nconst settlementInitialValue: SettlementResponse = {\n id: null,\n name: '',\n postOffice: '',\n postalNumber: '',\n};\n\nexport const ProfileInfoCitizenForm: React.FC = () => {\n const dispatch = useDispatch();\n const { profile } = useSelector((state: RootState) => state.profile);\n const { counties, settlements, isLoading } = useSelector(\n (state: RootState) => state.address\n );\n const [isFormChanged, setIsFormChanged] = useState(false);\n\n // Create model and update\n const [state, setState] = useState({\n county: {\n id: Number(profile?.countyId) || null,\n name: profile?.county || '',\n valueName: profile?.county || '',\n },\n settlement: {\n id: Number(profile?.settlementId) || null,\n name: profile?.settlement || '',\n postOffice: '',\n postalNumber: profile?.postalNumber || '',\n },\n postalNumber: profile?.postalNumber || '',\n street: !!profile?.street.length ? `${profile?.street}`: '',\n streetNumber: !!profile?.streetNumber.length ? `${profile?.streetNumber}` : '',\n mobileNumber: profile?.mobileNumber || '',\n });\n const [formErrors, setFormErrors] = useState>({});\n\n /**\n * Create options list for counties\n * Create one function for counties and settlements\n */\n const countyList = counties.map((county) => {\n const item = {\n label: county.name,\n value: county.valueName,\n };\n\n return item;\n });\n\n /**\n * Create options list for settlements\n * Create one function for counties and settlements\n */\n const settlementList = settlements.map((settlement) => {\n const item = {\n label: settlement.name,\n value: settlement.name,\n };\n\n return item;\n });\n\n /** Create one function for react-select onChange */\n function onCountyChange(data: { label: string; value: string } | null) {\n const selectedCounty = counties?.find((i) => i.valueName === data?.value);\n\n if (!selectedCounty || !selectedCounty.id) {\n return;\n }\n\n setState({\n ...state,\n county: selectedCounty,\n settlement: settlementInitialValue,\n postalNumber: \"\"\n });\n\n dispatch(getSettlementsByCountyId(selectedCounty.id));\n }\n\n /** Create one function for react-select onChange */\n function onSettlementChange(data: { label: string; value: string } | null) {\n const selectedSettlement = settlements.find((i) => i.name === data?.value);\n\n if (!selectedSettlement) {\n return;\n }\n\n setState({\n ...state,\n settlement: selectedSettlement,\n postalNumber: selectedSettlement.postalNumber,\n });\n }\n\n const handleInputChange = (event: React.ChangeEvent) => {\n const { value, name } = event.target;\n setState((prev) => ({\n ...prev,\n [name]: value,\n }));\n };\n\n function onSubmit() {\n if (!phoneRegex.test(state.mobileNumber) && !!state.mobileNumber.length)\n return;\n if (\n state.mobileNumber !== profile?.mobileNumber ||\n !formErrors['mobileNumber']\n ) {\n dispatch(updateMobileNumber(state.mobileNumber));\n }\n\n if (!state.county.id || !state.settlement.id) return;\n\n // Update with new metadata payload\n dispatch(\n updateAccountMetadata({\n countyId: state.county.id,\n postalNumber: state.settlement.postalNumber,\n settlementId: state.settlement.id,\n street: state.street,\n streetNumber: state.streetNumber,\n })\n );\n }\n\n useEffect(() => {\n if (!profile) return;\n\n const profileAddressCheck = `${profile.street\n .replaceAll(' ', '')\n .toLowerCase()}${profile.streetNumber.replaceAll(' ', '').toLowerCase()}`;\n\n if (\n state.street.replaceAll(' ', '').toLowerCase() !== profileAddressCheck ||\n state.streetNumber.replaceAll(' ', '').toLowerCase() ||\n state.county.name !== profile.county ||\n state.mobileNumber !== profile.mobileNumber ||\n state.postalNumber !== profile.postalNumber ||\n state.settlement.name !== profile.settlement\n ) {\n setIsFormChanged(true);\n return;\n }\n\n setIsFormChanged(false);\n }, [state]);\n\n return (\n \n \n
    \n dispatch(getCounties())}\n id=\"county\"\n maxMenuHeight={170}\n size=\"large\"\n isValid={true}\n errorMessage=\"\"\n noOptionsMessage={() => 'Nema podataka'}\n options={countyList}\n isSearchable\n onChange={onCountyChange}\n placeholder=\"\"\n value={{\n value: state.county.name,\n label: state.county.name.toUpperCase(),\n }}\n />\n
    \n \n
    \n 'Molimo odaberite mjesto'}\n options={settlementList.sort((a: Settlement, b: Settlement) => {\n return a.label.localeCompare(b.label)\r\n })}\n onChange={onSettlementChange}\n isSearchable\n placeholder=\"\"\n value={{ value: state.settlement.name, label: state.settlement.name }}\n />\n
    \n \n
    \n \n
    \n \n
    \n \n
    \n \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n Spremi izmjene\n \n
    \n
    \n );\n};\n","import { formErrorMessages, isValidMobile } from \"modules/auth\";\r\nimport { Button, Input, ProfileInfo } from \"modules/common\";\r\nimport { updateMobileNumber } from \"modules/dashboard\";\r\nimport React, { useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { RootState } from \"store\";\r\n\r\nexport const ProfileInfoForm: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const { profile } = useSelector((state: RootState) => state.profile);\r\n\r\n const [state, setState] = useState<{\r\n mobileNumber: string | undefined;\r\n }>({\r\n mobileNumber: undefined,\r\n });\r\n const [formErrors, setFormErrors] = useState>({});\r\n\r\n const handleInputChange = (event: React.ChangeEvent) => {\r\n const { value, name } = event.target;\r\n setState((prev) => ({\r\n ...prev,\r\n [name]: value,\r\n }));\r\n };\r\n\r\n const clearFormError = (field: string) => {\r\n const filtered = Object.keys(formErrors)\r\n .filter((key) => key !== field)\r\n .reduce((obj, key) => {\r\n return {\r\n ...obj,\r\n [key]: formErrors[key],\r\n };\r\n }, {});\r\n setFormErrors({ ...filtered });\r\n };\r\n\r\n const handlePhoneBlur = (event: React.FocusEvent) => {\r\n const { value, name } = event.target;\r\n\r\n if (!isValidMobile(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.invalidPhone,\r\n }));\r\n return;\r\n }\r\n\r\n clearFormError(name);\r\n };\r\n\r\n function onSubmit() {\r\n if (\r\n state.mobileNumber !== profile?.mobileNumber ||\r\n !formErrors[\"mobileNumber\"]\r\n ) {\r\n dispatch(updateMobileNumber(state.mobileNumber ?? ''));\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 Spremi izmjene\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.9997 17.891C12.2708 17.891 12.4906 17.6712 12.4906 17.4001C12.4906 17.129 12.2708 16.9092 11.9997 16.9092C11.7286 16.9092 11.5088 17.129 11.5088 17.4001C11.5088 17.6712 11.7286 17.891 11.9997 17.891Z\",\n fill: \"#848D27\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.0002 22.8002C17.9649 22.8002 22.8002 17.9649 22.8002 12.0002C22.8002 6.03552 17.9649 1.2002 12.0002 1.2002C6.03552 1.2002 1.2002 6.03552 1.2002 12.0002C1.2002 17.9649 6.03552 22.8002 12.0002 22.8002Z\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 6.10889V13.9634\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.9997 17.891C12.2708 17.891 12.4906 17.6712 12.4906 17.4001C12.4906 17.129 12.2708 16.9092 11.9997 16.9092C11.7286 16.9092 11.5088 17.129 11.5088 17.4001C11.5088 17.6712 11.7286 17.891 11.9997 17.891Z\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n});\n\nfunction SvgExclamationCircle(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgExclamationCircle);\nexport default __webpack_public_path__ + \"static/media/exclamation_circle.a822cf44.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport { ReactComponent as ExclamationCircleIcon } from \"assets/icons/exclamation_circle.svg\";\r\n\r\ninterface Props {\r\n text: string;\r\n}\r\nexport const InfoNote: React.FC = ({ text }) => {\r\n return (\r\n
    \r\n \r\n

    {text}

    \r\n
    \r\n );\r\n};\r\n\r\n/* E-mail obavještavanje je podešeno pod standardno, ukoliko isključite\r\nsve opcije nećete moći primati pravovremeno obavijesti o novostima i\r\nvašim obavezama. */\r\n","import { ProfileInfo } from \"modules/common\";\r\nimport * as React from \"react\";\r\n\r\nimport { SkeletonText } from \"../SkeletonText\";\r\n\r\ninterface Props {}\r\n\r\nexport const ProfileSkeleton: React.FC = () => {\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\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 {[...new Array(8)].map((_item, index) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {[...new Array(8)].map((_item, index) => (\r\n \r\n ))}\r\n
    \r\n \r\n
    \r\n {[...new Array(4)].map((_item, index) => (\r\n \r\n ))}\r\n
    \r\n \r\n
    \r\n {[...new Array(6)].map((_item, index) => (\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","import { ReactComponent as ArrowLeftIcon } from \"assets/icons/arrow-left.svg\";\r\nimport { ReactComponent as ArrowRightIcon } from \"assets/icons/arrow-right.svg\";\r\nimport getMonth from \"date-fns/getMonth\";\r\nimport getYear from \"date-fns/getYear\";\r\nimport add from \"date-fns/add\";\r\n\r\nconst MONTHS = [\r\n { label: \"Siječanj\", value: 0 },\r\n { label: \"Veljača\", value: 1 },\r\n { label: \"Ožujak\", value: 2 },\r\n { label: \"Travanj\", value: 3 },\r\n { label: \"Svibanj\", value: 4 },\r\n { label: \"Lipanj\", value: 5 },\r\n { label: \"Srpanj\", value: 6 },\r\n { label: \"Kolovoz\", value: 7 },\r\n { label: \"Rujan\", value: 8 },\r\n { label: \"Listopad\", value: 9 },\r\n { label: \"Studeni\", value: 10 },\r\n { label: \"Prosinac\", value: 11 },\r\n];\r\n\r\nconst findMonth = (val: number) => MONTHS.find((m) => m.value === val);\r\n\r\nexport function Navbar(props: any) {\r\n const currentDate = `${findMonth(getMonth(props.month))?.label} ${getYear(\r\n props.month\r\n )}`;\r\n\r\n const nextDate = `${\r\n findMonth(getMonth(add(props.month, { months: 1 })))?.label\r\n } ${getYear(props.nextMonth)}`;\r\n return (\r\n
    \r\n props.onPreviousClick()}\r\n />\r\n
    \r\n {currentDate}\r\n {nextDate}\r\n
    \r\n props.onNextClick()}\r\n />\r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport const DateSideControls: React.FC = ({ children }) => {\r\n return
    {children}
    ;\r\n};\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport DayPickerInput from \"react-day-picker/DayPickerInput\";\r\nimport sub from \"date-fns/sub\";\r\nimport startOfWeek from \"date-fns/startOfWeek\";\r\nimport endOfWeek from \"date-fns/endOfWeek\";\r\nimport startOfMonth from \"date-fns/startOfMonth\";\r\nimport endOfMonth from \"date-fns/endOfMonth\";\r\nimport startOfQuarter from \"date-fns/startOfQuarter\";\r\nimport endOfQuarter from \"date-fns/endOfQuarter\";\r\nimport subQuarters from \"date-fns/subQuarters\";\r\nimport { ReactComponent as CalendarIcon } from \"assets/icons/calendar.svg\";\r\nimport { ReactComponent as ChevronIcon } from \"assets/icons/chevron.svg\";\r\nimport { Input } from \"..\";\r\nimport { Navbar } from \"./Navbar\";\r\nimport \"../../../../css/rangeDatePicker.component.css\";\r\nimport { DayModifiers, Modifiers } from \"react-day-picker\";\r\nimport { DateSideControls } from \"./DateSideControls\";\r\nimport { format } from \"date-fns\";\r\ninterface Props {\r\n onClick: (\r\n day: Date,\r\n modifiers: DayModifiers,\r\n e: React.MouseEvent\r\n ) => void;\r\n selectedDays: {\r\n from: Date;\r\n to: Date;\r\n };\r\n modifiers: Partial | undefined;\r\n updateRange: (from: Date, to: Date) => void;\r\n}\r\nconst DateInput = React.forwardRef((props: any, ref) => {\r\n return (\r\n }\r\n rightIcon={}\r\n />\r\n );\r\n});\r\n\r\nconst WEEKDAYS_SHORT = [\"Ned\", \"Pon\", \"Uto\", \"Sri\", \"Čet\", \"Pet\", \"Sub\"];\r\nconst firstDayOfWeek = {\r\n hr: 1,\r\n};\r\n\r\nexport const RangeDatePicker: React.FC = ({\r\n onClick,\r\n selectedDays,\r\n modifiers,\r\n updateRange,\r\n}) => {\r\n const [showOverlay, setShowOverlay] = useState(false);\r\n const [selectedControl, setSelectedControl] = useState(0);\r\n const dateRangeContainerRef = useRef(null);\r\n const dateRangeRef = useRef(null);\r\n const today = new Date();\r\n\r\n const handleClick = (e: any) => {\r\n const dayPickerNode = dateRangeContainerRef.current;\r\n\r\n if (dayPickerNode && !dayPickerNode.contains(e.target)) {\r\n dateRangeRef.current?.hideDayPicker();\r\n return;\r\n }\r\n\r\n setShowOverlay(true);\r\n };\r\n\r\n const setToday = (e: React.MouseEvent) => {\r\n const { id } = e.currentTarget;\r\n\r\n setSelectedControl(parseInt(id));\r\n updateRange(today, today);\r\n };\r\n\r\n const setYesterday = (e: React.MouseEvent) => {\r\n const { id } = e.currentTarget;\r\n setSelectedControl(parseInt(id));\r\n const yesterday = sub(today, { days: 1 });\r\n updateRange(yesterday, yesterday);\r\n };\r\n\r\n const setCurrentWeek = (e: React.MouseEvent) => {\r\n const { id } = e.currentTarget;\r\n setSelectedControl(parseInt(id));\r\n const weekStart = startOfWeek(today, { weekStartsOn: 1 });\r\n const weekEnd = endOfWeek(today, { weekStartsOn: 1 });\r\n updateRange(weekStart, weekEnd);\r\n };\r\n\r\n const setLastWeek = (e: React.MouseEvent) => {\r\n const { id } = e.currentTarget;\r\n setSelectedControl(parseInt(id));\r\n const lastWeekDay = sub(today, { days: 7 });\r\n const lastWeekStart = startOfWeek(lastWeekDay, { weekStartsOn: 1 });\r\n const lastWeekEnd = endOfWeek(lastWeekDay, { weekStartsOn: 1 });\r\n updateRange(lastWeekStart, lastWeekEnd);\r\n };\r\n\r\n const setCurrentMonth = (\r\n e: React.MouseEvent\r\n ) => {\r\n const { id } = e.currentTarget;\r\n setSelectedControl(parseInt(id));\r\n const currentMonthStart = startOfMonth(today);\r\n const currentMonthEnd = endOfMonth(today);\r\n updateRange(currentMonthStart, currentMonthEnd);\r\n };\r\n\r\n const setLastMonth = (e: React.MouseEvent) => {\r\n const { id } = e.currentTarget;\r\n setSelectedControl(parseInt(id));\r\n const lastMonth = sub(today, { months: 1 });\r\n const lastMonthStart = startOfMonth(lastMonth);\r\n const lastMonthEnd = endOfMonth(lastMonth);\r\n\r\n updateRange(lastMonthStart, lastMonthEnd);\r\n };\r\n\r\n const setCurrentQuarter = (\r\n e: React.MouseEvent\r\n ) => {\r\n const { id } = e.currentTarget;\r\n setSelectedControl(parseInt(id));\r\n const currentQuarterStart = startOfQuarter(today);\r\n const currentQuarterEnd = endOfQuarter(today);\r\n updateRange(currentQuarterStart, currentQuarterEnd);\r\n };\r\n\r\n const setPreviousQuarter = (\r\n e: React.MouseEvent\r\n ) => {\r\n const { id } = e.currentTarget;\r\n setSelectedControl(parseInt(id));\r\n const prevQuarter = subQuarters(today, 1);\r\n const prevQuarterStart = startOfQuarter(prevQuarter);\r\n const prevQuarterEnd = endOfQuarter(prevQuarter);\r\n updateRange(prevQuarterStart, prevQuarterEnd);\r\n };\r\n\r\n const formatValue = (date: Date) => {\r\n return format(date, \"dd.MM.yy\");\r\n };\r\n\r\n const Overlay = ({ classNames, selectedDay, children, ...props }: any) => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n Danas\r\n \r\n \r\n Jučer\r\n \r\n \r\n Ovaj tjedan\r\n \r\n \r\n Prošli tjedan\r\n \r\n \r\n Ovaj mjesec\r\n \r\n \r\n Prošli mjesec\r\n \r\n \r\n Ovaj kvartal\r\n \r\n \r\n Prošli kvartal\r\n \r\n \r\n {children}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"mousedown\", handleClick);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClick);\r\n };\r\n }, []);\r\n\r\n return (\r\n
    \r\n setShowOverlay(true)}\r\n onDayPickerHide={() => setShowOverlay(false)}\r\n showOverlay={showOverlay}\r\n dayPickerProps={{\r\n navbarElement: ,\r\n className: \"Range\",\r\n locale: \"hr\",\r\n numberOfMonths: 2,\r\n weekdaysShort: WEEKDAYS_SHORT,\r\n firstDayOfWeek: firstDayOfWeek[\"hr\"],\r\n modifiers: modifiers,\r\n onDayClick: onClick,\r\n selectedDays: selectedDays,\r\n }}\r\n />\r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { ChartOptions } from \"chart.js\";\r\nimport { Doughnut } from \"react-chartjs-2\";\r\n\r\ninterface Props {\r\n label: string;\r\n value: string;\r\n data: number[];\r\n options: ChartOptions;\r\n}\r\nexport const DoughnutChart: React.FC = ({\r\n label,\r\n value,\r\n data,\r\n options,\r\n}) => {\r\n return (\r\n
    \r\n \r\n
    \r\n {value}\r\n

    {label}

    \r\n
    \r\n
    \r\n );\r\n};\r\n","import { ChartOptions } from \"chart.js\";\r\n\r\nexport const subscriptionChartOptions: ChartOptions = {\r\n legend: {\r\n display: false,\r\n },\r\n tooltips: {\r\n enabled: false,\r\n },\r\n elements: {\r\n arc: {\r\n borderWidth: 0,\r\n backgroundColor: [\r\n \"#EA776B\",\r\n \"#F6BC76\",\r\n \"#29D0DB\",\r\n \"#6458EF\",\r\n \"#E263E4\",\r\n \"#CDE72A\",\r\n ],\r\n },\r\n },\r\n responsive: false,\r\n cutoutPercentage: 75,\r\n};\r\n\r\nexport const regisrationChartOptions: ChartOptions = {\r\n legend: {\r\n display: false,\r\n },\r\n tooltips: {\r\n enabled: false,\r\n },\r\n elements: {\r\n arc: {\r\n borderWidth: 0,\r\n backgroundColor: [\"#EA776B\", \"#6458EF\", \"#CDE72A\"],\r\n },\r\n },\r\n responsive: false,\r\n cutoutPercentage: 75,\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n title: string;\r\n className?: string;\r\n}\r\nexport const StatisticsContainer: React.FC = ({\r\n children,\r\n title,\r\n className,\r\n}) => {\r\n return (\r\n
    \r\n
    {title}
    \r\n {children}\r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n numberOfRegistered: number;\r\n numberOfSignedIn: number;\r\n}\r\nexport const UsersStats: React.FC = ({\r\n numberOfRegistered,\r\n numberOfSignedIn,\r\n}) => {\r\n return (\r\n
    \r\n
    \r\n {numberOfRegistered}\r\n

    Registriranih

    \r\n
    \r\n
    \r\n {numberOfSignedIn}\r\n

    Prijavljenih

    \r\n
    \r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n className?: string;\r\n}\r\nexport const StatisticsContent: React.FC = ({ children, className }) => {\r\n return (\r\n
    {children}
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { HeaderGroup } from \"react-table\";\r\n\r\ninterface Props {\r\n headerGroups: HeaderGroup[];\r\n}\r\nexport const TableHeader: React.FC = ({ headerGroups }) => {\r\n return (\r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column: any) => {\r\n if (Number(column.id) === 2) {\r\n return (\r\n \r\n \r\n
    \r\n {column.render(\"Header\")}\r\n \r\n \r\n );\r\n }\r\n\r\n if (Number(column.id) === 3) {\r\n return (\r\n \r\n \r\n
    \r\n {column.render(\"Header\")}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {column.render(\"Header\")}\r\n \r\n );\r\n })}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Row, TableBodyPropGetter, TableBodyProps } from \"react-table\";\r\n\r\ninterface Props {\r\n getTableBodyProps: (\r\n propGetter?: TableBodyPropGetter\r\n ) => TableBodyProps;\r\n rows: Row[];\r\n prepareRow: (row: Row) => void;\r\n}\r\nexport const TableBody: React.FC = ({\r\n getTableBodyProps,\r\n rows,\r\n prepareRow,\r\n}) => {\r\n return (\r\n \r\n {rows.map((row, i) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n //web column\r\n if (Number(cell.column.id) === 2) {\r\n return (\r\n \r\n {cell.render(\"Cell\")}\r\n \r\n );\r\n }\r\n //mobile column\r\n if (Number(cell.column.id) === 3) {\r\n return (\r\n \r\n {cell.render(\"Cell\")}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {cell.render(\"Cell\")}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useTable } from \"react-table\";\r\nimport { TableHeader } from \"./TableHeader\";\r\nimport { TableBody } from \"./TableBody\";\r\n\r\ninterface Props {\r\n data: Array;\r\n columns: any;\r\n}\r\nexport const ModuleUsageTable: React.FC = ({ data, columns }) => {\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n rows,\r\n prepareRow,\r\n } = useTable({\r\n columns,\r\n data,\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n","export const mockModuleUsageData = [\r\n {\r\n label: \"Moje evidencije\",\r\n web: 1112,\r\n mobile: 3311,\r\n },\r\n {\r\n label: \"Edukacija\",\r\n web: 98,\r\n mobile: 123,\r\n },\r\n {\r\n label: \"Agroklimatske stanice\",\r\n web: 24111,\r\n mobile: 17098,\r\n },\r\n {\r\n label: \"Agrometeorologija\",\r\n web: 18001,\r\n mobile: 17223,\r\n },\r\n {\r\n label: \"Zaštita bilja\",\r\n web: 123312,\r\n mobile: 98020,\r\n },\r\n {\r\n label: \"Prezentacije\",\r\n web: 4321,\r\n mobile: 7432,\r\n },\r\n {\r\n label: \"Moj profil\",\r\n web: 1001,\r\n mobile: 340,\r\n },\r\n];\r\n","import { ChartOptions } from \"chart.js\";\r\n\r\nexport const chartOptions: ChartOptions = {\r\n legend: {\r\n display: false,\r\n },\r\n tooltips: {\r\n enabled: false,\r\n },\r\n scales: {\r\n xAxes: [\r\n {\r\n display: false,\r\n gridLines: {\r\n color: \"rgba(0, 0, 0, 0)\",\r\n },\r\n ticks: {\r\n min: 0, // Edit the value according to what you need\r\n },\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n display: false,\r\n gridLines: {\r\n color: \"rgba(0, 0, 0, 0)\",\r\n },\r\n stacked: false,\r\n },\r\n ],\r\n },\r\n elements: {\r\n rectangle: {\r\n borderWidth: 0,\r\n backgroundColor: [\"#377CC1\", \"#F3B618\"],\r\n },\r\n },\r\n responsive: false,\r\n maintainAspectRatio: false,\r\n};\r\n","import React from \"react\";\r\nimport { HorizontalBar } from \"react-chartjs-2\";\r\nimport { chartOptions } from \"./chartOptions\";\r\n\r\ninterface Props {\r\n data: number[];\r\n}\r\nexport const HorizontalBarChart: React.FC = ({ data }) => {\r\n return (\r\n \r\n );\r\n};\r\n","export const isEmpty = (value: string) => {\r\n return !value || value.length < 1;\r\n};\r\n","export const createObjectUrl = (\r\n fileAsByteArray: string,\r\n contentType: string,\r\n title: string,\r\n extension: string\r\n) => {\r\n const binaryString = window.atob(fileAsByteArray);\r\n const bytes = new Uint8Array(binaryString.length);\r\n const base64ToArrayBuffer = bytes.map((_, i) => binaryString.charCodeAt(i));\r\n\r\n const blob = new Blob([base64ToArrayBuffer], {\r\n type: contentType,\r\n });\r\n const fileName = `${title}${extension}`;\r\n const url = URL.createObjectURL(blob);\r\n\r\n return {\r\n fileName,\r\n url,\r\n blob,\r\n };\r\n};\r\n","import React, { useEffect } from \"react\";\r\n\r\nexport function useOutsideClick(\r\n ref: React.RefObject | null,\r\n handler: () => void\r\n) {\r\n useEffect(() => {\r\n function handleClickOutside(event: MouseEvent) {\r\n if (ref && ref.current && !ref.current.contains(event.target as Node)) {\r\n handler();\r\n }\r\n }\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [handler, ref]);\r\n}\r\n","import { useEffect } from \"react\"\r\n\r\nexport function useTitle(title: string) {\r\n\tuseEffect(() => {\r\n\t\tconst prevTitle = document.title\r\n\t\tdocument.title = title\r\n\t\treturn () => {\r\n\t\t\tdocument.title = prevTitle\r\n\t\t}\r\n\t})\r\n}","import {\r\n actionTypes,\r\n CountyFilterFields,\r\n infoTypes,\r\n notificationTypes,\r\n userRoles,\r\n userTypes,\r\n} from \"modules/common\";\r\n\r\nexport const mapUserRoles = (role: number) =>\r\n Object.values(userRoles).find((obj) => role === obj.value);\r\n\r\nexport const mapSingleRole = (role: number) =>\r\n Object.values(userRoles).find((obj) => obj.value === role);\r\n\r\nexport const mapCounty = (county: number) =>\r\n Object.values(CountyFilterFields).find((o) => o.value === county);\r\n\r\nexport const mapUserType = (userType: number) =>\r\n Object.values(userTypes).find((o) => o.value === userType);\r\n\r\nexport const mapNotifications = (notificationType: number[]) =>\r\n Object.values(notificationTypes)\r\n .filter((o) => notificationType.includes(o.value))\r\n .map((s) => s.label);\r\n\r\nexport const mapSubscriptions = (subscriptions: number[]) =>\r\n Object.values(infoTypes)\r\n .filter((o) => subscriptions.includes(o.value))\r\n .map((s) => s.label);\r\n\r\nexport const mapApplicationAction = (action: number) =>\r\n Object.values(actionTypes).find((obj) => obj.value === action);\r\n\r\nexport const mapApplicationType = (application: number) =>\r\n Object.values(mapApplicationType).find((obj) => obj.value === application);\r\n","import { UserActivity } from \"services\";\r\nimport {\r\n mapApplicationAction,\r\n mapApplicationType,\r\n mapSingleRole,\r\n} from \"./mappingUtils\";\r\n\r\nexport const mapUserActivites = (activities: UserActivity[]) => {\r\n return activities.map((a) => {\r\n const role = mapSingleRole(a.userRole);\r\n const action = mapApplicationAction(a.userAction);\r\n const application = mapApplicationType(a.application);\r\n return {\r\n ...a,\r\n userAction: action?.label ?? \"\",\r\n userRole: role?.label ?? \"\",\r\n application: application?.label ?? \"\",\r\n };\r\n });\r\n};\r\n","import { UserAccount } from \"services\";\r\nimport {\r\n mapCounty,\r\n mapNotifications,\r\n mapSubscriptions,\r\n mapUserType,\r\n} from \"./mappingUtils\";\r\n\r\nexport const mapUserAccount = (userAccount: UserAccount) => {\r\n //const roles = mapUserRoles(userAccount.roleType);\r\n const county = mapCounty(userAccount.countyId);\r\n const userType = mapUserType(userAccount.userType);\r\n const notifications = mapNotifications(userAccount.notificationType);\r\n const subscriptions = mapSubscriptions(userAccount.infoType);\r\n\r\n return {\r\n uid: userAccount.uid ?? \"\",\r\n mibpg: userAccount.mibpg ?? \"\",\r\n email: userAccount.email ?? \"\",\r\n username: userAccount.username ?? \"\",\r\n legalEntityName: userAccount.legalEntityName ?? \"\",\r\n firstName: userAccount.firstName ?? \"\",\r\n lastName: userAccount.lastName ?? \"\",\r\n street: userAccount.street ?? \"\",\r\n streetNumber: userAccount.streetNumber ?? \"\",\r\n postalNumber: userAccount.postalNumber ?? \"\",\r\n city: userAccount.city ?? \"\",\r\n country: userAccount.country ?? \"\",\r\n phoneNumber: userAccount.phoneNumber ?? \"\",\r\n county: county?.label ?? \"\",\r\n roleType: userAccount.roleType,\r\n userType,\r\n notificationType: notifications,\r\n infoType: subscriptions,\r\n };\r\n};\r\n\r\nexport type MappedUserAccount = ReturnType;\r\n","import { UserAccount } from \"services\";\r\nimport { mapCounty, mapUserRoles, mapUserType } from \"./mappingUtils\";\r\n\r\nexport const mapUserProfile = (userAccount: UserAccount) => {\r\n const role = mapUserRoles(userAccount.roleType);\r\n const county = mapCounty(userAccount.countyId);\r\n const userType = mapUserType(userAccount.userType);\r\n\r\n return {\r\n uid: userAccount.uid ?? \"\",\r\n mibpg: userAccount.mibpg ?? \"\",\r\n email: userAccount.email ?? \"\",\r\n username: userAccount.username ?? \"\",\r\n legalEntityName: userAccount.legalEntityName ?? \"\",\r\n firstName: userAccount.firstName ?? \"\",\r\n lastName: userAccount.lastName ?? \"\",\r\n street: userAccount.street ?? \"\",\r\n streetNumber: userAccount.streetNumber ?? \"\",\r\n postalNumber: userAccount.postalNumber ?? \"\",\r\n city: userAccount.city ?? \"\",\r\n settlement: userAccount.settlement ?? \"\",\r\n settlementId: userAccount.settlementId ?? \"\",\r\n country: userAccount.country ?? \"\",\r\n phoneNumber: userAccount.phoneNumber ?? \"\",\r\n mobileNumber: userAccount.mobileNumber ?? \"\",\r\n county: county?.label ?? \"\",\r\n countyId: county?.value ?? \"\",\r\n roleType: role,\r\n userType,\r\n notificationType: userAccount.notificationType,\r\n infoType: userAccount.infoType,\r\n members: userAccount.members,\r\n };\r\n};\r\n\r\nexport type MappedUserProfile = ReturnType;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { AccountDashboardData, AccountDashboardDataResponse } from \"services\";\r\n\r\ninterface State {\r\n isFetching: boolean;\r\n fetchError: boolean;\r\n fetchSuccess: boolean;\r\n errorMessage: string;\r\n data: AccountDashboardData | null;\r\n}\r\n\r\ninterface RequestError {\r\n errorMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isFetching: false,\r\n fetchError: false,\r\n fetchSuccess: false,\r\n errorMessage: \"\",\r\n data: null,\r\n};\r\n\r\nconst dashboardDataSlice = createSlice({\r\n name: \"DashboardData\",\r\n initialState: initialState,\r\n reducers: {\r\n getDashboardDataRequest: (state) => {\r\n state.isFetching = true;\r\n },\r\n getDashboardDataSuccess: (state, action: PayloadAction) => {\r\n state.isFetching = false;\r\n state.fetchSuccess = true;\r\n state.data = action.payload.data;\r\n },\r\n getDashboardDataError: (state, action: PayloadAction) => {\r\n state.isFetching = false;\r\n state.fetchError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = dashboardDataSlice;\r\n\r\nexport const {\r\n getDashboardDataError,\r\n getDashboardDataRequest,\r\n getDashboardDataSuccess,\r\n} = actions;\r\n\r\nexport const dashboardDataReducer = dashboardDataSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { MappedUserAccounts } from \"modules/dashboard\";\r\n\r\ninterface State {\r\n isFetchingAccountList: boolean;\r\n fetchError: boolean;\r\n fetchSuccess: boolean;\r\n errorMessage: string;\r\n data: MappedUserAccounts | null;\r\n userAccountCount: number;\r\n}\r\n\r\ninterface GetUserAccountsSuccess {\r\n userAccounts: MappedUserAccounts;\r\n userAccountCount: number;\r\n}\r\n\r\ninterface RequestError {\r\n errorMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isFetchingAccountList: false,\r\n fetchError: false,\r\n fetchSuccess: false,\r\n errorMessage: \"\",\r\n data: null,\r\n userAccountCount: 0,\r\n};\r\n\r\nconst accountListSlice = createSlice({\r\n name: \"AccountList\",\r\n initialState: initialState,\r\n reducers: {\r\n getAccountListRequest: (state) => {\r\n state.isFetchingAccountList = true;\r\n },\r\n getAccountListSuccess: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isFetchingAccountList = false;\r\n state.fetchSuccess = true;\r\n state.data = action.payload.userAccounts;\r\n state.userAccountCount = action.payload.userAccountCount;\r\n },\r\n getAccountListError: (state, action: PayloadAction) => {\r\n state.isFetchingAccountList = false;\r\n state.fetchError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = accountListSlice;\r\n\r\nexport const {\r\n getAccountListRequest,\r\n getAccountListSuccess,\r\n getAccountListError,\r\n} = actions;\r\n\r\nexport const accountListReducer = accountListSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\n\r\ninterface State {\r\n isDeactivating: boolean;\r\n deactivationSuccess: boolean;\r\n deactivationError: boolean;\r\n errorMessage: string;\r\n}\r\n\r\ninterface RequestError {\r\n errorMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isDeactivating: false,\r\n deactivationError: false,\r\n deactivationSuccess: false,\r\n errorMessage: \"\",\r\n};\r\n\r\nconst deactivateAccountSlice = createSlice({\r\n name: \"DeactivateAccount\",\r\n initialState: initialState,\r\n reducers: {\r\n deactivateAccountRequest: (state) => {\r\n state.isDeactivating = true;\r\n },\r\n deactivateAccountSuccess: (state) => {\r\n state.isDeactivating = false;\r\n state.deactivationSuccess = true;\r\n },\r\n deactivateAccountError: (state, action: PayloadAction) => {\r\n state.isDeactivating = false;\r\n state.deactivationError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = deactivateAccountSlice;\r\n\r\nexport const {\r\n deactivateAccountRequest,\r\n deactivateAccountSuccess,\r\n deactivateAccountError,\r\n} = actions;\r\n\r\nexport const deactivateAccountReducer = deactivateAccountSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\n\r\ninterface State {\r\n isDeactivating: boolean;\r\n deactivationSuccess: boolean;\r\n deactivationError: boolean;\r\n errorMessage: string;\r\n}\r\n\r\ninterface RequestError {\r\n errorMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isDeactivating: false,\r\n deactivationError: false,\r\n deactivationSuccess: false,\r\n errorMessage: \"\",\r\n};\r\n\r\nconst deactivateUserSlice = createSlice({\r\n name: \"DeactivateUser\",\r\n initialState: initialState,\r\n reducers: {\r\n deactivateUserRequest: (state) => {\r\n state.isDeactivating = true;\r\n },\r\n deactivateUserSuccess: (state) => {\r\n state.isDeactivating = false;\r\n state.deactivationSuccess = true;\r\n },\r\n deactivateUserError: (state, action: PayloadAction) => {\r\n state.isDeactivating = false;\r\n state.deactivationError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = deactivateUserSlice;\r\n\r\nexport const {\r\n deactivateUserRequest,\r\n deactivateUserSuccess,\r\n deactivateUserError,\r\n} = actions;\r\n\r\nexport const deactivateUserReducer = deactivateUserSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { MappedUserProfile } from \"modules/dashboard/utils\";\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n isUpdating: boolean;\r\n isError: boolean;\r\n isSuccess: boolean;\r\n errorMessage: string;\r\n profile: MappedUserProfile | null;\r\n}\r\n\r\ninterface GetProfileSuccess {\r\n profile: any;\r\n}\r\ninterface RequestError {\r\n errorMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n isUpdating: false,\r\n isError: false,\r\n isSuccess: false,\r\n errorMessage: \"\",\r\n profile: null,\r\n};\r\n\r\nconst profileSlice = createSlice({\r\n name: \"Profile\",\r\n initialState: initialState,\r\n reducers: {\r\n getProfileRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n getProfileSuccess: (state, action: PayloadAction) => {\r\n state.isLoading = false;\r\n state.isSuccess = true;\r\n state.profile = action.payload.profile;\r\n },\r\n getProfileError: (state, action: PayloadAction) => {\r\n state.isLoading = false;\r\n state.isError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n updateProfileRequest: (state) => {\r\n state.isUpdating = true;\r\n },\r\n updateProfileSuccess: (state) => {\r\n state.isUpdating = false;\r\n state.isSuccess = true;\r\n },\r\n updateProfileError: (state) => {\r\n state.isUpdating = false;\r\n state.isError = true;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = profileSlice;\r\n\r\nexport const {\r\n getProfileRequest,\r\n getProfileSuccess,\r\n getProfileError,\r\n updateProfileRequest,\r\n updateProfileSuccess,\r\n updateProfileError,\r\n} = actions;\r\n\r\nexport const profileReducer = profileSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport {\r\n CityMunicipalityResponse,\r\n CountyResponse,\r\n SettlementResponse,\r\n} from \"services\";\r\n\r\n// create models out of Country and Settlement and add initial states\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n errorMessage: string;\r\n counties: CountyResponse[];\r\n settlements: SettlementResponse[];\r\n cityMunicipalities: CityMunicipalityResponse[];\r\n}\r\n\r\ninterface RequestError {\r\n errorMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n errorMessage: \"\",\r\n counties: [],\r\n settlements: [],\r\n cityMunicipalities: [],\r\n};\r\n\r\nconst addressSlice = createSlice({\r\n name: \"Profile\",\r\n initialState: initialState,\r\n reducers: {\r\n getCountiesRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n getCountiesSuccess: (\r\n state,\r\n action: PayloadAction<{ counties: CountyResponse[] }>\r\n ) => {\r\n state.isLoading = false;\r\n state.counties = action.payload.counties;\r\n },\r\n getCountiesError: (state, action: PayloadAction) => {\r\n state.isLoading = false;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n getSettlementsRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n getSettlementsSuccess: (\r\n state,\r\n action: PayloadAction<{ settlements: SettlementResponse[] }>\r\n ) => {\r\n state.isLoading = false;\r\n state.settlements = action.payload.settlements;\r\n },\r\n getSettlementsError: (state, action: PayloadAction) => {\r\n state.isLoading = false;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n getCityMunicipalitiesRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n getCityMunicipalitiesSuccess: (\r\n state,\r\n action: PayloadAction<{ municipalities: CityMunicipalityResponse[] }>\r\n ) => {\r\n state.isLoading = false;\r\n state.cityMunicipalities = action.payload.municipalities;\r\n },\r\n getCityMunicipalitiesError: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isLoading = false;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = addressSlice;\r\n\r\nexport const {\r\n getCountiesRequest,\r\n getCountiesSuccess,\r\n getCountiesError,\r\n getSettlementsRequest,\r\n getSettlementsSuccess,\r\n getSettlementsError,\r\n getCityMunicipalitiesRequest,\r\n getCityMunicipalitiesSuccess,\r\n getCityMunicipalitiesError,\r\n} = actions;\r\n\r\nexport const addressReducer = addressSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\n\r\ninterface State {\r\n isUpdatingRoles: boolean;\r\n roleUpdateSuccess: boolean;\r\n roleUpdateError: boolean;\r\n errorMessage: string;\r\n}\r\n\r\ninterface RequestError {\r\n errorMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n errorMessage: \"\",\r\n isUpdatingRoles: false,\r\n roleUpdateError: false,\r\n roleUpdateSuccess: false,\r\n};\r\n\r\nconst updateRolesSlice = createSlice({\r\n name: \"UpdateUserRole\",\r\n initialState: initialState,\r\n reducers: {\r\n updateRolesRequest: (state) => {\r\n state.isUpdatingRoles = true;\r\n },\r\n updateRolesSuccess: (state) => {\r\n state.isUpdatingRoles = false;\r\n state.roleUpdateSuccess = true;\r\n },\r\n updateRolesError: (state, action: PayloadAction) => {\r\n state.isUpdatingRoles = false;\r\n state.roleUpdateError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = updateRolesSlice;\r\n\r\nexport const {\r\n updateRolesRequest,\r\n updateRolesSuccess,\r\n updateRolesError,\r\n} = actions;\r\n\r\nexport const updateRolesReducer = updateRolesSlice.reducer;\r\n","import { buildAbilityFor, logOff, sessionCache } from \"modules/auth\";\r\nimport { toast } from \"react-toastify\";\r\nimport { mapUserAccounts } from \"modules/dashboard\";\r\nimport { mapUserAccount, mapUserProfile } from \"modules/dashboard/utils\";\r\nimport {\r\n getUserAccount,\r\n getUserAccounts,\r\n UserAccountsRequest,\r\n deleteUserAccount,\r\n updateRoles,\r\n getMyAccount,\r\n updateMyAccountSettings,\r\n updateMyAccountMobileNumber,\r\n getUserAccountDashboardData,\r\n deleteMyAccount,\r\n getAllCounties,\r\n getSettlements,\r\n getCityMunicipalities,\r\n updateMyAccountMetadata,\r\n UpdateMyAccountMetadataRequest,\r\n} from \"services\";\r\nimport { AppThunk } from \"store\";\r\nimport {\r\n getUserAccountRequest,\r\n getUserAccountSuccess,\r\n getUserAccountError,\r\n deactivateUserRequest,\r\n deactivateUserError,\r\n updateRolesRequest,\r\n getDashboardDataRequest,\r\n} from \".\";\r\nimport {\r\n getDashboardDataError,\r\n getDashboardDataSuccess,\r\n} from \"./accountDashboardDataSlice\";\r\nimport { getAccountListError, getAccountListSuccess } from \"./accountListSlice\";\r\nimport {\r\n deactivateAccountError,\r\n deactivateAccountRequest,\r\n deactivateAccountSuccess,\r\n} from \"./deactivateAccountSlice\";\r\nimport { deactivateUserSuccess } from \"./deactivateUserSlice\";\r\nimport {\r\n getProfileError,\r\n getProfileRequest,\r\n getProfileSuccess,\r\n updateProfileError,\r\n updateProfileRequest,\r\n updateProfileSuccess,\r\n} from \"./profileSlice\";\r\nimport {\r\n getCityMunicipalitiesError,\r\n getCityMunicipalitiesRequest,\r\n getCityMunicipalitiesSuccess,\r\n getCountiesError,\r\n getCountiesRequest,\r\n getCountiesSuccess,\r\n getSettlementsError,\r\n getSettlementsRequest,\r\n getSettlementsSuccess,\r\n} from \"./addressSlice\";\r\nimport { updateRolesError, updateRolesSuccess } from \"./updateUserRoleSlice\";\r\n\r\nexport const getAccountList =\r\n (data: UserAccountsRequest): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n\r\n if (state.signIn.user) {\r\n const { accessToken } = state.signIn.user;\r\n const response = await getUserAccounts(data, accessToken);\r\n\r\n dispatch(\r\n getAccountListSuccess({\r\n userAccounts: mapUserAccounts(response.data.userAccountList),\r\n userAccountCount: response.data.userAccountCount,\r\n })\r\n );\r\n }\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(getAccountListError({ errorMessage: first.message }));\r\n }\r\n };\r\n\r\nexport const getUserAccountData =\r\n (uid: string, userType: number): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n\r\n if (state.signIn.user) {\r\n dispatch(getUserAccountRequest());\r\n const { accessToken } = state.signIn.user;\r\n const response = await getUserAccount(uid, userType, accessToken);\r\n\r\n dispatch(\r\n getUserAccountSuccess({ user: mapUserAccount(response.data.account) })\r\n );\r\n }\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(getUserAccountError({ errorMessage: first.message }));\r\n }\r\n };\r\n \r\nexport const getCounties = (): AppThunk => async (dispatch, getState) => {\r\n try {\r\n const { signIn, address } = getState();\r\n\r\n if (signIn.user && !address.counties.length) {\r\n dispatch(getCountiesRequest());\r\n const { accessToken } = signIn.user;\r\n const response = await getAllCounties(accessToken);\r\n\r\n dispatch(getCountiesSuccess({ counties: response.data.counties }));\r\n }\r\n } catch (error) {\r\n dispatch(getCountiesError({ errorMessage: error }));\r\n }\r\n};\r\n\r\nexport const getSettlementsByCountyId =\r\n (countyId: number): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn, address } = getState();\r\n\r\n if (signIn.user && address.counties.length) {\r\n dispatch(getSettlementsRequest());\r\n const { accessToken } = signIn.user;\r\n const response = await getSettlements(accessToken, countyId);\r\n\r\n dispatch(\r\n getSettlementsSuccess({ settlements: response.data.settlements })\r\n );\r\n }\r\n } catch (error) {\r\n dispatch(getSettlementsError({ errorMessage: error }));\r\n }\r\n };\r\n\r\nexport const getCityMunicipalitiesByCountyIds =\r\n (countyIds: number[]): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn, address } = getState();\r\n\r\n if (signIn.user && address.counties.length) {\r\n dispatch(getCityMunicipalitiesRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n\r\n const response = await getCityMunicipalities(\r\n accessToken,\r\n countyIds.toString()\r\n );\r\n\r\n console.log(response);\r\n\r\n dispatch(\r\n getCityMunicipalitiesSuccess({\r\n municipalities: response.data.municipalities,\r\n })\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n dispatch(getCityMunicipalitiesError({ errorMessage: error }));\r\n }\r\n };\r\n\r\nexport const deactivateUser =\r\n (uid: string, userType: number): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n dispatch(deactivateUserRequest());\r\n const state = getState();\r\n\r\n if (state.signIn.user) {\r\n dispatch(deactivateUserRequest());\r\n const { accessToken } = state.signIn.user;\r\n\r\n await deleteUserAccount(uid, userType, accessToken);\r\n dispatch(deactivateUserSuccess());\r\n }\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(deactivateUserError({ errorMessage: first.message }));\r\n }\r\n };\r\n\r\nexport const updateUserRoles =\r\n (uid: string, roleType: number, userType: number): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n if (state.signIn.user) {\r\n dispatch(updateRolesRequest());\r\n const { accessToken } = state.signIn.user;\r\n await updateRoles(uid, roleType, userType, accessToken);\r\n\r\n dispatch(updateRolesSuccess());\r\n\r\n dispatch(getUserAccountData(uid, userType));\r\n }\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(updateRolesError({ errorMessage: first.message }));\r\n }\r\n };\r\n\r\nexport const getProfile = (): AppThunk => async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n const session = sessionCache().getSession();\r\n const accessToken = state.signIn.user?.accessToken ?? session?.accessToken;\r\n\r\n if (accessToken) {\r\n dispatch(getProfileRequest());\r\n\r\n const result = await getMyAccount(accessToken);\r\n const profile = mapUserProfile(result.data.account);\r\n\r\n dispatch(getProfileSuccess({ profile: profile }));\r\n buildAbilityFor(profile.roleType?.value ?? 0);\r\n if (session) {\r\n sessionCache().updateSession({\r\n ...session,\r\n role: profile.roleType ?? { value: 0, label: \"\" },\r\n userType: profile.userType ?? { value: 0, label: \"\" },\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(getProfileError({ errorMessage: first }));\r\n }\r\n};\r\n\r\nexport const updateProfile =\r\n (notificationType: number[], infoType: number[]): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n const session = sessionCache().getSession();\r\n const accessToken =\r\n state.signIn.user?.accessToken ?? session?.accessToken;\r\n\r\n if (accessToken) {\r\n dispatch(updateProfileRequest());\r\n\r\n await updateMyAccountSettings(\r\n { notificationType, infoType },\r\n accessToken\r\n );\r\n\r\n dispatch(updateProfileSuccess());\r\n dispatch(getProfile());\r\n }\r\n } catch (error) {\r\n dispatch(updateProfileError());\r\n }\r\n };\r\n\r\n/** Update metadata type for correct payload */\r\nexport const updateAccountMetadata =\r\n (metadata: UpdateMyAccountMetadataRequest): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n const session = sessionCache().getSession();\r\n const accessToken =\r\n state.signIn.user?.accessToken ?? session?.accessToken;\r\n\r\n if (accessToken) {\r\n dispatch(updateProfileRequest());\r\n\r\n await updateMyAccountMetadata(metadata, accessToken);\r\n\r\n dispatch(updateProfileSuccess());\r\n\r\n // find solution for refetching profile for every profile update\r\n dispatch(getProfile());\r\n }\r\n } catch (error) {\r\n dispatch(updateProfileError());\r\n }\r\n };\r\n\r\nexport const updateMobileNumber =\r\n (mobileNumber: string): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n const session = sessionCache().getSession();\r\n const accessToken =\r\n state.signIn.user?.accessToken ?? session?.accessToken;\r\n\r\n if (accessToken) {\r\n dispatch(updateProfileRequest());\r\n\r\n await updateMyAccountMobileNumber(mobileNumber, accessToken);\r\n\r\n dispatch(updateProfileSuccess());\r\n\r\n toast.success(\"Promjene uspješno spremljene\");\r\n\r\n // find solution for refetching profile for every profile update\r\n dispatch(getProfile());\r\n }\r\n } catch (error) {\r\n dispatch(updateProfileError());\r\n toast.error(\"Problem prilikom spremanja podataka, pokušajte ponovno...\");\r\n }\r\n };\r\n\r\nexport const getAccountDashboardData =\r\n (data: { dateFrom: Date | null; dateTo: Date | null }): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n const session = sessionCache().getSession();\r\n const accessToken =\r\n state.signIn.user?.accessToken ?? session?.accessToken;\r\n\r\n if (accessToken) {\r\n dispatch(getDashboardDataRequest());\r\n\r\n const response = await getUserAccountDashboardData(accessToken, data);\r\n\r\n dispatch(getDashboardDataSuccess(response.data));\r\n }\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(getDashboardDataError({ errorMessage: first }));\r\n }\r\n };\r\n\r\nexport const deactivateAccount = (): AppThunk => async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n const session = sessionCache().getSession();\r\n const accessToken = state.signIn.user?.accessToken ?? session?.accessToken;\r\n\r\n if (accessToken) {\r\n dispatch(deactivateAccountRequest());\r\n\r\n await deleteMyAccount(accessToken);\r\n\r\n dispatch(deactivateAccountSuccess());\r\n\r\n dispatch(logOff());\r\n }\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(deactivateAccountError({ errorMessage: first }));\r\n }\r\n};\r\n","import { UserAccounts } from \"services\";\r\nimport { mapCounty, mapUserRoles, mapUserType } from \"./mappingUtils\";\r\n\r\nexport const mapUserAccounts = (userAccounts: UserAccounts[]) => {\r\n return userAccounts.map((a) => {\r\n const role = mapUserRoles(a.roleType);\r\n const county = mapCounty(a.countyId);\r\n const userType = mapUserType(a.userType);\r\n\r\n return {\r\n uid: a.uid,\r\n isActive: a.isActive,\r\n firstName: a.firstName,\r\n lastName: a.lastName,\r\n legalEntityName: a.legalEntityName,\r\n userRole: role ?? { value: 0, label: \"\" },\r\n county: county?.label ?? \"\",\r\n userType: userType?.label ?? \"\",\r\n city: a.cityMunicipality,\r\n email: a.email,\r\n };\r\n });\r\n};\r\n\r\nexport type MappedUserAccounts = ReturnType;\r\n","import { AbilityBuilder, Ability, AbilityClass } from \"@casl/ability\";\r\nimport {\r\n isCitizen,\r\n isMpSuperAdmin,\r\n isMpAdminFarmer,\r\n // isMpAdminFisherman,\r\n isEmployeeMp,\r\n isEmployeeApprrr,\r\n isAdviserSuperAdmin,\r\n isAdviserAdminFarmer,\r\n // isAdviserAdminFisherman,\r\n isFarmer,\r\n // isFisherman,\r\n isEmployeeAdviser,\r\n} from \"./roleChecks\";\r\nimport { Subjects } from \"./subjects\";\r\nimport { Actions } from \"./actions\";\r\nimport {\r\n defineRulesForAdviser,\r\n defineRulesForAdviserAdminFarmer,\r\n // defineRulesForAdviserAdminFisherman,\r\n defineRulesForAdviserSuperAdmin,\r\n defineRulesForCitizen,\r\n defineRulesForEmployeeApprrr,\r\n defineRulesForEmployeeMp,\r\n defineRulesForFarmer,\r\n // defineRulesForFisherman,\r\n defineRulesForMpAdminFarmer,\r\n // defineRulesForMpAdminFisherman,\r\n defineRulesForMpSuperAdmin,\r\n} from \"./roleRules\";\r\n\r\nexport type AppAbility = Ability<[Actions, Subjects]>;\r\nexport const AppAbilityModel = Ability as AbilityClass;\r\nexport const ability = new AppAbilityModel([], {});\r\n\r\nexport default function defineRoleRules(role: number) {\r\n const abilityBuilder = new AbilityBuilder(AppAbilityModel);\r\n\r\n if (isMpSuperAdmin(role)) {\r\n return defineRulesForMpSuperAdmin(abilityBuilder);\r\n }\r\n\r\n if (isMpAdminFarmer(role)) {\r\n return defineRulesForMpAdminFarmer(abilityBuilder);\r\n }\r\n\r\n // if (isMpAdminFisherman(role)) {\r\n // return defineRulesForMpAdminFisherman(abilityBuilder);\r\n // }\r\n\r\n if (isEmployeeMp(role)) {\r\n return defineRulesForEmployeeMp(abilityBuilder);\r\n }\r\n\r\n if (isEmployeeApprrr(role)) {\r\n return defineRulesForEmployeeApprrr(abilityBuilder);\r\n }\r\n\r\n if (isEmployeeAdviser(role)) {\r\n return defineRulesForAdviser(abilityBuilder);\r\n }\r\n\r\n if (isAdviserSuperAdmin(role)) {\r\n return defineRulesForAdviserSuperAdmin(abilityBuilder);\r\n }\r\n\r\n if (isAdviserAdminFarmer(role)) {\r\n return defineRulesForAdviserAdminFarmer(abilityBuilder);\r\n }\r\n\r\n // if (isAdviserAdminFisherman(role)) {\r\n // return defineRulesForAdviserAdminFisherman(abilityBuilder);\r\n // }\r\n\r\n if (isFarmer(role)) {\r\n return defineRulesForFarmer(abilityBuilder);\r\n }\r\n\r\n // if (isFisherman(role)) {\r\n // return defineRulesForFisherman(abilityBuilder);\r\n // }\r\n\r\n if (isCitizen(role)) {\r\n return defineRulesForCitizen(abilityBuilder);\r\n }\r\n\r\n return defineRulesForFarmer(abilityBuilder);\r\n}\r\n\r\nexport function buildAbilityFor(role: number) {\r\n ability.update(defineRoleRules(role));\r\n}","import { RoleType } from \"modules/common\";\r\n\r\nexport const isCitizen = (role: number) => role === RoleType.Citizen;\r\nexport const isFarmer = (role: number) => role === RoleType.Farmer;\r\n// export const isFisherman = (role: number) => role === RoleType.Fisherman;\r\nexport const isEmployeeMp = (role: number) => role === RoleType.EmployeeMp;\r\n\r\nexport const isEmployeeApprrr = (role: number) =>\r\n role === RoleType.EmployeeApprrr;\r\n\r\nexport const isEmployeeAdviser = (role: number) =>\r\n role === RoleType.EmployeeAdviser;\r\n\r\nexport const isMpAdminFarmer = (role: number) =>\r\n role === RoleType.MpAdminFarmer;\r\n\r\n// export const isMpAdminFisherman = (role: number) =>\r\n// role === RoleType.MpAdminFisherman;\r\n\r\nexport const isMpSuperAdmin = (role: number) => role === RoleType.MpSuperAdmin;\r\nexport const isAdviserAdminFarmer = (role: number) =>\r\n role === RoleType.AdviserAdminFarmer;\r\n\r\n// export const isAdviserAdminFisherman = (role: number) =>\r\n// role === RoleType.AdviserAdminFisherman;\r\n\r\nexport const isAdviserSuperAdmin = (role: number) =>\r\n role === RoleType.AdviserSuperAdmin;\r\n","import { AbilityBuilder } from \"@casl/ability\";\r\nimport { AppAbility } from \"modules/auth\";\r\n\r\nexport const defineRulesForMpSuperAdmin = (\r\n abilityBuilder: AbilityBuilder\r\n) => {\r\n const { can, rules } = abilityBuilder;\r\n\r\n can(\"view\", \"CourseList\");\r\n can(\"view\", \"FarmList\");\r\n can(\"update\", \"UserRole\");\r\n\r\n can(\"view\", \"SystemAdministrationModule\");\r\n can(\"view\", \"UserActivityModule\");\r\n can(\"view\", \"UserAdministrationModule\");\r\n can(\"view\", \"InternalDocumentation\");\r\n can(\"view\", \"PIO\");\r\n can(\"view\", \"Webtop\");\r\n can(\"view\", \"ReportProblem\");\r\n can(\"view\", \"SuperAdminFilter\");\r\n can(\"view\", \"InternalSystemsModule\");\r\n can(\"view\", \"Records\");\r\n can(\"view\", \"CommunicationModule\");\r\n can(\"view\", \"WeatherAlarmToggle\");\r\n\r\n return rules;\r\n};\r\n","import { AbilityBuilder } from \"@casl/ability\";\r\nimport { AppAbility } from \"modules/auth\";\r\n\r\nexport const defineRulesForMpAdminFarmer = (\r\n abilityBuilder: AbilityBuilder\r\n) => {\r\n const { can, cannot, rules } = abilityBuilder;\r\n\r\n cannot(\"view\", \"CourseList\");\r\n cannot(\"view\", \"FarmList\");\r\n cannot(\"update\", \"UserRole\");\r\n\r\n can(\"view\", \"UserActivityModule\");\r\n can(\"view\", \"UserAdministrationModule\");\r\n can(\"view\", \"CommunicationModule\");\r\n can(\"view\", \"AgroclimateStations\");\r\n can(\"view\", \"PlantProtection\");\r\n can(\"view\", \"SuperAdminFilter\");\r\n can(\"view\", \"InternalSystemsModule\");\r\n can(\"view\", \"Records\");\r\n can(\"view\", \"WeatherAlarmToggle\");\r\n\r\n return rules;\r\n};\r\n","import { AbilityBuilder } from \"@casl/ability\";\r\nimport { AppAbility } from \"modules/auth\";\r\n\r\nexport const defineRulesForEmployeeMp = (\r\n abilityBuilder: AbilityBuilder\r\n) => {\r\n const { can, cannot, rules } = abilityBuilder;\r\n\r\n cannot(\"view\", \"CourseList\");\r\n cannot(\"view\", \"FarmList\");\r\n cannot(\"update\", \"UserRole\");\r\n\r\n can(\"view\", \"InternalDocumentation\");\r\n can(\"view\", \"PIO\");\r\n can(\"view\", \"Webtop\");\r\n can(\"view\", \"ReportProblem\");\r\n can(\"view\", \"InternalSystemsModule\");\r\n can(\"view\", \"Records\");\r\n\r\n can(\"view\", \"WeatherAlarmToggle\");\r\n\r\n\r\n return rules;\r\n};\r\n","import { AbilityBuilder } from \"@casl/ability\";\r\nimport { AppAbility } from \"modules/auth\";\r\n\r\nexport const defineRulesForEmployeeApprrr = (\r\n abilityBuilder: AbilityBuilder\r\n) => {\r\n const { can, cannot, rules } = abilityBuilder;\r\n\r\n cannot(\"view\", \"CourseList\");\r\n cannot(\"view\", \"FarmList\");\r\n cannot(\"update\", \"UserRole\");\r\n\r\n can(\"view\", \"PresentationsModule\");\r\n can(\"view\", \"DownloadPresentation\");\r\n can(\"view\", \"Records\");\r\n\r\n can(\"view\", \"WeatherAlarmToggle\");\r\n\r\n\r\n return rules;\r\n};\r\n","import { AbilityBuilder } from \"@casl/ability\";\r\nimport { AppAbility } from \"modules/auth\";\r\n\r\nexport const defineRulesForAdviser = (\r\n abilityBuilder: AbilityBuilder\r\n) => {\r\n const { can, rules, cannot } = abilityBuilder;\r\n\r\n cannot(\"update\", \"UserRole\");\r\n\r\n can(\"view\", \"PresentationsModule\");\r\n can(\"view\", \"EducationModule\");\r\n can(\"view\", \"EducationLinks\");\r\n can(\"view\", \"CourseList\");\r\n can(\"view\", \"CourseRegistration\");\r\n can(\"view\", \"FarmList\");\r\n can(\"view\", \"AgroclimateStations\");\r\n can(\"view\", \"DownloadPresentation\");\r\n can(\"view\", \"SEMIS\");\r\n can(\"view\", \"InternalDocumentation\");\r\n can(\"view\", \"PIO\");\r\n can(\"view\", \"Webtop\");\r\n can(\"view\", \"ReportProblem\");\r\n can(\"view\", \"PlantProtection\");\r\n can(\"view\", \"InternalSystemsModule\");\r\n cannot(\"view\", \"Records\");\r\n can(\"view\", \"WeatherAlarmToggle\");\r\n\r\n\r\n return rules;\r\n};\r\n","import { AbilityBuilder } from \"@casl/ability\";\r\nimport { AppAbility } from \"modules/auth\";\r\n\r\nexport const defineRulesForAdviserSuperAdmin = (\r\n abilityBuilder: AbilityBuilder\r\n) => {\r\n const { can, rules, cannot } = abilityBuilder;\r\n\r\n cannot(\"update\", \"UserRole\");\r\n\r\n can(\"view\", \"UserActivityModule\");\r\n can(\"view\", \"UserAdministrationModule\");\r\n can(\"view\", \"PresentationsModule\");\r\n can(\"view\", \"CommunicationModule\");\r\n can(\"view\", \"EducationModule\");\r\n can(\"view\", \"EducationLinks\");\r\n can(\"view\", \"CourseRegistration\");\r\n can(\"view\", \"CourseList\");\r\n can(\"view\", \"FarmList\");\r\n\r\n can(\"create\", \"AddPresentation\");\r\n can(\"update\", \"EditPresentation\");\r\n can(\"update\", \"DeletePresentation\");\r\n can(\"view\", \"DownloadPresentation\");\r\n\r\n can(\"view\", \"AgroclimateStations\");\r\n can(\"view\", \"PlantProtection\");\r\n can(\"view\", \"SEMIS\");\r\n can(\"view\", \"InternalDocumentation\");\r\n can(\"view\", \"PIO\");\r\n can(\"view\", \"Webtop\");\r\n can(\"view\", \"ReportProblem\");\r\n can(\"view\", \"PlantProtection\");\r\n\r\n can(\"view\", \"SuperAdminFilter\");\r\n can(\"view\", \"InternalSystemsModule\");\r\n can(\"view\", \"Records\");\r\n\r\n can(\"view\", \"WeatherAlarmToggle\");\r\n\r\n\r\n return rules;\r\n};\r\n","import { AbilityBuilder } from \"@casl/ability\";\r\nimport { AppAbility } from \"modules/auth\";\r\n\r\nexport const defineRulesForAdviserAdminFarmer = (\r\n abilityBuilder: AbilityBuilder\r\n) => {\r\n const { can, rules, cannot } = abilityBuilder;\r\n\r\n cannot(\"update\", \"UserRole\");\r\n\r\n can(\"view\", \"UserAdministrationModule\");\r\n can(\"view\", \"PresentationsModule\");\r\n can(\"view\", \"CommunicationModule\");\r\n\r\n can(\"view\", \"EducationModule\");\r\n can(\"view\", \"CourseRegistration\");\r\n can(\"view\", \"EducationLinks\");\r\n can(\"view\", \"CourseList\");\r\n can(\"view\", \"FarmList\");\r\n\r\n can(\"view\", \"AgroclimateStations\");\r\n can(\"view\", \"PlantProtection\");\r\n can(\"view\", \"SEMIS\");\r\n can(\"view\", \"InternalDocumentation\");\r\n can(\"view\", \"PIO\");\r\n can(\"view\", \"Webtop\");\r\n can(\"view\", \"ReportProblem\");\r\n can(\"view\", \"PlantProtection\");\r\n\r\n can(\"view\", \"SuperAdminFilter\");\r\n can(\"view\", \"InternalSystemsModule\");\r\n can(\"view\", \"Records\");\r\n\r\n can(\"view\", \"WeatherAlarmToggle\");\r\n\r\n return rules;\r\n};\r\n","import { AbilityBuilder } from \"@casl/ability\";\r\nimport { AppAbility } from \"modules/auth\";\r\n\r\nexport const defineRulesForCitizen = (\r\n abilityBuilder: AbilityBuilder\r\n) => {\r\n const { can, cannot, rules } = abilityBuilder;\r\n\r\n can(\"view\", \"CourseList\");\r\n\r\n cannot(\"view\", \"FarmList\");\r\n cannot(\"update\", \"UserRole\");\r\n cannot(\"view\", \"EducationModule\");\r\n cannot(\"view\", \"Records\");\r\n\r\n return rules;\r\n};","import React, { useRef, useState } from \"react\";\r\nimport {\r\n FilterGroup,\r\n ActionFilter,\r\n useOutsideClick,\r\n RoleFilter,\r\n} from \"modules/common\";\r\n\r\ninterface Props {\r\n actionFilter: number[];\r\n roleFilter: number[];\r\n setActionFilter: React.Dispatch>;\r\n setRoleFilter: React.Dispatch>;\r\n}\r\nexport const ActivityFilters: React.FC = ({\r\n actionFilter,\r\n roleFilter,\r\n setActionFilter,\r\n setRoleFilter,\r\n}) => {\r\n const [showActionFilter, setShowActionFilter] = useState(false);\r\n const [showRoleFilter, setShowRoleFilter] = useState(false);\r\n const actionFilterRef = useRef(null);\r\n const roleFilterRef = useRef(null);\r\n\r\n const isRoleFilterActive = roleFilter.length > 0;\r\n const isActionFilterActive = actionFilter.length > 0;\r\n\r\n const handleActionFilterOutsideClick = () => {\r\n setShowActionFilter(false);\r\n };\r\n\r\n const handleRoleFilterOutsideClick = () => {\r\n setShowRoleFilter(false);\r\n };\r\n\r\n useOutsideClick(actionFilterRef, handleActionFilterOutsideClick);\r\n useOutsideClick(roleFilterRef, handleRoleFilterOutsideClick);\r\n\r\n const handleActionFilterChange = (\r\n event: React.ChangeEvent\r\n ) => {\r\n const { value } = event.target;\r\n const valueNumb = parseInt(value);\r\n setActionFilter((prev) => {\r\n if (!prev.includes(valueNumb)) {\r\n return [...prev, valueNumb];\r\n } else {\r\n return [...prev.filter((s) => s !== valueNumb)];\r\n }\r\n });\r\n };\r\n\r\n const handleRoleFilterChange = (\r\n event: React.ChangeEvent\r\n ) => {\r\n const { value } = event.target;\r\n const valueNumb = parseInt(value);\r\n setRoleFilter((prev) => {\r\n if (!prev.includes(valueNumb)) {\r\n return [...prev, valueNumb];\r\n } else {\r\n return [...prev.filter((s) => s !== valueNumb)];\r\n }\r\n });\r\n };\r\n\r\n const handleActionFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setActionFilter([]);\r\n };\r\n\r\n const handleRoleFilterClear = (\r\n event: React.MouseEvent\r\n ) => {\r\n setRoleFilter([]);\r\n };\r\n\r\n const handleActionFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowActionFilter((prev) => !prev);\r\n };\r\n\r\n const handleRoleFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowRoleFilter((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","import React, { useRef, useState } from \"react\";\r\nimport {\r\n CountyFilter,\r\n FilterGroup,\r\n RoleFilterSingle,\r\n useOutsideClick,\r\n} from \"modules/common\";\r\n\r\ninterface Props {\r\n roleFilter: number;\r\n countyFilter: number[];\r\n setCountyFilter: React.Dispatch>;\r\n setRoleFilter: (value: React.SetStateAction) => void;\r\n}\r\n\r\nexport const AdministrationFilters: React.FC = ({\r\n roleFilter,\r\n countyFilter,\r\n setCountyFilter,\r\n setRoleFilter,\r\n}) => {\r\n const [showCountyFilter, setShowCountyFilter] = useState(false);\r\n const [showRoleFilter, setShowRoleFilter] = useState(false);\r\n const countyFilterRef = useRef(null);\r\n const roleFilterRef = useRef(null);\r\n\r\n const isRoleFilterActive = roleFilter > 0;\r\n const isActionFilterActive = countyFilter.length > 0;\r\n\r\n const handleCountyFilterOutsideClick = () => {\r\n setShowCountyFilter(false);\r\n };\r\n\r\n const handleRoleFilterOutsideClick = () => {\r\n setShowRoleFilter(false);\r\n };\r\n\r\n useOutsideClick(countyFilterRef, handleCountyFilterOutsideClick);\r\n useOutsideClick(roleFilterRef, handleRoleFilterOutsideClick);\r\n\r\n const handleCountyFilterChange = (\r\n event: React.ChangeEvent\r\n ) => {\r\n const { value } = event.target;\r\n const valueNumb = parseInt(value);\r\n setCountyFilter((prev) => {\r\n if (!prev.includes(valueNumb)) {\r\n return [...prev, valueNumb];\r\n } else {\r\n return [...prev.filter((s) => s !== valueNumb)];\r\n }\r\n });\r\n };\r\n\r\n const handleRoleFilterChange = (\r\n event: React.ChangeEvent\r\n ) => {\r\n const { value } = event.currentTarget;\r\n setRoleFilter(parseInt(value));\r\n };\r\n\r\n const handleCountyFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setCountyFilter([]);\r\n };\r\n\r\n const handleRoleFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setRoleFilter(0);\r\n };\r\n\r\n const handleCountyFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowCountyFilter((prev) => !prev);\r\n };\r\n\r\n const handleRoleFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowRoleFilter((prev) => !prev);\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","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 16,\n fill: \"#848D27\",\n fillOpacity: 0.1\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.5 13L16 17L23.5 13\",\n stroke: \"#848D27\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 22.5H10C9.60218 22.5 9.22064 22.342 8.93934 22.0607C8.65804 21.7794 8.5 21.3978 8.5 21V11C8.5 10.6022 8.65804 10.2206 8.93934 9.93934C9.22064 9.65804 9.60218 9.5 10 9.5H22C22.3978 9.5 22.7794 9.65804 23.0607 9.93934C23.342 10.2206 23.5 10.6022 23.5 11V21C23.5 21.3978 23.342 21.7794 23.0607 22.0607C22.7794 22.342 22.3978 22.5 22 22.5V22.5Z\",\n stroke: \"#848D27\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgEmail(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmail);\nexport default __webpack_public_path__ + \"static/media/email.179e7fb7.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 16,\n fill: \"#848D27\",\n fillOpacity: 0.1\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.5 16.5V22.5C19.5 22.7652 19.3946 23.0196 19.2071 23.2071C19.0196 23.3946 18.7652 23.5 18.5 23.5H10.5C10.2348 23.5 9.98043 23.3946 9.79289 23.2071C9.60536 23.0196 9.5 22.7652 9.5 22.5V10.5C9.5 10.2348 9.60536 9.98043 9.79289 9.79289C9.98043 9.60536 10.2348 9.5 10.5 9.5H12.5\",\n stroke: \"#848D27\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5 14.5H17.5L14.5 16.5V9.5C14.5 9.23478 14.6054 8.98043 14.7929 8.79289C14.9804 8.60536 15.2348 8.5 15.5 8.5H22.5C22.7652 8.5 23.0196 8.60536 23.2071 8.79289C23.3946 8.98043 23.5 9.23478 23.5 9.5V13.5C23.5 13.7652 23.3946 14.0196 23.2071 14.2071C23.0196 14.3946 22.7652 14.5 22.5 14.5Z\",\n stroke: \"#848D27\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgMessenger(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMessenger);\nexport default __webpack_public_path__ + \"static/media/messenger.cb25b77d.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from \"react\";\r\nimport { InfoNote, notificationTypes, ToggleSwitch } from \"modules/common\";\r\nimport { ReactComponent as EmailIcon } from \"assets/icons/email.svg\";\r\n// import { ReactComponent as SmsIcon } from \"assets/icons/sms.svg\";\r\nimport { ReactComponent as MessengerIcon } from \"assets/icons/messenger.svg\";\r\n\r\ninterface Props {\r\n values?: number[];\r\n onChange: (event: React.ChangeEvent) => void;\r\n}\r\n\r\nexport const NotificationSettings: React.FC = ({ values, onChange }) => {\r\n if (!values) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n

    Način obavještavanja

    \r\n \r\n Budite u toku sa svim novostima i obavezama.\r\n \r\n
    \r\n
    \r\n \r\n \r\n {notificationTypes.Email.label} (primarno)\r\n \r\n
    \r\n \r\n {/*
    \r\n \r\n \r\n {notificationTypes.SMS.label}\r\n \r\n
    \r\n */}\r\n\r\n { /*
    \r\n \r\n \r\n {notificationTypes.WhatsApp.label}\r\n \r\n
    \r\n */}\r\n\r\n {/*
    \r\n \r\n \r\n {notificationTypes.Viber.label}\r\n \r\n
    \r\n */}\r\n\r\n
    \r\n \r\n \r\n {notificationTypes.Application.label}\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { infoTypes, ToggleSwitch } from \"modules/common\";\r\nimport { Can } from \"modules/auth\";\r\n\r\ninterface Props {\r\n values?: number[];\r\n onChange: (event: React.ChangeEvent) => void;\r\n}\r\n\r\nexport const Subscriptions: React.FC = ({ values, onChange }) => {\r\n if (!values) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n

    Predbilježbe

    \r\n \r\n Primajte pravovremene obavijesti iz određenih kategorija ovisno o vašim\r\n interesima.\r\n \r\n
    \r\n \r\n Vijesti\r\n \r\n \r\n\r\n\t\t\t\r\n\t\t\tSavjeti\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\tVremenski alarmi\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n
    \r\n Edukacije\r\n
    \r\n \r\n Edukacije\r\n \r\n \r\n
    \r\n Preporuke za zaštitu bilja\r\n
    \r\n \r\n Vinogradarstvo\r\n \r\n \r\n \r\n Voćarstvo i maslinarstvo\r\n \r\n \r\n \r\n Ratarstvo i ostalo\r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 16,\n fill: \"#848D27\",\n fillOpacity: 0.1\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 13.5H19.5\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 16.5H19.5\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.5 15C23.5 11.41 20.142 8.5 16 8.5C11.858 8.5 8.5 11.41 8.5 15C8.5 18.59 11.858 21.5 16 21.5C16.525 21.5 17.037 21.452 17.532 21.363L21.5 23.5V19.409C22.738 18.25 23.5 16.704 23.5 15Z\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgSms(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSms);\nexport default __webpack_public_path__ + \"static/media/sms.4c8ef644.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from \"react\";\r\nimport { ReactComponent as EmailIcon } from \"assets/icons/email.svg\";\r\nimport { ReactComponent as SmsIcon } from \"assets/icons/sms.svg\";\r\nimport { ReactComponent as MessengerIcon } from \"assets/icons/messenger.svg\";\r\nimport { notificationTypes } from \"modules/common\";\r\nimport { useMemo } from \"react\";\r\n\r\ninterface Props {\r\n notificationType: string[];\r\n}\r\n\r\nexport const Notifications: React.FC = ({ notificationType }) => {\r\n const notifications = useMemo(\r\n () => [\r\n {\r\n value: notificationTypes.Email.value,\r\n label: notificationTypes.Email.label,\r\n icon: EmailIcon,\r\n },\r\n {\r\n value: notificationTypes.SMS.value,\r\n label: notificationTypes.SMS.label,\r\n icon: SmsIcon,\r\n },\r\n {\r\n value: notificationTypes.Viber.value,\r\n label: notificationTypes.Viber.label,\r\n icon: MessengerIcon,\r\n },\r\n {\r\n value: notificationTypes.WhatsApp.value,\r\n label: notificationTypes.WhatsApp.label,\r\n icon: MessengerIcon,\r\n },\r\n ],\r\n []\r\n );\r\n\r\n return (\r\n
    \r\n {notifications\r\n .filter((n) => notificationType.includes(n.label))\r\n .map(({ label, icon: Icon }, index) => (\r\n
    \r\n \r\n \r\n
    \r\n ))}\r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { ReactComponent as EmailIcon } from \"assets/icons/email.svg\";\r\nimport { ReactComponent as MessengerIcon } from \"assets/icons/messenger.svg\";\r\nimport { NotificationType, notificationTypes } from \"modules/common\";\r\n\r\ninterface Props {\r\n title: string;\r\n notificationFilter: NotificationType[];\r\n setNotificationFilter: React.Dispatch<\r\n React.SetStateAction\r\n >;\r\n}\r\n\r\n/** Refactor if needed for dynamic data */\r\nexport const NotificationSelect: React.FC = ({\r\n title,\r\n notificationFilter,\r\n setNotificationFilter,\r\n}) => {\r\n function checkIfSelected(option: NotificationType) {\r\n return notificationFilter.some((i) => i === option);\r\n }\r\n\r\n function toggleOption(option: NotificationType) {\r\n const selected = checkIfSelected(option);\r\n\r\n if (selected) {\r\n const newArray = notificationFilter.filter((i) => i !== option);\r\n setNotificationFilter(newArray);\r\n return;\r\n }\r\n\r\n setNotificationFilter([...notificationFilter, option]);\r\n }\r\n\r\n return (\r\n
    \r\n

    {title}

    \r\n \r\n \r\n \r\n {notificationTypes.Email.label}\r\n \r\n \r\n \r\n \r\n \r\n {notificationTypes.Application.label}\r\n \r\n \r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { StatisticsContainer, StatisticsContent } from \"modules/common\";\r\nimport { ReactComponent as EmailIcon } from \"assets/icons/email.svg\";\r\nimport { ReactComponent as SmsIcon } from \"assets/icons/sms.svg\";\r\nimport { ReactComponent as MessengerIcon } from \"assets/icons/messenger.svg\";\r\n\r\ninterface Props {\r\n numberOfEmailUsers: number;\r\n numberOfSmsUsers: number;\r\n numberOfWhatsAppUsers: number;\r\n numberOfViberUsers: number;\r\n}\r\nexport const NotificationsStats: React.FC = ({\r\n numberOfEmailUsers,\r\n numberOfSmsUsers,\r\n numberOfViberUsers,\r\n numberOfWhatsAppUsers,\r\n}) => {\r\n return (\r\n \r\n \r\n
    \r\n \r\n

    Email

    \r\n
    \r\n
    {numberOfEmailUsers}
    \r\n
    \r\n \r\n

    SMS

    \r\n
    \r\n
    {numberOfSmsUsers}
    \r\n
    \r\n \r\n

    WhatsApp

    \r\n
    \r\n
    {numberOfWhatsAppUsers}
    \r\n
    \r\n \r\n

    Viber

    \r\n
    \r\n
    {numberOfViberUsers}
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport {\r\n DoughnutChart,\r\n regisrationChartOptions,\r\n StatisticsContainer,\r\n StatisticsContent,\r\n} from \"modules/common\";\r\n\r\ninterface Props {\r\n numberOfFarmers: number;\r\n numberOfFishermans: number;\r\n numberOfCitizens: number;\r\n total: number;\r\n}\r\nexport const RegistrationStats: React.FC = ({\r\n numberOfCitizens,\r\n numberOfFarmers,\r\n numberOfFishermans,\r\n total,\r\n}) => {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n

    Poljoprivrednika

    \r\n
    \r\n
    {numberOfFarmers}
    \r\n
    \r\n
    \r\n

    Ribara

    \r\n
    \r\n
    {numberOfFishermans}
    \r\n
    \r\n
    \r\n

    Građana

    \r\n
    \r\n
    {numberOfCitizens}
    \r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport {\r\n DoughnutChart,\r\n StatisticsContainer,\r\n StatisticsContent,\r\n subscriptionChartOptions,\r\n} from \"modules/common\";\r\n\r\ninterface Props {\r\n usersByCourses: number;\r\n usersByManifestations: number;\r\n usersByDemonstrations: number;\r\n usersByFarmingRecommendations: number;\r\n usersByNews: number;\r\n usersByAdvices: number;\r\n total: number;\r\n}\r\nexport const SubscriptionsStats: React.FC = ({\r\n usersByAdvices,\r\n usersByCourses,\r\n usersByDemonstrations,\r\n usersByFarmingRecommendations,\r\n usersByManifestations,\r\n usersByNews,\r\n total,\r\n}) => {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n

    Obavijesti o tečajevima

    \r\n
    \r\n
    {usersByCourses}
    \r\n
    \r\n
    \r\n

    Najave manifestacija

    \r\n
    \r\n
    {usersByManifestations}
    \r\n
    \r\n
    \r\n

    Obavijesti o demonstracijama

    \r\n
    \r\n
    {usersByDemonstrations}
    \r\n
    \r\n
    \r\n

    Preporuka o zaštiti bilja

    \r\n
    \r\n
    {usersByFarmingRecommendations}
    \r\n
    \r\n
    \r\n

    Vijesti

    \r\n
    \r\n
    {usersByNews}
    \r\n
    \r\n
    \r\n

    Savjeti

    \r\n
    \r\n
    {usersByAdvices}
    \r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { ModuleUsageTable, StatisticsContainer } from \"modules/common\";\r\n\r\ninterface Props {\r\n columns: any;\r\n data: any;\r\n}\r\nexport const ModuleUsageStats: React.FC = ({ columns, data }) => {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n","import { SkeletonText } from \"modules/common\";\r\nimport React from \"react\";\r\nimport Masonry from \"react-masonry-css\";\r\n\r\nexport const SystemAdministrationSkeleton: React.FC = () => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n","import {\r\n NotificationSettings,\r\n Subscriptions,\r\n updateProfile,\r\n} from \"modules/dashboard\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\ninterface Props {\r\n notificationTypes?: number[];\r\n infoTypes?: number[];\r\n}\r\n\r\nexport const Settings: React.FC = ({ notificationTypes, infoTypes }) => {\r\n const mountedRef = useRef(true);\r\n const dispatch = useDispatch();\r\n const [notifications, setNotifications] = useState(notificationTypes);\r\n const [subscriptions, setSubscriptions] = useState(infoTypes);\r\n\r\n const handleNotificationChange = (\r\n event: React.ChangeEvent\r\n ) => {\r\n const { value } = event.target;\r\n const valueNumb = parseInt(value);\r\n\r\n setNotifications((prev) => {\r\n if (prev && !prev.includes(valueNumb)) {\r\n return [...prev, valueNumb];\r\n } else {\r\n return prev && [...prev.filter((s) => s !== valueNumb)];\r\n }\r\n });\r\n };\r\n\r\n const handleSubscriptionChange = (\r\n event: React.ChangeEvent\r\n ) => {\r\n const { value } = event.target;\r\n const valueNumb = parseInt(value);\r\n\r\n setSubscriptions((prev) => {\r\n if (prev && !prev.includes(valueNumb)) {\r\n return [...prev, valueNumb];\r\n } else {\r\n return prev && [...prev.filter((s) => s !== valueNumb)];\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n //prevent api call on first render and trigger only on state change\r\n if (mountedRef.current) {\r\n mountedRef.current = false;\r\n } else {\r\n if (Array.isArray(notifications) && Array.isArray(subscriptions)) {\r\n dispatch(updateProfile(notifications, subscriptions));\r\n }\r\n }\r\n }, [dispatch, notifications, subscriptions]);\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","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 4.5V11.5\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 8H4.5\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 15.25C12.0041 15.25 15.25 12.0041 15.25 8C15.25 3.99594 12.0041 0.75 8 0.75C3.99594 0.75 0.75 3.99594 0.75 8C0.75 12.0041 3.99594 15.25 8 15.25Z\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n});\n\nfunction SvgAdd(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAdd);\nexport default __webpack_public_path__ + \"static/media/add.20d8d630.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useRef, useState } from 'react';\r\nimport { ReactComponent as AddIcon } from 'assets/icons/add.svg';\r\nimport { Button, Loading } from 'modules/common';\r\nimport { ReactComponent as CancelIcon } from \"assets/icons/cancel.svg\";\r\nimport { toast } from 'react-toastify';\r\n\r\ninterface Props {\r\n onUpload: (file: File | null) => void;\r\n acceptedFiles: string;\r\n isActive: boolean;\r\n onClear: (event: React.MouseEvent) => void;\r\n title?: string;\r\n subtitle?: string;\r\n maxFileSize?: number;\r\n isLoading?: boolean;\r\n isEditPresentation?: boolean;\r\n isDisabled?: boolean;\r\n}\r\nexport const FileUpload: React.FC = ({\r\n onUpload,\r\n acceptedFiles,\r\n title,\r\n subtitle,\r\n maxFileSize,\r\n isLoading,\r\n isActive,\r\n onClear,\r\n isEditPresentation,\r\n\tisDisabled = false,\r\n}) => {\r\n const hiddenFileInput = useRef(null);\r\n const [loading, setLoading] = useState(isLoading);\r\n const [fileName, setFileName] = useState();\r\n const maxSize = maxFileSize || 150;\r\n function preventSubmit(e: { preventDefault: () => void; }) {\r\n e.preventDefault();\r\n }\r\n\r\n function handleClick() {\r\n hiddenFileInput.current?.click();\r\n }\r\n\r\n function handleChange(event: React.ChangeEvent) {\r\n const files = event.target.files;\r\n\r\n if (!files) {\r\n return;\r\n }\r\n\r\n const file = files[0];\r\n // File size is in bytes\r\n const fileSizeInMb = file?.size / 1048576;\r\n\r\n if (fileSizeInMb > maxSize) {\r\n toast.error('Datoteka je prevelika');\r\n return;\r\n }\r\n\r\n setFileName(file?.name);\r\n onUpload(file);\r\n }\r\n\r\n useEffect(() => {\r\n if (!subtitle) {\r\n setLoading(isLoading);\r\n return;\r\n }\r\n setLoading(!Boolean(subtitle));\r\n }, [subtitle]);\r\n\r\n return (\r\n
    \r\n {loading ? (\r\n
    \r\n \r\n

    Datoteka se učitava

    \r\n
    \r\n ) : (\r\n <>\r\n \r\n \r\n {title || `Dodaj prilog (max ${maxSize}mb)`}\r\n \r\n \r\n

    \r\n {subtitle || `Tipovi dokumenata ${acceptedFiles}`}\r\n

    \r\n\r\n {isActive &&\r\n }\r\n \r\n )}\r\n
    \r\n );\r\n};","import { Button, Modal, ModalFooter, ModalHeader } from \"modules/common\";\r\nimport React from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { deactivateAccount } from \"modules/dashboard\";\r\n\r\ninterface Props {\r\n isVisible: boolean;\r\n toggleModal: () => void;\r\n}\r\n\r\nexport const DeactivateAccountModal: React.FC = ({\r\n isVisible,\r\n toggleModal,\r\n}) => {\r\n const dispatch = useDispatch();\r\n\r\n function submit() {\r\n dispatch(deactivateAccount());\r\n toggleModal();\r\n }\r\n\r\n return (\r\n \r\n }\r\n modalFooter={\r\n \r\n \r\n Odustani\r\n \r\n \r\n Deaktiviraj račun\r\n \r\n \r\n }\r\n >\r\n

    \r\n Jeste li sigurni da želite deaktivirati korisnički račun? Deaktivacijom\r\n računa gubite prava pristupa sustavu e-Savjetnik. Ukoliko biste htjeli\r\n ponovo pristupiti sustavu, potrebno je ponovo se registrirati.\r\n

    \r\n \r\n );\r\n};\r\n","import { decodeJwt, sessionCache, Timer } from \"modules/auth\";\r\nimport { getProfile } from \"modules/dashboard\";\r\nimport { renewToken, signIn } from \"services\";\r\nimport { SignInRequest } from \"services/auth/request\";\r\nimport { AppThunk } from \"store\";\r\n\r\nimport {\r\n signInError,\r\n signInRequest,\r\n signInSuccess,\r\n tokenRenewError,\r\n tokenRenewRequest,\r\n tokenRenewSuccess,\r\n signOut,\r\n} from \"./reducer\";\r\n\r\nexport const tokenRenew = (): AppThunk => async (dispatch) => {\r\n try {\r\n dispatch(tokenRenewRequest());\r\n\r\n const cache = sessionCache();\r\n const timer = Timer.getInstance();\r\n const session = cache.getSession();\r\n\r\n if (session) {\r\n const response = await renewToken(session.refreshToken);\r\n const body = decodeJwt(response.data.accessToken);\r\n\r\n cache.updateTokens(response.data.accessToken, response.data.refreshToken);\r\n timer.start(body.exp);\r\n\r\n dispatch(\r\n tokenRenewSuccess({\r\n accessToken: response.data.accessToken,\r\n refreshToken: response.data.refreshToken,\r\n })\r\n );\r\n } else {\r\n dispatch(logOff());\r\n }\r\n } catch (error) {\r\n dispatch(tokenRenewError());\r\n dispatch(logOff());\r\n dispatch(\r\n signInError({ errorMessage: \"Sesija istekla, ponovno se prijavite.\" })\r\n );\r\n }\r\n};\r\n\r\nexport const signInUser = (data: SignInRequest): AppThunk => async (\r\n dispatch\r\n) => {\r\n try {\r\n dispatch(signInRequest());\r\n\r\n const response = await signIn(data);\r\n const cache = sessionCache();\r\n const { accessToken, refreshToken } = response.data;\r\n const body = decodeJwt(accessToken);\r\n const refreshBody = decodeJwt(refreshToken);\r\n\r\n const authData = {\r\n userId: body.sub,\r\n email: body.email,\r\n accessToken: accessToken,\r\n refreshToken: refreshToken,\r\n role: { value: 0, label: \"\" },\r\n userType: { value: 0, label: \"\" },\r\n rememberMe: data.rememberMe,\r\n };\r\n\r\n dispatch(signInSuccess(authData));\r\n\r\n cache.saveSession(data.rememberMe, {\r\n ...authData,\r\n expiration: body.exp,\r\n refreshExpiration: refreshBody.exp,\r\n });\r\n const timer = Timer.getInstance();\r\n\r\n timer.addHandler(async () => {\r\n dispatch(tokenRenew());\r\n });\r\n\r\n timer.start(body.exp);\r\n\r\n dispatch(getProfile());\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(signInError({ errorMessage: first.message }));\r\n }\r\n};\r\n\r\nexport const logOff = (): AppThunk => async (dispatch) => {\r\n const cache = sessionCache();\r\n\r\n cache.removeSession();\r\n dispatch(signOut());\r\n};\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n forgotPasswordError: boolean;\r\n errorMessage: string;\r\n successMessage: string;\r\n forgotPasswordSuccess: boolean;\r\n passwordMailSent: boolean;\r\n}\r\n\r\ninterface ForgotPasswordError {\r\n errorMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n forgotPasswordError: false,\r\n forgotPasswordSuccess: false,\r\n passwordMailSent: false,\r\n errorMessage: \"\",\r\n successMessage: \"\",\r\n};\r\nconst forgotPasswordSlice = createSlice({\r\n name: \"ForgotPassword\",\r\n initialState: initialState,\r\n reducers: {\r\n forgotPasswordRequest: (state) => {\r\n state.forgotPasswordError = false;\r\n state.forgotPasswordSuccess = false;\r\n state.isLoading = true;\r\n },\r\n forgotPasswordSuccess: (state) => {\r\n state.isLoading = false;\r\n state.forgotPasswordSuccess = true;\r\n state.passwordMailSent = true;\r\n },\r\n forgotPasswordError: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isLoading = false;\r\n state.forgotPasswordError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n state.passwordMailSent = false;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = forgotPasswordSlice;\r\n\r\nexport const {\r\n forgotPasswordError,\r\n forgotPasswordRequest,\r\n forgotPasswordSuccess,\r\n} = actions;\r\n\r\nexport const forgotPasswordReducer = forgotPasswordSlice.reducer;\r\n","import { sendForgotPasswordEmail } from \"services\";\r\nimport { AppThunk } from \"store\";\r\nimport {\r\n forgotPasswordError,\r\n forgotPasswordRequest,\r\n forgotPasswordSuccess,\r\n} from \"./reducer\";\r\n\r\nexport const sendPasswordResetEmail = (email: string): AppThunk => async (\r\n dispatch\r\n) => {\r\n try {\r\n dispatch(forgotPasswordRequest());\r\n\r\n await sendForgotPasswordEmail(email);\r\n dispatch(forgotPasswordSuccess());\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(forgotPasswordError({ errorMessage: first.message }));\r\n }\r\n};\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n activateAccountError: boolean;\r\n errorMessage: string;\r\n successMessage: string;\r\n activateAccountSuccess: boolean;\r\n}\r\n\r\ninterface ActivateAccountError {\r\n errorMessage: string;\r\n}\r\n\r\ninterface ActivateAccountSuccess {\r\n successMessage: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n activateAccountError: false,\r\n activateAccountSuccess: false,\r\n errorMessage: \"\",\r\n successMessage: \"\",\r\n};\r\nconst activateAccountSlice = createSlice({\r\n name: \"activateAccount\",\r\n initialState: initialState,\r\n reducers: {\r\n activateAccountRequest: (state) => {\r\n state.activateAccountError = false;\r\n state.activateAccountSuccess = false;\r\n state.isLoading = true;\r\n },\r\n activateAccountSuccess: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isLoading = false;\r\n state.activateAccountSuccess = true;\r\n state.successMessage = action.payload.successMessage;\r\n },\r\n activateAccountError: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isLoading = false;\r\n state.activateAccountError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = activateAccountSlice;\r\n\r\nexport const {\r\n activateAccountError,\r\n activateAccountRequest,\r\n activateAccountSuccess,\r\n} = actions;\r\n\r\nexport const activateAccountReducer = activateAccountSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n changePasswordError: boolean;\r\n errorMessage: string;\r\n successMessage: string;\r\n changePasswordSuccess: boolean;\r\n verifySuccess: boolean;\r\n verifyError: boolean;\r\n code: string;\r\n}\r\n\r\ninterface ChangePasswordError {\r\n errorMessage: string;\r\n}\r\n\r\ninterface ChangePasswordSuccess {\r\n successMessage: string;\r\n}\r\n\r\ninterface VerifyLinkSuccess {\r\n code: string;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n changePasswordError: false,\r\n changePasswordSuccess: false,\r\n verifySuccess: false,\r\n verifyError: false,\r\n errorMessage: \"\",\r\n successMessage: \"\",\r\n code: \"\",\r\n};\r\n\r\nconst changePasswordSlice = createSlice({\r\n name: \"changePassword\",\r\n initialState: initialState,\r\n reducers: {\r\n verifyPasswordResetLinkRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n verifyPasswordResetLinkSuccess: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isLoading = false;\r\n state.verifySuccess = true;\r\n state.code = action.payload.code;\r\n },\r\n verifyPasswordResetLinkError: (state) => {\r\n state.isLoading = false;\r\n state.verifyError = true;\r\n },\r\n changePasswordRequest: (state) => {\r\n state.changePasswordError = false;\r\n state.changePasswordSuccess = false;\r\n state.isLoading = true;\r\n },\r\n changePasswordSuccess: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isLoading = false;\r\n state.changePasswordSuccess = true;\r\n state.successMessage = action.payload.successMessage;\r\n },\r\n changePasswordError: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.isLoading = false;\r\n state.changePasswordError = true;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = changePasswordSlice;\r\n\r\nexport const {\r\n changePasswordError,\r\n changePasswordRequest,\r\n changePasswordSuccess,\r\n verifyPasswordResetLinkRequest,\r\n verifyPasswordResetLinkError,\r\n verifyPasswordResetLinkSuccess,\r\n} = actions;\r\n\r\nexport const changePasswordReducer = changePasswordSlice.reducer;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.2,\n d: \"M1 4.14286L3.90323 7L10 1\",\n stroke: \"#555555\",\n strokeWidth: 2\n});\n\nfunction SvgBaseCheck(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 11,\n height: 9,\n viewBox: \"0 0 11 9\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBaseCheck);\nexport default __webpack_public_path__ + \"static/media/base-check.cb4a719b.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport { ReactComponent as CheckIcon } from \"assets/icons/check.svg\";\r\nimport { ReactComponent as BaseCheckIcon } from \"assets/icons/base-check.svg\";\r\n\r\ninterface Props {\r\n isActive: boolean;\r\n className?: string;\r\n lengthRequirement: boolean;\r\n charRequiremenet: boolean;\r\n numberRequirement: boolean;\r\n}\r\nexport const PassworRequirements: React.FC = ({\r\n className,\r\n isActive,\r\n lengthRequirement,\r\n charRequiremenet,\r\n numberRequirement,\r\n}) => {\r\n return (\r\n \r\n
    \r\n
    \r\n {lengthRequirement ? (\r\n \r\n ) : (\r\n \r\n )}\r\n Lozinka treba imati minimalno 8 znakova\r\n
    \r\n
    \r\n {charRequiremenet ? (\r\n \r\n ) : (\r\n \r\n )}\r\n Mora sadržavati minimalno jedno veliko slovo i jedno malo\r\n
    \r\n
    \r\n {numberRequirement ? (\r\n \r\n ) : (\r\n \r\n )}\r\n Mora sadržavati minimalno jedan broj\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n score: number;\r\n}\r\nexport const PasswordStrength: React.FC = ({ score }) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { ValidationSummary } from \"modules/common\";\r\n\r\ninterface Props {\r\n error?: boolean;\r\n success?: boolean;\r\n info?: boolean;\r\n message: string;\r\n}\r\n\r\nexport const AccountMessages: React.FC = ({\r\n error,\r\n success,\r\n info,\r\n message,\r\n}) => {\r\n return (\r\n <>\r\n {error && (\r\n \r\n {message}\r\n \r\n )}\r\n {success && (\r\n \r\n {message}\r\n \r\n )}\r\n {info && (\r\n \r\n {message}\r\n \r\n )}\r\n \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 8.5C15 12.366 11.866 15.5 8 15.5C4.134 15.5 1 12.366 1 8.5C1 4.634 4.134 1.5 8 1.5C10.636 1.5 12.828 3.141 14 5.5\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 0.5V5.5H9\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgResend(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgResend);\nexport default __webpack_public_path__ + \"static/media/resend.aa20f23d.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 15,\n stroke: \"#22BC5D\",\n strokeWidth: 2\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5072 15.8929C12.1166 15.5024 11.4835 15.5024 11.0929 15.8929C10.7024 16.2834 10.7024 16.9166 11.0929 17.3071L12.5072 15.8929ZM14.2 19L13.4929 19.7071L14.2 20.4142L14.9072 19.7071L14.2 19ZM20.9072 13.7071C21.2977 13.3166 21.2977 12.6834 20.9072 12.2929C20.5166 11.9024 19.8835 11.9024 19.4929 12.2929L20.9072 13.7071ZM11.0929 17.3071L13.4929 19.7071L14.9072 18.2929L12.5072 15.8929L11.0929 17.3071ZM14.9072 19.7071L20.9072 13.7071L19.4929 12.2929L13.4929 18.2929L14.9072 19.7071Z\",\n fill: \"#22BC5D\"\n});\n\nfunction SvgSuccess(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSuccess);\nexport default __webpack_public_path__ + \"static/media/success.c50ed930.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport { ReactComponent as ResendIcon } from \"assets/icons/resend.svg\";\r\nimport { ReactComponent as SuccessIcon } from \"assets/icons/success.svg\";\r\nimport { ReactComponent as Spinner } from \"assets/icons/spinner.svg\";\r\nimport { Button } from \"../../../common\";\r\n\r\ninterface Props {\r\n isLoading: boolean;\r\n onClick: (event: React.MouseEvent) => void;\r\n}\r\nexport const EmailSent: React.FC = ({ isLoading, onClick }) => {\r\n return (\r\n
    \r\n

    \r\n Provjerite svoj email sandučić\r\n

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

    \r\n Poveznica za resetiranje lozinke vam je poslana na vašu email adresu.\r\n Ukoliko ne vidite email kroz par minuta, provjerite i spam, social ili\r\n junk datoteke unutar inboxa.\r\n

    \r\n
    \r\n {isLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n \r\n Pošaljite email ponovno\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Button } from \"../../../common\";\r\n\r\nexport const LinkExpired: React.FC = () => {\r\n return (\r\n
    \r\n

    Poveznica je istekla

    \r\n

    \r\n Vaša poveznica za resetiranje lozinke je istekla. Molimo zatražite novu\r\n poveznicu na početnoj stranici.\r\n

    \r\n \r\n
    \r\n );\r\n};\r\n","export default __webpack_public_path__ + \"static/media/LogoMP.5c948481.jpg\";","import React from \"react\";\r\nimport Mplogo from \"assets/images/LogoMP.jpg\";\r\ninterface Props {\r\n className?: string;\r\n}\r\nexport const AccountHeader: React.FC = ({ className }) => {\r\n return (\r\n
    \r\n \"\"\r\n
    \r\n );\r\n};\r\n","export default __webpack_public_path__ + \"static/media/unsplash.89495c06.jpg\";","import React from 'react';\r\nimport AuthImage from 'assets/images/unsplash.jpg';\r\nimport { ToastContainer } from 'react-toastify';\r\ninterface Props {\r\n header: React.ReactNode;\r\n footer: React.ReactNode;\r\n}\r\nexport const AccountLayout: React.FC = ({\r\n children,\r\n footer,\r\n header,\r\n}) => {\r\n return (\r\n
    \r\n
    \r\n \"\"\r\n
    \r\n {header}\r\n
    {children}
    \r\n {footer}\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n","import { Button, Modal, ModalFooter, ModalHeader } from \"modules/common\";\r\nimport React from \"react\";\r\n\r\ninterface Props {\r\n isVisible: boolean;\r\n toggleModal: () => void;\r\n}\r\n\r\nexport const TermsOfUseModal: React.FC = ({\r\n isVisible,\r\n toggleModal,\r\n}) => {\r\n return (\r\n \r\n }\r\n modalFooter={\r\n \r\n \r\n Zatvori\r\n \r\n \r\n }\r\n >\r\n

    \r\n

    1. OPĆE ODREDBE

    \r\n

    Ministarstvo poljoprivrede, OIB: 7676736919, Ulica grada Vukovara 78, 10000 Zagreb (u daljnjem tekstu Ministarstvo), na način predviđen ovim Uvjetima: uređuje kreiranje korisničkog računa na web aplikaciji e-Savjetnik; prijava, pristup i korištenje sadržaja i raspoloživih podataka dostupnih putem web aplikacije e-Savjetnik.\r\n Web aplikacija e-Savjetnik namijenjena je poljoprivrednicima upisanima u Upisnik poljoprivrednika, zainteresiranim građanima te službenicima Ministarstva poljoprivrede.

    \r\n

    2. KREIRANJE KORISNIČKOG RAČUNA

    \r\n

    Kreiranje jedinstvenog korisničkog računa mogu izvršiti zainteresirani poljoprivrednici upisani u Upisnik poljoprivrednika i građani. Službenici Ministarstva poljoprivrede ne moraju kreirati korisnički račun već se u aplikaciju prijavljuju kroz svoje službene vjerodajnice. Poljoprivrednici se registriraju u sustav e-Savjetnik koristeći e-mail adresu registriranu u Upisniku poljoprivrednih gospodarstava. Nakon što se ispuni registracijski obrazac korisniku se šalje verifikacijska e-mail poruka i prijava u eSavjetnik je moguća tek nakon što je korisnik klikom na poveznicu u e-mailu potvrdio primitak maila i vlasništvo nad e-mail adresom registriranom u Upisniku poljoprivrednih gospodarstava.

    \r\n

    3. REGISTRACIJA NA WEB APLIKACIJU „e-SAVJETNIK“

    \r\n

    Korisnikom web aplikacije e-Savjetnik postaje se nakon izvršenog postupka registracije provedenog sukladno točki 2. ovih Uvjeta.\r\n Kreiranje korisničkog računa je dobrovoljno. Klikom na polje “Prihvaćam Uvjete korištenja„ Korisnik potvrđuje da je u cijelosti upoznat i prihvaća ove Uvjete na način da Ministarstvu daje privolu da njegove osobne podatke prikupljene na temelju i u svrhu izvršavanja danih usluga predviđenih u aplikaciji, obrađuje u svrhu pružanja usluga putem web aplikacije e-Savjetnik, a što obuhvaća:

    \r\n
      \r\n
    • prikaz osobnih podataka Korisnika,
    • \r\n
    • \tpregledavanje računa i aktivnosti Korisnika,
    • \r\n
    \r\n

    sve u skladu s našim pravilima o zaštiti podataka Korisnika.

    \r\n

    4. ZAHTJEV ZA BRISANJE KORISNIČKOG RAČUNA

    \r\n

    Ukoliko Korisnik želi izbrisati svoj korisnički račun u web aplikaciji e-Savjetnik, takav zahtjev može postaviti putem emaila strucna-podrska@mps.hr.

    \r\n

    5. ZAŠTITA OSOBNIH PODATAKA I PRIVATNOSTI PRILIKOM KORIŠTENJA WEB APLIKACIJE e-SAVJETNIK

    \r\n

    \r\n

      \r\n
    • Opće odredbe
    • \r\n

      Korištenjem usluga aplikacije e-Savjetnik povjeravate nam svoje osobne podatke. Ovim uvjetima Ministarstvo opisuje način postupanja sa osobnim podacima koji se Korisnicima daju na uvid i koji se od njega prikupljaju.\r\n Ministarstvo pridaje osobitu pozornost zaštiti osobnih podataka i privatnosti svojih korisnika u skladu s važećim zakonskim i podzakonskim hrvatskim i europskim propisima i najboljom europskom praksom. Zaštita privatnosti korisnika aplikacije e-Savjetnik sastavni je dio naših usluga te važan čimbenik korisničkog iskustva.\r\n Za potrebe korištenja aplikacije e-Savjetnik, Ministarstvo prikuplja i obrađuje one osobne podatke Korisnika koji su primjereni i nužni za postizanje određene svrhe te u skladu sa svrhom u koju su prikupljeni. Ministarstvo će osobne podatke korisnika čuvati u tajnosti te ih neće distribuirati, objavljivati, davati trećim stranama na korištenje niti ih na bilo koji drugi način učiniti dostupnima bilo kojoj trećoj fizičkoj ili pravnoj osobi bez prethodne suglasnosti Korisnika.

      \r\n
    • Zaštita podataka
    • \r\n

      Ministarstvo poštuje privatnost svojih Korisnika pa tako i Korisnika aplikacije e-Savjetnik te sa njihovim osobnim podacima postupa odgovorno i pažljivo poduzimajući sve potrebne tehničke, organizacijske i sigurnosne mjere u cilju zaštite istih od gubitka, izmjena, ili neovlaštenog pristupa.\r\n Korisnikove osobne identifikacijske informacije čuvaju se na serveru, a pristup osobnim podacima je dozvoljen samo ovlaštenim službenicima Ministarstva.

      \r\n
    • Prikupljanje podataka
    • \r\n

      Ministarstvo prati statističku posjećenost i način korištenja aplikacije e-Savjetnik radi prikupljanja podataka o uspješnosti usluga danih na korištenje Korisnicima.

      \r\n
    • Povjerljivost podataka trećih osoba
    • \r\n

      Ovi Uvjeti odnose se samo na uporabu i korištenje aplikacije e-Savjetnik te u odnosu na podatke koje Ministarstvo prikuplja od Korisnika u svrhu omogućavanja korištenja navedenih servisa. Druge internetske stranice ili aplikacije kojima se može pristupiti putem aplikacije e-Savjetnik imaju svoje vlastite izjave o povjerljivosti i prikupljanju podataka te načine njihovog korištenja i objavljivanja na njima. Ako Korisnika prebaci na bilo koju takvu stranicu, preporučamo Korisniku da pregleda izjavu o povjerljivosti podataka te stranice. Ministarstvo nije odgovorno za načine i uvjete rada trećih strana s kojima nije u ugovornom odnosu.

      \r\n
    \r\n

    \r\n

    6. OBVEZE KORISNIKA

    \r\n

    Kao Korisnik dužni ste brinuti o sigurnosti Vaše Korisničke lozinke. Preporučljivo je da se lozinka ne daje drugim osobama. Vaša lozinka ne smije biti jednostavna, a preporučamo da lozinka sadržava minimalno 6 znamenki (brojke, slova i znakovi u kombinaciji). Također, lozinka ne bi smjela sadržavati: osobne podatke (ime, prezime, e-mail, kućna adresa, broj telefona, datum rođenja), brojeve u nizu ili identične brojeve, slova u nizu ili identična slova ili generičke riječi kao što su: lozinka, zaporka itd.\r\n Korisnik se obvezuje da će prilikom korištenja aplikacije iz ovih Uvjeta poduzimati odgovarajuće sigurnosne mjere svaki put nakon korištenja aplikacije kako bi se izbjegla mogućnost zlouporabe.\r\n Također, Ministarstvo ne odgovara za štetu koja nastane prilikom korištenja web aplikacije e-Savjetnik ukoliko je istu Korisnik koristio na nesavjestan način ili ukoliko je dao pristup trećim osobama, kao ni za možebitnu štetu i/ili posljedice nastale postupanjem protivno navedenim obvezama Korisnika.

    \r\n

    8. ZAVRŠNE ODREDBE

    \r\n

    Ministarstvo zadržava pravo izmijeniti i dopuniti odredbe ovih Uvjeta, uz obvezu objave promjena najmanje 15 dana prije stupanja na snagu, slanjem obavijesti putem aplikacije e-Savjetnik. Ovi Uvjeti stupaju na snagu najranije 15 dana od dana slanja obavijesti.

    \r\n

    \r\n \r\n );\r\n};\r\n","interface JwtBody {\r\n acr: string;\r\n aud: string;\r\n azp: string;\r\n email: string;\r\n email_verified: boolean;\r\n exp: number;\r\n iat: number;\r\n iss: string;\r\n jti: string;\r\n preferred_username: string;\r\n realm_access: {\r\n roles: string[];\r\n };\r\n resource_access: {\r\n \"KingICT.eAdviser\": {\r\n roles: string[];\r\n };\r\n account: {\r\n roles: string[];\r\n };\r\n };\r\n scope: string;\r\n session_state: string;\r\n sub: string;\r\n typ: string;\r\n}\r\n\r\nexport const decodeJwt = (jwt: string) => {\r\n const parts = jwt.split(\".\");\r\n const [, second] = parts;\r\n\r\n const body: JwtBody = JSON.parse(atob(second));\r\n return body;\r\n};\r\n","import { differenceInSeconds } from \"date-fns\";\r\ntype VoidFunction = () => void;\r\n\r\nexport class Timer {\r\n private defaultTimerInterval = 5; // how often do we check for token expiration, default 5 seconds.\r\n private tokenExpirationTreshold = 60; // trigger token refresh 60 seconds before it expires.\r\n private timerHandle: NodeJS.Timeout | null = null;\r\n private static instance: Timer;\r\n private handler: VoidFunction | null = null;\r\n private expiresAt: Date | null = null;\r\n private constructor() {}\r\n\r\n static getInstance = () => {\r\n if (!Timer.instance) {\r\n Timer.instance = new Timer();\r\n }\r\n\r\n return Timer.instance;\r\n };\r\n\r\n private setTimer = (cb: VoidFunction, duration: number) =>\r\n setInterval(cb, duration);\r\n\r\n private clearTimer = (handle: NodeJS.Timeout) => clearInterval(handle);\r\n\r\n public cancel = () => {\r\n if (this.timerHandle) {\r\n this.clearTimer(this.timerHandle);\r\n this.timerHandle = null;\r\n }\r\n };\r\n\r\n private checkDiff = () => {\r\n const now = new Date(Date.now());\r\n \r\n if (\r\n differenceInSeconds(this.expiresAt!, now) <= this.tokenExpirationTreshold\r\n ) {\r\n this.cancel();\r\n // raise the event\r\n if (this.handler) {\r\n this.handler();\r\n }\r\n }\r\n };\r\n\r\n public addHandler = (timerHandler: VoidFunction) => {\r\n this.handler = timerHandler;\r\n };\r\n\r\n public start = (duration: number) => {\r\n if (duration <= 0) {\r\n duration = 1;\r\n }\r\n\r\n const expiresAt = new Date(duration * 1000);\r\n this.expiresAt = new Date(duration * 1000);\r\n\r\n //timer already set with same expiration, terminate\r\n if (this.expiresAt === expiresAt && this.timerHandle) {\r\n return;\r\n }\r\n\r\n this.cancel();\r\n\r\n this.expiresAt = expiresAt;\r\n\r\n // default timer is short to handle scenarios where the browser device sleeps, and then the timers end up getting delayed.\r\n let timerDuration = this.defaultTimerInterval;\r\n\r\n if (duration < timerDuration) {\r\n timerDuration = duration;\r\n }\r\n\r\n this.timerHandle = this.setTimer(this.checkDiff, timerDuration * 1000);\r\n };\r\n}\r\n","import qs from \"query-string\";\r\n\r\nconst getCode = (code: string | string[]) => {\r\n if (typeof code === \"string\") {\r\n return code;\r\n }\r\n\r\n const [first] = code;\r\n\r\n return first;\r\n};\r\n\r\nexport function getUrlCode(url: string) {\r\n const decoded = decodeURIComponent(url);\r\n const parsedQuery = qs.parse(decoded);\r\n\r\n if (parsedQuery.code) {\r\n return getCode(parsedQuery.code);\r\n }\r\n\r\n return null;\r\n}\r\n","import { decodeJwt } from \"..\";\r\n\r\ninterface SessionData {\r\n userId: string;\r\n email: string;\r\n accessToken: string;\r\n refreshToken: string;\r\n role: {\r\n value: number;\r\n label: string;\r\n };\r\n userType: {\r\n value: number;\r\n label: string;\r\n };\r\n expiration: number;\r\n rememberMe: boolean;\r\n refreshExpiration: number;\r\n}\r\n\r\nexport function sessionCache() {\r\n const key = \"session\";\r\n\r\n const saveSession = (rememberMe: boolean, data: unknown) => {\r\n if (rememberMe) {\r\n localStorage.setItem(key, JSON.stringify(data));\r\n return;\r\n }\r\n\r\n sessionStorage.setItem(key, JSON.stringify(data));\r\n };\r\n\r\n const removeSession = () => {\r\n localStorage.removeItem(key);\r\n sessionStorage.removeItem(key);\r\n };\r\n\r\n const updateTokens = (accessToken: string, refreshToken: string) => {\r\n const session = getSession();\r\n\r\n if (!session) {\r\n return;\r\n }\r\n const body = decodeJwt(accessToken);\r\n\r\n session.accessToken = accessToken;\r\n session.refreshToken = refreshToken;\r\n session.expiration = body.exp;\r\n\r\n saveSession(session.rememberMe, session);\r\n };\r\n\r\n const updateSession = (data: SessionData) => {\r\n let existingSession = getSession();\r\n\r\n if (!existingSession) {\r\n saveSession(data.rememberMe, data);\r\n return;\r\n }\r\n\r\n existingSession = {\r\n ...data,\r\n };\r\n\r\n saveSession(existingSession.rememberMe, existingSession);\r\n };\r\n\r\n const getSession = () => {\r\n let session = sessionStorage.getItem(key);\r\n\r\n if (!session) {\r\n session = localStorage.getItem(key);\r\n }\r\n\r\n if (session) {\r\n return JSON.parse(session) as SessionData;\r\n } else {\r\n return null;\r\n }\r\n };\r\n return {\r\n saveSession,\r\n removeSession,\r\n getSession,\r\n updateTokens,\r\n updateSession,\r\n };\r\n}\r\n","export const isOneLowerCaseChar = (input: string) =>\r\n new RegExp(\"(?=.*[a-z])\").test(input);\r\n\r\nexport const isOneUpperCaseChar = (input: string) =>\r\n new RegExp(\"(?=.*[A-Z])\").test(input);\r\n\r\nexport const isOneNumericChar = (input: string) =>\r\n new RegExp(\"(?=.*[0-9])\").test(input);\r\n\r\nexport const isOneSpecialChar = (input: string) =>\r\n new RegExp(\"(?=.*[!@#$%^&*.;<>_?])\").test(input);\r\n\r\nexport const isEightCharLong = (input: string) =>\r\n new RegExp(\"(?=.{8,})\").test(input);\r\n\r\nexport const isTenCharLong = (input: string) =>\r\n new RegExp(\"(?=.{10,})\").test(input);\r\n\r\nexport const isValidEmail = (input: string) =>\r\n new RegExp(\"^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,6}$\").test(input);\r\n\r\nexport const isValidMobile = (input: string) =>\r\n new RegExp(\r\n \"^(\\\\+\\\\d{1,2}\\\\s)?\\\\(?\\\\d{3}\\\\)?[\\\\s.-]?\\\\d{3}[\\\\s.-]?\\\\d{3,4}$\"\r\n ).test(input);\r\n","import {\r\n isOneNumericChar,\r\n isOneSpecialChar,\r\n isOneUpperCaseChar,\r\n isOneLowerCaseChar,\r\n isTenCharLong,\r\n} from \"./validation\";\r\n\r\nexport const calculatePasswordStrength = (input: string) => {\r\n let score = 0;\r\n\r\n if (isOneLowerCaseChar(input)) {\r\n score++;\r\n }\r\n\r\n if (isOneUpperCaseChar(input)) {\r\n score++;\r\n }\r\n\r\n if (isOneNumericChar(input)) {\r\n score++;\r\n }\r\n\r\n if (isOneSpecialChar(input)) {\r\n score++;\r\n }\r\n\r\n if (isTenCharLong(input)) {\r\n score++;\r\n }\r\n\r\n return score;\r\n};\r\n","import { AbilityBuilder } from \"@casl/ability\";\r\nimport { AppAbility } from \"modules/auth\";\r\n\r\nexport const defineRulesForFarmer = (\r\n abilityBuilder: AbilityBuilder\r\n) => {\r\n const { can, cannot, rules } = abilityBuilder;\r\n\r\n cannot(\"view\", \"CourseList\");\r\n cannot(\"view\", \"FarmList\");\r\n cannot(\"update\", \"UserRole\");\r\n\r\n can(\"view\", \"EducationModule\");\r\n can(\"view\", \"CourseRegistration\");\r\n can(\"view\", \"AgroclimateStations\");\r\n can(\"view\", \"PlantProtection\");\r\n can(\"view\", \"Records\");\r\n\r\n can(\"view\", \"WeatherAlarmToggle\");\r\n\r\n return rules;\r\n};","import { createContext } from \"react\";\r\nimport { createContextualCan } from \"@casl/react\";\r\nimport { AppAbility } from \"./ability\";\r\n\r\nexport const AbilityContext = createContext(undefined!);\r\n\r\nexport const Can = createContextualCan(AbilityContext.Consumer);\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.5 5.73193C14.73 6.89993 15.5 7.99993 15.5 7.99993C15.5 7.99993 12 12.9999 7.99997 12.9999C7.48797 12.9999 6.98497 12.9179 6.49597 12.7749\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.275 11.725C2.048 10.243 0.5 8 0.5 8C0.5 8 4 3 8 3C9.326 3 10.605 3.553 11.712 4.288\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 15L15 1\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgEyeOff(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEyeOff);\nexport default __webpack_public_path__ + \"static/media/eye-off.d39c9711.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 8C0.5 8 3.5 2.5 8 2.5C12.5 2.5 15.5 8 15.5 8C15.5 8 12.5 13.5 8 13.5C3.5 13.5 0.5 8 0.5 8Z\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 10.5C9.38071 10.5 10.5 9.38071 10.5 8C10.5 6.61929 9.38071 5.5 8 5.5C6.61929 5.5 5.5 6.61929 5.5 8C5.5 9.38071 6.61929 10.5 8 10.5Z\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgEye(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEye);\nexport default __webpack_public_path__ + \"static/media/eye.00b49841.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#2DB561\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5 8.5L6.5 10.5L11.5 5.5\",\n stroke: \"white\",\n strokeWidth: 2\n});\n\nfunction SvgValid(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgValid);\nexport default __webpack_public_path__ + \"static/media/valid.8b77cb20.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.1,\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#242424\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5 8.5L6.5 10.5L11.5 5.5\",\n stroke: \"white\",\n strokeWidth: 2\n});\n\nfunction SvgBaseValid(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBaseValid);\nexport default __webpack_public_path__ + \"static/media/base-valid.1b4542c8.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useState } from 'react';\r\nimport { Button, FormGroup, Input, InputLabel, isEmpty, useTitle } from 'modules/common';\r\nimport { ReactComponent as EyeOffIcon } from 'assets/icons/eye-off.svg';\r\nimport { ReactComponent as EyeIcon } from 'assets/icons/eye.svg';\r\nimport { ReactComponent as ValidIcon } from 'assets/icons/valid.svg';\r\nimport { ReactComponent as BaseValidIcon } from 'assets/icons/base-valid.svg';\r\nimport { ReactComponent as Spinner } from 'assets/icons/spinner.svg';\r\nimport {\r\n calculatePasswordStrength,\r\n formErrorMessages,\r\n getUrlCode,\r\n isEightCharLong,\r\n isOneLowerCaseChar,\r\n isOneNumericChar,\r\n isOneUpperCaseChar,\r\n LinkExpired,\r\n PasswordStrength,\r\n PassworRequirements,\r\n verfiyPasswordLink,\r\n verifyPasswordResetLinkError,\r\n updatePassword,\r\n} from 'modules/auth';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { RootState } from 'store';\r\nimport { AppRoutes } from 'routing';\r\n\r\ninterface FormState {\r\n password: string;\r\n passwordRepeat: string;\r\n}\r\n\r\nconst Fields = {\r\n password: 'password',\r\n passwordRepeat: 'passwordRepeat',\r\n};\r\n\r\nexport const ChangePassword: React.FC = () => {\r\n useTitle('Nova lozinka - eSavjetnik');\r\n const { search } = useLocation();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const changePassword = useSelector(\r\n (state: RootState) => state.changePassword\r\n );\r\n const {\r\n verifySuccess,\r\n verifyError,\r\n changePasswordSuccess,\r\n code: changePasswordCode,\r\n isLoading,\r\n } = changePassword;\r\n const [formErrors, setFormErrors] = useState>({});\r\n const [formState, setFormState] = useState({\r\n password: '',\r\n passwordRepeat: '',\r\n });\r\n const [showPwdReq, setShowPwdReq] = useState(false);\r\n const [showPassword, setShowPassword] = useState(false);\r\n const [showPasswordRepeat, setShowPasswordRepeat] = useState(false);\r\n const [doPasswordsMatch, setDoPasswordsMatch] = useState(false);\r\n const [lengthFulfilled, setLengthFulfilled] = useState(false);\r\n const [numberFulfilled, setNumberFulfilled] = useState(false);\r\n const [charsFulfilled, setCharsFulfilled] = useState(false);\r\n const [passwordScore, setPasswordScore] = useState(0);\r\n const [isPasswordResetSuccess, setIsPasswordResetSuccess] = useState(false);\r\n\r\n useEffect(() => {\r\n if (changePasswordSuccess) {\r\n history.push({\r\n pathname: AppRoutes.SignIn,\r\n });\r\n }\r\n }, [changePasswordSuccess, history]);\r\n\r\n useEffect(() => {\r\n const code = getUrlCode(search);\r\n\r\n if (!code) {\r\n dispatch(verifyPasswordResetLinkError());\r\n return;\r\n }\r\n\r\n dispatch(verfiyPasswordLink(code));\r\n }, [search]);\r\n\r\n useEffect(() => {\r\n const code = getUrlCode(search);\r\n if (!code) {\r\n setIsPasswordResetSuccess(false);\r\n return;\r\n }\r\n\r\n if (code && verifyError) {\r\n setIsPasswordResetSuccess(false);\r\n return;\r\n }\r\n\r\n if (code && verifySuccess) {\r\n setIsPasswordResetSuccess(true);\r\n return;\r\n }\r\n }, [verifyError, verifySuccess, search]);\r\n\r\n const passwordsMatch = () => {\r\n return formState.password === formState.passwordRepeat;\r\n };\r\n\r\n const clearFormError = (field: string) => {\r\n const filtered = Object.keys(formErrors)\r\n .filter((key) => key !== field)\r\n .reduce((obj, key) => {\r\n return {\r\n ...obj,\r\n [key]: formErrors[key],\r\n };\r\n }, {});\r\n setFormErrors({ ...filtered });\r\n };\r\n\r\n const handlePasswordChange = (event: React.ChangeEvent) => {\r\n const { value } = event.target;\r\n checkPassword(value);\r\n\r\n setFormState((prev) => ({\r\n ...prev,\r\n [event.target.name]: value,\r\n }));\r\n };\r\n\r\n const handleInputChange = (event: React.ChangeEvent) => {\r\n const { value, name } = event.target;\r\n setFormState((prev) => ({\r\n ...prev,\r\n [name]: value,\r\n }));\r\n };\r\n\r\n const handlePasswordBlur = (event: React.FocusEvent) => {\r\n const { value, name } = event.target;\r\n setShowPwdReq(false);\r\n\r\n if (isEmpty(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.required,\r\n }));\r\n setPasswordScore(0);\r\n setLengthFulfilled(false);\r\n setCharsFulfilled(false);\r\n setNumberFulfilled(false);\r\n return;\r\n }\r\n\r\n if (\r\n !isOneLowerCaseChar(value) ||\r\n !isOneUpperCaseChar(value) ||\r\n !isOneNumericChar(value) ||\r\n !isEightCharLong(value)\r\n ) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.invalidPassword,\r\n }));\r\n return;\r\n }\r\n\r\n if (formState.passwordRepeat.length && !passwordsMatch()) {\r\n setDoPasswordsMatch(false);\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [Fields.passwordRepeat]: formErrorMessages.invalidPassword,\r\n }));\r\n\r\n return;\r\n }\r\n\r\n clearFormError(name);\r\n };\r\n\r\n const checkPassword = (value: string) => {\r\n if (isOneLowerCaseChar(value) && isOneLowerCaseChar(value)) {\r\n setCharsFulfilled(true);\r\n } else {\r\n setCharsFulfilled(false);\r\n }\r\n\r\n if (isOneNumericChar(value)) {\r\n setNumberFulfilled(true);\r\n } else {\r\n setNumberFulfilled(false);\r\n }\r\n\r\n if (isEightCharLong(value)) {\r\n setLengthFulfilled(true);\r\n } else {\r\n setLengthFulfilled(false);\r\n }\r\n\r\n setPasswordScore(calculatePasswordStrength(value));\r\n };\r\n\r\n const handlePasswordRepeatBlur = (\r\n event: React.FocusEvent\r\n ) => {\r\n const { value, name } = event.target;\r\n\r\n if (isEmpty(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.required,\r\n }));\r\n return;\r\n }\r\n\r\n clearFormError(name);\r\n\r\n if (!passwordsMatch()) {\r\n setDoPasswordsMatch(false);\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.invalidPassword,\r\n }));\r\n\r\n return;\r\n }\r\n\r\n setDoPasswordsMatch(true);\r\n clearFormError(name);\r\n };\r\n\r\n const handleShowPassword = (\r\n _event: React.MouseEvent\r\n ) => setShowPassword((prev) => !prev);\r\n\r\n const handleShowPassworRepeat = (\r\n _event: React.MouseEvent\r\n ) => setShowPasswordRepeat((prev) => !prev);\r\n\r\n const handleSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n\r\n const code = getUrlCode(search);\r\n\r\n if (!code) return;\r\n dispatch(updatePassword(code, formState.password));\r\n };\r\n\r\n const buttonDisabled =\r\n Object.values(formState).some((x) => x.length < 1) ||\r\n Object.values(formErrors).length > 0;\r\n return (\r\n
    \r\n {isPasswordResetSuccess ? (\r\n <>\r\n

    Nova lozinka

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n ) : (\r\n \r\n )\r\n }\r\n onChange={handlePasswordChange}\r\n onFocus={() => {\r\n setShowPwdReq(true);\r\n }}\r\n onBlur={handlePasswordBlur}\r\n >\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n : }\r\n rightIcon={\r\n showPasswordRepeat ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n onChange={handleInputChange}\r\n onBlur={handlePasswordRepeatBlur}\r\n />\r\n
    \r\n
    \r\n {isLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n Snimi novu lozinku\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n","import { resetPassword, verifyResetPasswordCode } from \"services\";\r\nimport { AppThunk } from \"store\";\r\n\r\nimport {\r\n verifyPasswordResetLinkRequest,\r\n verifyPasswordResetLinkError,\r\n verifyPasswordResetLinkSuccess,\r\n changePasswordRequest,\r\n changePasswordSuccess,\r\n changePasswordError,\r\n} from \"./reducer\";\r\n\r\nexport const verfiyPasswordLink = (code: string): AppThunk => async (\r\n dispatch\r\n) => {\r\n try {\r\n dispatch(verifyPasswordResetLinkRequest());\r\n\r\n await verifyResetPasswordCode(code);\r\n dispatch(verifyPasswordResetLinkSuccess({ code }));\r\n } catch (error) {\r\n //const [first] = error.response.data.statuses;\r\n dispatch(verifyPasswordResetLinkError());\r\n }\r\n};\r\n\r\nexport const updatePassword = (\r\n code: string,\r\n password: string\r\n): AppThunk => async (dispatch) => {\r\n try {\r\n dispatch(changePasswordRequest());\r\n\r\n const response = await resetPassword(code, password);\r\n const [first] = response.data.statuses;\r\n dispatch(changePasswordSuccess({ successMessage: first.message }));\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(changePasswordError({ errorMessage: first.message }));\r\n }\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Button, Input, InputLabel, isEmpty, useTitle } from \"modules/common\";\r\nimport { AppRoutes } from \"routing\";\r\nimport {\r\n formErrorMessages,\r\n isValidEmail,\r\n EmailSent,\r\n AccountMessages,\r\n sendPasswordResetEmail,\r\n} from \"modules/auth\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { ReactComponent as Spinner } from \"assets/icons/spinner.svg\";\r\nimport { RootState } from \"store\";\r\n\r\ninterface FormState {\r\n email: string;\r\n}\r\n\r\nconst Fields = {\r\n email: \"email\",\r\n};\r\n\r\nexport const ForgotPassword: React.FC = () => {\r\n useTitle('Zaboravljena lozinka - eSavjetnik');\r\n const dispatch = useDispatch();\r\n const forgotPassword = useSelector(\r\n (state: RootState) => state.forgotPassword\r\n );\r\n const {\r\n isLoading,\r\n forgotPasswordError,\r\n errorMessage,\r\n passwordMailSent,\r\n } = forgotPassword;\r\n const [formErrors, setFormErrors] = useState>({});\r\n const [formState, setFormState] = useState({\r\n email: \"\",\r\n });\r\n\r\n const clearFormError = (field: string) => {\r\n const filtered = Object.keys(formErrors)\r\n .filter((key) => key !== field)\r\n .reduce((obj, key) => {\r\n return {\r\n ...obj,\r\n [key]: formErrors[key],\r\n };\r\n }, {});\r\n setFormErrors({ ...filtered });\r\n };\r\n\r\n const handleInputChange = (event: React.ChangeEvent) => {\r\n const { value, name } = event.target;\r\n setFormState((prev) => ({\r\n ...prev,\r\n [name]: value,\r\n }));\r\n };\r\n\r\n const handleEmailBlur = (event: React.FocusEvent) => {\r\n const { value, name } = event.target;\r\n\r\n if (isEmpty(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.required,\r\n }));\r\n return;\r\n }\r\n\r\n if (!isValidEmail(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.invalidEmail,\r\n }));\r\n return;\r\n }\r\n\r\n clearFormError(name);\r\n };\r\n\r\n const handleSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n dispatch(sendPasswordResetEmail(formState.email));\r\n };\r\n\r\n const handleResend = (\r\n _event: React.MouseEvent\r\n ) => {\r\n dispatch(sendPasswordResetEmail(formState.email));\r\n };\r\n\r\n const buttonDisabled =\r\n Object.values(formState).some((x) => x.length < 1) ||\r\n Object.values(formErrors).length > 0;\r\n\r\n return (\r\n
    \r\n {passwordMailSent ? (\r\n \r\n ) : (\r\n <>\r\n

    \r\n Zaboravljena lozinka\r\n

    \r\n \r\n Želite nazad na prijavu?{\" \"}\r\n \r\n Prijavite se\r\n \r\n \r\n

    \r\n Unesite email adresu na koju ćemo vam poslati poveznicu za kreiranje\r\n nove lozinke.\r\n

    \r\n {forgotPasswordError && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n {isLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n Pošaljite poveznicu\r\n \r\n )}\r\n \r\n \r\n )}\r\n
    \r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\nimport {\r\n Button,\r\n Checkbox,\r\n FormGroup,\r\n Input,\r\n InputLabel,\r\n isEmpty,\r\n useTitle\r\n} from 'modules/common';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { ReactComponent as EyeIcon } from 'assets/icons/eye.svg';\r\nimport { ReactComponent as EyeOffIcon } from 'assets/icons/eye-off.svg';\r\nimport { ReactComponent as Spinner } from 'assets/icons/spinner.svg';\r\nimport { AppRoutes } from 'routing';\r\nimport {\r\n AccountMessages,\r\n checkRedirectUrl,\r\n formErrorMessages,\r\n isValidEmail,\r\n sessionCache,\r\n signInUser,\r\n} from 'modules/auth';\r\n\r\nimport { RootState } from 'store';\r\ninterface FormState {\r\n email: string;\r\n password: string;\r\n}\r\n\r\ninterface Props {\r\n location?: Partial>;\r\n}\r\n\r\nconst Fields = {\r\n email: 'email',\r\n password: 'password',\r\n};\r\n\r\nexport const SignIn: React.FC = ({ location }) => {\r\n useTitle('Prijava - eSavjetnik');\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const signIn = useSelector((state: RootState) => state.signIn);\r\n const profile = useSelector((state: RootState) => state.profile);\r\n const { isLoading: isFetchingProfile, profile: profileData } = profile;\r\n const registration = useSelector((state: RootState) => state.registration);\r\n const changePassword = useSelector(\r\n (state: RootState) => state.changePassword\r\n );\r\n const { successMessage: passwordSuccessMessage, changePasswordSuccess } =\r\n changePassword;\r\n const accountActivation = useSelector(\r\n (state: RootState) => state.activateAccount\r\n );\r\n const {\r\n errorMessage: activationErrorMessage,\r\n successMessage: activationSuccesMessage,\r\n activateAccountSuccess,\r\n activateAccountError,\r\n } = accountActivation;\r\n const { registrationSuccess, successMessage } = registration;\r\n const { isLoading, signInError, errorMessage } = signIn;\r\n const [rememberMe, setRememberMe] = useState(false);\r\n const [formErrors, setFormErrors] = useState>({});\r\n const [showPassword, setShowPassword] = useState(false);\r\n const [signInInfo, setSignInInfo] = useState({\r\n email: '',\r\n password: '',\r\n });\r\n\r\n const session = sessionCache().getSession();\r\n\r\n useEffect(() => {\r\n if (session && profileData) {\r\n const redirectTo =\r\n location && checkRedirectUrl(location.pathname)\r\n ? { pathname: location.pathname, search: location.search }\r\n : { pathname: AppRoutes.News };\r\n\r\n history.push(redirectTo);\r\n }\r\n }, [history, profileData, session, location]);\r\n\r\n const handleInputChange = (event: React.ChangeEvent) => {\r\n const { value, name } = event.target;\r\n setSignInInfo((prev) => ({\r\n ...prev,\r\n [name]: value,\r\n }));\r\n };\r\n\r\n const clearFormError = (field: string) => {\r\n const filtered = Object.keys(formErrors)\r\n .filter((key) => key !== field)\r\n .reduce((obj, key) => {\r\n return {\r\n ...obj,\r\n [key]: formErrors[key],\r\n };\r\n }, {});\r\n setFormErrors({ ...filtered });\r\n };\r\n\r\n const handleShowPassword = (\r\n _event: React.MouseEvent\r\n ) => setShowPassword((prev) => !prev);\r\n\r\n const handleEmailBlur = (event: React.FocusEvent) => {\r\n const { value, name } = event.target;\r\n\r\n if (isEmpty(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.required,\r\n }));\r\n return;\r\n }\r\n\r\n if (!isValidEmail(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.invalidEmail,\r\n }));\r\n return;\r\n }\r\n\r\n clearFormError(name);\r\n };\r\n\r\n const handleCheck = (_event: React.ChangeEvent) => {\r\n setRememberMe((prev) => !prev);\r\n };\r\n\r\n const handleSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n dispatch(\r\n signInUser({\r\n username: signInInfo.email,\r\n password: signInInfo.password,\r\n rememberMe,\r\n })\r\n );\r\n };\r\n\r\n const buttonDisabled = false;\r\n\r\n return (\r\n
    \r\n

    e-Savjetnik prijava

    \r\n

    \r\n Centralno mjesto podrške razvoju poljoprivrede kroz savjete,\r\n predavanja, tečajeve i događanja.\r\n

    \r\n \r\n Nemate korisnički račun?{' '}\r\n \r\n Registrirajte se\r\n \r\n \r\n {(signInError ||\r\n registrationSuccess ||\r\n activateAccountSuccess ||\r\n changePasswordSuccess ||\r\n activateAccountError) && (\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 onChange={handleInputChange}\r\n />\r\n \r\n
    \r\n Zapamti me}\r\n />\r\n
    \r\n
    \r\n {isLoading || isFetchingProfile ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n Prijavi se\r\n \r\n )}\r\n \r\n Zaboravili ste lozinku?\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import { AppRoutes } from 'routing';\r\n\r\nexport function checkRedirectUrl(pathname?: string) {\r\n return (\r\n pathname !== AppRoutes.SignIn &&\r\n pathname !== AppRoutes.SignUp &&\r\n pathname !== AppRoutes.ForgotPassword &&\r\n pathname !== AppRoutes.ChangePassword &&\r\n pathname !== AppRoutes.ActivateAccount\r\n );\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.3,\n cx: 10,\n cy: 10,\n r: 9.5,\n stroke: \"#242424\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.5,\n d: \"M8.90341 11.8196H10.2493V11.6989C10.2564 11.0064 10.505 10.6832 11.0661 10.3459C11.7301 9.9517 12.1634 9.42969 12.1634 8.59517C12.1634 7.35227 11.1619 6.62784 9.75213 6.62784C8.46307 6.62784 7.41193 7.30256 7.37997 8.72301H8.82884C8.85014 8.14418 9.27983 7.83523 9.74503 7.83523C10.2244 7.83523 10.6115 8.15483 10.6115 8.64844C10.6115 9.11364 10.2741 9.42259 9.83736 9.69957C9.24077 10.076 8.90696 10.456 8.90341 11.6989V11.8196ZM9.60298 14.0923C10.0575 14.0923 10.4517 13.7124 10.4553 13.2401C10.4517 12.7749 10.0575 12.3949 9.60298 12.3949C9.13423 12.3949 8.74716 12.7749 8.75071 13.2401C8.74716 13.7124 9.13423 14.0923 9.60298 14.0923Z\",\n fill: \"#242424\"\n});\n\nfunction SvgTooltip(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTooltip);\nexport default __webpack_public_path__ + \"static/media/tooltip.6bdd1615.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useState } from 'react';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { ValueType } from 'react-select';\r\nimport {\r\n Button,\r\n Checkbox,\r\n Dropdown,\r\n emailRegex,\r\n FormGroup,\r\n Input,\r\n InputLabel,\r\n isEmpty,\r\n OptionType,\r\n passwordRegex,\r\n Tooltip,\r\n useTitle\r\n} from 'modules/common';\r\nimport { AppRoutes } from 'routing';\r\nimport {\r\n PasswordStrength,\r\n PassworRequirements,\r\n TermsOfUseModal,\r\n registerUser,\r\n categories,\r\n UserTypes,\r\n formErrorMessages,\r\n AccountMessages,\r\n calculatePasswordStrength,\r\n isEightCharLong,\r\n isOneLowerCaseChar,\r\n isOneNumericChar,\r\n isOneUpperCaseChar,\r\n isValidEmail,\r\n} from 'modules/auth';\r\nimport { ReactComponent as EyeIcon } from 'assets/icons/eye.svg';\r\nimport { ReactComponent as EyeOffIcon } from 'assets/icons/eye-off.svg';\r\nimport { ReactComponent as TooltipIcon } from 'assets/icons/tooltip.svg';\r\nimport { ReactComponent as BaseValidIcon } from 'assets/icons/base-valid.svg';\r\nimport { ReactComponent as ValidIcon } from 'assets/icons/valid.svg';\r\nimport { ReactComponent as Spinner } from 'assets/icons/spinner.svg';\r\nimport { RootState } from 'store';\r\nimport { toast } from 'react-toastify';\r\n\r\ninterface FormState {\r\n email: string;\r\n password: string;\r\n passwordRepeat: string;\r\n firstName?: string;\r\n lastName?: string;\r\n}\r\n\r\nconst Fields = {\r\n category: 'category',\r\n email: 'email',\r\n firstName: 'firstName',\r\n lastName: 'lastName',\r\n password: 'password',\r\n passwordRepeat: 'passwordRepeat',\r\n consent: 'consent',\r\n};\r\n\r\nexport const SignUp: React.FC = () => {\r\n useTitle('Registracija - eSavjetnik');\r\n const dispatch = useDispatch();\r\n const registration = useSelector((state: RootState) => state.registration);\r\n const { registrationError, registrationSuccess, errorMessage, isLoading } =\r\n registration;\r\n const history = useHistory();\r\n const [showPwdReq, setShowPwdReq] = useState(false);\r\n const [termsAccepted, setTermsAccepted] = useState(false);\r\n const [showPassword, setShowPassword] = useState(false);\r\n const [showPasswordRepeat, setShowPasswordRepeat] = useState(false);\r\n const [doPasswordsMatch, setDoPasswordsMatch] = useState(false);\r\n const [lengthFulfilled, setLengthFulfilled] = useState(false);\r\n const [numberFulfilled, setNumberFulfilled] = useState(false);\r\n const [charsFulfilled, setCharsFulfilled] = useState(false);\r\n const [passwordScore, setPasswordScore] = useState(0);\r\n const [category, setCategory] = useState(null);\r\n const [formErrors, setFormErrors] = useState>({});\r\n const [userInfo, setUserInfo] = useState({\r\n email: '',\r\n password: '',\r\n passwordRepeat: '',\r\n });\r\n\r\n useEffect(() => {\r\n if (registrationSuccess) {\r\n history.push({\r\n pathname: AppRoutes.SignIn,\r\n state: { registrationSuccess: true },\r\n });\r\n }\r\n }, [history, registrationSuccess]);\r\n\r\n const passwordsMatch = () => {\r\n return userInfo.password === userInfo.passwordRepeat;\r\n };\r\n const [showToUModal, setShowToUModal] = useState(false);\r\n const toggleToUModal = () => {\r\n setShowToUModal(!showToUModal);\r\n };\r\n\r\n const clearFormError = (field: string) => {\r\n const filtered = Object.keys(formErrors)\r\n .filter((key) => key !== field)\r\n .reduce((obj, key) => {\r\n return {\r\n ...obj,\r\n [key]: formErrors[key],\r\n };\r\n }, {});\r\n setFormErrors({ ...filtered });\r\n };\r\n\r\n const handleCategoryChange = (value: ValueType) => {\r\n setCategory(value);\r\n };\r\n\r\n const handleCategoryBlur = (_event: React.FocusEvent) => {\r\n if (!category) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [Fields.category]: formErrorMessages.required,\r\n }));\r\n return;\r\n }\r\n\r\n clearFormError(Fields.category);\r\n };\r\n\r\n const handleInputChange = (event: React.ChangeEvent) => {\r\n const { value, name } = event.target;\r\n setUserInfo((prev) => ({\r\n ...prev,\r\n [name]: value,\r\n }));\r\n };\r\n\r\n const handleEmailBlur = (event: React.FocusEvent) => {\r\n const { value, name } = event.target;\r\n\r\n if (isEmpty(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.required,\r\n }));\r\n return;\r\n }\r\n\r\n if (!isValidEmail(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.invalidEmail,\r\n }));\r\n return;\r\n }\r\n\r\n clearFormError(name);\r\n };\r\n\r\n const handleFullNameBlur = (event: React.FocusEvent) => {\r\n const { value, name } = event.target;\r\n\r\n if (isEmpty(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.required,\r\n }));\r\n return;\r\n }\r\n\r\n clearFormError(name);\r\n };\r\n\r\n const handlePasswordChange = (event: React.ChangeEvent) => {\r\n const { value } = event.target;\r\n checkPassword(value);\r\n\r\n setUserInfo((prev) => ({\r\n ...prev,\r\n [event.target.name]: value,\r\n }));\r\n };\r\n\r\n const handleCheck = (_event: React.ChangeEvent) => {\r\n setTermsAccepted((prev) => !prev);\r\n };\r\n\r\n const handlePasswordBlur = (event: React.FocusEvent) => {\r\n const { value, name } = event.target;\r\n setShowPwdReq(false);\r\n\r\n if (isEmpty(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.required,\r\n }));\r\n setPasswordScore(0);\r\n setLengthFulfilled(false);\r\n setCharsFulfilled(false);\r\n setNumberFulfilled(false);\r\n return;\r\n }\r\n\r\n if (\r\n !isOneLowerCaseChar(value) ||\r\n !isOneUpperCaseChar(value) ||\r\n !isOneNumericChar(value) ||\r\n !isEightCharLong(value)\r\n ) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.invalidPassword,\r\n }));\r\n return;\r\n }\r\n\r\n if (userInfo.passwordRepeat.length && !passwordsMatch()) {\r\n setDoPasswordsMatch(false);\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [Fields.passwordRepeat]: formErrorMessages.invalidPassword,\r\n }));\r\n\r\n return;\r\n }\r\n\r\n clearFormError(name);\r\n };\r\n\r\n const checkPassword = (value: string) => {\r\n if (isOneLowerCaseChar(value) && isOneUpperCaseChar(value)) {\r\n setCharsFulfilled(true);\r\n } else {\r\n setCharsFulfilled(false);\r\n }\r\n\r\n if (isOneNumericChar(value)) {\r\n setNumberFulfilled(true);\r\n } else {\r\n setNumberFulfilled(false);\r\n }\r\n\r\n if (isEightCharLong(value)) {\r\n setLengthFulfilled(true);\r\n } else {\r\n setLengthFulfilled(false);\r\n }\r\n\r\n setPasswordScore(calculatePasswordStrength(value));\r\n };\r\n\r\n const handlePasswordRepeatBlur = (\r\n event: React.FocusEvent\r\n ) => {\r\n const { value, name } = event.target;\r\n\r\n if (isEmpty(value)) {\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.required,\r\n }));\r\n return;\r\n }\r\n\r\n clearFormError(name);\r\n\r\n if (!passwordsMatch()) {\r\n setDoPasswordsMatch(false);\r\n setFormErrors((prev) => ({\r\n ...prev,\r\n [name]: formErrorMessages.invalidPassword,\r\n }));\r\n\r\n return;\r\n }\r\n\r\n setDoPasswordsMatch(true);\r\n clearFormError(name);\r\n };\r\n\r\n const handleShowPassword = (\r\n _event: React.MouseEvent\r\n ) => setShowPassword((prev) => !prev);\r\n\r\n const handleShowPassworRepeat = (\r\n _event: React.MouseEvent\r\n ) => setShowPasswordRepeat((prev) => !prev);\r\n\r\n const areNamesValid = () => {\r\n if (category && category.label === UserTypes.Citizen.label) {\r\n return !!(\r\n userInfo.firstName &&\r\n !!userInfo.firstName.length &&\r\n userInfo.lastName &&\r\n !!userInfo.lastName.length\r\n );\r\n }\r\n\r\n return true;\r\n };\r\n\r\n const handleSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n\r\n if (!category) {\r\n toast.error('Niste odabrali kategoriju');\r\n return;\r\n }\r\n\r\n if (!emailRegex.test(userInfo.email)) {\r\n toast.error('Email nije u dobrom formatu');\r\n return;\r\n }\r\n\r\n if (!passwordRegex.test(userInfo.password)) {\r\n toast.error('Lozinka nije u dobrom formatu');\r\n return;\r\n }\r\n\r\n dispatch(\r\n registerUser({\r\n email: userInfo.email,\r\n password: userInfo.password,\r\n userType: parseInt(category?.value ?? '1'),\r\n metadata: {\r\n firstName: userInfo.firstName,\r\n lastName: userInfo.lastName,\r\n },\r\n })\r\n );\r\n };\r\n const buttonDisabled =\r\n Object.values(userInfo).some((x) => x.length < 1) ||\r\n !termsAccepted ||\r\n !areNamesValid() ||\r\n Object.values(formErrors).length > 0;\r\n\r\n return (\r\n
    \r\n

    Registracija

    \r\n

    \r\n Odaberite kategoriju s kojom se želite registrirati u eSavjetnik sustav.\r\n

    \r\n \r\n Imate korisnički račun?{' '}\r\n \r\n Prijavite se\r\n \r\n \r\n {(registrationError || registrationSuccess) && (\r\n \r\n )}\r\n
    \r\n \r\n }\r\n tooltipText=\"Kategorije korisnika\"\r\n />\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {category && category.label === UserTypes.Citizen.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 \r\n \r\n \r\n ) : (\r\n \r\n )\r\n }\r\n onChange={handlePasswordChange}\r\n onFocus={() => {\r\n setShowPwdReq(true);\r\n }}\r\n onBlur={handlePasswordBlur}\r\n >\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n : }\r\n rightIcon={\r\n showPasswordRepeat ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n onChange={handleInputChange}\r\n onBlur={handlePasswordRepeatBlur}\r\n />\r\n \r\n
    \r\n \r\n Pristajem na{' '}\r\n \r\n Uvjete korištenja\r\n {' '}\r\n
    \r\n }\r\n />\r\n
    \r\n {isLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n Registriraj se\r\n \r\n )}\r\n \r\n \r\n
    \r\n );\r\n};\r\n","import { signUp, SignUpRequest } from \"services\";\r\nimport { AppThunk } from \"store\";\r\nimport {\r\n registrationError,\r\n registrationRequest,\r\n registrationSuccess,\r\n} from \"./reducer\";\r\n\r\nexport const registerUser = (data: SignUpRequest): AppThunk => async (\r\n dispatch\r\n) => {\r\n try {\r\n dispatch(registrationRequest());\r\n\r\n const response = await signUp(data);\r\n const [first] = response.data.statuses;\r\n dispatch(registrationSuccess({ successMessage: first.message }));\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(registrationError({ errorMessage: first.message }));\r\n }\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n filters: string[];\r\n activeFilter: number;\r\n setFilter: (filter: number) => void;\r\n}\r\n\r\nexport const EducationTabFilter: React.FC = ({\r\n filters,\r\n activeFilter,\r\n setFilter,\r\n}) => {\r\n return (\r\n
    \r\n {filters.map((value, index) => {\r\n return (\r\n setFilter(index)}\r\n >\r\n {value}\r\n \r\n );\r\n })}\r\n
    \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 16,\n fill: \"#D9D9D9\",\n fillOpacity: 0.4\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.8\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.4668 19.6262L11.4602 19.6197L11.4534 19.6134C10.1567 18.4196 9.5 16.761 9.5 14.9891C9.5 11.3753 12.3939 8.5 16.0492 8.5C19.7071 8.5 22.5909 11.375 22.4978 14.9762L22.4976 14.9761V14.9891C22.4976 16.761 21.8409 18.4196 20.5442 19.6134L20.3829 19.762V19.7853C20.3756 19.7923 20.3679 19.7997 20.3599 19.8073C20.2516 19.9108 20.0938 20.0563 19.9002 20.2319C19.5141 20.5822 18.9969 21.0422 18.4747 21.5037C18.0039 21.9199 17.5217 22.3438 17.1311 22.687C16.6694 23.0929 16.3359 23.386 16.3013 23.4203C16.2677 23.4537 16.1815 23.5 16.0366 23.5C15.9036 23.5 15.7666 23.4594 15.6605 23.3869C15.4682 23.2104 14.5892 22.424 13.6989 21.6274L13.5629 21.5057C13.0467 21.0439 12.5308 20.5823 12.1377 20.2299C11.941 20.0536 11.7754 19.9049 11.6558 19.7973C11.596 19.7434 11.5481 19.7002 11.5139 19.6691C11.4921 19.6494 11.479 19.6373 11.4722 19.6311C11.4665 19.6258 11.4651 19.6246 11.4668 19.6262ZM13.5351 14.9891C13.5351 16.3675 14.6693 17.486 16.0492 17.486C17.429 17.486 18.5632 16.3675 18.5632 14.9891C18.5632 13.6106 17.429 12.4922 16.0492 12.4922C14.6693 12.4922 13.5351 13.6106 13.5351 14.9891Z\",\n stroke: \"#848D27\"\n}), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0\",\n \"mask-type\": \"alpha\",\n maskUnits: \"userSpaceOnUse\",\n x: 6,\n y: 6,\n width: 20,\n height: 20\n}, /*#__PURE__*/React.createElement(\"rect\", {\n x: 6.5,\n y: 6.5,\n width: 19,\n height: 19,\n fill: \"#C4C4C4\",\n stroke: \"#848D27\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0)\"\n}));\n\nfunction SvgLocationPin(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLocationPin);\nexport default __webpack_public_path__ + \"static/media/location-pin.6020b7fc.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 1H1V13H13V9\",\n stroke: \"#848D27\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 1H13V6\",\n stroke: \"#848D27\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 1L7 7\",\n stroke: \"#848D27\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgRedirect(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRedirect);\nexport default __webpack_public_path__ + \"static/media/redirect.3da1866a.svg\";\nexport { ForwardRef as ReactComponent };","import { EducationReminderCheckbox } from \"../models\";\r\n\r\nexport const reminders: EducationReminderCheckbox[] = [\r\n { id: \"1-day\", value: 1, label: \"1 dan prije početka\" },\r\n { id: \"2-day\", value: 2, label: \"2 dana prije početka\" },\r\n { id: \"3-day\", value: 3, label: \"3 dana prije početka\" },\r\n { id: \"4-day\", value: 10, label: \"10 dana prije početka\" },\r\n];\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { EducationItem, EducationReminder } from \"services\";\r\nimport { RootState } from \"store\";\r\nimport { addReminder } from \"..\";\r\n\r\n// Hook for handling adding new and update existing reminders.\r\n// It also handles deletion of reminders.\r\n\r\nexport function useReminderHandler(currentPickedEducation?: EducationItem) {\r\n const dispatch = useDispatch();\r\n const { allReminders } = useSelector((state: RootState) => state.educations);\r\n const [pickedReminders, setPickedReminders] = useState(\r\n []\r\n );\r\n\r\n function handleAddNewReminder(reminder: EducationReminder) {\r\n setPickedReminders((prev) => [...prev, reminder]);\r\n dispatch(addReminder(reminder));\r\n }\r\n\r\n function handleAddExistingReminder(reminder: EducationReminder) {\r\n const isReminderExisting = pickedReminders.find(\r\n (r) => r.education.uid === reminder.education.uid\r\n );\r\n\r\n // This check prevents user for saving empty or already picked reminders.\r\n if (\r\n isReminderExisting &&\r\n isReminderExisting.remindInDays === reminder.remindInDays\r\n )\r\n return;\r\n\r\n setPickedReminders((prev) => [\r\n ...prev.filter((r) => r.education.uid !== reminder.education.uid),\r\n reminder,\r\n ]);\r\n dispatch(addReminder(reminder));\r\n }\r\n\r\n function handleRemoveReminder(reminder: EducationReminder) {\r\n setPickedReminders((prev) => [\r\n ...prev.filter((r) => r.education.uid !== reminder.education.uid),\r\n ]);\r\n dispatch(addReminder(reminder));\r\n }\r\n\r\n function handleAddReminder(reminder: EducationReminder) {\r\n if (!currentPickedEducation) return;\r\n\r\n const isReminderExisting = pickedReminders.find(\r\n (r) => r.education.uid === currentPickedEducation.uid\r\n );\r\n\r\n if (!isReminderExisting) {\r\n Boolean(reminder.remindInDays.length) && handleAddNewReminder(reminder);\r\n return;\r\n }\r\n\r\n Boolean(reminder.remindInDays.length)\r\n ? handleAddExistingReminder(reminder)\r\n : handleRemoveReminder(reminder);\r\n }\r\n\r\n useEffect(() => {\r\n if (!allReminders) {\r\n setPickedReminders([]);\r\n return;\r\n }\r\n\r\n setPickedReminders(allReminders.items);\r\n }, [allReminders]);\r\n\r\n return { handleAddReminder, pickedReminders };\r\n}\r\n","import { Button, Checkbox } from \"modules/common\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { EducationItem, EducationReminder } from \"services\";\r\nimport { RootState } from \"store\";\r\nimport { reminders } from \"../constants\";\r\nimport { useReminderHandler } from \"../hooks\";\r\n\r\ninterface Props {\r\n isReminderOpen: boolean;\r\n pickedEducation?: EducationItem;\r\n mappedEducation: EducationItem;\r\n handleAddReminder: (reminder: EducationReminder) => void;\r\n}\r\n\r\nexport const EducationReminders: React.FC = ({\r\n isReminderOpen,\r\n pickedEducation,\r\n mappedEducation,\r\n handleAddReminder,\r\n}) => {\r\n const { pickedReminders } = useReminderHandler(pickedEducation);\r\n const remindersFromPickedEducation = pickedReminders.find(\r\n (reminder) => reminder.education.uid === pickedEducation?.uid\r\n );\r\n\r\n const [checkedReminders, setCheckedReminders] = useState([]);\r\n const { profile } = useSelector((state: RootState) => state.profile);\r\n\r\n function handleButtonClick() {\r\n if (!pickedEducation || !profile) return;\r\n if (pickedEducation.id !== mappedEducation.id) return;\r\n\r\n handleAddReminder({\r\n education: pickedEducation,\r\n accountUid: profile.uid,\r\n remindInDays: checkedReminders,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (!remindersFromPickedEducation) {\r\n setCheckedReminders([]);\r\n return;\r\n }\r\n\r\n setCheckedReminders(remindersFromPickedEducation?.remindInDays);\r\n }, [pickedEducation]);\r\n\r\n return (\r\n \r\n {reminders.map((reminder) => (\r\n
    \r\n {\r\n setCheckedReminders((prev) => {\r\n return prev.find((r) => r === reminder.value)\r\n ? prev.filter((r) => r !== reminder.value)\r\n : [...prev, reminder.value];\r\n });\r\n }}\r\n size=\"small\"\r\n text={
    {reminder.label}
    }\r\n />\r\n
    \r\n ))}\r\n \r\n Potvrdi\r\n \r\n
    \r\n );\r\n};\r\n","import { Button, WEEKDAYS_LONG } from \"modules/common\";\r\nimport React, { useState, useRef, useEffect } from \"react\";\r\nimport { ReactComponent as LocationPin } from \"assets/icons/location-pin.svg\";\r\nimport { ReactComponent as Redirect } from \"assets/icons/redirect.svg\";\r\nimport { differenceInMilliseconds, format } from \"date-fns\";\r\nimport { EducationItem } from \"services\";\r\nimport { groupBy } from \"lodash\";\r\nimport { orderBy } from \"lodash\";\r\nimport { EducationReminders } from \"./EducationReminders\";\r\nimport { useReminderHandler } from \"../hooks\";\r\n\r\ninterface Props {\r\n items: EducationItem[];\r\n onClick: (value: number) => void;\r\n filter: number;\r\n}\r\n\r\nexport const EducationList: React.FC = ({ items, onClick, filter }) => {\r\n const [currentPickedEducation, setCurrentPickedEducation] =\r\n useState();\r\n const [isReminderOpen, setIsReminderOpen] = useState(false);\r\n\r\n const { handleAddReminder, pickedReminders } = useReminderHandler(\r\n currentPickedEducation\r\n );\r\n\r\n // Store mapped refs\r\n const reminderRef = useRef([]);\r\n reminderRef.current = [];\r\n\r\n const filterTitle = [\"\", \"Prijavljeni\", \"Odslušali\", \"Podsjetnici\"][filter];\r\n\r\n function formatTime(data: string) {\r\n const date = new Date(data);\r\n\r\n return format(date, \"HH:mm\");\r\n }\r\n\r\n // Group data by date and create array\r\n const orderByStartDate = orderBy(items, (item) => item.startDate, \"asc\");\r\n const groupByStartDate = groupBy(\r\n orderByStartDate,\r\n (item) =>\r\n `\"${new Date(item.startDate).getMonth()} + ${new Date(\r\n item.startDate\r\n ).getDate()}\"`\r\n );\r\n const dataGroup = Object.keys(groupByStartDate).map((key) => ({\r\n startDate: key,\r\n values: groupByStartDate[key],\r\n }));\r\n\r\n function handleReminderDropdownClick(educationItem: EducationItem) {\r\n setIsReminderOpen((prev) => !prev);\r\n setCurrentPickedEducation(educationItem);\r\n }\r\n\r\n function handleAddToRef(element: HTMLDivElement) {\r\n if (!element || reminderRef.current.includes(element)) return;\r\n reminderRef.current.push(element);\r\n }\r\n\r\n // Handle reminder modal closing\r\n useEffect(() => {\r\n if (!reminderRef || !reminderRef.current) return;\r\n let checks: boolean[] = [];\r\n document.addEventListener(\"click\", (event) => {\r\n checks = [];\r\n for (const reminder of reminderRef.current) {\r\n checks.push(reminder.contains(event.target as Node));\r\n }\r\n\r\n if (checks.includes(true)) return;\r\n setCurrentPickedEducation(undefined);\r\n setIsReminderOpen(false);\r\n });\r\n }, [reminderRef]);\r\n\r\n return (\r\n <>\r\n {dataGroup.map((itemGroup, index) => {\r\n return (\r\n
    \r\n

    \r\n {WEEKDAYS_LONG[new Date(itemGroup.values[0].startDate).getDay()]}\r\n {\", \"}\r\n {format(new Date(itemGroup.values[0].startDate), \"dd.MM.yyyy.\")}\r\n

    \r\n\r\n
    \r\n\r\n {itemGroup.values.map((item, index) => {\r\n const showSignupButton =\r\n differenceInMilliseconds(\r\n new Date(item.registrationDeadline),\r\n new Date()\r\n ) > 0;\r\n\r\n return (\r\n
    \r\n {`${formatTime(item.startDate)} - ${formatTime(\r\n item.endDate\r\n )}`}

    \r\n
    \r\n {/* Header */}\r\n
    \r\n

    {item.title}

    \r\n
    \r\n {filter !== 2 ? (\r\n showSignupButton && (\r\n <>\r\n \r\n \r\n reminder.education.uid === item.uid\r\n ) && \"btn--reminder-active\"\r\n }`}\r\n isDisabled={false}\r\n onClick={() =>\r\n handleReminderDropdownClick(item)\r\n }\r\n >\r\n Podsjeti me\r\n \r\n \r\n
    \r\n \r\n Prijavi se\r\n \r\n \r\n )\r\n ) : (\r\n \r\n Preuzmite potvrdu \r\n \r\n )}\r\n
    \r\n
    \r\n\r\n {/* Subheader */}\r\n
    \r\n {item.county && (\r\n

    \r\n {item.county}\r\n

    \r\n )}\r\n {item.expertArea && (\r\n

    \r\n {item.expertArea}\r\n

    \r\n )}\r\n {item.measure && (\r\n

    \r\n {item.measure}\r\n

    \r\n )}\r\n
    \r\n\r\n {/* Location */}\r\n

    \r\n {item.address}\r\n

    \r\n\r\n {/* Details */}\r\n
    \r\n {/* col1 */}\r\n
    \r\n
    Kapacitet
    \r\n

    {`${item.spotsAvailable}/${item.maxAttendees}`}

    \r\n\r\n
    Obaveza
    \r\n \r\n {item.isEducationMandatoryForFarmer ? \"Da\" : \"Ne\"}\r\n

    \r\n
    \r\n\r\n {/* col2 */}\r\n
    \r\n
    Predavači
    \r\n {item.instructors.map((value, index) => {\r\n return (\r\n

    \r\n {value.name}\r\n

    \r\n );\r\n })}\r\n
    \r\n\r\n {/* col3 */}\r\n
    \r\n
    Napomena
    \r\n

    {item.remark}

    \r\n
    \r\n
    \r\n
    \r\n\r\n {item.educationStatuses?.length ? (\r\n
    \r\n
    {filterTitle}
    \r\n

    \r\n {item.educationStatuses.map((value, index) => {\r\n const showComma =\r\n index + 1 < item.educationStatuses.length;\r\n\r\n return (\r\n \r\n {value.farmerName} {value.farmerLastName}\r\n {showComma && \", \"}\r\n \r\n );\r\n })}\r\n

    \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n );\r\n })}\r\n \r\n );\r\n};\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport {\r\n EducationApplicationResponse,\r\n EducationByIdResponse,\r\n EducationListItems,\r\n EducationResponse,\r\n StatusResponse,\r\n} from \"services\";\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n errorMessage: string | undefined;\r\n educations: EducationResponse | null;\r\n appliedEducations: EducationResponse | null;\r\n listenedEducations: EducationResponse | null;\r\n educationById: EducationByIdResponse | null;\r\n educationApplication?: EducationApplicationResponse;\r\n educationApplicationError?: boolean;\r\n educationReminder?: StatusResponse;\r\n educationReminderError?: boolean;\r\n educationsWithReminders?: EducationListItems;\r\n allReminders?: EducationListItems;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n errorMessage: undefined,\r\n educations: null,\r\n appliedEducations: null,\r\n listenedEducations: null,\r\n educationById: null,\r\n educationApplication: undefined,\r\n educationApplicationError: undefined,\r\n educationReminder: undefined,\r\n educationReminderError: false,\r\n educationsWithReminders: undefined,\r\n allReminders: undefined,\r\n};\r\n\r\nconst educationsSlice = createSlice({\r\n name: \"Educations\",\r\n initialState: initialState,\r\n reducers: {\r\n getEducationsRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n getEducationsSuccess: (\r\n state,\r\n action: PayloadAction<{ educations: EducationResponse }>\r\n ) => {\r\n state.isLoading = false;\r\n state.educations = action.payload.educations;\r\n }, \r\n getAppliedEducationsSuccess: (\r\n state,\r\n action: PayloadAction<{ educations: EducationResponse }>\r\n ) => {\r\n state.isLoading = false;\r\n state.appliedEducations = action.payload.educations;\r\n }, \r\n getListenedEducationsSuccess: (\r\n state,\r\n action: PayloadAction<{ educations: EducationResponse }>\r\n ) => {\r\n state.isLoading = false;\r\n state.listenedEducations = action.payload.educations;\r\n }, \r\n getEducationByIdSuccess: (\r\n state,\r\n action: PayloadAction<{ education: EducationByIdResponse }>\r\n ) => {\r\n state.isLoading = false;\r\n state.educationById = action.payload.education;\r\n },\r\n getEducationsError: (\r\n state,\r\n action: PayloadAction<{ errorMessage: string }>\r\n ) => {\r\n state.isLoading = false;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n getEducationApplicationSuccess: (\r\n state,\r\n action: PayloadAction<{ response: EducationApplicationResponse }>\r\n ) => {\r\n state.isLoading = false;\r\n state.educationApplication = action.payload.response;\r\n },\r\n getEducationsApplicationError: (\r\n state,\r\n action: PayloadAction<{ error: boolean }>\r\n ) => {\r\n state.isLoading = false;\r\n state.educationApplicationError = action.payload.error;\r\n },\r\n getEducationReminderSuccess: (\r\n state,\r\n action: PayloadAction<{ response: StatusResponse }>\r\n ) => {\r\n state.isLoading = false;\r\n state.educationReminder = action.payload.response;\r\n },\r\n getEducationReminderError: (\r\n state,\r\n action: PayloadAction<{ error: boolean }>\r\n ) => {\r\n state.isLoading = false;\r\n state.educationReminderError = action.payload.error;\r\n },\r\n getEducationsWithRemindersSuccess: (\r\n state,\r\n action: PayloadAction<{ educations?: EducationListItems }>\r\n ) => {\r\n state.isLoading = false;\r\n state.educationsWithReminders = action.payload.educations;\r\n },\r\n getEducationsWithReminderError: (\r\n state,\r\n action: PayloadAction<{ error: boolean }>\r\n ) => {\r\n state.isLoading = false;\r\n state.educationReminderError = action.payload.error;\r\n },\r\n getAllReminders: (\r\n state,\r\n action: PayloadAction<{ reminders?: EducationListItems }>\r\n ) => {\r\n state.isLoading = false;\r\n state.allReminders = action.payload.reminders;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = educationsSlice;\r\n\r\nexport const {\r\n getEducationsRequest,\r\n getEducationsSuccess,\r\n getAppliedEducationsSuccess,\r\n getListenedEducationsSuccess,\r\n getEducationByIdSuccess,\r\n getEducationsError,\r\n getEducationApplicationSuccess,\r\n getEducationsApplicationError,\r\n getEducationReminderSuccess,\r\n getEducationReminderError,\r\n getEducationsWithRemindersSuccess,\r\n getEducationsWithReminderError,\r\n getAllReminders,\r\n} = actions;\r\n\r\nexport const educationsReducer = educationsSlice.reducer;\r\n","import {\r\n EducationListItems,\r\n EducationReminder,\r\n EducationReminderFromResponse,\r\n} from \"services\";\r\n\r\n// Here I'm spreading the original array because original array\r\n// can't be modified.\r\nfunction handleAddEducationsWithReminders(\r\n newEducationWithReminder: EducationReminder,\r\n existingEducationsWithReminders?: EducationReminder[]\r\n): EducationListItems {\r\n if (!existingEducationsWithReminders) {\r\n return {\r\n count: 1,\r\n items: [newEducationWithReminder],\r\n };\r\n }\r\n\r\n const isEducationHavingAReminder = existingEducationsWithReminders.find(\r\n ({ education }) => education.uid === newEducationWithReminder.education.uid\r\n );\r\n\r\n // If new education isn't in the array. Add it.\r\n if (!isEducationHavingAReminder) {\r\n let educationsWithReminders = [...existingEducationsWithReminders];\r\n educationsWithReminders.push(newEducationWithReminder);\r\n return {\r\n count: educationsWithReminders.length,\r\n items: educationsWithReminders,\r\n };\r\n }\r\n\r\n // If new education is in the array, filter it out.\r\n let updatedEducations = [\r\n ...existingEducationsWithReminders.filter(\r\n ({ education }) =>\r\n education.uid !== newEducationWithReminder.education.uid\r\n ),\r\n ];\r\n\r\n // And add the updated education only of any of the reminders are picked.\r\n Boolean(newEducationWithReminder.remindInDays.length) &&\r\n updatedEducations.push(newEducationWithReminder);\r\n\r\n return {\r\n count: updatedEducations.length,\r\n items: updatedEducations,\r\n };\r\n}\r\n\r\nfunction handlePagination(\r\n reminders: EducationReminder[],\r\n pageSize: number,\r\n pageNumber: number\r\n) {\r\n if (reminders.length < pageSize) return reminders;\r\n const helper = reminders;\r\n\r\n const isEnd = helper.slice(pageSize * (pageNumber - 1)).length < pageSize;\r\n\r\n if (Boolean(isEnd)) {\r\n return reminders.slice(pageSize * (pageNumber - 1));\r\n }\r\n return reminders.slice(pageSize * (pageNumber - 1), pageSize);\r\n}\r\n\r\nfunction handleFormatEducationsWithReminders(\r\n educationReminderResponse: EducationReminderFromResponse[]\r\n) {\r\n if (!Boolean(educationReminderResponse.length)) return undefined;\r\n\r\n let educationRemindersHelper: EducationReminder[] = [];\r\n\r\n // Create a group of reminders by their educationUid\r\n const groupedReminders = educationReminderResponse.reduce((prev, curr) => {\r\n prev[curr.educationUid] = prev[curr.educationUid] || [];\r\n prev[curr.educationUid].push(curr);\r\n return prev;\r\n }, Object.create(null));\r\n\r\n // Go through every grouped reminder and use every childs first element for important parts.\r\n for (let i = 0; i < Object.values(groupedReminders).length; i++) {\r\n // Object.values had to be type casted because Object.values returns unknown.\r\n const reminders = Object.values(groupedReminders)[\r\n i\r\n ] as EducationReminderFromResponse[];\r\n let remindInDaysHelper: number[] = [];\r\n\r\n reminders.every((reminder) =>\r\n remindInDaysHelper.push(reminder.remindInDays)\r\n );\r\n\r\n educationRemindersHelper.push({\r\n accountUid: reminders[0].accountUid,\r\n education: {\r\n ...reminders[0].education,\r\n id: reminders[0].educationId,\r\n uid: reminders[0].educationUid,\r\n },\r\n remindInDays: remindInDaysHelper,\r\n });\r\n }\r\n return {\r\n count: educationRemindersHelper.length,\r\n items: educationRemindersHelper,\r\n };\r\n}\r\n\r\nfunction handleGetEducationsWithReminders(\r\n educationReminderResponse: EducationReminderFromResponse[]\r\n): EducationListItems | undefined {\r\n return handleFormatEducationsWithReminders(educationReminderResponse);\r\n}\r\n\r\nfunction handleGetPaginatedEducationsWithReminders(\r\n educationReminderResponse: EducationReminderFromResponse[],\r\n pageSize: number,\r\n pageNumber: number\r\n): EducationListItems | undefined {\r\n const allReminders = handleFormatEducationsWithReminders(\r\n educationReminderResponse\r\n );\r\n if (!allReminders) return undefined;\r\n\r\n return {\r\n count: allReminders.count,\r\n items: handlePagination(allReminders.items, pageSize, pageNumber),\r\n };\r\n}\r\n\r\nexport {\r\n handleAddEducationsWithReminders,\r\n handleGetEducationsWithReminders,\r\n handleGetPaginatedEducationsWithReminders,\r\n};\r\n","import { toast } from 'react-toastify';\r\nimport {\r\n educationApplication,\r\n EducationApplicationRequest,\r\n EducationsRequest,\r\n getAllEducations,\r\n getAllExpertAreas,\r\n getAllMeasures,\r\n getAllOperationTypes,\r\n addReminderToEducation,\r\n EducationReminder,\r\n EducationReminderRequest,\r\n getUsersEducationsWithReminder,\r\n getFarmHolder,\r\n getFarmMembers,\r\n getEducation,\r\n} from 'services';\r\nimport { AppThunk } from 'store';\r\nimport {\r\n getEducationsError,\r\n getEducationsRequest,\r\n getEducationsSuccess,\r\n getMeasuresError,\r\n getMeasuresRequest,\r\n getMeasuresSuccess,\r\n getFarmHolderSuccess,\r\n getFarmHolderError,\r\n getFarmHolderRequest,\r\n getEducationApplicationSuccess,\r\n getOperationTypesRequest,\r\n getOperationTypesSuccess,\r\n getOperationTypesError,\r\n getExpertAreasRequest,\r\n getExpertAreasSuccess,\r\n getExpertAreasError,\r\n getEducationReminderError,\r\n getEducationsWithRemindersSuccess,\r\n getAllReminders,\r\n getFarmMembersSuccess,\r\n getFarmMembersError,\r\n getEducationByIdSuccess,\r\n} from '.';\r\nimport {\r\n getAppliedEducationsSuccess,\r\n getEducationsApplicationError,\r\n getListenedEducationsSuccess,\r\n} from './EducationsSlice';\r\nimport {\r\n handleAddEducationsWithReminders,\r\n handleGetEducationsWithReminders,\r\n handleGetPaginatedEducationsWithReminders,\r\n} from '../utils';\r\n\r\nexport const getEducations =\r\n (data: Omit): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn, profile } = getState();\r\n\r\n if (signIn.user && profile.profile) {\r\n dispatch(getEducationsRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n const { mibpg } = profile.profile;\r\n\r\n const response = await getAllEducations(accessToken, {\r\n mibpg,\r\n ...data,\r\n });\r\n\r\n switch (data.status) {\r\n case null:\r\n dispatch(getEducationsSuccess({ educations: response.data }));\r\n return;\r\n case 1:\r\n dispatch(\r\n getAppliedEducationsSuccess({ educations: response.data })\r\n );\r\n return;\r\n case 2:\r\n dispatch(\r\n getListenedEducationsSuccess({ educations: response.data })\r\n );\r\n return;\r\n default:\r\n return;\r\n }\r\n }\r\n } catch (error) {\r\n dispatch(getEducationsError({ errorMessage: error.message }));\r\n }\r\n };\r\n\r\nexport const getEducationById =\r\n (educationUid: string): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn } = getState();\r\n\r\n if (!signIn.user || !educationUid) return;\r\n dispatch(getEducationsRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n const response = await getEducation(accessToken, educationUid);\r\n\r\n dispatch(getEducationByIdSuccess({ education: response.data }));\r\n } catch (error) {\r\n dispatch(getEducationsError({ errorMessage: error.message }));\r\n toast.error('Problem prilikom spremanja podataka, pokušajte ponovno...');\r\n }\r\n };\r\n\r\nexport const getMeasures = (): AppThunk => async (dispatch, getState) => {\r\n try {\r\n const { signIn, measures } = getState();\r\n\r\n if (signIn.user && !measures.items?.length) {\r\n dispatch(getMeasuresRequest());\r\n const { accessToken } = signIn.user;\r\n const response = await getAllMeasures(accessToken);\r\n\r\n dispatch(getMeasuresSuccess({ measures: response.data.measures }));\r\n }\r\n } catch (error) {\r\n dispatch(getMeasuresError({ errorMessage: error }));\r\n }\r\n};\r\n\r\nexport const getOperationTypes = (): AppThunk => async (dispatch, getState) => {\r\n try {\r\n const { signIn, operationTypes } = getState();\r\n\r\n if (signIn.user && !operationTypes.items?.length) {\r\n dispatch(getOperationTypesRequest());\r\n const { accessToken } = signIn.user;\r\n const response = await getAllOperationTypes(accessToken);\r\n\r\n dispatch(\r\n getOperationTypesSuccess({\r\n operationTypes: response.data.operationTypes,\r\n })\r\n );\r\n }\r\n } catch (error) {\r\n dispatch(getOperationTypesError({ errorMessage: error }));\r\n }\r\n};\r\n\r\nexport const getExpertAreas = (): AppThunk => async (dispatch, getState) => {\r\n try {\r\n const { signIn, expertAreas } = getState();\r\n\r\n if (signIn.user && !expertAreas.items?.length) {\r\n dispatch(getExpertAreasRequest());\r\n const { accessToken } = signIn.user;\r\n const response = await getAllExpertAreas(accessToken);\r\n\r\n dispatch(\r\n getExpertAreasSuccess({\r\n expertAreas: response.data.expertAreas,\r\n })\r\n );\r\n }\r\n } catch (error) {\r\n dispatch(getExpertAreasError({ errorMessage: error }));\r\n }\r\n};\r\n\r\nexport const getHolderFarm = (): AppThunk => async (dispatch, getState) => {\r\n try {\r\n const { signIn, profile } = getState();\r\n if (signIn.user && profile.profile) {\r\n dispatch(getFarmHolderRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n const { mibpg } = profile.profile;\r\n\r\n const response = await getFarmHolder(accessToken, mibpg);\r\n\r\n dispatch(\r\n getFarmHolderSuccess({\r\n farmHolder: response.data,\r\n })\r\n );\r\n }\r\n } catch (error) {\r\n dispatch(\r\n getFarmHolderError({\r\n errorMessage:\r\n 'Problem prilikom dohvaćanja podataka, pokušajte ponovno...',\r\n })\r\n );\r\n }\r\n};\r\n\r\nexport const getMembersFarm = (): AppThunk => async (dispatch, getState) => {\r\n try {\r\n const { signIn, profile } = getState();\r\n\r\n if (signIn.user && profile.profile) {\r\n dispatch(getFarmHolderRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n const { mibpg } = profile.profile;\r\n\r\n const response = await getFarmMembers(accessToken, mibpg);\r\n\r\n dispatch(\r\n getFarmMembersSuccess({\r\n farmMembers: response.data,\r\n })\r\n );\r\n }\r\n } catch (error) {\r\n dispatch(\r\n getFarmMembersError({\r\n errorMessage:\r\n 'Problem prilikom dohvaćanja podataka, pokušajte ponovno...',\r\n })\r\n );\r\n }\r\n};\r\n\r\nexport const educationSignUp =\r\n (data: Omit): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn, profile } = getState();\r\n\r\n if (signIn.user && profile.profile) {\r\n dispatch(getEducationsRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n const { mibpg } = profile.profile;\r\n data.mibpg = mibpg == '' ? data.mibpg : mibpg;\r\n const response = await educationApplication(accessToken, {\r\n enrolled: 1,\r\n ...data,\r\n });\r\n dispatch(getEducationApplicationSuccess({ response: response.data }));\r\n toast.success(response.data.response.notice[0]);\r\n }\r\n } catch (error) {\r\n dispatch(getEducationsApplicationError({ error: true }));\r\n const errorNotice = error.response.data.response.notice;\r\n toast.error(\r\n typeof errorNotice == 'undefined'\r\n ? 'Problem prilikom spremanja podataka, pokušajte ponovno...'\r\n : 'Već ste prijavljeni na ovaj tečaj'\r\n );\r\n }\r\n };\r\n\r\nexport const addReminder =\r\n (data: EducationReminder): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const {\r\n signIn,\r\n profile,\r\n educations: { allReminders },\r\n } = getState();\r\n if (!signIn.user || !profile.profile || !data) return;\r\n dispatch(getEducationsRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n const { accountUid, education, remindInDays } = data;\r\n\r\n const reminderToAdd: EducationReminderRequest = {\r\n educationId: education.id,\r\n accountUid: accountUid,\r\n educationUid: education.uid,\r\n remindInDays: remindInDays,\r\n mibpg: profile.profile.mibpg,\r\n };\r\n\r\n const response = await addReminderToEducation(accessToken, reminderToAdd);\r\n\r\n // Had to store them all to redux because we need to check\r\n // if picked education has any reminder.\r\n dispatch(\r\n getAllReminders({\r\n reminders: handleAddEducationsWithReminders(\r\n { accountUid, education, remindInDays },\r\n allReminders?.items\r\n ),\r\n })\r\n );\r\n\r\n // Also, had to add them to a special redux state because\r\n // there's a need for pagination and this one handles state for pagination.\r\n dispatch(\r\n getEducationsWithRemindersSuccess({\r\n educations: handleAddEducationsWithReminders(\r\n { accountUid, education, remindInDays },\r\n allReminders?.items\r\n ),\r\n })\r\n );\r\n toast.success(response.data.statuses[0].message);\r\n } catch (error) {\r\n dispatch(getEducationReminderError({ error: true }));\r\n toast.error(error.response.data.statuses[0].message);\r\n }\r\n };\r\n\r\nexport const getEducationsWithReminder =\r\n (data: { pageSize: number; pageNumber: number }): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn, profile } = getState();\r\n dispatch(getEducationsRequest());\r\n\r\n if (!signIn.user || !profile.profile) return;\r\n const { accessToken } = signIn.user;\r\n\r\n const response = await getUsersEducationsWithReminder(\r\n accessToken,\r\n profile.profile.uid\r\n );\r\n\r\n // Had to store them all to redux because we need to check\r\n // if picked education has any reminder.\r\n dispatch(\r\n getAllReminders({\r\n reminders: handleGetEducationsWithReminders(\r\n response.data.educationReminders\r\n ),\r\n })\r\n );\r\n\r\n // Also, had to add them to a special redux state because\r\n // there's a need for pagination and this one handles state for pagination.\r\n dispatch(\r\n getEducationsWithRemindersSuccess({\r\n educations: handleGetPaginatedEducationsWithReminders(\r\n response.data.educationReminders,\r\n data.pageSize,\r\n data.pageNumber\r\n ),\r\n })\r\n );\r\n } catch (error) {\r\n dispatch(getEducationsApplicationError({ error: true }));\r\n toast.error('Problem prilikom dohvaćanja podataka, pokušajte ponovno...');\r\n }\r\n };\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n errorMessage: string;\r\n items: string[];\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n errorMessage: \"\",\r\n items: [],\r\n};\r\n\r\nconst measuresSlice = createSlice({\r\n name: \"Measures\",\r\n initialState: initialState,\r\n reducers: {\r\n getMeasuresRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n getMeasuresSuccess: (\r\n state,\r\n action: PayloadAction<{ measures: string[] }>\r\n ) => {\r\n state.isLoading = false;\r\n state.items = action.payload.measures;\r\n },\r\n getMeasuresError: (\r\n state,\r\n action: PayloadAction<{ errorMessage: string }>\r\n ) => {\r\n state.isLoading = false;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = measuresSlice;\r\n\r\nexport const {\r\n getMeasuresRequest,\r\n getMeasuresSuccess,\r\n getMeasuresError,\r\n} = actions;\r\n\r\nexport const measuresReducer = measuresSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n errorMessage: string;\r\n items: string[];\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n errorMessage: \"\",\r\n items: [],\r\n};\r\n\r\nconst operationTypesSlice = createSlice({\r\n name: \"OperationTypes\",\r\n initialState: initialState,\r\n reducers: {\r\n getOperationTypesRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n getOperationTypesSuccess: (\r\n state,\r\n action: PayloadAction<{ operationTypes: string[] }>\r\n ) => {\r\n state.isLoading = false;\r\n state.items = action.payload.operationTypes;\r\n },\r\n getOperationTypesError: (\r\n state,\r\n action: PayloadAction<{ errorMessage: string }>\r\n ) => {\r\n state.isLoading = false;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = operationTypesSlice;\r\n\r\nexport const {\r\n getOperationTypesRequest,\r\n getOperationTypesSuccess,\r\n getOperationTypesError,\r\n} = actions;\r\n\r\nexport const operationTypesReducer = operationTypesSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n errorMessage: string;\r\n items: string[];\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n errorMessage: \"\",\r\n items: [],\r\n};\r\n\r\nconst expertAreasSlice = createSlice({\r\n name: \"ExpertAreas\",\r\n initialState: initialState,\r\n reducers: {\r\n getExpertAreasRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n getExpertAreasSuccess: (\r\n state,\r\n action: PayloadAction<{ expertAreas: string[] }>\r\n ) => {\r\n state.isLoading = false;\r\n state.items = action.payload.expertAreas;\r\n },\r\n getExpertAreasError: (\r\n state,\r\n action: PayloadAction<{ errorMessage: string }>\r\n ) => {\r\n state.isLoading = false;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = expertAreasSlice;\r\n\r\nexport const {\r\n getExpertAreasRequest,\r\n getExpertAreasSuccess,\r\n getExpertAreasError,\r\n} = actions;\r\n\r\nexport const expertAreasReducer = expertAreasSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { Farmer, FarmHolderResponse, FarmMembersResponse } from \"services\";\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n errorMessage: string | undefined;\r\n farmHolder: FarmHolderResponse | null;\r\n farmMembers: FarmMembersResponse | null;\r\n firstFarmMember: Farmer | null;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n errorMessage: undefined,\r\n farmHolder: null,\r\n farmMembers: null,\r\n firstFarmMember: null,\r\n};\r\n\r\nconst farmSlice = createSlice({\r\n name: \"Farm\",\r\n initialState: initialState,\r\n reducers: {\r\n getFarmHolderRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n getFarmHolderSuccess: (\r\n state,\r\n action: PayloadAction<{ farmHolder: FarmHolderResponse }>\r\n ) => {\r\n state.isLoading = false;\r\n state.farmHolder = action.payload.farmHolder;\r\n },\r\n getFarmHolderError: (\r\n state,\r\n action: PayloadAction<{ errorMessage: string }>\r\n ) => {\r\n state.isLoading = false;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n getFarmMembersSuccess: (\r\n state,\r\n action: PayloadAction<{ farmMembers: FarmMembersResponse }>\r\n ) => {\r\n state.isLoading = false;\r\n state.farmMembers = action.payload.farmMembers;\r\n state.firstFarmMember = action.payload.farmMembers.farmMembers[0];\r\n },\r\n getFarmMembersError: (\r\n state,\r\n action: PayloadAction<{ errorMessage: string }>\r\n ) => {\r\n state.isLoading = false;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = farmSlice;\r\n\r\nexport const {\r\n getFarmHolderRequest,\r\n getFarmHolderSuccess,\r\n getFarmHolderError,\r\n getFarmMembersSuccess,\r\n getFarmMembersError,\r\n} = actions;\r\n\r\nexport const farmReducer = farmSlice.reducer;\r\n","import {\r\n Button,\r\n Loading,\r\n Modal,\r\n ModalFooter,\r\n ModalHeader,\r\n} from 'modules/common';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { RootState } from 'store';\r\nimport {\r\n EducationCarrierForm,\r\n EducationMembersForm,\r\n EducationModalFilter,\r\n} from '.';\r\nimport { EducationFormInfo } from '../models';\r\nimport { educationSignUp, getHolderFarm, getMembersFarm } from '../store';\r\nimport { UserTypes } from 'modules/common';\r\nimport { sessionCache } from 'modules/auth';\r\n\r\nconst isFarmer = (userType: number) => UserTypes.Farmer === userType;\r\n\r\ninterface Props {\r\n isVisible: boolean;\r\n toggleModal: () => void;\r\n semisId: number | undefined;\r\n}\r\n\r\nexport const EducationSignupModal: React.FC = ({\r\n isVisible,\r\n toggleModal,\r\n semisId,\r\n}) => {\r\n const { profile } = useSelector((state: RootState) => state.profile);\r\n const user = sessionCache().getSession();\r\n const userType = user?.userType.value ?? profile?.userType?.value;\r\n const { isLoading } = useSelector((state: RootState) => state.educations);\r\n const dispatch = useDispatch();\r\n const [isSubmitAndAddNew, setIsSubmitAndAddNew] = useState(false);\r\n const { farmHolder, firstFarmMember, farmMembers } = useSelector(\r\n (state: RootState) => state.farmHolder\r\n );\r\n const Filters =\r\n isFarmer(userType ?? UserTypes.Farmer) && farmMembers\r\n ? ['Nositelj', 'Član']\r\n : isFarmer(userType ?? UserTypes.Farmer) && !farmMembers\r\n ? ['Nositelj']\r\n : ['Član'];\r\n\r\n const [tabFilter, setTabFilter] = useState(Filters[0]);\r\n useEffect(() => {\r\n if (!isFarmer(userType ?? UserTypes.Farmer)) return;\r\n dispatch(getHolderFarm());\r\n dispatch(getMembersFarm());\r\n }, []);\r\n\r\n const [formData, setFormData] = useState<{\r\n carrier: EducationFormInfo;\r\n member: EducationFormInfo;\r\n }>({\r\n carrier: {\r\n firstName: profile?.firstName || '',\r\n lastName: profile?.lastName || '',\r\n oib: farmHolder?.farmHolder.oib || '',\r\n email: profile?.email || null,\r\n mobileNumber: profile?.mobileNumber || null,\r\n mibpg: profile?.mibpg || '',\r\n },\r\n member: {\r\n firstName: firstFarmMember?.firstName || '',\r\n lastName: firstFarmMember?.lastName || '',\r\n oib: firstFarmMember?.oib || '',\r\n email: null,\r\n mobileNumber: null,\r\n mibpg: '',\r\n },\r\n });\r\n const [carrierFormValid, setCarrierFormValid] = useState(false);\r\n const [memberFormValid, setMemberFormValid] = useState(false);\r\n\r\n function submit() {\r\n if (!semisId) {\r\n return;\r\n }\r\n\r\n if (carrierFormValid && tabFilter === 'Nositelj') {\r\n const carrierContact =\r\n formData.carrier.mobileNumber && formData.carrier.mobileNumber.length\r\n ? formData.carrier.mobileNumber\r\n : null;\r\n const carrierEmail =\r\n formData.carrier.email && formData.carrier.email.length\r\n ? formData.carrier.email\r\n : null;\r\n\r\n dispatch(\r\n educationSignUp({\r\n contact: carrierContact,\r\n email: carrierEmail,\r\n firstName: formData.carrier.firstName,\r\n lastName: formData.carrier.lastName,\r\n oib: formData.carrier.oib,\r\n semisEducationId: semisId,\r\n mibpg: formData.carrier.mibpg,\r\n })\r\n );\r\n }\r\n\r\n if (memberFormValid && tabFilter === 'Član') {\r\n const memberContact =\r\n formData.member.mobileNumber && formData.member.mobileNumber.length\r\n ? formData.member.mobileNumber\r\n : null;\r\n const memberEmail =\r\n formData.member.email && formData.member.email.length\r\n ? formData.member.email\r\n : null;\r\n\r\n dispatch(\r\n educationSignUp({\r\n contact: memberContact,\r\n email: memberEmail,\r\n firstName: formData.member.firstName,\r\n lastName: formData.member.lastName,\r\n oib: formData.member.oib,\r\n semisEducationId: semisId,\r\n mibpg: formData.carrier.mibpg,\r\n })\r\n );\r\n }\r\n\r\n setIsSubmitAndAddNew(true);\r\n setFormData({\r\n carrier: formData.carrier,\r\n member: {\r\n firstName: firstFarmMember?.firstName || '',\r\n lastName: firstFarmMember?.lastName || '',\r\n oib: firstFarmMember?.oib || '',\r\n email: null,\r\n mobileNumber: null,\r\n mibpg: '',\r\n },\r\n });\r\n }\r\n\r\n function submitAndClose() {\r\n if (!semisId) {\r\n return;\r\n }\r\n\r\n if (carrierFormValid && tabFilter === 'Nositelj') {\r\n const carrierContact =\r\n formData.carrier.mobileNumber && formData.carrier.mobileNumber.length\r\n ? formData.carrier.mobileNumber\r\n : null;\r\n const carrierEmail =\r\n formData.carrier.email && formData.carrier.email.length\r\n ? formData.carrier.email\r\n : null;\r\n\r\n dispatch(\r\n educationSignUp({\r\n contact: carrierContact,\r\n email: carrierEmail,\r\n firstName: formData.carrier.firstName,\r\n lastName: formData.carrier.lastName,\r\n oib: formData.carrier.oib,\r\n semisEducationId: semisId,\r\n mibpg: formData.carrier.mibpg,\r\n })\r\n );\r\n }\r\n\r\n if (memberFormValid && tabFilter === 'Član') {\r\n const memberContact =\r\n formData.member.mobileNumber && formData.member.mobileNumber.length\r\n ? formData.member.mobileNumber\r\n : null;\r\n const memberEmail =\r\n formData.member.email && formData.member.email.length\r\n ? formData.member.email\r\n : null;\r\n\r\n dispatch(\r\n educationSignUp({\r\n contact: memberContact,\r\n email: memberEmail,\r\n firstName: formData.member.firstName,\r\n lastName: formData.member.lastName,\r\n oib: formData.member.oib,\r\n semisEducationId: semisId,\r\n mibpg: formData.member.mibpg,\r\n })\r\n );\r\n }\r\n\r\n setIsSubmitAndAddNew(false);\r\n setFormData({\r\n carrier: formData.carrier,\r\n member: {\r\n firstName: firstFarmMember?.firstName || '',\r\n lastName: firstFarmMember?.lastName || '',\r\n oib: firstFarmMember?.oib || '',\r\n email: null,\r\n mobileNumber: null,\r\n mibpg: '',\r\n },\r\n });\r\n toggleModal();\r\n }\r\n\r\n function onCarrierChange(data: EducationFormInfo) {\r\n console.log('carrier', data);\r\n setFormData({ carrier: data, member: formData.member });\r\n }\r\n\r\n function onMemberChange(data: EducationFormInfo) {\r\n console.log('member', data);\r\n setFormData({ carrier: formData.carrier, member: data });\r\n }\r\n\r\n function onClose() {\r\n setIsSubmitAndAddNew(false);\r\n toggleModal();\r\n }\r\n\r\n useEffect(() => {\r\n setFormData({\r\n carrier: {\r\n firstName: profile?.firstName || '',\r\n lastName: profile?.lastName || '',\r\n oib: farmHolder?.farmHolder.oib || '',\r\n email: null,\r\n mobileNumber: null,\r\n mibpg: profile?.mibpg || '',\r\n },\r\n member: {\r\n firstName: firstFarmMember?.firstName || '',\r\n lastName: firstFarmMember?.lastName || '',\r\n oib: firstFarmMember?.oib || '',\r\n email: null,\r\n mobileNumber: null,\r\n mibpg: '',\r\n },\r\n });\r\n }, [farmHolder?.farmHolder, profile, isVisible]);\r\n\r\n return (\r\n \r\n }\r\n modalFooter={\r\n \r\n {isLoading ? (\r\n \r\n ) : (\r\n <>\r\n \r\n Spremi i dodaj novu prijavu\r\n \r\n \r\n Spremi i završi prijavu\r\n \r\n \r\n )}\r\n \r\n }\r\n >\r\n \r\n\r\n {isFarmer(userType ?? UserTypes.Farmer) ? (\r\n tabFilter === 'Nositelj' ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n filters: string[];\r\n activeFilter: string;\r\n setFilter: (filter: string) => void;\r\n}\r\n\r\nexport const EducationModalFilter: React.FC = ({\r\n filters,\r\n activeFilter,\r\n setFilter,\r\n}) => {\r\n return (\r\n
    \r\n {filters.map((value, index) => {\r\n return (\r\n setFilter(value)}\r\n >\r\n {value}\r\n \r\n );\r\n })}\r\n
    \r\n );\r\n};\r\n","import { xor } from \"lodash\";\r\nimport {\r\n Checkbox,\r\n Filter,\r\n FilterGroup,\r\n Loading,\r\n ToggleSwitch,\r\n useOutsideClick,\r\n} from \"modules/common\";\r\nimport { getCounties } from \"modules/dashboard\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { RootState } from \"store\";\r\nimport { getExpertAreas, getMeasures } from \"..\";\r\n\r\ninterface Props {\r\n countiesFilter: string[];\r\n setCountiesFilter: React.Dispatch>;\r\n measuresFilter: string[];\r\n setMeasuresFilter: React.Dispatch>;\r\n expertAreasFilter: string[];\r\n setExpertAreasFilter: React.Dispatch>;\r\n isMandatoryFilter: boolean;\r\n setIsMandatoryFilter: React.Dispatch>;\r\n}\r\n\r\nexport const EducationFilters: React.FC = ({\r\n countiesFilter,\r\n setCountiesFilter,\r\n measuresFilter,\r\n setMeasuresFilter,\r\n expertAreasFilter,\r\n setExpertAreasFilter,\r\n isMandatoryFilter,\r\n setIsMandatoryFilter,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const countiesFilterRef = useRef(null);\r\n const measuresFilterRef = useRef(null);\r\n const expertAreasFilterRef = useRef(null);\r\n\r\n const { counties: ReducerCounties, isLoading: loadingCounties } = useSelector(\r\n (state: RootState) => state.address\r\n );\r\n const { items: ReducerMeasures, isLoading: loadingMeasures } = useSelector(\r\n (state: RootState) => state.measures\r\n );\r\n const { items: ReducerExpertAreas, isLoading: loadingExpertAreas } =\r\n useSelector((state: RootState) => state.expertAreas);\r\n\r\n const [showCountiesFilter, setShowCountiesFilter] = useState(false);\r\n const [showMeasuresFilter, setShowMeasuresFilter] = useState(false);\r\n const [showExpertAreasFilter, setShowExpertAreasFilter] = useState(false);\r\n\r\n function onCountyChange(event: React.ChangeEvent) {\r\n const selectedCounty = ReducerCounties?.find(\r\n (i) => i.valueName === event.target.value\r\n );\r\n\r\n if (!selectedCounty) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(countiesFilter, [selectedCounty.name]);\r\n setCountiesFilter(newArray);\r\n }\r\n\r\n function onMeasureChange(event: React.ChangeEvent) {\r\n const selectedMeasure = ReducerMeasures?.find(\r\n (i) => i === event.target.value\r\n );\r\n\r\n if (!selectedMeasure) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(measuresFilter, [selectedMeasure]);\r\n setMeasuresFilter(newArray);\r\n }\r\n\r\n function onExpertAreaChange(event: React.ChangeEvent) {\r\n const selectedExpertArea = ReducerExpertAreas?.find(\r\n (i) => i === event.target.value\r\n );\r\n\r\n if (!selectedExpertArea) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(expertAreasFilter, [selectedExpertArea]);\r\n setExpertAreasFilter(newArray);\r\n }\r\n\r\n const handleCountyFilterOutsideClick = () => {\r\n setShowCountiesFilter(false);\r\n };\r\n\r\n const handleMeasuresFilterOutsideClick = () => {\r\n setShowMeasuresFilter(false);\r\n };\r\n\r\n const handleExpertAreasFilterOutsideClick = () => {\r\n setShowExpertAreasFilter(false);\r\n };\r\n\r\n useOutsideClick(countiesFilterRef, handleCountyFilterOutsideClick);\r\n useOutsideClick(measuresFilterRef, handleMeasuresFilterOutsideClick);\r\n useOutsideClick(expertAreasFilterRef, handleExpertAreasFilterOutsideClick);\r\n\r\n const handleCountiesFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setCountiesFilter([]);\r\n };\r\n\r\n const handleMeasuresFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setMeasuresFilter([]);\r\n };\r\n\r\n const handleExpertAreasFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setExpertAreasFilter([]);\r\n };\r\n\r\n const handleCountiesFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowCountiesFilter(!showCountiesFilter);\r\n\r\n if (!ReducerCounties.length) {\r\n dispatch(getCounties());\r\n }\r\n };\r\n\r\n const handleMeasuresFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowMeasuresFilter(!showMeasuresFilter);\r\n\r\n if (!ReducerMeasures.length) {\r\n dispatch(getMeasures());\r\n }\r\n };\r\n\r\n const handleExpertAreasFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowExpertAreasFilter(!showExpertAreasFilter);\r\n\r\n if (!ReducerExpertAreas.length) {\r\n dispatch(getExpertAreas());\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n {loadingCounties ? (\r\n \r\n ) : (\r\n ReducerCounties.map((value, index) => (\r\n
    \r\n -1)}\r\n onChange={onCountyChange}\r\n size=\"small\"\r\n htmlFor={value.valueName}\r\n text={
    {value.name}
    }\r\n />\r\n
    \r\n ))\r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {loadingMeasures ? (\r\n \r\n ) : (\r\n ReducerMeasures.map((value, index) => (\r\n
    \r\n {value}
    }\r\n />\r\n
    \r\n ))\r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {loadingExpertAreas ? (\r\n \r\n ) : (\r\n ReducerExpertAreas.map((value, index) => (\r\n
    \r\n {value}
    }\r\n />\r\n
    \r\n ))\r\n )}\r\n \r\n
    \r\n\r\n
    \r\n setIsMandatoryFilter(!isMandatoryFilter)}\r\n checked={isMandatoryFilter}\r\n className=\"mr-12\"\r\n />\r\n \r\n
    \r\n \r\n );\r\n};\r\n","import { Dropdown, FormGroup, InputLabel } from 'modules/common';\r\nimport React, { useEffect } from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport { useSelector } from 'react-redux';\r\nimport { RootState } from 'store';\r\nimport { EducationFormInfo } from '../models';\r\nimport { UserTypes, emailRegex, phoneRegex } from 'modules/common';\r\nimport { sessionCache } from 'modules/auth';\r\n\r\nconst isFarmer = (userType: number) => UserTypes.Farmer === userType;\r\n\r\ninterface Props {\r\n onChange: (data: EducationFormInfo) => void;\r\n data: EducationFormInfo;\r\n formValid: React.Dispatch>;\r\n isLoading?: boolean;\r\n isSubmitAndAddNew?: boolean;\r\n}\r\n\r\nexport const EducationMembersForm: React.FC = ({\r\n onChange,\r\n data,\r\n formValid,\r\n isSubmitAndAddNew,\r\n}) => {\r\n const { profile } = useSelector((state: RootState) => state.profile);\r\n const { farmMembers, firstFarmMember } = useSelector(\r\n (state: RootState) => state.farmHolder\r\n );\r\n\r\n const user = sessionCache().getSession();\r\n const userType = user?.userType.value ?? profile?.userType?.value;\r\n\r\n const {\r\n register,\r\n formState: { errors, isValid },\r\n getValues,\r\n reset,\r\n } = useForm({\r\n mode: 'onChange',\r\n defaultValues: {\r\n ...data,\r\n },\r\n });\r\n\r\n const memberList = farmMembers?.farmMembers?.map((data: any) => {\r\n const item = {\r\n label: `${data.firstName} ${data.lastName}`,\r\n value: data,\r\n };\r\n\r\n return item;\r\n });\r\n\r\n function handleChange() {\r\n const data = getValues();\r\n onChange(data);\r\n }\r\n\r\n function onMemberChange(data: { label: string; value: any } | null) {\r\n const selectedMember = farmMembers?.farmMembers?.find(\r\n (i: any) => i === data?.value\r\n );\r\n\r\n if (!selectedMember) {\r\n return;\r\n }\r\n\r\n onChange({\r\n firstName: selectedMember.firstName,\r\n lastName: selectedMember.lastName,\r\n oib: selectedMember.oib,\r\n email: null,\r\n mobileNumber: null,\r\n mibpg: '',\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n formValid(isValid);\r\n }, [isValid, formValid]);\r\n\r\n useEffect(() => {\r\n if (!isSubmitAndAddNew) return;\r\n reset();\r\n }, [isSubmitAndAddNew, reset]);\r\n\r\n return (\r\n
    \r\n {farmMembers?.farmMembers?.length ? (\r\n \r\n \r\n 'Nema članova'}\r\n options={memberList}\r\n onChange={onMemberChange}\r\n isSearchable\r\n placeholder=\"\"\r\n />\r\n \r\n ) : null}\r\n {!isFarmer(userType ?? UserTypes.Farmer) ? (\r\n \r\n \r\n \r\n \r\n ) : null}\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","import { FormGroup, InputLabel } from 'modules/common';\r\nimport React, { useEffect } from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport { EducationFormInfo } from '../models';\r\nimport { UserTypes, emailRegex, phoneRegex } from 'modules/common';\r\nimport { sessionCache } from 'modules/auth';\r\nimport { useSelector } from 'react-redux';\r\nimport { RootState } from 'store';\r\n\r\nconst isFarmer = (userType: number) => UserTypes.Farmer === userType;\r\n\r\ninterface Props {\r\n onChange: (data: EducationFormInfo) => void;\r\n data: EducationFormInfo;\r\n formValid: React.Dispatch>;\r\n isLoading: boolean;\r\n}\r\n\r\nexport const EducationCarrierForm: React.FC = ({\r\n onChange,\r\n data,\r\n formValid,\r\n isLoading,\r\n}) => {\r\n const {\r\n register,\r\n formState: { errors, isValid },\r\n getValues,\r\n } = useForm({\r\n mode: 'onChange',\r\n defaultValues: {\r\n ...data,\r\n },\r\n });\r\n\r\n const user = sessionCache().getSession();\r\n const { profile } = useSelector((state: RootState) => state.profile);\r\n const userType = user?.userType.value ?? profile?.userType?.value;\r\n\r\n function handleChange() {\r\n const data = getValues();\r\n onChange(data);\r\n }\r\n\r\n useEffect(() => {\r\n formValid(isValid);\r\n }, [isValid, formValid]);\r\n\r\n return (\r\n
    \r\n {!isFarmer(userType ?? UserTypes.Farmer) ? (\r\n \r\n \r\n \r\n \r\n ) : null}\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","import { Can } from \"modules/auth\";\r\nimport React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { AppRoutes } from \"routing\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { UserTypes } from \"modules/common\";\r\nimport { RootState } from \"store\";\r\nimport { sessionCache } from \"modules/auth\";\r\n\r\nconst isFarmer = (userType: number) => UserTypes.Farmer === userType;\r\n\r\nexport const EducationTabNavigation: React.FC = () => {\r\n const user = sessionCache().getSession();\r\n const { profile } = useSelector((state: RootState) => state.profile);\r\n const userType = user?.userType.value ?? profile?.userType?.value;\r\n\r\n return (\r\n
    \r\n \r\n \r\n {isFarmer(userType ?? UserTypes.Farmer)\r\n ? \"Edukacije\"\r\n : \"Analiza edukacija\"}\r\n \r\n \r\n \r\n \r\n Prezentacije\r\n \r\n \r\n
    \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 1H1V13H13V9\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 1H13V6\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 1L7 7\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgLink(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLink);\nexport default __webpack_public_path__ + \"static/media/link.fa349a04.svg\";\nexport { ForwardRef as ReactComponent };","import { Can } from \"modules/auth\";\r\nimport { Button } from \"modules/common\";\r\nimport React from \"react\";\r\nimport { ReactComponent as LinkIcon } from \"assets/icons/link.svg\";\r\n\r\nexport const EducationLinks: React.FC = () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n Analiza edukacija PG-ova\r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n Kalendar edukacija\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 13C10.3137 13 13 10.3137 13 7C13 3.68629 10.3137 1 7 1C3.68629 1 1 3.68629 1 7C1 10.3137 3.68629 13 7 13Z\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.0001 14.9999L11.2421 11.2419\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgSearch(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSearch);\nexport default __webpack_public_path__ + \"static/media/search.207c13ae.svg\";\nexport { ForwardRef as ReactComponent };","import {\r\n Input,\r\n Loading,\r\n NoResults,\r\n OptionType,\r\n Pagination,\r\n RangeDatePicker,\r\n} from \"modules/common\";\r\nimport {\r\n EducationFilters,\r\n EducationList,\r\n EducationSignupModal,\r\n EducationTabFilter,\r\n getEducations,\r\n getEducationsRequest,\r\n} from \"modules/education\";\r\nimport React, { useState, useCallback, useEffect } from \"react\";\r\nimport { ReactComponent as SearchIcon } from \"assets/icons/search.svg\";\r\nimport { DateUtils, DayModifiers } from \"react-day-picker\";\r\nimport debounce from \"lodash.debounce\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { RootState } from \"store\";\r\nimport { ValueType } from \"react-select\";\r\nimport { add, sub } from \"date-fns\";\r\nimport { UserTypes } from \"modules/common\";\r\nimport { sessionCache } from \"modules/auth\";\r\nimport { EducationItem } from \"services\";\r\nimport { getEducationsWithReminder } from \"../store\";\r\nimport { isEmployeeAdviser } from \"modules/auth/authorization/roleChecks\";\r\n\r\nconst PAGE_NEIGHBOURS = 1;\r\nconst INPUT_DEBOUNCE_TIME = 500; //miliseconds\r\nconst isFarmer = (userType: number) => UserTypes.Farmer === userType;\r\n\r\nconst DefaultPageSize = {\r\n value: \"10\",\r\n label: \"10\",\r\n};\r\n\r\nexport const EducationSignup: React.FC = () => {\r\n const { profile } = useSelector((state: RootState) => state.profile);\r\n const user = sessionCache().getSession();\r\n const dispatch = useDispatch();\r\n const {\r\n educations,\r\n appliedEducations,\r\n listenedEducations,\r\n educationsWithReminders,\r\n isLoading,\r\n } = useSelector((state: RootState) => state.educations);\r\n const userType = user?.userType.value ?? profile?.userType?.value;\r\n\r\n const Filters = isFarmer(userType ?? UserTypes.Farmer)\r\n ? [\"Dostupno\", \"Prijavljeno\", \"Odslušano\", \"Podsjetnici\"]\r\n : isEmployeeAdviser(userType ?? UserTypes.EmployeeAdviser)\r\n ? [\"Dostupno\", \"Podsjetnici\"]\r\n : [\"Dostupne edukacije\"];\r\n\r\n // Get county from profile and upper case it for counties filter\r\n const profileCounty = profile?.county.toUpperCase().startsWith(\"GRAD\")\r\n ? profile?.county.toUpperCase()\r\n : profile?.county.toUpperCase() + \" ŽUPANIJA\";\r\n\r\n const [tabFilter, setTabFilter] = useState(0);\r\n const [countiesFilter, setCountiesFilter] = useState(\r\n profileCounty ? [profileCounty] : []\r\n );\r\n const [measuresFilter, setMeasuresFilter] = useState([]);\r\n const [expertAreasFilter, setExpertAreasFilter] = useState([]);\r\n const [isMandatoryFilter, setIsMandatoryFilter] = useState(true);\r\n const [searchTerm, setSearchTerm] = useState(\"\");\r\n const [date, setDate] = useState<{\r\n from: Date;\r\n to: Date;\r\n }>({\r\n from: new Date(),\r\n to: add(new Date(), { months: 3 }),\r\n });\r\n const [showModal, setShowModal] = useState(false);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [pageSize, setPageSize] = useState(DefaultPageSize);\r\n const [semisId, setSemisId] = useState();\r\n const [chosenEducations, setChosenEducations] = useState<{\r\n count: number;\r\n item: EducationItem[];\r\n }>();\r\n\r\n function onFilterChange(value: number) {\r\n setTabFilter(value);\r\n }\r\n\r\n function handleSearchChange(event: React.ChangeEvent) {\r\n const { value } = event.target;\r\n setSearchTerm(value);\r\n setCurrentPage(1);\r\n }\r\n\r\n const handleDayClick = (\r\n day: Date,\r\n modifiers: DayModifiers,\r\n e: React.MouseEvent\r\n ) => {\r\n const range = DateUtils.addDayToRange(day, date);\r\n setDate(range);\r\n };\r\n\r\n const updateRange = (from: Date, to: Date) => {\r\n setDate({ from, to });\r\n };\r\n\r\n const handlePageSizeChange = (value: ValueType) => {\r\n setPageSize(value);\r\n setCurrentPage(1);\r\n };\r\n\r\n const handlePageClick = (\r\n event: React.MouseEvent\r\n ) => {\r\n const page = Number(parseInt(event.currentTarget.id));\r\n setCurrentPage(page);\r\n };\r\n\r\n const handleNexPageClick = () => {\r\n setCurrentPage((prev) => prev + 1);\r\n };\r\n\r\n const handlePrevPageClick = () => {\r\n setCurrentPage((prev) => prev - 1);\r\n };\r\n\r\n function toggleModal(id?: number) {\r\n setSemisId(id);\r\n setShowModal(!showModal);\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const debouncedSearch = useCallback(\r\n debounce(\r\n (\r\n currentPage: number,\r\n size: number,\r\n searchTerm: string | null,\r\n measures: string[],\r\n counties: string[],\r\n expertAreas: string[],\r\n dateFrom: Date,\r\n dateTo: Date,\r\n tabFilter: number,\r\n isMandatory: boolean\r\n ) => {\r\n dispatch(\r\n getEducations({\r\n pageNumber: currentPage,\r\n pageSize: size,\r\n title: searchTerm,\r\n measures,\r\n counties,\r\n expertAreas,\r\n dateFrom,\r\n dateTo,\r\n status: tabFilter === 0 ? null : tabFilter,\r\n isMandatory,\r\n })\r\n );\r\n\r\n dispatch(\r\n getEducationsWithReminder({ pageNumber: currentPage, pageSize: size })\r\n );\r\n },\r\n INPUT_DEBOUNCE_TIME\r\n ),\r\n []\r\n );\r\n\r\n useEffect(() => {\r\n if (tabFilter === 2) {\r\n setDate({ from: sub(new Date(), { years: 5 }), to: new Date() });\r\n return;\r\n }\r\n\r\n setDate({ from: new Date(), to: add(new Date(), { months: 3 }) });\r\n }, [tabFilter]);\r\n\r\n useEffect(() => {\r\n const size = parseInt(pageSize?.value ?? DefaultPageSize.value);\r\n\r\n if (date.from && date.to) {\r\n // api call is debounced, switch to loading earlier\r\n dispatch(getEducationsRequest());\r\n debouncedSearch(\r\n currentPage,\r\n size,\r\n searchTerm,\r\n measuresFilter,\r\n countiesFilter,\r\n expertAreasFilter,\r\n date.from,\r\n date.to,\r\n tabFilter,\r\n isMandatoryFilter\r\n );\r\n }\r\n }, [\r\n currentPage,\r\n debouncedSearch,\r\n dispatch,\r\n pageSize?.value,\r\n searchTerm,\r\n measuresFilter,\r\n countiesFilter,\r\n expertAreasFilter,\r\n date,\r\n tabFilter,\r\n isMandatoryFilter,\r\n ]);\r\n\r\n useEffect(() => {\r\n setChosenEducations(undefined);\r\n }, [tabFilter]);\r\n\r\n useEffect(() => {\r\n if (\r\n !educations &&\r\n !appliedEducations &&\r\n !listenedEducations &&\r\n !educationsWithReminders\r\n ) {\r\n setChosenEducations(undefined);\r\n return;\r\n }\r\n\r\n if (!tabFilter && educations) {\r\n setChosenEducations({\r\n count: educations.count,\r\n item: educations.item,\r\n });\r\n return;\r\n }\r\n\r\n if (Filters[tabFilter] === 'Prijavljeno' && appliedEducations) {\r\n setChosenEducations({\r\n count: appliedEducations.count,\r\n item: appliedEducations.item,\r\n });\r\n return;\r\n }\r\n\r\n if (Filters[tabFilter] === 'Odslušano' && listenedEducations) {\r\n setChosenEducations({\r\n count: listenedEducations.count,\r\n item: listenedEducations.item,\r\n });\r\n return;\r\n }\r\n\r\n if (Filters[tabFilter] === 'Podsjetnici' && educationsWithReminders) {\r\n setChosenEducations({\r\n count: educationsWithReminders.count,\r\n item: educationsWithReminders.items.map((e) => e.education),\r\n });\r\n return;\r\n }\r\n }, [\r\n educations,\r\n appliedEducations,\r\n listenedEducations,\r\n educationsWithReminders,\r\n tabFilter,\r\n ]);\r\n\r\n useEffect(() => {\r\n setPageSize(DefaultPageSize);\r\n setCurrentPage(1);\r\n }, [tabFilter]);\r\n\r\n return (\r\n <>\r\n \r\n {Filters[tabFilter] !== \"Podsjetnici\" && (\r\n
    \r\n \r\n
    \r\n }\r\n flexField\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n {!isLoading ? (\r\n chosenEducations && chosenEducations.item.length ? (\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","import React, { useEffect } from \"react\";\r\nimport { ReactComponent as LocationPin } from \"assets/icons/location-pin.svg\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { RootState } from \"store\";\r\nimport { getEducationById } from \"modules/education\";\r\nimport { Loading, NoResults, WEEKDAYS_LONG } from \"modules/common\";\r\nimport { format } from \"date-fns\";\r\n\r\ninterface Props {\r\n educationUid: string;\r\n}\r\n\r\nexport const SpecificEducation: React.FC = ({ educationUid }) => {\r\n const dispatch = useDispatch();\r\n const { educationById, isLoading } = useSelector(\r\n (state: RootState) => state.educations\r\n );\r\n const { education } = educationById || {};\r\n\r\n useEffect(() => {\r\n dispatch(getEducationById(educationUid));\r\n }, [educationUid]);\r\n\r\n return isLoading ? (\r\n \r\n ) : education ? (\r\n <>\r\n
    \r\n

    \r\n {WEEKDAYS_LONG[new Date(education.startDate).getDay()]}\r\n {\", \"}\r\n {format(new Date(education.startDate), \"dd.MM.yyyy.\")}\r\n

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

    {`${format(\r\n new Date(education.startDate),\r\n \"HH:mm\"\r\n )} - ${format(new Date(education.endDate), \"HH:mm\")}`}

    \r\n
    \r\n {/* Header */}\r\n
    \r\n

    {education.title}

    \r\n
    \r\n\r\n {/* Subheader */}\r\n
    \r\n {education.county && (\r\n

    \r\n {education.county}\r\n

    \r\n )}\r\n {education.expertArea && (\r\n

    \r\n {education.expertArea}\r\n

    \r\n )}\r\n {education.measure && (\r\n

    \r\n {education.measure}\r\n

    \r\n )}\r\n
    \r\n\r\n {/* Location */}\r\n

    \r\n {education.address}\r\n

    \r\n\r\n {/* Details */}\r\n
    \r\n {/* col1 */}\r\n
    \r\n
    Kapacitet
    \r\n

    {`${education.spotsAvailable}/${education.maxAttendees}`}

    \r\n\r\n
    Obaveza
    \r\n \r\n {education.isEducationMandatoryForFarmer ? \"Da\" : \"Ne\"}\r\n

    \r\n
    \r\n\r\n {/* col2 */}\r\n
    \r\n
    Predavači
    \r\n {education.instructors.map((value, index) => {\r\n return (\r\n

    \r\n {value.name}\r\n

    \r\n );\r\n })}\r\n
    \r\n\r\n {/* col3 */}\r\n
    \r\n
    Napomena
    \r\n

    {education.remark}

    \r\n
    \r\n
    \r\n
    \r\n\r\n {education.educationStatuses?.length ? (\r\n
    \r\n

    \r\n {education.educationStatuses.map((value, index) => {\r\n const showComma =\r\n index + 1 < education.educationStatuses.length;\r\n\r\n return (\r\n \r\n {value.farmerName} {value.farmerLastName}\r\n {showComma && \", \"}\r\n \r\n );\r\n })}\r\n

    \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n ) : (\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Can } from \"modules/auth\";\r\n\r\nimport {\r\n EducationLinks,\r\n EducationSignup,\r\n EducationTabNavigation,\r\n SpecificEducation,\r\n} from \"modules/education\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useTitle } from \"modules/common\";\r\n\r\nexport const Educations: React.FC = () => {\r\n useTitle('Edukacija - eSavjetnik');\r\n const { search } = useLocation();\r\n\r\n const id = search.includes(\"id\") ? search.split(\"=\")[1] : undefined;\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 {id ? : }\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n","import React, { useEffect } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { activateAccount, getUrlCode } from \"modules/auth\";\r\nimport { ReactComponent as Spinner } from \"assets/icons/spinner.svg\";\r\nimport { AppRoutes } from \"routing\";\r\nimport { RootState } from \"store\";\r\nimport { useTitle } from \"modules/common\";\r\n\r\nexport const ActivateAccount: React.FC = () => {\r\n useTitle('Aktivacija računa - eSavjetnik');\r\n const { search } = useLocation();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const accountActivation = useSelector(\r\n (state: RootState) => state.activateAccount\r\n );\r\n const { activateAccountError, activateAccountSuccess } = accountActivation;\r\n\r\n useEffect(() => {\r\n const code = getUrlCode(search);\r\n if (!code) {\r\n history.push({\r\n pathname: AppRoutes.SignIn,\r\n });\r\n } else {\r\n dispatch(activateAccount(code));\r\n }\r\n }, [dispatch, history, search]);\r\n\r\n useEffect(() => {\r\n if (activateAccountError || activateAccountSuccess) {\r\n history.push({\r\n pathname: AppRoutes.SignIn,\r\n });\r\n }\r\n }, [activateAccountError, activateAccountSuccess, history]);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n","import { activateUserAccount } from \"services\";\r\nimport { AppThunk } from \"store\";\r\n\r\nimport {\r\n activateAccountError,\r\n activateAccountRequest,\r\n activateAccountSuccess,\r\n} from \"./reducer\";\r\n\r\nexport const activateAccount = (code: string): AppThunk => async (dispatch) => {\r\n try {\r\n dispatch(activateAccountRequest());\r\n\r\n const response = await activateUserAccount(code);\r\n const [first] = response.data.statuses;\r\n dispatch(activateAccountSuccess({ successMessage: first.message }));\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(activateAccountError({ errorMessage: first.message }));\r\n }\r\n};\r\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\r\nimport { DayModifiers } from \"react-day-picker\";\r\nimport format from \"date-fns/format\";\r\nimport getDay from \"date-fns/getDay\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { ValueType } from \"react-select\";\r\nimport debounce from \"lodash.debounce\";\r\nimport {\r\n Input,\r\n DatePicker,\r\n Table,\r\n userActivityColumns,\r\n WEEKDAYS_LONG,\r\n Pagination,\r\n OptionType,\r\n Loading,\r\n NoResults,\r\n useTitle,\r\n} from \"modules/common\";\r\nimport { ReactComponent as SearchIcon } from \"assets/icons/search.svg\";\r\nimport { RootState } from \"store\";\r\nimport {\r\n ActivityFilters,\r\n getUserActivityData,\r\n getUserActivityRequest,\r\n} from \"modules/dashboard\";\r\n\r\nconst DefaultPageSize = {\r\n value: \"10\",\r\n label: \"10\",\r\n};\r\n\r\nconst PAGE_NEIGHBOURS = 1;\r\nconst INPUT_DEBOUNCE_TIME = 500; //miliseconds\r\n\r\nexport const UserActivity: React.FC = () => {\r\n useTitle('Aktivnost korisnika - eSavjetnik');\r\n const dispatch = useDispatch();\r\n const userActivity = useSelector((state: RootState) => state.userActivity);\r\n const [actionFilter, setActionFilter] = useState([]);\r\n const [roleFilter, setRoleFilter] = useState([]);\r\n const [pageSize, setPageSize] = useState(DefaultPageSize);\r\n const [searchTerm, setSearchTerm] = useState(\"\");\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const tableColumns = useMemo(() => userActivityColumns, []);\r\n const [date, setDate] = useState(new Date());\r\n\r\n const handleDayClick = (\r\n day: Date,\r\n modifiers: DayModifiers,\r\n e: React.MouseEvent\r\n ) => {\r\n setDate(new Date(day.toISOString()));\r\n setCurrentPage(1);\r\n };\r\n\r\n const handlePageSizeChange = (value: ValueType) => {\r\n setPageSize(value);\r\n setCurrentPage(1);\r\n };\r\n\r\n const handlePageClick = (\r\n event: React.MouseEvent\r\n ) => {\r\n const page = Number(parseInt(event.currentTarget.id));\r\n setCurrentPage(page);\r\n };\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const debouncedSearch = useCallback(\r\n debounce(\r\n (\r\n currentPage: number,\r\n searchTerm: string | null,\r\n size: number,\r\n actions: number[],\r\n roles: number[],\r\n date: Date | null\r\n ) =>\r\n dispatch(\r\n getUserActivityData({\r\n pageNumber: currentPage,\r\n pageSize: size,\r\n actionTypeFilter: [...actions],\r\n applicationTypeFilter: [0],\r\n userRoleFilter: [...roles],\r\n search: searchTerm,\r\n dateFrom: date ? new Date(date.setHours(0, 0, 0, 0)) : null,\r\n dateTo: date ? new Date(date.setHours(23, 59, 59, 999)) : null,\r\n })\r\n ),\r\n INPUT_DEBOUNCE_TIME\r\n ),\r\n []\r\n );\r\n\r\n const handleSearchChange = (event: React.ChangeEvent) => {\r\n const { value } = event.target;\r\n setSearchTerm(value);\r\n setCurrentPage(1);\r\n };\r\n\r\n const handleNexPageClick = () => {\r\n setCurrentPage((prev) => prev + 1);\r\n };\r\n\r\n const handlePrevPageClick = () => {\r\n setCurrentPage((prev) => prev - 1);\r\n };\r\n\r\n useEffect(() => {\r\n const size = parseInt(pageSize?.value ?? DefaultPageSize.value);\r\n // api call is debounced, switch to loading earlier\r\n dispatch(getUserActivityRequest());\r\n debouncedSearch(\r\n currentPage,\r\n searchTerm,\r\n size,\r\n actionFilter,\r\n roleFilter,\r\n date\r\n );\r\n }, [\r\n actionFilter,\r\n currentPage,\r\n date,\r\n debouncedSearch,\r\n dispatch,\r\n pageSize?.value,\r\n roleFilter,\r\n searchTerm,\r\n ]);\r\n\r\n return (\r\n
    \r\n

    Aktivnost korisnika

    \r\n
    \r\n \r\n }\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n
    {`${\r\n WEEKDAYS_LONG[getDay(date)]\r\n }, ${format(date, \"dd.MM.yyyy\")}`}
    \r\n {userActivity.isLoading ? (\r\n \r\n ) : userActivity.data && userActivity.data?.length ? (\r\n <>\r\n
    \r\n \r\n \r\n {userActivity.data.length === 0 ? null : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { fetchUserActivity, UserActivityRequest } from \"services\";\r\nimport { mapUserActivites } from \"modules/dashboard\";\r\nimport { AppThunk } from \"store\";\r\nimport { getUserActivityError, getUserActivitySuccess } from \"./reducer\";\r\n\r\nexport const getUserActivityData =\r\n (data: UserActivityRequest): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n\r\n if (state.signIn.user) {\r\n const { accessToken } = state.signIn.user;\r\n const response = await fetchUserActivity(data, accessToken);\r\n dispatch(\r\n getUserActivitySuccess({\r\n data: mapUserActivites(response.data.userActivityLogList),\r\n userActivityLogCount: response.data.userActivityLogCount,\r\n })\r\n );\r\n }\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(getUserActivityError({ errorMessage: first.message }));\r\n }\r\n };\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 16C0 7.16344 7.16344 0 16 0C24.8366 0 32 7.16344 32 16C32 24.8366 24.8366 32 16 32C7.16344 32 0 24.8366 0 16Z\",\n fill: \"#848D27\",\n fillOpacity: 0.1\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 9C12.134 9 9 12.134 9 16C9 19.866 12.134 23 16 23C19.866 23 23 19.866 23 16C23 12.134 19.866 9 16 9Z\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 12C15.5858 12 15.25 12.3358 15.25 12.75C15.25 13.1642 15.5858 13.5 16 13.5C16.4142 13.5 16.75 13.1642 16.75 12.75C16.75 12.3358 16.4142 12 16 12Z\",\n fill: \"#848D27\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 20V15.5\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgDetails(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDetails);\nexport default __webpack_public_path__ + \"static/media/details.7ca7073f.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\r\nimport { ValueType } from \"react-select\";\r\nimport debounce from \"lodash.debounce\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n Input,\r\n AdministrationTable,\r\n Pagination,\r\n OptionType,\r\n Modal,\r\n ModalHeader,\r\n ModalFooter,\r\n Button,\r\n UserInfo,\r\n Loading,\r\n findUserTypeByLabel,\r\n UserInfoLoading,\r\n RoleType,\r\n useTitle,\r\n} from \"modules/common\";\r\nimport { ReactComponent as SearchIcon } from \"assets/icons/search.svg\";\r\nimport { ReactComponent as DetailsIcon } from \"assets/icons/details.svg\";\r\nimport {\r\n AdministrationFilters,\r\n deactivateUser,\r\n getAccountListRequest,\r\n getUserAccountData,\r\n getAccountList,\r\n} from \"modules/dashboard\";\r\nimport { RootState } from \"store\";\r\n\r\nconst DefaultPageSize = {\r\n value: \"10\",\r\n label: \"10\",\r\n};\r\n\r\nconst PAGE_NEIGHBOURS = 1;\r\nconst INPUT_DEBOUNCE_TIME = 500; //miliseconds\r\n\r\nexport const UserAdministration: React.FC = () => {\r\n useTitle('Administracija korisnika - eSavjetnik');\r\n const dispatch = useDispatch();\r\n const accountList = useSelector((state: RootState) => state.accountList);\r\n const userAccount = useSelector((state: RootState) => state.userAccount);\r\n const { userData } = userAccount;\r\n const deactivateAccount = useSelector(\r\n (state: RootState) => state.deactivateUser\r\n );\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const [pageSize, setPageSize] = useState(DefaultPageSize);\r\n const [searchTerm, setSearchTerm] = useState(null);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [countyFilter, setCountyFilter] = useState([]);\r\n const [roleFilter, setRoleFilter] = useState(0);\r\n\r\n const handleSearchChange = (event: React.ChangeEvent) => {\r\n const { value } = event.target;\r\n setSearchTerm(value);\r\n setCurrentPage(1);\r\n };\r\n\r\n const handlePageSizeChange = (value: ValueType) => {\r\n setPageSize(value);\r\n setCurrentPage(1);\r\n };\r\n\r\n const handlePageClick = (\r\n event: React.MouseEvent\r\n ) => {\r\n setCurrentPage(Number(parseInt(event.currentTarget.id)));\r\n };\r\n\r\n const handleNexPageClick = () => {\r\n setCurrentPage((prev) => prev + 1);\r\n };\r\n\r\n const handlePrevPageClick = () => {\r\n setCurrentPage((prev) => prev - 1);\r\n };\r\n\r\n const handleModalOpen = useCallback(\r\n (uid: string, userType: number) => {\r\n dispatch(getUserAccountData(uid, userType));\r\n setIsModalOpen(true);\r\n },\r\n [dispatch]\r\n );\r\n\r\n const handleModalClose = () => {\r\n setIsModalOpen(false);\r\n // refetch data to display up to date values\r\n dispatch(getAccountListRequest());\r\n const size = parseInt(pageSize?.value ?? DefaultPageSize.value);\r\n debouncedSearch(currentPage, searchTerm, size, countyFilter, roleFilter);\r\n };\r\n\r\n const handleDeactivateUser = (uid: string, userType: number) => {\r\n dispatch(deactivateUser(uid, userType));\r\n setIsModalOpen(false);\r\n };\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const debouncedSearch = useCallback(\r\n debounce(\r\n (\r\n currentPage: number,\r\n searchTerm: string | null,\r\n size: number,\r\n counties: number[],\r\n roles: number\r\n ) =>\r\n dispatch(\r\n getAccountList({\r\n pageNumber: currentPage,\r\n pageSize: size,\r\n countyFilter: counties,\r\n userRoleFilter: roles > 0 ? roles : RoleType.Citizen,\r\n search: searchTerm,\r\n })\r\n ),\r\n INPUT_DEBOUNCE_TIME\r\n ),\r\n []\r\n );\r\n\r\n useEffect(() => {\r\n const size = parseInt(pageSize?.value ?? DefaultPageSize.value);\r\n dispatch(getAccountListRequest());\r\n debouncedSearch(currentPage, searchTerm, size, countyFilter, roleFilter);\r\n }, [\r\n countyFilter,\r\n currentPage,\r\n debouncedSearch,\r\n dispatch,\r\n pageSize?.value,\r\n roleFilter,\r\n searchTerm,\r\n deactivateAccount.deactivationSuccess,\r\n ]);\r\n\r\n const tableColumns = useMemo(\r\n () => [\r\n {\r\n Header: \"NAZIV KORISNIKA\",\r\n id: \"name\",\r\n accessor: (data: any) => {\r\n return (\r\n
    \r\n \r\n {data.firstName ?? \"\"} {data.lastName ?? \"\"}\r\n \r\n
    \r\n );\r\n },\r\n },\r\n {\r\n Header: \"ULOGA\",\r\n accessor: \"userRole\",\r\n Cell: ({ row }: any) => {\r\n const { original } = row;\r\n\r\n return
    {original.userRole.label}
    ;\r\n },\r\n },\r\n {\r\n Header: \"ŽUPANIJA\",\r\n accessor: \"county\",\r\n },\r\n {\r\n id: \"info\",\r\n disableSortBy: true,\r\n Cell: ({ row }: any) => {\r\n const { original } = row;\r\n const type = findUserTypeByLabel(original.userType);\r\n return (\r\n handleModalOpen(original.uid, type?.value ?? 0)}\r\n />\r\n );\r\n },\r\n },\r\n ],\r\n [handleModalOpen]\r\n );\r\n\r\n return (\r\n
    \r\n

    \r\n Administracija korisnika\r\n

    \r\n
    \r\n \r\n }\r\n />\r\n
    \r\n {accountList.isFetchingAccountList ? (\r\n \r\n ) : accountList.data && !accountList.errorMessage ? (\r\n <>\r\n
    \r\n \r\n
    \r\n {accountList.data.length === 0 ? null : (\r\n \r\n )}\r\n \r\n ) : (\r\n

    {accountList.errorMessage}

    \r\n )}\r\n \r\n }\r\n modalFooter={\r\n userAccount.isFetchingUserData || !userData ? null : (\r\n \r\n \r\n Zatvori\r\n \r\n \r\n )\r\n }\r\n >\r\n {userAccount.isFetchingUserData || !userData ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n );\r\n};\r\n","import { userTypes } from \"../constants\";\r\n\r\nexport const findUserTypeByLabel = (label: string) =>\r\n Object.values(userTypes).find((t) => t.label === label);\r\n","import React, { useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { DeactivateAccountModal, Settings } from \"modules/dashboard\";\r\nimport {\r\n Button,\r\n InfoNote,\r\n ProfileInfo,\r\n ProfileInfoCitizenForm,\r\n ProfileInfoForm,\r\n ProfileSkeleton,\r\n UserTypes,\r\n useTitle,\r\n} from \"modules/common\";\r\nimport { RootState } from \"store\";\r\nimport { sessionCache } from \"modules/auth\";\r\n\r\nconst isCitizen = (userType: number) => UserTypes.Citizen === userType;\r\nconst isFarmer = (userType: number) => UserTypes.Farmer === userType;\r\n\r\nexport const Profile: React.FC = () => {\r\n useTitle('Profil - eSavjetnik');\r\n const user = sessionCache().getSession();\r\n const [showDeactivateModal, setShowDeactivateModal] = useState(false);\r\n const { profile, isLoading, isUpdating } = useSelector(\r\n (state: RootState) => state.profile\r\n );\r\n const userType = user?.userType.value ?? profile?.userType?.value;\r\n\r\n const toggleDeactivateModal = () => {\r\n setShowDeactivateModal(!showDeactivateModal);\r\n };\r\n\r\n return (\r\n <>\r\n {isLoading || isUpdating ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n
    \r\n Tvoje informacije\r\n \r\n Osnovne informacije o korisniku.\r\n \r\n {isCitizen(userType ?? UserTypes.Citizen) ? (\r\n <>\r\n \r\n \r\n Ime i prezime\r\n \r\n \r\n {profile?.firstName} {profile?.lastName}\r\n \r\n Uloga\r\n \r\n {profile?.roleType?.label ?? \"\"}\r\n \r\n E-mail\r\n \r\n {profile?.email}\r\n \r\n {/* Država\r\n \r\n {profile?.country}\r\n */}\r\n \r\n Mjesto\r\n \r\n \r\n {profile?.settlement}\r\n \r\n \r\n Poštanski broj\r\n \r\n \r\n {profile?.postalNumber &&\r\n profile.postalNumber.length &&\r\n `${profile.postalNumber}`}\r\n \r\n Adresa\r\n \r\n {profile?.street} {profile?.streetNumber}\r\n \r\n Županija\r\n \r\n {profile?.county}\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 Ime i prezime\r\n \r\n \r\n {profile?.firstName} {profile?.lastName}\r\n \r\n {isFarmer(userType ?? UserTypes.Farmer) ? (\r\n <>\r\n MIBPG\r\n \r\n {profile?.mibpg}\r\n \r\n \r\n ) : null}\r\n {profile?.legalEntityName ? (\r\n <>\r\n \r\n Poslovni subjekt\r\n \r\n \r\n {profile?.legalEntityName}\r\n \r\n ) : null}\r\n Uloga\r\n \r\n {profile?.roleType?.label ?? \"\"}\r\n \r\n E-mail\r\n \r\n {profile?.email}\r\n \r\n \r\n Mjesto\r\n \r\n \r\n {profile?.settlement}\r\n \r\n \r\n Poštanski broj\r\n \r\n \r\n {profile?.postalNumber &&\r\n profile.postalNumber.length &&\r\n `${profile.postalNumber}`}\r\n \r\n Adresa\r\n \r\n {profile?.street} {profile?.streetNumber}\r\n \r\n Županija\r\n \r\n {profile?.county}\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

    Deaktivacija računa

    \r\n \r\n Deaktivacijom računa gubite pravo pristupa e-Savjetnik\r\n sustavu.\r\n \r\n \r\n Deaktivacija računa\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n \r\n \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.5 6.5L8 11.5L12.5 6.5H9.5L9.5 0.5H6.5L6.5 6.5H3.5Z\",\n stroke: \"#242424\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.5 10.5V14.5C15.5 15.052 15.052 15.5 14.5 15.5H1.5C0.948 15.5 0.5 15.052 0.5 14.5V10.5\",\n stroke: \"#242424\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgDownload(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownload);\nexport default __webpack_public_path__ + \"static/media/download.6499747a.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport { DateUtils, DayModifiers } from \"react-day-picker\";\r\nimport Masonry from \"react-masonry-css\";\r\nimport {\r\n HorizontalBarChart,\r\n mockModuleUsageData,\r\n RangeDatePicker,\r\n StatisticsContainer,\r\n UsersStats,\r\n useTitle,\r\n} from \"modules/common\";\r\nimport { ReactComponent as DownloadIcon } from \"assets/icons/download.svg\";\r\nimport {\r\n getAccountDashboardData,\r\n ModuleUsageStats,\r\n NotificationsStats,\r\n RegistrationStats,\r\n SubscriptionsStats,\r\n SystemAdministrationSkeleton,\r\n} from \"modules/dashboard\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { RootState } from \"store\";\r\nimport { CSVLink } from \"react-csv\";\r\nimport { sum, values } from \"lodash\";\r\n\r\nexport const SystemAdministration: React.FC = () => {\r\n useTitle('Administracija sustava - eSavjetnik');\r\n const dispatch = useDispatch();\r\n const { data, isFetching } = useSelector(\r\n (state: RootState) => state.dashboardData\r\n );\r\n const [date, setDate] = useState<{\r\n from: Date;\r\n to: Date;\r\n }>({\r\n from: new Date(),\r\n to: new Date(),\r\n });\r\n\r\n const handleDayClick = (\r\n day: Date,\r\n modifiers: DayModifiers,\r\n e: React.MouseEvent\r\n ) => {\r\n const range = DateUtils.addDayToRange(day, date);\r\n setDate(range);\r\n };\r\n\r\n const updateRange = (from: Date, to: Date) => {\r\n setDate({ from, to });\r\n };\r\n\r\n const { from, to } = date;\r\n const modifiers = { start: from, end: to };\r\n\r\n const tableColumns = useMemo(\r\n () => [\r\n {\r\n Header: \"Naziv\",\r\n accessor: \"label\",\r\n className: \"name-header\",\r\n },\r\n\r\n {\r\n Header: \"Web\",\r\n accessor: (data: any) => (\r\n
    {data.web}
    \r\n ),\r\n className: \"web-header\",\r\n id: 2,\r\n },\r\n {\r\n Header: \"Mobilni\",\r\n accessor: (data: any) => (\r\n
    {data.mobile}
    \r\n ),\r\n className: \"mobile-header\",\r\n id: 3,\r\n },\r\n {\r\n id: \"graph\",\r\n Cell: () => ,\r\n },\r\n ],\r\n []\r\n );\r\n\r\n useEffect(() => {\r\n if (date.from && date.to) {\r\n dispatch(\r\n getAccountDashboardData({ dateFrom: date.from, dateTo: date.to })\r\n );\r\n }\r\n }, [dispatch, date.from, date.to]);\r\n\r\n /** Prepare data for export */\r\n // function formatedCSVData() {\r\n // if (!data) {\r\n // return [];\r\n // }\r\n\r\n // const formatedData = [\r\n // {\r\n // Datum: `${format(new Date(data.dateFrom), \"dd.MM.yyyy.\")} - ${format(\r\n // new Date(data.dateTo),\r\n // \"dd.MM.yyyy.\"\r\n // )}`,\r\n // \"Vrsta predbilježbe\": {\r\n // Savjeti: data.accountDashboardInfoView.totalInfoAdviceCount,\r\n // Najave: data.accountDashboardInfoView.totalInfoAnnouncementCount,\r\n // Tečajevi:\r\n // data.accountDashboardInfoView.totalInfoCoursesNotificationCount,\r\n // Demonstracije:\r\n // data.accountDashboardInfoView\r\n // .totalInfoDemonstrationNotificationCount,\r\n // Poljoprivreda:\r\n // data.accountDashboardInfoView.totalInfoFarmingAndOtherCount,\r\n // Voće:\r\n // data.accountDashboardInfoView.totalInfoFruitAndOliveGrowingCount,\r\n // Vijesti: data.accountDashboardInfoView.totalInfoNewsCount,\r\n // Vrijeme: data.accountDashboardInfoView.totalInfoWetherAlarmCount,\r\n // Vino: data.accountDashboardInfoView.totalInfoWineGrowingCount,\r\n // },\r\n // },\r\n // ];\r\n\r\n // return JSON.stringify(formatedData);\r\n // }\r\n\r\n const totalRegistered =\r\n (data?.accountDashboardRegisteredView?.totalFarmerAccountCount ?? 0) +\r\n (data?.accountDashboardRegisteredView?.totalFishermanAccountCount ?? 0) +\r\n (data?.accountDashboardRegisteredView?.totalCitizenAccountCount ?? 0);\r\n\r\n function sumObjectValues(data: unknown) {\r\n return sum(values(data));\r\n }\r\n\r\n return (\r\n
    \r\n

    \r\n Administracija sustava\r\n

    \r\n
    \r\n \r\n \r\n Preuzmi me\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {isFetching ? (\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","import { useTitle } from \"modules/common\";\r\nimport React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { AppRoutes } from \"routing\";\r\n\r\nexport const NotAuthorized: React.FC = () => {\r\n useTitle('Nemate autorizaciju - eSavjetnik');\r\n return (\r\n
    \r\n

    \r\n Nemate potrebnu autorizaciju, vratite se na{\" \"}\r\n početnu stranicu\r\n

    \r\n
    \r\n );\r\n};\r\n","import { useTitle } from \"modules/common\";\r\nimport React from \"react\";\r\n\r\nexport const NoMatch: React.FC = () => {\r\n useTitle('Stranica nije pronađena - eSavjetnik');\r\n return
    404 Page not found
    ;\r\n};\r\n","import { Loading, useTitle } from \"modules/common\";\r\nimport React, { useState } from \"react\";\r\n\r\nexport const Agrometeorology: React.FC = () => {\r\n useTitle('Agrometeorologija - eSavjetnik');\r\n const [showLoading, setShowLoading] = useState(true);\r\n\r\n return (\r\n <>\r\n {showLoading && (\r\n
    \r\n \r\n
    \r\n )}\r\n setShowLoading(false)}\r\n className=\"agrivi-iframe\"\r\n title=\"Agrometeorologija\"\r\n src={`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_AGRIVI_URL}/agrometeorologija`}\r\n />\r\n \r\n );\r\n};\r\n","import { Loading, useTitle } from \"modules/common\";\r\nimport React, { useState } from \"react\";\r\n\r\nexport const AgroclimateStations: React.FC = () => {\r\n useTitle('Agroklimatske stanice - eSavjetnik');\r\n const [showLoading, setShowLoading] = useState(true);\r\n\r\n return (\r\n <>\r\n {showLoading && (\r\n
    \r\n \r\n
    \r\n )}\r\n setShowLoading(false)}\r\n className=\"agrivi-iframe\"\r\n title=\"Agroklimatske stanice\"\r\n src={`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_AGRIVI_URL}/agroklimatske-stanice`}\r\n />\r\n \r\n );\r\n};\r\n","import { Loading, useTitle } from \"modules/common\";\r\nimport React, { useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nexport const PlantProtection: React.FC = () => {\r\n useTitle('Zaštita bilja - eSavjetnik');\r\n const { search } = useLocation();\r\n const [showLoading, setShowLoading] = useState(true);\r\n\r\n return (\r\n <>\r\n {showLoading && (\r\n
    \r\n \r\n
    \r\n )}\r\n setShowLoading(false)}\r\n className=\"agrivi-iframe\"\r\n title=\"Zastita bilja\"\r\n src={`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_AGRIVI_URL}/zastita-bilja${search}`}\r\n />\r\n \r\n );\r\n};\r\n","import { Loading, useTitle } from \"modules/common\";\r\nimport React, { useState } from \"react\";\r\n\r\nexport const Records: React.FC = () => {\r\n useTitle('Evidencije - eSavjetnik');\r\n const [showLoading, setShowLoading] = useState(true);\r\n\r\n return (\r\n <>\r\n {showLoading && (\r\n
    \r\n \r\n
    \r\n )}\r\n setShowLoading(false)}\r\n className=\"agrivi-iframe\"\r\n title=\"Evidencije\"\r\n src={`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_AGRIVI_URL}/documents`}\r\n />\r\n \r\n );\r\n};\r\n","import { Loading, useTitle } from \"modules/common\";\r\nimport React, { useState } from \"react\";\r\n\r\nexport const Advisors: React.FC = () => {\r\n useTitle('Savjetnici - eSavjetnik');\r\n const [showLoading, setShowLoading] = useState(true);\r\n\r\n return (\r\n <>\r\n {showLoading && (\r\n
    \r\n \r\n
    \r\n )}\r\n setShowLoading(false)}\r\n className=\"agrivi-iframe\"\r\n title=\"Savjetnici\"\r\n src={`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_AGRIVI_URL}/savjetnici`}\r\n />\r\n \r\n );\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 14,\n cy: 14,\n r: 14,\n fill: \"#848D27\",\n fillOpacity: 0.1\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.75 9.625L18.375 12.25\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.5 7.875L20.125 10.5L11.375 19.25L7.875 20.125L8.75 16.625L17.5 7.875Z\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nfunction SvgEdit(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 28,\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEdit);\nexport default __webpack_public_path__ + \"static/media/edit.9cf1604a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 14,\n cy: 14,\n r: 14,\n fill: \"#848D27\",\n fillOpacity: 0.1\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 9V19\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 15.3335L14 19.3335L10 15.3335\",\n stroke: \"#848D27\",\n strokeMiterlimit: 10,\n strokeLinecap: \"square\"\n});\n\nfunction SvgDownloadCircle(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 28,\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadCircle);\nexport default __webpack_public_path__ + \"static/media/download-circle.1eb62178.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 14,\n cy: 14,\n r: 14,\n fill: \"#D51D3E\",\n fillOpacity: 0.1\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.6261 8.26042C16.4349 7.69768 15.9383 7.3335 15.3759 7.3335H12.6239L12.5193 7.33772C11.9661 7.38249 11.4941 7.77947 11.3487 8.33705L11.1836 9.17892L11.1643 9.25302C11.0852 9.49301 10.8642 9.65958 10.6118 9.65958L10.6112 9.65962H8.48759L8.42143 9.66418C8.18344 9.69729 8 9.9065 8 10.1596C8 10.4358 8.2183 10.6597 8.48759 10.6597H19.5124L19.5786 10.6551C19.8166 10.622 20 10.4128 20 10.1596C20 9.88349 19.7817 9.65962 19.5124 9.65962H17.3942C17.3921 9.65959 17.3901 9.65958 17.3881 9.65958L17.3134 9.65468C17.0683 9.62229 16.8658 9.43264 16.8162 9.17872L16.6583 8.36822L16.6261 8.26042ZM15.9429 9.65962C15.9207 9.60316 15.9015 9.54498 15.8855 9.48528L15.86 9.37488L15.7091 8.59536C15.6738 8.4601 15.5649 8.36108 15.4335 8.33844L15.3759 8.33353H12.6239C12.4871 8.33353 12.3655 8.41565 12.315 8.51885L12.2979 8.56419L12.1399 9.37508C12.1206 9.47383 12.0926 9.56893 12.057 9.65962H15.9429ZM18.6523 11.8136C18.8983 11.8339 19.0869 12.0382 19.1 12.2842L19.0937 12.4213L18.884 14.9888L18.6641 17.4944C18.6175 17.9946 18.5759 18.4165 18.5399 18.7486C18.415 19.906 17.6637 20.6217 16.5311 20.6429C14.7663 20.6755 13.0699 20.6751 11.4225 20.6395C10.3227 20.6164 9.58245 19.893 9.45971 18.7533L9.37487 17.9136L9.22663 16.2848L9.07478 14.4975L8.90115 12.3521C8.87957 12.0768 9.07968 11.8357 9.34811 11.8136C9.59416 11.7933 9.81221 11.964 9.86347 12.2047L9.88341 12.4013L10.0464 14.4126L10.2245 16.4974C10.3043 17.3999 10.3736 18.1303 10.429 18.6433C10.4989 19.2928 10.8409 19.6271 11.4428 19.6397C13.0772 19.6751 14.761 19.6754 16.5134 19.643C17.1518 19.6311 17.4992 19.3001 17.5707 18.6384L17.6551 17.8032C17.6799 17.5458 17.7063 17.2617 17.7342 16.953L17.9124 14.9027L18.1271 12.2718C18.1469 12.0195 18.3462 11.8261 18.586 11.8127L18.6523 11.8136Z\",\n fill: \"#D51D3E\"\n});\n\nfunction SvgDelete(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 28,\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDelete);\nexport default __webpack_public_path__ + \"static/media/delete.a9a15400.svg\";\nexport { ForwardRef as ReactComponent };","export enum AppRoutes {\r\n SignIn = \"/\",\r\n SignUp = \"/registracija\",\r\n ForgotPassword = \"/zaboravljena-lozinka\",\r\n ChangePassword = \"/nova-lozinka\",\r\n ActivateAccount = \"/aktivacija-racuna\",\r\n Education = \"/edukacija\",\r\n News = \"/vijesti\",\r\n AgroclimateStations = \"/agroklimatske-stanice\",\r\n Agrometeorology = \"/agrometeorologija\",\r\n Records = \"/evidencije\",\r\n Advisors = \"/savjetnici\",\r\n PlantProtection = \"/zastita-bilja\",\r\n UserActivity = \"/aktivnost-korisnika\",\r\n UserAdministration = \"/administracija-korisnika\",\r\n Profile = \"/profil\",\r\n SystemAdministration = \"/administracija-sustava\",\r\n NotAuthorized = \"/unauthorized\",\r\n Presentations = \"/prezentacije\",\r\n Communication = \"/komunikacija-s-korisnicima\",\r\n}","import React from \"react\";\r\nimport { ReactComponent as Edit } from \"assets/icons/edit.svg\";\r\nimport { ReactComponent as Download } from \"assets/icons/download-circle.svg\";\r\nimport { ReactComponent as Delete } from \"assets/icons/delete.svg\";\r\nimport { PresentationItem as Presentation } from \"services\";\r\nimport { format } from \"date-fns\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { RootState } from \"store\";\r\nimport { Can } from \"modules/auth\";\r\n\r\ninterface Props {\r\n item: Presentation;\r\n onEdit: (id: number) => void;\r\n onDownload: (id: number) => void;\r\n onDelete: (id: number) => void;\r\n}\r\n\r\nexport const PresentationItem: React.FC = ({\r\n item,\r\n onEdit,\r\n onDownload,\r\n onDelete,\r\n}) => {\r\n const { isDownloading } = useSelector(\r\n (state: RootState) => state.presentations\r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n\t\t{item.type ?\r\n\t\t\t

    \r\n\t\t\t{item.type}\r\n\t\t\t

    \r\n\t\t: null}\r\n

    \r\n {item.expertArea.name}\r\n

    \r\n\t\t{item.measure.name !== 'other' ?\r\n\t\t\t

    \r\n\t\t\t{item.measure.name}\r\n\t\t\t

    \r\n\t\t: null}\r\n

    \r\n {item.operationType.name}\r\n

    \r\n

    \r\n {format(new Date(item.createdAt), \"dd.MM.yyyy.\")}\r\n

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

    {item.title}

    \r\n

    {item.author}

    \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","import { xor } from \"lodash\";\r\nimport {\r\n Checkbox,\r\n Filter,\r\n FilterGroup,\r\n Loading,\r\n ToggleSwitch,\r\n useOutsideClick,\r\n} from \"modules/common\";\r\nimport {\r\n getExpertAreas,\r\n getMeasures,\r\n getOperationTypes,\r\n} from \"modules/education\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { RootState } from \"store\";\r\nimport { FileType } from \"..\";\r\n\r\ninterface Props {\r\n typeFilter: string[];\r\n setTypeFilter: React.Dispatch>;\r\n expertAreasFilter: string[];\r\n setExpertAreasFilter: React.Dispatch>;\r\n measuresFilter: string[];\r\n setMeasuresFilter: React.Dispatch>;\r\n operationsFilter: string[];\r\n setOperationsFilter: React.Dispatch>;\r\n isActiveFilter: boolean;\r\n setIsActiveFilter: React.Dispatch>;\r\n}\r\n\r\nexport const PresentationFilters: React.FC = ({\r\n typeFilter,\r\n setTypeFilter,\r\n expertAreasFilter,\r\n setExpertAreasFilter,\r\n measuresFilter,\r\n setMeasuresFilter,\r\n operationsFilter,\r\n setOperationsFilter,\r\n isActiveFilter,\r\n setIsActiveFilter,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const typeFilterRef = useRef(null);\r\n const expertAreasFilterRef = useRef(null);\r\n const measuresFilterRef = useRef(null);\r\n const operationsFilterRef = useRef(null);\r\n\r\n const { items: ReducerMeasures, isLoading: loadingMeasures } = useSelector(\r\n (state: RootState) => state.measures\r\n );\r\n const { items: ReducerOperationTypes, isLoading: loadingOperationTypes } =\r\n useSelector((state: RootState) => state.operationTypes);\r\n const { items: ReducerExpertAreas, isLoading: loadingExpertAreas } =\r\n useSelector((state: RootState) => state.expertAreas);\r\n\r\n const [showTypeFilter, setShowTypeFilter] = useState(false);\r\n const [showExpertAreasFilter, setShowExpertAreasFilter] = useState(false);\r\n const [showMeasuresFilter, setShowMeasuresFilter] = useState(false);\r\n const [showOperationsFilter, setShowOperationsFilter] = useState(false);\r\n\r\n function onTypeChange(event: React.ChangeEvent) {\r\n const selectedType = FileType?.find((i) => i.type === event.target.value);\r\n\r\n if (!selectedType) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(typeFilter, [selectedType.type]);\r\n setTypeFilter(newArray);\r\n }\r\n\r\n function onExpertAreaChange(event: React.ChangeEvent) {\r\n const selectedExpertArea = ReducerExpertAreas?.find(\r\n (i) => i === event.target.value\r\n );\r\n\r\n if (!selectedExpertArea) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(expertAreasFilter, [selectedExpertArea]);\r\n setExpertAreasFilter(newArray);\r\n }\r\n\r\n function onMeasureChange(event: React.ChangeEvent) {\r\n const selectedMeasure = ReducerMeasures?.find(\r\n (i) => i === event.target.value\r\n );\r\n\r\n if (!selectedMeasure) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(measuresFilter, [selectedMeasure]);\r\n setMeasuresFilter(newArray);\r\n }\r\n\r\n function onOperationChange(event: React.ChangeEvent) {\r\n const selectedOperation = ReducerOperationTypes?.find(\r\n (i) => i === event.target.value\r\n );\r\n\r\n if (!selectedOperation) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(operationsFilter, [selectedOperation]);\r\n setOperationsFilter(newArray);\r\n }\r\n\r\n const handleTypeFilterOutsideClick = () => {\r\n setShowTypeFilter(false);\r\n };\r\n\r\n const handleExpertAreasFilterOutsideClick = () => {\r\n setShowExpertAreasFilter(false);\r\n };\r\n\r\n const handleMeasuresFilterOutsideClick = () => {\r\n setShowMeasuresFilter(false);\r\n };\r\n const handleOperationsFilterOutsideClick = () => {\r\n setShowOperationsFilter(false);\r\n };\r\n\r\n useOutsideClick(typeFilterRef, handleTypeFilterOutsideClick);\r\n useOutsideClick(expertAreasFilterRef, handleExpertAreasFilterOutsideClick);\r\n useOutsideClick(measuresFilterRef, handleMeasuresFilterOutsideClick);\r\n useOutsideClick(operationsFilterRef, handleOperationsFilterOutsideClick);\r\n\r\n const handleTypeFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setTypeFilter([]);\r\n };\r\n\r\n const handleExpertAreasFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setExpertAreasFilter([]);\r\n };\r\n\r\n const handleMeasuresFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setMeasuresFilter([]);\r\n };\r\n\r\n const handleOperationTypesFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setOperationsFilter([]);\r\n };\r\n\r\n const handleTypeFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowTypeFilter(!showTypeFilter);\r\n };\r\n\r\n const handleExpertAreasFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowExpertAreasFilter(!showExpertAreasFilter);\r\n\r\n if (!ReducerExpertAreas.length) {\r\n dispatch(getExpertAreas());\r\n }\r\n };\r\n\r\n const handleMeasuresFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowMeasuresFilter(!showMeasuresFilter);\r\n\r\n if (!ReducerMeasures.length) {\r\n dispatch(getMeasures());\r\n }\r\n };\r\n\r\n const handleOperationTypesFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowOperationsFilter(!showOperationsFilter);\r\n\r\n if (!ReducerOperationTypes.length) {\r\n dispatch(getOperationTypes());\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n {FileType.map((value, index) => (\r\n
    \r\n {value.type}
    }\r\n />\r\n
    \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {loadingExpertAreas ? (\r\n \r\n ) : (\r\n ReducerExpertAreas.map((value, index) => (\r\n
    \r\n {value}
    }\r\n />\r\n
    \r\n ))\r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {loadingMeasures ? (\r\n \r\n ) : (\r\n ReducerMeasures.map((value, index) => (\r\n
    \r\n {value}
    }\r\n />\r\n
    \r\n ))\r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {loadingOperationTypes ? (\r\n \r\n ) : (\r\n ReducerOperationTypes.map((value, index) => (\r\n
    \r\n {value}
    }\r\n />\r\n
    \r\n ))\r\n )}\r\n \r\n
    \r\n\r\n
    \r\n setIsActiveFilter(!isActiveFilter)}\r\n checked={isActiveFilter}\r\n className=\"mr-12\"\r\n />\r\n \r\n Aktivni\r\n \r\n
    \r\n \r\n );\r\n};\r\n","import {\r\n Button,\r\n Loading,\r\n Modal,\r\n ModalFooter,\r\n ModalHeader,\r\n} from 'modules/common';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { AddOrUpdatePresentationRequest } from 'services';\r\nimport {\r\n PresentationFormFirst,\r\n PresentationFormSecond,\r\n PresentationFormThird,\r\n} from '.';\r\nimport { addOrUpdatePresentation } from '..';\r\n\r\nexport interface PresentationFormState {\r\n id?: string;\r\n file?: File;\r\n type: string;\r\n expertArea: string;\r\n operationTypes: string;\r\n measures: string;\r\n author: string;\r\n}\r\n\r\ninterface Props {\r\n isVisible: boolean;\r\n toggleModal: () => void;\r\n id?: number;\r\n selectedPresentation?: AddOrUpdatePresentationRequest;\r\n selectedPresentationFile?: File;\r\n isEditPresentation: boolean;\r\n}\r\n\r\nexport const PresentationUploadModal: React.FC = ({\r\n isVisible,\r\n toggleModal,\r\n id,\r\n selectedPresentation,\r\n selectedPresentationFile,\r\n isEditPresentation,\r\n}) => {\r\n const dispatch = useDispatch();\r\n\r\n const [step, setStep] = useState(0);\r\n const [isSubmitted, setIsSubmitted] = useState(false);\r\n /**\r\n * Future improvement:\r\n * - Preload data on edit\r\n * - Get data from reducer and find item with passed ID\r\n * - Populate formData if item exists\r\n */\r\n\r\n const [formData, setFormData] = useState();\r\n\r\n const currentStep = [\r\n 'presentation__modal-step--one',\r\n 'presentation__modal-step--two',\r\n 'presentation__modal-step--three',\r\n ][step];\r\n\r\n useEffect(() => {\r\n if (selectedPresentation) {\r\n setFormData({\r\n ...selectedPresentation,\r\n file: selectedPresentationFile ? selectedPresentationFile : undefined,\r\n });\r\n }\r\n }, [selectedPresentation]);\r\n\r\n function nextStep() {\r\n setStep(step + 1);\r\n }\r\n\r\n function previousStep() {\r\n setStep(step - 1);\r\n }\r\n\r\n function closeModal() {\r\n setFormData(undefined);\r\n setStep(0);\r\n toggleModal();\r\n setIsSubmitted(false);\r\n }\r\n\r\n function submit() {\r\n if (!formData || !formData.file) {\r\n return;\r\n }\r\n\r\n const presentationId = id ? id.toString() : '';\r\n\r\n setIsSubmitted(true);\r\n dispatch(\r\n addOrUpdatePresentation(\r\n {\r\n id: presentationId,\r\n file: formData.file,\r\n type: formData.type,\r\n expertArea: formData.expertArea,\r\n operationTypes: formData.operationTypes,\r\n measures: formData.measures,\r\n author: formData.author,\r\n },\r\n closeModal\r\n )\r\n );\r\n }\r\n\r\n function updateValues(data: any) {\r\n setFormData(data);\r\n }\r\n\r\n function disableButton(step: number) {\r\n switch (step) {\r\n case 0:\r\n return !formData?.file;\r\n case 1:\r\n return !formData?.expertArea;\r\n case 2:\r\n return (\r\n !formData?.measures ||\r\n !formData?.operationTypes ||\r\n !formData?.author ||\r\n isSubmitted\r\n );\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n function renderForm(step: number) {\r\n switch (step) {\r\n case 0:\r\n return (\r\n \r\n );\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n default:\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n return (\r\n {} : closeModal}\r\n modalHeader={\r\n {} : closeModal}\r\n title={`${id ? 'Uredi' : 'Dodaj novu'} prezentaciju`}\r\n isLoading={false}\r\n />\r\n }\r\n modalFooter={\r\n \r\n \r\n {step === 0 ? 'Odustani' : 'Povratak'}\r\n \r\n \r\n {isSubmitted ? (\r\n \r\n ) : (\r\n {step < 2 ? 'Sljedeći korak' : 'Spremi'}\r\n )}\r\n \r\n \r\n }\r\n >\r\n \r\n\r\n
    {renderForm(step)}\r\n \r\n );\r\n};\r\n","import { InputLabel, RadioInput } from 'modules/common';\r\nimport { FileUpload } from 'modules/dashboard';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { PresentationFormState } from '.';\r\nimport { FileType } from '..';\r\nimport { getOperationTypes } from 'modules/education';\r\n\r\ninterface Props {\r\n onChange: (data: unknown) => void;\r\n data: PresentationFormState | undefined;\r\n isEditPresentation: boolean;\r\n}\r\n\r\nexport const PresentationFormFirst: React.FC = ({\r\n onChange,\r\n data,\r\n isEditPresentation,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const [selectedType, setSelectedType] = useState(data?.type);\r\n\r\n const handleRadioChange = (event: React.ChangeEvent) => {\r\n const { value } = event.currentTarget;\r\n setSelectedType(value);\r\n onChange({ ...data, type: value });\r\n };\r\n\r\n // Get uploaded files\r\n function onFileUpload(file: File | null) {\r\n onChange({ ...data, file });\r\n }\r\n\r\n function handleClearFile() {\r\n onFileUpload(null);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n dispatch(getOperationTypes());\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!data) {\r\n setSelectedType(undefined);\r\n return;\r\n }\r\n setSelectedType(data.type);\r\n }, [data?.type]);\r\n\r\n return (\r\n <>\r\n \r\n {FileType.map((value, index) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n filetype.type === selectedType)\r\n ?.formats || ''\r\n }\r\n isLoading={isEditPresentation ? Boolean(data) : false}\r\n subtitle={data?.file?.name}\r\n isActive={data?.file ? true : false}\r\n onClear={handleClearFile}\r\n isEditPresentation={isEditPresentation}\r\n\t\tisDisabled={!data?.type}\r\n />\r\n \r\n );\r\n};","import { InputLabel, RadioInput } from 'modules/common';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { ReactComponent as CheckIcon } from 'assets/icons/checkbox-check.svg';\r\nimport { AddOrUpdatePresentationRequest } from 'services';\r\nimport { useSelector } from 'react-redux';\r\nimport { RootState } from 'store';\r\n\r\ninterface Props {\r\n onChange: (data: Partial) => void;\r\n data: Pick | undefined;\r\n}\r\n\r\nexport const PresentationFormSecond: React.FC = ({ onChange, data }) => {\r\n const { items } = useSelector((state: RootState) => state.expertAreas);\r\n const [selectedField, setSelectedField] = useState(data?.expertArea || null);\r\n const [additionalValue, setAdditionalValue] = useState(items.includes(data?.expertArea ?? '') ? '' : data?.expertArea ?? '');\r\n\r\n useEffect(() => {\r\n if (data?.expertArea) {\r\n onChange({ ...data, expertArea: data.expertArea });\r\n }\r\n }, [data?.expertArea]);\r\n\r\n function handleRadioChange(event: React.ChangeEvent) {\r\n const { value } = event.currentTarget;\r\n\r\n setSelectedField(value);\r\n onChange({ ...data, expertArea: value });\r\n }\r\n\r\n function onInputChange(event: React.ChangeEvent) {\r\n const { value } = event.currentTarget;\r\n\r\n setAdditionalValue(value);\r\n setSelectedField(value);\r\n onChange({ ...data, expertArea: value });\r\n }\r\n\r\n function onCustomInputClick() {\r\n if (additionalValue.length) return;\r\n\r\n onChange({ ...data, expertArea: undefined });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {items.map((value, index) => {\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 onCustomInputClick();\r\n setSelectedField(additionalValue || '');\r\n }}\r\n />\r\n
    \r\n \r\n );\r\n};\r\n","import { InputLabel, RadioInput } from \"modules/common\";\r\nimport React, { useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { AddOrUpdatePresentationRequest } from \"services\";\r\nimport { RootState } from \"store\";\r\n\r\ninterface Props {\r\n onChange: (data: Partial) => void;\r\n data:\r\n | Pick<\r\n AddOrUpdatePresentationRequest,\r\n \"measures\" | \"operationTypes\" | \"author\"\r\n >\r\n | undefined;\r\n}\r\n\r\nexport const PresentationFormThird: React.FC = ({ onChange, data }) => {\r\n const { items: measures } = useSelector((state: RootState) => state.measures);\r\n const { items: operationTypes } = useSelector(\r\n (state: RootState) => state.operationTypes\r\n );\r\n\r\n const [selectedMeasure, setSelectedMeasure] = useState(\r\n data?.measures || null\r\n );\r\n const [selectedOperation, setSelectedOperation] = useState(\r\n data?.operationTypes || null\r\n );\r\n const [author, setAuthor] = useState(data?.author || \"\");\r\n\r\n const handleMeasureChange = (event: React.ChangeEvent) => {\r\n const { value } = event.currentTarget;\r\n setSelectedMeasure(value);\r\n onChange({ ...data, measures: value });\r\n };\r\n\r\n const handleOperationChange = (\r\n event: React.ChangeEvent\r\n ) => {\r\n const { value } = event.currentTarget;\r\n setSelectedOperation(value);\r\n onChange({ ...data, operationTypes: value });\r\n };\r\n\r\n const handleInputChange = (event: React.ChangeEvent) => {\r\n const { value } = event.currentTarget;\r\n setAuthor(value);\r\n onChange({ ...data, author: value });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {measures.map((value, index) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n })}\r\n\t
    \r\n\t\t\r\n\t
    \r\n\r\n
    \r\n\r\n {operationTypes.length && (\r\n <>\r\n \r\n {operationTypes.map((value, index) => {\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","import { Button, Modal, ModalFooter, ModalHeader } from \"modules/common\";\r\nimport React from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { deletePresentation } from \"..\";\r\n\r\ninterface Props {\r\n isVisible: boolean;\r\n toggleModal: () => void;\r\n id?: number;\r\n}\r\nexport const PresentationDeleteModal: React.FC = ({\r\n isVisible,\r\n toggleModal,\r\n id,\r\n}) => {\r\n const dispatch = useDispatch();\r\n\r\n function submit() {\r\n if (!id) {\r\n return;\r\n }\r\n\r\n dispatch(deletePresentation(id));\r\n toggleModal();\r\n }\r\n\r\n return (\r\n \r\n }\r\n modalFooter={\r\n \r\n \r\n Odustani\r\n \r\n \r\n Ukloni\r\n \r\n \r\n }\r\n >\r\n

    \r\n Želite li ukloniti odabranu prezentaciju?\r\n

    \r\n \r\n );\r\n};\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport {\r\n AddOrUpdatePresentationResponse,\r\n PresentationsResponse,\r\n} from \"services\";\r\n\r\ninterface State {\r\n isLoading: boolean;\r\n isDownloading: boolean;\r\n errorMessage: string | undefined;\r\n presentations: PresentationsResponse | null;\r\n presentationUpload?: AddOrUpdatePresentationResponse;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoading: false,\r\n isDownloading: false,\r\n errorMessage: undefined,\r\n presentations: null,\r\n presentationUpload: undefined,\r\n};\r\n\r\nconst presentationsSlice = createSlice({\r\n name: \"Presentations\",\r\n initialState: initialState,\r\n reducers: {\r\n getPresentationsRequest: (state) => {\r\n state.isLoading = true;\r\n },\r\n getPresentationsSuccess: (\r\n state,\r\n action: PayloadAction<{ presentations: PresentationsResponse }>\r\n ) => {\r\n state.isLoading = false;\r\n state.presentations = action.payload.presentations;\r\n },\r\n getPresentationsError: (\r\n state,\r\n action: PayloadAction<{ errorMessage: string }>\r\n ) => {\r\n state.isLoading = false;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n getPresentationUploadSuccess: (\r\n state,\r\n action: PayloadAction<{ response: AddOrUpdatePresentationResponse }>\r\n ) => {\r\n state.isLoading = false;\r\n state.presentationUpload = action.payload.response;\r\n },\r\n deletePresentationSuccess: (state) => {\r\n state.isLoading = false;\r\n },\r\n\r\n getPresentationDownloadRequest: (state) => {\r\n state.isDownloading = true;\r\n },\r\n\r\n getPresentationDownloadSuccess: (state) => {\r\n state.isDownloading = false;\r\n },\r\n\r\n getPresentationDownloadError: (\r\n state,\r\n action: PayloadAction<{ errorMessage: string }>\r\n ) => {\r\n state.isDownloading = false;\r\n state.errorMessage = action.payload.errorMessage;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = presentationsSlice;\r\n\r\nexport const {\r\n getPresentationsRequest,\r\n getPresentationsSuccess,\r\n getPresentationsError,\r\n getPresentationUploadSuccess,\r\n deletePresentationSuccess,\r\n getPresentationDownloadRequest,\r\n getPresentationDownloadSuccess,\r\n getPresentationDownloadError,\r\n} = actions;\r\n\r\nexport const presentationsReducer = presentationsSlice.reducer;\r\n","import { toast } from 'react-toastify';\r\nimport {\r\n addOrUpdatePresentationFile,\r\n AddOrUpdatePresentationRequest,\r\n deletePresentationItem,\r\n downloadPresentationItem,\r\n getAllPresentations,\r\n PresentationsRequest,\r\n} from 'services';\r\nimport { AppThunk } from 'store';\r\nimport {\r\n deletePresentationSuccess,\r\n getPresentationDownloadError,\r\n getPresentationDownloadRequest,\r\n getPresentationDownloadSuccess,\r\n getPresentationsError,\r\n getPresentationsRequest,\r\n getPresentationsSuccess,\r\n getPresentationUploadSuccess,\r\n} from './PresentationSlice';\r\n\r\nexport const getPresentations =\r\n (data: PresentationsRequest): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn } = getState();\r\n\r\n if (signIn.user) {\r\n dispatch(getPresentationsRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n\r\n const response = await getAllPresentations(accessToken, data);\r\n\r\n dispatch(getPresentationsSuccess({ presentations: response.data }));\r\n }\r\n } catch (error) {\r\n dispatch(getPresentationsError({ errorMessage: error.message }));\r\n }\r\n };\r\n\r\nexport const addOrUpdatePresentation =\r\n (data: AddOrUpdatePresentationRequest, callback: VoidFunction): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn } = getState();\r\n\r\n if (signIn.user) {\r\n dispatch(getPresentationsRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n\r\n var formData = new FormData();\r\n\r\n toast.success('Modal će se zatvoriti kad se datoteka prenese');\r\n formData.append('Id', data.id || '');\r\n formData.append('File', data.file);\r\n formData.append('Type', data.type);\r\n formData.append('ExpertArea.Name', data.expertArea);\r\n formData.append('OperationType.Name', data.operationTypes);\r\n formData.append('Measure.Name', data.measures);\r\n formData.append('Author', data.author);\r\n\r\n const response = await addOrUpdatePresentationFile(\r\n accessToken,\r\n formData\r\n );\r\n\r\n dispatch(getPresentationUploadSuccess({ response: response.data }));\r\n callback();\r\n dispatch(\r\n getPresentations({\r\n pageNumber: 1,\r\n pageSize: 10,\r\n isActive: true,\r\n title: null,\r\n fileTypes: null,\r\n expertAreas: null,\r\n measures: null,\r\n operationTypes: null,\r\n createdAt: null,\r\n })\r\n );\r\n toast.success('Datoteka uspješno prenesena');\r\n }\r\n } catch (error) {\r\n dispatch(getPresentationsError({ errorMessage: error.message }));\r\n }\r\n };\r\n\r\nexport const downloadPresentation =\r\n (id: number): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn } = getState();\r\n\r\n if (signIn.user) {\r\n dispatch(getPresentationDownloadRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n\r\n const response = await downloadPresentationItem(accessToken, id);\r\n\r\n const binaryString = window.atob(response.data.fileAsByteArray);\r\n const bytes = new Uint8Array(binaryString.length);\r\n const base64ToArrayBuffer = bytes.map((_, i) =>\r\n binaryString.charCodeAt(i)\r\n );\r\n\r\n const blob = new Blob([base64ToArrayBuffer], {\r\n type: response.data.contentType,\r\n });\r\n const fileName = `${response.data.title}${response.data.extension}`;\r\n const link = document.createElement('a');\r\n\r\n if (link.download !== undefined) {\r\n const url = URL.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', fileName);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n dispatch(getPresentationDownloadSuccess());\r\n }\r\n } catch (error) {\r\n dispatch(getPresentationDownloadError(error));\r\n }\r\n };\r\n\r\nexport const deletePresentation =\r\n (id: number): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn } = getState();\r\n\r\n if (signIn.user) {\r\n const { accessToken } = signIn.user;\r\n\r\n await deletePresentationItem(accessToken, id);\r\n dispatch(deletePresentationSuccess());\r\n dispatch(\r\n getPresentations({\r\n pageNumber: 1,\r\n pageSize: 10,\r\n isActive: true,\r\n title: null,\r\n fileTypes: null,\r\n expertAreas: null,\r\n measures: null,\r\n operationTypes: null,\r\n createdAt: null,\r\n })\r\n );\r\n toast.success('Prezentacija uspješno obrisana');\r\n }\r\n } catch (error) {\r\n dispatch(getPresentationsError({ errorMessage: error.message }));\r\n toast.error('Pogreška prilikom brisanja prezentacija, pokušajte ponovo');\r\n }\r\n };\r\n","export const FileType = [\r\n { type: \"Prezentacija\", formats: \".ppt, .pptx\" },\r\n { type: \"Dokument\", formats: \".doc, .docx, .pdf, .ppt, .pptx\" },\r\n { type: \"Tablica\", formats: \".xls, .xlsx\" },\r\n { type: \"Slika\", formats: \".jpg, .jpeg\" },\r\n];\r\n","import {\r\n Button,\r\n createObjectUrl,\r\n DatePicker,\r\n Input,\r\n Loading,\r\n NoResults,\r\n OptionType,\r\n Pagination,\r\n useTitle,\r\n} from 'modules/common';\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\nimport { ReactComponent as SearchIcon } from 'assets/icons/search.svg';\r\nimport { DayModifiers } from 'react-day-picker';\r\nimport { ValueType } from 'react-select';\r\nimport {\r\n downloadPresentation,\r\n getPresentations,\r\n getPresentationsRequest,\r\n PresentationDeleteModal,\r\n PresentationFilters,\r\n PresentationItem,\r\n PresentationUploadModal,\r\n} from 'modules/presentation';\r\nimport { ReactComponent as Add } from 'assets/icons/add.svg';\r\nimport debounce from 'lodash.debounce';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { RootState } from 'store';\r\nimport {\r\n EducationTabNavigation,\r\n getExpertAreas,\r\n getMeasures,\r\n getOperationTypes,\r\n} from 'modules/education';\r\nimport { Can } from 'modules/auth';\r\nimport {\r\n AddOrUpdatePresentationRequest,\r\n downloadPresentationItem,\r\n} from 'services';\r\n\r\nconst PAGE_NEIGHBOURS = 1;\r\nconst INPUT_DEBOUNCE_TIME = 500; //miliseconds\r\n\r\nconst DefaultPageSize = {\r\n value: '10',\r\n label: '10',\r\n};\r\n\r\nexport const Presentations: React.FC = () => {\r\n useTitle('Prezentacije - eSavjetnik');\r\n const dispatch = useDispatch();\r\n const { presentations, isLoading } = useSelector(\r\n (state: RootState) => state.presentations\r\n );\r\n\r\n const [typeFilter, setTypeFilter] = useState([]);\r\n const [expertAreasFilter, setExpertAreasFilter] = useState([]);\r\n const [measuresFilter, setMeasuresFilter] = useState([]);\r\n const [operationsFilter, setOperationsFilter] = useState([]);\r\n const [isActiveFilter, setIsActiveFilter] = useState(true);\r\n const [searchTerm, setSearchTerm] = useState('');\r\n const [date, setDate] = useState(null);\r\n const [showUploadModal, setShowUploadModal] = useState(false);\r\n const [showDeleteModal, setShowDeleteModal] = useState(false);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [pageSize, setPageSize] = useState(DefaultPageSize);\r\n const [selectedItemId, setSelectedItemId] = useState();\r\n const [selectedItemFile, setSelectedItemFile] = useState(\r\n undefined\r\n );\r\n const [isEditPresentation, setIsEditPresentation] = useState(false);\r\n const token = useSelector(\r\n (state: RootState) => state.signIn.user?.accessToken\r\n );\r\n\r\n const statePresentations = useSelector(\r\n (state: RootState) => state.presentations.presentations?.item\r\n );\r\n const currentPresentation = statePresentations?.find(\r\n (p) => p.id === selectedItemId\r\n );\r\n const presentation: AddOrUpdatePresentationRequest = {\r\n author: currentPresentation?.author ?? '',\r\n measures: currentPresentation?.measure.name ?? '',\r\n operationTypes: currentPresentation?.operationType.name ?? '',\r\n expertArea: currentPresentation?.expertArea.name ?? '',\r\n type: currentPresentation?.type ?? '',\r\n id: currentPresentation?.id.toString(),\r\n file: new File([], ''),\r\n };\r\n\r\n async function downloadItemForCurrentPresentation(id: number, token: string) {\r\n const response = await downloadPresentationItem(token, id);\r\n const file = response.data.fileAsByteArray;\r\n const contentType = response.data.contentType;\r\n const title = response.data.title;\r\n const extension = response.data.extension;\r\n\r\n const { fileName, blob } = createObjectUrl(\r\n file,\r\n contentType,\r\n title,\r\n extension\r\n );\r\n\r\n setSelectedItemFile(new File([blob], fileName));\r\n }\r\n\r\n function handleSearchChange(event: React.ChangeEvent) {\r\n const { value } = event.target;\r\n setSearchTerm(value);\r\n setCurrentPage(1);\r\n }\r\n\r\n function handleDayClick(\r\n day: Date,\r\n modifiers: DayModifiers,\r\n e: React.MouseEvent\r\n ) {\r\n setDate(new Date(day.toISOString()));\r\n setCurrentPage(1);\r\n }\r\n\r\n const handlePageSizeChange = (value: ValueType) => {\r\n setPageSize(value);\r\n setCurrentPage(1);\r\n };\r\n\r\n const handlePageClick = (\r\n event: React.MouseEvent\r\n ) => {\r\n const page = Number(parseInt(event.currentTarget.id));\r\n setCurrentPage(page);\r\n };\r\n\r\n const handleNexPageClick = () => {\r\n setCurrentPage((prev) => prev + 1);\r\n };\r\n\r\n const handlePrevPageClick = () => {\r\n setCurrentPage((prev) => prev - 1);\r\n };\r\n\r\n function toggleUploadModal() {\r\n setShowUploadModal(!showUploadModal);\r\n }\r\n\r\n function toggleDeleteModal() {\r\n setShowDeleteModal(!showDeleteModal);\r\n }\r\n\r\n function handleAddNewPresentation() {\r\n setIsEditPresentation(false);\r\n toggleUploadModal();\r\n }\r\n\r\n function handleEditPresentation(id: number) {\r\n setIsEditPresentation(true);\r\n toggleUploadModal();\r\n setSelectedItemId(id);\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const debouncedSearch = useCallback(\r\n debounce(\r\n (\r\n currentPage: number,\r\n size: number,\r\n isActive: boolean,\r\n searchTerm: string | null,\r\n fileTypes: string[],\r\n expertAreas: string[],\r\n measures: string[],\r\n operationTypes: string[],\r\n date: Date | null\r\n ) =>\r\n dispatch(\r\n getPresentations({\r\n pageNumber: currentPage,\r\n pageSize: size,\r\n isActive: isActive,\r\n title: searchTerm,\r\n fileTypes,\r\n expertAreas,\r\n measures,\r\n operationTypes,\r\n createdAt: date,\r\n })\r\n ),\r\n INPUT_DEBOUNCE_TIME\r\n ),\r\n []\r\n );\r\n\r\n useEffect(() => {\r\n if (showUploadModal || showDeleteModal) {\r\n return;\r\n }\r\n\r\n const size = parseInt(pageSize?.value ?? DefaultPageSize.value);\r\n // api call is debounced, switch to loading earlier\r\n dispatch(getPresentationsRequest());\r\n debouncedSearch(\r\n currentPage,\r\n size,\r\n isActiveFilter,\r\n searchTerm,\r\n typeFilter,\r\n expertAreasFilter,\r\n measuresFilter,\r\n operationsFilter,\r\n date\r\n );\r\n\r\n /** Get all filters for modal data */\r\n dispatch(getExpertAreas());\r\n dispatch(getMeasures());\r\n dispatch(getOperationTypes());\r\n }, [\r\n currentPage,\r\n debouncedSearch,\r\n dispatch,\r\n pageSize?.value,\r\n searchTerm,\r\n date,\r\n isActiveFilter,\r\n typeFilter,\r\n expertAreasFilter,\r\n measuresFilter,\r\n operationsFilter,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (selectedItemId && token) {\r\n downloadItemForCurrentPresentation(selectedItemId, token);\r\n }\r\n }, [selectedItemId, token]);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {/*

    */}\r\n \r\n \r\n \r\n Dodaj novu\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 {!isLoading ? (\r\n presentations && presentations.item.length ? (\r\n <>\r\n

    Lista pretrage

    \r\n\r\n {presentations?.item.map((item) => {\r\n return (\r\n {\r\n dispatch(downloadPresentation(id));\r\n }}\r\n onDelete={(id: number) => {\r\n setSelectedItemId(id);\r\n toggleDeleteModal();\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 setSelectedItemId(undefined);\r\n setSelectedItemFile(undefined);\r\n toggleUploadModal();\r\n }}\r\n selectedPresentation={presentation}\r\n selectedPresentationFile={selectedItemFile}\r\n isVisible={showUploadModal}\r\n isEditPresentation={isEditPresentation}\r\n id={selectedItemId}\r\n />\r\n\r\n {\r\n setSelectedItemId(undefined);\r\n toggleDeleteModal();\r\n }}\r\n isVisible={showDeleteModal}\r\n id={selectedItemId}\r\n />\r\n
    \r\n );\r\n};\r\n","import { xor } from \"lodash\";\r\nimport {\r\n Checkbox,\r\n Filter,\r\n FilterGroup,\r\n Loading,\r\n RoleFilterSingle,\r\n useOutsideClick,\r\n} from \"modules/common\";\r\nimport {\r\n getCityMunicipalitiesByCountyIds,\r\n getCounties,\r\n} from \"modules/dashboard\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { RootState } from \"store\";\r\n\r\ninterface Props {\r\n roleFilter: number;\r\n setRoleFilter: (value: React.SetStateAction) => void;\r\n countyFilter: number[];\r\n setCountyFilter: React.Dispatch>;\r\n cityFilter: number[];\r\n setCityFilter: React.Dispatch>;\r\n toggleModal: () => void;\r\n setCurrentPage: React.Dispatch>;\r\n}\r\n\r\nexport const CommunicationFilters: React.FC = ({\r\n roleFilter,\r\n setRoleFilter,\r\n countyFilter,\r\n setCountyFilter,\r\n cityFilter,\r\n setCityFilter,\r\n toggleModal,\r\n setCurrentPage,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const countyFilterRef = useRef(null);\r\n const cityFilterRef = useRef(null);\r\n const roleFilterRef = useRef(null);\r\n\r\n const {\r\n counties: ReducerCounties,\r\n cityMunicipalities: ReducerCities,\r\n isLoading,\r\n } = useSelector((state: RootState) => state.address);\r\n\r\n const [showRoleFilter, setShowRoleFilter] = useState(false);\r\n const [showCountyFilter, setShowCountyFilter] = useState(false);\r\n const [showCityFilter, setShowCityFilter] = useState(false);\r\n\r\n const onRoleChange = (event: React.ChangeEvent) => {\r\n const { value } = event.currentTarget;\r\n setRoleFilter(parseInt(value));\r\n setCurrentPage(1);\r\n };\r\n\r\n function onCountyChange(event: React.ChangeEvent) {\r\n const selectedCounty = ReducerCounties?.find(\r\n (i) => i.valueName === event.target.value\r\n );\r\n\r\n if (!selectedCounty || !selectedCounty.id) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(countyFilter, [selectedCounty.id]);\r\n setCurrentPage(1);\r\n setCountyFilter(newArray);\r\n setCityFilter([]);\r\n }\r\n\r\n /** Create one function for react-select onChange */\r\n function onCityChange(event: React.ChangeEvent) {\r\n const selectedCity = ReducerCities.find(\r\n (i) => i.name === event.target.value\r\n );\r\n\r\n if (!selectedCity || !countyFilter.length) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(cityFilter, [selectedCity.id]);\r\n setCurrentPage(1);\r\n setCityFilter(newArray);\r\n }\r\n\r\n const handleRoleFilterOutsideClick = () => {\r\n setShowRoleFilter(false);\r\n };\r\n\r\n const handleCountyFilterOutsideClick = () => {\r\n setShowCountyFilter(false);\r\n };\r\n\r\n const handleCityFilterOutsideClick = () => {\r\n setShowCityFilter(false);\r\n };\r\n\r\n useOutsideClick(roleFilterRef, handleRoleFilterOutsideClick);\r\n useOutsideClick(countyFilterRef, handleCountyFilterOutsideClick);\r\n useOutsideClick(cityFilterRef, handleCityFilterOutsideClick);\r\n\r\n const handleRoleFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setRoleFilter(0);\r\n };\r\n\r\n const handleCountyFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setCountyFilter([]);\r\n };\r\n\r\n const handleCityFilterClear = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setCityFilter([]);\r\n };\r\n\r\n const handleRoleFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowRoleFilter(!showRoleFilter);\r\n };\r\n\r\n const handleCountyFilterClick = (\r\n _event: React.MouseEvent\r\n ) => {\r\n setShowCountyFilter(!showCountyFilter);\r\n dispatch(getCounties());\r\n };\r\n\r\n function handleCityFilterClick() {\r\n setShowCityFilter(!showCityFilter);\r\n\r\n if (!countyFilter.length) {\r\n return;\r\n }\r\n\r\n dispatch(getCityMunicipalitiesByCountyIds(countyFilter));\r\n }\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {isLoading ? (\r\n \r\n ) : (\r\n ReducerCounties.map((value, index) => (\r\n
    \r\n {value.name}
    }\r\n />\r\n
    \r\n ))\r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {isLoading ? (\r\n \r\n ) : ReducerCities.length ? (\r\n ReducerCities.map((value, index) => (\r\n
    \r\n {value.name}
    }\r\n />\r\n
    \r\n ))\r\n ) : (\r\n

    Odaberite županiju

    \r\n )}\r\n \r\n
    \r\n
    \r\n console.log(\"onClear\")}\r\n onClick={toggleModal}\r\n text=\"Dodatni filteri\"\r\n />\r\n
    \r\n \r\n );\r\n};\r\n","import {\r\n Button,\r\n Checkbox,\r\n Modal,\r\n ModalFooter,\r\n ModalHeader,\r\n} from \"modules/common\";\r\nimport React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { RootState } from \"store\";\r\nimport { xor } from \"lodash\";\r\n\r\ninterface Props {\r\n isActive: boolean;\r\n toggleModal: () => void;\r\n yearFilter: string[];\r\n setYearFilter: React.Dispatch>;\r\n obligationFilter: boolean[];\r\n setObligationFilter: React.Dispatch>;\r\n measureFilter: string[];\r\n setMeasureFilter: React.Dispatch>;\r\n operationFilter: string[];\r\n setOperationFilter: React.Dispatch>;\r\n}\r\n\r\n/** Array of last three years */\r\nconst year = new Date().getFullYear();\r\nconst years = Array.from(new Array(3), (_, i) => (year - i).toString());\r\n\r\nconst obligations = [true, false];\r\n\r\nexport const CommunicationAdditionalFiltersModal: React.FC = ({\r\n isActive,\r\n toggleModal,\r\n yearFilter,\r\n setYearFilter,\r\n obligationFilter,\r\n setObligationFilter,\r\n measureFilter,\r\n setMeasureFilter,\r\n operationFilter,\r\n setOperationFilter,\r\n}) => {\r\n const { items: ReducerMeasures } = useSelector(\r\n (state: RootState) => state.measures\r\n );\r\n const { items: ReducerOperations } = useSelector(\r\n (state: RootState) => state.operationTypes\r\n );\r\n\r\n function onYearChange(event: React.ChangeEvent) {\r\n const selectedYear = years.find((i) => i === event.target.value);\r\n\r\n if (!selectedYear) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(yearFilter, [selectedYear]);\r\n setYearFilter(newArray);\r\n }\r\n\r\n function onObligationChange(event: React.ChangeEvent) {\r\n const selectedObligation = obligations.find(\r\n (i) => i.toString() === event.target.value\r\n );\r\n\r\n if (selectedObligation === undefined) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(obligationFilter, [selectedObligation]);\r\n setObligationFilter(newArray);\r\n }\r\n\r\n function onMeasureChange(event: React.ChangeEvent) {\r\n const selectedMeasure = ReducerMeasures.find(\r\n (i) => i === event.target.value\r\n );\r\n\r\n if (!selectedMeasure) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(measureFilter, [selectedMeasure]);\r\n setMeasureFilter(newArray);\r\n }\r\n\r\n function onOperationChange(event: React.ChangeEvent) {\r\n const selectedOperation = ReducerOperations.find(\r\n (i) => i === event.target.value\r\n );\r\n\r\n if (!selectedOperation) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(operationFilter, [selectedOperation]);\r\n setOperationFilter(newArray);\r\n }\r\n\r\n return (\r\n \r\n }\r\n modalFooter={\r\n \r\n \r\n Prikaži odabrano\r\n \r\n \r\n }\r\n >\r\n
    \r\n
    \r\n \r\n \r\n {years.map((value, index) => {\r\n return (\r\n
    \r\n {value}
    }\r\n value={value}\r\n />\r\n
    \r\n );\r\n })}\r\n
    \r\n \r\n \r\n {obligations.map((value, index) => {\r\n return (\r\n
    \r\n \r\n {value ? \"Da\" : \"Ne\"}\r\n
    \r\n }\r\n value={value.toString()}\r\n />\r\n
    \r\n );\r\n })}\r\n
    \r\n \r\n \r\n {ReducerMeasures.map((value, index) => {\r\n return (\r\n
    \r\n {value}
    }\r\n value={value}\r\n />\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n {ReducerOperations.map((value, index) => {\r\n return (\r\n
    \r\n {value}
    }\r\n value={value}\r\n />\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import {\r\n Button,\r\n Checkbox,\r\n Input,\r\n Loading,\r\n Modal,\r\n ModalFooter,\r\n ModalHeader,\r\n NoResults,\r\n OptionType,\r\n Pagination,\r\n} from \"modules/common\";\r\nimport { MappedUserAccounts } from \"modules/dashboard\";\r\nimport React from \"react\";\r\nimport { xor } from \"lodash\";\r\nimport { ReactComponent as SearchIcon } from \"assets/icons/search.svg\";\r\nimport { ValueType } from \"react-select\";\r\n\r\nconst PAGE_NEIGHBOURS = 1;\r\n\r\ninterface Props {\r\n isActive: boolean;\r\n toggleModal: () => void;\r\n data: MappedUserAccounts | null;\r\n isLoading: boolean;\r\n count: number;\r\n userFilter: string[];\r\n setUserFilter: React.Dispatch>;\r\n searchTerm: string | null;\r\n setSearchTerm: React.Dispatch>;\r\n currentPage: number;\r\n setCurrentPage: React.Dispatch>;\r\n pageSize: OptionType | null;\r\n setPageSize: React.Dispatch>;\r\n DefaultPageSize: OptionType;\r\n}\r\n\r\nexport const CommunicationUsersModal: React.FC = ({\r\n isActive,\r\n toggleModal,\r\n data,\r\n isLoading,\r\n count,\r\n userFilter,\r\n setUserFilter,\r\n searchTerm,\r\n setSearchTerm,\r\n currentPage,\r\n setCurrentPage,\r\n pageSize,\r\n setPageSize,\r\n DefaultPageSize,\r\n}) => {\r\n function handleSearchChange(event: React.ChangeEvent) {\r\n const { value } = event.target;\r\n setSearchTerm(value);\r\n setCurrentPage(1);\r\n }\r\n\r\n function onChange(event: React.ChangeEvent) {\r\n if (event.target.value === \"allUsers\") {\r\n const allUsers = data?.map((i) => i.uid);\r\n\r\n\t\tif (event.target.checked && allUsers) {\r\n\t\t\tsetUserFilter(filter => ([...new Set([...filter, ...allUsers])]));\r\n\t\t\treturn;\r\n \t} else {\r\n\t\t\tsetUserFilter([]);\r\n\t\t\treturn;\r\n\t\t}\r\n }\r\n const selectedUser = data?.find((i) => i.uid === event.target.value);\r\n\r\n if (!selectedUser) {\r\n return;\r\n }\r\n\r\n // Create array of unique values\r\n const newArray = xor(userFilter, [selectedUser.uid]);\r\n setUserFilter(newArray);\r\n }\r\n\r\n const handlePageSizeChange = (value: ValueType) => {\r\n setPageSize(value);\r\n setCurrentPage(1);\r\n };\r\n const handlePageClick = (\r\n event: React.MouseEvent\r\n ) => {\r\n setCurrentPage(Number(parseInt(event.currentTarget.id)));\r\n };\r\n\r\n const handleNexPageClick = () => {\r\n setCurrentPage((prev) => prev + 1);\r\n };\r\n\r\n const handlePrevPageClick = () => {\r\n setCurrentPage((prev) => prev - 1);\r\n };\r\n\r\n return (\r\n \r\n }\r\n modalFooter={\r\n \r\n \r\n Odaberi primatelje\r\n \r\n \r\n }\r\n >\r\n
    \r\n
    \r\n }\r\n />\r\n {searchTerm && searchTerm.length ? null : (\r\n
    \r\n
    \r\n userFilter.includes(item.uid)))}\r\n onChange={onChange}\r\n size=\"small\"\r\n htmlFor=\"allUsers\"\r\n text={\r\n
    \r\n Odaberi sve korisnike\r\n
    \r\n }\r\n />\r\n
    \r\n

    \r\n Odabrano {userFilter.length}/{count}\r\n

    \r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n {isLoading ? (\r\n \r\n ) : data && data.length ? (\r\n <>\r\n {data.map((value, index) => {\r\n const fullName =\r\n (value.firstName || value.lastName) &&\r\n `${value.firstName ? value.firstName : \"\"} ${\r\n value.lastName ? value.lastName : \"\"\r\n }`;\r\n\r\n const address =\r\n (value.city || value.email) &&\r\n `${value.city ? value.city : \"\"} (${\r\n value.email ? value.email : \"\"\r\n })`;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {value.userType} {fullName && `- ${fullName}`}{\" \"}\r\n {address && `- ${address}`}\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","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { SendEmailResponse, SendNotificationResponse } from \"services\";\r\n\r\ninterface State {\r\n isLoadingEmail: boolean;\r\n errorEmail: string;\r\n email: SendEmailResponse | null;\r\n isLoadingNotification: boolean;\r\n errorNotification: string;\r\n notification: SendNotificationResponse | null;\r\n}\r\n\r\nconst initialState: State = {\r\n isLoadingEmail: false,\r\n errorEmail: \"\",\r\n email: null,\r\n isLoadingNotification: false,\r\n errorNotification: \"\",\r\n notification: null,\r\n};\r\n\r\nconst communicationSlice = createSlice({\r\n name: \"Communication\",\r\n initialState: initialState,\r\n reducers: {\r\n getEmailRequest: (state) => {\r\n state.isLoadingEmail = true;\r\n },\r\n getEmailSuccess: (\r\n state,\r\n action: PayloadAction<{ res: SendEmailResponse }>\r\n ) => {\r\n state.isLoadingEmail = false;\r\n state.email = action.payload.res;\r\n },\r\n getEmailError: (state, action: PayloadAction<{ error: string }>) => {\r\n state.isLoadingEmail = false;\r\n state.errorEmail = action.payload.error;\r\n },\r\n getNotificationRequest: (state) => {\r\n state.isLoadingNotification = true;\r\n },\r\n getNotificationSuccess: (\r\n state,\r\n action: PayloadAction<{ res: SendNotificationResponse }>\r\n ) => {\r\n state.isLoadingNotification = false;\r\n state.notification = action.payload.res;\r\n },\r\n getNotificationError: (state, action: PayloadAction<{ error: string }>) => {\r\n state.isLoadingNotification = false;\r\n state.errorNotification = action.payload.error;\r\n },\r\n },\r\n});\r\n\r\nconst { actions } = communicationSlice;\r\n\r\nexport const {\r\n getEmailRequest,\r\n getEmailSuccess,\r\n getEmailError,\r\n getNotificationRequest,\r\n getNotificationSuccess,\r\n getNotificationError,\r\n} = actions;\r\n\r\nexport const communicationsReducer = communicationSlice.reducer;\r\n","import {\r\n Button,\r\n Input,\r\n RoleType,\r\n OptionType,\r\n Loading,\r\n NotificationType,\r\n useTitle,\r\n} from \"modules/common\";\r\nimport React, { useCallback, useEffect, useState } from \"react\";\r\nimport {\r\n FileUpload,\r\n getAccountList,\r\n getAccountListRequest,\r\n NotificationSelect,\r\n} from \"modules/dashboard\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport debounce from \"lodash.debounce\";\r\nimport { RootState } from \"store\";\r\nimport {\r\n CommunicationAdditionalFiltersModal,\r\n CommunicationFilters,\r\n CommunicationUsersModal,\r\n sendEmailAsync,\r\n} from \"modules/communication\";\r\nimport { getMeasures, getOperationTypes } from \"modules/education\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\n\r\nconst DefaultPageSize = {\r\n value: \"10\",\r\n label: \"10\",\r\n};\r\n\r\nconst INPUT_DEBOUNCE_TIME = 500; //miliseconds\r\n\r\nexport const Communication: React.FC = () => {\r\n useTitle('Komunikacija s korisnicima - eSavjetnik');\r\n const dispatch = useDispatch();\r\n const { data, userAccountCount, isFetchingAccountList } = useSelector(\r\n (state: RootState) => state.accountList\r\n );\r\n const { isLoadingEmail, isLoadingNotification, email } = useSelector(\r\n (state: RootState) => state.communications\r\n );\r\n\r\n const {\r\n register,\r\n formState: { errors, isValid },\r\n getValues,\r\n reset,\r\n control,\r\n } = useForm<{ subject: string; body: string }>({\r\n mode: \"onChange\",\r\n });\r\n\r\n const [showFilterModal, setShowFilterModal] = useState(false);\r\n const [showUsersModal, setShowUsersModal] = useState(false);\r\n const [pageSize, setPageSize] = useState(DefaultPageSize);\r\n const [searchTerm, setSearchTerm] = useState(null);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [roleFilter, setRoleFilter] = useState(0);\r\n const [countyFilter, setCountyFilter] = useState([]);\r\n const [cityFilter, setCityFilter] = useState([]);\r\n const [userFilter, setUserFilter] = useState([]);\r\n const [yearFilter, setYearFilter] = useState([]);\r\n const [obligationFilter, setObligationFilter] = useState([]);\r\n const [measureFilter, setMeasureFilter] = useState([]);\r\n const [operationFilter, setOperationFilter] = useState([]);\r\n const [notificationFilter, setNotificationFilter] = useState<\r\n NotificationType[]\r\n >([NotificationType.Email]);\r\n const [uploadedFile, setUploadedFile] = useState(null);\r\n\r\n function toggleFilterModal() {\r\n setShowFilterModal(!showFilterModal);\r\n }\r\n\r\n const toggleUsersModal = () => {\r\n setSearchTerm(null);\r\n setShowUsersModal(!showUsersModal);\r\n setCurrentPage(1);\r\n };\r\n\r\n\r\n // Get uploaded files\r\n function onFileUpload(file: File | null) {\r\n setUploadedFile(file);\r\n }\r\n\r\n\r\n function handleClearFile() {\r\n setUploadedFile(null);\r\n }\r\n function onSubmit(event: React.FormEvent) {\r\n event.preventDefault();\r\n\r\n if (!notificationFilter || !notificationFilter.length) {\r\n return;\r\n }\r\n\r\n const uids = userFilter.includes(\"allUsers\") ? null : userFilter;\r\n\r\n dispatch(\r\n sendEmailAsync({\r\n emailRequest: {\r\n id: email?.notificationFormView.id,\r\n body: getValues().body,\r\n isHtml: false,\r\n isEmailOnly: false,\r\n subject: getValues().subject,\r\n toUids: uids,\r\n userRoleFilter: [roleFilter],\r\n preferredChannels: notificationFilter,\r\n },\r\n attachmentRequest: {\r\n id: 0,\r\n attachment: uploadedFile,\r\n },\r\n })\r\n );\r\n\r\n setUserFilter([]);\r\n setUploadedFile(null);\r\n reset();\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const debouncedSearch = useCallback(\r\n debounce(\r\n (\r\n currentPage: number,\r\n size: number,\r\n searchTerm: string | null,\r\n roles: number,\r\n counties: number[],\r\n cities: number[],\r\n measures: string[],\r\n operations: string[],\r\n entryYear: string[],\r\n isDone: boolean[]\r\n ) =>\r\n dispatch(\r\n getAccountList({\r\n pageNumber: currentPage,\r\n pageSize: size,\r\n search: searchTerm,\r\n userRoleFilter: roles > 0 ? roles : RoleType.Citizen,\r\n countyFilter: counties,\r\n citiesMunicipalityFilter: cities,\r\n measureFilter: measures,\r\n operationFilter: operations,\r\n entryYearFilter: entryYear,\r\n isDoneFilter: isDone,\r\n })\r\n ),\r\n INPUT_DEBOUNCE_TIME\r\n ),\r\n []\r\n );\r\n\r\n useEffect(() => {\r\n const size = parseInt(pageSize?.value ?? DefaultPageSize.value);\r\n dispatch(getAccountListRequest());\r\n debouncedSearch(\r\n currentPage,\r\n size,\r\n searchTerm,\r\n roleFilter,\r\n countyFilter,\r\n cityFilter,\r\n measureFilter,\r\n operationFilter,\r\n yearFilter,\r\n obligationFilter\r\n );\r\n\r\n dispatch(getMeasures());\r\n dispatch(getOperationTypes());\r\n }, [\r\n countyFilter,\r\n currentPage,\r\n debouncedSearch,\r\n dispatch,\r\n pageSize?.value,\r\n roleFilter,\r\n searchTerm,\r\n cityFilter,\r\n measureFilter,\r\n operationFilter,\r\n yearFilter,\r\n obligationFilter,\r\n ]);\r\n return (\r\n <>\r\n
    \r\n

    \r\n Komunikacija s korisnicima\r\n

    \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n Lista primatelja\r\n \r\n
    \r\n\r\n

    \r\n Standardno su odabrani svi korisnici sa liste. Ukoliko želite\r\n poslati poruku samo određenom skupu korisnika potrebno je unutar\r\n liste to definirati.\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 {isLoadingEmail || isLoadingNotification ? (\r\n \r\n ) : (\r\n
    \r\n \r\n Pošaljite poruku\r\n \r\n reset()}\r\n >\r\n Odustanite\r\n \r\n
    \r\n )}\r\n \r\n
    \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n","import {\r\n initializeNew,\r\n sendEmail,\r\n SendEmailRequest,\r\n SendEmailAttachRequest,\r\n sendNotification,\r\n SendNotificationRequest,\r\n uploadAttachment\r\n} from \"services\";\r\nimport { AppThunk } from \"store\";\r\n\r\nimport { toast } from \"react-toastify\";\r\nimport {\r\n getEmailError,\r\n getEmailRequest,\r\n getEmailSuccess,\r\n getNotificationError,\r\n getNotificationRequest,\r\n getNotificationSuccess,\r\n} from \"./CommunicationSlice\";\r\n\r\n\r\nexport const initializeEmailAsync =\r\n (): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn } = getState();\r\n\r\n if (signIn.user) {\r\n dispatch(getEmailRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n //const response = await initializeNew(accessToken);\r\n\r\n //dispatch(\r\n // getEmailSuccess({\r\n // res: {\r\n // id: response.data.id,\r\n // statuses: response.data.statuses,\r\n // },\r\n // })\r\n //);\r\n //toast.success(response.data.statuses[0].message);\r\n }\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(getEmailError({ error: first.message }));\r\n toast.error(first.message);\r\n }\r\n };\r\n\r\n//export const sendEmailAsync =\r\n// (data: SendEmailRequest): AppThunk =>\r\n// async (dispatch, getState) => {\r\n// try {\r\n// const { signIn } = getState();\r\n\r\n// if (signIn.user) {\r\n// dispatch(getEmailRequest());\r\n\r\n// const { accessToken } = signIn.user;\r\n\r\n// const responseInit = await initializeNew(accessToken, data);\r\n\r\n// if (!responseInit) return;\r\n\r\n// const responseInitId = responseInit.data.notificationFormView.id;\r\n\r\n// console.log(responseInitId);\r\n// data.id = responseInitId;\r\n\r\n// const response = await sendEmail(accessToken, data);\r\n\r\n// dispatch(\r\n// getEmailSuccess({\r\n// res: {\r\n// notificationFormView: response.data.notificationFormView,\r\n// statuses: response.data.statuses,\r\n// },\r\n// })\r\n// );\r\n// toast.success(response.data.statuses[1].message);\r\n// }\r\n// } catch (error) {\r\n// const [first] = error.response.data.statuses;\r\n// dispatch(getEmailError({ error: first.message }));\r\n// toast.error(first.message);\r\n// }\r\n// };\r\n\r\n\r\nexport const sendEmailAsync =\r\n (data: SendEmailAttachRequest): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn } = getState();\r\n\r\n if (signIn.user) {\r\n dispatch(getEmailRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n\r\n //maknuti data\r\n const responseInit = await initializeNew(accessToken, data.emailRequest);\r\n\r\n if (!responseInit) return;\r\n\r\n const responseInitId = responseInit.data.notificationFormView.id;\r\n\r\n console.log(responseInitId);\r\n data.attachmentRequest.id = responseInitId;\r\n data.emailRequest.id = responseInitId;\r\n\r\n if (data.attachmentRequest.attachment) {\r\n let formData = new FormData();\r\n\r\n formData.append(\"Id\", responseInitId.toString());\r\n formData.append(\"Attachment\", data.attachmentRequest.attachment);\r\n\r\n const responseAttach = await uploadAttachment(accessToken, formData);\r\n if (!responseAttach) return;\r\n }\r\n \r\n //change to send mail\r\n const responseSendNotification = await sendEmail(accessToken, data.emailRequest);\r\n\r\n dispatch(\r\n getEmailSuccess({\r\n res: {\r\n notificationFormView: responseSendNotification.data.notificationFormView,\r\n statuses: responseSendNotification.data.statuses,\r\n },\r\n })\r\n );\r\n toast.success(responseSendNotification.data.statuses[1].message);\r\n }\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(getEmailError({ error: first.message }));\r\n toast.error(first.message);\r\n }\r\n };\r\n\r\n\r\nexport const sendNotificationAsync =\r\n (data: SendNotificationRequest): AppThunk =>\r\n async (dispatch, getState) => {\r\n try {\r\n const { signIn } = getState();\r\n\r\n if (signIn.user) {\r\n dispatch(getNotificationRequest());\r\n\r\n const { accessToken } = signIn.user;\r\n const response = await sendNotification(accessToken, data);\r\n\r\n dispatch(\r\n getNotificationSuccess({\r\n res: {\r\n statuses: response.data.statuses,\r\n },\r\n })\r\n );\r\n toast.success(response.data.statuses[0].message);\r\n }\r\n } catch (error) {\r\n const [first] = error.response.data.statuses;\r\n dispatch(getNotificationError({ error: first.message }));\r\n toast.error(first.message);\r\n }\r\n };\r\n","import { Loading, useTitle } from \"modules/common\";\r\nimport React, { useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nexport const News: React.FC = () => {\r\n useTitle('Vijesti - eSavjetnik');\r\n const { search } = useLocation();\r\n const [showLoading, setShowLoading] = useState(true);\r\n\r\n return (\r\n <>\r\n {showLoading && (\r\n
    \r\n \r\n
    \r\n )}\r\n setShowLoading(false)}\r\n className=\"agrivi-iframe\"\r\n title=\"Vijesti\"\r\n src={`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_AGRIVI_URL}/vijesti${search}`}\r\n />\r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Route, Switch, useLocation } from \"react-router-dom\";\r\nimport {\r\n isTokenExpired,\r\n logOff,\r\n sessionCache,\r\n signInSuccess,\r\n Timer,\r\n tokenRenew,\r\n AccountHeader,\r\n AccountLayout,\r\n} from \"modules/auth\";\r\nimport { Footer, MainLayout, RoleType } from \"modules/common\";\r\nimport {\r\n ChangePassword,\r\n ActivateAccount,\r\n Educations,\r\n ForgotPassword,\r\n SignIn,\r\n SignUp,\r\n UserActivity,\r\n UserAdministration,\r\n Profile,\r\n SystemAdministration,\r\n // Dashboard,\r\n NotAuthorized,\r\n NoMatch,\r\n Agrometeorology,\r\n AgroclimateStations,\r\n PlantProtection,\r\n Records,\r\n Advisors,\r\n Presentations,\r\n Communication,\r\n News,\r\n} from \"views\";\r\nimport { AppRoutes } from \"./AppRoutes\";\r\nimport { PrivateRoute } from \"routing\";\r\nimport { getProfile } from \"modules/dashboard\";\r\nimport { getExpertAreas, getMeasures } from \"modules/education\";\r\n\r\nconst timer = Timer.getInstance();\r\nexport const Routing: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const cache = sessionCache();\r\n const session = cache.getSession();\r\n const expiration = session?.expiration ?? 0;\r\n const refreshTokenExpiration = session?.refreshExpiration ?? 0;\r\n const [redirectLocation, setRedirectLocation] =\r\n useState>();\r\n\r\n useEffect(() => {\r\n if (session && !isTokenExpired(refreshTokenExpiration)) {\r\n dispatch(signInSuccess({ ...session }));\r\n dispatch(getProfile());\r\n dispatch(getExpertAreas());\r\n dispatch(getMeasures());\r\n } else {\r\n dispatch(logOff());\r\n setRedirectLocation({ pathname: \"/\", search: \"\" });\r\n }\r\n }, [dispatch, refreshTokenExpiration, session]);\r\n\r\n useEffect(() => {\r\n timer.addHandler(() => {\r\n dispatch(tokenRenew());\r\n });\r\n timer.start(expiration);\r\n\r\n return () => timer.cancel();\r\n }, [dispatch, expiration]);\r\n\r\n useEffect(() => {\r\n setRedirectLocation(location);\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n } footer={
    }>\r\n \r\n \r\n \r\n \r\n } footer={
    }>\r\n \r\n \r\n \r\n \r\n } footer={
    }>\r\n \r\n \r\n \r\n \r\n } footer={
    }>\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\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\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","export const isTokenExpired = (expiration: number) => {\r\n const now = new Date(Date.now());\r\n const expiresAt = new Date(expiration * 1000);\r\n return expiresAt <= now ? true : false;\r\n};\r\n","import React, { useEffect } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { sessionCache } from \"modules/auth\";\r\nimport { Route, RouteProps, useHistory, useLocation } from \"react-router-dom\";\r\nimport { AppRoutes } from \"routing/AppRoutes\";\r\nimport { RootState } from \"store\";\r\n\r\ninterface Props extends RouteProps {\r\n roleRequirements?: number[];\r\n}\r\nexport const PrivateRoute: React.FC = (props) => {\r\n const { roleRequirements, children, ...rest } = props;\r\n const history = useHistory();\r\n const location = useLocation();\r\n const session = sessionCache().getSession();\r\n const user = useSelector((state: RootState) => state.signIn.user);\r\n\r\n useEffect(() => {\r\n if (!session) {\r\n history.push(AppRoutes.SignIn);\r\n }\r\n }, [history, session, user, location]);\r\n\r\n useEffect(() => {\r\n if (\r\n session &&\r\n roleRequirements &&\r\n !roleRequirements.includes(session?.role.value)\r\n ) {\r\n history.push(AppRoutes.NotAuthorized);\r\n }\r\n }, [history, roleRequirements, session, location]);\r\n\r\n return children} />;\r\n};\r\n","import {\r\n Action,\r\n configureStore,\r\n ThunkAction,\r\n combineReducers,\r\n Reducer,\r\n AnyAction,\r\n} from \"@reduxjs/toolkit\";\r\nimport {\r\n changePasswordReducer,\r\n activateAccountReducer,\r\n forgotPasswordReducer,\r\n registrationReducer,\r\n signInReducer,\r\n} from \"modules/auth\";\r\nimport { communicationsReducer } from \"modules/communication\";\r\nimport {\r\n accountListReducer,\r\n deactivateUserReducer,\r\n updateRolesReducer,\r\n userActivityReducer,\r\n userAccountReducer,\r\n profileReducer,\r\n dashboardDataReducer,\r\n deactivateAccountReducer,\r\n addressReducer,\r\n} from \"modules/dashboard\";\r\nimport {\r\n educationsReducer,\r\n expertAreasReducer,\r\n measuresReducer,\r\n operationTypesReducer,\r\n farmReducer,\r\n} from \"modules/education\";\r\nimport { presentationsReducer } from \"modules/presentation\";\r\nimport { RootStateOrAny } from \"react-redux\";\r\n\r\nexport type AppDispatch = typeof store.dispatch;\r\n\r\nconst reducer = combineReducers({\r\n registration: registrationReducer,\r\n signIn: signInReducer,\r\n forgotPassword: forgotPasswordReducer,\r\n activateAccount: activateAccountReducer,\r\n changePassword: changePasswordReducer,\r\n userActivity: userActivityReducer,\r\n userAccount: userAccountReducer,\r\n deactivateUser: deactivateUserReducer,\r\n updateRoles: updateRolesReducer,\r\n accountList: accountListReducer,\r\n profile: profileReducer,\r\n address: addressReducer,\r\n dashboardData: dashboardDataReducer,\r\n deactivateAccount: deactivateAccountReducer,\r\n educations: educationsReducer,\r\n measures: measuresReducer,\r\n farmHolder: farmReducer,\r\n operationTypes: operationTypesReducer,\r\n expertAreas: expertAreasReducer,\r\n presentations: presentationsReducer,\r\n communications: communicationsReducer,\r\n});\r\n\r\nconst rootReducer = (state: RootStateOrAny, action: AnyAction) => {\r\n if (action.type === \"SignIn/signOut\") return reducer(undefined, action);\r\n return reducer(state, action);\r\n};\r\n\r\nexport const store = configureStore({\r\n reducer: rootReducer,\r\n devTools: process.env.NODE_ENV !== \"development\" ? false : true,\r\n});\r\n\r\nexport type RootState = ReturnType;\r\n\r\nexport type AppThunk = ThunkAction>;\r\n","import \"./css/app.css\";\r\nimport \"normalize.css\";\r\nimport React from \"react\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { Routing } from \"routing\";\r\nimport { Provider } from \"react-redux\";\r\nimport { store } from \"store\";\r\nimport { AbilityContext, ability } from \"modules/auth\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport ReactGA from 'react-ga4';\r\n\r\nexport const App: React.FC = () => {\r\n\r\n// if(navigator.userAgent.includes('Android')) {\r\n// window.location.replace('https://play.google.com/store/apps/details?id=com.agrivi.esavjetnik');\r\n// };\r\n\r\n// if(navigator.userAgent.includes('iPhone')) {\r\n// window.location.replace('https://apps.apple.com/eg/app/esavjetnik/id1572628741');\r\n\r\n// // setTimeout(() => {\r\n// // window.location.replace(\r\n// // \"https://apps.apple.com/us/app/instagram/id389801252\"\r\n// // );\r\n// // }, 2000);\r\n// };\r\n\r\n (window as any)['analyticsSubject'] = new BehaviorSubject({});\r\n\r\n (window as any)['analyticsSubject'].subscribe(\r\n (event: AnalyticsEvent) => {\r\n if (!event?.label) return;\r\n ReactGA.initialize(\"G-54H57RZDM6\");;\r\n ReactGA.send(\"eSavjetnik_web_init2\");\r\n ReactGA.event({\r\n category: \"shopping\",\r\n action: \"eSavjetnik_web_event_app\",\r\n label: \"name\",\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\n );\r\n};\r\n\r\nexport interface AnalyticsEvent {\r\n label?: string;\r\n action?: string;\r\n category?: string;\r\n\r\n}","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { App } from \"./App\";\r\nimport ReactGA from \"react-ga4\";\r\n\r\nReactGA.initialize(\"G-54H57RZDM6\");;\r\nReactGA.send(\"eSavjetnik web init\");\r\nReactGA.event({\r\n category: \"shopping\",\r\n action: \"eSavjetnik web event\",\r\n label: \"name\",\r\n});\r\n\r\n\r\nReactDOM.render(, document.getElementById(\"root\"));\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\n"],"sourceRoot":""}