{"version":3,"sources":["components/adminPortal/images/newMember.png","components/adminPortal/images/renewal.png","components/loggeddInUser/membershipCard/images/narfoLogo.jpg","components/loggeddInUser/activitiesPage/NImages/nfLogo.jpg","API/APIendpoint.js","store/actions/actionTypes.js","utils/styles/styles.js","utils/GenericHeader.js","components/AdminDownloads/AdminDownloads.js","components/AdminDownloads/AdminDownloadList.js","components/AdminDownloads/test.js","components/AdminDownloads/uploads/Message.js","components/AdminDownloads/uploads/Progress.js","components/AdminDownloads/uploads/DefaultOrSelectFiles.js","components/AdminDownloads/uploads/SelectFile.js","components/AdminDownloads/uploads/UploadComponent.js","components/AdminDownloads/uploads/FilterButtons.js","components/AdminDownloads/uploads/Uploads.js","store/constantFile/ConstFile.js","components/viewAllMember/MemberCard.js","components/viewAllMember/styles/styles.js","components/adminHandler/adminHandler.jsx","components/adminNews/AdminNewsPage.js","components/adminNews/EditNews.js","components/adminUser/activitiesTab/styles/styles.js","components/adminPortal/Approvals/ApproveNewEndorsements/ApproveNewEndorsementsAPI.js","components/adminPortal/Approvals/ApproveNewEndorsements/ApproveNewEndorsementsActions.js","components/adminPortal/Approvals/ApproveNewEndorsements/ApproveNewEndorsementsActionTypes.js","components/adminPortal/Approvals/PendingActivitySubComponents/UserSection.js","components/adminPortal/Approvals/ApproveDashboardEndors.jsx","components/adminPortal/Approvals/ApproveNewDS/ApproveNewDSAPI.js","components/adminPortal/Approvals/ApproveNewDS/ApproveNewDSActions.js","components/adminPortal/Approvals/ApproveNewDS/ApproveNewDSActionTypes.js","components/learningManagementSystem/LMSAPIEndPoints.js","components/loggeddInUser/activitiesPage/ActivityDetails.js","components/adminPortal/Approvals/MainActivityDetailsApproval.js","components/adminPortal/Approvals/ActivityDetailsApproval.js","components/adminPortal/Approvals/ApproveDedicatedStatus.jsx","components/adminPortal/Approvals/ApproveMembershipRenewal.jsx","components/adminPortal/Approvals/ApproveNewMembers.jsx","components/adminPortal/Approvals/PendingActivitySubComponents/PendingActivityAPI.js","components/adminPortal/Approvals/PendingActivitySubComponents/PendingActivityActions.js","components/adminPortal/Approvals/PendingActivitySubComponents/PendingActivityActionTypes.js","API/APICalls.js","components/loggeddInUser/activitiesPage/NewActivityActions.js","components/loggeddInUser/activitiesPage/NewActivityActionTypes.js","components/adminPortal/Approvals/PendingActivitySubComponents/ActivityInfo.js","components/adminPortal/Approvals/PendingActivitySubComponents/ActivitySummary.js","components/adminPortal/Approvals/PendingActivitySubComponents/PendingActivityConstants.js","components/adminPortal/Approvals/PendingActivitySubComponents/ApprovalSection.js","components/adminPortal/Approvals/ApprovePendingActivities.jsx","components/adminPortal/DedicatedHunterMembers.js","components/adminPortal/loyaltyDays/LoyaltyDaysItem.js","components/adminPortal/loyaltyDays/UpdateLoyaltyDays.js","components/adminPortal/DashBoardRowItems.js","components/adminPortal/Dashboard.js","components/adminPortal/Bar.js","components/adminPortal/AdminMembers.js","components/adminPortal/MainAdmin.js","components/adminPortal/Pending/MembershipRenewal.jsx","components/adminPortal/Pending/PendingActivityApplication.js","components/adminPortal/Pending/PendingDedicatedHunter.js","components/adminPortal/Pending/PendingEndorsementApplication.js","components/adminPortal/Pending/PendingNewMembers.jsx","components/adminPortal/Reciept/PaymentMembershipRenewal.jsx","components/adminPortal/Reciept/PaymentNewMember.jsx","components/adminPortal/UploadProfilPicture.js","components/adminPortal/styles/styles.js","components/adminUser/activitiesTab/ActivityDetails.js","components/adminUser/activitiesTab/PendingActivitySubComponents/ActivityInfo.js","components/adminUser/activitiesTab/PendingActivitySubComponents/ActivitySummary.js","components/adminUser/activitiesTab/PendingActivitySubComponents/PendingActivityConstants.js","components/adminUser/activitiesTab/PendingActivitySubComponents/ApprovalSection.js","components/adminUser/activitiesTab/PendingActivitySubComponents/PendingActivityAPI.js","components/adminUser/activitiesTab/PendingActivitySubComponents/PendingActivityActions.js","components/adminUser/activitiesTab/PendingActivitySubComponents/PendingActivityActionTypes.js","components/adminUser/activitiesTab/ApprovePendingActivities.jsx","components/adminUser/activitiesTab/Activity.js","components/adminUser/activitiesTab/FilterBar.js","components/adminUser/activitiesTab/MainActivities.js","components/adminUser/activitiesTab/PendingActivityApplication.js","components/adminUser/adminEndorsement/AdminEndorsementView.js","components/adminUser/adminEndorsement/EndorsementDetails.js","components/adminUser/EditDropDowns/DropDownSection.js","components/adminUser/EditDropDowns/DropDownActivityType.js","components/adminUser/EditDropDowns/DropDownFireArm.js","components/adminUser/EditDropDowns/DropDownOptics.js","components/adminUser/EditDropDowns/DropDownActivityEvent.js","components/adminUser/EditDropDowns/DropDownStore.js","components/adminUser/EditDropDowns/DropDownActivityDisc.js","components/adminUser/EditDropDowns/DropDownShootingRange.js","components/adminUser/EditDropDowns/EditDropDown.js","components/adminViewMemberAreaPage/AccountsView.js","components/adminViewMemberAreaPage/AccountViewAll.js","components/dedicatedStatusApplication/DedicatedStatusApplicationAPI.js","components/dedicatedStatusApplication/DedicatedStatusApplicationActions.js","components/dedicatedStatusApplication/DedicatedStatusApplicationActionTypes.js","components/editMemberDetails/EditMemberDetails.js","components/loggeddInUser/userProfile/UserDetails.js","components/editMemberDetails/ChangePassword.js","components/homePage/newsFeed/NewsArticle.js","components/homePage/newsFeed/ViewAllNews.js","components/learningManagementSystem/CourseComponents/Statistics/BarGraph.js","components/learningManagementSystem/CourseComponents/Statistics/GraphButtons.js","store/actions/lmsActionTypes.js","components/learningManagementSystem/CourseComponents/Statistics/CourseReview.js","components/learningManagementSystem/CourseComponents/Statistics/CourseStatistics.js","components/learningManagementSystem/CourseComponents/Folders.js","components/learningManagementSystem/LMSMenu/MainMenu.js","components/learningManagementSystem/LMSMenu/AddMenu.js","components/learningManagementSystem/LMSMenu/EditMenu.js","components/learningManagementSystem/LMSMenu/AddModule.js","components/learningManagementSystem/LMSMenu/BulkMainMenu.js","components/learningManagementSystem/LMSMenu/BulkDelete.js","components/learningManagementSystem/LMSMenu/BulkMoveToFolder.js","components/learningManagementSystem/CourseComponents/Material/CourseMaterialActions.js","components/learningManagementSystem/LMSMenu/LMSMenu.js","components/learningManagementSystem/CourseComponents/Modules.js","components/learningManagementSystem/CourseComponents/Material/CourseMaterialModules.js","components/learningManagementSystem/CourseComponents/Assessment/CourseAssessmentModules.js","components/learningManagementSystem/CourseComponents/CourseMaterialEditor.js","components/learningManagementSystem/QuizComponents/utils.js","components/learningManagementSystem/QuizComponents/QuestionOption.jsx","components/learningManagementSystem/QuizComponents/fileUploaderComponent.js","components/learningManagementSystem/QuizComponents/Question.jsx","utils/CustomModal.js","components/learningManagementSystem/QuizComponents/QuizEditor.jsx","components/learningManagementSystem/CourseComponents/LMSNavigator.js","components/loggeddInUser/account/CheckoutPage.js","components/loggeddInUser/account/Leave.js","components/loggeddInUser/account/ManualPay.js","components/loggeddInUser/account/Notify.js","components/loggeddInUser/account/PayFastDetails.js","components/loggeddInUser/account/PaymentView.js","components/loggeddInUser/avatarProfile.js","components/loggeddInUser/endorsement/EndorsementApplicationDeatails.js","components/loggeddInUser/endorsement/EndorsementHeaderApplication.js","components/loggeddInUser/endorsement/EndorsementApplicationDeclaration.js","components/loggeddInUser/endorsement/EndorsementApplicationDone.js","components/loggeddInUser/endorsement/EndorsementApplicationFirearm.js","components/loggeddInUser/endorsement/EndorsementApplicationView.js","components/loggeddInUser/endorsement/MainEndorsement.js","components/loggeddInUser/LicensedFireArm/License.js","components/loggeddInUser/LicensedFireArm/LicensedFireArms.js","components/loginPage/MainLogin.js","components/loginPage/LoginHandler.js","components/loginPage/ResetPassword.js","components/loginPage/ResetRedirect.js","components/loginPage/ResetResponse.js","components/adminNews/AdminNewsCard.js","components/adminNews/AdminHome.js","components/adminViewMemberAreaPage/Payment.js","components/adminViewMemberAreaPage/EditUserDetails.js","components/adminViewMemberAreaPage/ViewUserDetails.js","components/dedicatedStatusApplication/SubComponents/Buttons.js","components/dedicatedStatusApplication/SubComponents/Declaration.js","components/dedicatedStatusApplication/SubComponents/HunterDetails.js","components/dedicatedStatusApplication/SubComponents/ShooterDetails.js","components/dedicatedStatusApplication/SubComponents/Details.js","components/dedicatedStatusApplication/SubComponents/Motivation.js","components/dedicatedStatusApplication/SubComponents/Stepper.js","components/dedicatedStatusApplication/DedicatedStatusApplication.js","components/dedicatedHunter/dedicatedProfileView.jsx","components/dedicatedHunter/dedicatedTimeline.jsx","components/dedicatedHunter/DedicatedProfile.js","components/learningManagementSystem/AdminAssessmentsTab/Assessments.jsx","components/learningManagementSystem/AdminAssessmentsTab/Lessons.jsx","components/loggeddInUser/LicensedFireArm/AddFirearmDetails.js","components/loggeddInUser/LicensedFireArm/AddLicenseDetails.js","components/loggeddInUser/LicensedFireArm/LicenseAddNew.js","components/loggeddInUser/LicensedFireArm/LicensedFireArmHeader.js","components/loggeddInUser/LicensedFireArm/UpdateCustomLicense.js","components/loggeddInUser/LicensedFireArm/UpdateLicense.js","components/loggeddInUser/LicensedFireArm/LicensedFireArmUpdate.js","components/loggeddInUser/LicensedFireArm/LicenseView.js","components/loggeddInUser/LicensedFireArm/LicenseViewCustom.js","components/loggeddInUser/LicensedFireArm/LicenseViewDetails.js","components/loggeddInUser/loyaltyDaysEarned/LoyaltyDays.js","components/loggeddInUser/loyaltyDaysEarned/DaysRecordMapper.js","components/loggeddInUser/loyaltyDaysEarned/DedicatedStatusDaysEarned.js","components/loggeddInUser/loyaltyDaysEarned/CourseDaysEarned.js","components/loggeddInUser/loyaltyDaysEarned/EndorsementDaysEarned.js","components/loggeddInUser/loyaltyDaysEarned/ActivityDaysEarned.js","v3/services/apiUrl.js","v3/services/member.service.js","components/adminUser/processMembershipFee/MembershipFee.js","components/loggeddInUser/membershipCard/MembershipCard.js","components/loggeddInUser/membershipCard/MainMembershipCard.js","components/loggeddInUser/salesCommission/MainSalesCommission.js","components/loggeddInUser/salesCommission/CommissionPaymentDetails.js","components/loggeddInUser/salesCommission/CommissionSelect.js","components/adminPortal/TabPane.js","components/loggeddInUser/activitiesPage/Activity.js","components/loggeddInUser/activitiesPage/Filter/FilterActions.js","components/loggeddInUser/activitiesPage/Filter/FilterActionTypes.js","components/loggeddInUser/activitiesPage/Filter/ActivitiesFilter.js","components/loggeddInUser/activitiesPage/MainActivities.js","components/loggeddInUser/activitiesPage/NewActivityConstants.js","components/loggeddInUser/activitiesPage/NewActivityDetails.js","components/loggeddInUser/activitiesPage/NewActivityHeader.js","components/loggeddInUser/activitiesPage/NewActivityFirearmDetails.js","components/learningManagementSystem/UserHome/Lms.jsx","components/learningManagementSystem/UserHome/DisplaySection.jsx","components/learningManagementSystem/UserHome/TakeCourse.jsx","components/learningManagementSystem/UserHome/Utils.js","components/learningManagementSystem/UserHome/TakeQuiz.jsx","components/learningManagementSystem/UserHome/QuizResults.jsx","components/learningManagementSystem/UserHome/ViewResults.jsx","components/loggeddInUser/account/Account.js","components/loggeddInUser/account/MainAccount.js","components/loggeddInUser/account/Payfast.js","components/AdminDownloads/Documents.js","components/loggeddInUser/salesCommission/EditPaymentDetails.js","components/membersAreaPage/TabPane.js","components/main/MembersArea.js","components/membersAreaPage/MembersAreaHeader.js","components/main/AdminMembersArea.js","components/adminNews/AdminNewsHome.js","components/main/News.js","components/adminNotifications/NotificationItem.js","components/adminNotifications/NotificationHome.js","components/main/Notifications.js","components/adminEmails/EmailItem.js","components/adminEmails/EmailEdit.js","components/adminEmails/EmailNew.js","components/adminEmails/EmailsHome.js","components/main/Emails.js","components/memberApplication/memberApplicationProgress.js","components/memberApplication/navigatorButtons.js","components/memberApplication/MemberDetails.js","components/main/Register.js","components/memberApplication/Declaration.js","components/memberApplication/LoginDetails.js","components/memberApplication/MemberAddress.js","components/memberApplication/SalesDetails.js","components/membersAreaPage/PendingMemberViewTabPane.js","components/membersAreaPage/Loader.js","components/membersAreaPage/PendingMemberView.js","components/nationalRanking/Ranking.js","components/nationalRanking/styles/styles.js","components/nationalRanking/DedicatedSportHunterNR.js","components/nationalRanking/OccasionalHunterNR.js","components/nationalRanking/NationalRankingHeader.js","components/nationalRanking/NationalRanking.js","assets/styles/styles.js","v3/services/commissions.service.js","v3/components/Loader/Loader.js","v3/components/TabGroup/TabGroup.js","v3/services/Notification.service.js","v3/store/Notifications/actions.js","v3/store/Notifications/types.js","v3/components/Notifications/Notifications.js","v3/shared/constants.js","v3/components/GenericTable/GenericTable.js","v3/components/SubtitleBar/SubtitleBar.js","v3/components/Profile/EventLookUpWords.js","v3/components/Profile/ProfileLoyaltyProgramme.js","v3/shared/utility.js","v3/shared/helpers.js","v3/components/Profile/ProfilePicture.js","v3/components/Profile/ProfileDetails.js","v3/components/DownloadButton/IconLabelButton.js","v3/components/MappedInput/MappedInput.js","v3/components/SalesCommission/AllCommissions.js","v3/components/SalesCommission/BankDetails.js","v3/components/EditableGridLabel/EditableGridLabel.js","v3/components/Filter/Filter.js","v3/components/Overview/Overview.js","v3/components/TabPanel/TabPanel.js","v3/components/Navigation/Toolbar/AuthAvatar/AuthAvatar.js","v3/components/Activities/MyActivities.js","v3/components/Activities/AddActivity.js","v3/services/activities.service.js","v3/components/Activities/ViewActivity.js","v3/components/Activities/ActivityRanking.js","v3/components/Activities/ViewActivityRanking.js","v3/components/Activities/ActivityMatrix.js","v3/store/FireArmType/actions.js","v3/store/FireArmType/actionType.js","v3/services/firearmType.service.js","v3/services/siteURL.js","v3/components/Activities/ViewEventRules.js","v3/components/Activities/ActivityEventLookup.js","v3/components/Activities/FireArmTypeLookup.js","v3/components/Activities/FireArmTypes.js","v3/services/endorsements.service.js","v3/components/Endorsements/AddEndorsement.js","v3/store/Endorsements/actionTypes.js","v3/components/Endorsements/MyEndorsements.js","v3/components/Endorsements/ViewEndorsement.js","v3/components/Documents/MyDocuments.js","v3/components/Auth/Signup/SignupHeader.js","v3/components/LicenseReminders/VewLicenseReminders.js","v3/store/Licence/types.js","v3/store/Licence/actions.js","v3/services/licence.service.js","v3/components/LicenseReminders/AddLicenseReminder.js","v3/components/LicenseReminders/LicenseRemindersDetails.js","v3/components/PaymentHandling/PayfastBlockSubscription.js","v3/components/Profile/ProfileAccountDetails.js","v3/components/PaymentHandling/PayfastBlock.js","v3/components/PaymentHandling/ManualPayment.js","v3/shared/pdfHelpers.js","v3/components/MyDedicatedStatus/ViewDedicatedStatusDetails.js","v3/services/dedicatedstatus.service.js","v3/components/MyDedicatedStatus/DedicatedStatusApplications.js","v3/components/MyDedicatedStatus/MyDedicatedStatusDetails.js","v3/store/DedicatedStatus/types.js","v3/components/Courses/DisplayCourseMaterialOrQuiz.js","v3/store/LearningManagement/actionTypes.js","v3/components/Courses/DisplayCourseMaterialSelect.js","v3/components/Courses/LearningMaterial.js","v3/components/Courses/ViewResults.js","v3/components/Courses/Assessments.js","v3/components/Courses/TakeQuiz.js","v3/components/Courses/QuizResults.js","v3/services/emailVerification.service.js","v3/containers/NavBar/Navbar.js","components/qrLinkToMember/MemberQRDetails.js","components/storeLocator/storeLocatorActions.js","components/storeLocator/storelocatorActionTypes.js","components/shootingRangeLocator/ShootingRange.js","components/statusView/statusView.jsx","components/staticPages/aboutPage/CodeOfConduct.js","components/staticPages/aboutPage/Aims.js","components/staticPages/aboutPage/DiciplinaryCode.js","components/staticPages/aboutPage/Policy.js","components/storeLocator/StoreLocator.jsx","components/staticPages/aboutPage/ContactUs.js","components/staticPages/aboutPage/AboutContent.js","components/staticPages/aboutPage/AboutTabbedPane.js","components/storeLocator/StoreLocatorContent.js","components/viewAllMember/ViewAllMember.js","components/navBar/ProcessMemberPayment.js","components/navBar/commissions/StoreOwnerCommission.js","components/navBar/commissions/CommissionTemplate.js","components/navBar/commissions/ProcessCommissionPayment.js","components/adminPortal/memberCounts/MemberCounts.js","components/navBar/reports/DSNonComplianceList.js","components/loginPage/ForgotEmail.js","v3/store/Profile/actions.js","v3/store/Profile/types.js","v3/hoc/Container.js","v3/store/Lookup/actions.js","v3/store/Lookup/types.js","v3/services/lookup.service.js","v3/store/DedicatedStatus/actions.js","v3/components/Profile/MemberPartnerDetails.js","v3/services/mapApi.js","v3/containers/profile/Profile.js","v3/components/Auth/Signup/controls.js","v3/containers/profile/ProfileCompletion.js","v3/store/SalesCommissions/actions.js","v3/store/SalesCommissions/types.js","v3/containers/salesCommission/SalesCommission.js","v3/store/Activities/actions.js","v3/store/Activities/types.js","v3/containers/Activities/Activities.js","v3/containers/Endorsements/Endorsements.js","v3/store/Endorsements/actions.js","v3/services/documents.service.js","v3/containers/Documents/Documents.js","v3/store/Documents/actions.js","v3/store/Documents/actionTypes.js","v3/components/MemberEmails/SingleEmail.js","v3/components/MemberEmails/ViewEmail.js","v3/services/email.service.js","v3/containers/MemberEmails/MemberEmails.js","v3/components/LicenseApplications/ViewLicenseApplications.js","v3/components/LicenseApplications/AddLicenseApplication.js","v3/components/LicenseApplications/LicenseApplicationDetails.js","v3/containers/LicenseReminders/LicenseReminders.js","v3/containers/MyDedicatedStatus/MyDedicatedStatus.js","v3/services/learningManagement.service.js","v3/containers/Courses/Courses.js","v3/components/Subscriptions/ViewSubscriptions.js","v3/services/subscription.service.js","v3/containers/Subscriptions/Subscriptions.js","v3/components/Reports/MembershipReports.js","v3/components/Reports/DedicatedStatusReports.js","v3/components/Reports/ActivitiesReports.js","v3/components/Reports/LicenseReports.js","v3/containers/ReportsDownload/ReportsDownload.js","v3/containers/Downloads/WhatsAppDocuments.js","v3/components/NewsLetter/Article.js","v3/components/NewsLetter/ViewNewsLetter.js","v3/services/newsLetter.service.js","v3/containers/NewsLetter/NewsLetter.js","v3/components/PartnerDashboard/CardCommission.js","v3/containers/PartnerDashboard/PartnerCard.js","v3/components/PartnerDashboard/CardSalesRep.js","v3/components/PartnerDashboard/MemberCard.js","v3/components/PartnerDashboard/styles/styles.js","v3/components/PartnerDashboard/CardMembers.js","v3/store/Auth/Login/actions.js","v3/store/Auth/Login/actionTypes.js","v3/containers/PartnerDashboard/PartnerDashboard.js","v3/containers/SalesRepDashboard/SalesRepDashboard.js","v3/components/Auth/Login/controls.js","v3/containers/Auth/Login/Login.js","v3/containers/Auth/Logout/Logout.js","v3/components/DialogNotification/DialogNotification.js","v3/containers/Auth/Signup/Signup.js","v3/components/Auth/Signup/SignUpText.js","v3/containers/PaymentHandling/Return.js","v3/containers/PaymentHandling/Cancel.js","v3/theme/theme.js","materialUI/NarfoTheme.js","components/navBar/CustomList.js","components/navBar/HamburgerMenu.js","components/navBar/NavBar.js","v3/hoc/AuxHelper/AuxHelper.js","v3/containers/Gallery/HuntingGallery.js","stylesNew/SportShootingStyles.js","v3/containers/TargetDownloads/WPViewEventRules.js","v3/containers/TargetDownloads/WPActivityEventLookup.js","v3/containers/TargetDownloads/WPFireArmTypeLookup.js","v3/containers/TargetDownloads/WPFireArmTypes.js","v3/containers/TargetDownloads/TargetDownloads.js","v3/containers/MapsContainer/MapsContainer.js","v3/containers/ShootingRangeLocations/ShootingRangeLocations.js","v3/containers/PartnersLocation/PartnersLocation.js","stylesNew/FirearmOwnersStyles.js","stylesNew/FirearmsGuardianStyles.js","stylesNew/StaticPageStyles.js","v3/components/StaticPageHeader.js","v3/components/GoToTop.js","v3/containers/FirearmsGuardian/ListItemWithIcon.js","v3/containers/FirearmsGuardian/ListItemWithLists.js","v3/containers/FirearmsGuardian/FirearmsGuardian.js","v3/containers/WordPressForms/GosaForm.js","v3/containers/WordPressForms/PcoasaForm.js","v3/containers/WordPressForms/PartnerForm.js","v3/hoc/Layout/Layout.js","App.js","serviceWorker.js","store/reducers/activities.js","store/reducers/contactUs.js","store/reducers/dedicatedStatus.js","store/reducers/downloads.js","store/reducers/licenses.js","store/reducers/viewMember.js","store/reducers/ViewActivities.js","store/reducers/ViewLicence.js","store/reducers/lms.js","store/reducers/login.js","store/reducers/membersArea.js","store/reducers/registration.js","store/reducers/account.js","store/reducers/main.js","store/reducers/adminPortal.js","store/reducers/articles.js","store/reducers/notifications.js","store/reducers/activityParameters.js","store/reducers/loggedInMember.js","store/reducers/fileUploader.js","components/storeLocator/storeLocatorReducer.js","store/reducers/DropDowns.js","store/reducers/dashBoard.js","store/reducers/memberProfilePicture.js","store/reducers/endorsements.js","store/reducers/nationalRanking.js","store/reducers/checkoutDefaults.js","store/reducers/document.js","store/lmsReducers/lmsCourseModule.js","store/lmsReducers/lmsStatistics.js","components/loggeddInUser/activitiesPage/NewActivityReducer.js","components/loggeddInUser/activitiesPage/Filter/FilterReducer.js","components/adminPortal/Approvals/PendingActivitySubComponents/PendingActivityReducer.js","components/adminPortal/Approvals/ApproveNewMembers/ApproveNewMemberReducer.js","components/adminPortal/Approvals/ApproveNewMembers/ApproveNewMemberActionTypes.js","components/adminPortal/Approvals/ApproveNewEndorsements/ApproveNewEndorsementsReducer.js","components/adminPortal/Approvals/ApproveNewDS/ApproveNewDSReducer.js","components/dedicatedStatusApplication/DedicatedStatusApplicationReducer.js","store/reducers/loyaltyDays.js","store/reducers/commission.js","store/reducers/commissionCategory.js","store/reducers/commissionRecords.js","store/reducers/base64Images.js","store/reducers/endorsementPurpose.js","store/reducers/recaptureKeys.js","store/reducers/endorsementAppl.js","store/reducers/activityAproval.js","v3/store/Auth/Login/reducer.js","v3/store/Profile/reducer.js","v3/store/Notifications/reducer.js","v3/store/Licence/reducer.js","v3/store/SalesCommissions/reducer.js","v3/store/Activities/reducer.js","v3/store/Lookup/reducer.js","v3/store/Endorsements/reducer.js","v3/store/Documents/reducer.js","v3/store/DedicatedStatus/reducer.js","v3/store/LearningManagement/reducer.js","v3/store/Auth/Signup/reducer.js","v3/store/Auth/Signup/actionTypes.js","v3/store/FireArmType/reducer.js","store/reducers/generalPageToggler.js","store/reducers/newsId.js","store/reducers/genericTabbedPaneToggler.js","store/reducers/nextPage.js","store/reducers/huntingToggler.js","store/reducers/sportShootingToggle.js","index.js","components/adminPortal/images/gl.jpg","components/adminNews/NewsImage/pp6.jpg","v3/assets/narfoLogo.jpg","assetsNew/Protect_section.jpg","assetsNew/firearms-guardian.png","assets/img/NarfoLogo.png","utils/icon-images/edit-icon.png","utils/icon-images/vid.jpg","utils/icon-images/doc.jpg","utils/icon-images/pic.jpg","utils/icon-images/bank.jpg","utils/icon-images/JPRS-banner-icon.png","components/viewAllMember/dProfile.jpg","components/adminPortal/images/star.jpg","components/adminPortal/images/gun.png","components/adminPortal/images/activity.png","components/loggeddInUser/activitiesPage/icons/back_icon.png","components/loggeddInUser/membershipCard/images/nnfo - Copy.jpg","components/adminPortal/images/edit-icon.png","v3/components/PartnerDashboard/dProfile.jpg","components/qrLinkToMember/qrImages/narfoLogo.jpg","assetsNew/rulesBackgroundImg.png","assetsNew/target.png","assetsNew/riffle1Dark.png","assetsNew/licenseGun.jpg","assetsNew/competencyImg.png","assetsNew/licenseRifleImg.png","assetsNew/selfDefenseImg.png","assetsNew/reviewTargetMobile.jpg","assetsNew/huntingInDesert.jpg","assetsNew/hunterDesert.png","assetsNew/huntingInDesert1.jpg","assetsNew/sportShootingImg1_.jpg","assetsNew/narfo_safety.jpg","assetsNew/insuresense.png","assetsNew/firearms-guardian-small.png","assetsNew/premium.jpg","assetsNew/genric-logo.png","components/adminPortal/images/dProfile.jpg"],"names":["module","exports","BASE","FRONT","DELETE_LICENCE","GET_LOGGED_IN_MEMBER","ARTICLE_URL","GOSA_HEADER","GET_DEDICATEDTYPE","CHECKOUT_DETAILS_ACTIONS","ACTIVITY_ACTIONS","UPDATE_ADD_ACTIVITY_DETAILS","UPDATE_USER_ACTIVITIES","UPDATE_ACTIVITY_TYPE_FILTER","UPDATE_ACTIVITY_DATE_FILTER","TOGGLE_SHOW_ACTIVITY_FILTER_BAR","UPDATE_ADMIN_ACTIVITIES","UPDATE_ADMIN_VIEW_ACTIVITY_DETAILS","SET_ADMIN_VIEW_ACTIVITY_DETAILS","UPDATE_ADMIN_ACTIVITY_TYPE_FILTER","UPDATE_ADMIN_ACTIVITY_STATUS_FILTER","TOGGLE_SHOW_ADMIN_ACTIVITY_FILTER_BAR","LMS_ACTIONS","ENDORSEMENT_ACTIONS","UPDATE_CURRENT_ENDORSEMENT_TAB","UPDATE_ADMIN_ENDORSEMENT","UPDATE_ADD_ENDORSEMENT_DETAILS","UPDATE_ENDORSEMENT_DATE_FILTER","UPDATE_ENDORSEMENT_TYPE_FILTER","UPDATE_USER_ENDORSEMENT","UPDATE_ENDORSEMENT","UPDATE_A_USER_ENDORSEMENT","UPDATE_A_ENDORSEMENT_LIST","UPDATE_ADMIN_ADD_ENDORSEMENT","UPDATE_CURRENT_ADMIN_ENDORSEMENT_TAB","UPDATE_APPLICATION","UPDATE_APPLICATIONS","UPDATE_CURRENT_PAGE","UPDATE_CERTIFICATE","RESET_APPLICATION","DASHBOARD_ACTIONS","UPDATE_MEMBERS_AREA","UPDATE_ACCOUNT","styles","theme","root","width","flexGrow","borderBottom","grow","title","fontWeight","marginLeft","marginRight","GenericHeader","showBackButton","show","IconButton","onClick","props","backFunction","style","height","showAddButton","addFunction","Add","showRecyleButton","recycle","cursor","paddingTop","paddingLeft","paddingRight","showTotalLoyaltyDays","Typography","variant","totalDays","showMemberNumberDays","totalMembers","showDeleteForeverButton","className","deleteForever","showFilledAddButton","Icon","showAddButtonCircle","to","showChangePassword","src","changePassword","alt","changePasswordFunction","showDeleteButton","DeleteFunction","showFilterButton","onFilterClick","FilterList","showDownloadButton","text","id","downloadFunction","showDownloadButton2","downloadFunction2","showFolderIcon","doc","uploadDocument","showBankIcon","bank","viewBankDetails","showVideoIcon","vid","uploadVideo","showSelectIcon","select","showTrashIcon","trashed","showDeleteIcon","delete","showUndo","undo","showImageIcon","pic","uploadPicture","showSearchButton","searchFunction","Search","showUploadButton","uploadFunction","showEditButton","editImage","editFunction","showEditMemberButton","showTimelineButton","timelineFunction","classes","this","Toolbar","hideLine","subHeader","text2","boxShadow","headerColor","margin","marginBottom","Component","withStyles","withRouter","AdminDownloads","state","dense","secondary","DeleteRecord","request","then","res","statusCode","fetchdownloadData","axios","get","headers","sessionStorage","getItem","onDownloadsChange","data","ListItem","divider","ListItemText","primary","connect","downloads","downloadsReducer","viewPdf","dispatch","value","vname","type","varValue","varName","onViewPdfChange","payload","AdminDownloadList","showDropzone","onDrop","getRootProps","getInputProps","isDragActive","files","req","post","forEach","file","attach","name","on","e","scrollToBottom","messagesEnd","scrollIntoView","behavior","isLoaded","CallResult","setState","showDownloads","alert","dropzone","ListState","map","index","key","downloadId","website","link","float","clear","ref","el","backgroundColor","uploadbutton","position","right","line","marginTop","test","discr","document","documentReducer","Message","msg","class","data-dismiss","Progress","percentage","role","fileUploadWidth","isMobile","DefaultOrSelectFiles","list","Index","selectItems","onChange","itemFunction","discription","href","target","SelectFile","deletedFiles","UploadComponent","handleDocumentTypeChange","changeEvent","preventDefault","onDocumentTypeChange","headerChange","comInput","fileUpload","isUploadSelected","Radio","checked","documentType","aria-label","message","fileUploads","uploadPercentage","videoUpload","pictureUpload","trash","checkDeletedItem","uploadedFile","checkItem","fileUploaderReducer","FilterButtons","unclickedButton","clickedButton","unclickedMainButton","clickedMainButton","generalButton","generalDocumentFilter","narfoButton","narfoDocumentFilter","dsButton","dsDocumentFilter","memberButton","memberDocumentFilter","huntingButton","huntingDocumentFilter","targetButton","targetDocumentFilter","resetAllButton","resertAll","filterButton","applyFilter","Uploads","handlePermanentDelete","a","url","selectedDeletedFile","method","loading","response","catch","err","status","handleDelete","selectedFiles","handleUndo","fileSelectorHeader","handleRecycle","onUploadButtonClick","fileObject","formData","append","Value","onUploadProgress","progressEvent","parseInt","Math","round","loaded","total","setTimeout","discriptionHeader","FormData","resetFilterType","filtering","filter","typeFilter","FileType","Name","sortType","React","createRef","showFileUpload","bind","showVideoUpload","showPictureUpload","includes","newSelected","concat","item","current","click","t","resertSelect","placeholder","onInput","rows","stringFile","split","pop","substring","indexOf","bubbles","color","accept","display","handleChange","STATUS","PAGE","MemberCard","handleSubmit","onMemberViewChange","MemberArray","addPadding","roles","memNo","firstLetter","Card","card","raised","component","Link","padding","CardContent","Array","isArray","length","dpicUser","align","firstname","surname","content","memType","dedicatedStatus","i","dstype","member","MemberViewReducer","MemberView","currLicenseTab","licensesReducer","currentLicenseTab","onCurrentMemberTabChange","variableName","actionTypes","newMemberView","onCurrentLicenseTabChange","minWidth","flex","flexDirection","fontSize","toast","configure","adminHandler","_handleChange","DeleteKey","DelKey","onSectionChange","handleMemberNumber","handleAdminMember","pages","handleAdminMemberDel","componentDidMount","selectedOption","addToArray","userIds","push","replaceSalesRep","_oldSalesRepMemNo","_newSalesRepMemNo","success","refreshAPI","removeAdmin","_adminMemNo","newPartner","_store","_storeAddress","MemNo","Commision","_commisionPercentage","Frequency","_commisionFrequency","BankName","_bankName","BranchCode","_branchCode","AccountNo","_accNumber","AccountType","_accType","_adminSalesAddSelected","_invalidAdminMsg","assignSalesRepToPartner","_partnerStoreID","addSalesRep","MemType","StoreID","checkSalesRepDeletion","_invalidSalesRemovalMsg","_invalidEntryMsg","checkAdminDeletion","_invalidAdminRemovalMsg","checkMemberToPartnerAllocation","console","log","_isAddParnterSelected","_invalidStoreMsg","_invalidStoreAddressMsg","_ivalidSalesRepForPartner","_salesRepForPartner","_invalidSalesRepMsg","_invalidcommisionPercentageMsg","_invalidcommisionFrequencyMsg","_invalidBankMsg","_invalidBranchCodeMsg","_invalidAccNumberMsg","_invalidAccTypeMsg","_salesRepAddSelected","checkIsAdmin","_isPartnerRole","Member_List","element","checkIsSales","_isSalesRole","checkIsPartner","_isAddRepToPartnerSelected","admins","Admin_List","Selected","NotSelected","isClearable","isLoading","isSearchable","single","AdminId","DropDown","label","AdminDropDown","_salesRepReplaceSelected","_adminRemoveSelected","_memberToPartnerSelected","_salesRepToPartner","_allStores","fetch","json","Admin_arr","V","adminId","memNoNavigation","arr","error","salesReps","_admins","from","Set","find","aria-describedby","finalSubmit","selected","storeId","store","adress","userProfileDetails","loginReducer","Selections","DropDownReducer","Options","input","center","aligner","textAlign","container","footer","TextValidator","fullWidth","instantValidate","button","spacing","unit","textField","Drop","Head","getContent","buttonClickSaveArticle","Axios","articles","history","AdminNewsPage","bgNews","defPic","newsPicture","showNewsPicture","reader","FileReader","onloadend","result","readAsDataURL","linkToNews","defaultValue","init","plugins","toolbar","apiKey","oneArticle","articlesReducer","article","onArticleChange","newArticle","EditNews","match","params","no","onTitleChange","newsArticleId","NewsArticleId","Title","Content","onArticlesChange","buttonClickUpdateArticle","initialValue","newArticles","activityDetailsStyles","mainCard","statusChange","justifyContent","paper","cardActions","isApproved","isRejected","approveEndorsementApplication","endorsementNo","reason","config","EndPoints","JSON","stringify","sendApprovalEmail","emailParam","approvePendingEndorsementBeginAC","approveNewEndorsementsState","approvalStatus","sendEmailBeginAC","emailStatus","sendEmailSuccessAC","approvePendingEndorsementSuccessAC","sendEmailErrorAC","approvePendingEndorsementErrorAC","sendEmail","approvePendingEndorsement","setReasonAC","setReason","setCurrentEndorsementAC","application","setCurrentEndorsement","UserSection","image","user","profilePicture","toString","defaultImg","_dStatus","getCurrentDate","newDate","Date","date","getDate","month","getMonth","year","getFullYear","ApproveEndorsementDashboard","updatePending","_pendingEndorsments","endorsements","endorsAppID","endApplication","onEndorsementObjectUpdate","pendingCount","allEndorsements","toEmail","memberDetails","email","ApplicationStatus","Firstname","Surname","memEmail","_applicationType","showTextArea","ApproveEndorsementActions","loyaltyDaysObject","endorsementDays","fireArmType","actionType","applicationType","caliber","section","motivation","applicationDate","endorsementPurpose","info","row1","row2","handleSubmitRes","dashBoardReducer","membersPending","LoyaltyDaysReducer","pendingEndorsements","pendingEndorsementCount","bindActionCreators","approveDSApplication","dsno","sendApprovalEmailDS","sendApprovalEmailDH","sendRejectDSEmail","approvePendingDSBeginAC","approveNewDSState","approvePendingDSSuccessAC","approvePendingDSErrorAC","sendEmailDS","sendEmailDH","sendDedRej","approvePendingDS","setCurrentDSAC","setCurrentDS","GET_COURSE_MODULES_WITH_CHILDREN","COURSE_MODULE","COURSE_MODULE_MOVE","COURSE_MATERIAL","COURSE_MATERIAL_MOVE","COURSE_MATERIAL_CHANGE_NAME","COURSE_MODULE_NAME_UPDATE","QUESTION","QUESTION_UPDATE_INDEX","MEMBER_ASSESSMENT","WEEK_STATISTICS","MONTH_STATISTICS","YEAR_STATISTICS","ActivityDetails","Activity","undefined","activityLink","activity","act","memberNumber","activityId","loggedIn","window","location","ActivityDetailsPage","goBack","onCurrActivityTabChange","toLowerCase","notfound","formatDate","d","day","join","pageLayout","rejectionReason","astatus","docName","_memberNotes","rejectReason","memberNotes","Type","Status","ID","Description","FireArm","Caliber","Association","activityViewInfo","activityType","activityDate","activityDescription","firearmType","association","score","palette","background","activitiesReducer","userActivities","isLoggedIn","ActivityTab","adminPortalReducer","adminPortal","currentActivityTab","onActivityParametersChange","renderPracticalActivityDetails","activityMemberNumber","activityID","ActivityDetailsApproval","ApproveDedicatedStatus","_pendingDS","pendingDS","dedicatedId","Bar","percent","borderRadius","Object","assign","displayCourseProgress","divs","assComp","memCourseObj","keys","_key","assesment","assesmentName","progress","reduce","b","submitNum","linkSportShooter","linkDedicatedHunter","linkProfessionalHunter","linkActivityPractical","assesmentlist","practicalActivities","Subject","Body","currentDate","resp","activityPracticals","documentLink","original","dh","dss","ApproveNewDSActions","dsApps","onStatusDSChange","dedicateStatusDays","statusTypeQ","_practicalActivities","_renderPracticalActivityDetails","_activityID","idno","onSetRejectType","handleSubmitRej","showReasonInputBox","Reason","rejectTypeFromStore","activitiesParametersReducer","lessonList","lmsReducer","lessons","assesmentCompletion","dedicatedStatusReducer","rejectType","onDedicatedChange","newPending","ApproveMembershipRenewal","Posts","userEndorsementList","_newRenewal","newRenewal","newRenewals","onAdminPortalChange","updateApproveStatus","currentMember","updateRejectStatus","updatePendingToReject","onMemberRenewalChange","pendingNRCount","username","sex","inceptionDate","reject","cellNo","physicalAddress","ethinicity","expiryDate","names","membersAreaReducer","membersArea","memberName","members","MemberList","memberList","newCurrActivityTab","currActivityTab","onDataChange","memArray","onResetViewMembers","ApproveNewMembers","_newMembers","newMembers","newMember","onNewMemberObjectChange","pendingNMCount","activityApproval","approvePendingBeginAC","pendingActivityState","approvePendingSuccessAC","approvePendingErrorAC","approvePending","emailParams","setMemberActivityAC","setMemberActivity","getActivitiesAPI","requestConfig","getFirearmAPI","getOpticsAPI","getAssociationsAPI","getActivityEventsAPI","uploadActivityAPI","goBackAC","resetAC","reset","toggleIsNarfoEventAC","newActivityState","isNarfoEvent","toggleIsNarfoEvent","toggleFileInputAC","toggleFileInput","addFileAC","documents","addFile","removeFileAC","removeFile","setDateAC","setDate","setAssociationAC","setAssociation","setMemberNumberAC","setMemberNumber","setActivityEventAC","activityEvent","setActivityEvent","setEventDescAC","desc","eventDescription","setEventDesc","setActivityTypeAC","setActivityType","setFirearmTypeAC","firearm","setFirearmType","setOpticsAC","optics","setOptics","setCaliberAC","setCaliber","setScoreAC","setScore","uploadActivityBeginAC","uploadStatus","uploadActivityFailureAC","uploadActivitySuccessAC","uploadActivity","APICalls","getActivityTypesBeginAC","getActivityStatus","getActivityTypesFailureAC","getActivityTypesSuccessAC","activityTypes","getActivityTypes","getOpticsBeginAC","getOpticsStatus","getOpticsFailureAC","getOpticsSuccessAC","opticsList","getOptics","getFirearmTypesBeginAC","getFirearmTypesStatus","getFirearmTypesFailureAC","getFirearmTypesSuccessAC","firearmTypes","getFirearmtypes","getAssociationsBeginAC","getAssociationsStatus","getAssociationsFailureAC","getAssociationsSuccessAC","associationsList","getAssociations","getActivityEventsBeginAC","getActivityEventsStatus","getActivityEventsFailureAC","getActivityEventsSuccessAC","activityEventList","getActivityEvents","ActivityInfo","event","Id","gallery","ActivityId","Approved","approveGallery","handleRejectionReason","rejectReasonUpdate","rejectionReasonForGallery","updateActivityDescription","currentTarget","_activityDescription","approved","overflow","onActivityDescriptionChange","ranking","blank","Checkbox","inputProps","Button","ActDescription","selectedActivityDescription","ActivitySummary","updateActivityScore","_activityScore","ActivityAprrovalReducer","ApprovalSection","_updatedActivities","_activitiesArray","initialButtons","approveActivity","generalActivity","onActivityObjectUpdate","backToList","rejectButtons","activitiesArray","navigator","userAgent","activities","ApprovePendingActivities","isPartner","PendingActivityActions","NewActActions","DedicatedHunterMembers","dhDetails","details","LoyaltyDaysItem","textPosition","loyaltyTitle","loyaltyDays","setDays","daysList","UpdateLoyaltyDays","daysArray","courseDays","onSubmit","onLoyaltyDaysChange","ldaId","num","tempDaysArray","loyaltyDaysObjectDisp","DashBoardRowItems","dItemLinkSection","dItemImage","dItemName","dItemCount","Dashboard","activitiesCount","endorsementsCount","dsCount","pendingActivities","onStatusAChange","onStatusEndorsementChange","star","gun","pendingAE","pendingA","token","AuthReducer","pendingNR","pendingNM","pendings","membersDSS","membersDH","membersRenewal","pendingNewMembers","pendingRenewals","_activities","onStatusAEChange","bColour","_percent","isNaN","_total","AdminMembers","toMemberCounts","dedicatedHunterMembers","membersDedicatedHunter","dedicatedSportShooterMembers","nonDedicatedMembers","MainAdmin","setItem","caches","reload","MembershipRenewal","findMember","sortByFirstName","array","sort","onRenewalMemberChange","defaultImgGl","PendingActivityApplication","_allPendingActivities","_newPendingActivitiesForTheMonth","_currentMonth","slice","pendingFilteredDS","mem","PendingDedicatedHunter","_allPendingDS","_newPendingDSForTheMonth","ds","onMouseDown","PendingEndorsementApplication","endorsementApplications","endorsement","onNewMemberChange","PendingNewMembers","_allNewMembers","_newMembersForTheMonth","pendingFilteredMembers","PaymentNewMember","renewalMembersUpdate","_member","_members","memRenewal","yearInt","accountInfo","PaymentType","PaymentMethod","_paymentMethod","AmountPaid","_amountPaid","Email","CostCode","Paid","TransactionNo","_transactionRef","PaymentDate","_transactionDate","onMemberRenewalUpdate","_pendingNRCount","onMemberRenewalObjectUpdate","autoComplete","TextField","required","InputLabelProps","shrink","btnContainer","approveNewMemberState","pendingMember","newPendingCount","newMemberList","memberObject","grow1","icon","pendingMemberUpdater","UploadProfilePicture","imagePreviewUrl","imageStateTrack","memPPId","memberProfilePicture","memberID","userDetails","ProfilePicture","onMemberProfilePictureUpdate","imageString","editButton","uploadButton","currentImage","$imagePreview","previewText","previewComponent","_handleSubmit","fileInput","_handleImageChange","submitButton","disabled","memberProfilePictureReducer","isExist","updatedMPicture","rightContainer","paddingBottom","h3","marginleft","borderRight","borderTop","borderLeft","imgPreview","img","border","hover","centerText","grow_","select2","avatar","bigAvatar","approve","refreshActivity","getProfilePicture","getActivityDocuments","onApprovalOrRejection","decision","backIcon","rel","Paper","anchor","elevation","forceUpdate","Input","multiline","disableUnderline","CardActions","size","viewedActivity","activityDocuments","profilePic","updateText","rejectText","MemberV","_handleRejectReasonSub","activeStatus","onCurrentActivityTabChange","onAnyPropertyChange","variableValue","actTypeFilter","activityAdminTypeFilter","actStatusFilter","activityAdminStatusFilter","onActivityTypeFilterChange","newTypeFilter","UPDATE_ADMIN_ACTIVITY_TYPE_FILTERIVITY_TYPE_FILTER","onActivityStatusFilterChange","newStatusFilter","flexWrap","formControl","formControl1","selectEmpty","FormControl","InputLabel","htmlFor","Select","MenuItem","MainActivities","getMemberActivities","memberState","isAdmin","onAdminActivitiesChange","getFilteredActivities","resetFilters","onAdminActivityTypeFilterChange","onAdminActivityStatusFilterChange","showFilterBar","showActFilterBar","acts","adminActivities","DownloadActivity","updateActivities","MemberDetails","showAdminActivityFilterBar","newAdminActivitiesArray","newAdminActivityTypeFilter","newAdminActivityStatusFilter","onShowAdminActivityFilterBarToggle","memberV","AdminEndorsementView","onCurrentAdminEndorsementTabChange","onAddEndorsementChange","onApplicationsChange","DisplayEndorsementList","applications","onApplicationChange","approvalDate","endorsementReducer","currentAdminEndorsementTab","newApplication","newApplications","newTabName","currTab","states","EndorsementDetails","RejectionReason","Rejected","Pending","Appoved","refreshPage","handleApproveStatusEmail","handleRejectStatusEmail","model","addEndorsementDetails","onadminAddEndorsementChange","DropDownSection","checkNotEmpty","Section","startsWith","isValid","Section_List","body","ValidatorForm","addValidationRule","noValidate","validators","errormessages","submitSection","native","OutlinedInput","labelWidth","sectionLookUpId","DeleteSection","memDetails","registrationReducer","signupDetails","newlicenceDetails","licence","borderColor","DropDownActivityType","showValid","ActivityType","ActType_List","interval","DeleteActKey","activityLookupId","DropDownFireArm","FireArmType","FireArm_List","DeleteFireKey","fireArmTypeId","DropDownOptics","Optics","Optics_List","DeleteOpticsKey","Optic","ópticsId","Activity_Event","ActEvent_List","ActivityEvent","DeleteActEventKey","oni","activityEventId","DropDownStore","Store","Adress","Store_List","DeleteStoreKey","DropDownActivityDisc","Act_Disc","ActivityDisc_List","Discipline","DeleteActDiscKey","disciplineId","discipline","DropDownShootingRange","ShootingRange","SRAddress","ShootingRange_List","DeleteSRangeKey","shootingRangeId","shootingRange","EditDropDown","DropDownActivityEvent","ActionSelect","onMemberDetailsChange","AccountsView","DateDifference","datePart","fromDate","todate","diff","floor","w","h","m","s","memberStatus","now","isPaymentStillValid","recentAccountEntry","paymentDate","onMemberPaymentChange","onCurrAccountViewTabChange","memPaymentDetails","onMemViewAcctDetGet","_accountDetails","memViewAccountDet","paymentType","amountPaid","accountReducer","accountDetails","account","acctDet","newCurrAccountViewTab","currAccountViewTab","onUserDetailsChange","newMemPayment","PaymentObject","AccountsViewAll","invoiceDate","invoiceNumber","paymentMethod","recieptNumber","transactionNo","submitApplication","submitDSApplicationBeginAC","DSApplicationState","applicationStatus","submitDSApplicationSuccessAC","submitDSApplicationErrorAC","submitDSApplication","changeStep","step","currentStep","toggleDSType","dsType","setValidationError","canSubmit","setDSVariables","clearState","redirectToDSList","dedictedStatusReducer","Pages","EditMemberDetails","_clickSubmitButton","_submitForm","CellNo","PhysicalAddress","Province","PostalCode","Occupation","City","Suburb","city","suburb","province","postalCode","occupation","width1","width2","memberCity","UserStatus","freeze","1","2","3","4","UserDetails","_renewalDaysLeft","componentChanger","localStorage","removeItem","onCommissionTabChange","onAddAccountDetailsChange","onLoyaltyDaysTabChange","onCurrentLMSTabChange","onCurrentEndorsementTabChange","DSApplicationActions","hunting","sport","both","emailFromToken","Authorization","daysLeft","userStatus","loginDetails","quizCompletion","assesmentList","assesments","newComTab","currentCommissionTab","onQuizCompletionChange","newQuizCompletion","onAssCompletionChange","onCertificatesUpdate","certificates","pageNum","currentLoyaltyDaysTab","newCurrentLmsTab","currLmsTab","ChangePassword","handleClickShowPasswordCurrent","showPasswordCurrent","handleClickShowPasswordNew","showPasswordNew","handleClickShowPasswordConfirm","showPasswordConfirm","changePasswordConfirm","newPassword","currentPassword","newPasswordConfirmation","JSONbody","Password","password","InputAdornment","Articles","articleNumber","number","srcDoc","scrolling","ViewAllNews","toggleCheck","articleList","srcdoc","BarGraph","initialData","dataArray","dataRange","formatGraphData","completion","dataRangeText","dateRange","isEqual","next","currCompletion","nextCompletion","datasets","load","changeData","sign","lbl","labels","fill","displayDataRangeButtons","visibility","options","redraw","gridColor","textColor","legend","scales","xAxes","ticks","fontColor","major","fontStyle","gridLines","yAxes","beginAtZero","min","max","stepSize","callback","drawBorder","maintainAspectRatio","nextProps","nextState","currentDataRange","nextDataRange","PureComponent","Chart_Type","GraphButtons","makeRadioCollection","characters","charactersLength","charAt","random","fetchDataCallback","loadData","findDataLength","hasData","weekData","monthData","yearData","fetchData","weekLoading","monthLoading","yearLoading","getUrl","pushData","onWeekDataChange","onMonthDataChange","onYearDataChange","radioCollection","defaultChecked","for","lmsStatistics","CourseReview","generateMonthLabel","v","k","reRenderGraph","tempDataLoader","findData","tempLabelLoader","weekLabel","monthLabel","yearLabel","Statistics","courses","course","lmsCourseModuleReducer","courseMaterial","courseModuleId","reorder","startIndex","endIndex","splice","removed","Folders","getList","modules","mod","apiParentCallback","fromId","toId","apiDragParentCallBack","apiChildCallback","listOfChildren","courseMaterialId","apiDragChildCallBack","apiChildTransfer","sourceMaterial","destinationModule","apiTransferChildCallback","onDragEnd","source","destination","existingItems","droppableId","mainDroppable","existing","findIndex","droppableSource","droppableDestination","sourceClone","destClone","move","existingIndex","checkBoxCallBack","isParent","numParentsSelected","numChildsSelected","checkBoxVisibility","checkBox","folderId","moduleFocusedId","idArray","folder","child","draggableId","provided","snapshot","innerRef","draggableProps","dragHandleProps","openEditor","showChildren","children","editModuleButton","toggleShowChildren","addAssessmentButtons","folderid","openChildren","populateModules","modulesProp","nextModule","nextChildren","currentChildren","overflowY","maxHeight","MainMenu","moduleTypeName","AddMenu","createCourseMaterial","CourseModuleId","parentId","addModuleStatus","onCreate","createMaterialMessage","refresh","EditMenu","editModule","editStatusMessage","onEdit","newName","deleteStatusMessage","AddModule","addCourseModule","addModule","fetchCourseModules","apiTimeOuts","addModuleText","buttons","BulkMainMenu","numberOfSelection","selectedComponentsType","isParents","BulkDelete","deleteModule","onDelete","isFolder","count","deleteAll","elem","BulkMoveToFolder","moveToFolder","moveModuleMessage","isMoving","moveAll","folders","fetchCourseModulesFailure","LMSMenu","changeMenu","onChangeMenu","menu","ChangeMenu","numParent","numChildren","moduleId","addModuleType","option","outSideMenu","Modules","swapChildren","swapFolders","transferChild","materialId","newParentId","numChild","numOfSelectedChildren","numOfSelectedParent","CourseMaterialModules","CourseAssessmentModules","len","CourseMaterialEditor","onSaveCourseMaterial","material","CourseMaterialId","saveMessageStatus","save","file_picker_types","file_picker_callback","cb","meta","createElement","setAttribute","onchange","onload","getTime","blobCache","tinymce","activeEditor","editorUpload","base64","blobInfo","create","add","blobUri","QuestionTypes","getInstruction","typeOfQuestion","QuestionOption","getOption","questionType","radioOption","checkOption","numbersSortOption","lettersSortOption","radioFunction","description","checkFunction","sortOptions","offset","isNumbers","choices","numberOfOptions","numbersSortOptionFunction","c","String","fromCharCode","FileUploader","isFileExist","_file","processImage","imageFile","URL","createObjectURL","showImage","fileName","_files","onFilesChange","fileGroup","fileParse","stateForUpdate","question","instructions","totalScore","onSaveMessage","inputText","render","stateForCreate","Question","addTotalScore","sum","opt","msNumbersScoreAlgorithm","getTotalScore","populateFiles","picture","picUrl","randomBytes","saveQuestion","modalCloseButton","modalShow","update","questionTitle","questionOptions","questionPictures","questionId","finally","onAddOption","onChangeInstruction","some","ind","_options","updateScore","_option","showOption","onValidation","isQuestion","isOption","val","matchSortValidate","duplicates","validationMessage","onCheck","realIndex","textOption","span","inputOption","defaultText","addOption","questionPic","close","selectedIndex","CustomModal","showCloseButton","disableCloseButton","Modal","Header","closeButton","onHide","dialogClassName","aria-labelledby","backdrop","keyboard","QuizEditor","getExistingQuestions","existingQuestion","openQuestionEditor","updateQuestion","isUpdatingQuestionId","deleteQuestion","showModal","modalMessage","modalTitle","ModalError","closeCreateQuestion","closeUpdateQuestion","addNewQuestion","questionHasImage","hoveredQuestion","onBlur","tabIndex","revert","sourceIndex","destinationIndex","newOrder","q","existingQuestions","showHoveredPicture","modalClose","onUpdateCourseMaterial","updatedName","header","LMSNavigator","editorType","handleChangeTab","tab","componentLoader","CourseStatistics","changeComponent","switchEditor","CheckoutPage","ItemName","MerchantID","MerchantKey","Amount","FeeYear","cryptr","require","itemName","amount","decrypt","merchantId","merchantKey","catchedMemDetails","loginMemDetails","_memberDetails","_itemName","action","checkoutDefaultsReducer","payfastObj","payFastDetails","onPayFastDetailsChange","obj","Return","onLoginDetailsChange","ManualPay","Notify","return","PayFastDetails","handleEditPayFastSandBoxDetails","Cryptr","PayFastMode","payFastDetailsID","PayFastDetailsID","MerchantId","encrypt","handleEditPayFastDetails","handleAmountChange","AmountError","PaymentView","receiptDownloader","receiptDownload","today","currAccount","accountList","invoiceNo","payViewInfo","print","pdf","jsPDF","addImage","base64Images","nnfo","setTextColor","setFont","setFontSize","setFontStyle","recieptNo","toUpperCase","pdflogo","Base64ImagesReducer","AvatarProfile","preview","onCrop","onClose","ReactDOM","getElementById","orange","EndorsementApplicationDetails","selectedValue","handleChecked","onAddEndorsementDetailsChange","errorState","handleCkeckedOption","handleSelectedHunting","ApplicationType","onHunting","onEndorsementApplicationTypeUpdate","huntingSelected","selectedSportShooting","selectedSelfDefence","selfDefence","onSportShooting","onSection13","onEndorsementSectionUpdate","section13","section15","section16","onSection15","onSection16","newActDetails","EndorsementPurpose","EndorsementAppl","endorsementApplicationType","endorsementSection","handleEndorsementPurposeChange","onEndorsementPurposeChange","isClicked","currentEndorsementTab","EndorsementPurposeReducer","EndorsementApplReducer","application_post","UPDATE_APPLICATION_POST","EndorsementApplicationDeclaration","handleDeclarationOption","handleDeclarationAcceptanceChecked","declAccptChecked","inter","Motivation","onRefreshState","EndorsementApplicationDone","EndorsementApplicationFirearm","FirearmType","Model","Make","SerialNumber","FirearmType_List","_Actions","fireArmTypes","actions","ActionType","action1","EndorrsementApplicationView","Certificate","encryptedMemString","qrCodeWithMemDet","qrFinal","base64QRString","dated","parse","dater","dedicates","code","dedicated","ds_status","getStatusCode","Action","endorsementViewInfo","setFontType","make","serialNumber","getDedicatedStatus","DateFind","pdfSign","signature2","rect","endorsementViewInfo3","endorsementViewInfo4","certificate","onCertificateChange","viewCertificate","content2","content1","License","onAddLicenseDetailsChange","licenceArray","custom","licenseName","licenseNo","firstIssueDate","issueDate","issued","licenseType","remainingDays","LicensedFireArms","narfoLogo","_dss","_dhs","toPDF","licenses","onUserLicenseChange","clearInterval","licences","LicenceList","pdfDownloader","autoTable","html","numIterator","finalY","previousAutoTable","startY","head","hidden","licenceDetails","newUserLicensesArray","MainLogin","handleClickShowPassword","showPassword","submitted","isChecked","redirect","passwordIsMasked","isErrorLogin","forward","onResetPassDetailsChange","userName","loginURL","decode","JWT","sub","azp","acr","sid","nonce","amr","nbf","prn","nameid","onLoyaltyDaysGet","onLoyaltyDaysArrayRecordGet","daysHistory","daysRecordObject","onLoyaltyDaysRecordGet","daysAdded","daysObject","onGetLoggedInMemberChange","onMemberActiveStatusChange","aria-current","endAdornment","getLoggedInMember","record","loyaltyRecord","aRecord","loyaltyRecordArray","newGetLoggedInMember","newActiveStatus","onMainDetailsChange","LoginHandler","createTheme","responsiveFontSizes","ResetPassword","checkEmailAndReset","isActive","_invalidEmail","resetPassDetails","field","activateButton","deactivateButton","Grid","alignItems","justify","xs","sm","md","lg","xl","Avatar","ThemeProvider","form","helperText","sitekey","recatchaKey","narfoProductionKey","onExpired","submit","linkFont","RecaptchaKeyReducer","main","errorPadding","ResetRedirect","snippedUrl","confirmPassword","newPasswordURL","validatePasswordTester","_invalidNewPassword","_invalidConfirmPassword","applyClicked","mixins","gutters","breakpoints","up","ResetResponse","direction","alignContent","AdminNewsCard","updateSelectedArticle","AdminHome","Payment","EditUserDetails","updateMemberDetails","userInfo","idNumber","resetMemberPassword","isResetPassword","ExpiryDate","_memStatus","Row","Col","InputGroup","Prepend","Text","Form","Control","as","onMemberStateChange","ViewUserDetails","updateUserDate","updateMemberStatus","rejectionDate","updatedMember","userData","isEdit","salesPerson","partnerExpiryDate","Buttons","handleBack","Page","Ph","Ods","PhRegNo","PhAssociation","PhProvince","PhExpiryDate","PhAttachment","OdsAssociationName","OdsFarNo","OdsDsNo","OdsExpiryDate","NonParticipationReason","OdsAttachment","DS","toggleDS","validateMotivation","Participation","validateDetails","Assessments","detailsError","motivationError","Declaration","validateDeclaration","fca","faStorage","ordinances","guilty","docDeclaration","codeOfConduct","dsDeclatation","valid","f","Fragment","proffessionalHunter","ShooterDetails","assessments","Details","DS_DH","DH","attendedActivities","activityNotAttendanceMotivation","applicationMotivation","validate","cols","Stepper","numberCircle","noLine","condition","evaluate","DedicatedStatusApplication","displayForm","DedicatedProfileView","handleTextArea","textReason","handleReason","practicalAssessment","currentStatus","pfh","Remarks","Dsno","handleAxiosStatus","reps","remarks","regNo","otherDedicatedStatus","associationName","dsNo","farNo","DedicatedTimeline","timelines","reverse","timeline","iconStyle","getColor","DedicatedProfile","handleView","Application","handleApplication","handleTimeline","PDFSign","_activeDedicatedStatus","App","average","l","onCurrentAssessmentTabChange","onAssesmentChange","newCurrAssessmentTab","currAssessmentTab","newAssesment","Lessons","getMemberResultForThisCourse","memberNo","results","getScore","displayLessonOutcome","secondList","lesson","assesmnetId","assessment","assesmentId","pkCourseId","assessmentList","AddFirearmDetails","Firearm","LicenseNo","IssueDate","LicenseType","Custom","onLicenceChange","AddLicenseDetails","LicenseName","buttonStyles","maxWidth","LicenseAddNew","fireClicked","customClicked","handleBChange","buttonDiv","orangeBg","buttonLeft","buttonRight","iconHover","fab","UpdateCustomLicense","Code","FirstIssueDate","Issued","overall","UpdateLicense","LicensedFireArmUpdate","LicenseView","onDeleteLicence","isFound","licenseViewInfo","DisplayLicenseDetails","LicenseViewCustom","LicenseViewDetails","LoyaltyDays","_memNo","adminLevel","lastIndexOf","totalNumDays","memLoyaltyRecord","dedicatedStatusDays","generalActivityDays","loyaltyInfo","daysNum","typeDays","tabChangeNum","DaysRecordMapper","filteredDaysRecord","fdrLooper","dateDescription","days","DedicatedStatusDaysEarned","dedicatedStatusDaysE","CourseDaysEarned","_courseDays","EndorsementDaysEarned","endorsementDaysR","ActivityDaysEarned","activityDays","API_URL","getMember","getMemberByMemNo","getMemNoByIdNo","idNo","getMemberProfilePicture","getMemberLoyaltyDays","getMemberAccountHistory","getMemberQRCode","getAllImages","getPartnerLogo","logo","uploadProfilePicture","getPayfastDetails","getMembershipTypes","getPartnerReport","getMemberDetailsByEmail","sendLoginEmail","emailData","MembershipFee","sortStores","stores","localeCompare","PartnerId","memberService","membershipTypes","totalDue","TransactionNumber","StoreId","membershipTypeId","selectedMembershipType","includeNarfoMembership","memberAccountDetails","handleRadioMembershipType","fee","handleIncludeNarfoMembership","defaultMembership","MemberService","Partners","isPartnerPayment","membershipLength","_","RadioGroup","row","membership","FormControlLabel","labelPlacement","control","Number","toFixed","MembershipCard","todaysDate","MemberDets","DedicatedStatus","col1","col2","MainMembershipCard","memberCertificateDownloader","memCertDownload","memberCardDownloader","memCardPrint","wildman","Address","FindAddress","MainSalesCommission","commRecByComNo","commNo","filteredComRec","_monthlyRepCommission","paymentTransNo","generatePDF","monthlyRepCommission","repMemNo","repNo","tableArray","comission","totalCommission","_commission","_totalCommission","EPSILON","repRes","repDetails","narfo","bankName","accountNo","accountType","branch","comType","footStyles","fillColor","showFoot","foot","addCommissionsDownloader","commissionDoc","monthlyCommission","_repDetails","_commissionNumber","repBranch","repFirstname","repSurname","commissionTotal","isAdminMemView","onMothlyCommissionGet","com","commNoTemp","CommissionRecordReducer","mCom","CommissionPaymentDetails","onSalesBankingDetailsViewChange","_viewSalesBankDetails","_viewPartnerBankingDetails","onEditObjectGet","bankingDetails","_bankingDetailsSales","_bankingDetailsPartner","_monthlyCommission","_bankingDetailsObject","bankDetailsViewObj","BankingDetails","editObject","bankEditObject","CommissionSelect","getFilteredCommissions","_finYr","repsMemComm","onBankingDetailsget","warning","_commType","bankingDetailsObject","bankingDetailsObjectPartner","branchCode","onPartnerStatusUpdate","BankDetailsObject","ScrollableTabsButtonAuto","isSalesRep","loadActivityTab","currActivityTab2","loadAdminEndorsementTab","loadLicenseTab","loadNewsTab","currNewsTab","loadAccountViewTab","AccountViewAll","loadAssessmentsTab","loadLoyaltyDaysTab","currLoyaltyDaysTab","loadCommissionTab","grade","hasChildren","onAssesmentsChange","mat","_lesson","onLessonsChange","tabs","AppBar","back","Tabs","indicatorColor","scrollButtons","Tab","CommissionReducer","currentNationalRankingTab","activityIdNumber","newLessons","newAssesments","resetFilterAC","resetFilter","setCategoryAC","category","activityFilterState","filterCategory","setCategory","setStartDateAC","startDate","setStartDate","setEndDateAC","endDate","setEndDate","ActivitiesFilter","FilterActions","showFilter","filterActive","toggleFilter","memStatus","memNumber","onUserActivitiesChange","approvedMemberStatus","filteredActivities","onMembersAreaChange","newUserActivitiesArray","newApprovedMemberStatus","approvedMemActivities","NewActivityDetails","selectedEvent","handleFileChange","handleFileDelete","handleFormSubmit","approvedTypes","remStatusTypes","fileCheck","isOther","_activityNotes","fileInputOpen","groupStatusStripped","groupStatus","glegnth","difference","x","newDocuments","toggleNarfoStyle","toggleButtonsSelected","toggleOtherStyle","Label","Constants","Group","controlId","readOnly","assoc","optic","scoreDoc","activityEventButtons","addButton","capture","opacity","zIndex","borderTopRightRadius","borderTopLeftRadius","NewActivityPage2","makePostRequest","newActivity","onAddActivityDetailsChange","PostalShoot","handleState","FileUploadStatus","addActivityDetails","fileSelect","Lms","handleClick","onSectionTitleChange","ass","currentLMSpage","onMemberCoursesChange","newMemberCourses","memberCourses","onQuizzesChange","newQuizzes","quizzes","newSectionTitle","sectionTitle","quiz","open","isOpen","displayLessons","onLessonChange","questions","onModuleIdTrack","onCourseModeleNameUpdate","moduleName","hasCertificate","courseId","scores","courseResult","courseTitle","replace","quizzesList","newLesson","newCourseName","courseModuleName","newModuleId","TakeCourse","oneLesson","dangerouslySetInnerHTML","__html","calculateScore","trueScores","scored","TakeQuiz","titleTimer","time","isBeginQuiz","isQuizExist","start","startTimer","progressBar","currentQuestion","numberOfQuestions","postResults","navigateButtons","previous","scoring","calculatePercentage","scoreIndex","scoreArrayIndex","scoreArrayValues","onScoreChange","onResultsRecordChange","showQuestion","totalOptions","actualScore","numOfOptions","sortOption","isTimeUp","seconds","altMemberDetails","timer","countDown","timeLeftVar","secondsToTime","secs","divisor_for_minutes","divisor_for_seconds","ceil","setInterval","courseDedicatedStatusType","newQuiz","newScore","Promise","resolve","newResultsRecord","resultsRecord","QuizResults","viewBox","standalone","labelComponent","y","innerRadius","colorScale","textAnchor","oneAssesment","ViewResults","Account","accountArray","MainAccount","checkoutScreen","hasToRenewMembership","daysToExpiry","descending","onUserAccountChange","newUserAccountArray","Payfast","iframe","bottom","filteredDocumentArray","documentHeaderChange","documentArray","EditPaymentDetails","newBankingDetailsUpdater","newBankDetails","newDetails","NewActivityFirearmDetails","loadLMS","DisplaySection","loadAccountTab","currAccountTab","loadEndorsementTab","MainEndorsement","EndorsementApplicationView","currentAccountTab","membershipExpired","MembersArea","loadMemberArea","adminView","MembersAreaHeader","logginStatus","profilePictureExists","narfo_default","dedicatedHUNTER","dedicatedSHOOTER","hunterAndShooter","onBase4ImagesGet","onmembershipExpiredStatusChange","dedicatedHunter","dedicatedShooter","hunterAndshooter","getUserAccountsUrl","accounts","onRecentAccountEntryChange","onMemberProfilePictureGet","memberProfilePictureExistance","editicon","imagesObject","newRecentAccountEntry","AdminNewsHome","editCheck","selectedArticles","onDescendingSort","latestAddedButton","oldestAddedButton","onAscendingSort","handleEdit","selectedArticle","filterButtons","News","NotificationItem","notification","NotificationHome","handleClose","newNotification","isImportant","notifications","notificationList","selectedNotification","updateCheckBox","notificationsId","tempList","onContentChange","Dialog","DialogTitle","DialogContent","autoFocus","DialogActions","Notification","Notifications","EmailItem","subject","font","dateSent","toLocaleString","recipient","whiteSpace","EmailEdit","emailList","bulkEmail","relative_urls","remove_script_host","convert_urls","handleUpdateSubmit","EmailNew","EmailsHome","addTestEmail","newEmail","isNewEmail","handleSaveSubmit","emails","filteredEmails","isEditEmail","selectedEmail","selectedEmailEdit","noOfSentEmails","Emails","memberApplicationProgress","NextPageButton","SubmitButton","PreviousPageButton","POPIActInfo","MemberApplication","handleOptionChange","isNextPage","ethinicitySelected","genderSelected","nextPage","isNumeric","FirstName","IDNumber","IDNo","Cellphome","Ethinicity","endorsementType","Sex","onPageChange","newPage","Register","handleFireArms_ControlOptionChange","handleFireArmStorageOptionChange","handleCriminalRecordOptionChange","radioButtons","onChangeCallback","variable","name1","name0","label1","label0","showError","declarationChildren","declaractionAcceptance","FireArms_Control","FireArmStorage","CriminalRecord","CoC","CoCError","DC","DCError","DocTrue","DocTrueError","ElectronicComms","ElectronicError","LoginDetails","handleChange2","getAddress","geolocation","getCurrentPosition","coords","latitude","longitude","plus_code","compound_code","checkUnfilled","registrationDetails","salesRep","SalesRep","Username","onSubmitError","onPostedMemberDetails","errorStatus","showUnfilledError","PasswordConfirm","userLocation","loginChildren","errorMessage","onSumbitError","MemberAddress","provinceSelected","addressChildren","onError","Physical","SalesDetails","CurrentMember_Associaton","handlePolicyOption","handleInputChange","handleRefBySalesRepChange","refBySalesRep","handleRefByPartnerChange","refByPartner","Store_list","UserID","salesChildren","DataTransfer","InputLabelRef","Sales_Reps","PendingMemberViewTabPane","ErrorPage","Loader","PendingMemberView","Ranking","title1","RankingArray","nrkey","Contain","order","scoreNumber","scoreText","hr1","lineHeight","Contain1","rootStatic","container2","container1","filterBy","BtnCs","RstBtn","hr","forminline","DedicatesHunter","filterFunction","handleAssociationChange","handleFirearmChange","handlerRanking","filteredPosts","filterOpen","clicked","resetClicked","ClassName","Static","_filter","nationalRankingReducer","nationalRanking","nationalRankingList","onAddNationalRankingDetailsChange","OcassionalHunter","handleActivityChange","handleFirearmFilter","static","NationalRankingHeader","loadNationalRankingTab","onCurrentNatinalRankingTabChange","onAddNatinalRankingChange","NationalRanking","getAllSalesCommissions","getCommissionDue","getAllSalesRepCommission","getUserRoles","updateBankingDetails","getSalesReps","getSalesRepsByPartnerId","getMemberRoles","getMembersByPartnerId","getMembersBySalesRepMemNo","getPartners","getSalesCommissions","useStyles","makeStyles","CircularProgress","CustomTabs","indicator","CustomTab","textTransform","typography","fontWeightMedium","h4","down","h5","disableRipple","TabGroup","selectedItemIndex","renderItem","activeStyle","items","TabPanel","view","defaultProps","updateMemberNotification","putMemberNotification","service","thumbNail","imageTextPadding","dialog","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","dialogMobile","dialogContent","top","left","textSlign","textJustify","transform","notificationActions","notificationMessages","notificationService","getMemberNotifications","NotificationService","fetchNotifications","reponse","showCustomizedDialogOnMobile","DialogContentText","initNotificationActions","NotificationActions","notificationData","NotificationReducer","MEMBER_STATUS","ASSOCIATIONS","ADD_TO_GALLERY","editableTextInputConfig","editable","elementType","elementConfig","minLength","errors","touched","editableTextUnvalidatedInputConfig","editableTextInputConfigModelField","editableSelectConfig","editableRadioInputConfig","radios","editableCheckBoxInputConfig","editableCalendarConfig","maxDate","minDate","editableNumberInputConfig","editableTextBoxInputConfig","dsApplicationsResponses","saProvinces","targetDownsLoadLevels","GenericTable","requestSort","pSortBy","sortFunction","sortBy","sortOrder","sortOrderInt","sortedItems","buildHeader","columns","TableHead","TableRow","col","TableCell","sortable","TableSortLabel","active","headerName","getColumnFormat","found","format","getDateFormat","ex","sortableColumn","fields","Table","TableBody","subscription","frameborder","allowfullscreen","allowtransparency","onViewCallBack","TableFooter","getDerivedStateFromProps","apply","reApply","callBack","edit","filterOptions","dropdownSelect","printer","dropdownSelectOptions","defaulFilterValue","addLicenseReminders","addLicenseApplication","downloadDedicatedStatusCallBack","showDownloadDSDocument","downloadDHCourseCertificateCallBack","showDownloadDHCourseCertificate","actionText","providers","elements","Print","CloudDownload","textMobileAlt","titleAlt","DropDownSelect","useState","NativeSelect","FormHelperText","SubtitleBar","ArrowBack","onBack","downloadActivity","remove","removeApplication","downloadLicenseReminders","showDownloadDSSCourseCertificate","wrap","downloadActivityCallback","addActivityCallback","DeleteForeverRounded","deleteLicenseReminderCallback","deleteLicenseApplicationCallback","downloadLicenseRemindersCallback","downloadDSSCourseCertificateCallback","targetsDescription","Divider","ProductionKeywords","QAKeywords","ProfileLoyaltyProgramme","filterLoyaltyHistory","keywords","shouldExclude","regex","RegExp","sortedResult","loyaltyHistory","valueOf","filteredLoyaltyHistory","showLoyaltyHistory","daysEarned","displayLoyaltyHistory","diplayEarnedDays","hostname","updateObject","oldObject","updatedProperties","checkValidity","rules","inputType","trim","maxLength","pattern","valueDateTime","DateTime","fromJSDate","maxDateTime","dateDiff","toObject","locale","minDateTime","initSelect","initCheckbox","initSignupSelect","selectConfig","convertToArrayOfObjects","collection","currentYear","aYearFromNow","setFullYear","financialYear","getMemberStatusFromInt","digit","getDedicatedStatusNumberFromMember","allDedicatedStatus","singleStatus","formatISODateToLocaleString","isoDate","dateTime","fromISO","getDedicatedStatusFromActivities","dsApplications","getUniqueValuesfromObjectArray","getStatusColor","statusString","hasDescription","ButtonMailto","mailto","ButtonCallNumber","call","labelHtml","dNone","small","large","fileRef","ProfileDetails","initControls","nickName","firstName","identityNumber","cellNumber","emailAddress","streetAddress","gridLabel","danger","editableGridLabel","myDetails","controls","editDetails","handleLabelChange","controlName","newValue","validity","updatedControls","formHasErrors","updateMemberDetailsCallback","fetchMemberData","cancelForm","personalAssisstant","myStatus","_remainingDays","uploadProfilePictureCallback","partnerInformation","showPartnerMembership","PartnerName","membershipType","PartnerExpiryDate","dedicatedSportsStatus","dedicatedHunterStatus","expiredFirearms","firearmsToBeRenewed","firearms","full","isPartnerMember","helpText","downloadMemberCardCallback","downloadMemberCertificateCallback","buttonSecondary","IconLabelButton","quizProgress","useTheme","matches","useMediaQuery","endIcon","stop","labelAbove","MappedInput","inputElement","errorFlag","invalid","shouldValidate","changed","showHide","FormLabel","MenuProps","disableScrollLock","radio","utils","DateFnsUtils","autoOk","inputVariant","InputAdornmentProps","commisionContainer","commision","comm","commissionNumber","amountTotal","getYearFromISO","initCommissionType","initYear","yearslist","AllCommissions","commissionType","setCommissionType","setYear","filterCommissions","commissions","downloadCommission","BankDetails","handleRadioChange","selectedRadio","selectedAccountDetails","bankAccountDetails","updateAccountDetails","radioGroupConfig","rad","partnerDetails","EditableGridLabel","stretch","errorText","hasError","formHasError","Filter","openFilter","setOpenFilter","generateResults","Overview","avatarLabel","nav","fontFamily","contrastText","buttonText","buttonPrimary","buttonContrast","AuthAvatar","useLocation","authContainer","disableElevation","avatarContainer","memberData","emptyContainer","pathname","isAuth","itemData","columnsMobile","initRadioFilter","initCalendarFilter","MyActivities","updateFilterValue","filterValue","organisation","end","disciplineItems","disciplineFilterItems","disciplineTypes","eventTypes","filterActivities","actDate","setHours","activityListForMoblile","newList","viewActivity","backCallback","getActivityCallback","AddActivity","initializeProvince","countryLookup","firearmTypeLookup","activityTypeLookup","country","specie","specieLookup","farmName","opticsLookup","activityDisciplines","activityNotes","handleRadioGalleryChange","selectedGalleryRadio","displayGalleryInfo","_isHunting","isHunting","rankingCheck","_country","_provinces","_fireArm","_fireArmLookups","fireArmID","_fireArmLookupItem","_activityTypeLookup","fireArmTypeLookupID","labelTerms","attachments","addToGallery","submitActivity","isFileUploaded","handleFileUpload","showFilePicker","radioGalleryConfig","camRef","SystemUpdateAlt","Camera","Attachment","getActivityByID","getGalleryActivity","getGalleryData","getActivityMatrix","getActivityRanking","getNarfoRankings","getOtherDisciplineRankings","formatStatus","ViewActivity","activityService","ActivitiesService","setGallary","useEffect","getGalleryActivityItem","links","replaceAll","downloadLinks","years","startYear","endYear","yearList","generateYearList","narfoColumns","otherDisciplineColumns","ActivityRanking","activityDiscipline","activityYear","handleTabChange","tabValue","handleSearch","respos","narfoTopRankings","otherDisciplineRankings","ActivityService","activityRankings","activityRanking","viewRanking","square","myActivitiesRanking","myRankings","getRankingCallback","disciplineLookup","ViewActivityRanking","ranks","singleRankings","ActivityMatrix","expandHandler","panel","isExpanded","expanded","matrix","activityMatrix","lastActiveConnector","baseConnector","activeConnector","lineActiveConnector","lastConnector","connector","lineConnector","noDataSection","participationYear","Accordion","AccordionSummary","summarySpacing","expandIcon","ExpandMore","aria-controls","comply","AccordionDetails","matrixItem","notShooting","occasionalHunter","dedicatedHunterAndshooter","daysToComply","occassionalSportShooter","common","white2","paragraph","borderBottomColor","tableBackgroundColor","circleHeight","fetchFireArmTypesLookUpById","getFireArmTypesLookUpById","fetchActivityLookupByFireArmTypeID","getActivityLookupByFireArmTypeID","fetchEventByActivityID","getEventByActivityID","fireArmTypeService","fetchFireArmTypes","getFireArmTypes","getDownloadByEventID","SITE_URL","origin","ViewEventRules","isActivityLookup","activatyLookups","level","eventRules","formHeading","eventName","sportshooting","distance","shots","GetFilename","purpose","fireArmTypeTargets","fireArmTypesLookups","activityLookup","ActivityEventLookup","isFirearmTypeLookup","onViewEvent","onEventNameUpdate","isEventRules","isLoader","FireArmTypeService","eventRulesActions_","_eventRulesActions","pointer","initialiseEventRulesActions","FireArmAction","onEventUpdate","fireArmTypesLookup","FireArmTypeLookup","isFirearmTypes","activityLookUpActions_","_activityLookUpActions","fireArmLookups","isGoBack","initialiseActivityEventLookUpActions","onActivityEventLookUp","fireArmLookUp","FireArmTypes","fireArmLookUpActions_","_fireArmLookUpActions","firearmTypesList","isFireArmTypeLookup","fireArmType1","initialiseFireArmLookUpActions","onFireArmLookUp","getMemberEndorsements","postMemberEndorsement","AddEndorsement","endorsementPurposeType","applicationTypes","sectionType","sectionTypes","declaration","endorsementApplication","submitHandler","applicationParams","applicationBody","EndorsementType","endorsementsService","onEndorsementGet","EndorsementsService","nEndorsementReducer","newEndorsement","MyEndorsements","gridItem","viewEndorsement","downloadCallback","downloadMemberEndorsementCallback","addEndorsementCallback","ViewEndorsement","MyDocuments","handleLink","downloadLink","fileItems","documentFilterItems","documentTypes","filterDocuments","fileType","heading","subHeading","h6","SignupHeader","headerContent","ViewLicenseReminders","editableGridLable","licenseReminder","updateLicenseReminderCallback","onLicenseRecordUpdate","firearmLicence","onLicenseRecordListUpdate","firearmLicenceRecord","licenseReminderResponse","__firearmReminder","issuedDate","licensedFirearm","protoTypes","PropTypes","shape","PropType","string","isRequired","func","LicenceReducer","fetchFirearmLicenceStatus","getFirearmLicence","expired","toBeRenewed","dayDiff","fetchMemberLicenseReminderRecord","getFirearmLicenceByID","fetchMemberLicenseApplications","getLicenseApplicationsByMemNo","licenceService","fetchMemberLicenseReminders","addLicenseReminderCallback","postLicenseApplication","AddLicenseReminder","licenseRecord","licenceActions","LicenceService","initialiseLicenceActions","LicenceActions","firearmLicenceList","LicenseRemindersDetails","viewLicense","addLicense","_firearmLicenseList","sectionLookup","g","overflowX","__firearmLicense","legnth","nLookupReduder","PayfastBlockMonthly","merchantID","toMyAccount","dualPayment","includesNarfoMembership","nextBillingDate","nextPaymentDate","formattedDate","toISOString","payfastD","ProfileReducer","formatAmount","ProfileAccountDetails","setupDefaultPayment","defaultNarfo","resetPasswordCallback","passwordErrors","old","new","confirm","isPasswordChangeSuccess","handleInput","handlePayFastView","prevState","payFastView","handlePayFastSubscription","payFastMonthlyView","handleManualPayView","manualPayView","onViewTableItem","invoice","toLocaleDateString","viewAccountDetails","invoiceDetails","costCode","printAccountTransactionCallback","setupPaymentDetails","accountStatus","expiryISO","diffNow","partnerDaysLeft","paymentBlock","onlineButton","offlineButton","manualBlock","payfastBlock","PayfastBlockSubscription","accountHistory","PayfastBlock","paymentAmount","ManualPaymentInstruction","printCard","dedHunterNo","dedStatusNo","wildmanImage","qrCode","yOffset","printCertificate","signature","stamp","isActiveDH","isActiveDSS","printAccountTransaction","vatAmount","vatPercentage","printLandscapeHeader","identifier","dedSportsNo","horizontalPageBreak","printActivities","printLicenseReminders","licenseReminders","printDedicatedStatus","commAuthSign","dsSportsShooter","dsHunter","ViewDedicatedStatusDetails","downloadDedicatedStatus","dedicatedStatusRecord","memberId","base64QRCode","images","timelineDetails","dedicatedStatusTimelines","textDecoration","reApplayCallBack","nDedicatedStatusReducer","getMemberDedicatedStatusType","getApprovedDedicatedStatus","getDedicatedStatusActivities","getAllMemberDeducatedStatuses","getAllDeducatedStatuses","addNewApplication","getDSApllicationRequirements","getDedicatedSatusApllicationRequirements","DedicatedStatusApplications","applyCheck","dedicatedStatusService","requireCourse","hasPassedAllModules","hasPassedAssessmentAverage","hasCompletedPracticals","failureReasons","_assessmentAverage","assessmentAverage","_practicalAtivities","practicalAtivities","handleRadioChange1","selectedRadio1","showExtraInfo","dsApplication","handleRadioChange2","selectedRadio2","handleRadioChange3","selectedRadio3","handleRadioChange4","selectedRadio4","handleRadioChange5","selectedRadio5","handleRadioChange6","selectedRadio6","handleRadioChange7","selectedRadio7","handleRadioChange8","selectedRadio8","hasCharacters","handleFileUploadOds","attachmentOds","showFilePickerOds","fileCheckPh","handleFileUploadPh","attachmentPh","showFilePickerPh","fileCheckOds","handleChangeDeclAccept","hadleGoToCourses","_noFileAttached","dedicatedType","toDateString","addNewApplicationCallBack","loadDSCallBack","statusText","DedicatedStatusService","isReApplication","fileOdsRef","filePhRef","_application","rejectedApplications","isDedicatedTranfer","_otherAssociation","Alert","severity","AlertTitle","List","MyDedicatedStatusDetails","_dedicatedStatusList","sportShooterCount","hunterCount","_dedicatedType","dedicatedStatusList","__dedicatedStatusList","__sportShooterCount","__hunterCount","applicationRequiredCheck","shooter","hunter","viewDStatus","onDedicatedRecordUpdate","DisplayCourseMaterial","handleAssementClick","handleLessonClick","getQuestionByIdCallBack","getCourseMaterialByIdCallBack","getCourseModuleNameByIdCallBack","typedList","gridCourseMaterial","toMaterialSelect","nLearningManagementReducer","DisplayCourseMaterialSelect","toDisplayMaterial","newContent","LearningMaterial","completed","bgColor","baseBgColor","isLabelVisible","downloadCourseCertificate","printCourseCertificate","progressArr","DisplayCourseMaterialOrQuiz","postMemberAssessmentCallBack","getMemberAssessmentsByMemberNo","PlayCircleOutline","takeCourse","verifyMemberEmail","isValidMember","isValidCode","checkIDNo","signup","formValues","registerNewUser","gender","nickname","cellphoneNumber","ethnicity","fireArmsControlAct","fireArmsUseStorage","criminalOffense","declareCodeOfConduct","declareDisciplinaryCode","declareValidInfo","declareElectronicPolicy","declareValidElectronicTrue","salesReferral","partnerReferral","associationAffiliation","sendVerificationCode","appBar","drawer","drawerClosed","drawerOpen","flexShrink","toolbarMargin","sideBarListMargin","drawerPaper","navBarBackdrop","navTab","logoContainer","navBarLogo","sideBarLogo","listParent","light","listSelected","menuButton","partnerLevel","salesRepLevel","nCommissionReducer","onToggleHamburgerChange","toggle","toggleHamburger","onLoginPageChange","loginToRessetPassword","onLandingPageContentToggle","landingPageContentToggle","onFirearmOwnersToggle","fireararmOwwners","onHuntingToggle","huntingTab","onSportShootingToggle","sportShooting","navIndex","setNavIndex","sideIndex","setSideIndex","mobileOpen","setMobileOpen","memberListOpen","setMemberListOpen","hasSalesReps","setHasSalesReps","_isSalesRep","setIsSalesRep","dialogOpen","setDialogOpen","setOpen","openVerify","setOpenVerify","openVerifyError","setOpenVerifyError","setCode","_adminLevel","_partnerLevel","_salesRepLevel","commisionService","CommissionsService","emailVerificationService","EmailVerificationService","setValue","breakpointMatch","handleChangeSideIndex","handleDrawerToggle","handleMemberToggle","toOverviewPageDefaulter","expiredProfileRoutes","openSnackbarVerify","__isSalesRep","__hasSalesReps","navRoutes","Home","Public","profileRoutes","Person","MonetizationOn","Assessment","Book","Assignment","ChromeReaderMode","Stars","nonSalesRepsProfileRoutes","partnerImportedMembersRoute","partnerRoute","salesRepRoute","adminRoutes","SupervisorAccount","logoutRoutes","PowerSettingsNew","profileList","route","ListItemIcon","partnerList","salesRepList","adminList","logoutList","appBarTabs","mobileDrawer","Drawer","ModalProps","keepMounted","ListParent","ExpandLess","Collapse","in","unmountOnExit","desktopDrawer","resend","openSnackbar","disableGutters","isMemberExpired","Hidden","mdUp","edge","outline","Menu","verified","onCodeChange","Snackbar","autoHideDuration","MemberQRDetails","membershipExpiryDate","decryptedString","memQRD","getBranchesAPI","SL_GET_BRANCHES_START","SL_GET_BRANCHES_FAILED","SL_GET_BRANCHES_SUCCESS","SL_UPDATE_SEARCH_STRING","SL_UPDATE_SEARCH_URL","SL_UPDATE_BRANCHES","getBranchesBeginAC","storeLocatorState","getBranchesFailedAC","getBranchesSuccessAC","branches","getBranches","updateSearchString","handleSelectChange","StoreLocatorActions","shootingRangesList","frameBorder","allowFullScreen","StatusView","keyValue","QR","dateApproved","refusalReason","terminationReason","CodeOfConduct","Aims","DiciplinaryCode","Policy","StoreLocator","ContactUs","checkForm","_invalidName","validEmailTester","_invalidSubject","_invalidMessage","fromEmail","SenderName","AboutContent","StoreLocatorContent","ViewAllMember","onChangeText","searchText","searchToggle","getFilteredMembers","onMemberViewListChange","filtertext","currentLetter","lastLetter","displayLetter","autoWidth","onchangeFilter","onKeyDown","MemberMap","MemSearch","newUserMemberArray","onShowFilterBarToggle","ProcessMemberPayment","StoreOwnerCommission","ComissionId","commInfo","commissionID","Branch","branchName","RepNo","repNum","commCategory","frequency","commType","onCommissionGet","commissionRecord","PaymentTransNo","CommissionCategoryReducer","onCommissionPay","commRecord","ownerCommission","CommissionTemplate","loadCommissions","Commission","showStoreOwnerCommission","_commRecord","_freq","ocom","ProcessCommissionPayment","updateCommissionCategory","_invalidFrequencySelectMsg","_invalidCommissionTypeSelectMsg","onCommissionCategorySelect","showCommissionTemplate","onCommissionsGet","_invalidComDateSelectMsg","_comDateTrack","_comDate","_Commissions","_printCommissionSelect","_processCommissionSelect","MemberCounts","getMembers","selectedPartner","_count","selectedConsultant","selectedProvince","isGetRejected","titleFilter","part","ExcelFile","ReactExport","ExcelSheet","ExcelColumn","DSNonComplianceList","getCurrenYearList","isYearlyRecordsLoaded","nonCompliancelist","getPriorYearNonComplianceList","_date","recordsFound","nonCompliancelistPrior","dsNonCompliances","priorYearList","selectedYear","ForgotEmail","checkIdAndGetEmail","_invalidIdNumber","emailRetrieved","fetchMemberProfilePicture","fetchMemberDedicatedStatus","fetchMemberLoyaltyDays","fetchMemberAccountHistory","fetchPayfastDetails","fetchMemberDetailsByEmail","Container","anchorOrigin","vertical","horizontal","fetchDisciplines","fetchFirearmType","fetchFirearmTypeLookup","fetchOpticsLookup","fetchActivityType","fetchSpecieType","fetchFirearmActions","fetchSections","fetchEndorsementPurposes","lookupService","fetchEventLookups","fetchDedicatedStatusList","MemberPartnerDetails","showingInfoWindow","activeMarker","selectedPlace","onMarkerClick","marker","onMapClicked","partners","partnerLocations","memberPartner","address","mapCenter","bounds","selectOptions","lat","parseFloat","lng","long","containerStyle","containerStyleMobile","iconColor","partnerSection","initialCenter","google","onInfoWindowClose","GoogleApiWrapper","LoadingContainer","h1","caption","withTheme","Profile","memberDataToDetails","memberDataToStatus","dedicatedActivities","loyaltyProgram","licenceStatus","memberDataToAccountStatus","groupAccountData","currentItem","refreshMemberAccountHistory","_records","memberAccountToAccountHistory","accountRecords","groupedData","values","accountData","memberDataToLoyaltyDays","downloadMemberCard","dedicatedService","dsSports","downloadAccountTransaction","downloadMemberCertificate","memberActions","currentMembership","tabViews","memberData2","DedicatedService","LookupService","lookupActions","dedicatedStatusAction","dedicatedStatusActions","isNewMember","initialiseMemberActions","MemberActions","mail","initLookupActions","LookupActions","initDedicatedStatusActions","DedicatedStatusActions","dedicatedStatusActivities","firearmLicenceStatus","genderConfig","firstNameConfig","surnameConfig","nicknameConfig","idNumberConfig","cellphoneNumberConfig","occupationConfig","ethnicityConfig","titleConfig","physicalAddressConfig","suburbConfig","cityConfig","provinceConfig","postalCodeConfig","fireArmsControlActConfig","fireArmsUseStorageConfig","criminalOffenseConfig","declareCodeOfConductConfig","declareDisciplinaryCodeConfig","declareValidInformationConfig","declareElectronicPolicyConfig","declareValidElectronicTrueConfig","partnerReferralConfig","associationAffiliationConfig","salesRepresentativesConfig","partnersConfig","emailConfig","usernameConfig","passwordConfig","confirmPasswordConfig","ProfileCompletion","initDeclarationControls","inputChangeAssociationHandler","associationControls","inputChangeOtherControlsHandler","inputChangeDeclarationHandler","declarationControls","isDisabled","electronicControls","initElectronicControls","initAssociationControls","inputChangeElectronicHandler","handleSaveChanges","FireArmsControl","UseStorage","Criminal","DisciplinaryConduct","CorrectInfo","DeclarationAcceptance","currentAssociation","checkRequired","submitError","regInfo","nextError","declarationElementArray","electronicElementArray","associationElementArray","provinceElementArray","dropdownsArray","loadingBlock","additionalDieldsForm","formElement","ProvinceForm","declarationForm","submitErrorPadding","signupSuccess","signupRedirectPath","electronicForm","associationForm","backButton","nextButton","mobileMargin","fetchAllSalesCommissions","comms","commNumber","filteredCommissions","fetchBankingDetails","userRoles","SalesCommission","commission","firstCommission","printSalesCommission","commissionsService","commissionsActions","fetchSalesCommissions","initCommissionsActions","salesCommissionsService","commissionService","CommissionsActions","fetchMatrix","fetchRanking","fetchActivities","Activities","downloadActivities","activityData","activityActions","onViewMyActivities","addActivity","eventLookup","o","countries","spiciesSorted","specieLookupId","provinces","specieType","_countries","initActivityActions","ActivityActions","nActivitiesReducer","disciplines","Endorsements","downloadMemberEndorsement","endorsementData","printEndorsement","addEndorsement","onViewMyEndorsements","endorsementActions","fetchEndorsements","endorsementService","EndorsementService","firearmActionTypeLookup","applicationTypeLookup","purposeType","initEndorsementActions","EndorsementActions","firearmActionType","getDocuments","Documents","documentsService","DocumentsService","documentsActions","fetchDocuments","documentTypeLookup","initDocumentsActions","DocumentsActions","nDocumentsReducer","SingleEmail","ViewEmail","viewEmails","getEmailHistory","MemberEmails","EmailService","getDay","ViewLicenseApplications","licenseApplication","referenceNumber","applicationNumber","idorInstNumber","statusDate","statusDescription","nextStep","onLicenseApplicationRecordListUpdate","firearmLicenseApplications","licenseApplicationStatusTimelines","AddLicenseApplication","tempApp","licenseApplicationRecord","isValidForm","addLicenseApplicationCallback","handleCloseErrorDialog","openErrorDialog","stepperRoot","stepperLabel","LicenseApplicationDetails","ViewLicenseApplication","updatedApplication","app","getFirearmsLicenceApplication","_firearmLicenseApplications","_firearmLicenseApplic","LicenseRemiders","licenseRemindersService","LicenseRemindersServices","_firearmLicence","MyDedicatedStatus","getCourseModules","getMemberAssessments","getQuestionById","getCourseMaterialById","getCourseModuleNameById","postMemberAssessment","Courses","writeCourseMaterialToIndexDB","indexedDB","onupgradeneeded","objectStore","createObjectStore","keyPath","createIndex","unique","onsuccess","db","transaction","courseModule","addRequest","onerror","oncomplete","readCoursesFromIndexDB","cursorRequest","openCursor","_courseRecords","continue","deleteDatabase","loadCourseProgressContent","courseRecords","_progresArr","lmsService","onProgressArrayUpdate","typedHeaders","LMSService","cachedCourses","_progressArr","ViewSubscriptions","updateSubscriptionList","subscriptionList","filteredSubscriptions","thumbnail","GetllSubscription","Subscriptions","SubscriptionService","subscriptions","MembershipReports","downloadMemberPartnerCertificate","isDownloading","report","partnerLogo","membername","printGOSACertificate","printPCOASACertificate","pdfSignature","storeName","reports","r","disableShrink","DedicatedStatusReports","ActivitiesReports","LicenseReports","ReportsDownload","TOKEN","WhatsAppDocuments","parseUrlQuery","urlParams","searchParams","acc","getAll","docType","output","printCardWhatsAPP","doctype","Article","newsLetterList","ViewNewsLetter","viewArticles","getAllNewsLetter","NewsLetter","NewsLetterService","CardCommission","PartnerCard","iconName","ChooseIcon","gutterBottom","black","isloading","Box","pt","Skeleton","subTitle","subTitleValue","CardSalesRep","ShowMemberProfile","Renewing","CardMembers","showProfile","HideMemberProfile","partnerMembers","p","logout","auth","authData","authToken","userId","expirationTime","decodedToken","tokenExpirationDate","exp","tokenExpiryTime","partnerId","updateRole","PartnerDashboard","showCommissions","showMembers","showSalesReps","commissionList","amountDue","commissonIsloading","repsIsloading","memIsloading","onUpdate","SalesRepDashboard","emailUsernameConfig","Login","inputChangeHandler","onAuth","stopPropagation","formElementsArray","authRedirect","isAuthenticated","authRedirectPath","LockOutlined","Logout","onLogout","onUpdateIsloggedIn","DialogNotification","Signup","initPersonalControls","initResidentialControls","initSalesControls","partnersSelect","salesRepSelect","initSalesControls2","initLoginControls","inputChangePersonalHandler","personalControls","inputChangeResidentialHandler","residentialControls","inputChangeSalesHandler","salesControls","partner","findObjectByValue","_salesReps","rep","storeID","salesRepsOptions","hasSalesRep","inputChangeLoginHandler","loginControls","inputConfirmPasswordHandler","matchPassword","shouldRedirect","memberWaitingVerification","activeStep","partnersDropdown","handleNext","personalElementArray","residentialElementArray","salesElementArray","loginElementArray","salesRepElemtArray","stepperLabels","signupRedirect","saleRepControl","personalForm","residentialForm","salesForm","loginForm","personalDetailsPage","accountInformationPage","alternativeLabel","stepItem","Step","StepLabel","stepContent","stepIndex","getStepContent","nSignupReducer","Cancel","white3","tableLabelColor","footerBackdrop","mainBackground","subtitle1","subtitle2","body1","body2","icons","overrides","MuiDivider","MuiTypography","MuiTabs","flexContainer","MuiTableRow","MuiTable","borderCollapse","borderSpacing","MuiTableCell","MuiButton","containedSecondary","MuiRadio","colorSecondary","actionbutton","sectionHeading","mobileStepper","speedDial","modal","snackbar","tooltip","minHeight","factor","targetList","blue","grey","lightGrey","useNextVariants","CustomList","logoutMember","listOfButtons","fontWeightRegular","HamburgerMenu","HamburgerToggled","toggleDrawer","headings","headings2","sideList","SwipeableDrawer","onOpen","mainReducer","fullList","search","alpha","white","searchIcon","pointerEvents","linkLeft","inputRoot","inputInput","transition","transitions","isAdminPortal","loginCheck","TokenStored","aux","HuntingGallery","setIndex","Images","setImages","defaultImages","setDefaultImages","species","setSpecies","defaultFarms","setDefaultFarms","defaultSpecies","setDefaultSpecies","tempFarmImages","setTempFarmImages","tempSpecieImages","setTempSpecieImages","farms","setFarms","setIsLoading","nextIndex","nextImage","prevIndex","prevImage","getHeightAndWidthFromDataUrl","dataURL","Image","objectExistsInArray","farmsData","speciesResponse","speciesData","all","_farm","imageUrl","tags","mappedImages","searchByTags","_farms","filterFarmsDropDownlist","searchByFarmTags","_species","filterSpecieDropDownlist","searchBySpecieTags","tagValues","every","tagValue","tag","imageList","_farmList","Autocomplete","multiple","limitTags","dataCountries","getOptionLabel","renderInput","enableImageSelection","mainSrc","imageTitle","mainSrcThumbnail","nextSrc","nextSrcThumbnail","prevSrc","prevSrcThumbnail","onCloseRequest","onMovePrevRequest","onMoveNextRequest","useStylesSportShooting","SportShootingContainer","SportShootingContainerMobile","rulesBackground","rulesBackgroundImg","targetsDownloadBackground","targetsDownloadImg","overviewContainer","overviewContainerMobile","overviewContainerMobileSmall","overviewText","textShadow","overviewTextMobile","headerSpacing","listContainer","anchorPoint","downloadText","spanText","targetDownloadsContainer","WPFireArmTypes","TargetsDownload","classesSportShooting","firearmTypeService","FirearmTypeService","setFirearmTypesList","changeBacgroundImage","MapsContainer","Geocoder","maps","geocode","geometry","_address","mapContainerStyle","zoom","visible","shootingRanges","setShootingRanges","setPartners","useStylesFirearmOwners","aboutUsContentContainer","firearmOwnersContainer","firearmOwnersContainerMobile","firearmOwnerBackgroundImg","CategoriesBackground","firearmCategoryBackgroundImg","LicenseApplicationBackground","firearmLicenseBackgroundImg","motivationApplicationBackground","motivationBackgroundImg","SelfDefenseApplicationBackground","selfDefenseBackgroundImg","competencyBackground","firearmCompetencyBackgroundImg","subheaderSpacing","guidelinesContainer","useStylesFirearmsGuardians","huntingContainer","huntingInDesertBackgroundImg","backgroundDesert","desertBackgroundImg","dedicatedHunterBackground","huntingInDeserLightBackgroundImg","huntingAssessmentBackground","huntingAssessmentBackgroundImg","buttonSize","todayContainer","imgMobile","wrapMobile","boxSizing","headerMobile","videoSection","videoSectionMobile","centerContent","offersAndLegal","offersAndLegalMobile","lisItem","columnSapcing","protectHeader","protectHeaderMobile","protectSection","protectSectionBackgroundImg","backgroundBlendMode","protectSectionMobile","coverHeader","coverText","coverHeaderMobile","accordionAfter","outlinedButton","coverPremiumOptions","coverImageContainer","objectFit","staticPageLayout","staticHeaderContainer","staticHeaderContainerMobile","learnMoreButton","servicesContainer","initiativesContainer","servicesContainerMobile","servicesContainerChild1","initiativeChild","opaqueOverlay","safety","exploreContainerChild1","servicesContainerChild2","servicesContainerChildMobile","communityContainer","exploreContainer","blueButton","grayButton","StaticPageHeader","currPage","tile","GoToTop","routePath","scrollTo","ListItemWithIcon","ListItemWithLists","ColorButton","getContrastText","topSpacing","pxToRem","scroll","querySelector","block","classesFirearmsGuardian","classesFirearmOwners","setActiveStep","setIsActive","steps","isCompleted","setIsCompleted","setCountry","setName","lastname","setLastName","setIdNo","setCellNumber","setEmail","address1","setAddress1","address2","setAddress2","setCity","setProvince","setPostalCode","accountHolder","setAccountHolder","setBankName","accountNumber","setAccountNumber","setAccountType","contractAmount","setContractAmount","debitOrderDate","setDebitOrderDate","firstAgreement","setFirstAgreement","secondAgreement","setSecondAgreement","thirdAgreement","setThirdAgreement","promoCode","setPromoCode","fieldValidation","prevActiveStep","addressLine1","FirearmsGuardianImage","allow","coverAccordion","coverPremiumMobile","coverImage","coverPremium","joinSectionImage","FirearmsGuardianImageSmall","joinText","formSection","setp1Section","SelectProps","inputRef","focus","insuresenseMobile","insuresense","genericSectionMobile","genericSection","GenericImage","GosaForm","lastName","contactNo","setContactNo","setErrorMessage","successMessage","setSuccessMessage","setIsValid","idNoError","setIdNoError","emailError","WebkitTextStroketrokeWidth","Boolean","handleIDChange","partnerID","salesRepMemNo","Backdrop","PcoasaForm","PartnerForm","contactNoError","setcontactNoError","nameError","setNameError","lastNameError","setLastNameError","setEmailError","setSalesReps","selectedRep","setSelectedRep","setPartnerId","setPartnerLogo","URLSearchParams","displayEmpty","Layout","onSalesRepsGet","path","TargetDownloads","drawerMargin","library","faUpload","ProtectedRoute","rest","CssBaseline","exact","FirearmsGuardian","Sales","AdminUserMainAct","AdminUserApproveAct","AdminMembersArea","Leave","EndorsementApplicationDeatails","AdminEndorsementDetails","OccasionalHunterNR","DedicatedSportHunterNR","ApprovePendingDedicatedStatus","PaymentRenewal","NewsArticle","PayfastDetails","isLocalhost","registerValidSW","swUrl","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onSuccess","initialState","ActivityDate","ActivityDescription","DateSubmitted","Score","MemNoNavigation","FilesCount","adminViewActivityDetails","activityTypeFilter","activityDateFilter","showActivityFilterBar","reducer","newActivityDetails","newAddAdminViewActivityDetails","addAdminViewActivityDetails","contactUs","ContactUsDetails","newDedicatedStatus","isPdf","pdfLink","newDownloads","newLicence","ActivityList","ActivityView","ViewLicence","isAddNewCourse","lmsAdminPageIterator","selectedAnswer","currentQuizIndex","newLoginDetails","newObj","newResetDetails","newUserDetails","newMemberState","dedicatedSportShooterStatus","newMembersArea","newMemberDetails","newAccount","mainDetails","isVisitor","isMember","showAdminHamburger","newMainDetails","newAdminPortal","currentNewsTab","currentNotificationTab","DSType","InceptionDate","SalesReps","searchString","newOptions","_pending","pending","appication","appication_post","ApplicationTitle","ApplicationDate","ApprovalDate","EndorsementNo","CertificateUrl","FirearmPurpose","AccurateDeclaration","EndorsementTYpe","SerialNo","newEndorsementDetails","currentPage","updateAdminEndorsement","rankByYear","rankByActivity","rankByAssociation","rankByFirearmType","Rank","SportShooter","Year","NationalRankingList","newNationalRanking","PAY_FAST_URL","isLoadWhenExisting","eventType","unfilteredActivities","accountUpdateStatus","receiptNo","paid","validationError","declarationError","localHostKey","narfoQAKey","authStart","authSuccess","authFail","authLogout","setAuthRedirectPath","INITIAL_STATE","documentLookupId","applicationTypeLookupId","purposeTypeLookupId","erroMessage","signupStart","signupFail","setSignupRedirectPath","setSalesRep","aboutUsToggler","currentNewsId","pageOneToPageTwoSignUp","rootReducer","combineReducers","contactUsReducer","LisenceViewReducer","ActivityViewReducer","notificationsReducer","memberDetailsReducer","storeLocatorReducer","NewActivityReducer","PendingActivityReducer","FilterReducer","ApproveNewMemberReducer","ApproveNewEndorsementsReducer","ApproveNewDSReducer","DSApplicationReducer","GeneralPageTogglerReducer","NewsIdReducer","GenericTabbedPaneTogglerReducer","NextPageReducer","HuntingTogglerReducer","SportShootingToggleReducer","persistedState","serializedState","loadFromLocalStorage","createStore","composeWithDevTools","applyMiddleware","thunk","subscribe","saveTolocalStorage","getState","readUrl","addEventListener","process","contentType","ready","unregister","checkValidServiceWorker","waitingServiceWorker","waiting","postMessage"],"mappings":"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CACA,sCACA,gDACA,0CACA,wCACA,uCACA,uBACA,mBACA,wBACA,sBACA,qBACA,wCACA,qCACA,mDACA,mDACA,0DACA,0DACA,uBACA,mBACA,wBACA,sBACA,qBACA,oCACA,oCACA,2BACA,gCACA,wCACA,sDACA,OACA,uBACA,mBACA,UACA,UACA,sBACA,yBACA,qBACA,oCACA,oCACA,oCACA,wBACA,iCACA,iCACA,iCACA,uBACA,mBACA,sBACA,qBACA,oCACA,oCACA,oCACA,mDACA,mDACA,iCACA,iCACA,iCACA,wCACA,uCACA,wCACA,mBACA,sBACA,qBACA,yCACA,gCACA,qCACA,6CACA,uBACA,UACA,kCACA,mCACA,uBACA,mBACA,UACA,wCACA,wCACA,uBACA,mBACA,UACA,sBACA,mDACA,mBACA,uBACA,mBACA,UACA,sBACA,mDACA,uBACA,mBACA,UACA,sBACA,8BACA,2BACA,uBACA,mBACA,yBACA,wCACA,8BACA,mCACA,uBACA,mBACA,UACA,UACA,yBACA,0CACA,wCACA,uBACA,mBACA,yBACA,kCACA,mCACA,0BACA,+BACA,uCACA,UACA,sBACA,qDACA,uBACA,uBACA,mBACA,UACA,sBACA,2BACA,+BACA,uBACA,mBACA,UACA,sBACA,yBACA,4BACA,uBACA,mBACA,wBACA,sBACA,qBACA,yCACA,yCACA,gCACA,gCACA,6CACA,2DACA,uBACA,mBACA,sBACA,qBACA,yCACA,gCACA,qCACA,6CACA,qCACA,gCACA,gCACA,+BACA,4BACA,2BACA,2BACA,2BACA,2BACA,2BACA,iBACA,+BACA,gCACA,2BACA,gBACA,iBACA,+BACA,gCACA,2BACA,gBACA,iBACA,+BACA,gCACA,2BACA,gBAEA,YACA,SACA,UACA,cACA,gBACA,kBACA,gBACA,aACA,UACA,kBACA,WACA,cACA,OACA,OACA,aACA,eACA,MACA,QACA,mBACA,cACA,0BACA,0BACA,4BACA,QACA,QACA,OACA,YACA,QACA,QACA,wBACA,wBACA,UACA,aACA,yBACA,uBACA,UACA,qBACA,aACA,oBACA,iBACA,eACA,iBACA,uBAIWC,GAAa,CAC3B,WACA,mBACA,mBACA,YACA,WACA,kBACA,yCACA,yCACA,yBACA,mBACA,YACA,iBACA,gBACA,mBACA,mBACA,UACA,UACA,sBACA,yBACA,iEACA,6DACA,yDACA,mBACA,UACA,UACA,sBACA,yBACA,kEACA,8DACA,0DACA,uBACA,UACA,UACA,sBACA,qBACA,yBACA,wDACA,gEACA,8EACA,yEACA,yEACA,2EACA,sEACA,sEACA,sEACA,qFACA,+EACA,wEACA,uEACA,mBACA,wBACA,sBACA,qBACA,uEACA,uEACA,2GACA,2GACA,4FACA,4FACA,mBACA,wBACA,sBACA,qBACA,sEACA,sEACA,mFACA,8EACA,0EACA,wFACA,mBACA,UACA,UACA,sBACA,yBACA,qBACA,qEACA,qEACA,qEACA,yDACA,uFACA,uFACA,uFACA,mBACA,sBACA,qBACA,mEACA,mEACA,mEACA,wGACA,wGACA,qFACA,qFACA,qFACA,uEACA,uEACA,mBACA,sBACA,qBACA,2DACA,wEACA,6EACA,+DACA,UACA,uDACA,wDACA,mBACA,UACA,+DACA,+DACA,mBACA,UACA,sBACA,kDACA,mBACA,mBACA,UACA,sBACA,kDACA,mBACA,UACA,sBACA,sDACA,mDACA,mBACA,yBACA,6DACA,yEACA,8EACA,mBACA,UACA,UACA,yBACA,wEACA,qEACA,mBACA,kDACA,4DACA,4DACA,yEACA,8EACA,gEACA,UACA,sBACA,mDACA,mBACA,UACA,sBACA,kDACA,0DACA,mBACA,UACA,sBACA,yBACA,uDACA,mBACA,wBACA,sBACA,qBACA,wEACA,wEACA,qFACA,iFACA,4EACA,0FACA,mBACA,OACA,sBACA,qBACA,4DACA,yEACA,8EACA,gEAED,YACA,SACA,UACA,cACA,gBACA,kBACA,gBACA,aACA,UACA,kBACA,WACA,cACA,OACA,OACA,aACA,eACA,MACA,QACA,mBACA,cACA,0BACA,0BACA,4BACA,QACA,Q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,KACTC,SAAU,KACVyM,MAAO,MAGXia,aAAc,GACdH,sBAAuB,CACnBxmB,QAAS,KACTC,SAAU,KACVyM,MAAO,MAGXua,iBAAkB,GAClBH,sBAAuB,CACnB9mB,QAAS,KACTC,SAAU,KACVyM,MAAO,MAGX6a,kBAAmB,GACnBH,wBAAyB,CACrBpnB,QAAS,KACTC,SAAU,KACVyM,MAAO,OAwEAquI,GAnEC,WAAuC,IAAtCnkJ,EAAqC,uDAA7BssB,GAAkBm9B,EAAW,uCAClD,OAAQA,EAAO9nD,MACX,IrahE8B,yBqaiE9B,IrahCY,gBqaiCR,OAAO,6BACA3B,GADP,IAEIusB,cAAc,EACdgB,cAAe,KACfxL,aAAc,KACdwwD,eAAe,EACf+1E,UAAW,KACX36H,iBAAkB,GAClB/J,aAAc,KACd5G,KAAM,KACNiH,MAAO,EACPnF,QAAS,KACTkP,QAAS,KACTG,OAAQ,KACRnK,YAAa,QACb4I,UAAW,KAGnB,IranFe,mBqaoFf,IranFkB,sBqaoFlB,IranFe,mBqaoFf,IrahFyB,6BqaiFzB,IrapFsB,0BqaqFtB,IrapFwB,4BqaqFxB,IrapFyB,6BqaqFzB,IranF4B,gCqaoF5B,IranFwB,4BqaoFxB,IranFuB,2BqaoFvB,IranFiB,qBqaoFjB,IralFkB,sBqamFlB,IrapFgB,oBqaqFhB,IranFmB,uBqaoFnB,IranFqB,yBqaoFrB,IranFqB,sBqaoFrB,IralF2B,+BqamF3B,IralF6B,iCqamF7B,IrarF6B,iCqasF7B,IralFuB,2BqamFvB,IralFyB,6BqamFzB,IrarFyB,6BqasFzB,IralF8B,kCqamF9B,IralFgC,oCqamFhC,IrarFgC,oCqasFhC,IralF6B,iCqamF7B,IralF+B,mCqamF/B,IrarF+B,mCqasF/B,IralF+B,mCqamF/B,IralFiC,qCqamFjC,IrarFiC,qCqasF7B,OAAO,6BACA5sB,GACAypD,EAAOn9B,kBAElB,IravFwB,4BqawFpB,OAAO,6BACAtsB,GADP,IAEIuyE,eAAgBvyE,EAAMuyE,gBAE9B,QACI,OAAOvyE,IC3HbswE,GAAsB,CACxBC,eAAgB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OC,QAAU,+vD,oBCAjBD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,iC,kBCA3CD,EAAOC,QAAU,8mR,kBCAjBD,EAAOC,QAAU,0O,oBCAjBD,EAAOC,QAAU,IAA0B,yC,kBCA3CD,EAAOC,QAAU,89T,kBCAjBD,EAAOC,QAAU,+vD,oBCAjBD,EAAOC,QAAU,IAA0B,uC,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,wC,oBCA3CD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,0C,oBCA3CD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,0C,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,qD,oBCA3CD,EAAOC,QAAU,IAA0B,qC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,iBCA3CD,EAAOC,QAAU,+vD","file":"static/js/main.3e49d170.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/newMember.454c3a9a.png\";","module.exports = __webpack_public_path__ + \"static/media/renewal.aed83754.png\";","module.exports = __webpack_public_path__ + \"static/media/narfoLogo.228ec30f.jpg\";","module.exports = \"data:image/jpeg;base64,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\"","export const BASE = process.env.NODE_ENV == 'development'?'https://backend.narfo.co.za/' : \"https://backend.narfo.co.za/\";\nexport const FRONT = process.env.NODE_ENV == 'development'? 'http://localhost:3000/': \"https://portal.narfo.co.za/\";\nexport const DELETE_LICENCE = \"api/LicensedFirearms/delete/\"\nexport const PAYFAST_NOTIFY = \"http://payfasttestnarfo.quickscorepro.co.za/payfastreturn.php\";\nexport const GITHUB_TEST_URL = \"https://api.github.com/users/\";\nexport const ACTIVITY_APPROVAL = \"api/Activities/Approval/\";\nexport const ACTIVITY_APPROVAL_WITH_BODY = \"api/Activities/ApprovalWithBody/\";\nexport const ACTIVITY_EMAIL = \"api/Activities/sendEmail\";\nexport const GET_ALL_MEMBERS = \"api/Member/all\";\nexport const GET_MEMBER = \"api/Member/\";\nexport const GET_LOGGED_IN_MEMBER = \"api/Member/getLoggedInMember/\";\nexport const GET_MEMBER_BY_EMAIL = \"api/Member/getMemByEmail/\";\nexport const GET_ALL_MEMBERS_DEDICATED = \"api/Member/all/MemberView\";\nexport const GET_USER_BY_FILFTER = \"api/Member/all/filter\";\nexport const GET_USER_BY_STATUS = \"api/Member/all/filterbystatus\";\nexport const GET_DOWNLOADS_URL = \"api/downloads/all\";\nexport const GET_BRANCHES_URL = \"api/Branches/all\";\nexport const GET_SPEC_LIST = \"api/LicensedFirearms/getlicense/\";\nexport const POST_NEW_ACTIVITY_URL = \"api/Activities/post\";\nexport const LOGIN_URL = \"api/Member/post/login\";\nexport const RESET_URL = \"api/Member/post/reset\";\nexport const NEW_PASSWORD_URL = \"api/Member/post/new\";\nexport const GET_SALES_URL = \"api/salesReps/get/all/sales\";\nexport const GET_ALL_ENDORSEMENTS_URL = \"api/EndorsementApplications/all/\";\nexport const POST_ALL_ENDORSEMENTS_URL = \"api/EndorsementApplications/\";\nexport const GET_SPECIFIC_USER_ENDORSEMENTS_URL =\n \"api/EndorsementApplications/getEndorsment/\";\nexport const GET_ADDLICENCE_URL = \"api/LicensedFirearms/post\";\nexport const GET_UPDATELICENCE_URL = \"api/LicensedFirearms/update/\";\nexport const GET_LIST_URL = \"api/LicensedFirearms/list\";\nexport const CONTACTUS_URL = \"api/Member/post/email\";\nexport const GET_ALL_ACTIVITIES_URL = \"api/Activities/\"; \nexport const GET_ALL_MEMBER_ACTIVITIES = \"api/Activities/GetMemberActivities\";\nexport const GET_SPECIFIC_ACTIVITY = \"api/Activities/memNo/\";\nexport const GET_ALL_SALES = \"api/salesReps/get/all/sales\";\nexport const POST_MEMBER = \"api/Member/post/set\";\nexport const GET_LAST_MEMBERNUM = \"api/Member/get/Last/MemNum\";\nexport const GET_MEMBER_STATS = \"api/Statistics\";\nexport const POST_DEDICATED_STATUS_VIEW =\n \"api/DedicatedStatus/post/Dedicatedfind\";\nexport const POST_ENDORSEMENTS_URL =\n \"api/EndorsementApplications/PostEndorsementApplication/\";\nexport const ASSESMENTS_URL = \"api/assesments/\";\nexport const COURSES_BY_ASSESMENT_URL = \"api/courses/assesment/\";\nexport const MEMBERCOURSE_URL = \"api/membercourses/\";\nexport const COURSES_URL = \"api/courses/\";\nexport const QUIZZES_URL = \"api/quiz/\";\nexport const QUIZZES_BY_COURSE_URL = \"api/quiz/course/\";\nexport const MEMBERCOURSE_BY_MEMBER_URL = \"api/membercourses/member/\";\nexport const GET_ENDORSEMENTS_URL = \"api/EndorsementApplications/all/\";\nexport const GET_COMPLETION_STATUS_URL = \"api/MemberAssesments/results/\";\nexport const VIEW_SELECTED_ENDORSEMENTS_URL = \"api/EndorsementApplications/\";\n\nexport const GET_NOTIFICATION_URL = \"api/Notifications/GetAllNotifications\";\nexport const POST_NOTIFICATION_URL = \"api/Notifications\";\nexport const DELETE_NOTIFICATION_URL = \"api/Notifications/DeleteNotification\";\n\nexport const GET_BULK_EMAILS_URL = \"api/AutomatedEmail/GetBulkEmails\";\nexport const POST_BULK_EMAIL_URL = \"api/AutomatedEmail/SendBulkEmail\";\nexport const SAVE_BULK_EMAIL_URL = \"api/AutomatedEmail/SaveBulkEmail\";\nexport const UPDATE_BULK_EMAIL_URL = \"api/AutomatedEmail/UpdateBulkEmail\";\nexport const DELETE_BULK_EMAIL_URL = \"api/AutomatedEmail/DeleteBulkEmail\";\n\nexport const ARTICLE_URL = \"api/NewsArticles\";\nexport const ARTICLE_LATEST = \"api/NewsArticles/GetAllNewsByTheLatest\";\nexport const ARTICLE_LatestFiveNews_URL = \"api/NewsArticles/GetFiveLatest\";\n\nexport const NEWS_BY_ARTICLE_URL = \"api/NewsArticles/\";\nexport const FIREARMS_GUARDIAN_NEW_APPLICATION = \"api/Initiatives/SendFirearmsGuardianApplication\";\n\nexport const GET_MEMBER_CITY = \"api/Member/city/\";\nexport const UPLOAD_NEW_FILE = \"api/Downloads/newFile\";\nexport const GET_ACTIVITIESFILES_UPLOAD = \"api/ActivitesUploads/UploadFiles\";\nexport const GET_ACTIVITIESFILES = \"api/ActivitesUploads/\";\nexport const GET_ACCOUNT_LIST = \"api/account/member/\";\nexport const CHANGE_MEMBER_EXPIRY_DATE_URL = \"api/member/changeExpiryDate/\";\nexport const ACCOUNT_URL = \"api/account/\";\nexport const GET_DOWNLOADS_DELETE = \"api/downloads/\";\nexport const GET_UPLOAD_NEW_DOWNLOADS = \"api/downloads\";\nexport const GET_ALL_USER_ACTIVITIES_URL = \"api/Activities/memNo/\";\nexport const GET_NATIONALRANKING_URL = \"api/NationalRankings/\";\nexport const PENDING_ENDORSEMENT_STATUS_URL =\n \"api/EndorsementApplications/PostPending/\";\nexport const REJECT_ENDORSEMENT_STATUS_URL =\n \"api/EndorsementApplications/PostRejected/\";\nexport const APPROVE_ENDORSEMENT_STATUS_URL =\n \"api/EndorsementApplications/PostApproval/\";\nexport const UPDATE_ACTIVITY_PENDING_STATUS = \"api/Activities/PostPending/\";\nexport const UPDATE_ACTIVITY_REJECT_STATUS = \"api/Activities/PostRejected/\";\nexport const UPDATE_ACTIVITY_APPROVE_STATUS = \"api/Activities/PostApproval/\";\nexport const UPDATE_PENDING_STATUS = \"api/EndorsementApplications/PostPending/\";\nexport const UPDATE_REJECT_STATUS = \"api/EndorsementApplications/PostRejected/\";\nexport const UPDATE_APPROVE_STATUS =\n \"api/EndorsementApplications/PostApproval/\";\nexport const COUNT_PENDING_ENDORSEMENT_APPLICATION_URL =\n \"api/EndorsementApplications/countEAList\";\nexport const COUNT_PENDING_ENDORSEMENT_APPLICATION_MEMBERS_URL =\n \"api/Member/all/PEndorsement\";\nexport const COUNT_PENDING_DEDICATED_SPORT_SHOOTER_MEMBERS_URL =\n \"api/Member/all/PDSSMembers\";\nexport const COUNT_PENDING_ACTIVITY_MEMBERS_URL = \"api/Member/all/PActivity\";\nexport const COUNT_PENDING_ACTIVITY_URL = \"api/Activities/countA\";\nexport const COUNT_PENDING_DEDICATED_STATUS_URL = \"api/DedicatedStatus/countDS\";\nexport const COUNT_APPROVED_DEDICATED_HUNTER_URL =\n \"api/DedicatedStatus/countDHMembers\";\nexport const COUNT_APPROVED_DEDICATED_SPORT_SHOOTER_URL =\n \"api/DedicatedStatus/countDSSMembers\";\nexport const FILTER_BY_YEAR_URL = \"api/NationalRankings/FilterByYear/\";\nexport const FILTER_BY_ASSOCIATION_URL =\n \"api/NationalRankings/FilterByAssociation/\";\nexport const FILTER_BY_ACTIVITYTYPE_URL =\n \"api/NationalRankings/FilterByActivityType/\";\nexport const FILTER_BY_FIREARM_URL =\n \"api/NationalRankings/FilterByFirearmType/\";\nexport const FILTER_NATIONAL_RANKING_URL =\n \"api/NationalRankings/FilterRankings/\";\nexport const COUNT_DSS_MEMNBERS = \"api/DedicatedStatus/countDSSMembers\";\nexport const COUNT_TOTAL_MEMBERS_URL = \"api/Member/all/MemberNumber\";\nexport const GET_ENDORSEMENT_CERTIFICATE_URL =\n \"api/EndorsementApplications/GetCertificateDetails/\";\nexport const UPLOAD_PROFILE_PICTURE =\n \"api/MemberProfilePictures/addProfilePicture\";\nexport const EDIT_PROFILE_PICTURE =\n \"api/MemberProfilePictures/editProfilePicture/\";\nexport const GET_MEMBER_PP_ID_URL = \"api/MemberProfilePictures/getMemId/\";\nexport const GOSA_HEADER = \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1OGUzMTY1OS0zNjk2LTRhMDUtOWRjMS0wYzhjMTdiNjIzOWYiLCJlbWFpbCI6ImluZm9AbmFyZm8uY28uemEiLCJqdGkiOiIzZWRhZjcwYS00YzIzLTRmMDktODFiNy1iYTZmYmM3NzQzZjciLCJnaXZlbl9uYW1lIjoiR09TQSIsImV4cCI6MjAxNTkzNTAyNSwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MjAyNi8iLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjUyMDI2LyJ9.K_ubEsfdERrAiwYyHXsHJOa48-YmqOLTV766hRuJTR8\";\nexport const PAYFAST_URL =\n \"https://www.payfast.co.za/eng/process?cmd=_paynow&receiver=12911829&item_name=NARFO&item_description=NARFO+Renewal+Of+Membership&amount=490.00&return_url=http%3A%2F%2Fgoogle.com&cancel_url=http%3A%2F%2Fwikipedia.org\";\nexport const UPLOAD_DEDICATED_STATUS_FILES = \"api/dedicatedstatus/uploadfiles/\";\nexport const POST_STATUS_BY_EMAIL_URL =\n \"api/EndorsementApplications/post/SendEmail/\";\nexport const GET_DEDICATEDTYPE = \"api/DedicatedStatus/DedicatedType/\";\nexport const GET_BRANCHES = \"api/Branches/all\";\nexport const GET_SECTION_LIST = \"api/SectionLookups\";\nexport const GET_ACTIVITY_TYPE_LIST = \"api/ActivityLookups\";\nexport const GET_FIREARMTYPE_LIST = \"api/FireArmTypeLookups\";\nexport const GET_OPTICS_LIST = \"api/OpticsLookups/get/\";\nexport const GET_ADMINS_LIST = \"api/admin/all\";\nexport const GET_SALESREP_LIST = \"api/admin/sales\";\nexport const GET_STORE_LIST = \"api/Stores\";\nexport const GET_ACTIVITYEVENT_LIST = \"api/ActivityEventLookups\";\nexport const GET_ACTIVITYDISC_LIST = \"api/ActivityDisciplines\";\nexport const GET_ALL_ADMIN_LIST = \"api/admin/all\";\nexport const POST_SECTION = \"api/SectionLookups\";\nexport const POST_ACTIVITYTYPE = \"api/ActivityLookups\";\nexport const POST_FIREARMTYPE = \"api/FireArmTypeLookups\";\nexport const POST_OPTICS = \"api/OpticsLookups/post\";\nexport const POST_ACTIVITYEVENT = \"api/ActivityEventLookups\";\nexport const POST_STORE = \"api/Stores\";\nexport const POST_ADMIN = \"api/admin/post/set\";\nexport const POST_SALES = \"api/admin/post/set/sales\";\nexport const POST_ACTDISCIPLINE = \"api/ActivityDisciplines\";\nexport const DELETE_SECTION = \"api/SectionLookups/delete/\";\nexport const DELETE_ACTIVITYTYPE = \"api/ActivityLookups/\";\nexport const DELETE_FIREARMTYPE = \"api/FireArmTypeLookups/\";\nexport const DELETE_OPTICS = \"api/OpticsLookups/delete/\";\nexport const DELETE_ADMINS = \"api/admin/\";\nexport const DELETE_ACTIVITYEVENT = \"api/ActivityEventLookups/\";\nexport const DELETE_STORE = \"api/Stores/delete/\";\nexport const DELETE_ACTDISCIPLINE = \"api/ActivityDisciplines/\";\nexport const ASSOCIATION_LIST = \"api/AssociationLookups\";\nexport const ACTIVITY_EVENT_LIST = \"api/ActivityEventLookups\";\nexport const ACT_UPLOAD = \"api/Activities\";\nexport const ChangePassword_URL = \"api/Member/reset/\";\nexport const GET_ALL_PENDING_MEMBERS_URL = \"api/Member/all\";\nexport const GET_ALL_RENEWAL_MEMEBRS_URL = \"api/Member/all\";\nexport const APPROVE_NEW_MEMBER_RENEWAL_URL = \"api/Member/ApproveNewMember/\";\nexport const APPROVE_ENDORSEMENT_APPLICATION =\n \"api/EndorsementApplications/Approval/\";\nexport const APPROVE_DS_APPLICATION = \"api/DedicatedStatus/approval/\";\nexport const GET_PENDING_DS = \"api/DedicatedStatus/pending/\";\nexport const NEW_DS_APPLICATION = \"api/DedicatedStatus/new/\";\nexport const SEND_EMAIL_NEW_DS_HUNTER_URL =\n \"api/AutomatedEmail/post/SendNewDSHunterEmail\";\nexport const SEND_EMAIL_NEW_DSSPORT_SHOOTER_URL =\n \"api/AutomatedEmail/post/SendNewDSSSEmail\";\nexport const SEND_EMAIL_RENEWAL_URL =\n \"api/AutomatedEmail/post/SendRenewalEmail\";\nexport const SEND_EMAIL_WELCOME_URL =\n \"api/AutomatedEmail/post/SendWelcomeEmail\";\nexport const SEND_EMAIL_ENDORSEMENT_APPROVAL_URL =\n \"api/AutomatedEmail/post/SendEndorsementEmail\";\nexport const SEND_EMAIL_LICENCE_REMINDER_URL =\n \"api/AutomatedEmail/post/SendLicenseReminderEmail\";\nexport const SEND_EMAIL_RESET_PASSWORD_URL = \"api/AutomatedEmail/post/new\";\nexport const SEND_EMAIL_REGISTRATION =\n \"api/AutomatedEmail/post/SendRegisterEmail\";\nexport const SEND_DEDICATED_REJ = \"api/AutomatedEmail/post/SendRejectDSEmail\";\n\nexport const GET_RANKING = \"api/member/rank/\";\n","export const UPDATE_RECENT_ACCOUNT_ENTRY = \"UPDATE_RECENT_ACCOUNT_ENTRY\";\nexport const UPDATE_GET_LOGGED_IN_MEMBER = \"UPDATE_GET_LOGGED_IN_MEMBER\";\n\nexport const UPDATE_ACTIVE_STATUS = \"UPDATE_ACTIVE_STATUS\";\nexport const CHECKOUT_DETAILS_ACTIONS = {\n UPDATE_PAY_FAST_DETAILS: \"UPDATE_PAY_FAST_DETAILS\",\n UPDATE_PAY_FAST_URL: \"UPDATE_PAY_FAST_URL\",\n UPDATE_MERCHANT_ID: \"UPDATE_MERCHANT_ID\",\n UPDATE_MERCHANT_KEY: \"UPDATE_MERCHANT_KEY\",\n UPDATE_AMOUNT: \"UPDATE_AMOUNT\",\n UPDATE_ITEM_NAME: \"UPDATE_ITEM_NAME\"\n};\n\nexport const UPDATE_CURRENT_ACCOUNT_VIEW_TAB =\n \"UPDATE_CURRENT_ACCOUNT_VIEW_TAB\";\n\nexport const UPDATE_CURRENT_ACTIVITY_TAB = \"UPDATE_CURRENT_ACTIVITY_TAB\";\nexport const UPDATE_ADD_ACTIVITY_DETAILS = \"UPDATE_ADD_ACTIVITY_DETAILS\";\nexport const UPDATE_USER_ACTIVITIES = \"UPDATE_USER_ACTIVITIES\";\nexport const UPDATE_ACTIVITY_TYPE_FILTER = \"UPDATE_ACTIVITY_TYPE_FILTER\";\nexport const UPDATE_ACTIVITY_DATE_FILTER = \"UPDATE_ACTIVITY_DATE_FILTER\";\nexport const TOGGLE_SHOW_FILTER_BAR = \"TOGGLE_SHOW_FILTER_BAR\";\nexport const SEARCH = \"SEARCH\";\nexport const TOGGLE_SHOW_ACTIVITY_FILTER_BAR =\n \"TOGGLE_SHOW_ACTIVITY_FILTER_BAR\";\n\nexport const ACTIVITY_ACTIONS = {\n UPDATE_ADD_ACTIVITY_DETAILS: \"UPDATE_ADD_ACTIVITY_DETAILS\",\n UPDATE_USER_ACTIVITIES: \"UPDATE_USER_ACTIVITIES\",\n UPDATE_ACTIVITY_TYPE_FILTER: \"UPDATE_ACTIVITY_TYPE_FILTER\",\n UPDATE_ACTIVITY_DATE_FILTER: \"UPDATE_ACTIVITY_DATE_FILTER\",\n TOGGLE_SHOW_ACTIVITY_FILTER_BAR: \"TOGGLE_SHOW_ACTIVITY_FILTER_BAR\",\n UPDATE_ADMIN_ACTIVITIES: \"UPDATE_ADMIN_ACTIVITIES\",\n UPDATE_ADMIN_VIEW_ACTIVITY_DETAILS: \"UPDATE_ADMIN_VIEW_ACTIVITY_DETAILS\",\n SET_ADMIN_VIEW_ACTIVITY_DETAILS: \"SET_ADMIN_VIEW_ACTIVITY_DETAILS\",\n UPDATE_ADMIN_ACTIVITY_TYPE_FILTER: \"UPDATE_ADMIN_ACTIVITY_TYPE_FILTER\",\n UPDATE_ADMIN_ACTIVITY_STATUS_FILTER: \"UPDATE_ADMIN_ACTIVITY_STATUS_FILTER\",\n TOGGLE_SHOW_ADMIN_ACTIVITY_FILTER_BAR: \"TOGGLE_SHOW_ADMIN_ACTIVITY_FILTER_BAR\"\n};\n\nexport const LMS_ACTIONS = {\n UPDATE_ASSESMENT_COMPLETION: \"UPDATE_ASSESMENT_COMPLETION\",\n UPDATE_COURSES: \"UPDATE_COURSES\",\n UPDATE_COURSE: \"UPDATE_COURSE\",\n UPDATE_IS_ADD_NEW_COURSE: \"UPDATE_IS_ADD_NEW_COURSE\",\n UPDATE_QUIZZES: \"UPDATE_QUIZZES\",\n UPDATE_CURRENT_LMS_TAB: \"UPDATE_CURRENT_LMS_TAB\",\n UPDATE_ASSESMENTS: \"UPDATE_ASSESMENTS\",\n UPDATE_ASSESMENT: \"UPDATE_ASSESMENT\",\n UPDATE_LESSONS: \"UPDATE_LESSONS\",\n UPDATE_LESSON: \"UPDATE_LESSON\",\n UPDATE_ADMIN_PAGE_ITERATOR: \"UPDATE_ADMIN_PAGE_ITERATOR\",\n UPDATE_CURRENT_QUESTION: \"UPDATE_CURRENT_QUESTION\",\n UPDATE_QUIZ: \"UPDATE_QUIZ\",\n UPDATE_OPTIONS: \"UPDATE_OPTIONS\",\n UPDATE_QUESTION_TYPE: \"UPDATE_QUESTION_TYPE\",\n UPDATE_SELECTED_ANSWER: \"UPDATE_SELECTED_ANSWER\",\n UPDATE_CURRENT_QUIZ_INDEX: \"UPDATE_CURRENT_QUIZ_INDEX\",\n UPDATE_SCORE: \"UPDATE_SCORE\",\n UPDATE_NEXT: \"UPDATE_NEXT\",\n UPDATE_PREVIOUS: \"UPDATE_PREVIOUS\",\n UPDATE_SECTION_TITLE: \"UPDATE_SECTION_TITLE\",\n UPDATE_RESULTS_RECORD: \"UPDATE_RESULTS_RECORD\",\n UPDATE_MEMBER_COURSES: \"UPDATE_MEMBER_COURSES\",\n UPDATE_QUIZ_COMPLETION: \"UPDATE_QUIZ_COMPLETION\",\n UPDATE_CURRENT_ASSESSMENT_TAB: \"UPDATE_CURRENT_ASSESSMENT_TAB\",\n UPDATE_CERTIFICATES: \"UPDATE_CERTIFICATES\",\n UPDATE_COURSE_MODULE_NAME: \"UPDATE_COURSE_MODULE_NAME\",\n TRACK_CURRENT_MODULE_ID: \"TRACK_CURRENT_MODULE_ID\",\n};\n\nexport const ENDORSEMENT_ACTIONS = {\n UPDATE_CURRENT_ENDORSEMENT_TAB: \"UPDATE_CURRENT_ENDORSEMENT_TAB\",\n UPDATE_ADMIN_ENDORSEMENT: \"UPDATE_ADMIN_ENDORSEMENT\",\n UPDATE_ADD_ENDORSEMENT_DETAILS: \"UPDATE_ADD_ENDORSEMENT_DETAILS\",\n UPDATE_ENDORSEMENT_DATE_FILTER: \"UPDATE_ENDORSEMENT_DATE_FILTER\",\n UPDATE_ENDORSEMENT_TYPE_FILTER: \"UPDATE_ENDORSEMENT_TYPE_FILTER\",\n UPDATE_USER_ENDORSEMENT: \"UPDATE_USER_ENDORSEMENT\",\n UPDATE_ENDORSEMENT: \"UPDATE_CURRENT_ADMIN_ENDORSEMENT_TAB\",\n UPDATE_A_USER_ENDORSEMENT: \"UPDATE_ADMIN_ENDORSEMENT\",\n UPDATE_A_ENDORSEMENT_LIST: \"UPDATE_ENDORSEMENT_LIST\",\n UPDATE_ADMIN_ADD_ENDORSEMENT: \"UPDATE_ADD_ENDORSEMENT_DETAILS\",\n UPDATE_CURRENT_ADMIN_ENDORSEMENT_TAB: \"UPDATE_CURRENT_ADMIN_ENDORSEMENT_TAB\",\n UPDATE_APPLICATION: \"UPDATE_APPLICATION\",\n UPDATE_APPLICATIONS: \"UPDATE_APPLICATIONS\",\n UPDATE_CURRENT_PAGE: \"UPDATE_CURRENT_PAGE\",\n UPDATE_CERTIFICATE: \"UPDATE_CERTIFICATE\",\n RESET_APPLICATION: \"RESET_APPLICATION\"\n};\n\nexport const DASHBOARD_ACTIONS = {\n UPDATE_DS_APPLICATIONS: \"UPDATE_DS_APPLICATIONS\",\n UPDATE_ACTIVITY_OBJECT: \"UPDATE_ACTIVITY_OBJECT\",\n UPDATE_PENDING: \"UPDATE_PENDING\",\n UPDATE_TOTAL_MEMBERS: \"UPDATE_TOTAL_MEMBERS\",\n UPDATE_PENDINGS: \"UPDATE_PENDINGS\",\n GET_ACTIVITIES: \"GET_ACTIVITIES\",\n UPDATE_A_PENDINGS: \"UPDATE_A_PENDINGS\",\n UPDATE_DS_PENDINGS: \"UPDATE_DS_PENDINGS\",\n UPDATE_AE_PENDINGS: \"UPDATE_AE_PENDINGS\",\n UPDATE_DH_MEMBERS: \"UPDATE_DH_MEMBERS\",\n UPDATE_DSS_MEMBERS: \"UPDATE_DSS_MEMBERS\",\n UPDATE_PENDING_MEMBERS: \"UPDATE_PENDING_MEMBERS\",\n UPDATE_RENEWAL_MEMBERS: \"UPDATE_RENEWAL_MEMBERS\",\n UPDATE_TOTAL_RENEWALS: \"UPDATE_TOTAL_RENEWALS\",\n UPDATE_TOTA_NEW_MEMBERS: \"UPDATE_TOTA_NEW_MEMBERS\",\n GET_ALL_PENDING_MEMBERS_URL: \"GET_ALL_PENDING_MEMBERS_URL\",\n GET_ALL_RENEWAL_MEMEBRS_URL: \"GET_ALL_RENEWAL_MEMEBRS_URL\",\n UPDATE_PENDING_ENDORSEMENTS: \"UPDATE_PENDING_ENDORSEMENTS\",\n GET_ALL_ENDORSEMENTS_URL: \"GET_ALL_ENDORSEMENTS_URL\"\n};\nexport const CHANGE_DOCUMENT_TYPE = \"CHANGE_DOCUMENT_TYPE\"\nexport const UPDATE_DOWNLOADS = \"UPDATE_DOWNLOADS\";\nexport const GET_LOYALTY_DAYS = \"GET_LOYALTY_DAYS\";\nexport const UPDATE_SIGNUP_DETAILS = \"UPDATE_SIGNUP_DETAILS\";\nexport const UPDATE_SIGNUP_DETAILS_FROM_DB = \"UPDATE_SIGNUP_DETAILS_FROM_DB\";\nexport const UPDATE_LOGIN_DETAILS = \"UPDATE_LOGIN_DETAILS\";\nexport const UPDATE_RESET_DETAILS = \"UPDATE_RESET_DETAILS\";\nexport const UPDATE_USER_DETAILS = \"UPDATE_USER_DETAILS\";\nexport const MEMBER_PAYMENT_ADD = \"MEMBER_PAYMENT_ADD\";\nexport const UPDATE_MEMBER_VIEW = \"UPDATE_MEMBER_VIEW\";\nexport const UPDATE_MEMBER_VIEW_LIST = \"UPDATE_MEMBER_VIEW_LIST\";\nexport const UPDATE_CURRENT_MEMBER_TAB = \"UPDATE_CURRENT_MEMBER_TAB\";\nexport const UPDATE_ADD_MEMBER_VIEW_DETAILS = \"UPDATE_ADD_MEMBER_VIEW_DETAILS\";\nexport const UPDATE_MEMBER_VIEW_ACTIVITIES = \"UPDATE_MEMBER_VIEW_ACTIVITIES\";\nexport const UPDATE_MEMBER_VIEW_ACTIVITY_TYPE_FILTER =\n \"UPDATE_MEMBER_VIEW_ACTIVITY_TYPE_FILTER\";\nexport const UPDATE_MEMBER_VIEW_ACTIVITY_DATE_FILTER =\n \"UPDATE_MEMBER_VIEW_ACTIVITY_DATE_FILTER\";\nexport const TOGGLE_MEMBER_VIEW_SHOW_ACTIVITY_FILTER_BAR =\n \"TOGGLE_MEMBER_VIEW_SHOW_ACTIVITY_FILTER_BAR\";\nexport const UPDATE_VIEW_LICENCE = \"UPDATE_LICENCE\";\nexport const UPDATE_VIEW_LICENCE_LIST = \"UPDATE_LICENCE_LIST\";\nexport const UPDATE_REP_NUM = \"UPDATE_REP_NUM\";\nexport const ON_COMMISSION_REC_UPDATE = \"ON_COMMISSION_REC_UPDATE\";\nexport const BANKING_DETAILS_UPDATE = \"BANKING_DETAILS_UPDATE\";\nexport const UPDATE_COMMISSION_TAB = \"UPDATE_COMMISSION_TAB\";\nexport const MONTHLY_COMMISSION = \"MONTHLY_COMMISSION\";\nexport const UPDATE_COMMISSION_CATEGORY = \"UPDATE_COMMISSION_CATEGORY\"\nexport const UPDATE_LICENCE = \"UPDATE_LICENCE\";\nexport const UPDATE_LICENCE_LIST = \"UPDATE_LICENCE_LIST\";\nexport const UPDATE_CURRENT_LICENCE_TAB = \"UPDATE_CURRENT_LICENCE_TAB\";\nexport const DELETE_LICENCE = \"DELETE_LICENCE\";\nexport const GET_BASE64_IMAGES = \"GET_BASE64_IMAGES\";\nexport const IS_PARTNER_UPDATE = \"IS_PARTNER_UPDATE\";\nexport const UPDATE_BANKING_DETAILS_VIEW = \"UPDATE_BANKING_DETAILS_VIEW\";\nexport const BANKING_DETAILS_EDIT = \"BANKING_DETAILS_EDIT\";\nexport const UPDATE_MEMBERS_AREA = \"UPDATE_MEMBERS_AREA\";\nexport const CHANGE_ENDORSEMENT_PURPOSE = \"CHANGE_ENDORSEMENT_PURPOSE\";\nexport const UPDATE_ADMIN_PORTAL = \"UPDATE_ADMIN_PORTAL\";\n\nexport const UPDATE_DEDICATED_STATUS = \"UPDATE_DEDICATED_STATUS\";\nexport const REJECT_DS_TYPE = \"REJECT_DS_TYPE\";\nexport const MEM_VIEW_ACCT_DET = \"MEM_VIEW_ACCT_DET\";\nexport const UPDATE_CONTACT_US_DETAILS = \"UPDATE_CONTACT_US_DETAILS\";\nexport const UPDATE_NEWSFEED = \"UPDATE_NEWS_FEED\";\nexport const UPDATE_LOYALTY_DAYS_TAB = \"UPDATE_LOYALTY_DAYS_TAB\";\nexport const GET_MEM_LOYALTY_RECORD = \"GET_MEM_LOYALTY_RECORD\";\nexport const GET_LOYALTY_DAYS_ARRAY = \"GET_LOYALTY_DAYS_ARRAY\";\nexport const UPDATE_CURRENT_PAGE = \"UPDATE_CURRENT_PAGE\";\nexport const UPDATE_ACCOUNT = \"UPDATE_ACCOUNT\";\nexport const UPDATE_ACCOUNT_LIST = \"UPDATE_ACCOUNT_LIST\";\nexport const UPDATE_MAIN_DETAILS = \"UPDATE_MAIN_DETAILS\";\nexport const TOGGLE_SHOW_ADMIN_HAMBURGER = \"TOGGLE_SHOW_ADMIN_HAMBURGER\";\nexport const TOGGLE_HAMBURGER = \"TOGGLE_HAMBURGER\";\nexport const HANDLE_MEMBER_PAGE_TOGGLE = \"HANDLE_MEMBER_PAGE_TOGGLE\";\nexport const UPDATE_ARTICLES = \"UPDATE_ARTICLES\";\nexport const UPDATE_ARTICLE = \"UPDATE_ARTICLE\";\nexport const UPDATE_NOTIFICATIONS = \"UPDATE_NOTIFICATIONS\";\nexport const UPDATE_NOTIFICATION = \"UPDATE_NOTIFICATION\";\nexport const UPDATE_MEMBER_STATE = \"UPDATE_MEMBER_STATE\";\nexport const UPDATE_MEMBER_DETAILS = \"UPDATE_MEMBER_DETAILS\";\nexport const UPDATE_MEMBER_DETAILS_2 = \"UPDATE_MEMBER_DETAILS_2\";\nexport const UPDATE_MEMBER_CITY = \"UPDATE_MEMBER_CITY\";\nexport const UPDATE_MEMBER_DETAILS_LIST = \"UPDATE_MEMBER_DETAILS_LIST\";\nexport const UPDATE_APPLICATION_POST = \"UPDATE_APPLICATION_POST\";\nexport const UPDATE_CURRENT_ADMIN_ACTIVITY_TAB =\n \"UPDATE_CURRENT_ADMIN_ACTIVITY_TAB\";\nexport const UPDATE_ACTIVITY_PARAMETERS = \"UPDATE_ACTIVITY_PARAMETERS\";\nexport const GET_MEMBER_PROFILE_PICTURE = \"GET_MEMBER_PROFILE_PICTURE\";\nexport const UPDATE_MEMBER_PROFILE_PICTURE = \"UPDATE_MEMBER_PROFILE_PICTURE\";\nexport const MEMBER_PP_RECORD_EXISTS = \"MEMBER_PP_RECORD_EXISTS\";\nexport const RESET_MEMBERS_VIEWED_ACTIVITY = \"RESET_MEMBERS_VIEWED_ACTIVITY\";\nexport const UPDATE_FILES_TO_UPLOAD = \"UPDATE_FILES_TO_UPLOAD\";\nexport const UPDATE_FILES_TO_UPLOAD_RESET = \"UPDATE_FILES_TO_UPLOAD_RESET\";\nexport const UPDATE_CURRENT_ADMIN_ACTIVITY_TAB2 =\n \"UPDATE_CURRENT_ADMIN_ACTIVITY_TAB\";\nexport const UPDATE_NATIONAL_RANK = \"UPDATE_NATIONAL_RANK\";\nexport const UPDATE_NATIONAL_RANK_LIST = \"UPDATE_NATIONAL_RANK_LIST\";\nexport const UPDATE_RANK_BY_YEAR = \"UPDATE_RANK_BY_YEAR\";\nexport const UPDATE_RANK_BY_ACTIVITY = \"UPDATE_RANK_BY_ACTIVITY\";\nexport const UPDATE_RANK_BY_FIREARMTYPE = \"UPDATE_RANK_BY_FIREARMTYPE\";\nexport const UPDATE_RANK_BY_ASSOCIATION = \"UPDATE_RANK_BY_ASSOCIATION\";\nexport const UPDATE_REG_SUBMIT_ERROR_MESSAGE =\n \"UPDATE_REG_SUBMIT_ERROR_MESSAGE\";\nexport const UPDATE_OPTIONS = \"UPDATE_OPTIONS\";\nexport const REDIRECT_TO_DS_LIST = \"REDIRECT_TO_DS_LIST\";\nexport const APPROVED_MEMBER_ACTIVITY = \"APPROVED_MEMBER_ACTIVITY\";\nexport const UPDATE_VALIDATE_SECTION = \"UPDATE_VALIDATE_SECTION\";\nexport const UPDATE_VALIDATE__APPLICATION_TYPE = 'UPDATE_VALIDATE__APPLICATION_TYPE';\nexport const UPDATE_SELECTED_ACTIVITY_DESCRIPTION = 'UPDATE_SELECTED_ACTIVITY_DESCRIPTION';\n\n/**/\nexport const UPDATE_ABOUT_US_CONTENT = 'UPDATE_ABOUT_US_CONTENT';\nexport const UPDATE_LANDING_PAGE_CONTENT = 'UPDATE_LANDING_PAGE_CONTENT';\nexport const UPDATE_LOGIN_PAGE_TOGGLER = 'UPDATE_LOGIN_PAGE_TOGGLER';\nexport const UPDATE_FIREARM_OWNERS_CONTENT = 'UPDATE_FIREARM_OWNERS_CONTENT';\nexport const UPDATE_SPORT_SHOOTING_CONTENT = 'UPDATE_SPORT_SHOOTING_CONTENT';\nexport const UPDATE_HUNTING_CONTENT = 'UPDATE_HUNTING_CONTENT';\nexport const UPDATE_NEWS_ID = 'UPDATE_NEWS_ID';\nexport const UPDATE_PAGE_ONE = 'UPDATE_PAGE_ONE';\n/**/\n","export const styles = theme => ({\n root: {\n width: \"100%\",\n flexGrow: 1,\n borderBottom: \"1px solid #8c8b8a\"\n },\n grow: {\n flexGrow: 1\n },\n title: {\n fontWeight: \"bold\",\n marginLeft: \"5px\",\n marginRight: \"5px\"\n }\n});\n\nexport const genericImageHeaderStyles = {\n root: {\n display: \"flex\",\n flexDirection: \"row\",\n height: 120,\n margin: 10\n },\n button: {\n margin: 10,\n padding: 10,\n width: 100,\n height: 100,\n backgroundColor: \"white\",\n border: \"2px solid black\",\n borderRadius: 50\n },\n rightContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: 2,\n paddingLeft: 30\n },\n grow: {\n flex: 1\n },\n text: {\n paddingLeft: 20,\n paddingBottom: 5\n },\n title: {\n padding: 10\n }\n};\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { Typography, Toolbar, IconButton } from \"@material-ui/core\";\nimport {\n Add as AddIcon,\n FilterList as FilterListIcon,\n Search as SearchIcon\n} from \"@material-ui/icons\";\nimport { styles } from \"./styles/styles\";\nimport DeleteForeverIcon from \"@material-ui/icons/DeleteForever\";\nimport { Link } from \"react-router-dom\";\nimport ArrowBack from \"@material-ui/icons/ArrowBackIos\";\nimport \"./styles/headerIcons.css\";\nimport { withRouter } from \"react-router-dom\";\nimport Icon from \"@material-ui/core/Icon\";\nimport editImage from \"./icon-images/edit-icon.png\";\nimport vid from \"./icon-images/vid.jpg\";\nimport doc from \"./icon-images/doc.jpg\";\nimport pic from \"./icon-images/pic.jpg\";\nimport bank from \"./icon-images/bank.jpg\";\nimport changePassword from \"./icon-images/JPRS-banner-icon.png\";\n\nclass GenericHeader extends Component {\n showBackButton = show => {\n return show ? (\n this.props.backFunction()}\n style={{ width: \"45px\", height: \"50px\" }}\n >\n \n \n ) : null;\n };\n showAddButton = show => {\n return show ? (\n this.props.addFunction()}>\n \n \n ) : null;\n };\n showRecyleButton = show => {\n return show ? (\n this.props.recycle()}\n style={{\n cursor: \"pointer\",\n paddingTop: \"10px\",\n paddingLeft: \"10px\",\n paddingRight: \"10px\"\n }}\n >\n Recycle\n \n ) : null;\n };\n showTotalLoyaltyDays = show => {\n return show ? (\n \n {`Total Days: ${this.props.totalDays}`}\n \n ) : null;\n };\n showMemberNumberDays = show => {\n return show ? (\n \n {`Total: ${this.props.totalMembers}`}\n \n ) : null;\n };\n showDeleteForeverButton = show => {\n return show ? (\n this.props.deleteForever()}\n style={{ cursor: \"pointer\" }}\n >\n delete_forever\n \n ) : null;\n };\n showFilledAddButton = show => {\n return show ? (\n this.props.addFunction()}>\n \n add_circle\n \n \n ) : null;\n };\n\n showAddButtonCircle = show => {\n return show ? (\n \n \n \n \n \n ) : null;\n };\n\n showChangePassword = show => {\n return show ? (\n \"C-P\" this.props.changePasswordFunction()} \n />\n ) : null;\n };\n\n showDeleteButton = show => {\n return show ? (\n this.props.DeleteFunction()}>\n \n \n ) : null;\n };\n\n showFilterButton = show => {\n return show ? (\n this.props.onFilterClick()}\n >\n \n \n ) : null;\n };\n showDownloadButton = (show, text) => {\n return show ? (\n this.props.downloadFunction()}\n style={{ cursor: \"pointer\" }}\n >\n {text ? text : \"\"}\n \n ) : null;\n };\n showDownloadButton2 = (show, text) => {\n return show ? (\n this.props.downloadFunction2()}\n style={{ cursor: \"pointer\" }}\n >\n {text ? text : \"\"}\n \n ) : null;\n };\n showFolderIcon = (show, text) => {\n return show ? (\n \"E-D\"\n this.props.uploadDocument()}\n />\n ) : null;\n };\n showBankIcon = (show, text) => {\n return show ? (\n \"E-D\"\n this.props.viewBankDetails()}\n />\n ) : null;\n };\n showVideoIcon = (show, text) => {\n return show ? (\n \"E-D\"\n this.props.uploadVideo()}\n />\n ) : null;\n };\n\n showSelectIcon = (show, text) => {\n return show ? (\n this.props.select()}\n style={{\n cursor: \"pointer\",\n paddingTop: \"10px\",\n paddingLeft: \"10px\",\n paddingRight: \"10px\"\n }}\n >\n Select\n \n ) : null;\n };\n\n showTrashIcon = (show, text) => {\n return show ? (\n this.props.trashed()}\n style={{\n cursor: \"pointer\",\n paddingTop: \"10px\",\n paddingLeft: \"10px\",\n paddingRight: \"10px\"\n }}\n >\n Trash\n \n ) : null;\n };\n\n showDeleteIcon = (show, text) => {\n return show ? (\n this.props.delete()}\n style={{\n cursor: \"pointer\",\n paddingTop: \"10px\",\n paddingLeft: \"10px\",\n paddingRight: \"10px\"\n }}\n >\n Delete\n \n ) : null;\n };\n\n showUndo = (show, text) => {\n return show ? (\n this.props.undo()}\n style={{ cursor: \"pointer\" }}\n >\n Undo\n \n ) : null;\n };\n\n showImageIcon = (show, text) => {\n return show ? (\n \"E-D\"\n this.props.uploadPicture()}\n />\n ) : null;\n };\n showSearchButton = show => {\n return show ? (\n this.props.searchFunction()}>\n \n \n ) : null;\n };\n showUploadButton = show => {\n return show ? (\n this.props.uploadFunction()}\n style={{ cursor: \"pointer\" }}\n >\n publish\n \n ) : null;\n };\n showEditButton = show => {\n return show ? (\n \"E-D\"\n this.props.editFunction()} \n />\n ) : null;\n };\n\n showEditMemberButton = show => {\n return show ? (\n this.props.editFunction()}>\n \n edit\n \n \n\n ) : null;\n };\n\n showTimelineButton = show => {\n return show ? (\n this.props.timelineFunction()}>\n timeline\n \n ) : null;\n };\n render() {\n const { classes } = this.props;\n return (\n
\n \n \n {this.showBackButton(this.props.showBackButton)}\n \n {this.props.title}\n \n
\n {this.showDownloadButton(\n this.props.showDownloadButton,\n this.props.text\n )}\n {this.showDownloadButton2(\n this.props.showDownloadButton2,\n this.props.text2\n )}\n {this.showTrashIcon(this.props.showTrashIcon)}\n {this.showFilterButton(this.props.showFilterButton)}\n {this.showAddButton(this.props.showAddButton)}\n {this.showAddButtonCircle(this.props.showAddButtonCircle)}\n {this.showFolderIcon(this.props.showFolderIcon)}\n {this.showVideoIcon(this.props.showVideoIcon)}\n {this.showUploadButton(this.props.showUploadButton)}\n {this.showSelectIcon(this.props.showSelectIcon)}\n {this.showUndo(this.props.showUndo)}\n {this.showDeleteIcon(this.props.showDeleteIcon)}\n {this.showImageIcon(this.props.showImageIcon)}\n {this.showTotalLoyaltyDays(this.props.showTotalLoyaltyDays)}\n {this.showMemberNumberDays(this.props.showMemberNumberDays)}\n {this.showChangePassword(this.props.showChangePassword)}\n {this.showBankIcon(this.props.showBankIcon)}\n {this.showSearchButton(this.props.showSearchButton)}\n {this.showEditButton(this.props.showEditButton)}\n {this.showTimelineButton(this.props.showTimelineButton)}\n {this.showEditMemberButton(this.props.showEditMemberButton)}\n {this.showDeleteButton(this.props.showDeleteButton)}\n {this.showRecyleButton(this.props.showRecyleButton)}\n {this.showDeleteForeverButton(this.props.showDeleteForeverButton)}\n {this.showFilledAddButton(this.props.showFilledAddButton)}\n \n \n {!this.props.subHeader && }\n\n
\n );\n }\n}\n\nGenericHeader.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nexport default withStyles(styles)(withRouter(GenericHeader));\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport DownloadIcon from \"@material-ui/icons/Delete\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport axios from \"axios\";\n\nimport {\n BASE,\n GET_DOWNLOADS_DELETE,\n GET_DOWNLOADS_URL\n} from \"../../API/APIendpoint\";\nimport request from \"superagent\";\n\nclass AdminDownloads extends Component {\n state = {\n dense: false,\n secondary: true,\n id: this.props.id\n };\n DeleteRecord = () => {\n request\n .delete(BASE + GET_DOWNLOADS_DELETE + this.state.id)\n .then(res => {\n if (res.statusCode === 200) {\n this.fetchdownloadData();\n }\n });\n };\n\n fetchdownloadData = () => {\n axios.get(BASE + GET_DOWNLOADS_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n this.props.onDownloadsChange(res.data, \"ListState\");\n });\n };\n render() {\n return (\n \n \n this.DeleteRecord()}>\n \n \n \n );\n }\n}\n\nAdminDownloads.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n downloads: state.downloadsReducer.downloads,\n viewPdf: state.downloadsReducer.viewPdf\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onDownloadsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_DOWNLOADS,\n varValue: value,\n varName: vname\n }),\n onViewPdfChange: payload =>\n dispatch({ type: actionTypes.UPDATE_DOWNLOADS, payload: payload })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(AdminDownloads);\n","import { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport Dropzone from \"react-dropzone\";\nimport { connect } from \"react-redux\";\nimport request from \"superagent\";\nimport { BASE, GET_DOWNLOADS_URL, GET_UPLOAD_NEW_DOWNLOADS } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport Downloads from \"./AdminDownloads\";\n\n\nconst styles = theme => ({\n dropzone: {\n height: 80,\n width: \"100%\",\n backgroundColor: \"#f2f2f2\",\n margin: 5\n },\n uploadbutton: {\n position: \"absolute\",\n right: 5\n },\n line: {\n marginTop: 50\n }\n});\n\nclass AdminDownloadList extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isLoaded: false,\n CallResult: [],\n show: false\n };\n }\n showDownloads() {\n this.setState({ show: !this.state.show });\n }\n\n showDropzone = style => {\n return this.state.show ? (\n
\n \n {({ getRootProps, getInputProps, isDragActive }) => {\n return (\n
\n \n {isDragActive ? (\n

Drop files here...

\n ) : (\n

\n Try dropping some files here, or click to select files to\n upload.\n

\n )}\n
\n );\n }}\n
\n
\n ) : null;\n };\n\n onDrop = files => {\n const req = request.post(BASE + GET_UPLOAD_NEW_DOWNLOADS);\n\n files.forEach(file => {\n req.attach(file.name, file).on(\"progress\", function(e) {\n });\n });\n\n req.then(res => {\n if (res.statusCode === 200) {\n this.fetchdownloadData();\n } else {\n }\n });\n };\n\n componentDidMount() {\n axios.get(BASE + GET_DOWNLOADS_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}\n }).then(res => {\n \n this.props.onDownloadsChange(res.data, \"ListState\");\n });\n }\n\n scrollToBottom = () => {\n this.messagesEnd.scrollIntoView({ behavior: \"smooth\" });\n };\n\n render() {\n const { classes } = this.props;\n return (\n
\n this.showDownloads()}\n searchFunction={() => alert(\"needs search functionality\")}\n />\n {this.showDropzone(classes.dropzone)}\n {this.props.downloads.ListState.map((name, index) => (\n \n ))}\n {\n this.messagesEnd = el;\n }}\n />\n
\n );\n }\n}\nAdminDownloadList.propTypes = {\n classes: PropTypes.object.isRequired\n};\nconst mapStateToProps = state => {\n return {\n downloads: state.downloadsReducer.downloads,\n viewPdf: state.downloadsReducer.viewPdf\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onDownloadsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_DOWNLOADS,\n varValue: value,\n varName: vname\n }),\n onViewPdfChange: payload =>\n dispatch({ type: actionTypes.UPDATE_DOWNLOADS, payload: payload })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(AdminDownloadList));\n","import React, { Component } from \"react\";\nimport {\n BASE,\n GET_DOWNLOADS_URL,\n} from \"../../API/APIendpoint\";\nimport { connect } from \"react-redux\";\nimport PropTypes from \"prop-types\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport axios from \"axios\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\n\nclass test extends Component {\n componentDidMount() {\n axios.get(BASE + GET_DOWNLOADS_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n this.props.onDownloadsChange(res.data, \"files\");\n });\n }\n render() {\n return (\n
\n \n \n \n

{this.props.downloadId}

\n

{this.props.id}

\n

{this.props.discr}

\n
\n
\n );\n }\n}\ntest.propTypes = {\n classes: PropTypes.object.isRequired\n};\nconst mapStateToProps = state => {\n return {\n document: state.documentReducer.document,\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onDownloadsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_DOWNLOADS,\n varValue: value,\n varName: vname\n }),\n onViewPdfChange: payload =>\n dispatch({ type: actionTypes.UPDATE_DOWNLOADS, payload: payload })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(test);","import React from \"react\";\nimport PropTypes from \"prop-types\";\nconst Message = ({ msg }) => {\n return (\n
\n Success! {msg}\n \n
\n );\n};\nMessage.propTypes = {\n msg: PropTypes.string.isRequired\n};\nexport default Message;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nconst Progress = ({ percentage }) => {\n return (\n
\n \n {percentage}%\n
\n
\n );\n};\nProgress.propTypes = {\n percentage: PropTypes.number.isRequired\n};\nexport default Progress;\n","import React from \"react\";\nimport { isMobile } from \"react-device-detect\";\nimport { FRONT } from \"../../../API/APIendpoint\";\nexport let fileUploadWidth = \"\";\nif (isMobile) {\n fileUploadWidth = \"documents-list-item col-8 p-4 mt-0 mb-0 ml-3\";\n} else {\n fileUploadWidth = \"documents-list-item col-11 p-4 mt-0 mb-0 ml-3\";\n}\nfunction DefaultOrSelectFiles(props) {\n return (\n
\n {props.file.map((list, Index) => {\n return (\n
\n {props.selectItems === true ? (\n
\n );\n}\nexport default DefaultOrSelectFiles;\n","import React from \"react\";\nimport { fileUploadWidth } from \"./DefaultOrSelectFiles\";\nfunction SelectFile(props) {\n return (\n
\n {props.deletedFiles.map((list, Index) => {\n return (\n
\n
\n );\n}\nexport default SelectFile;\n","import React, { Component } from \"react\";\nimport Message from \"./Message\";\nimport Progress from \"./Progress\";\nimport SelectFiles from \"./SelectFile\";\nimport DefaultOrSelectFiles from \"./DefaultOrSelectFiles\";\nimport Radio from \"@material-ui/core/Radio\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { connect } from \"react-redux\";\nclass UploadComponent extends Component {\n constructor(props) {\n super(props);\n }\n handleDocumentTypeChange = changeEvent => {\n changeEvent.preventDefault();\n this.props.onDocumentTypeChange(changeEvent.target.value, \"documentType\");\n };\n render() {\n return (\n
\n
\n {this.props.headerChange}\n {this.props.comInput(\"application/*\", this.props.fileUpload)}\n {this.props.isUploadSelected ? \n
\n
Choose Document Type
\n this.handleDocumentTypeChange(e)}\n value=\"General\"\n name=\"RadioButtonGeneral\"\n aria-label=\"General\"\n />\n General\n this.handleDocumentTypeChange(e)}\n value=\"Narfo\"\n name=\"RadioButtonNarfo\"\n aria-label=\"Narfo\"\n />\n Narfo\n this.handleDocumentTypeChange(e)}\n value=\"Dedicated Status\"\n name=\"RadioButtonDedicatedStatus\"\n aria-label=\"Dedicated Status\"\n />\n Dedicated Status\n this.handleDocumentTypeChange(e)}\n value=\"Hunting\"\n name=\"RadioButtonHunting\"\n aria-label=\"Hunting\"\n />\n Hunting\n this.handleDocumentTypeChange(e)}\n value=\"Member\"\n name=\"RadioButtonMember\"\n aria-label=\"Member\"\n />\n Member\n this.handleDocumentTypeChange(e)}\n value=\"Target\"\n name=\"RadioButtonTarget\"\n aria-label=\"Target\"\n />\n Target\n
: null\n }\n {this.props.message ? : null}\n {this.props.fileUploads ? (\n
\n
File Upload Progress
\n \n
\n ) : null}\n {this.props.comInput(\"video/*\", this.props.videoUpload)}\n {this.props.comInput(\"image/*\", this.props.pictureUpload)}\n {this.props.trash ? (\n
\n \n
\n ) : (\n
\n \n
\n )}\n
\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n documentType: state.fileUploaderReducer.documentType\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onDocumentTypeChange: (value, vname) =>\n dispatch({\n type: actionTypes.CHANGE_DOCUMENT_TYPE,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(UploadComponent);\n","import React from \"react\";\n\nfunction FilterButtons(props) {\n let unclickedButton =\n \"w3-button w3-white w3-hover-orange w3-block w3-border w3-border-black w3-round-large\";\n let clickedButton =\n \"w3-button w3-orange w3-hover-orange w3-block w3-border w3-border-orange w3-round-large\";\n let unclickedMainButton =\n \"w3-button w3-white w3-hover-blue w3-block w3-border w3-border-black w3-round-large\";\n let clickedMainButton =\n \"w3-button w3-blue w3-hover-blue w3-block w3-border w3-border-orange w3-round-large\";\n return (\n
\n
\n
\n
\n Filter By:\n
\n
\n \n General\n \n \n Narfo\n \n \n DedicatedStatus\n \n
\n
\n
\n \n Member\n \n \n Hunting\n \n \n SportShooting\n \n
\n
\n \n Reset All\n \n \n Apply Filter\n \n
\n
\n \n
\n );\n}\nexport default FilterButtons;\n","import React, { Component } from \"react\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport \"../Uploads.css\";\nimport axios from \"axios\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\nimport { BASE, FRONT } from \"../../../API/APIendpoint\";\nimport \"w3-css/w3.css\";\nimport UploadComponent from \"./UploadComponent\";\nimport FilterButtons from \"./FilterButtons\";\nimport { connect } from \"react-redux\";\nclass Uploads extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Value: \"Please provide a description\",\n loading: false,\n formData: new FormData(),\n fileSelectorHeader: false,\n selectItems: false,\n fileUploads: false,\n filter: false,\n undo: false,\n discriptionHeader: false,\n typeFilter: false,\n FileType: \"\",\n Name: \"\",\n sortType: \"\",\n uploadedFile: [],\n deletedFiles: [],\n trash: false,\n selectedFiles: [],\n selectedDeletedFile: [],\n filterButton: false,\n applyFilter: false,\n message: \"\",\n uploadPercentage: 0,\n fileObject: \"\",\n huntingButton: false,\n generalButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: false,\n resertAll: false,\n filtering: false\n };\n this.fileUpload = React.createRef();\n this.videoUpload = React.createRef();\n this.pictureUpload = React.createRef();\n this.showFileUpload = this.showFileUpload.bind(this);\n this.showVideoUpload = this.showVideoUpload.bind(this);\n this.showPictureUpload = this.showPictureUpload.bind(this);\n this.applyFilter = this.applyFilter.bind(this);\n }\n componentWillMount() {\n this.setState({ loading: true });\n axios\n .get(BASE + \"api/Downloads/all\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({ uploadedFile: response.data });\n axios\n .get(BASE + \"api/Downloads/allDeletedDownloads\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({ deletedFiles: response.data });\n this.setState({ loading: false });\n })\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n }\n checkItem(e) {\n const id = parseInt(e.target.value);\n if (e.target.checked && !this.state.selectedFiles.includes(id)) {\n const newSelected = this.state.selectedFiles.concat([id]);\n this.setState({\n selectedFiles: newSelected\n });\n }\n if (!e.target.checked && this.state.selectedFiles.includes(id)) {\n const newSelected = this.state.selectedFiles.filter(item => item !== id);\n this.setState({\n selectedFiles: newSelected\n });\n }\n }\n checkDeletedItem(e) {\n const id = parseInt(e.target.value);\n if (e.target.checked && !this.state.selectedDeletedFile.includes(id)) {\n const newSelected = this.state.selectedDeletedFile.concat([id]);\n this.setState({\n selectedDeletedFile: newSelected\n });\n }\n if (!e.target.checked && this.state.selectedDeletedFile.includes(id)) {\n const newSelected = this.state.selectedDeletedFile.filter(\n item => item !== id\n );\n this.setState({\n selectedDeletedFile: newSelected\n });\n }\n }\n handlePermanentDelete = async () => {\n await axios({\n url: BASE + \"api/downloads/permanentDelete\",\n data: this.state.selectedDeletedFile,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n this.setState({ loading: true });\n axios\n .get(BASE + \"api/Downloads/all\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({\n uploadedFile: response.data\n });\n axios\n .get(BASE + \"api/Downloads/allDeletedDownloads\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({\n deletedFiles: response.data,\n loading: false\n });\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n };\n handleDelete = () => {\n axios\n .post(BASE + \"api/Downloads/deleteFile\", this.state.selectedFiles,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n this.setState({ loading: true });\n axios\n .get(BASE + \"api/Downloads/all\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({\n uploadedFile: response.data,\n undo: true\n });\n axios\n .get(BASE + \"api/Downloads/allDeletedDownloads\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({\n deletedFiles: response.data,\n loading: false\n });\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n };\n handleUndo = async () => {\n await axios\n .post(BASE + \"api/Downloads/undoDeleteFile\", this.state.selectedFiles,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n this.setState({ loading: true });\n axios\n .get(BASE + \"api/Downloads/all\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({\n uploadedFile: response.data,\n loading: false,\n fileSelectorHeader: false,\n undo: false,\n selectItems: false\n });\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n })\n .catch();\n };\n handleRecycle = async () => {\n await axios\n .post(\n BASE + \"api/Downloads/undoDeleteFile\",\n this.state.selectedDeletedFile,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n )\n .then(res => {\n this.setState({ loading: true });\n axios\n .get(BASE + \"api/Downloads/allDeletedDownloads\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({\n deletedFiles: response.data\n });\n axios\n .get(BASE + \"api/Downloads/all\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({\n uploadedFile: response.data,\n loading: false\n });\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n };\n showFileUpload() {\n this.fileUpload.current.click();\n }\n showVideoUpload() {\n this.videoUpload.current.click();\n }\n showPictureUpload() {\n this.pictureUpload.current.click();\n }\n resertSelect(e) {\n e.preventDefault();\n this.setState({\n discriptionHeader: false,\n fileObject: \"\",\n Name: \"\"\n });\n }\n headerChange() {\n if (this.state.fileSelectorHeader === true) {\n if (this.state.undo === true) {\n return (\n {\n this.setState({\n fileSelectorHeader: false,\n undo: false,\n selectItems: false,\n selectedDeletedFile: []\n });\n }}\n showUndo\n undo={this.handleUndo}\n />\n );\n }\n if (this.state.selectItems === true) {\n return (\n {\n this.setState({\n fileSelectorHeader: false,\n selectItems: false,\n undo: false,\n selectedDeletedFile: []\n });\n }}\n delete={this.handleDelete}\n />\n );\n }\n if (this.state.trash === true) {\n return (\n {\n this.setState({\n fileSelectorHeader: false,\n trash: false,\n selectedDeletedFile: []\n });\n }}\n recycle={this.handleRecycle}\n deleteForever={this.handlePermanentDelete}\n />\n );\n }\n if (this.state.fileUploads === true) {\n return (\n
\n {\n this.setState({\n fileSelectorHeader: false,\n fileUploads: false,\n selectedDeletedFile: []\n });\n }}\n />\n
\n {this.state.discriptionHeader === true ? (\n
\n this.resertSelect(t)}\n >\n {\" \"}\n close{\" \"}\n
\n {this.state.Name !== \"\" ? (\n
{this.state.Name}
\n ) : null}\n
\n ) : null}\n this.setState({ Value: e.target.value })}\n className=\"textarea col-lg-12\"\n rows=\"3\"\n />\n this.onUploadButtonClick(e)}\n >\n Apply\n \n
\n
\n );\n }\n if (this.state.filter === true) {\n return (\n
\n {\n this.setState({\n fileSelectorHeader: false,\n selectedDeletedFile: []\n });\n }}\n onFilterClick={() =>\n this.setState({ filter: true, fileSelectorHeader: true })\n }\n uploadFunction={() =>\n this.setState({\n fileUploads: true,\n fileSelectorHeader: true\n })\n }\n select={() =>\n this.setState({ selectItems: true, fileSelectorHeader: true })\n }\n />\n \n
\n );\n }\n } else {\n return (\n {\n this.setState({\n trash: true,\n fileSelectorHeader: true\n });\n }}\n onFilterClick={() =>\n this.setState({\n filter: true,\n fileSelectorHeader: true,\n fileUploads: false,\n selectItems: false\n })\n }\n uploadFunction={() =>\n this.setState({\n fileUploads: true,\n fileSelectorHeader: true\n })\n }\n select={() =>\n this.setState({ selectItems: true, fileSelectorHeader: true })\n }\n />\n );\n }\n }\n onUploadButtonClick = async e => {\n e.preventDefault();\n if (this.state.fileObject !== \"\") {\n this.state.formData.append(\"fileName\", this.state.fileObject);\n this.state.formData.append(\"Description\", this.state.Value);\n this.state.formData.append(\"DocumentType\", this.props.documentType);\n this.state.formData.append(\"BaseURL\", FRONT);\n await axios({\n url: BASE + \"api/Downloads/uploadFiles/\",\n data: this.state.formData,\n method: \"post\",\n headers: {\n \"Content-type\": \"multipart/form-data\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n },\n onUploadProgress: progressEvent => {\n this.setState({\n uploadPercentage: parseInt(\n Math.round((progressEvent.loaded * 100) / progressEvent.total)\n )\n });\n setTimeout(() => this.setState({ uploadPercentage: 0 }), 5000);\n }\n }).then(res => {\n axios\n .get(BASE + \"api/Downloads/all\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({\n uploadedFile: response.data,\n Value: \"Please provide a description\",\n discriptionHeader: false,\n message: \"file uploaded\"\n });\n setTimeout(() => this.setState({ message: \"\" }), 4000);\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n this.setState({\n formData: new FormData()\n })\n }\n });\n });\n this.setState({\n formData: new FormData()\n })\n }\n };\n handleChange(e) {\n e.preventDefault();\n let stringFile = e.target.value.split(\"\\\\\").pop();\n const file = e.target.files[0];\n this.setState({\n Name: stringFile.substring(0, stringFile.indexOf(\".\")),\n discriptionHeader: e.bubbles,\n fileObject: file\n });\n }\n resetFilterType = () => {\n this.setState({\n filtering: false,\n huntingButton: false,\n filter: false,\n documentType: \"\",\n generalButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: false\n });\n };\n generalDocumentFilter = () => {\n this.setState({\n documentType: \"General\",\n huntingButton: false,\n generalButton: true,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: false\n });\n }\n narfoDocumentFilter = () => {\n this.setState({\n documentType: \"Narfo\",\n huntingButton: false,\n generalButton: false,\n narfoButton: true,\n dsButton: false,\n memberButton: false,\n targetButton: false\n });\n }\n huntingDocumentFilter = () => {\n this.setState({\n documentType: \"Hunting\",\n huntingButton: true,\n generalButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: false\n });\n }\n dsDocumentFilter = () => {\n this.setState({\n documentType: \"Dedicated Status\",\n huntingButton: false,\n generalButton: false,\n narfoButton: false,\n dsButton: true,\n memberButton: false,\n targetButton: false\n });\n }\n memberDocumentFilter = () => {\n this.setState({\n documentType: \"Member\",\n huntingButton: false,\n generalButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: true,\n targetButton: false\n });\n }\n targetDocumentFilter = () => {\n this.setState({\n documentType: \"Target\",\n huntingButton: false,\n generalButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: true\n });\n }\n resertAll = () => {\n this.setState({ loading: true });\n axios\n .get(BASE + \"api/Downloads/all\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({\n uploadedFile: response.data,\n loading: false,\n fileSelectorHeader: false,\n filter: false,\n applyFilter: false,\n typeFilter: false,\n filterButton: false\n });\n })\n .catch(err => {\n if (err.response.status !== null) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n };\n resetFilterType = () => {\n this.setState({\n typeFilter: false,\n filterButton: false\n });\n };\n applyFilter() {\n this.setState({ loading: true });\n this.setState({\n filtering: true,\n huntingButton: false,\n generalButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: false\n })\n axios({\n url: BASE + \"api/downloads/filterByDocumentType/\" + this.state.documentType,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n this.setState({\n uploadedFile: res.data,\n loading: false,\n filter: false,\n fileSelectorHeader: false\n })\n })\n this.resetFilterType();\n }\n render() {\n if (this.state.loading) {\n return (\n
\n
\n \n
\n
\n

Loading files. Please wait ...

\n
\n
\n );\n }\n const comInput = (accept, ref) => (\n this.handleChange(e)}\n ref={ref}\n />\n );\n return (\n
\n this.checkDeletedItem(e)}\n uploadedFile={this.state.uploadedFile}\n checkItem={e => this.checkItem(e)}\n />\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n documentType: state.fileUploaderReducer.documentType\n };\n};\nexport default connect(\n mapStateToProps,\n null\n)(Uploads);\n","export const CTRUE = \"true\";\nexport const CFALSE = \"false\";\nexport const STATUS = {\n Approved: \"Approved\",\n Pending: \"Pending\",\n Declined: \"Declined\",\n Terminated: \"Terminated\"\n};\n\nexport const memSTATUS = {\n Approved: 1,\n Pending: 2,\n Rejected: 3,\n Renewing: 4\n};\n\nexport const PAGE = {\n home: \"Home\",\n edit: \"Edit\",\n delete:\"Delete\"\n};\nexport const LINK =\n \"https://www.payfast.co.za/eng/process?cmd=_paynow&receiver=12911829&item_name=NARFO&item_description=NARFO+Renewal+Of+Membership&amount=490.00&return_url=http%3A%2F%2Fgoogle.com&cancel_url=http%3A%2F%2Fwikipedia.org\";\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport Card from \"@material-ui/core/Card\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport Typography from \"@material-ui/core/Typography\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { Link } from \"react-router-dom\";\nimport { styles } from \"./styles/styles\";\nimport dpicUser from \"./dProfile.jpg\";\nimport axios from \"axios\";\nimport { BASE } from \"../../API/APIendpoint\";\nclass MemberCard extends Component {\n constructor(props) {\n super(props);\n\n this.state = { addPadding: \"0px\", roles: [] };\n }\n componentWillMount() {\n axios.get(BASE + \"api/admin/getuserrole/\" + this.props.MemberArray.memNo, {\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => this.setState({ roles: res.data }))\n }\n componentDidMount() {\n if (this.props.firstLetter !== \"\") {\n this.setState({ addPadding: \"30px\" });\n }\n }\n handleSubmit = e => {\n this.props.onMemberViewChange(this.props.MemberArray);\n };\n\n render() {\n const { classes } = this.props;\n return (\n \n \n {Array.isArray(this.props.MemberArray) ||\n this.props.MemberArray.length === 0 ? (\n \"Please wait while members still loading...\"\n ) : (\n
    \n {\n this.handleSubmit(this.props.MemberArray);\n }}\n >\n
    \n
    \n
    {this.props.firstLetter}
    \n \"Gun\"\n
    \n
    \n
    \n {this.props.MemberArray.firstname\n ? `${this.props.MemberArray.firstname + \" \" + this.props.MemberArray.surname}`\n : null}\n
    \n \n Member Number: {this.props.MemberArray.memNo}\n \n
    \n Roles:\n {this.state.roles.map((roles, index) =>\n
    \n
    {roles.memType}{index !== this.state.roles.length -1 ? \" , \" : null}
    \n\n
    \n )}\n
    \n\n {/* TODO: show only when you wants to show dedicated statuses as\n well, uncomment */}\n {this.props.MemberArray.dedicatedStatus.map((status, i) => (\n
    \n \n {status.status} {status.dstype}
    \n
    \n
    \n ))}\n
    \n
    \n
    \n
\n \n )}\n \n \n );\n }\n}\n\nMemberCard.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n member: state.MemberViewReducer.MemberView,\n currLicenseTab: state.licensesReducer.currentLicenseTab\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentMemberTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n }),\n\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(MemberCard));\n","export const styles = {\n card: {\n minWidth: 500\n },\n root: {\n flex: 1,\n flexDirection: \"col\",\n borderBottom: \"1.5px solid #D8D8D8\"\n },\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20%\",\n paddingRight: 20,\n paddingLeft: 20,\n color: \"black\"\n },\n content: {\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\"\n }\n};\n\nexport const viewAllMemberStyles = {\n root: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"80vh\",\n overflow: \"auto\"\n }\n};\n","import React, { Component } from \"react\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport axios from \"axios\";\nimport {\n BASE,\n DELETE_ADMINS,\n GET_ADMINS_LIST,\n GET_ALL_MEMBERS_DEDICATED,\n GET_ALL_ADMIN_LIST,\n POST_ADMIN, POST_SALES\n} from \"../../API/APIendpoint\";\nimport { STATUS, PAGE } from \"../../store/constantFile/ConstFile\";\nimport { connect } from \"react-redux\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport MemberCard from \"../viewAllMember/MemberCard\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Select from 'react-select';\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport Radio from \"@material-ui/core/Radio\";\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { toast } from 'react-toastify';\nimport Input from \"@material-ui/core/Input\";\nimport { copyFileSync } from \"fs\";\ntoast.configure();\nconst styles = theme => ({\n input: {\n display: 'flex',\n padding: 0,\n },\n root: {\n height: \"100%\"\n },\n center: {\n margin: \"auto\",\n width: 50,\n padding: 10\n },\n aligner: {\n textAlign: \"center\"\n },\n\n container: {\n display: \"flex\",\n flexDirection: \"column\",\n align: \"center\"\n },\n\n footer: {\n display: \"comtent\",\n flexDirection: \"row\"\n },\n\n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n fullWidth: true,\n flex: \"1\",\n margin: \"5\",\n instantValidate: true\n },\n button: {\n margin: theme.spacing.unit,\n backgroundColor: \"#F5A623\",\n \"&:hover\": {\n backgroundColor: \"#FF0000\"\n },\n width: \"auto\",\n color: \"white\",\n marginLeft: \"1%\"\n },\n textField: {\n marginTop: \"1%\",\n marginLeft: \"30%\",\n marginRight: \"30%\",\n flex: 1,\n margin: 5\n },\n Drop: {\n marginTop: \"0.1%\",\n marginLeft: \"1%\",\n marginRight: \"5%\",\n flex: 1,\n margin: 1,\n width: \"100%\"\n },\n Head: {\n marginTop: \"1%\",\n marginLeft: \"1%\",\n marginRight: \"5%\",\n flex: 1,\n margin: 1,\n color: \"#000000\"\n }\n});\n\n\nfunction Option(props) {\n return (\n \n {props.children}\n \n );\n}\nconst components = {\n Option,\n};\n\nclass adminHandler extends Component {\n constructor(props) {\n super(props);\n this.state = {\n admins: [],\n pages: PAGE.home,\n memNo: \"\",\n Admin_List: [],\n Member_List: [],\n Selected: \"\",\n NotSelected: \"\",\n isClearable: true,\n isLoading: true,\n isSearchable: true,\n single: \"\",\n AdminId: \"\",\n DropDown: [{ value: \"\", label: \"\" }],\n AdminDropDown: [{ value: \"\", label: \"\" }],\n selectedOption: null,\n userIds: [],\n _oldSalesRepMemNo: \"\",\n _newSalesRepMemNo: \"\",\n _adminMemNo: \"\",\n _invalidAdminRemovalMsg: \"\",\n _invalidSalesRemovalMsg: \"\",\n _invalidEntryMsg: \"\",\n _partnerStoreID: \"\",\n _commisionPercentage: \"\",\n _invalidcommisionPercentageMsg: \"\",\n _commisionFrequency: \"\",\n _invalidcommisionFrequencyMsg: \"\",\n _bankName: \"\",\n _invalidBankMsg: \"\",\n _branchCode: \"\",\n _invalidBranchCodeMsg: \"\",\n _accNumber: \"\",\n _accType:\"\",\n _invalidAccNumberMsg: \"\",\n _invalidAccTypeMsg: \"\",\n _salesRepForPartner: \"\",\n _ivalidSalesRepForPartner: \"\",\n _store: \"\",\n _invalidStoreMsg: \"\",\n _storeAddress: \"\",\n _invalidStoreAddressMsg: \"\",\n _invalidAdminMsg: \"\",\n _isAddRepToPartnerSelected: false,\n _isAddParnterSelected: false,\n _salesRepReplaceSelected: true,\n _adminRemoveSelected: false,\n _memberToPartnerSelected: false,\n _adminSalesAddSelected: true,\n _salesRepAddSelected: false,\n _salesRepToPartner: false,\n _allStores: []\n };\n }\n _handleChange = name => value => {\n if (!(value.value === \"\")) {\n this.setState({\n [name]: value.value,\n });\n }\n\n };\n\n componentDidMount() {\n\tthis.refreshAPI();\n fetch(BASE + GET_ADMINS_LIST,{\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => res.json())\n .then(data => {\n let Admin_arr = [];\n data.map(V => (\n Admin_arr =\n [...Admin_arr, {\n value: V.adminId, label: V.memNo + \"-\" +\n V.memNoNavigation.firstname + \" \" +\n V.memNoNavigation.surname + \"-\" +\n V.memType\n }]\n ))\n this.setState({\n AdminDropDown: Admin_arr,\n Admin_List: data\n });\n });\n fetch(BASE + GET_ALL_MEMBERS_DEDICATED,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n })\n .then(res => res.json())\n .then(data => {\n let arr = [];\n data.map(V => (\n arr = [...arr, { value: V.memNo, label: V.memNo + \"-\" + V.firstname + \" \" + V.surname }]\n ))\n this.setState({\n DropDown: arr,\n Member_List: data\n });\n });\n axios({\n url: `${BASE}api/Stores`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res =>{\n this.setState({\n _allStores: res.data\n })\n })\n }\n DeleteKey = e => {\n this.setState({\n DelKey: [e.value]\n });\n this.props.onSectionChange(e.value, \"DeleteAdminKey\");\n };\n refreshAPI() {\n axios\n .get(BASE + GET_ALL_ADMIN_LIST, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n })\n .then(res => {\n this.setState({ admins: res.data });\n })\n .catch(function (error) {\n if (error.status === 400) {\n alert(error.response.data.message);\n }\n });\n }\n getColor(type) {\n switch (type) {\n case STATUS.Approved: {\n return \"#4BB543\";\n }\n case STATUS.Pending: {\n return \"#FFCC00\";\n }\n case STATUS.Declined: {\n return \"#CC3300\";\n }\n case STATUS.Terminated: {\n return \"#CC3300\";\n }\n default:\n }\n }\n handleMemberNumber = e => {\n this.setState({\n memNo: e.target.value\n });\n };\n handleAdminMember = () => {\n if (this.state.pages === PAGE.home) {\n this.setState({ pages: PAGE.edit });\n } else {\n this.setState({ pages: PAGE.home });\n }\n };\n\n handleAdminMemberDel = () => {\n if (this.state.pages === PAGE.home) {\n this.setState({ pages: PAGE.delete });\n } else {\n this.setState({ pages: PAGE.home });\n }\n this.componentDidMount();\n };\n\n finalSubmit() {\n if(!this.state.memNo) {\n this.setState({_invalidAdminMsg: \"Please select member\"})\n } else {\n axios({\n url: BASE + POST_ADMIN,\n data: {\n MemNo: this.state.memNo\n },\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n alert(res.data.message);\n this.refreshAPI();\n this.setState({ pages: PAGE.home });\n })\n .catch(function (error) {\n if (error.response.status === 400) {\n alert(error.response.data.message);\n }\n });\n }\n }\n addSubmit() {\n if(!this.state.memNo) {\n this.setState({_invalidAdminMsg: \"Please select member\"})\n } else {\n axios({\n url: BASE + POST_SALES,\n data: {\n MemNo: this.state.memNo\n },\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n alert(res.data.message);\n this.refreshAPI();\n this.setState({ pages: PAGE.home });\n })\n .catch(function (error) {\n if (error.response.status === 400) {\n alert(error.response.data.message);\n }\n });\n }\n }\n setDrop() {\n this.state.Member_List.map(V => (\n this.setState({\n DropDown: [{ value: V.memNo, label: V.memNo }]\n })\n ))\n }\n handleChange = selectedOption => {\n this.setState({\n memNo: selectedOption.value\n });\n };\n addToArray = (data) => {\n this.state.userIds.push(data)\n }\n replaceSalesRep = () => {\n axios({\n url: `${BASE}api/admin/replaceSalesRep/${this.state._oldSalesRepMemNo}/${this.state._newSalesRepMemNo}`,\n method: \"post\",\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n toast.success(res.data.message);\n this.refreshAPI();\n this.setState({ \n pages: PAGE.home,\n _oldSalesRepMemNo: \"\",\n _newSalesRepMemNo: \"\"\n });\n })\n }\n removeAdmin = () => {\n axios({\n url: `${BASE}api/admin/removeAdmin/${this.state._adminMemNo}`,\n method: \"post\",\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n toast.success(res.data.message);\n this.refreshAPI();\n this.setState({ \n pages: PAGE.home,\n _adminMemNo: \"\"\n });\n })\n }\n newPartner = () => {\n if(!this.state.memNo) {\n this.setState({_invalidAdminMsg: \"Please select member\"})\n } else {\n axios({\n url: `${BASE}api/admin/newParnter/${this.state._store}/${this.state._storeAddress}`,\n method: \"post\",\n data: {\n MemNo: this.state.memNo,\n Commision: this.state._commisionPercentage,\n Frequency: this.state._commisionFrequency,\n BankName: this.state._bankName,\n BranchCode: this.state._branchCode,\n AccountNo: this.state._accNumber,\n AccountType: this.state._accType\n },\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n toast.success(res.data.message);\n this.refreshAPI();\n this.setState({ \n pages: PAGE.home,\n _adminSalesAddSelected: true\n });\n })\n }\n }\n assignSalesRepToPartner = () => {\n axios({\n url: `${BASE}api/admin/assignSalesRepToPartner/${this.state._partnerStoreID}`,\n method: \"post\",\n data: {\n MemNo: this.state.memNo,\n Commision: this.state._commisionPercentage,\n Frequency: this.state._commisionFrequency,\n BankName: this.state._bankName,\n BranchCode: this.state._branchCode,\n AccountNo: this.state._accNumber,\n AccountType: this.state._accType\n },\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n toast.success(res.data.message);\n this.refreshAPI();\n this.setState({ \n pages: PAGE.home,\n _adminSalesAddSelected: true\n });\n })\n }\n addSalesRep = () => {\n axios({\n url: `${BASE}api/admin/post/set/sales2`,\n method: \"post\",\n data: {\n MemNo: this.state.memNo,\n MemType: \"Sales\",\n StoreID: this.state._partnerStoreID,\n Commision: this.state._commisionPercentage,\n Frequency: this.state._commisionFrequency,\n BankName: this.state._bankName,\n BranchCode: this.state._branchCode,\n AccountNo: this.state._accNumber,\n AccountType: this.state._accType\n },\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n toast.success(res.data.message);\n this.refreshAPI();\n this.setState({ \n pages: PAGE.home,\n _adminSalesAddSelected: true\n });\n })\n }\n checkSalesRepDeletion = e => {\n e.preventDefault();\n if(this.state._oldSalesRepMemNo === \"\")\n this.setState({_invalidSalesRemovalMsg: \"Please select Sales Rep to delete\"})\n if(this.state._newSalesRepMemNo === \"\")\n this.setState({_invalidEntryMsg: \"Please select Sales Rep to asigned\"})\n if(this.state._oldSalesRepMemNo !== \"\" && this.state._newSalesRepMemNo !== \"\" && this.state._oldSalesRepMemNo === this.state._newSalesRepMemNo)\n this.setState({_invalidEntryMsg: \"Cannot remove and asign same sales rep\"})\n if(this.state._oldSalesRepMemNo !== \"\" && this.state._newSalesRepMemNo !== \"\" && this.state._oldSalesRepMemNo !== this.state._newSalesRepMemNo)\n this.replaceSalesRep();\n }\n checkAdminDeletion = e => {\n e.preventDefault();\n if(this.state._adminMemNo === \"\")\n this.setState({_invalidAdminRemovalMsg: \"Please select Admin to remove\"})\n else\n this.removeAdmin();\n }\n checkMemberToPartnerAllocation = e => {\n e.preventDefault();\n console.log(this.state._partnerStoreID)\n if(!this.state._isAddParnterSelected) {\n if(this.state._store === \"\")\n this.setState({_invalidStoreMsg: \"Please enter partner name\"})\n if(this.state._storeAddress === \"\")\n this.setState({_invalidStoreAddressMsg: \"Please enter store address\"})\n }\n if(this.state._partnerStoreID === \"\")\n this.setState({_ivalidSalesRepForPartner: \"Please Select Partner to assign\"})\n if(this.state._salesRepForPartner === \"\" || this.state._salesRepForPartner === \"Select Sales Rep\")\n this.setState({_invalidSalesRepMsg: \"Please select Sales Rep to assign\"})\n if(this.state._commisionPercentage === \"\")\n this.setState({_invalidcommisionPercentageMsg: \"Please enter percentage\"})\n if(this.state._commisionFrequency === \"\")\n this.setState({_invalidcommisionFrequencyMsg: \"Please enter frequency\"})\n if(this.state._bankName === \"\")\n this.setState({_invalidBankMsg: \"Please enter bank name\"})\n if(this.state._branchCode === \"\")\n this.setState({_invalidBranchCodeMsg: \"Please enter branch code\"})\n if(this.state._accNumber === \"\")\n this.setState({_invalidAccNumberMsg: \"Please enter account number\"})\n if(this.state._accType === \"\")\n this.setState({_invalidAccTypeMsg: \"Please enter account type\"})\n if(!this.state._isAddParnterSelected && !this.state._salesRepAddSelected) {\n if(this.state._store !== \"\" || this.state._storeAddress !== \"\" ||\n this.state._commisionPercentage !== \"\" && this.state._commisionFrequency !== \"\" &&\n this.state._bankName !== \"\" && this.state._branchCode !== \"\" && this.state._accNumber !== \"\" && this.state._accType !== \"\")\n this.newPartner();\n } else if(this.state._salesRepAddSelected) {\n if(this.state._commisionPercentage !== \"\" && this.state._commisionFrequency !== \"\" &&\n this.state._bankName !== \"\" && this.state._branchCode !== \"\" && this.state._accNumber !== \"\" && this.state._accType !== \"\")\n this.addSalesRep();\n } else {\n if(this.state._commisionPercentage !== \"\" && this.state._commisionFrequency !== \"\" &&\n this.state._bankName !== \"\" && this.state._branchCode !== \"\" && this.state._accNumber !== \"\" && this.state._accType !== \"\")\n this.assignSalesRepToPartner();\n }\n }\n checkIsAdmin = () => {\n let _isPartnerRole = false;\n const _memAlTypes = this.state.Member_List.filter(element => element.memNo === this.state.memNo);\n _memAlTypes.forEach(item =>{\n if(item.memType === \"Partner\") {\n _isPartnerRole = true;\n }\n })\n if(!this.state.memNo) {\n this.setState({_invalidAdminMsg: \"Please select member\"})\n } else if(_isPartnerRole) {\n this.setState({_invalidAdminMsg: \"Member is already a Partner\"})\n } else {\n axios({\n url: `${BASE}api/admin/post/isAdmin2/${this.state.memNo}`,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n if(res.data.message){\n this.refreshAPI();\n this.setState({\n _adminSalesAddSelected: false\n })\n } else {\n this.setState({\n _invalidAdminMsg: \"Member must be an administrator\"\n })\n }\n })\n }\n }\n checkIsSales = () => {\n let _isSalesRole = false;\n const _memAlTypes = this.state.Member_List.filter(element => element.memNo === this.state.memNo);\n _memAlTypes.forEach(item =>{\n if(item.memType === \"Sales\") {\n _isSalesRole = true;\n }\n })\n if(!this.state.memNo) {\n this.setState({_invalidAdminMsg: \"Please select member\"})\n } else if(_isSalesRole) {\n this.setState({_invalidAdminMsg: \"Member is already a Sales Rep\"})\n } else {\n this.setState({\n _salesRepAddSelected: true,\n _adminSalesAddSelected: false\n })\n }\n }\n checkIsPartner = () => {\n if(!this.state.memNo) {\n this.setState({_invalidAdminMsg: \"Please select member\"})\n } else {\n axios({\n url: `${BASE}api/admin/post/isPartner/${this.state.memNo}`,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n if(res.data.message){\n this.refreshAPI();\n this.setState({\n _invalidAdminMsg: \"Member already assigned to Partner\"\n })\n } else {\n this.setState({\n _isAddRepToPartnerSelected: true,\n _isAddParnterSelected: true,\n _adminSalesAddSelected: false\n })\n }\n })\n }\n }\n render() {\n const { classes } = this.props;\n const selectStyles = {\n input: base => ({\n ...base,\n '& input': {\n font: 'inherit',\n },\n }),\n };\n const salesReps = this.state.Member_List.filter(element => element.memType == \"Sales\");\n const _admins = this.state.Member_List.filter(element => element.memType == \"Admin\");\n return (\n
\n {this.state.pages !== PAGE.home ? (\n {\n this.setState({ \n pages: PAGE.home\n });\n }}\n title=\"Admin/Sales Members\"\n showAddButton\n addFunction={() => this.handleAdminMember()}\n showDeleteButton\n DeleteFunction={() => this.handleAdminMemberDel()}\n />\n ) : (\n this.handleAdminMember()}\n showDeleteButton\n DeleteFunction={() => this.handleAdminMemberDel()}\n />\n )}\n {this.state.pages === PAGE.home ?\n Array.from(new Set(this.state.admins.map(a => a.memNo))).map(memNo => {\n return a.memNo === memNo).memNoNavigation} />\n }) : \n null}\n {this.state.pages === PAGE.edit && (\n
\n
\n {this.state._adminSalesAddSelected ?\n
\n
Enter Member Number
\n {\n this.setState({\n memNo: a.target.value,\n _invalidSalesRepMsg: \"\"\n });\n }}\n >\n \n {this.state.Member_List.map(item => \n \n )}\n \n
{this.state._invalidAdminMsg}
\n {\n this.finalSubmit();\n }}\n >\n Add New Admin\n \n {\n this.checkIsSales();\n }}\n >\n Add New Sales\n \n this.checkIsAdmin()}\n >\n Add New Partner\n \n this.checkIsPartner()}\n >\n Rep To Partner\n \n
: this.state._isAddRepToPartnerSelected ?\n
\n
Select Partner To Allocate In
\n {\n this.setState({\n _partnerStoreID: a.target.value,\n _invalidSalesRepMsg: \"\"\n });\n }}\n >\n \n {this.state._allStores.map(item => \n \n )}\n \n
{this.state._ivalidSalesRepForPartner}
\n
Enter Commision Percentage
\n {\n this.setState({\n _commisionPercentage: a.target.value\n });\n }}\n />\n
{this.state._invalidcommisionPercentageMsg}
\n
Enter Commision Frequency
\n {\n this.setState({\n _commisionFrequency: a.target.value,\n _invalidcommisionFrequencyMsg: \"\"\n });\n }}\n >\n \n \n \n \n
{this.state._invalidcommisionFrequencyMsg}
\n
Enter Bank Name
\n {\n this.setState({\n _bankName: a.target.value\n });\n }}\n />\n
{this.state._invalidBankMsg}
\n
Enter Branch Code
\n {\n this.setState({\n _branchCode: a.target.value\n });\n }}\n />\n
{this.state._invalidBranchCodeMsg}
\n
Enter Account Number
\n {\n this.setState({\n _accNumber: a.target.value\n });\n }}\n />\n
{this.state._invalidAccNumberMsg}
\n
Enter Account Type
\n {\n this.setState({\n _accType: a.target.value\n });\n }}\n />\n
{this.state._invalidAccTypeMsg}
\n
\n \n
\n
: this.state._salesRepAddSelected ?\n
\n
Select Partner To Allocate In
\n {\n this.setState({\n _partnerStoreID: a.target.value,\n _invalidSalesRepMsg: \"\"\n });\n }}\n >\n \n {this.state._allStores.map(item => \n \n )}\n \n
{this.state._ivalidSalesRepForPartner}
\n
Enter Commision Percentage
\n {\n this.setState({\n _commisionPercentage: a.target.value\n });\n }}\n />\n
{this.state._invalidcommisionPercentageMsg}
\n
Enter Commision Frequency
\n {\n this.setState({\n _commisionFrequency: a.target.value,\n _invalidcommisionFrequencyMsg: \"\"\n });\n }}\n >\n \n \n \n \n
{this.state._invalidcommisionFrequencyMsg}
\n
Enter Bank Name
\n {\n this.setState({\n _bankName: a.target.value\n });\n }}\n />\n
{this.state._invalidBankMsg}
\n
Enter Branch Code
\n {\n this.setState({\n _branchCode: a.target.value\n });\n }}\n />\n
{this.state._invalidBranchCodeMsg}
\n
Enter Account Number
\n {\n this.setState({\n _accNumber: a.target.value\n });\n }}\n />\n
{this.state._invalidAccNumberMsg}
\n
Enter Account Type
\n {\n this.setState({\n _accType: a.target.value\n });\n }}\n />\n
{this.state._invalidAccTypeMsg}
\n
\n \n
\n
:\n
\n
Enter Partner Name
\n {\n this.setState({\n _store: a.target.value\n });\n }}\n />\n
{this.state._invalidStoreMsg}
\n
Enter Partner Address
\n {\n this.setState({\n _storeAddress: a.target.value\n });\n }}\n />\n
{this.state._invalidStoreAddressMsg}
\n
Enter Commision Percentage
\n {\n this.setState({\n _commisionPercentage: a.target.value\n });\n }}\n />\n
{this.state._invalidcommisionPercentageMsg}
\n
Enter Commision Frequency
\n {\n this.setState({\n _commisionFrequency: a.target.value,\n _invalidcommisionFrequencyMsg: \"\"\n });\n }}\n >\n \n \n \n \n
{this.state._invalidcommisionFrequencyMsg}
\n
Enter Bank Name
\n {\n this.setState({\n _bankName: a.target.value\n });\n }}\n />\n
{this.state._invalidBankMsg}
\n
Enter Branch Code
\n {\n this.setState({\n _branchCode: a.target.value\n });\n }}\n />\n
{this.state._invalidBranchCodeMsg}
\n
Enter Account Number
\n {\n this.setState({\n _accNumber: a.target.value\n });\n }}\n />\n
{this.state._invalidAccNumberMsg}
\n
Enter Account Type
\n {\n this.setState({\n _accType: a.target.value\n });\n }}\n />\n
{this.state._invalidAccTypeMsg}
\n
\n \n
\n
\n }\n
\n
{this.state._invalidAdminRemovalMsg}
\n
\n )}\n {this.state.pages === PAGE.delete && (\n
\n
\n
Choose MemType To Remove
\n this.setState({_adminRemoveSelected: false, _salesRepReplaceSelected: true})}\n />\n Remove Sales Rep\n this.setState({_adminRemoveSelected: true, _salesRepReplaceSelected: false})}\n />\n Remove Sale Admin\n {this.state._adminRemoveSelected ? \n
\n
Admin To Be Removed
\n {\n this.setState({\n _adminMemNo: a.target.value,\n _invalidAdminRemovalMsg: \"\"\n });\n }}\n >\n \n {_admins.map(item => \n \n )}\n \n
{this.state._invalidAdminRemovalMsg}
\n
\n \n
\n
:\n
\n
Sales Rep To Be Removed
\n {\n this.setState({\n _oldSalesRepMemNo: a.target.value,\n _invalidSalesRemovalMsg: \"\"\n });\n }}\n >\n \n {salesReps.map(item => \n \n )}\n \n
{this.state._invalidSalesRemovalMsg}
\n
Sales Rep To Be Added
\n {\n this.setState({\n _newSalesRepMemNo: a.target.value,\n _invalidEntryMsg: \"\"\n });\n }}\n >\n \n {salesReps.map(item => \n \n )}\n \n
{this.state._invalidEntryMsg}
\n
\n \n
\n
\n }\n
\n
\n )}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails,\n Selections: state.DropDownReducer.Options\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onSectionChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_OPTIONS,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(adminHandler));\n","import React, { Component, Fragment } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport { Editor } from \"@tinymce/tinymce-react\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { BASE, ARTICLE_URL } from \"../../API/APIendpoint\";\nimport Axios from \"axios\";\nimport KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\nimport defPic from \"./NewsImage/pp6.jpg\";\n\nfunction handleChange(e) {\n this.setState({ content: e.target.getContent() });\n}\nfunction buttonClickSaveArticle() {\n Axios({\n url: BASE + ARTICLE_URL,\n data: {\n title: this.state.title,\n content: this.state.content\n },\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n this.setState({\n articles: res.data\n })\n .then(this.props.history.push(\"/News\")) \n });\n}\nclass AdminNewsPage extends Component {\n constructor(props) {\n super(props);\n this.state = {\n title: \"\",\n content: \"\",\n bgNews: defPic,\n formData: new FormData(),\n newsPicture: \"\"\n };\n this.showNewsPicture = this.showNewsPicture.bind(this);\n this.newsPicture = React.createRef();\n }\n linkToNews() {\n this.props.history.push(\"/News\");\n }\n showNewsPicture(e) {\n e.preventDefault();\n this.newsPicture.current.click();\n }\n pictureUpload(e) {\n e.preventDefault();\n const file = e.target.files[0];\n this.state.formData.append(\"fileName\", file);\n let reader = new FileReader();\n reader.onloadend = t => {\n this.setState({\n bgNews: t.target.result\n });\n };\n Axios({\n url: BASE + \"api/NewsArticles/uploadNewsPicture\",\n data: this.state.formData,\n method: \"post\",\n headers: {\n \"Content-type\": \"multipart/form-data\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {});\n reader.readAsDataURL(file);\n }\n render() {\n return (\n
\n this.pictureUpload(e)}\n ref={this.newsPicture}\n />\n
\n {\n this.linkToNews();\n }}\n >\n \n
\n \n
\n {\n this.setState({\n title: a.target.value\n });\n }}\n defaultValue=\"\"\n />\n
\n
\n \n Save\n \n
\n
\n
\n
\n \n \n Add Background\n
\n \n
\n \n
\n \n );\n }\n}\n\nAdminNewsPage.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n oneArticle: state.articlesReducer.article\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onArticleChange: newArticle =>\n dispatch({\n type: actionTypes.UPDATE_ARTICLE,\n article: newArticle\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(AdminNewsPage);\n","import KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\nimport { Editor } from \"@tinymce/tinymce-react\";\nimport Axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { ARTICLE_URL, BASE, NEWS_BY_ARTICLE_URL } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport defPic from \"./NewsImage/pp6.jpg\";\nimport \"./newsPicture.css\";\n\nclass EditNews extends Component {\n constructor(props) {\n super(props);\n this.state = {\n title: \"\",\n content: \"\",\n bgNews: defPic,\n index: this.props.match.params.no,\n formData: new FormData(),\n newsPicture: \"\"\n };\n this.handleChange = this.handleChange.bind(this);\n this.onTitleChange = this.onTitleChange.bind(this);\n this.showNewsPicture = this.showNewsPicture.bind(this);\n this.newsPicture = React.createRef();\n }\n componentDidMount() {\n this.setState({\n title: this.props.oneArticle[this.state.index].title,\n content: this.props.oneArticle[this.state.index].content\n });\n }\n pictureUpload(e) {\n e.preventDefault();\n let file = e.target.files[0];\n this.state.formData.append(\"fileName\", file);\n let reader = new FileReader();\n reader.onloadend = t => {\n this.setState({\n bgNews: t.target.result\n });\n };\n this.state.formData.append(\n \"NewsId\",\n this.props.oneArticle[this.state.index].newsArticleId\n );\n Axios({\n url: BASE + \"api/NewsArticles/uploadNewsPicture\",\n data: this.state.formData,\n method: \"post\",\n headers: {\n \"Content-type\": \"multipart/form-data\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n }).then(res => {});\n reader.readAsDataURL(file);\n }\n\n showNewsPicture(e) {\n e.preventDefault();\n this.newsPicture.current.click();\n }\n handleChange(e) {\n this.setState({ content: e.target.getContent() });\n }\n onTitleChange(e) {\n e.preventDefault();\n this.setState({ title: e.target.value });\n }\n linkToNews() {\n this.props.history.push(\"/News\");\n }\n buttonClickUpdateArticle() {\n this.setState({\n title:\n this.state.title === this.props.oneArticle[this.state.index].title\n ? this.props.oneArticle[this.state.index].title\n : this.state.title,\n content:\n this.state.content === this.props.oneArticle[this.state.index].content\n ? this.props.oneArticle[this.state.index].content\n : this.state.content\n });\n Axios({\n url: BASE + NEWS_BY_ARTICLE_URL + this.props.oneArticle[this.state.index].newsArticleId,\n data: {\n NewsArticleId: this.props.oneArticle[this.state.index].newsArticleId,\n Title: this.state.title,\n Content: this.state.content\n },\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n Axios.get(BASE + ARTICLE_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n const article = res.data;\n this.props.onArticlesChange(article);\n });\n this.props.history.push(\"/News\");\n });\n }\n render() {\n return (\n
\n this.pictureUpload(e)}\n ref={this.newsPicture}\n />\n
\n
\n {\n this.linkToNews();\n }}\n >\n \n
\n \n
\n this.onTitleChange(e)}\n />\n
\n
\n {\n this.buttonClickUpdateArticle();\n }}\n >\n Save\n \n
\n
\n
\n
\n \n \n Add Background\n
\n
\n this.handleChange(e)}\n />\n \n \n );\n }\n}\nEditNews.propTypes = {\n classes: PropTypes.object.isRequired\n};\nconst mapStateToProps = state => {\n return {\n oneArticle: state.articlesReducer.articles\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onArticleChange: newArticle =>\n dispatch({\n type: actionTypes.UPDATE_ARTICLE,\n article: newArticle\n }),\n onArticlesChange: newArticles =>\n dispatch({\n type: actionTypes.UPDATE_ARTICLES,\n articles: newArticles\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(EditNews);\n","export const activityStyles = {\n card: {\n minWidth: 500\n },\n \n root: {\n flex: 1,\n flexDirection: \"row\",\n borderBottom: \"1.5px solid #D8D8D8\"\n },\n\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20%\",\n paddingRight: 20,\n paddingLeft: 20,\n color: \"black\"\n },\n\n content: {\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\"\n }\n };\n\n export const activityDetailsStyles = {\n card: {\n minWidth: 500,\n margin: 10\n },\n\n mainCard: {\n minWidth: 500,\n margin: 10,\n backgroundColor: \"#d1d1d1\"\n },\n\n root: {\n flex: 1,\n flexDirection: \"row\",\n borderBottom: \"1px solid #D8D8D8\"\n },\n\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20%\",\n paddingRight: 20,\n paddingLeft: 20,\n color: \"black\"\n },\n\n content: {\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\"\n },\n\n statusChange: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-evenly\"\n },\n\n paper: {\n padding: 1,\n backgroundColor: \"#d8d8d8\"\n },\n\n cardActions: {\n flexDirection: \"row-reverse\"\n },\n\n isApproved: {\n backgroundColor: \"#6BC20A\",\n color:\"white\"\n },\n\n isRejected: {\n backgroundColor: \"#D0021B\",\n color:\"white\"\n }\n };\n\n export const mainActivitiesStyles = {\n root: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"100%\",\n overflow: \"auto\"\n }\n };","import Axios from \"axios\";\nimport * as EndPoints from \"../../../../API/APIendpoint\";\n\nexport const approveEndorsementApplication = async (\n endorsementNo,\n status,\n reason\n) => {\n const config = {\n url: `${EndPoints.BASE}${\n EndPoints.APPROVE_ENDORSEMENT_APPLICATION\n }${endorsementNo}/${status}/Approve`,\n method: \"post\",\n data: JSON.stringify(reason),\n headers: {\n \"Content-Type\": \"application/json;charset=UTF-8\",\n \"Access-Control-Allow-Origin\": \"*\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n };\n return await Axios(config);\n};\n\nexport const sendApprovalEmail = async emailParam => {\n const config = {\n url: EndPoints.BASE + EndPoints.SEND_EMAIL_ENDORSEMENT_APPROVAL_URL,\n method: \"post\",\n data: emailParam,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Origin\": \"*\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n };\n return await Axios(config);\n};\n","import * as Types from \"./ApproveNewEndorsementsActionTypes\";\nimport { approveEndorsementApplication, sendApprovalEmail } from \"./ApproveNewEndorsementsAPI\";\n\nexport const approvePendingEndorsementBeginAC = () => {\n return {\n type: Types.APPROVE_ENDORSEMENT_BEGIN,\n approveNewEndorsementsState: {\n approvalStatus: {\n loading: true,\n error: null\n }\n }\n };\n};\n\nexport const sendEmailBeginAC = () => {\n return {\n type: Types.EMAIL_BEGIN,\n approveNewEndorsementsState: {\n emailStatus: {\n loading: true,\n error: null\n }\n }\n };\n};\n\nexport const sendEmailSuccessAC = (response) => {\n return {\n type: Types.EMAIL_SUCCESS,\n approveNewEndorsementsState: {\n emailStatus: {\n loading: false,\n response\n },\n }\n };\n};\n\nexport const approvePendingEndorsementSuccessAC = (response) => {\n return {\n type: Types.APPROVE_ENDORSEMENT_SUCCESS,\n approveNewEndorsementsState: {\n approvalStatus: {\n loading: false,\n response\n },\n }\n };\n};\n\nexport const sendEmailErrorAC = (error) => {\n return {\n type: Types.EMAIL_ERROR,\n approveNewEndorsementsState: {\n emailStatus: {\n loading: false,\n error\n }\n }\n };\n};\n\nexport const approvePendingEndorsementErrorAC = (error) => {\n return {\n type: Types.APPROVE_ENDORSEMENT_ERROR,\n approveNewEndorsementsState: {\n approvalStatus: {\n loading: false,\n error\n }\n }\n };\n};\n\nexport const sendEmail = (emailParam) => async (dispatch) => {\n dispatch(sendEmailBeginAC());\n try {\n const response = await sendApprovalEmail(emailParam);\n dispatch(sendEmailSuccessAC(response));\n return await response;\n } catch (error) {\n dispatch(sendEmailErrorAC(error));\n }\n}\n\nexport const approvePendingEndorsement = (id, status, reason) => async (dispatch) => {\n dispatch(approvePendingEndorsementBeginAC());\n try {\n const response = await approveEndorsementApplication(id, status, reason);\n dispatch(approvePendingEndorsementSuccessAC(response));\n return response;\n } catch (error) {\n dispatch(approvePendingEndorsementErrorAC(error));\n }\n}\n\nexport const setReasonAC = (reason) => {\n return {\n type: Types.SET_REASON,\n approveNewEndorsementsState: {reason}\n }\n}\nexport const setReason = (reason) => (dispatch) => dispatch(setReasonAC(reason));\n\nexport const setCurrentEndorsementAC = (application) => {\n return {\n type: Types.SET_CURRENT_ENDORSEMENT,\n approveNewEndorsementsState: {application}\n }\n}\nexport const setCurrentEndorsement = (application) => (dispatch) => dispatch(setCurrentEndorsementAC(application));\n","export const APPROVE_ENDORSEMENT_ERROR = \"APPROVE_ENDORSEMENT_ERROR\",\nAPPROVE_ENDORSEMENT_BEGIN = \"APPROVE_ENDORSEMENT_BEGIN\",\nAPPROVE_ENDORSEMENT_SUCCESS = \"APPROVE_ENDORSEMENT_SUCCESS\",\nEMAIL_ERROR = \"EMAIL_ERROR\",\nEMAIL_BEGIN = \"EMAIL_BEGIN\",\nEMAIL_SUCCESS = \"EMAIL_SUCCESS\",\nSET_REASON = \"SET_REASON\",\nSET_CURRENT_ENDORSEMENT = \"SET_CURRENT_ENDORSEMENT\";\n","import React, { Component } from 'react'\nimport { BASE } from \"../../../../API/APIendpoint\";\nimport axios from \"axios\";\nimport defaultImg from \"../../images/dProfile.jpg\";\nexport default class UserSection extends Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n image: null\n }\n }\n\n componentDidMount() {\n axios\n .get(BASE + \"api/MemberProfilePictures/getMemId/\" + this.props.user.memNo,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n const res = response.data;\n this.setState({\n image:\n res[0] === null ? null : res[0].profilePicture.toString()\n });\n })\n }\n render() {\n if (this.props.user)\n return (\n
\n
\n \n
\n
\n
{this.props.user.firstname + \" \" + this.props.user.surname}
\n {this.props.user.dedicatedStatus.length > 0 ?\n this.props.user.dedicatedStatus.map((_dStatus, index) =>\n
{`${_dStatus.dstype} ${_dStatus.status}`}
\n ) :\n < h6 className=\"font-weight-bold text-danger ml-2\">{\"Non-Dedicated Member\"}\n }\n
\n
\n )\n else return null;\n }\n}\n","import { withStyles } from \"@material-ui/core/styles\";\nimport Axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { bindActionCreators } from \"redux\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { activityDetailsStyles as styles } from \"../../adminUser/activitiesTab/styles/styles\";\nimport * as ApproveEndorsementActions from \"./ApproveNewEndorsements/ApproveNewEndorsementsActions\";\nimport UserSection from \"./PendingActivitySubComponents/UserSection\";\nexport const getCurrentDate = () => {\n\n let newDate = new Date()\n let date = newDate.getDate();\n let month = newDate.getMonth() + 1;\n let year = newDate.getFullYear();\n let separator= \"-\";\n \n return `${year}${separator}${month<10?`0${month}`:`${month}`}${separator}${date<10?`0${date}`:`${date}`}`\n}\nclass ApproveEndorsementDashboard extends Component {\n constructor(props) {\n super(props);\n this.state = {\n reason: \"\",\n error: \"\",\n emailParam: {\n toEmail: this.props.memberDetails.email,\n ApplicationStatus: \"Approved\",\n Firstname: this.props.memberDetails.firstname,\n Surname: this.props.memberDetails.surname\n },\n memEmail: this.props.memberDetails.email,\n _applicationType: \"Endorsement Application\",\n showTextArea: false,\n };\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n async handleSubmitRes() {\n Axios({\n url:\n BASE + \"api/EndorsementApplications/Reject/\" +\n this.props.endApplication.endorsAppID +\n \"/\" +\n 2 + \"/\" + this.state.reason,\n method: \"post\",\n headers: {\n \"content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res =>\n this.props.ApproveEndorsementActions.sendEmail(this.state.emailParam)\n );\n this.updatePending();\n this.props.history.push(\"/admin/PendingEndorsementApplication\");\n }\n updatePending = () => {\n let _pendingEndorsments = this.props.endorsements.filter(element => \n element.endorsAppID !== this.props.endApplication.endorsAppID \n )\n this.props.onEndorsementObjectUpdate(\n this.props.pendingCount,\n _pendingEndorsments,\n this.props.allEndorsements\n )\n }\n async handleSubmit(status) {\n const response = await this.props.ApproveEndorsementActions.approvePendingEndorsement(\n this.props.endApplication.endorsAppID,\n status,\n this.props.endApplication.reason\n );\n if (response) {\n if (response.status === 200) {\n // const response = await this.props.ApproveEndorsementActions.sendEmail(\n // this.state.emailParam\n // );\n this.updatePending();\n Axios.post(BASE + \"api/Member/extendMembershipDays/\" + this.state.memEmail + \"/\" + this.props.loyaltyDaysObject.endorsementDays + \"/endorsement\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(\n Axios({\n url: BASE + \"api/AutomatedEmail/post/SendLoyaltyEmail/\" + this.state._applicationType + \"/\" + this.props.loyaltyDaysObject.endorsementDays,\n data: this.state.emailParam,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n )\n if (response) {\n if (response.status === 200) {\n this.props.history.push(\"/admin/PendingEndorsementApplication\");\n } else {\n this.setState({ error: \"Error: couldnt send email\" });\n }\n }\n } else {\n this.setState({ error: \"Error: couldnt update status & send email\" });\n }\n }\n }\n render() {\n const {\n memNo,\n endorsementNo,\n fireArmType,\n actionType,\n applicationType,\n caliber,\n section,\n motivation,\n applicationDate,\n status,\n reason,\n endorsAppID,\n endorsementPurpose\n } = this.props.endApplication;\n\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n return (\n
\n
\n {\n this.props.history.push(\"/admin/PendingEndorsementApplication\");\n }}\n />\n
\n \n
\n
{`Endorsement Application No ${endorsAppID}`}
\n
{status}
\n
{`Application Date ${applicationDate.substring(0, 10)}`}
\n
\n
\n {info(\"Member No:\", memNo ? memNo : \"-\")}\n {info(\"Endorsement No: \", endorsementNo ? endorsementNo : \"-\")}\n {info(\"Application Type:\", applicationType ? applicationType : \"-\")}\n {info(\"Firearm Type:\", fireArmType ? fireArmType : \"-\")}\n {info(\"Action Type:\", actionType ? actionType : \"-\")}\n {info(\"Caliber:\", caliber ? caliber : \"-\")}\n {info(\"Section:\", section ? section : \"-\")}\n {info(\"Motivation:\", motivation ? motivation : \"-\")}\n {info(\"Endorsement Purpose\", endorsementPurpose ? endorsementPurpose : \"-\")}\n {info(\"Reason:\", reason ? reason : \"-\")}\n
\n
{this.state.error}
\n
\n
\n {!this.state.showTextArea ?\n
\n
\n {\n var emailParam = this.state.emailParam;\n emailParam.ApplicationStatus = \"Approve\";\n this.setState({ emailParam: emailParam });\n await this.handleSubmit(1);\n }}\n >\n Approve\n \n
\n
\n \n this.setState({\n showTextArea: true\n })\n }\n >\n Reject\n \n
\n
\n :
\n this.setState({ reason: e.target.value })}\n placeholder=\"Provide a reason\"\n />\n
}\n {this.state.showTextArea === true ? (\n
\n
\n {\n var emailParam = this.state.emailParam;\n emailParam.ApplicationStatus = \"Rejected\";\n this.setState({ emailParam: emailParam });\n await this.handleSubmitRes();\n }}\n >\n Reject\n \n
\n
\n {\n this.setState({\n showTextArea: false\n })\n }\n }\n >\n Cancel\n \n
\n
\n ) : null}\n
\n
\n
\n );\n }\n}\n\nApproveEndorsementDashboard.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n memberDetails: state.dashBoardReducer.membersPending,\n endApplication: state.approveNewEndorsementsState.application,\n reason: state.approveNewEndorsementsState.reason,\n loyaltyDaysObject: state.LoyaltyDaysReducer.loyaltyDaysObject,\n endorsements: state.dashBoardReducer.endorsements.pendingEndorsements,\n pendingEndorsementCount: state.dashBoardReducer.endorsements.pendingEndorsementCount,\n allEndorsements: state.dashBoardReducer.endorsements.allEndorsements\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n ApproveEndorsementActions: bindActionCreators(\n ApproveEndorsementActions,\n dispatch\n ),\n onEndorsementObjectUpdate: (pendingCount, pendingEndorsements, allEndorsements) =>\n dispatch({\n type: actionTypes.DASHBOARD_ACTIONS.GET_ALL_ENDORSEMENTS_URL,\n endorsements: {\n pendingEndorsementCount: pendingCount,\n pendingEndorsements: pendingEndorsements,\n allEndorsements: allEndorsements\n }\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(ApproveEndorsementDashboard));\n","import Axios from \"axios\";\nimport * as EndPoints from \"../../../../API/APIendpoint\";\n\nexport const approveDSApplication = async (dsno, status, reason) => {\n const config = {\n url: `${EndPoints.BASE}${\n EndPoints.APPROVE_DS_APPLICATION\n }${dsno}/${status}`,\n method: \"post\",\n data: JSON.stringify(reason),\n headers: {\n \"Content-Type\": \"application/json;charset=UTF-8\",\n \"Access-Control-Allow-Origin\": \"*\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n };\n\n return await Axios(config);\n};\n\nexport const sendApprovalEmailDS = async emailParam => {\n const config = {\n url: EndPoints.BASE + EndPoints.SEND_EMAIL_NEW_DSSPORT_SHOOTER_URL,\n method: \"post\",\n data: emailParam,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Origin\": \"*\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n };\n return await Axios(config);\n};\n\nexport const sendApprovalEmailDH = async emailParam => {\n const config = {\n url: EndPoints.BASE + EndPoints.SEND_EMAIL_NEW_DS_HUNTER_URL,\n method: \"post\",\n data: emailParam,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Origin\": \"*\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n };\n return await Axios(config);\n};\n\nexport const sendRejectDSEmail = async emailParam => {\n const config = {\n url: EndPoints.BASE + EndPoints.SEND_DEDICATED_REJ,\n method: \"post\",\n data: emailParam,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Origin\": \"*\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n };\n return await Axios(config);\n};\n\n\n","import * as Types from \"./ApproveNewDSActionTypes\";\nimport { approveDSApplication, sendApprovalEmailDH, sendApprovalEmailDS, sendRejectDSEmail } from \"./ApproveNewDSAPI\";\n\nexport const approvePendingDSBeginAC = () => {\n return {\n type: Types.APPROVE_DS_BEGIN,\n approveNewDSState: {\n approvalStatus: {\n loading: true,\n error: null\n }\n }\n };\n};\n\nexport const approvePendingDSSuccessAC = response => {\n return {\n type: Types.APPROVE_DS_SUCCESS,\n approveNewDSState: {\n approvalStatus: {\n loading: false,\n response\n }\n }\n };\n};\n\nexport const approvePendingDSErrorAC = error => {\n return {\n type: Types.APPROVE_DS_ERROR,\n approveNewDSState: {\n approvalStatus: {\n loading: false,\n error\n }\n }\n };\n};\n\nexport const sendEmailBeginAC = () => {\n return {\n type: Types.EMAIL_BEGIN,\n approveNewDSState: {\n emailStatus: {\n loading: true,\n error: null\n }\n }\n };\n};\n\nexport const sendEmailSuccessAC = response => {\n return {\n type: Types.EMAIL_SUCCESS,\n approveNewDSState: {\n emailStatus: {\n loading: false,\n response\n }\n }\n };\n};\n\nexport const sendEmailErrorAC = error => {\n return {\n type: Types.EMAIL_ERROR,\n approveNewDSState: {\n emailStatus: {\n loading: false,\n error\n }\n }\n };\n};\n\nexport const sendEmailDS = emailParam => async dispatch => {\n dispatch(sendEmailBeginAC());\n try {\n const response = await sendApprovalEmailDS(emailParam);\n dispatch(sendEmailSuccessAC(response));\n return await response;\n } catch (error) {\n dispatch(sendEmailErrorAC(error));\n }\n};\n\nexport const sendEmailDH = emailParam => async dispatch => {\n dispatch(sendEmailBeginAC());\n try {\n const response = await sendApprovalEmailDH(emailParam);\n dispatch(sendEmailSuccessAC(response));\n return await response;\n } catch (error) {\n dispatch(sendEmailErrorAC(error));\n }\n};\n\nexport const sendDedRej = emailParam => async dispatch => {\n dispatch(sendEmailBeginAC());\n try {\n const response = await sendRejectDSEmail(emailParam);\n dispatch(sendEmailSuccessAC(response));\n return await response;\n } catch (error) {\n dispatch(sendEmailErrorAC(error));\n }\n};\n\nexport const approvePendingDS = (id, status, reason) => async dispatch => {\n dispatch(approvePendingDSBeginAC());\n try {\n const response = await approveDSApplication(id, status, reason);\n dispatch(approvePendingDSSuccessAC(response));\n return response;\n } catch (error) {\n dispatch(approvePendingDSErrorAC(error));\n }\n};\n\nexport const setCurrentDSAC = (application, user) => {\n return {\n type: Types.SET_CURRENT_DS_APPLICATION,\n approveNewDSState: { application, user }\n };\n};\nexport const setCurrentDS = (application, user) => dispatch =>\n dispatch(setCurrentDSAC(application, user));\n","export const APPROVE_DS_ERROR = \"APPROVE_DS_ERROR\",\n APPROVE_DS_BEGIN = \"APPROVE_DS_BEGIN\",\n APPROVE_DS_SUCCESS = \"APPROVE_DS_SUCCESS\",\n SET_CURRENT_DS_APPLICATION = \"SET_CURRENT_DS_APPLICATION\",\n EMAIL_ERROR = \"EMAIL_ERROR\",\n EMAIL_BEGIN = \"EMAIL_BEGIN\",\n EMAIL_SUCCESS = \"EMAIL_SUCCESS\";\n","import { BASE } from \"../../API/APIendpoint\";\n\nexport const GET_COURSE_MODULES_ONLY = BASE + 'api/CourseModule',\n GET_COURSE_MODULES_WITH_CHILDREN = BASE + 'api/CourseModule/withChildren',\n COURSE_MODULE = BASE + 'api/CourseModule',\n COURSE_MODULE_MOVE = COURSE_MODULE + '/moveTo',\n COURSE_MATERIAL = BASE + 'api/CourseMaterial/put',\n COURSE_MATERIAL_MOVE = COURSE_MATERIAL + '/moveTo',\n COURSE_MATERIAL_CHANGE_NAME = COURSE_MATERIAL + '/changeName',\n COURSE_MODULE_NAME_UPDATE = COURSE_MODULE + '/changeName',\n QUESTION = BASE + 'api/question',\n QUESTION_SWAP_INDEX = QUESTION + '/swapIndex',\n QUESTION_UPDATE_INDEX = QUESTION + '/updateIndex',\n MEMBER_ASSESSMENT = BASE + 'api/MemberAssesments',\n WEEK_STATISTICS = BASE + 'api/CourseStatistics/week',\n MONTH_STATISTICS = BASE + 'api/CourseStatistics/month',\n DELETE_MODULE = BASE + 'api/CourseAssessment/',\n YEAR_STATISTICS = BASE + 'api/CourseStatistics/year'","import { withStyles } from \"@material-ui/core/styles\";\nimport Axios from \"axios\";\nimport { base64StringToBlob } from 'blob-util';\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, FRONT } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport \"./MainActivities.css\";\nimport { isMobile } from \"react-device-detect\";\nexport const _getDocument = (name, type) => {\n Axios.get(BASE + \"api/Activities/getActivityDocByteRep/\" + name + \"/\" + type,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n _blobRenderFile(res.data.base64DocRep, res.data.type, res.data.name)\n });\n}\nexport const _blobRenderFile = (base64DocRep, type, name) => {\n const blob = base64StringToBlob(base64DocRep, type);\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = name + \".\" + type;\n a.click();\n a.remove();\n document.addEventListener(\"focus\", window.URL.revokeObjectURL(blob))\n}\nconst styles = theme => ({\n root: {\n width: \"100%\",\n backgroundColor: theme.palette.background.paper,\n margin: \"auto\"\n },\n line: {\n marginBottom: \"40px\"\n }\n});\n\nclass ActivityDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Activity: undefined,\n status: \"\",\n activityLink: \"\"\n };\n }\n\n componentDidMount() {\n const activities = this.props.data.filter(\n act => act.memNo === this.props.memberNumber\n );\n const activity = activities.find(\n act => act.activityId === parseInt(this.props.activityId)\n );\n this.setState({\n Activity: activity\n });\n }\n render() {\n if (!this.props.loggedIn) {\n window.location = \"/login\";\n }\n if (this.state.Activity === undefined) {\n return
No data
;\n }\n return (\n \n );\n }\n}\n\nexport function status(status) {\n if (status) {\n switch (status.toLowerCase()) {\n case \"approved\":\n return ;\n case \"pending\":\n return ;\n case \"rejected\":\n return ;\n default:\n return ;\n }\n }\n return ;\n}\n\nexport const notfound = Not Found ;\n\nexport function formatDate(date) {\n let d = new Date(date),\n month = \"\" + (d.getMonth() + 1),\n day = \"\" + d.getDate(),\n year = d.getFullYear();\n\n const maxLength = 2;\n const zeroString = \"0\";\n if (month.length < maxLength) month = zeroString + month;\n if (day.length < maxLength) day = zeroString + day;\n\n return [year, month, day].join(\"/\");\n}\n\nclass pageLayout extends Component {\n constructor(props) {\n super(props);\n this.state = {\n rejectionReason: \"\",\n astatus: \"\",\n docName: \"\",\n type: \"\",\n _memberNotes: \"\"\n };\n }\n componentDidMount() {\n Axios.get(BASE + \"api/Activities/\" + this.props.activity.activityId,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(\n res => {\n this.setState({\n astatus: res.data.status,\n rejectionReason: res.data.rejectReason,\n activityLink: res.data.link,\n _memberNotes: res.data.memberNotes\n });\n }\n );\n }\n render() {\n const Activity = this.props.activity\n ? this.props.activity\n : {\n Type: \"type\",\n Date: \"02/07/2015\",\n Status: \"approved\",\n ID: \"NM-234\",\n Description: \"Ceres veldskiet 108gr LapuasWindage corection\",\n FireArm: \"Center Fire Rifle Bolt Action CFRBA\",\n Caliber: \"4 rounds/second\",\n Association: \"Narfo\"\n };\n const activityViewInfo = (name, value) => (\n \n {name}\n {value ? \n {`: ${value}`} :\n notfound\n }\n \n \n );\n const activityViewInfo2 = (name, value) => (\n \n {name}\n {value === \"NULL\" || !value ? \n Null :\n \n {\": \"}\n \n Document\n \n \n }\n \n \n );\n const notfound = Not Found ;\n return (\n
\n
\n {\n this.props.goBack(\"0\", \"currentActivityTab\");\n }}\n />\n
\n {!isMobile ?\n
\n
\n {Activity.activityType ? Activity.activityType : notfound}
\n {Activity.activityDate\n ? formatDate(Activity.activityDate)\n : notfound}{\" \"}\n
\n {status(Activity.status)}\n
\n \n \n {activityViewInfo(\"Activity ID\", Activity.activityId)}\n {this.state.astatus === \"Rejected\" ?\n activityViewInfo(\"Rejection Reason\", this.state.rejectionReason) :\n null\n }\n {activityViewInfo(\"Activity Description\", Activity.activityDescription)}\n {activityViewInfo(\"Firearm Type\", Activity.firearmType)}\n {activityViewInfo(\"Association\", Activity.association)}\n {Activity.score !== \"0\" ?\n activityViewInfo(\"Score\", Activity.score) :\n null\n }\n {activityViewInfo2(\"Activity Document\", FRONT + this.state.activityLink)}\n \n
\n
\n \n Activity Notes:
\n
\n \n \n {this.state._memberNotes\n ? this.state._memberNotes\n : notfound}\n \n \n
\n
:\n
\n
\n {Activity.activityType ? Activity.activityType : notfound}
\n {Activity.activityDate\n ? formatDate(Activity.activityDate)\n : notfound}{\" \"}\n
\n {status(Activity.status)}\n
\n
\n
\n \n Activity ID:
\n
\n \n \n {Activity.activityId\n ? Activity.activityId\n : notfound}\n \n \n
\n {this.state.astatus === \"Rejected\" ? (\n
\n \n Rejection Reason:
\n
\n \n \n
{this.state.rejectionReason}
\n
\n
\n
\n ) : null}\n
\n \n Activity Description:
\n
\n \n \n {Activity.activityDescription\n ? Activity.activityDescription\n : notfound}\n \n \n
\n
\n \n Firearm Type:
\n
\n \n {Activity.firearmType ? Activity.firearmType : notfound}\n \n
\n
\n \n Association:
\n
\n \n {Activity.association ? Activity.association : notfound}\n \n
\n
\n \n Score:
\n
\n \n {Activity.score ? Activity.score : notfound}\n \n
\n
Activity Document
\n {this.state.activityLink === \"NULL\" || !this.state.activityLink ? (\n
Null:
\n ) : (\n \n Document\n \n )}\n
\n \n Activity Notes:
\n
\n \n \n {this.state._memberNotes\n ? this.state._memberNotes\n : notfound}\n \n \n
\n
\n
}\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n data: state.activitiesReducer.userActivities,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn,\n ActivityTab: state.adminPortalReducer.adminPortal.currentActivityTab\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport const ActivityDetailsPage = withStyles(styles)(pageLayout);\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ActivityDetails);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { formatDate, status } from \"../../loggeddInUser/activitiesPage/ActivityDetails\";\nfunction MainAcivityDetailsApproval(props) {\n return (\n {\n props.onActivityParametersChange(\n props.activity.memNo,\n props.activity.activityId,\n true\n );\n }}\n style={{ cursor: \"pointer\" }}\n >\n {props.activity.activityDescription}
\n {formatDate(props.activity.activityDate)}
\n {status(props.activity.status)}\n \n );\n}\nconst mapDispatchToProps = dispatch => {\n return {\n onActivityParametersChange: (memberNumber, activityId, renderPracticalActivityDetails) => {\n return dispatch({\n type: actionTypes.UPDATE_ACTIVITY_PARAMETERS,\n activityMemberNumber: memberNumber,\n activityID: activityId,\n renderPracticalActivityDetails: renderPracticalActivityDetails\n });\n }\n };\n};\nexport default connect(\n null,\n mapDispatchToProps\n)(MainAcivityDetailsApproval);\n","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport { formatDate, status } from \"../../loggeddInUser/activitiesPage/ActivityDetails\";\nimport { isMobile } from \"react-device-detect\";\nclass ActivityDetailsApproval extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Activity: undefined,\n status: \"\",\n activityLink: \"\",\n rejectionReason: \"\",\n astatus: \"\",\n docName: \"\",\n type: \"\",\n Activity: {}\n };\n }\n componentDidMount() {\n Axios.get(BASE + \"api/Activities/\" + this.props.activityID,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(\n res => {\n this.setState({\n Activity: res.data,\n astatus: res.data.status,\n rejectionReason: res.data.rejectReason,\n activityLink: res.data.link\n });\n }\n );\n }\n render() {\n const Activity = this.state.Activity\n const activityViewInfo = (name, value) => (\n \n {name}\n {value ? \n {`: ${value}`} :\n notfound\n }\n \n \n );\n const activityViewInfo2 = (name, value) => (\n \n {name}\n {value === \"NULL\" || !value ? \n Null :\n \n {\": \"}\n \n Document\n \n \n }\n \n \n );\n const notfound = Not Found ;\n return (\n\n
\n {!isMobile ?\n
\n
\n {Activity.activityType ? Activity.activityType : notfound}
\n {Activity.activityDate\n ? formatDate(Activity.activityDate)\n : notfound}{\" \"}\n
\n {status(Activity.status)}\n
\n \n \n {activityViewInfo(\"Activity ID\", Activity.activityId)}\n {this.state.astatus === \"Rejected\" ?\n activityViewInfo(\"Rejection Reason\", this.state.rejectionReason) :\n null\n }\n {activityViewInfo(\"Activity Description\", Activity.activityDescription)}\n {activityViewInfo(\"Firearm Type\", Activity.firearmType)}\n {activityViewInfo(\"Association\", Activity.association)}\n {activityViewInfo(\"Score\", Activity.score)}\n {activityViewInfo2(\"Activity Document\", this.state.activityLink)}\n \n
\n
:\n
\n
\n {Activity.activityType ? Activity.activityType : notfound}
\n {Activity.activityDate\n ? formatDate(Activity.activityDate)\n : notfound}{\" \"}\n
\n {status(Activity.status)}\n
\n
\n
\n \n Activity ID:
\n
\n \n \n {Activity.activityId\n ? Activity.activityId\n : notfound}\n \n \n
\n {this.state.astatus === \"Rejected\" ? (\n
\n \n Rejection Reason:
\n
\n \n \n
{this.state.rejectionReason}
\n
\n
\n
\n ) : null}\n
\n \n Activity Description:
\n
\n \n \n {Activity.activityDescription\n ? Activity.activityDescription\n : notfound}\n \n \n
\n
\n \n Firearm Type:
\n
\n \n {Activity.firearmType ? Activity.firearmType : notfound}\n \n
\n
\n \n Association:
\n
\n \n {Activity.association ? Activity.association : notfound}\n \n
\n
\n \n Score:
\n
\n \n {Activity.score ? Activity.score : notfound}\n \n
\n
Activity Document
\n {this.state.activityLink === \"NULL\" || !this.state.activityLink ? (\n
Null:
\n ) : (\n \n Document\n \n )}\n
\n
}\n
\n );\n }\n \n}\nexport default ActivityDetailsApproval;","import React, { Component } from \"react\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport UserSection from \"./PendingActivitySubComponents/UserSection\";\nimport { bindActionCreators } from \"redux\";\nimport * as ApproveNewDSActions from \"../Approvals/ApproveNewDS/ApproveNewDSActions\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { activityDetailsStyles as styles } from \"../../adminUser/activitiesTab/styles/styles\";\nimport axios from \"axios\";\nimport { BASE,FRONT } from \"../../../API/APIendpoint\";\nimport { MEMBER_ASSESSMENT } from \"../../learningManagementSystem/LMSAPIEndPoints\";\nimport { getCurrentDate } from \"../Approvals/ApproveDashboardEndors\";\nimport MainAcivityDetailsApproval from \"./MainActivityDetailsApproval\";\nimport ActivityDetailsApproval from \"./ActivityDetailsApproval\";\nimport { isMobile } from \"react-device-detect\";\nimport { DASHBOARD_ACTIONS } from \"../../../store/actions/actionTypes\";\n\nclass ApproveDedicatedStatus extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Title: \"Dedicated Status\",\n showTextArea: false,\n reason: \"\",\n error: \"\",\n submitNum: \"\",\n linkSportShooter: \"\",\n linkDedicatedHunter: \"\",\n linkProfessionalHunter: \"\",\n linkActivityPractical: \"\",\n docName: \"\",\n type: \"\",\n memCourseObj: {},\n assesmentlist: {},\n practicalActivities: [],\n emailParam: {\n toEmail: this.props.user.email,\n Subject: \"Status Updated\",\n Body: \"\",\n Firstname: this.props.user.firstname,\n Surname: this.props.user.surname\n },\n currentDate: getCurrentDate()\n };\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentWillMount() {\n\n var lessonList = [];\n axios.get(BASE + \"api/Activities/activityPracticals/\" + this.props.application.memNo, {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(resp => {\n this.setState({\n practicalActivities: resp.data.activityPracticals\n })\n })\n axios\n .get(\n BASE +\n \"api/ProffessionalHunters/getPHunterByDId/\" +\n this.props.application.dedicatedId, {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n this.setState({\n linkProfessionalHunter: res.data.link\n\n })\n })\n axios\n .get(\n BASE +\n \"api/OtherDedicatedStatus/getLinkByID\" +\n this.props.application.dedicatedId, {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n this.setState({\n documentLink: res.data.link\n })\n })\n axios\n .get(\n BASE +\n \"api/Activities/getActivityDocument/\" +\n this.props.application.memNo, {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n )\n .then(res =>\n this.setState({\n linkActivityPractical: res.data.link\n })\n )\n .catch(function(error) {\n console.log(error);\n });\n\n //TODO: To be removed \n // axios.get(BASE + 'api/CourseModule/withChildren', {\n // headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n\t\t// \t// console.log('response', res.data)\n // const modules = res.data;\n // const assessments = modules.map(mod => {\n // const material = mod.courseMaterial;\n // return {\n // assesmentId: mod.courseModuleId,\n // title: mod.name,\n // grade: \"O\",\n // type: mod.type,\n // hasChildren: material ? material.length > 0 : false\n // };\n // });\n\t\t// // console.log(assessments)\n // this.setState({\n // assesmentlist: assessments\n // })\n // const material = modules.map(mod => [...mod.courseMaterial]);\n // let lessons = [];\n // material.forEach(mat => {\n // mat.forEach(_lesson => {\n // lessons.push({\n // pkCourseId: _lesson.courseMaterialId,\n // title: _lesson.name,\n // content: _lesson.content,\n // assesmnetId: _lesson.courseModuleId,\n // type: _lesson.type\n // });\n // });\n // });\n // lessonList = lessons;\n\n // //Get member assessments \n // fetch(MEMBER_ASSESSMENT + \"/\" + this.props.application.memNo, {\n // headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n // .then(res => res.json())\n // .then(res => {\n // let certificates = {};\n // this.state.assesmentlist?.length && this.state.assesmentlist.map(ass => {\n // if (ass.hasChildren && ass.type === 1) {\n // return certificates[`${ass.assesmentId}`] = [ass.title];\n // }\n // return null;\n // });\n // lessonList.map(lesson => {\n // let arr = certificates[`${lesson.assesmnetId}`];\n // if (arr) {\n // const score = res.data.find(\n // d => d.courseMaterialId === lesson.pkCourseId\n // );\n // arr.push(parseInt(score ? score.completion : 0));\n // return certificates[`${lesson.assesmnetId}`] = arr;\n // }\n // return null;\n // });\n // })\n // });\n\n axios.get(BASE + `api/DedicatedStatus/GetMembersAssessmentProgresss?memNo=${this.props.application.memNo}`, {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res =>{\n let original = [[res.data.dh.name, ...res.data.dh.progress],[res.data.dss.name,...res.data.dss.progress]]\n\n this.setState({\n memCourseObj: original\n });\n })\n .catch(function(error) {\n console.log(error);\n });\n }\n\n updatePending = (dedicatedStatus,status) => {\n let _pendingDS = [...this.props.pendingDS];\n \n _pendingDS.forEach(element => {\n if(element.dedicatedId === dedicatedStatus.dedicatedId) {\n element.status = status\n } \n })\n return _pendingDS;\n }\n\n Bar = (percent, score, title) => {\n return (\n
\n
\n \n {title}\n
\n
\n
\n \n \n {score}\n
\n \n \n \n );\n };\n displayCourseProgress = () => {\n let divs = [];\n let assComp = this.state.memCourseObj;\n\n Object.keys(assComp).forEach((_key, index) => {\n const assesment = Array.from(assComp[_key]);\n\n let total = assesment.length - 1;\n total = total ? total : 1;\n const progress = assesment.reduce((a, b) => {\n if (typeof b !== \"string\") {\n return a + b;\n }\n return a;\n }, 0);\n let assesmentName;\n if ( isMobile ) {\n if (assesment[0] === \"Dedicated Hunter Assessment Modules\")\n assesmentName = \"DHA\"\n else\n assesmentName = \"DSSA\"\n } else {\n assesmentName = assesment[0]\n }\n divs.push(\n
\n {this.Bar(progress / total, `${progress / total} %`, assesmentName)}\n
\n );\n });\n return divs;\n };\n async handleSubmit(status) {\n const res = await this.props.ApproveNewDSActions.approvePendingDS(\n this.props.application.dedicatedId,\n status,\n this.state.reason\n );\n if (res) {\n if (res.status === 200) {\n const dsApps = this.updatePending(this.props.application,\"Approved\");\n this.props.onStatusDSChange(dsApps);\n this.props.history.push(\"/admin/PendingDedicatedHunter\");\n if (this.props.application.dstype === \"Dedicated Sports Person\") {\n await axios({\n url: BASE + \"api/Member/extendMembershipDays/\" + this.props.user.email + \"/\" + this.props.loyaltyDaysObject.dedicateStatusDays + \"/dedicatedStatus\",\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(\n await axios({\n url: BASE + \"api/AutomatedEmail/post/SendLoyaltyEmail/\" + this.props.application.dstype + \"/\" + this.props.loyaltyDaysObject.dedicateStatusDays,\n data: this.state.emailParam,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n )\n } else {\n await axios({\n url: BASE + \"api/Member/extendMembershipDays/\" + this.props.user.email + \"/\" + this.props.loyaltyDaysObject.dedicateStatusDays + \"/dedicatedStatus\",\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(\n await axios({\n url: BASE + \"api/AutomatedEmail/post/SendLoyaltyEmail/\" + this.props.application.dstype + \"/\" + this.props.loyaltyDaysObject.dedicateStatusDays,\n data: this.state.emailParam,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n )\n }\n }\n }\n }\n async handleSubmitRej(status) {\n const res = await this.props.ApproveNewDSActions.approvePendingDS(\n this.props.application.dedicatedId,\n status,\n this.state.reason\n );\n const dsApps = this.updatePending(this.props.application,\"Rejected\");\n \n if (res) {\n if (res.status === 200) {\n this.props.onStatusDSChange(dsApps);\n this.props.history.push(\"/admin/PendingDedicatedHunter\");\n }\n }\n }\n render() {\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n const statusTypeQ =\n this.props.application.dstype === \"Dedicated Sports Person\"\n ? \"Dedicated Sport Shooter Status Certificate From Other Association:\"\n : \"Dedicated Hunter Status Certificate From Other Association:\";\n const documentLink =\n this.props.application.dstype === \"Dedicated Sports Person\"\n ? this.state.linkSportShooter\n : this.state.linkDedicatedHunter;\n const _practicalActivities = this.state.practicalActivities;\n const _renderPracticalActivityDetails = this.props.renderPracticalActivityDetails;\n const _activityID = this.props.activityID;\n if (_renderPracticalActivityDetails) {\n return (\n \n
\n {\n this.props.onActivityParametersChange(false);\n }}\n />\n
\n {}\n \n )\n } else {\n return (\n \n
\n {\n this.props.history.push(\"/admin/PendingDedicatedHunter\");\n }}\n />\n
\n \n
\n
Dedicated Type: {this.props.application.dstype}
\n \n
Status: {this.props.application.status}
\n
\n Application Date:{\" \"}\n {this.props.application.applicationDate.substring(0, 10)}\n
\n
\n
\n {info(\"ID Number:\", this.props.user.idno)}\n {info(\"Member Number:\", this.props.application.memNo)}\n {info(\"DS Number:\", this.props.application.dsno)}\n {info(\n \"Date:\",\n this.props.application.applicationDate.substring(0, 10)\n )}\n {info(\"Theoretical Assessments:\")}\n
{this.displayCourseProgress()}
\n {info(\"Practical Assessments:\")}\n {_practicalActivities.length > 0 ? (\n _practicalActivities.map((activity, index) => (\n \n ))\n ) : (\n

Couldn't find any practical activities

\n )}\n {!this.state.linkActivityPractical\n ? null\n : info(\n \"Practical Assessment:\",\n \n Document\n \n )}\n {info(\"Motivation:\", this.props.application.motivation)}\n {info(\n statusTypeQ,\n !this.state.documentLink ? (\n
null
\n ) : (\n \n Document\n \n )\n )}\n {!this.state.linkProfessionalHunter\n ? null\n : info(\n \"Proffesional Hunter Certificate From Other Association:\",\n \n Document\n \n )}\n
\n
\n
\n {!this.state.showTextArea ?\n
\n
\n {\n await this.handleSubmit(1);\n }}\n >\n Approve\n \n
\n
\n {\n this.setState({\n showTextArea: true,\n submitNum: 2\n });\n this.props.onSetRejectType(\"Rejected\")\n }}\n >\n Reject\n \n
\n
\n :
\n this.setState({ reason: e.target.value })}\n placeholder=\"Provide a reason\"\n />\n
}\n {this.state.showTextArea === true ? (\n
\n
\n {\n await this.handleSubmitRej(this.state.submitNum);\n this.setState({\n showReasonInputBox: false\n });\n this.props.ApproveNewDSActions.sendDedRej(\n {\n toEmail: this.props.user.email,\n Subject: \"Status Updated\",\n Reason: this.state.reason,\n ApplicationStatus: this.props.rejectTypeFromStore,\n Firstname: this.props.user.firstname,\n Surname: this.props.user.surname\n }\n );\n }}\n >\n Apply\n \n
\n
\n {\n this.setState({\n showTextArea: false\n });\n this.props.onSetRejectType(\"\")\n }\n }\n >\n Cancel\n \n
\n
\n ) : null}\n
\n
\n \n );\n }\n }\n \n}\n\nconst mapStateToProps = state => {\n return {\n renderPracticalActivityDetails: state.activitiesParametersReducer.renderPracticalActivityDetails,\n activityID: state.activitiesParametersReducer.activityID,\n memberDetails: state.dashBoardReducer.membersPending,\n user: state.approveNewDSState.user,\n lessonList: state.lmsReducer.lessons,\n application: state.approveNewDSState.application,\n assesmentCompletion: state.lmsReducer.assesmentCompletion,\n loyaltyDaysObject: state.LoyaltyDaysReducer.loyaltyDaysObject,\n rejectTypeFromStore: state.dedicatedStatusReducer.rejectType,\n pendingDS: state.dashBoardReducer.pendingDS,\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n ApproveNewDSActions: bindActionCreators(ApproveNewDSActions, dispatch),\n onDedicatedChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_DEDICATED_STATUS,\n varValue: value,\n varName: vname\n }),\n onStatusDSChange: newPending =>\n dispatch({\n type: DASHBOARD_ACTIONS.UPDATE_DS_PENDINGS,\n pendingDS: newPending\n }),\n onSetRejectType: rejectType =>\n dispatch({\n type: actionTypes.REJECT_DS_TYPE,\n rejectType: rejectType\n }),\n onActivityParametersChange: (renderPracticalActivityDetails) => {\n return dispatch({\n type: actionTypes.UPDATE_ACTIVITY_PARAMETERS,\n renderPracticalActivityDetails: renderPracticalActivityDetails\n });\n }\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(ApproveDedicatedStatus));\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport axios from \"axios\";\nimport \"../styles/styles.css\";\nimport {\n BASE,\n APPROVE_NEW_MEMBER_RENEWAL_URL\n} from \"../../../API/APIendpoint\";\nimport defaultImg from \"../images/dProfile.jpg\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nclass ApproveMembershipRenewal extends Component {\n state = {\n showReasonInputBox: false,\n isApproved: false,\n isRejected: false,\n reason: \"\",\n Posts: [],\n userEndorsementList: [],\n image: null,\n _newRenewal: this.props.newRenewal.newRenewals\n };\n componentDidMount() {\n axios\n .get(BASE + \"api/MemberProfilePictures/getMemId/\" + this.props.currentMember.memNo,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n const res = response.data;\n this.setState({\n image:\n res[0] === null ? null : res[0].profilePicture.toString()\n });\n })\n }\n constructor(props) {\n super(props);\n if (!this.props.loggedIn) {\n this.props.history.push(\"/\");\n }\n }\n\n handleSubmit = e => {\n this.props.history.push(\"/PaymentRenewal\");\n this.props.onAdminPortalChange(\"0\");\n };\n\n updateApproveStatus = e => {\n \n fetch(BASE +\n APPROVE_NEW_MEMBER_RENEWAL_URL +\n this.props.currentMember.memNo +\n \"/\" +\n 1, {\n method: 'POST',\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n )\n this.props.history.push(\"/PaymentRenewal\");\n };\n\n updateRejectStatus = e => {\n axios.post(\n BASE +\n APPROVE_NEW_MEMBER_RENEWAL_URL +\n this.props.currentMember.memNo +\n \"/\" +\n 3, {}, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n );\n this.props.history.push(\"/admin/MainAdmin\");\n };\n\n updatePendingToReject = () => {\n this.state._newRenewal.forEach(element => {\n if(element.memNo === this.props.currentMember.memNo) {\n element.status = 3 \n } \n })\n this.props.onMemberRenewalChange(\n this.props.pendingNRCount,\n this.state._newRenewal\n )\n }\n\n render() {\n return (\n
\n
\n {\n this.props.history.push(\"/admin/MembershipRenewal\");\n }}\n />\n
\n
\n \n
\n
\n
\n \n {this.props.currentMember.username\n ? this.props.currentMember.username\n : \"-\"}\n {\" \"}\n
\n \n {\" \"}\n {this.props.currentMember.sex\n ? this.props.currentMember.sex\n : \"-\"}\n \n
\n \n {this.props.currentMember.inceptionDate\n ? this.props.currentMember.inceptionDate.substring(0, 10)\n : \"-\"}\n \n
\n Pending\n
\n
\n
\n \n
\n Member No:
\n \n {this.props.currentMember.memNo\n ? this.props.currentMember.memNo\n : \"-\"}\n \n
\n
\n ID Number:
\n \n {this.props.currentMember.idno\n ? this.props.currentMember.idno\n : \"-\"}\n \n
\n
\n Cell Number:
\n \n {this.props.currentMember.cellNo\n ? this.props.currentMember.cellNo\n : \"-\"}\n \n
\n
\n Address:
\n \n {this.props.currentMember.physicalAddress\n ? this.props.currentMember.physicalAddress\n : \"-\"}\n \n
\n
\n Ethnicity:
\n \n {\" \"}\n {this.props.currentMember.ethinicity\n ? this.props.currentMember.ethinicity\n : \"-\"}\n \n
\n
\n Role:
\n \n {this.props.currentMember.memType\n ? this.props.currentMember.memType\n : \"-\"}\n \n
\n
\n Inception Date:
\n \n {this.props.currentMember.inceptionDate\n ? this.props.currentMember.inceptionDate.substring(0, 10)\n : \"-\"}\n \n
\n
\n Expiry Date:
\n \n {this.props.currentMember.expiryDate\n ? this.props.currentMember.expiryDate.substring(0, 10)\n : \"-\"}\n \n
\n
\n Payment:
\n \n {this.props.currentMember.association\n ? this.props.currentMember.association\n : \"Manual\"}\n \n
\n
\n\n
\n
\n {\n this.props.history.push(\"/PaymentRenewal\");\n }}\n >\n Approve\n \n
\n
\n {\n this.updateRejectStatus();\n this.updatePendingToReject();\n this.props.history.push(\"/admin/MembershipRenewal\");\n }}\n >\n Reject\n \n
\n
\n
\n \n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n names: state.membersAreaReducer.membersArea.memberName,\n members: state.MemberViewReducer.MemberList,\n currentMember: state.MemberViewReducer.MemberView,\n userProfileDetails: state.loginReducer.userProfileDetails,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn,\n memberList: state.dashBoardReducer.totalMembers.members,\n newRenewal: state.dashBoardReducer.newRenewals,\n pendingNRCount: state.dashBoardReducer.pendingNRCount\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrActivityTabChange: newCurrActivityTab =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ADMIN_ACTIVITY_TAB2,\n currActivityTab: newCurrActivityTab\n }),\n onDataChange: (data, name) => {\n return dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: data,\n varName: name\n });\n },\n onMemberRenewalChange: (pendingCount, memArray) =>\n dispatch({\n type: actionTypes.DASHBOARD_ACTIONS.GET_ALL_RENEWAL_MEMEBRS_URL,\n newRenewals: {\n pendingNRCount: pendingCount,\n newRenewals: memArray\n },\n }),\n onResetViewMembers: () => {\n return dispatch({\n type: actionTypes.RESET_MEMBERS_VIEWED_ACTIVITY\n });\n }\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ApproveMembershipRenewal);\n","import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { APPROVE_NEW_MEMBER_RENEWAL_URL, BASE } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport defaultImg from \"../images/dProfile.jpg\";\nimport \"../styles/styles.css\";\nclass ApproveNewMembers extends Component {\n state = {\n showReasonInputBox: false,\n isApproved: false,\n isRejected: false,\n reason: \"\",\n Posts: [],\n userEndorsementList: [],\n image: null,\n _newMembers: this.props.newMembers\n };\n\n constructor(props) {\n super(props);\n // this.findMember = this.findMember.bind(this);\n if (!this.props.loggedIn) {\n this.props.history.push(\"/\");\n }\n }\n componentDidMount() {\n axios\n .get(BASE + \"api/MemberProfilePictures/getMemId/\" + this.props.currentMember.memNo,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n const res = response.data;\n this.setState({\n image:\n res[0] === null ? null : res[0].profilePicture.toString()\n });\n })\n }\n\n handleSubmit = e => {\n this.props.history.push(\"/admin/PaymentRenewal\");\n this.props.onAdminPortalChange(\"0\");\n };\n\n updateRejectStatus = e => {\n axios.post(\n BASE +\n APPROVE_NEW_MEMBER_RENEWAL_URL +\n this.props.newMember.memNo +\n \"/\" +\n 3,{},{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n );\n };\n\n updatePendingToReject = () => {\n this.state._newMembers.forEach(element => {\n if(element.memNo === this.props.newMember.memNo) {\n element.status = 3 \n } \n })\n this.props.onNewMemberObjectChange(\n this.props.pendingNMCount,\n this.state._newMembers\n )\n }\n\n render() {\n return (\n \n
\n {\n this.props.history.push(\"/admin/PendingNewMembers\");\n }}\n />\n
\n
\n \n
\n
\n \n {this.props.currentMember.username\n ? this.props.currentMember.username\n : \"-\"}\n {\" \"}\n
\n \n {\" \"}\n {this.props.currentMember.sex\n ? this.props.currentMember.sex\n : \"-\"}\n \n
\n \n {this.props.currentMember.inceptionDate\n ? this.props.currentMember.inceptionDate.substring(0, 10)\n : \"-\"}\n \n
\n Pending\n
\n
\n \n
\n Member No:
\n \n {this.props.newMember.memNo ? this.props.newMember.memNo : \"-\"}\n \n
\n
\n ID Number:
\n \n {this.props.newMember.idno ? this.props.newMember.idno : \"-\"}\n \n
\n
\n Cell Number:
\n \n {this.props.newMember.cellNo\n ? this.props.newMember.cellNo\n : \"-\"}\n \n
\n
\n Address:
\n \n {this.props.newMember.physicalAddress\n ? this.props.newMember.physicalAddress\n : \"-\"}\n \n
\n
\n Ethnicity:
\n \n {\" \"}\n {this.props.newMember.ethinicity\n ? this.props.newMember.ethinicity\n : \"-\"}\n \n
\n
\n Role:
\n \n {this.props.newMember.memType\n ? this.props.newMember.memType\n : \"-\"}\n \n
\n
\n Inception Date:
\n \n {this.props.newMember.inceptionDate\n ? this.props.newMember.inceptionDate.substring(0, 10)\n : \"-\"}\n \n
\n
\n Expiry Date:
\n \n {this.props.newMember.expiryDate\n ? this.props.newMember.expiryDate.substring(0, 10)\n : \"-\"}\n \n
\n
\n Payment:
\n \n {this.props.newMember.association\n ? this.props.newMember.association\n : \"Manual\"}\n \n
\n
\n
\n
\n {\n this.props.history.push(\"/PaymentNewMember\");\n }}\n >\n Approve\n \n
\n
\n {\n this.updateRejectStatus();\n this.updatePendingToReject();\n this.props.history.push(\"/admin/PendingNewMembers\");\n }}\n >\n Reject\n \n
\n
\n \n \n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n names: state.membersAreaReducer.membersArea.memberName,\n members: state.MemberViewReducer.MemberList,\n currentMember: state.MemberViewReducer.MemberView,\n userProfileDetails: state.loginReducer.userProfileDetails,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn,\n memberList: state.dashBoardReducer.totalMembers.members,\n newMember: state.dashBoardReducer.membersPending,\n newMembers: state.dashBoardReducer.newMembers.newMembers,\n pendingNMCount: state.dashBoardReducer.newMembers.pendingNMCount\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrActivityTabChange: newCurrActivityTab =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ADMIN_ACTIVITY_TAB2,\n currActivityTab: newCurrActivityTab\n }),\n onDataChange: (data, name) => {\n return dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: data,\n varName: name\n });\n },\n onNewMemberObjectChange: (pendingCount, memArray) =>\n dispatch({\n type: actionTypes.DASHBOARD_ACTIONS.GET_ALL_PENDING_MEMBERS_URL,\n newMembers: {\n pendingNMCount: pendingCount,\n newMembers: memArray\n },\n }),\n onResetViewMembers: () => {\n return dispatch({\n type: actionTypes.RESET_MEMBERS_VIEWED_ACTIVITY\n });\n }\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ApproveNewMembers);\n","import Axios from 'axios';\nimport * as EndPoints from \"../../../../API/APIendpoint\";\n\nexport const activityApproval = async (id, status, reason) => {\n const config = {\n url: `${EndPoints.BASE}${EndPoints.ACTIVITY_APPROVAL_WITH_BODY}${id}/${status}`,\n method: 'post',\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,},\n data: { reason }\n }\n return await Axios(config);\n}\n\nexport const activityEmail = (emailParams) => {\n fetch(`${EndPoints.BASE}${EndPoints.ACTIVITY_EMAIL}`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n },\n body: JSON.stringify(emailParams)\n }\n );\n}","import * as Types from \"./PendingActivityActionTypes\";\nimport {\n activityApproval,\n activityEmail\n} from \"./PendingActivityAPI\";\n\nexport const approvePendingBeginAC = () => {\n return {\n type: Types.APPROVE_PENDING_BEGIN,\n pendingActivityState: {\n approvalStatus: {\n loading: true,\n error: null\n }\n }\n };\n};\n\nexport const approvePendingSuccessAC = (response) => {\n return {\n type: Types.APPROVE_PENDING_SUCCESS,\n pendingActivityState: {\n approvalStatus: {\n loading: false,\n response\n },\n activity: response.data\n }\n };\n};\n\nexport const approvePendingErrorAC = (error) => {\n return {\n type: Types.APPROVE_PENDING_ERROR,\n pendingActivityState: {\n approvalStatus: {\n loading: false,\n error\n }\n }\n };\n};\n\nexport const approvePending = (id, approvalStatus, reason, emailParams) => async (dispatch) => {\n dispatch(approvePendingBeginAC());\n try {\n const response = await activityApproval(id, approvalStatus, reason);\n dispatch(approvePendingSuccessAC(response));\n //DONE: This call will be done in the backend\n // if(response.status === 200){\n // activityEmail(emailParams);\n // }\n return response;\n } catch (error) {\n dispatch(approvePendingErrorAC(error));\n }\n}\n\nexport const setMemberActivityAC = (member, activity) => {\n return {\n type: Types.SET_MEMBER_ACTIVITY,\n pendingActivityState: {\n member,\n activity\n }\n }\n}\n\nexport const setMemberActivity = (member, activity) => (dispatch) => dispatch(setMemberActivityAC(member, activity));\n","export const APPROVE_PENDING_BEGIN = \"APPROVE_PENDING_BEGIN\",\nAPPROVE_PENDING_SUCCESS = \"APPROVE_PENDING_SUCCESS\",\nAPPROVE_PENDING_ERROR = \"APPROVE_PENDING_ERROR\",\nSET_MEMBER_ACTIVITY = \"SET_MEMBER_ACTIVITY\";","import * as EndPoints from \"./APIendpoint\";\nimport Axios from \"axios\";\n\nexport const getActivitiesAPI = async () => {\n const requestConfig = {\n url: EndPoints.BASE + EndPoints.GET_ACTIVITY_TYPE_LIST,\n method: 'get',\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n }\n return await Axios(requestConfig,);\n}\n\nexport const getFirearmAPI = async () => {\n const requestConfig = {\n url: EndPoints.BASE + EndPoints.GET_FIREARMTYPE_LIST,\n method: 'get',\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n }\n return await Axios(requestConfig);\n}\n\nexport const getOpticsAPI = async () => {\n const requestConfig = {\n url: EndPoints.BASE + EndPoints.GET_OPTICS_LIST,\n method: 'get',\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n }\n return await Axios(requestConfig, );\n}\n\nexport const getAssociationsAPI = async () => {\n const requestConfig = {\n url: EndPoints.BASE + EndPoints.GET_ACTIVITYDISC_LIST,\n method: 'get',\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n }\n return await Axios(requestConfig);\n}\n\nexport const getActivityEventsAPI = async () => {\n const requestConfig = {\n url: EndPoints.BASE + EndPoints.ACTIVITY_EVENT_LIST,\n method: 'get',\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n }\n return await Axios(requestConfig);\n}\n\nexport const uploadActivityAPI = async (data) => {\n const requestConfig = {\n url: EndPoints.BASE + EndPoints.ACT_UPLOAD,\n method: 'post',\n data,\n headers: {\n 'Content-type': 'multipart/form-data',\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n }\n return await Axios(requestConfig);\n}","import * as Types from './NewActivityActionTypes';\nimport {UPDATE_MEMBERS_AREA} from \"../../../store/actions/actionTypes\";\nimport * as APICalls from '../../../API/APICalls';\n\nexport const goBackAC = (value, vname) => {\n return {\n type: UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n };\n};\n\nexport const goBack = (value, vname) => (dispatch) => dispatch(goBackAC(value, vname));\n\nexport const resetAC = (value, vname) => {\n return {\n type: Types.NEW_ACT_RESET,\n };\n};\n\nexport const reset = () => (dispatch) => dispatch(resetAC());\n\nexport const toggleIsNarfoEventAC = (value) => {\n return {\n type: Types.NEW_ACT_TOGGLE_NARFO_EVENT,\n newActivityState: {\n isNarfoEvent: value\n }\n };\n};\n\nexport const toggleIsNarfoEvent = (value) => (dispatch) => {\n return dispatch(toggleIsNarfoEventAC(value));\n};\n\nexport const toggleFileInputAC = () => {\n return {\n type: Types.NEW_ACT_TOGGLE_FILE_INPUT,\n };\n};\n\nexport const toggleFileInput = () => (dispatch) => {\n return dispatch(toggleFileInputAC());\n};\n\nexport const addFileAC = (file) => {\n return {\n type: Types.NEW_ACT_ADD_FILE,\n newActivityState: {\n documents: file\n }\n }\n}\n\nexport const addFile = (file) => (dispatch) => dispatch(addFileAC(file));\n\nexport const removeFileAC = (file) => {\n return {\n type: Types.NEW_ACT_REMOVE_FILE,\n newActivityState: {\n documents: file\n }\n }\n}\n\nexport const removeFile = (file) => (dispatch) => dispatch(removeFileAC(file));\n\nexport const setDateAC = (date) => {\n return {\n type: Types.NEW_ACT_SET_DATE,\n newActivityState: {\n date\n }\n }\n}\nexport const setDate = (date) => (dispatch) => dispatch(setDateAC(date));\n\nexport const setAssociationAC = (association) => {\n return {\n type: Types.NEW_ACT_SET_ASSOCIATION,\n newActivityState: {\n association\n }\n }\n}\nexport const setAssociation = (association) => (dispatch) => dispatch(setAssociationAC(association));\n\nexport const setMemberNumberAC = (memberNumber) => {\n return {\n type: Types.NEW_ACT_SET_MEMBER_NUMBER,\n newActivityState: {\n memberNumber\n }\n }\n}\nexport const setMemberNumber = (memberNumber) => (dispatch) => dispatch(setMemberNumberAC(memberNumber));\n\nexport const setActivityEventAC = (activityEvent) => {\n return {\n type: Types.NEW_ACT_SET_ACTIVITY_EVENT,\n newActivityState: {\n activityEvent\n }\n }\n}\nexport const setActivityEvent = (activityEvent) => (dispatch) => dispatch(setActivityEventAC(activityEvent));\n\nexport const setEventDescAC = (desc) => {\n return {\n type: Types.NEW_ACT_SET_EVENT_DESCRIPTION,\n newActivityState: {\n eventDescription: desc\n }\n }\n}\nexport const setEventDesc = (desc) => (dispatch) => dispatch(setEventDescAC(desc));\n\nexport const setActivityTypeAC = (activity) => {\n return {\n type: Types.NEW_ACT_SET_ACTIVITY_TYPE,\n newActivityState: {\n activityType: activity\n }\n }\n}\nexport const setActivityType = (activity) => (dispatch) => dispatch(setActivityTypeAC(activity));\n\n\nexport const setFirearmTypeAC = (firearm) => {\n return {\n type: Types.NEW_ACT_SET_FIREARM_TYPE,\n newActivityState: {\n firearm\n }\n }\n}\nexport const setFirearmType = (firearm) => (dispatch) => dispatch(setFirearmTypeAC(firearm));\n\nexport const setOpticsAC = (optics) => {\n return {\n type: Types.NEW_ACT_SET_OPTICS,\n newActivityState: {\n optics\n }\n }\n}\nexport const setOptics = (optics) => (dispatch) => dispatch(setOpticsAC(optics));\n\nexport const setCaliberAC = (caliber) => {\n return {\n type: Types.NEW_ACT_SET_CALIBER,\n newActivityState: {\n caliber\n }\n }\n}\nexport const setCaliber = (caliber) => (dispatch) => dispatch(setCaliberAC(caliber));\n\nexport const setScoreAC = (score) => {\n return {\n type: Types.NEW_ACT_SET_SCORE,\n newActivityState: {\n score\n }\n }\n}\nexport const setScore = (score) => (dispatch) => dispatch(setScoreAC(score));\n\nexport const uploadActivityBeginAC = () => {\n return {\n type: Types.NEW_ACT_UPLOAD_BEGIN,\n newActivityState: {\n uploadStatus: {\n loading: true,\n error: null\n }\n }\n }\n}\n\nexport const uploadActivityFailureAC = (error) => {\n return {\n type: Types.NEW_ACT_UPLOAD_FAILURE,\n newActivityState: {\n uploadStatus: {\n loading: false,\n error: error\n }\n }\n }\n}\n\nexport const uploadActivitySuccessAC = (response) => {\n return {\n type: Types.NEW_ACT_UPLOAD_SUCCESS,\n newActivityState: {\n uploadStatus: {\n loading: false,\n response\n }\n }\n }\n}\n\nexport const uploadActivity = (data) => async (dispatch) => {\n dispatch(uploadActivityBeginAC());\n try {\n const response = await APICalls.uploadActivityAPI(data);\n dispatch(uploadActivitySuccessAC(response))\n return response;\n } catch (error) {\n dispatch(uploadActivityFailureAC(error));\n }\n}\n\nexport const getActivityTypesBeginAC = () => {\n return {\n type: Types.NEW_ACT_GET_ACTIVITIES_BEGIN,\n newActivityState: {\n getActivityStatus: {\n loading: true,\n error: null\n }\n }\n }\n}\n\nexport const getActivityTypesFailureAC = (error) => {\n return {\n type: Types.NEW_ACT_GET_ACTIVITIES_FAILURE,\n newActivityState: {\n getActivityStatus: {\n loading: false,\n error: error\n }\n }\n }\n}\n\nexport const getActivityTypesSuccessAC = (response) => {\n return {\n type: Types.NEW_ACT_GET_ACTIVITIES_SUCCESS,\n newActivityState: {\n getActivityStatus: {\n loading: false,\n response,\n },\n activityTypes: response.data\n }\n }\n}\n\nexport const getActivityTypes = () => async (dispatch) => {\n dispatch(getActivityTypesBeginAC());\n try {\n const response = await APICalls.getActivitiesAPI();\n dispatch(getActivityTypesSuccessAC(response))\n return response;\n } catch (error) {\n dispatch(getActivityTypesFailureAC(error));\n }\n}\n\nexport const getOpticsBeginAC = () => {\n return {\n type: Types.NEW_ACT_GET_OPTICS_BEGIN,\n newActivityState: {\n getOpticsStatus: {\n loading: true,\n error: null\n }\n }\n }\n}\n\nexport const getOpticsFailureAC = (error) => {\n return {\n type: Types.NEW_ACT_GET_OPTICS_FAILURE,\n newActivityState: {\n getOpticsStatus: {\n loading: false,\n error: error\n }\n }\n }\n}\n\nexport const getOpticsSuccessAC = (response) => {\n return {\n type: Types.NEW_ACT_GET_OPTICS_SUCCESS,\n newActivityState: {\n getOpticsStatus: {\n loading: false,\n response,\n },\n opticsList: response.data\n }\n }\n}\n\nexport const getOptics = () => async (dispatch) => {\n dispatch(getOpticsBeginAC());\n try {\n const response = await APICalls.getOpticsAPI();\n dispatch(getOpticsSuccessAC(response))\n return response;\n } catch (error) {\n dispatch(getOpticsFailureAC(error));\n }\n}\n\nexport const getFirearmTypesBeginAC = () => {\n return {\n type: Types.NEW_ACT_GET_FIREARM_TYPES_BEGIN,\n newActivityState: {\n getFirearmTypesStatus: {\n loading: true,\n error: null\n }\n }\n }\n}\n\nexport const getFirearmTypesFailureAC = (error) => {\n return {\n type: Types.NEW_ACT_GET_FIREARM_TYPES_FAILURE,\n newActivityState: {\n getFirearmTypesStatus: {\n loading: false,\n error: error\n }\n }\n }\n}\n\nexport const getFirearmTypesSuccessAC = (response) => {\n return {\n type: Types.NEW_ACT_GET_FIREARM_TYPES_SUCCESS,\n newActivityState: {\n getFirearmTypesStatus: {\n loading: false,\n response,\n },\n firearmTypes: response.data\n }\n }\n}\n\nexport const getFirearmtypes = () => async (dispatch) => {\n dispatch(getFirearmTypesBeginAC());\n try {\n const response = await APICalls.getFirearmAPI();\n dispatch(getFirearmTypesSuccessAC(response))\n return response;\n } catch (error) {\n dispatch(getFirearmTypesFailureAC(error));\n }\n}\n\nexport const getAssociationsBeginAC = () => {\n return {\n type: Types.NEW_ACT_GET_ASSOCIATIONS_BEGIN,\n newActivityState: {\n getAssociationsStatus: {\n loading: true,\n error: null\n }\n }\n }\n}\n\nexport const getAssociationsFailureAC = (error) => {\n return {\n type: Types.NEW_ACT_GET_ASSOCIATIONS_FAILURE,\n newActivityState: {\n getAssociationsStatus: {\n loading: false,\n error: error\n }\n }\n }\n}\n\nexport const getAssociationsSuccessAC = (response) => {\n return {\n type: Types.NEW_ACT_GET_ASSOCIATIONS_SUCCESS,\n newActivityState: {\n getAssociationsStatus: {\n loading: false,\n response,\n },\n associationsList: response.data\n }\n }\n}\n\nexport const getAssociations = () => async (dispatch) => {\n dispatch(getAssociationsBeginAC());\n try {\n const response = await APICalls.getAssociationsAPI();\n dispatch(getAssociationsSuccessAC(response))\n return response;\n } catch (error) {\n dispatch(getAssociationsFailureAC(error));\n }\n}\n\nexport const getActivityEventsBeginAC = () => {\n return {\n type: Types.NEW_ACT_GET_ACTIVITY_EVENT_BEGIN,\n newActivityState: {\n getActivityEventsStatus: {\n loading: true,\n error: null\n }\n }\n }\n}\n\nexport const getActivityEventsFailureAC = (error) => {\n return {\n type: Types.NEW_ACT_GET_ACTIVITY_EVENT_FAILURE,\n newActivityState: {\n getActivityEventsStatus: {\n loading: false,\n error: error\n }\n }\n }\n}\n\nexport const getActivityEventsSuccessAC = (response) => {\n return {\n type: Types.NEW_ACT_GET_ACTIVITY_EVENT_SUCCESS,\n newActivityState: {\n getActivityEventsStatus: {\n loading: false,\n response,\n },\n activityEventList: response.data\n }\n }\n}\n\nexport const getActivityEvents = () => async (dispatch) => {\n dispatch(getActivityEventsBeginAC());\n try {\n const response = await APICalls.getActivityEventsAPI();\n dispatch(getActivityEventsSuccessAC(response))\n return response;\n } catch (error) {\n dispatch(getActivityEventsFailureAC(error));\n }\n}","export const NEW_ACT_ACTIVITY_EVENT = 'NEW_ACT_ACTIVITY_EVENT',\n NEW_ACT_ADD_FILE = 'NEW_ACT_ADD_FILE',\n NEW_ACT_REMOVE_FILE = 'NEW_ACT_REMOVE_FILE',\n NEW_ACT_SET_DATE = 'NEW_ACT_SET_DATE',\n NEW_ACT_SET_ASSOCIATION = 'NEW_ACT_SET_ASSOCIATION',\n NEW_ACT_SET_MEMBER_NUMBER = 'NEW_ACT_SET_MEMBER_NUMBER',\n NEW_ACT_SET_ACTIVITY_EVENT = 'NEW_ACT_SET_ACTIVITY_EVENT',\n NEW_ACT_TOGGLE_NARFO_EVENT = 'NEW_ACT_TOGGLE_NARFO_EVENT',\n NEW_ACT_SET_EVENT_DESCRIPTION = 'NEW_ACT_SET_EVENT_DESCRIPTION',\n NEW_ACT_SET_ACTIVITY_TYPE = 'NEW_ACT_SET_ACTIVITY_TYPE',\n NEW_ACT_SET_FIREARM_TYPE = 'NEW_ACT_SET_FIREARM_TYPE',\n NEW_ACT_SET_OPTICS = 'NEW_ACT_SET_OPTICS',\n NEW_ACT_SET_SCORE = 'NEW_ACT_SET_SCORE',\n NEW_ACT_SET_CALIBER = 'NEW_ACT_SET_CALIBER',\n NEW_ACT_UPLOAD_BEGIN = 'NEW_ACT_UPLOAD_BEGIN',\n NEW_ACT_UPLOAD_FAILURE = 'NEW_ACT_UPLOAD_FAILURE',\n NEW_ACT_UPLOAD_SUCCESS = 'NEW_ACT_SET_SUCCESS',\n NEW_ACT_GET_ACTIVITIES_SUCCESS = 'NEW_ACT_GET_ACTIVITIES_SUCCESS',\n NEW_ACT_GET_ACTIVITIES_BEGIN = 'NEW_ACT_GET_ACTIVITIES_BEGIN',\n NEW_ACT_GET_ACTIVITIES_FAILURE = 'NEW_ACT_GET_ACTIVITIES_FAILURE',\n NEW_ACT_GET_OPTICS_SUCCESS = 'NEW_ACT_GET_OPTICS_SUCCESS',\n NEW_ACT_GET_OPTICS_BEGIN = 'NEW_ACT_GET_OPTICS_BEGIN',\n NEW_ACT_GET_OPTICS_FAILURE = 'NEW_ACT_GET_OPTICS_FAILURE',\n NEW_ACT_GET_FIREARM_TYPES_SUCCESS = 'NEW_ACT_GET_FIREARM_TYPES_SUCCESS',\n NEW_ACT_GET_FIREARM_TYPES_BEGIN = 'NEW_ACT_GET_FIREARM_TYPES_BEGIN',\n NEW_ACT_GET_FIREARM_TYPES_FAILURE = 'NEW_ACT_GET_FIREARM_TYPES_FAILURE',\n NEW_ACT_GET_ASSOCIATIONS_SUCCESS = 'NEW_ACT_GET_ASSOCIATIONS_SUCCESS',\n NEW_ACT_GET_ASSOCIATIONS_BEGIN = 'NEW_ACT_GET_ASSOCIATIONS_BEGIN',\n NEW_ACT_GET_ASSOCIATIONS_FAILURE = 'NEW_ACT_GET_ASSOCIATIONS_FAILURE',\n NEW_ACT_GET_ACTIVITY_EVENT_SUCCESS = 'NEW_ACT_GET_ACTIVITY_EVENT_SUCCESS',\n NEW_ACT_GET_ACTIVITY_EVENT_BEGIN = 'NEW_ACT_GET_ACTIVITY_EVENT_BEGIN',\n NEW_ACT_GET_ACTIVITY_EVENT_FAILURE = 'NEW_ACT_GET_ACTIVITY_EVENT_FAILURE',\n NEW_ACT_TOGGLE_FILE_INPUT = 'NEW_ACT_TOGGLE_FILE_INPUT',\n NEW_ACT_RESET = 'NEW_ACT_RESET';\n\n\n","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE, FRONT } from \"../../../../API/APIendpoint\";\nimport { toast } from 'react-toastify';\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../../store/actions/actionTypes\";\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { Typography } from '@material-ui/core';\nimport { Button } from \"react-bootstrap\";\n\ntoast.configure();\nclass ActivityInfo extends Component {\n constructor(props) {\n super(props);\n this.state = {\n activityLink: \"\",\n docName: \"\",\n type: \"\",\n gallery: null,\n checked: false,\n rejectReason:'',\n rejectReasonUpdate:'',\n activityEvent: [],\n _activityDescription: this.props.activity.activityDescription\n };\n }\n componentDidMount() {\n Axios.get(BASE + \"api/Activities/\" + this.props.activity.activityId, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }).then(\n res => {\n this.setState({\n activityLink: res.data.link\n });\n }\n );\n Axios({\n url: `${BASE}api/ActivityEventLookups`,\n method: \"get\",\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}` }\n })\n .then(res => {\n this.setState({\n activityEvent: res.data\n })\n })\n\n //Check if the activity has a gallery item \n Axios({\n url: `${BASE}api/Gallery/HasGallleryItem?activityId=${this.props.activity.activityId}`,\n method: \"get\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(response => {\n this.setState({gallery: response.data, checked: response.data.approved});\n });\n }\n\n handleChange = (event) => {\n event.preventDefault();\n this.setState({checked: !this.state.checked});\n\n //send API to approve the gallery item\n let payload = {\n Id: this.state.gallery.id,\n ActivityId: this.props.activity.activityId,\n Approved: !this.state.checked\n }\n this.approveGallery(payload);\n\n };\n\n handleRejectionReason = () => {\n\n this.setState({rejectReasonUpdate: this.state.rejectReason})\n let payload = {\n Id: this.state.gallery.id,\n ActivityId: this.props.activity.activityId,\n rejectionReason: this.state.rejectReason\n }\n this.rejectionReasonForGallery(payload);\n\n };\n\n approveGallery =(payload)=>{\n Axios({\n url: `${BASE}api/Gallery/ApproveGallery`,\n method: \"post\",\n data: payload,\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n });\n }\n\n rejectionReasonForGallery =(payload)=>{\n Axios({\n url: `${BASE}api/Gallery/RejectGallery`,\n method: \"post\",\n data: payload,\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n });\n }\n\n updateActivityDescription = e => {\n e.preventDefault();\n Axios({\n url: `${BASE}api/Activities/${this.props.activity.activityId}/${e.currentTarget.value.split('~')[0]}`,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n toast.success(res.data.message)\n this.setState({\n _activityDescription: res.data.activity.activityDescription\n });\n });\n\n };\n render() {\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n if (this.props.activity)\n return (\n \n {info(\"Member Number:\", this.props.activity.memNo)}\n {info(\"Activity ID:\", `Activity ${this.props.activity.activityId}`)}\n {info(\"Activity Date:\", this.props.activity.activityDate.toString().split(\"T\")[0])}\n {info(\"Activity Description:\",\n {this.updateActivityDescription(e);this.props.onActivityDescriptionChange(e.currentTarget.value)}}\n >\n \n {this.state.activityEvent.map(\n (act, i) => (\n \n )\n )}\n \n )}\n {info(\"Firearm Type:\", this.props.activity.firearmType)}\n {info(\"Caliber:\", this.props.activity.caliber)}\n {info(\"Association:\", this.props.activity.association)}\n {this.state.activityLink === \"NULL\" || !this.state.activityLink ? (\n
Null:
\n ) : (\n \n Document\n \n )}\n
\n\n {this.state.gallery && <>\n {\n this.state.checked ? Approved for Gallery \n : Approve Activity for Gallery: \n }\n
\n\n {!this.state.checked &&\n
\n
\n {\n this.setState({\n rejectReason: event.target.value\n })\n }}\n placeholder=\"Provide a reason for gallery rejection\"\n />\n\n
\n
\n {\n (this.state.rejectReason == this.state.rejectReasonUpdate ) && (this.state.rejectReason != '')\n ? updated\n :\n }\n
\n
\n }\n }\n\n \n );\n else return null;\n }\n}\nconst mapDispatchToProps = dispatch => {\nreturn {\n onActivityDescriptionChange: ActDescription =>\n dispatch({ \n type: actionTypes.UPDATE_SELECTED_ACTIVITY_DESCRIPTION, \n selectedActivityDescription: ActDescription \n })\n };\n };\nexport default connect(\nnull,\nmapDispatchToProps\n)(ActivityInfo);\n","import React, { Component } from 'react'\nimport Axios from 'axios';\nimport { connect } from \"react-redux\";\nimport { BASE } from '../../../../API/APIendpoint';\nimport { toast } from 'react-toastify';\ntoast.configure();\nclass ActivitySummary extends Component {\n constructor(props) {\n super(props);\n this.state = {\n _activityScore: this.props.activity.score,\n activityEvent: []\n }\n }\n componentDidMount() {\n Axios({\n url: `${BASE}api/Activities/${this.props.activity.activityId}`,\n method: \"get\",\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({_activityScore: res.data.score})\n })\n Axios({\n url: `${BASE}api/ActivityEventLookups`,\n method: \"get\",\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}` }\n })\n .then(res => {\n this.setState({\n activityEvent: res.data\n })\n })\n }\n updateActivityScore = e => {\n e.preventDefault();\n Axios({\n url: `${BASE}api/Activities/updateActivityScore/${this.props.activity.activityId}/${this.state._activityScore}`,\n method: \"post\",\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n if(res.data.status){\n toast.success(res.data.message);\n } else {\n toast.error(res.data.message);\n }\n })\n }\n render() {\n if(this.props.activity) \n return (\n
\n

{this.props.activity.activityType}

\n

{this.props.activity.activityDate.split(\"T\")[0]}

\n
\n
\n {this.props.selectedActivityDescription.split('~')[1] === '1' || this.props.activity.score !== '0' ?\n
\n \n {\n this.setState({\n _activityScore: a.target.value\n });\n }}\n />\n
\n this.updateActivityScore(e)}\n >\n UPDATE\n \n
\n
: null}\n
\n
\n

{this.props.activity.status}

\n\n
\n );\n else return null;\n }\n}\nconst mapStateToProps = state => {\n return {\n selectedActivityDescription: state.ActivityAprrovalReducer.selectedActivityDescription\n };\n };\nexport default connect(\nmapStateToProps,\nnull\n)(ActivitySummary);\n","export const approvalStatus = {\n approve: 1,\n reject: 2\n};\n","import React, { Component } from \"react\";\nimport { approvalStatus } from \"./PendingActivityConstants\";\nimport { connect } from \"react-redux\";\nimport Axios from \"axios\";\nimport { BASE } from \"../../../../API/APIendpoint\";\nimport { Link } from \"react-router-dom\";\nimport { Button, Container, Grid, Paper, Typography} from '@material-ui/core';\nimport { DASHBOARD_ACTIONS } from \"../../../../store/actions/actionTypes\";\nclass ApprovalSection extends Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n showTextArea: false,\n rejectReason: null,\n pendingCount: 0,\n _activitiesArray: this.props.activitiesArray\n }\n\n\n console.log(navigator.userAgent);\n \n }\n updatePending = () => {\n let _updatedActivities = [...this.state._activitiesArray];\n \n _updatedActivities.forEach(element => {\n if(element.activityId === this.props.activity.activityId) {\n element.status = \"Approved\" \n } \n })\n return _updatedActivities;\n }\n\n initialButtons = () => {\n return (\n
\n
\n \n {\n const emailParam = {\n toEmail: this.props.user.email,\n Subject: \"Activity Approved\",\n Body: \"\",\n Firstname: this.props.user.firstname,\n Surname: this.props.user.surname,\n ApplicationStatus: \"Approved\",\n Reason: null\n }\n this.props.approveActivity(\n this.props.activity.activityId,\n approvalStatus.approve,\n \"it is legitimate\",\n emailParam\n )\n Axios.post(BASE + \"api/Member/extendMembershipDays/\" + this.props.user.email + \"/\" + this.props.loyaltyDaysObject.generalActivity + \"/generalActivity\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(Axios({\n url: BASE + \"api/AutomatedEmail/post/SendLoyaltyEmail/\" + this.props.pendingActivityState.activity.activityDescription + \"/\" + this.props.loyaltyDaysObject.generalActivity,\n method: \"post\",\n data: emailParam,\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }))\n this.props.onActivityObjectUpdate(\n 0,\n this.updatePending()\n )\n this.props.backToList()\n }}\n >\n Approve\n \n \n
\n
\n \n this.setState({\n showTextArea: true\n })\n }\n >\n Reject\n \n
\n
\n );\n }\n\n rejectButtons = () => {\n return (\n
\n
\n\n {\n this.setState({\n showTextArea: false\n })\n const emailParam = {\n toEmail: this.props.user.email,\n Subject: \"Activity Rejected\",\n Body: \"\",\n Firstname: this.props.user.firstname,\n Surname: this.props.user.surname,\n ApplicationStatus: \"Rejected\",\n Reason: this.state.rejectReason\n }\n this.props.approveActivity(\n this.props.activity.activityId,\n approvalStatus.reject,\n this.state.rejectReason,\n emailParam\n )\n\n this.props.backToList()\n }}\n >\n Reject\n \n
\n
\n {\n this.setState({\n showTextArea: false\n })\n }\n }\n >\n Cancel\n \n
\n
\n );\n }\n render() {\n return (\n
\n {this.props.loading ? \"Loading please wait...\" :\n
\n {!this.state.showTextArea ?\n this.initialButtons() :\n <>\n
\n {\n this.setState({\n rejectReason: event.target.value\n })\n }}\n placeholder=\"Provide a reason\"\n />\n
\n {this.rejectButtons()}\n\n \n }\n
\n }\n {/* Back */}\n {/* */}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n pendingCount: state.dashBoardReducer.activities.pendingCount,\n activitiesArray: state.dashBoardReducer.activities.activities,\n loading: state.pendingActivityState.approvalStatus.loading,\n user: state.pendingActivityState.member,\n pendingActivityState: state.pendingActivityState,\n loyaltyDaysObject: state.LoyaltyDaysReducer.loyaltyDaysObject\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onActivityObjectUpdate: (pendingCount, activities) =>\n dispatch({\n type: DASHBOARD_ACTIONS.UPDATE_ACTIVITY_OBJECT,\n activities: {\n pendingCount: pendingCount,\n activities: activities\n }\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ApprovalSection);\n","import React from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as PendingActivityActions from \"./PendingActivitySubComponents/PendingActivityActions\";\nimport * as NewActActions from \"../../loggeddInUser/activitiesPage/NewActivityActions\";\nimport { bindActionCreators } from \"redux\";\nimport ActivityInfo from \"./PendingActivitySubComponents/ActivityInfo\";\nimport ActivitySummary from \"./PendingActivitySubComponents/ActivitySummary\";\nimport UserSection from \"./PendingActivitySubComponents/UserSection\";\nimport ApprovalSection from \"./PendingActivitySubComponents/ApprovalSection\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\n\nclass ApprovePendingActivities extends React.Component {\n constructor(props) {\n super(props);\n if(!this.props.loggedIn){\n this.props.history.push(\"/\");\n }\n }\n render() {\n return (\n
\n {this.props.history.push(\"PendingActivityApplication\"); this.props.onActivityDescriptionChange('')}} \n title=\"Activity\"/>\n \n \n \n {this.props.history.push(\"PendingActivityApplication\")}}\n />\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n memberNumber: state.loginReducer.userProfileDetails.memberNumber,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn,\n newActivityState: state.newActivityState,\n pendingActivityState: state.pendingActivityState\n };\n};\n\nconst styles = theme => ({});\n\nconst mapActionsToProps = dispatch => ({\n PendingActivityActions: bindActionCreators(PendingActivityActions, dispatch),\n NewActActions: bindActionCreators(NewActActions, dispatch),\n onActivityDescriptionChange: ActDescription =>\n dispatch({ \n type: actionTypes.UPDATE_SELECTED_ACTIVITY_DESCRIPTION, \n selectedActivityDescription: ActDescription \n })\n});\n\nexport default connect(\n mapStateToProps,\n mapActionsToProps\n)(withStyles(styles)(ApprovePendingActivities));\n","import React, { Component } from \"react\";\nimport axios from \"axios\";\nimport { BASE } from \"../../API/APIendpoint\";\n\nclass DedicatedHunterMembers extends Component {\n constructor() {\n super();\n this.state = {\n dhDetails: [{}]\n // dhDetails2: []\n };\n }\n componentWillMount() {\n axios\n .get(BASE +\"/api/Member/all/DHMembers\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n this.setState({\n dhDetails: response.data\n });\n });\n }\n\n render() {\n return (\n
\n
    \n {this.state.dhDetails.map((details, index) => (\n
  • \n {details.result\n ? `${details.result.value.members.memNo} \n ${details.result.value.members.firstname} \n ${details.result.value.members.surname}`\n : null}\n
  • \n ))}\n
\n
\n );\n }\n}\n\nexport default DedicatedHunterMembers;\n","import React from \"react\";\nimport { isMobile } from \"react-device-detect\"\nfunction LoyaltyDaysItem(props) {\n let textPosition = \"\";\n if(isMobile) {\n textPosition = \"text-centre\"\n } else {\n textPosition = \"text-right\"\n }\n return(\n \n \n {props.loyaltyTitle}\n \n
Current :
\n
{props.loyaltyDays}
\n \n \n
New
\n {\" \"}\n \n {props.daysList.map((item,index) => {\n return(\n \n )\n })}\n \n \n \n \n )\n}\nexport default LoyaltyDaysItem;","import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport \"./ldays.css\";\nimport LoyaltyDaysItem from \"./LoyaltyDaysItem\";\nclass UpdateLoyaltyDays extends Component {\n state = {\n daysArray: [],\n dedicateStatusDays: 0,\n courseDays: 0,\n endorsementDays: 0,\n generalActivity: 0\n }\n onSubmit = () => {\n axios({\n url: BASE + \"api/LoyaltyDaysAdjust/updateLoyaltyDays/\" + this.state.dedicateStatusDays\n + \"/\" + this.state.courseDays + \"/\" + this.state.endorsementDays + \"/\" + this.state.generalActivity,\n data: this.state.selectedDeletedFile,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n if(res.data.status === \"success\") {\n this.props.onLoyaltyDaysChange({\n ldaId: 1, \n dedicateStatusDays: this.state.dedicateStatusDays, \n courseDays: this.state.courseDays, \n endorsementDays: this.state.endorsementDays, \n generalActivity: this.state.generalActivity\n })\n }\n else\n alert(res.data.message);\n });\n };\n componentDidMount(){\n var num = 0;\n const tempDaysArray = [];\n while(num <= 50) {\n tempDaysArray.push(num);\n num ++;\n }\n this.setState({\n daysArray: tempDaysArray\n })\n }\n render(){\n return(\n
\n
\n \n
\n \n {\n this.setState({\n dedicateStatusDays: a.target.value\n });\n }}\n daysList={this.state.daysArray}\n />\n {\n this.setState({\n courseDays: a.target.value\n });\n }}\n daysList={this.state.daysArray}\n />\n {\n this.setState({\n endorsementDays: a.target.value\n });\n }}\n daysList={this.state.daysArray}\n />\n {\n this.setState({\n generalActivity: a.target.value\n });\n }}\n daysList={this.state.daysArray}\n />\n
\n
\n \n \n \n
\n
\n )\n }\n}\nconst mapStateToProps = state => {\n return {\n loyaltyDaysObject: state.LoyaltyDaysReducer.loyaltyDaysObject\n };\n };\nconst mapDispatchToProps = dispatch => {\n return {\n onLoyaltyDaysChange: loyaltyDaysObjectDisp =>\n dispatch({\n type:actionTypes.GET_LOYALTY_DAYS,\n loyaltyDaysObject: loyaltyDaysObjectDisp\n })\n }\n}\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n )(UpdateLoyaltyDays);","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nfunction DashBoardRowItems(props) {\n return(\n \n
\n
\n
\n
\n \"Star\"\n
\n
\n
\n
\n {props.dItemName}\n
\n \n {props.dItemCount}\n
\n
\n
\n
\n
\n \n \n );\n}\nexport default DashBoardRowItems;","import React, { Component } from \"react\";\nimport axios from \"axios\";\nimport \"./styles/dstyle.css\";\nimport star from \"./images/star.jpg\";\nimport gun from \"./images/gun.png\";\nimport activity from \"./images/activity.png\";\nimport newMember from \"./images/newMember.png\";\nimport memRenewal from \"./images/renewal.png\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\nimport { connect } from \"react-redux\";\nimport { DASHBOARD_ACTIONS } from \"../../store/actions/actionTypes\";\nimport {\n BASE\n} from \"../../API/APIendpoint\";\nimport DashBoardRowItems from \"./DashBoardRowItems\";\nclass Dashboard extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: false,\n activitiesCount: 0,\n endorsementsCount:0,\n dsCount:0\n };\n if (!this.props.loggedIn) {\n this.props.history.push(\"/\");\n }\n }\n componentWillMount() {\n // this.setState({ loading: true});\n //Get Item count for dashboard \n this.setState({ loading: true});\n\n axios.get(BASE + \"api/Activities/GetDashboardItemCount\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n let pendingEndorsements = response.data.pendingEndorsements;\n let pendingActivities = response.data.pendingActivities;\n let pendingDS = response.data.pendingDS;\n // let members = response.data.members;\n this.setState({ loading: false, activitiesCount:pendingActivities.length, endorsementsCount: pendingEndorsements.length, dsCount: pendingDS.length});\n \n this.props.onStatusAChange(pendingActivities);\n this.props.onStatusEndorsementChange(pendingEndorsements);\n this.props.onStatusDSChange(pendingDS);\n // this.props.onMemberNumberChange(members);//Members are required in order to process activities,endorsements and ds statuses\n \n })\n .catch(err => {\n alert(\"Unable to log status please try again later\");\n });\n // this.setState({ loading: false});\n }\n render() {\n if (this.state.loading) {\n return (\n
\n
\n \n
\n
\n

\n Loading the dashboard. Please wait ...\n

\n
\n
\n );\n }\n return (\n
\n
\n
Dashboard
\n
Pending approvals
\n
\n {/* \n */}\n \n \n \n \n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n\ttoken: state.AuthReducer.token,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn,\n pendingA: state.dashBoardReducer.activities.pendingCount,\n pendingNR: state.dashBoardReducer.newRenewals.pendingNRCount,\n pendingNM: state.dashBoardReducer.newMembers.pendingNMCount,\n pendingDS: state.dashBoardReducer.pendingDS,\n dsCount: state.dashBoardReducer.pendingDS.length,\n pendingAE: state.dashBoardReducer.endorsements.pendingEndorsementCount,\n pendings: state.dashBoardReducer.pendings,\n membersDSS: state.dashBoardReducer.membersDSS,\n membersDH: state.dashBoardReducer.membersDH,\n membersPending: state.dashBoardReducer.membersPending,\n membersRenewal: state.dashBoardReducer.membersRenewal,\n pendingNewMembers: state.dashBoardReducer.newMembers,\n pendingRenewals: state.dashBoardReducer.newRenewals,\n pendingEndorsements: state.dashBoardReducer.endorsements,\n endorsements: state.dashBoardReducer.endorsements,\n dedicatedStatus: state.dashBoardReducer.dedicatedStatus\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n // onDSSMembersChange: newDSSMembers =>\n // dispatch({\n // type: DASHBOARD_ACTIONS.UPDATE_DSS_MEMBERS,\n // membersDSS: newDSSMembers\n // }),\n // onDHMembersChange: newDHMembers =>\n // dispatch({\n // type: DASHBOARD_ACTIONS.UPDATE_DH_MEMBERS,\n // membersDH: newDHMembers\n // }),\n onStatusAChange: _activities =>\n dispatch({\n type: DASHBOARD_ACTIONS.GET_ACTIVITIES,\n activities: {\n pendingCount: _activities.length,\n activities: _activities\n }\n }),\n\n // onStatusNewMemberChange: _newMembers =>\n // dispatch({\n // type: DASHBOARD_ACTIONS.GET_ALL_PENDING_MEMBERS_URL,\n // newMembers: {\n // pendingNMCount: _newMembers.filter(member => member.status === 2)\n // .length,\n // newMembers: _newMembers\n // }\n // }),\n // onStatusRenewalChange: _newRenewalMembers =>\n // dispatch({\n // type: DASHBOARD_ACTIONS.GET_ALL_RENEWAL_MEMEBRS_URL,\n // newRenewals: {\n // pendingNRCount: _newRenewalMembers.filter(\n // member => member.status === 4\n // ).length,\n // newRenewals: _newRenewalMembers\n // }\n // }),\n onStatusEndorsementChange: endorsements =>\n dispatch({\n type: DASHBOARD_ACTIONS.GET_ALL_ENDORSEMENTS_URL,\n endorsements: {\n pendingEndorsementCount: endorsements.length,\n pendingEndorsements: endorsements,\n allEndorsements: endorsements\n }\n }),\n\n //This updates any chnages made in the Pending DS application page\n //Remove and test \n onStatusDSChange: newPending =>\n dispatch({\n type: DASHBOARD_ACTIONS.UPDATE_DS_PENDINGS,\n pendingDS: newPending,\n dsCount: newPending.length\n }),\n onStatusAEChange: newPending =>\n dispatch({\n type: DASHBOARD_ACTIONS.UPDATE_AE_PENDINGS,\n pendingAE: newPending\n }),\n // onNewMemberStatusChange: pendings =>\n // dispatch({\n // type: DASHBOARD_ACTIONS.UPDATE_PENDINGS,\n // pendings: pendings\n // }),\n // onMemberNumberChange: members =>\n // dispatch({\n // type: DASHBOARD_ACTIONS.UPDATE_TOTAL_MEMBERS,\n // totalMembers: {\n // totalMembers: members.length,\n // members\n // }\n // }),\n // onNewMemberChange: membersPending =>\n // dispatch({\n // type: DASHBOARD_ACTIONS.UPDATE_PENDING_MEMBERS,\n // membersPending: membersPending\n // }),\n // onRenewalMemberChange: membersRenewal =>\n // dispatch({\n // type: DASHBOARD_ACTIONS.UPDATE_RENEWAL_MEMBERS,\n // membersRenewal: membersRenewal\n // }),\n // onNewMemberCount: membersPending =>\n // dispatch({\n // type: DASHBOARD_ACTIONS.UPDATE_PENDING_MEMBERS,\n // totalNewPandingMembers: {\n // totalNewPandingMembers: membersPending.length,\n // membersPending\n // }\n // }),\n // onRenewalMemberCount: membersRenewal =>\n // dispatch({\n // type: DASHBOARD_ACTIONS.UPDATE_TOTAL_MEMBERS,\n // totalRenewalMembers: {\n // totalRenewalMembers: membersRenewal.length,\n // membersRenewal\n // }\n // })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(Dashboard);\n","import React from \"react\";\nimport \"./styles/dstyle.css\";\n\nconst Bar = ({ percent, total, bColour }) => {\n const _percent = isNaN(percent) ? 0 : percent;\n const _total = isNaN(total) ? 0 : total;\n return (\n \n {_total}\n \n );\n};\n\nexport default Bar;\n// Show pending and approved members, have a button to link to all those members who are pending/approved\n","import React, { Component } from \"react\";\nimport Bar from \"./Bar\";\nimport { connect } from \"react-redux\";\nimport \"./styles/dstyle.css\";\n\nclass AdminMembers extends Component {\n constructor(props) {\n super(props);\n }\n toMemberCounts = () => {\n window.location = \"/MemberCounts\"\n }\n render() {\n const totalMembers = this.props.totalMembers.totalMembers;\n const dedicatedHunterMembers = this.props.membersDH.membersDedicatedHunter;\n const dedicatedSportShooterMembers = this.props.membersDSS.membersDSS;\n const nonDedicatedMembers =\n totalMembers - (dedicatedSportShooterMembers + dedicatedHunterMembers);\n return (\n
\n
\n
Members
\n
\n\n
\n
\n
this.toMemberCounts()}\n style={{ cursor: \"pointer\" }}\n > \n \n
\n
\n
Total Members
\n
\n\n
\n
\n
\n \n
\n
\n
Dedicated Sport Shooter Members
\n
\n
\n
\n
\n \n
\n
\n
Dedicated Hunter Members
\n
\n\n
\n
\n
\n \n
\n
\n
Non Dedicated Members
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n pendingA: state.dashBoardReducer.activities.pendingCount,//pendingA,\n pendingDS: state.dashBoardReducer.pendingDS,\n pendingAE: state.dashBoardReducer.pendingAE,\n pendings: state.dashBoardReducer.pendings,\n membersDSS: state.dashBoardReducer.membersDSS,\n membersDH: state.dashBoardReducer.membersDH,\n totalMembers: state.dashBoardReducer.totalMembers\n };\n};\n\nexport default connect(mapStateToProps)(AdminMembers);\n","import React, { Component } from \"react\";\nimport Dashboard from \"./Dashboard\";\nimport AdminMembers from \"./AdminMembers\";\nimport { connect } from \"react-redux\";\n\nclass MainAdmin extends Component {\n componentDidMount() {\n if (sessionStorage.getItem(\"reload\") === \"true\") {\n sessionStorage.setItem(\"reload\", \"false\");\n caches.delete();\n window.location.reload(false);\n }\n }\n render() {\n return (\n
\n \n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails\n };\n};\nexport default connect(mapStateToProps)(MainAdmin);\n","import { withStyles } from \"@material-ui/core/styles\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport defaultImg from \"../images/dProfile.jpg\";\nimport defaultImgGl from \"../images/gl.jpg\";\nimport \"../styles/dstyle.css\";\nimport { styles } from \"./../../../utils/styles/styles\";\nclass MembershipRenewal extends Component {\n constructor(props) {\n super(props);\n this.findMember = this.findMember.bind(this);\n if (!this.props.loggedIn) {\n this.props.history.push(\"/\");\n }\n }\n findMember = MemNo => {\n return this.props.memberList.filter(member => member.memNo === MemNo);\n };\n\n //TODO: will come back to the sorting\n sortByFirstName = array => {\n return array.sort((a, b) =>\n a.firstname > b.firstname ? 1 : b.firstname > a.firstname ? -1 : 0\n );\n };\n\n handleSubmit = member => {\n this.props.onMemberViewChange(member);\n this.props.onRenewalMemberChange(member);\n this.props.history.push(\"/admin/ApproveMembershipRenewal\");\n };\n\n render() {\n const pendingRenewals = this.props.newRenewals.filter(\n members => members.status === 4\n );\n return (\n
\n
\n {\n this.props.history.push(\"/admin/MainAdmin\");\n }}\n />\n
\n {pendingRenewals.length === 0 ? (\n
No pending Renewals available currently...
\n ) : (\n
    \n {pendingRenewals.map((newRenewal, index) => {\n const member = this.findMember(newRenewal.memNo)[0];\n\n return (\n {\n this.handleSubmit(member);\n }}\n >\n
    \n
    \n
    \n {member\n ? `${member.firstname.toString().substring(0, 1)}`\n : null}\n
    \n \"Gun\"\n
    \n
    \n
    \n {member ? `${member.firstname} ${member.surname}` : null}\n
    \n
    \n {member ? `${member.idno}` : null}\n
    \n
    \n {member ? `${member.email}` : null}\n
    \n
    \n {member ? `Expiry Date: ${member.expiryDate.substring(0, 10)}` : null}\n
    \n
    \n Pending Member Renewal Approval\n
    \n
    \n
    \n
\n );\n })}\n \n )}\n \n );\n }\n}\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn,\n memberList: state.dashBoardReducer.totalMembers.members,\n newRenewals: state.dashBoardReducer.newRenewals.newRenewals\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n }),\n onRenewalMemberChange: membersRenewal =>\n dispatch({\n type: actionTypes.DASHBOARD_ACTIONS.UPDATE_RENEWAL_MEMBERS,\n membersRenewal: membersRenewal\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(MembershipRenewal)));\n","import React, { Component } from \"react\";\nimport defaultImg from \"../images/dProfile.jpg\";\nimport defaultImgGl from \"../images/gl.jpg\";\nimport { connect } from \"react-redux\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { styles } from \"../../../utils/styles/styles\";\nimport { withRouter } from \"react-router-dom\";\nimport { bindActionCreators } from \"redux\";\nimport * as PendingActivityActions from \"../Approvals/PendingActivitySubComponents/PendingActivityActions\";\nimport Axios from \"axios\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport Radio from \"@material-ui/core/Radio\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\nimport { DASHBOARD_ACTIONS } from \"../../../store/actions/actionTypes\";\n\nclass PendingActivityApplication extends Component {\n constructor(props) {\n super(props);\n this.state = {\n _allPendingActivities: true,\n _newPendingActivitiesForTheMonth: false,\n _currentMonth: new Date().getMonth() + 1 < 10 ? `0${new Date().getMonth() + 1}` : `${new Date().getMonth() + 1}`,\n members:[], // member per activity\n loading: true\n }\n if (!this.props.loggedIn) {\n this.props.history.push(\"/\");\n }\n }\n componentDidMount() {\n let _activities = this.props.activities?.filter(act => act.status =='Pending').slice(0, 10);\n this.props.onStatusAChange(_activities); //update activities on the store\n if(_activities)\n {\n _activities.forEach(act => {\n Axios({\n url: BASE + `api/Member/FindMemberByMemNo/${act.memNo}`,\n method: \"get\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({members : [...this.state.members,res.data] });\n })\n \n this.setState({ loading: false});\n \n });\n }\n else{\n this.setState({ loading: false});\n }\n\n }\n\n handleSubmit = (member, activity) => {\n this.props.PendingActivityActions.setMemberActivity(member, activity);\n this.props.history.push(\"/admin/ApprovePendingActivities\");\n };\n\n //TODO: will come back to the sorting\n sortByFirstName = array => {\n return array.sort((a, b) =>\n a.firstname > b.firstname ? 1 : b.firstname > a.firstname ? -1 : 0\n );\n };\n\n render() {\n const pendingFilteredDS = this.props.activities;\n return (\n
\n
\n this.props.history.push(\"/MainAdmin\")}\n />\n
\n {pendingFilteredDS.length === 0 ? (\n
There are currently no pending activities...
\n ) : (\n\n this.state.loading ?\n
\n
\n \n
\n
\n

\n Loading the activities. Please wait ...\n

\n
\n
\n :\n
    \n {pendingFilteredDS.map((activity, index) => {\n const member = this.state.members.filter(mem => activity.memNo == mem.memNo)[0];\n \n if (!member) {\n return null;\n }\n \n return (\n this.handleSubmit(member, activity)}\n >\n
    \n\n
    \n
    \n {member\n ? `${member.firstname.toString().substring(0, 1)}`\n : null}\n
    \n \"Gun\"\n
    \n
    \n
    \n {member ? `${member.firstname} ${member.surname}` : null}\n
    \n
    \n {member ? `${member.memNo}` : null}\n
    \n
    \n {member ? `${member.email}` : null}\n
    \n
    \n {member ? `Expiry Date: ${member.expiryDate.substring(0, 10)}` : null}\n
    \n
    \n Pending Activity Approval\n
    \n
    \n
    \n
\n );\n })}\n \n )}\n \n );\n }\n}\nconst mapStateToProps = state => {\n return {\n activities: state.dashBoardReducer.activities.activities,\n // memberList: state.dashBoardReducer.totalMembers.members,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn\n };\n};\n\nconst bindActionsToProps = dispatch => {\n return {\n PendingActivityActions: bindActionCreators(PendingActivityActions, dispatch),\n\n onStatusAChange: (activities) =>\n dispatch({\n type: DASHBOARD_ACTIONS.UPDATE_ACTIVITY_OBJECT,\n activities: {\n activities: activities\n }\n })\n };\n};\nexport default connect(\n mapStateToProps,\n bindActionsToProps\n)(withStyles(styles)(withRouter(PendingActivityApplication)));\n","import React, { Component } from \"react\";\nimport defaultImg from \"../images/dProfile.jpg\";\nimport defaultImgGl from \"../images/gl.jpg\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { styles } from \"../../../utils/styles/styles\";\nimport { withRouter } from \"react-router-dom\";\nimport { bindActionCreators } from \"redux\";\nimport * as ApproveNewDSActions from \"../Approvals/ApproveNewDS/ApproveNewDSActions\";\nimport axios from \"axios\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\nimport { DASHBOARD_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport {\n BASE,\n GET_PENDING_DS,\n} from \"../../../API/APIendpoint\";\n\nimport Axios from \"axios\";\n\nimport Radio from \"@material-ui/core/Radio\";\nclass PendingDedicatedHunter extends Component {\n constructor() {\n super();\n this.state = {\n loading: false,\n _allPendingDS: true,\n _newPendingDSForTheMonth: false,\n _currentMonth: new Date().getMonth() + 1 < 10 ? `0${new Date().getMonth() + 1}` : `${new Date().getMonth() + 1}`,\n members:[],\n }\n // this.findMember = this.findMember.bind(this);\n }\n componentWillMount() {\n // this.setState({ loading: true })\n\n // axios\n // .get(BASE + GET_PENDING_DS, {\n // headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n // })\n // .then(response => {\n // this.setState({ loading: false });\n // this.props.onStatusDSChange(response.data);\n // console.log(\"DATA in PendingDH\", response.data)\n \n // })\n // .catch(err => {\n // console.error(\"Error loading DS applications\", err)\n // });\n\n this.props.onStatusDSChange(this.props.pendingDS);\n this.props.pendingDS.forEach(ds => {\n Axios({\n url: BASE + `api/Member/FindMemberByMemNo/${ds.memNo}`,\n method: \"get\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({members : [...this.state.members,res.data] });\n })\n \n this.setState({ loading: false});\n\n });\n\n }\n\n handleSubmit = (member, application) => {\n this.props.onMemberViewChange(member);\n this.props.ApproveNewDSActions.setCurrentDS(application, member);\n this.props.history.push(\"/admin/ApprovePendingDedicatedStatus\");\n };\n\n render() {\n const pendingNewDS = this.props.pendingDS;\n const pendingFilteredDS = pendingNewDS;\n if (this.state.loading) {\n return (\n
\n
\n \n
\n
\n

\n Loading the Dedicated Status Please wait ...\n

\n
\n
\n );\n }\n\n return (\n
\n
\n {\n this.props.history.push(\"/admin/MainAdmin\");\n }}\n />\n
\n {pendingFilteredDS.length === 0 ? (\n
There are no pending Dedicated Status Applications currently...
\n ) : (\n \n this.state.loading ?\n
\n
\n \n
\n
\n

\n Loading the activities. Please wait ...\n

\n
\n
\n :\n
    \n {pendingFilteredDS.map((a, index) => {\n const member = this.state.members.filter(ds => ds.memNo == a.memNo)[0];\n\n if(!member)\n return null;\n\n return (\n this.handleSubmit(member, a)}\n >\n
    \n
    \n
    \n {member\n ? `${member.firstname.toString().substring(0, 1)}`\n : null}\n
    \n \"Gun\"\n
    \n
    \n
    \n {member ? `${member.firstname} ${member.surname}` : null}\n
    \n
    \n {a.dsno}\n
    \n
    \n {member ? `${member.email}` : null}\n
    \n
    \n {member ? `Expiry Date: ${member.expiryDate.substring(0, 10)}` : null}\n
    \n
    \n Pending Dedicated Status Approval\n
    \n
    \n
    \n
\n )\n })}\n \n )}\n \n );\n }\n}\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails,\n pendingDS: state.dashBoardReducer.pendingDS,\n // memberList: state.dashBoardReducer.totalMembers.members,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn,\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n ApproveNewDSActions: bindActionCreators(ApproveNewDSActions, dispatch),\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n }),\n onStatusDSChange: newPending =>\n dispatch({\n type: DASHBOARD_ACTIONS.UPDATE_DS_PENDINGS,\n pendingDS: newPending.filter(ds => ds.status == 'Pending')\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(PendingDedicatedHunter)));\n","import React, { Component } from \"react\";\nimport \"../styles/dstyle.css\";\nimport defaultImg from \"../images/dProfile.jpg\";\nimport defaultImgGl from \"../images/gl.jpg\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { styles } from \"../../../utils/styles/styles\";\nimport { withRouter } from \"react-router-dom\";\nimport { bindActionCreators } from 'redux';\nimport * as ApproveEndorsementActions from \"../Approvals/ApproveNewEndorsements/ApproveNewEndorsementsActions\";\nimport Axios from \"axios\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\n\nclass PendingEndorsementApplication extends Component {\n constructor(props) {\n super(props);\n // this.findMember = this.findMember.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.state = {\n members:[],\n loading: true\n }\n }\n\n findMember = MemNo => {\n return this.props.memberList.filter(\n endorsementApplications => endorsementApplications.memNo === MemNo\n );\n\n };\n\n componentDidMount() {\n this.props.endorsements.forEach(endorsement => {\n Axios({\n url: BASE + `api/Member/FindMemberByMemNo/${endorsement.memNo}`,\n method: \"get\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({members : [...this.state.members,res.data] });\n })\n \n this.setState({ loading: false});\n\n });\n\n }\n \n handleSubmit = (member, endorsement) => {\n this.props.onMemberViewChange(member);\n this.props.onNewMemberChange(member);\n this.props.ApproveEndorsementActions.setCurrentEndorsement(endorsement);\n this.props.history.push(\"/admin/ApproveEndorsementDashboard\");\n };\n\n render() {\n const { endorsements } = this.props;\n return (\n
\n
\n {\n this.props.history.push(\"/admin/MainAdmin\");\n }}\n />\n
\n\n {endorsements.length === 0 ? (\n
There are currently no pending endorsements...
\n ) : (\n this.state.loading ?\n
\n
\n \n
\n
\n

\n Loading the endorsements. Please wait ...\n

\n
\n
\n :\n
    \n {endorsements.map((e, index) => {\n let member = this.state.members.filter(mem => mem.memNo == e.memNo)[0];\n if(!member)\n return null;\n\n return (\n {\n this.handleSubmit(member, e);\n }}\n >\n
    \n
    \n
    \n {member\n ? `${member.firstname.toString().substring(0, 1)}`\n : null}\n
    \n \"Gun\"\n
    \n
    \n
    \n {member ? `${member.firstname} ${member.surname}` : null}\n
    \n
    \n {member ? `${member.idno}` : null}\n
    \n
    \n {member ? `${member.email}` : null}\n
    \n
    \n {member ? `Expiry Date: ${member.expiryDate.substring(0, 10)}` : null}\n
    \n
    \n Pending Endorsement Approval\n
    \n
    \n
    \n
\n );\n })}\n \n )}\n \n );\n }\n}\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn,\n memberList: state.dashBoardReducer.totalMembers.members,\n endorsements: state.dashBoardReducer.endorsements.pendingEndorsements\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n ApproveEndorsementActions: bindActionCreators(ApproveEndorsementActions, dispatch),\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n }),\n onNewMemberChange: membersPending =>\n dispatch({\n type: actionTypes.DASHBOARD_ACTIONS.UPDATE_PENDING_MEMBERS,\n membersPending: membersPending\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(PendingEndorsementApplication)));\n","import React, { Component } from \"react\";\nimport \"../styles/dstyle.css\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { styles } from \"../../../utils/styles/styles\";\nimport { withRouter } from \"react-router-dom\";\nimport Radio from \"@material-ui/core/Radio\";\nimport defaultImg from \"../images/dProfile.jpg\";\nimport defaultImgGl from \"../images/gl.jpg\";\nclass PendingNewMembers extends Component {\n constructor(props) {\n super(props);\n this.state = {\n _allNewMembers: true,\n _newMembersForTheMonth: false,\n _currentMonth: new Date().getMonth() + 1 < 10 ? `0${new Date().getMonth() + 1}` : `${new Date().getMonth() + 1}`\n }\n if (!this.props.loggedIn) {\n this.props.history.push(\"/\");\n }\n }\n findMember = MemNo => {\n return this.props.memberList.filter(member => member.memNo === MemNo);\n };\n\n handleSubmit = member => {\n this.props.onMemberViewChange(member);\n this.props.onNewMemberChange(member);\n this.props.history.push(\"/admin/ApproveNewMembers\");\n };\n\n render() {\n const pendingNewMembers = this.props.newMembers.filter(\n member => member.status === 2\n );\n const pendingFilteredMembers = pendingNewMembers;\n return (\n
\n
\n {\n this.props.history.push(\"/admin/MainAdmin\");\n }}\n />\n
\n {pendingFilteredMembers.length=== 0 ? (\n
There are no pending New Members applications currently...
\n ) : (\n
    \n {pendingFilteredMembers.map((newMember, index) => {\n const member = this.findMember(newMember.memNo)[0];\n return (\n {\n this.handleSubmit(member);\n }}\n >\n
    \n
    \n
    \n {member\n ? `${member.firstname.toString().substring(0, 1)}`\n : null}\n
    \n \"Gun\"\n
    \n
    \n
    \n {member ? `${member.firstname} ${member.surname}` : null}\n
    \n
    \n {member ? `${member.idno}` : null}\n
    \n
    \n {member ? `${member.email}` : null}\n
    \n
    \n {member ? `Expiry Date: ${member.expiryDate.substring(0, 10)}` : null}\n
    \n
    \n Pending New Members Approval\n
    \n
    \n
    \n
\n );\n })}\n \n )}\n \n );\n }\n}\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn,\n memberList: state.dashBoardReducer.totalMembers.members,\n newMembers: state.dashBoardReducer.newMembers.newMembers\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n }),\n onNewMemberChange: membersPending =>\n dispatch({\n type: actionTypes.DASHBOARD_ACTIONS.UPDATE_PENDING_MEMBERS,\n membersPending: membersPending\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(PendingNewMembers)));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nconst styles = theme => ({\n container: {\n display: \"flex\",\n flexDirection: \"column\"\n },\n footer: {\n display: \"flex\",\n flexDirection: \"row\"\n },\n textField: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n flex: 1,\n margin: 5\n },\n grow: {\n flex: 6\n },\n grow1: {\n flex: 4\n },\n select: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n flex: 1,\n margin: 5\n },\n btnContainer: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n flex: 1\n },\n button: {\n margin: 30,\n padding: 0,\n borderRadius: 20,\n backgroundColor: \"black\",\n color: \"white\",\n display: \"inline-block\",\n flex: 1,\n width: 50,\n height: 50\n },\n icon: {\n margin: 0,\n padding: 0,\n align: \"center\",\n fontSize: 50\n }\n});\n\nclass PaymentNewMember extends Component {\n constructor(props) {\n super(props);\n this.state = {\n _paymentMethod: \"\",\n _amountPaid: 0,\n _member: this.props.memRenewal,\n _members: this.props.newRenewals.newRenewals,\n _pendingNRCount: this.props.newRenewals.pendingNRCount - 1,\n _transactionDate: \"\",\n _transactionRef: \"\"\n }\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n renewalMembersUpdate = () => {\n this.state._member.status = 1\n this.state._members.forEach(element => {\n if(element.memNo === this.props.memRenewal.memNo) {\n element.status = 1\n }\n })\n }\n\n handleSubmit = async e => {\n e.preventDefault();\n let yearInt = parseInt(new Date().getFullYear(), 10) + 1;\n const accountInfo = {\n PaymentType: \"Membership Fees \" + yearInt,\n PaymentMethod: this.state._paymentMethod,\n AmountPaid: this.state._amountPaid,\n Email: this.props.memRenewal.email,\n CostCode: 1012,\n Paid: true,\n MemNo: this.props.memRenewal.memNo,\n TransactionNo: this.state._transactionRef,\n PaymentDate: this.state._transactionDate\n };\n Axios({\n url: BASE + \"api/Member/ApproveNewMember/\" + this.props.memRenewal.memNo + \"/1\",\n data: accountInfo,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n this.renewalMembersUpdate();\n this.props.onMemberRenewalUpdate(this.state._pendingNRCount, this.state._members)\n this.props.onMemberRenewalObjectUpdate(this.state._member)\n this.props.history.push(\"/admin/MembershipRenewal\");\n };\n\n render() {\n const { classes } = this.props;\n return (\n
\n
\n {\n this.props.history.push(\"/ApproveMembershipRenewal\");\n }}\n title=\"Membership Payment\"\n />\n
\n\n this.handleSubmit(e)}\n >\n this.setState({\n _paymentMethod: e.target.value\n })}\n required\n />\n this.setState({\n _amountPaid: e.target.value\n })}\n required\n />\n this.setState({\n _transactionRef: e.target.value\n })}\n required\n />\n this.setState({\n _transactionDate: e.target.value\n })}\n />\n
\n \n Save\n \n
\n \n
\n );\n }\n}\n\nPaymentNewMember.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n approveNewMemberState: state.approveNewMemberState,\n pendingMember: state.dashBoardReducer.membersPending,\n memRenewal: state.dashBoardReducer.membersRenewal,\n newRenewals: state.dashBoardReducer.newRenewals\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberRenewalUpdate: (newPendingCount, newMemberList) =>\n dispatch({\n type: actionTypes.DASHBOARD_ACTIONS.GET_ALL_RENEWAL_MEMEBRS_URL,\n newRenewals: {\n pendingNRCount: newPendingCount,\n newRenewals: newMemberList\n }\n }),\n onMemberRenewalObjectUpdate: memberObject =>\n dispatch({\n type: actionTypes.DASHBOARD_ACTIONS.UPDATE_RENEWAL_MEMBERS,\n membersRenewal: memberObject\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(PaymentNewMember));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nconst styles = theme => ({\n container: {\n display: \"flex\",\n flexDirection: \"column\"\n },\n footer: {\n display: \"flex\",\n flexDirection: \"row\"\n },\n textField: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n flex: 1,\n margin: 5\n },\n grow: {\n flex: 6\n },\n grow1: {\n flex: 4\n },\n select: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n flex: 1,\n margin: 5\n },\n btnContainer: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n flex: 1\n },\n button: {\n margin: 30,\n padding: 0,\n borderRadius: 20,\n backgroundColor: \"black\",\n color: \"white\",\n display: \"inline-block\",\n flex: 1,\n width: 50,\n height: 50\n },\n icon: {\n margin: 0,\n padding: 0,\n align: \"center\",\n fontSize: 50\n }\n});\n\nclass PaymentNewMember extends Component {\n constructor(props) {\n super(props);\n this.state = {\n _paymentMethod: \"\",\n _amountPaid: 0,\n _members: this.props.newMembers\n }\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n pendingMemberUpdater = () => {\n this.state._members.forEach(element => {\n if(element.memNo === this.props.pendingMember.memNo) {\n element.status = 1\n }\n })\n }\n\n handleSubmit = async e => {\n e.preventDefault();\n this.pendingMemberUpdater();\n let yearInt = parseInt(new Date().getFullYear(), 10) + 1;\n const accountInfo = {\n PaymentType: \"Membership Fees \" + yearInt,\n PaymentMethod: this.state._paymentMethod,\n AmountPaid: this.state._amountPaid,\n Email: this.props.pendingMember.email,\n CostCode: 1001,\n Paid: true,\n MemNo: this.props.pendingMember.memNo\n };\n Axios({\n url: BASE + \"api/Member/ApproveNewMember/\" + this.props.pendingMember.memNo + \"/1\",\n data: accountInfo,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n this.props.onNewMemberChange(this.state._members);\n this.props.history.push(\"/PendingNewMembers\");\n };\n\n render() {\n const { classes } = this.props;\n return (\n
\n
\n {\n this.props.history.push(\"/admin/ApproveNewMembers\");\n }}\n title=\"Membership Payment\"\n />\n
\n\n this.handleSubmit(e)}\n >\n this.setState({_paymentMethod: e.target.value})}\n required\n />\n\n this.setState({_amountPaid: e.target.value})}\n required\n />\n
\n \n Save\n \n
\n \n
\n );\n }\n}\n\nPaymentNewMember.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n approveNewMemberState: state.approveNewMemberState,\n pendingMember: state.dashBoardReducer.membersPending,\n newMembers: state.dashBoardReducer.newMembers.newMembers\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onNewMemberChange: membersPending =>\n dispatch({\n type: actionTypes.DASHBOARD_ACTIONS.UPDATE_PENDING_MEMBERS,\n membersPending: membersPending\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(PaymentNewMember));\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport \"./styles/dstyle.css\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { adminPortalHeaderStyles as styles } from \"./styles/styles\";\nimport axios from \"axios\";\nimport {\n BASE,\n UPLOAD_PROFILE_PICTURE,\n EDIT_PROFILE_PICTURE\n} from \"../../API/APIendpoint\";\nclass UploadProfilePicture extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n file: \"srclogo.svg\",\n imagePreviewUrl: \"\",\n imageStateTrack: \"0\"\n };\n }\n\n _handleImageChange(e) {\n e.preventDefault();\n let reader = new FileReader();\n let file = e.target.files[0];\n reader.onloadend = t => {\n this.setState({\n file: file,\n imagePreviewUrl: t.target.result,\n imageStateTrack: \"1\"\n });\n };\n reader.readAsDataURL(file);\n }\n _handleSubmit(e) {\n e.preventDefault();\n const { name } = e.target;\n const memPPId = this.props.memberProfilePicture.memberID;\n const memNo = this.props.userDetails.memberNumber;\n\n name === \"create\"\n ? axios\n .post(BASE + UPLOAD_PROFILE_PICTURE, {\n ProfilePicture: this.state.imagePreviewUrl,\n MemNo: memNo\n },{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(function(response) {})\n .catch(function(error) {})\n : axios\n .post(BASE + EDIT_PROFILE_PICTURE + memPPId, {\n ProfilePicture: this.state.imagePreviewUrl\n },{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(function(response) {})\n .catch(function(error) {});\n this.props.onMemberProfilePictureUpdate(\n this.state.imagePreviewUrl.toString()\n );\n }\n render() {\n const { classes } = this.props;\n const imageString = this.props.memberProfilePicture.profilePicture.toString();\n let editButton = true;\n let uploadButton = true;\n this.props.pic.toString() === \"NotExists\"\n ? (uploadButton = false)\n : (editButton = false);\n let currentImage = \"\";\n this.state.imageStateTrack === \"1\"\n ? (currentImage = this.state.imagePreviewUrl)\n : (currentImage = imageString);\n var $imagePreview = (
Please select an Image for Preview
);\n if (currentImage) {\n } else {\n $imagePreview()\n }\n return (\n
\n \n
this._handleSubmit(e)}>\n this._handleImageChange(e)}\n />\n
Does it exists? {this.props.pic.toString()}
\n this._handleSubmit(e)}\n >\n Upload Image\n \n this._handleSubmit(e)}\n >\n Edit Image\n \n \n \"PIC\"\n
\n );\n }\n}\nUploadProfilePicture.propTypes = {\n classes: PropTypes.object.isRequired\n};\nconst mapStateToProps = state => {\n return {\n userDetails: state.loginReducer.userProfileDetails,\n memberProfilePicture: state.memberProfilePictureReducer,\n pic: state.memberProfilePictureReducer.isExist\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberProfilePictureUpdate: updatedMPicture => {\n dispatch({\n type: actionTypes.UPDATE_MEMBER_PROFILE_PICTURE,\n profilePicture: updatedMPicture\n });\n }\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(UploadProfilePicture));\n","export const adminPortalHeaderStyles = {\n rightContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: \"2px\",\n paddingLeft: \"30px\"\n },\n\n grow: {\n flex: \"1px\"\n },\n\n text: {\n paddingLeft: \"20px\",\n paddingBottom: \"5px\"\n },\n\n title: {\n padding: \"10px\"\n },\n\n h3: {\n marginleft: \"15px\"\n },\n \n fileInput: {\n borderBottom: \"4px solid lightgray\",\n borderRight: \"4px solid lightgray\",\n borderTop: \"1px solid black\",\n borderLeft: \"1px solid black\",\n padding: \"10px\",\n margin: \"15px\",\n cursor: \"pointer\"\n },\n\n imgPreview: {\n textAlign: \"center\",\n margin: \"5px 15px\",\n height: \"200px\",\n width: \"500px\",\n borderLeft: \"1px solid gray\",\n borderRight: \"1px solid gray\",\n borderTop: \"5px solid gray\",\n borderBottom: \"5px solid gray\"\n },\n\n img: {\n width: \"100%\",\n height: \"100%\"\n },\n\n previewText: {\n width: \"100%\",\n marginTop: \"20px\"\n },\n\n submitButton: {\n padding: \"12px\",\n marginLeft: \"10px\",\n background: \"white\",\n border: \"4px solid lightgray\",\n borderRadius: \"15px\",\n fontWeight: \"700\",\n fontSize: \"10pt\",\n cursor: \"pointer\"\n },\n\n hover: {\n background: \"#efefef\"\n },\n\n centerText: {\n text: \"center\",\n width: \"500px\"\n },\n\n //National Ranking\n root: {\n display: \"flex\",\n flexDirection: \"row\",\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"80vh\",\n overflow: \"auto\"\n },\n\n container: {\n display: \"flex\",\n flexDirection: \"column\"\n },\n\n footer: {\n display: \"flex\",\n flexDirection: \"row\"\n },\n\n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n fullWidth: true,\n flex: \"1px\",\n margin: \"5px\"\n },\n\n grow_: {\n flex: \"6px\"\n },\n\n grow1: {\n flex: \"4px\"\n },\n\n select: {\n marginTop: \"1%\",\n margin: \"5%\",\n width: \"30%\"\n },\n\n select2: {\n width: \"40%\",\n marginLeft: \"80%\",\n marginTop: \"1%\",\n marginRight: \"20%\",\n align: \"Right\"\n },\n\n button: {\n margin: \"30px\",\n padding: \"0\",\n borderRadius: \"20px\",\n backgroundColor: \"black\",\n color: \"white\",\n display: \"inline-block\",\n flex: 1,\n width: \"13%\",\n height: \"50px\",\n },\n\n icon: {\n margin: \"0px\",\n padding: \"0px\",\n align: \"center\",\n fontSize: \"50px\"\n },\n\n //Avatar styles for uploading a profile picture\n avatar: {\n margin: \"10px\"\n },\n\n bigAvatar: {\n margin: \"30px\",\n width: \"160px\",\n height: \"160px\"\n }\n};\n","import { Button, Card, CardActions, CardContent, Input, Paper } from \"@material-ui/core\";\nimport axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_ACTIVITIESFILES, GET_ALL_ACTIVITIES_URL, GET_MEMBER_PP_ID_URL, UPDATE_ACTIVITY_APPROVE_STATUS, UPDATE_ACTIVITY_REJECT_STATUS } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { formatDate, notfound, status } from \"../../loggeddInUser/activitiesPage/ActivityDetails\";\nimport backIcon from \"../../loggeddInUser/activitiesPage/icons/back_icon.png\";\nimport \"./styles/styles.css\";\n\nconst noDocuments = \"no documents\";\n\nclass ActivityDetails extends Component {\n state = {\n showReasonInputBox: false,\n isApproved: false,\n isRejected: false,\n reason: \"\",\n approve: false,\n reject: false\n };\n\n refreshActivity = () => {\n const { onDataChange } = this.props;\n axios\n .get(BASE + GET_ALL_ACTIVITIES_URL + this.props.activityId,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.data)\n .then(data => {\n onDataChange(data, \"viewedActivity\");\n })\n .catch(error => {\n return error;\n });\n };\n updateApproveStatus = id => {\n const { onDataChange } = this.props;\n const { refreshActivity } = this;\n onDataChange(\"Approving\", \"updateText\");\n onDataChange(\"Reject\", \"rejectText\");\n axios\n .post(BASE + UPDATE_ACTIVITY_APPROVE_STATUS + id,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.data)\n .then(res => {\n onDataChange(\"Approved\", \"updateText\");\n refreshActivity();\n })\n .catch(error => onDataChange(\"Failed! Approve again\", \"updateText\"));\n };\n\n updateRejectStatus = id => {\n const { onDataChange } = this.props;\n const { refreshActivity } = this;\n onDataChange(\"Approve\", \"updateText\");\n onDataChange(\"Rejecting\", \"rejectText\");\n axios\n .post(BASE + UPDATE_ACTIVITY_REJECT_STATUS + id,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.data)\n .then(data => {\n onDataChange(\"Rejected\", \"rejectText\");\n refreshActivity();\n })\n .catch(error => onDataChange(\"Failed! Reject again\", \"rejectText\"));\n };\n\n handleSubmit = e => {\n this.props.onAdminPortalChange(\"0\");\n };\n\n getProfilePicture = memberNumber => {\n const { onDataChange } = this.props;\n onDataChange(\"loading\", \"profilePicture\");\n axios\n .get(BASE + GET_MEMBER_PP_ID_URL + memberNumber,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(function(response) {\n return response.data;\n })\n .then(data => {\n onDataChange(data, \"profilePicture\");\n })\n .catch(function(error) {\n onDataChange(null, \"profilePicture\");\n });\n };\n\n getActivityDocuments = activityId => {\n const { onDataChange } = this.props;\n onDataChange(\"loading\", \"activityDocuments\");\n axios\n .get(BASE + GET_ACTIVITIESFILES + activityId,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(function(response) {\n return response.data;\n })\n .then(data => {\n onDataChange(\n data.map(data => ({\n name: data.name,\n link: data.link\n })),\n \"activityDocuments\"\n );\n })\n .catch(function(error) {\n onDataChange([], \"activityDocuments\");\n });\n };\n componentWillMount() {\n this.refreshActivity();\n this.getProfilePicture(this.props.currentMember.memNo);\n this.getActivityDocuments(this.props.activityId, this.props.onDataChange);\n }\n\n onApprovalOrRejection = decision => {\n if (decision === \"approve\") {\n this.setState({\n approve: true,\n reject: false\n });\n } else if (decision === \"reject\") {\n this.setState({\n approve: false,\n reject: true\n });\n }\n };\n\n componentWillUnmount() {\n this.props.onResetViewMembers();\n }\n\n render() {\n return (\n
\n \n
\n {\n this.props.onCurrActivityTabChange(0);\n }}\n >\n \"back_button\"\n \n Activity \n
\n\n
\n {this.props.activity.activityType}
\n {status(this.props.activity.status)}
\n {formatDate(this.props.activity.activityDate)} \n
\n\n
\n \n
\n Member Number:
\n \n {this.props.currentMember.memNo\n ? this.props.currentMember.memNo\n : notfound}\n \n
\n
\n Activity ID:
\n \n {this.props.activity.activityId}\n \n
\n
\n Activity Description:
\n \n {this.props.activity.activityDescription}\n \n
\n
\n Firearm Type:
\n \n {this.props.activity.firearmType}\n \n
\n
\n Caliber:
\n {this.props.activity.caliber}\n
\n
\n Association:
\n \n {this.props.activity.association\n ? this.props.activity.association\n : notfound}\n \n
\n
\n Documents:
\n {this.props.documents === \"loading\"\n ? \"Loading...\"\n : this.props.documents.map((doc, index) => (\n \n {doc.name === noDocuments ? (\n noDocuments\n ) : (\n \n {doc.name}\n \n )}{\" \"}\n
\n
\n ))}\n
\n
\n
\n \n
\n
\n
\n {\n this.onApprovalOrRejection(\"approve\");\n this.updateApproveStatus(\n this.props.activity.activityId\n );\n this.forceUpdate();\n this.setState({\n showReasonInputBox: false,\n isRejected: false,\n isApproved: true\n });\n }}\n >\n Approve\n \n
\n\n
\n {\n this.setState({\n showReasonInputBox: true,\n isRejected: true,\n isApproved: false\n });\n }}\n >\n Reject\n \n
\n
\n
\n {this.state.showReasonInputBox ? (\n \n \n \n this.setState({ reason: event.target.value })\n }\n fullWidth\n disableUnderline\n />\n \n \n {\n this.updateRejectStatus(this.props.activity.activityId);\n this.setState({\n showReasonInputBox: false,\n isRejected: true,\n isApproved: false\n });\n }}\n >\n Apply\n \n \n \n ) : null}\n
\n
\n \n \n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n activity: state.membersAreaReducer.membersArea.viewedActivity,\n names: state.membersAreaReducer.membersArea.memberName,\n members: state.MemberViewReducer.MemberList,\n currentMember: state.MemberViewReducer.MemberView,\n documents: state.membersAreaReducer.membersArea.activityDocuments,\n profilePic: state.membersAreaReducer.membersArea.profilePicture,\n updateText: state.membersAreaReducer.membersArea.updateText,\n rejectText: state.membersAreaReducer.membersArea.rejectText\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrActivityTabChange: newCurrActivityTab =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ADMIN_ACTIVITY_TAB2,\n currActivityTab: newCurrActivityTab\n }),\n onDataChange: (data, name) => {\n return dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: data,\n varName: name\n });\n },\n onResetViewMembers: () => {\n return dispatch({\n type: actionTypes.RESET_MEMBERS_VIEWED_ACTIVITY\n });\n }\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ActivityDetails);\n","import React, { Component } from \"react\";\nimport Axios from \"axios\";\nimport { BASE,FRONT } from \"../../../../API/APIendpoint\";\nexport default class ActivityInfo extends Component {\n constructor(props) {\n super(props);\n this.state = {\n activityLink: \"\",\n docName: \"\",\n type: \"\"\n };\n }\n componentDidMount() {\n Axios.get(BASE + \"api/Activities/\" + this.props.activity.activityId,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(\n res => {\n this.setState({\n activityLink: FRONT + res.data.link\n });\n }\n );\n }\n render() {\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n if (this.props.activity)\n return (\n \n {info(\"Member Number:\", this.props.activity.memNo)}\n {info(\"Activity ID:\", `Activity ${this.props.activity.activityId}`)}\n {info(\n \"Activity Description:\",\n !this.props.activity.activityDescription\n ? \"null\"\n : this.props.activity.activityDescription\n )}\n {info(\"Firearm Type:\", this.props.activity.firearmType)}\n {info(\"Caliber:\", this.props.activity.caliber)}\n {info(\"Association:\", this.props.activity.association)}\n { this.props.activity.status ===\"Rejected\" && info(\"Rejection Reason:\", this.props.activity.rejectReason)}\n
\n

Score Document(s):

\n {this.state.activityLink === \"NULL\" || !this.state.activityLink ? (\n
Null:
\n ) : (\n \n Document\n \n )}\n
\n \n );\n else return null;\n }\n}\n","import React, { Component } from \"react\";\n\nexport default class ActivitySummary extends Component {\n render() {\n if (this.props.activity)\n return (\n
\n

{this.props.activity.activityType}

\n

\n {this.props.activity.activityDate.substring(0, 10)}\n

\n

{`Score: ${this.props.activity.score}`}

\n {this.props.activity.status === \"Rejected\" ? (\n

\n {this.props.activity.status}\n

\n ) : this.props.activity.status === \"Pending\" ? (\n

{this.props.activity.status}

\n ) : (\n

{this.props.activity.status}

\n )}\n
\n );\n else return null;\n }\n}\n","export const approvalStatus = {\n approve: 1,\n reject: 2\n};\n","import React, { Component } from \"react\";\nimport { approvalStatus } from \"./PendingActivityConstants\";\nimport { connect } from \"react-redux\";\nimport Axios from \"axios\";\nimport { BASE } from \"../../../../API/APIendpoint\";\nimport {\n Card,\n CardContent,\n Paper,\n Button,\n CardActions,\n Input\n} from \"@material-ui/core\";\nimport * as actionTypes from \"../../../../store/actions/actionTypes\";\nclass ApprovalSection extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showReasonInputBox: false,\n reason: \"\",\n activityID: \"\",\n activityType: \"\"\n };\n }\n\n componentDidMount() {\n Axios.get(\n BASE + \"api/Activities/activityId/\" + this.props.MemberV.memNo, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n ).then(res => {\n this.setState({\n activityID: res.data.activityId,\n activityType: res.data.activityType\n });\n });\n }\n\n _handleRejectReasonSub(e) {\n Axios.post(\n BASE + \"api/Activities/putRejectReason/\" + this.state.activityID,\n {\n activityId: this.state.activityID,\n activityType: this.state.activityType,\n memNo: this.props.MemberV.memNo,\n rejectReason: this.state.reason\n }, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n )\n this.props.onCurrActivityTabChange(5)\n }\n\n render() {\n return (\n
\n \n
\n
\n
\n \n this.props.approveActivity(\n this.props.activity.activityId,\n approvalStatus.approve,\n this.setState({\n showReasonInputBox: false\n }),\n this.props.onCurrActivityTabChange(5)\n )\n }\n >\n Approve\n \n
\n\n
\n \n this.setState({\n showReasonInputBox: true\n })\n }\n >\n Reject\n \n
\n
\n
\n {this.state.showReasonInputBox === true ? (\n \n \n this.setState({ reason: e.target.value })}\n fullWidth\n />\n \n \n {\n this.props.approveActivity(\n this.props.activity.activityId,\n approvalStatus.reject,\n this.setState({\n showReasonInputBox: false\n })\n );\n this._handleRejectReasonSub(event);\n }}\n >\n Apply\n \n \n \n ) : null}\n
\n
\n );\n }\n}\n\nconst mapStateToProps = (state, dispatch) => {\n return {\n activeStatus: state.MemberViewReducer.activeStatus,\n memberProfilePicture: state.memberProfilePictureReducer,\n pic: state.memberProfilePictureReducer.isExist,\n memberDetails: state.loginReducer.userProfileDetails,\n MemberV: state.MemberViewReducer.MemberView\n\n };\n};\n\nconst bindActionsToProps = dispatch => {\n return {\n onCurrActivityTabChange: newCurrActivityTab =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ADMIN_ACTIVITY_TAB2,\n currActivityTab: newCurrActivityTab\n })\n }\n}\n\nexport default connect(\n mapStateToProps,\n bindActionsToProps\n)(ApprovalSection);\n","import Axios from 'axios';\nimport * as EndPoints from \"../../../../API/APIendpoint\";\n\nexport const activityApproval = async (id,status) => {\n const config = {\n url: `${EndPoints.BASE}${EndPoints.ACTIVITY_APPROVAL}${id}/${status}`,\n method: 'post',\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}\n }\n return await Axios(config);\n}","import * as Types from \"./PendingActivityActionTypes\";\nimport { activityApproval } from \"./PendingActivityAPI\";\n\nexport const approvePendingBeginAC = () => {\n return {\n type: Types.APPROVE_PENDING_BEGIN,\n pendingActivityState: {\n approvalStatus: {\n loading: true,\n error: null\n }\n }\n };\n};\n\nexport const approvePendingSuccessAC = response => {\n return {\n type: Types.APPROVE_PENDING_SUCCESS,\n pendingActivityState: {\n approvalStatus: {\n loading: false,\n response\n },\n activity: response.data\n }\n };\n};\n\nexport const approvePendingErrorAC = error => {\n return {\n type: Types.APPROVE_PENDING_ERROR,\n pendingActivityState: {\n approvalStatus: {\n loading: false,\n error\n }\n }\n };\n};\n\nexport const approvePending = (id, approvalStatus) => async dispatch => {\n dispatch(approvePendingBeginAC());\n try {\n const response = await activityApproval(id, approvalStatus);\n dispatch(approvePendingSuccessAC(response));\n return response;\n } catch (error) {\n dispatch(approvePendingErrorAC(error));\n }\n};\n\nexport const setMemberActivityAC = (member, activity) => {\n return {\n type: Types.SET_MEMBER_ACTIVITY,\n pendingActivityState: {\n member,\n activity\n }\n };\n};\n\nexport const setMemberActivity = (member, activity) => dispatch =>\n dispatch(setMemberActivityAC(member, activity));\n","export const APPROVE_PENDING_BEGIN = \"APPROVE_PENDING_BEGIN\",\nAPPROVE_PENDING_SUCCESS = \"APPROVE_PENDING_SUCCESS\",\nAPPROVE_PENDING_ERROR = \"APPROVE_PENDING_ERROR\",\nSET_MEMBER_ACTIVITY = \"SET_MEMBER_ACTIVITY\";","import { withStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { bindActionCreators } from \"redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport * as NewActActions from \"../../loggeddInUser/activitiesPage/NewActivityActions\";\nimport ActivityInfo from \"./PendingActivitySubComponents/ActivityInfo\";\nimport ActivitySummary from \"./PendingActivitySubComponents/ActivitySummary\";\nimport ApprovalSection from \"./PendingActivitySubComponents/ApprovalSection\";\nimport * as PendingActivityActions from \"./PendingActivitySubComponents/PendingActivityActions\";\n\nclass ApprovePendingActivities extends React.Component {\n constructor(props) {\n super(props);\n if (!this.props.loggedIn) {\n this.props.history.push(\"/\");\n }\n }\n render() {\n return (\n
\n this.props.onCurrActivityTabChange(0)}\n title=\"Activity Approval\"\n />\n \n \n {!this.props.isPartner && }\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n memberNumber: state.loginReducer.userProfileDetails.memberNumber,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn,\n newActivityState: state.newActivityState,\n pendingActivityState: state.pendingActivityState\n };\n};\n\nconst styles = theme => ({});\n\nconst mapActionsToProps = dispatch => ({\n onCurrActivityTabChange: newCurrActivityTab =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ADMIN_ACTIVITY_TAB2,\n currActivityTab: newCurrActivityTab\n }),\n PendingActivityActions: bindActionCreators(PendingActivityActions, dispatch),\n NewActActions: bindActionCreators(NewActActions, dispatch)\n});\n\nexport default connect(\n mapStateToProps,\n mapActionsToProps\n)(withStyles(styles)(ApprovePendingActivities));\n","import Card from \"@material-ui/core/Card\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { formatDate, notfound, status } from \"../../loggeddInUser/activitiesPage/ActivityDetails\";\nimport { activityStyles as styles } from \"./styles/styles\";\n\nfunction Activity(props) {\n const { classes } = props;\n\n return (\n {\n props.onActivityParametersChange(props.activity.memNo, props.activity.activityId);\n props.onCurrentActivityTabChange(1);\n \n }}>\n \n {props.activity.activityType}
\n {formatDate(props.activity.activityDate)}
\n {`Score: ${props.activity.score?props.activity.score : notfound}`}
\n {status(props.activity.status)}\n
\n \n );\n}\n\nActivity.propTypes = {\n classes: PropTypes.object\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onActivityParametersChange: (memberNumber, activityId) => {\n return dispatch({\n type: actionTypes.UPDATE_ACTIVITY_PARAMETERS,\n activityMemberNumber: memberNumber,\n activityID: activityId\n })\n },\n onCurrentActivityTabChange: newCurrActivityTab =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ADMIN_ACTIVITY_TAB2,\n currActivityTab: newCurrActivityTab\n }),\n onAnyPropertyChange: (variableValue, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ACTIVITY_TAB,\n varName: variableName,\n varValue: variableValue\n })\n };\n};\n\nexport default connect(\n null,\n mapDispatchToProps\n)(withStyles(styles)(Activity));\n","import React from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\n\nimport { FormControl, InputLabel, Select, MenuItem } from \"@material-ui/core/\";\n\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\n\nconst styles = theme => ({\n root: {\n display: \"flex\",\n flexWrap: \"wrap\"\n },\n container: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\"\n },\n formControl: {\n margin: theme.spacing.unit,\n display: \"flex\"\n },\n formControl1: {\n margin: theme.spacing.unit,\n display: \"flex\",\n flex: 1\n },\n selectEmpty: {\n marginTop: theme.spacing.unit * 2\n },\n grow: {\n flex: 1\n }\n});\n\nfunction FilterBar(props) {\n const { classes } = props;\n return (\n
\n \n \n Activity Type\n \n \n props.onActivityTypeFilterChange(event.target.value)\n }\n defaultValue=\"Activity Type\"\n inputProps={{\n name: \"ActivityType\",\n id: \"ActivityTypeSelector\"\n }}\n >\n \n All\n \n Practical Assessment\n \n Dedicated Sport Shooting Activity\n \n \n \n
\n \n \n Status\n \n \n props.onActivityStatusFilterChange(event.target.value)\n }\n defaultValue=\"All\"\n inputProps={{\n name: \"ActivityStatus\",\n id: \"ActivityStatusSelector\"\n }}\n >\n \n All\n \n Approved\n Pending\n Rejected\n \n \n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n actTypeFilter: state.activitiesReducer.activityAdminTypeFilter,\n actStatusFilter: state.activitiesReducer.activityAdminStatusFilter\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onActivityTypeFilterChange: newTypeFilter =>\n dispatch({\n type:\n actionTypes.ACTIVITY_ACTIONS\n .UPDATE_ADMIN_ACTIVITY_TYPE_FILTERIVITY_TYPE_FILTER,\n payload: newTypeFilter\n }),\n onActivityStatusFilterChange: newStatusFilter =>\n dispatch({\n type: actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_ACTIVITY_STATUS_FILTER,\n payload: newStatusFilter\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(FilterBar));\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport axios from \"axios\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport Activity from \"./Activity\";\nimport FilterBar from \"./FilterBar\";\nimport { BASE, GET_SPECIFIC_ACTIVITY } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { mainActivitiesStyles as styles } from \"./styles/styles\";\n\nclass MainActivities extends Component {\n state = {};\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n refreshPage() {\n axios\n .get(\n BASE +\n GET_SPECIFIC_ACTIVITY +\n (this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userDetails.memberNumber),{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n )\n .catch(function(error) {});\n this.props.onDedicatedChange(\"Home\", \"Page\");\n }\n\n getMemberActivities = () => {\n axios\n .get(\n BASE +\n GET_SPECIFIC_ACTIVITY +\n (this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userDetails.memberNumber),{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n )\n .then(res => {\n const activities = res.data;\n this.props.onAdminActivitiesChange(activities);\n });\n };\n componentDidMount() {\n this.getMemberActivities();\n }\n\n getFilteredActivities = activities => {\n activities =\n this.props.actTypeFilter !== \"Activity Type\"\n ? (activities = activities.filter(act => {\n return act.activityType === this.props.actTypeFilter;\n }))\n : activities;\n return activities;\n };\n resetFilters = () => {\n this.props.onAdminActivityTypeFilterChange(\"Activity Type\");\n this.props.onAdminActivityStatusFilterChange(\"Status\");\n };\n\n showFilterBar = () =>\n this.props.showActFilterBar ? : this.resetFilters();\n\n render() {\n const { classes } = this.props;\n let acts =\n this.props.adminActivities === null\n ? []\n : this.props.adminActivities.slice();\n\n return (\n
\n
\n this.DownloadActivity()}\n />\n
\n {this.getFilteredActivities(acts).map((activity, index) => (\n \n ))}\n
\n
\n
\n );\n }\n}\n\nMainActivities.propTypes = {\n classes: PropTypes.object\n};\n\nconst mapStateToProps = state => {\n return {\n MemberDetails: state.MemberViewReducer.MemberView,\n adminActivities: state.activitiesReducer.adminActivities,\n actTypeFilter: state.activitiesReducer.activityAdminTypeFilter,\n actStatusFilter: state.activitiesReducer.activityAdminStatusFilter,\n showActFilterBar: state.activitiesReducer.showAdminActivityFilterBar,\n userDetails: state.loginReducer.userProfileDetails,\n MemberV: state.MemberViewReducer.MemberView,\n memberState: state.loginReducer.memberState\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onAdminActivitiesChange: newAdminActivitiesArray =>\n dispatch({\n type: actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_ACTIVITIES,\n payload: newAdminActivitiesArray\n }),\n onAdminActivityTypeFilterChange: newAdminActivityTypeFilter =>\n dispatch({\n type: actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_ACTIVITY_TYPE_FILTER,\n payload: newAdminActivityTypeFilter\n }),\n onAdminActivityStatusFilterChange: newAdminActivityStatusFilter =>\n dispatch({\n type: actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_ACTIVITY_STATUS_FILTER,\n payload: newAdminActivityStatusFilter\n }),\n onShowAdminActivityFilterBarToggle: () =>\n dispatch({\n type: actionTypes.ACTIVITY_ACTIONS.TOGGLE_SHOW_ADMIN_ACTIVITY_FILTER_BAR\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(MainActivities));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport { bindActionCreators } from \"redux\";\nimport { BASE, GET_ALL_MEMBER_ACTIVITIES } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { DASHBOARD_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { styles } from \"../../../utils/styles/styles\";\nimport * as PendingActivityActions from \"./PendingActivitySubComponents/PendingActivityActions\";\nimport Axios from \"axios\";\n\nclass PendingActivityApplication extends Component {\n constructor(props) {\n super(props);\n // this.findMember = this.findMember.bind(this);\n this.state = {\n member : null\n }\n if (!this.props.loggedIn) {\n this.props.history.push(\"/\");\n }\n\n }\n componentWillMount() {\n axios.get(BASE + GET_ALL_MEMBER_ACTIVITIES + `/${this.props.memberV.memNo}`,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(response => {\n this.props.onStatusAChange(response.data);\n });\n\n // Axios({\n // url: BASE + `api/Member/FindMemberByMemNo/${this.props.memberV.memNo}`,\n // method: \"get\",\n // headers: {\n // \"Content-type\": \"application/json\",\n // 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n // }\n // }).then(res => {\n // res.data\n // this.setState({member : res.data});\n // });\n \n }\n\n handleSubmit = (member, activity) => {\n this.props.PendingActivityActions.setMemberActivity(member, activity);\n this.props.onCurrActivityTabChange(1);\n };\n\n //TODO: will come back to the sorting\n sortByFirstName = array => {\n return array.sort((a, b) =>\n a.firstname > b.firstname ? 1 : b.firstname > a.firstname ? -1 : 0\n );\n };\n\n render() {\n return (\n
\n
\n this.props.onCurrActivityTabChange(0)}\n />\n
\n\n {this.props.activities.length === 0 ? (\n
There are currently no pending activities ...
\n ) : (\n
    \n {this.props.activities.map((activity, index) => {\n if(this.state.member)\n return null\n return (\n this.handleSubmit(this.state.member, activity)}\n >\n
    \n
    \n {activity.activityDescription}\n
    {activity.activityType}
    \n
    {`Activity Date: ${activity.activityDate.split('T', 1)}`}
    \n
    {`Firearm Type: ${activity.firearmType}`}
    \n {activity.status === \"Rejected\" ? (\n
    Rejected
    \n ) : activity.status === \"Pending\" ? (\n
    Pending
    \n ) : (\n
    Approved
    \n )}\n
    \n
    \n
\n );\n })}\n \n )}\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n memberV: state.MemberViewReducer.MemberView,\n activities: state.dashBoardReducer.activities.activities,\n memberList: state.dashBoardReducer.totalMembers.members,\n loggedIn: state.loginReducer.userProfileDetails.isLoggedIn\n };\n};\n\nconst bindActionsToProps = dispatch => {\n return {\n onStatusAChange: _activities =>\n dispatch({\n type: DASHBOARD_ACTIONS.UPDATE_ACTIVITY_OBJECT,\n activities: {\n pendingCount: _activities.length,\n activities: _activities\n }\n }),\n onCurrActivityTabChange: newCurrActivityTab =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ADMIN_ACTIVITY_TAB2,\n currActivityTab: newCurrActivityTab\n }),\n PendingActivityActions: bindActionCreators(PendingActivityActions, dispatch)\n };\n};\nexport default connect(\n mapStateToProps,\n bindActionsToProps\n)(withStyles(styles)(withRouter(PendingActivityApplication)));\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport {\n BASE,\n GET_SPECIFIC_USER_ENDORSEMENTS_URL\n} from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\n\nconst styles = {\n card: {\n minWidth: 500\n },\n root: {\n flex: 2,\n flexDirection: \"row\",\n borderBottom: \"1.5px solid #D8D8D8\"\n },\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20\",\n paddingRight: 20,\n paddingLeft: 20,\n color: \"black\"\n },\n content: {\n width: \"25%\",\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\",\n align: \"right\"\n },\n states: {\n color: \"#32CD32\"\n }\n};\n\nclass AdminEndorsementView extends Component {\n constructor(props) {\n super(props);\n this.state = {\n memNo: props.userProfileDetails.memberNumber\n };\n }\n\n\n componentDidMount() {\n axios\n .get(\n BASE +\n GET_SPECIFIC_USER_ENDORSEMENTS_URL +\n this.props.MemberDetails.memNo, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n )\n .then(res => {\n this.props.onApplicationsChange(res.data);\n });\n }\n\n handleSubmit = e => {\n axios\n .get(\n BASE +\n GET_SPECIFIC_USER_ENDORSEMENTS_URL +\n this.props.MemberDetails.memNo, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n )\n .then(res => { });\n this.props.onCurrentAdminEndorsementTabChange(\"1\");\n this.props.onAddEndorsementChange(this.props.title, \"title\");\n };\n\n handleChange = e => {\n this.props.onCurrentAdminEndorsementTabChange(\"1\");\n };\n\n render() {\n const DisplayEndorsementList = (\n
\n {this.props.applications.map(post => (\n
\n {\n this.props.onApplicationChange(post);\n this.handleChange();\n }}\n >\n
{post.title}
\n
\n {post.status === \"Approved\" ? (\n
Approved
\n ) : post.status === \"Rejected\" ? (\n
Rejected
\n ) : (\n
Pending
\n )}\n
\n
\n {post.approvalDate?.substring(0, 10)}\n
\n
\n
\n ))}\n \n );\n\n return (\n
\n
\n \n
\n {this.props.applications.length === 0\n ? \"No available endorsement applications currently\"\n : DisplayEndorsementList}\n
\n );\n }\n}\n\nAdminEndorsementView.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n MemberDetails: state.MemberViewReducer.MemberView,\n applications: state.endorsementReducer.applications,\n currentAdminEndorsementTab: state.adminPortalReducer.adminPortal.currentAdminEndorsementTab,\n userProfileDetails: state.loginReducer.userProfileDetails,\n memberState: state.loginReducer.memberState\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onApplicationChange: newApplication =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATION,\n application: newApplication\n }),\n onApplicationsChange: newApplications =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATIONS,\n applications: newApplications\n }),\n onCurrentAdminEndorsementTabChange: newTabName =>\n dispatch({\n type:\n actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ADMIN_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onAddEndorsementChange: (value, variableName) =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_ADMIN_ENDORSEMENT,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(AdminEndorsementView));\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport {\n Card,\n CardContent,\n Paper,\n Button,\n CardActions,\n Input\n} from \"@material-ui/core\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { activityDetailsStyles as styles } from \"../../adminUser/activitiesTab/styles/styles\";\nimport PropTypes from \"prop-types\";\nimport axios from \"axios\";\nimport {\n BASE,\n GET_SPECIFIC_USER_ENDORSEMENTS_URL,\n APPROVE_ENDORSEMENT_APPLICATION,\n SEND_EMAIL_ENDORSEMENT_APPROVAL_URL\n} from \"../../../API/APIendpoint\";\n\nclass EndorsementDetails extends Component {\n state = {\n showReasonInputBox: false,\n isApproved: false,\n isRejected: false,\n RejectionReason: \"\",\n status: {\n Approved: 1,\n Rejected: 2,\n Pending: 3\n },\n userEndorsementList: [],\n emailParam: {\n toEmail: this.props.MemberDetails.email,\n Subject: \"Status Updated\",\n Body: null,\n Firstname: this.props.MemberDetails.firstname,\n Surname:this.props.MemberDetails.surname,\n ApplicationStatus: this.props.MemberDetails.Appoved\n }\n };\n\n refreshPage() {\n axios\n .get(\n BASE +\n GET_SPECIFIC_USER_ENDORSEMENTS_URL +\n this.props.MemberDetails.memNo,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n )\n .then(res => {\n this.props.onApplicationsChange(res.data);\n });\n }\n\n constructor(props) {\n super(props);\n this.state = {\n RejectionReason: \"\",\n userEndorsementList: [],\n emailParam: {\n toEmail: this.props.MemberDetails.email,\n Subject: \"Status Updated\",\n Body: null,\n Firstname: this.props.MemberDetails.firstname,\n Surname:this.props.MemberDetails.surname,\n ApplicationStatus: this.props.MemberDetails.Appoved\n }\n };\n }\n updateApproveStatus = e => {\n axios({\n url: `${BASE}api/EndorsementApplications/Approval/${this.props.application.endorsAppID}/1/Not Appicable`,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n this.refreshPage();\n this.props.onCurrentAdminEndorsementTabChange(\"0\");\n };\n\n updateRejectStatus = e => {\n axios({\n url: `${BASE}api/EndorsementApplications/Approval/${this.props.application.endorsAppID}/2/${this.state.RejectionReason}`,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n this.refreshPage();\n this.props.onCurrentAdminEndorsementTabChange(\"0\");\n };\n\n handleSubmit = e => {\n this.props.onCurrentAdminEndorsementTabChange(\"0\");\n };\n\n handleApproveStatusEmail = e => {\n var emailParam = this.state.emailParam;\n emailParam.ApplicationStatus = \"Approve\";\n this.setState({ emailParam: emailParam });\n };\n\n handleRejectStatusEmail = e => {\n var emailParam = this.state.emailParam;\n emailParam.ApplicationStatus = \"Reject\";\n this.setState({ emailParam: emailParam });\n };\n\n render() {\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n const info2 = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n return (\n
\n
\n {\n this.props.onCurrentAdminEndorsementTabChange(\"0\");\n }}\n />\n
\n
\n
\n {info(\n \"Member No: \",\n this.props.MemberDetails.memNo\n ? this.props.MemberDetails.memNo\n : \"-\"\n )}\n {info(\n \"Endorsement No: \",\n this.props.application.endorsementNo\n ? this.props.application.endorsementNo\n : \"-\"\n )}\n {info(\n \"Discipline: \",\n this.props.application.applicationType\n ? this.props.application.applicationType\n : \"-\"\n )}\n {info(\n \"Date: \",\n this.props.application.approvalDate.substring(0, 10)\n ? this.props.application.approvalDate.substring(0, 10)\n : \"-\"\n )}\n {info(\n \"Other Statuses: \",\n this.props.application.status\n ? this.props.application.status\n : \"-\"\n )}\n {info(\n \"Action Type: \",\n this.props.application.actionType\n ? this.props.application.actionType\n : \"-\"\n )}\n {info(\"Document: \", \"-\")}\n {info(\n \"Theoretical Assessment: \",\n this.props.application.model ? this.props.application.model : \"-\"\n )}\n {info(\n \"Practical Assessment: \",\n this.props.application.section\n ? this.props.application.section\n : \"-\"\n )}\n {info(\n \"Motivation: \",\n this.props.application.motivation\n ? this.props.application.motivation\n : \"-\"\n )}\n {this.props.application.status === \"Rejected\" ?\n info2(\n \"Rejection Reason: \",\n this.props.application.reason\n ? this.props.application.reason\n : \"-\"\n ) :\n null\n }\n
\n
\n {!this.props.isPartner &&
\n \n
\n
\n
\n {\n axios.post(\n BASE + SEND_EMAIL_ENDORSEMENT_APPROVAL_URL,\n this.state.emailParam,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n );\n this.setState({\n showReasonInputBox: false,\n isApproved: true,\n isRejected: false\n });\n this.handleApproveStatusEmail();\n this.updateApproveStatus();\n this.refreshPage();\n }}\n >\n Approve\n \n
\n {this.props.application.status === \"Rejected\" ?\n
\n {\n this.setState({\n showReasonInputBox: true,\n isRejected: true,\n isApproved: false\n });\n }}\n >\n Reject\n \n
:\n
\n {\n this.setState({\n showReasonInputBox: true,\n isRejected: true,\n isApproved: false\n });\n }}\n >\n Reject\n \n
}\n
\n
\n {this.state.showReasonInputBox ? (\n \n \n \n this.setState({ RejectionReason: event.target.value })\n }\n fullWidth\n disableUnderline\n />\n \n \n {\n this.props.onCurrentAdminEndorsementTabChange(\"0\");\n this.handleRejectStatusEmail();\n axios.post(\n BASE + SEND_EMAIL_ENDORSEMENT_APPROVAL_URL,\n this.state.emailParam,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n );\n this.updateRejectStatus();\n this.refreshPage();\n }}\n >\n Apply\n \n \n \n ) : null}\n
\n
}\n
\n );\n }\n}\n\nEndorsementDetails.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n application: state.endorsementReducer.application,\n MemberDetails: state.MemberViewReducer.MemberView,\n applications: state.endorsementReducer.applications,\n addEndorsementDetails:\n state.endorsementReducer.addEndorsementDetails.addEndorsementDetails,\n currentAdminEndorsementTab:\n state.adminPortalReducer.adminPortal.currentAdminEndorsementTab,\n userProfileDetails: state.loginReducer.userProfileDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onApplicationChange: newApplication =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATION,\n application: newApplication\n }),\n onApplicationsChange: newApplications =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATIONS,\n applications: newApplications\n }),\n onCurrentAdminEndorsementTabChange: newTabName =>\n dispatch({\n type:\n actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ADMIN_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onadminAddEndorsementChange: (value, variableName) =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_ADMIN_ENDORSEMENT,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(EndorsementDetails));\n","import React, { Component } from 'react'\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport Button from '@material-ui/core/Button';\nimport {BASE,GET_SECTION_LIST,POST_SECTION,DELETE_SECTION} from \"../../../API/APIendpoint\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport { TextValidator } from \"react-material-ui-form-validator\";\n\nconst styles = theme => ({\n root: {\n height: \"100%\"\n },\n center: {\n margin: \"auto\",\n width: 50,\n padding: 10\n },\n aligner: {\n textAlign: \"center\"\n },\n\n container: {\n display: \"flex\",\n flexDirection: \"column\",\n align:\"center\"\n },\n\n footer: {\n display: \"comtent\",\n flexDirection: \"row\"\n },\n\n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n fullWidth: true,\n flex: \"1\",\n margin: \"5\",\n instantValidate: true\n },\n\n textField: {\n marginTop: \"1%\",\n marginLeft: \"30%\",\n marginRight: \"30%\",\n width:\"40%\",\n flex: 1,\n margin: 5\n },\n\n button:{\n margin: theme.spacing.unit,\n backgroundColor: \"#FFFFFF\",\n borderColor:\"#000000\",\n '&:hover': {\n backgroundColor: \"#F5A623\",\n color:'White',\n borderColor:'Black'\n },\n width: \"20%\",\n color:'Black',\n align:\"Left\",\n marginLeft: \"10%\",\n marginRight: \"30%\",\n },\n\n select: {\n marginLeft: \"5%\",\n marginRight: \"5%\",\n marginTop: \"1%\",\n flex: \"1\",\n margin: \"5\"\n }\n});\n\n\n\n\nclass DropDownSection extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Section_List: [],\n DelKey:\"\",\n isValid:false \n };\n }\n handleChange = name => event =>{\n this.props.onSectionChange(event.target.value,[name])\n this.checkNotEmpty()\n };\n\n checkNotEmpty = () => {\n let V = true;\n if (this.props.Selections.Section === \"\" ||\n this.props.Selections.Section === null || \n this.props.Selections.Section === undefined ||\n !this.props.Selections.Section.startsWith(\"Section\") ) \n {V = false;}\n this.setState({\n isValid: V\n });\n }\n\n submitSection()\n {\n if (this.state.isValid && !(this.props.Selections.Section === \"\")){\n fetch(BASE + POST_SECTION, {\n method: \"POST\",\n body: JSON.stringify({\n Section:this.props.Selections.Section\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(()=>{\n fetch(BASE + GET_SECTION_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(json => {\n this.setState({\n Section_List: json\n });\n });\n\n });\n }this.componentDidMount()\n \n };\n DeleteSection()\n {\n fetch(BASE + DELETE_SECTION +this.props.Selections.DeleteKey, {\n method: \"POST\",\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}\n }).then(()=>{\n fetch(BASE + GET_SECTION_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n this.setState({\n Section_List: data\n });\n });\n }); \n };\n\n DeleteKey = (e) =>\n {\n this.setState({\n DelKey : [e.target.value]\n })\n this.props.onSectionChange(e.target.value,\"DeleteKey\")\n }\n\n componentDidMount()\n {\n this.props.onSectionChange(\"Section\",\"Section\")\n fetch(BASE + GET_SECTION_LIST,\n {\n headers: {\n 'Content-Type': 'application/json'\n ,'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(json => {\n this.setState({\n Section_List: json\n });\n });\n\n // custom rule will have name ateast 4 characters required\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if (!value) {\n return false;\n }\n if(!value.startsWith(\"Section\")){\n return false;\n }\n if (value.length < 0) {\n return false;\n }\n return true;\n });\n }\n\n render() {\n const { classes } = this.props;\n return (\n
\n
\n

Section

\n \n \n\n \n \n }\n >\n {this.state.Section_List.map((activityType) => (\n \n ))}\n \n \n \n\n
\n
\n )\n }\n}\n\nDropDownSection.propTypes = {\n classes: PropTypes.object.isRequired\n };\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails,\n Selections: state.DropDownReducer.Options,\n newlicenceDetails: state.licensesReducer.licence\n };\n };\n \n\n \n const mapDispatchToProps = dispatch => {\n return {\n onSectionChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_OPTIONS,\n varValue: value,\n varName: vname\n })\n };\n };\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n )(withStyles(styles)(DropDownSection));","import React, { Component } from 'react'\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport Button from '@material-ui/core/Button';\nimport { BASE, GET_ACTIVITY_TYPE_LIST, POST_ACTIVITYTYPE, DELETE_ACTIVITYTYPE } from \"../../../API/APIendpoint\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\n\nconst styles = theme => ({\n root: {\n height: \"100%\"\n },\n center: {\n margin: \"auto\",\n width: 50,\n padding: 10\n },\n aligner: {\n textAlign: \"center\"\n },\n\n container: {\n display: \"flex\",\n flexDirection: \"column\",\n align: \"center\"\n },\n\n footer: {\n display: \"comtent\",\n flexDirection: \"row\"\n },\n\n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n fullWidth: true,\n flex: \"1\",\n margin: \"5\",\n instantValidate: true\n },\n\n textField: {\n marginTop: \"1%\",\n marginLeft: \"30%\",\n marginRight: \"30%\",\n flex: 1,\n margin: 5,\n width:\"40%\"\n },\n\n button: {\n margin: theme.spacing.unit,\n backgroundColor: \"#FFFFFF\",\n borderColor:\"#000000\",\n '&:hover': {\n backgroundColor: \"#F5A623\",\n color:'White',\n borderColor:'Black'\n },\n width: \"20%\",\n color:'Black',\n align:\"Left\",\n marginLeft: \"10%\",\n marginRight: \"30%\",\n },\n\n select: {\n marginLeft: \"5%\",\n marginRight: \"5%\",\n marginTop: \"1%\",\n flex: \"1\",\n margin: \"5\"\n }\n});\n\nclass DropDownActivityType extends Component {\n constructor(props) {\n super(props);\n this.state = {\n ActType_List: [],\n DelKey:\"\",\n isValid:false,\n showValid:true,\n interval:null \n };\n }\n handleChange = name => (event) => {\n this.props.onSectionChange(event.target.value,[name])\n this.setState({showValid:true})\n this.checkNotEmpty()\n };\n\n checkNotEmpty = () => {\n let V = true;\n if (this.props.Selections.ActivityType === \"\" ||\n this.props.Selections.ActivityType === null || \n this.props.Selections.ActivityType === undefined) \n {V = false;}\n this.setState({\n isValid: V\n });\n }\n\n submitSection()\n {\n if(this.state.isValid && !(this.props.Selections.ActivityType === \"\")){\n fetch(BASE + POST_ACTIVITYTYPE, {\n method: \"POST\",\n body: JSON.stringify({\n Activity: this.props.Selections.ActivityType\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(()=>{\n fetch(BASE + GET_ACTIVITY_TYPE_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(json => {\n this.setState({\n ActType_List: json\n });\n });\n });}\n this.setState({isValid:false}) \n this.componentDidMount()\n };\n\n DeleteSection() {\n fetch(BASE + DELETE_ACTIVITYTYPE + this.props.Selections.DeleteActKey, {\n method: \"POST\",\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}\n }).then(()=>{\n fetch(BASE + GET_ACTIVITY_TYPE_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n this.setState({\n ActType_List: data\n });\n });\n });\n this.componentDidMount()\n };\n\n DeleteKey = (e) => {\n\n this.setState({\n DelKey: [e.target.value]\n })\n this.props.onSectionChange(e.target.value, \"DeleteActKey\")\n }\n\n \n componentDidMount() {\n this.props.onSectionChange(\"\",\"ActivityType\")\n this.setState({showValid:false})\n fetch(BASE + GET_ACTIVITY_TYPE_LIST,\n {\n headers: {\n 'Content-Type': 'application/json'\n ,'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(json => {\n this.setState({\n ActType_List: json\n });\n });\n\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if(this.state.showValid){\n if (!value) {\n return false;\n }\n if (value.length < 0) {\n return false;\n }}\n return true;\n });\n }\n\n render() {\n const { classes } = this.props;\n return (\n
\n
\n

ActivityType

\n \n \n \n\n \n }\n >\n {this.state.ActType_List.map((activityType) => (\n \n {activityType.activity}\n \n ))}\n \n \n \n \n \n
\n
\n )\n }\n}\n\nDropDownActivityType.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails,\n Selections: state.DropDownReducer.Options,\n newlicenceDetails: state.licensesReducer.licence\n };\n};\n\n\n\nconst mapDispatchToProps = dispatch => {\n return {\n onSectionChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_OPTIONS,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(DropDownActivityType));","import React, { Component } from 'react'\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport Button from '@material-ui/core/Button';\nimport { BASE, GET_FIREARMTYPE_LIST, POST_FIREARMTYPE, DELETE_FIREARMTYPE } from \"../../../API/APIendpoint\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\n\nconst styles = theme => ({\n root: {\n height: \"100%\"\n },\n center: {\n margin: \"auto\",\n width: 50,\n padding: 10\n },\n aligner: {\n textAlign: \"center\"\n },\n\n container: {\n display: \"flex\",\n flexDirection: \"column\",\n align: \"center\"\n },\n\n footer: {\n display: \"comtent\",\n flexDirection: \"row\"\n },\n\n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n fullWidth: true,\n flex: \"1\",\n margin: \"5\",\n instantValidate: true\n },\n\n textField: {\n marginTop: \"1%\",\n marginLeft: \"30%\",\n marginRight: \"30%\",\n flex: 1,\n margin: 5,\n width:\"40%\"\n },\n\n button: {\n margin: theme.spacing.unit,\n backgroundColor: \"#FFFFFF\",\n borderColor:\"#000000\",\n '&:hover': {\n backgroundColor: \"#F5A623\",\n color:'White',\n borderColor:'Black'\n },\n width: \"20%\",\n color:'Black',\n align:\"Left\",\n marginLeft: \"10%\",\n marginRight: \"30%\",\n },\n\n select: {\n marginLeft: \"5%\",\n marginRight: \"5%\",\n marginTop: \"1%\",\n flex: \"1\",\n margin: \"5\"\n }\n});\nclass DropDownFireArm extends Component {z\n constructor(props) {\n super(props);\n this.state = {\n FireArm_List: [],\n DelKey:\"\",\n isValid:false,\n showValid:true,\n interval:null \n };\n }\n handleChange = name => event =>{\n this.props.onSectionChange(event.target.value,[name])\n this.setState({showValid:true})\n this.checkNotEmpty()\n };\n\n checkNotEmpty = () => {\n let V = true;\n if (this.props.Selections.FireArmType === \"\" ||\n this.props.Selections.FireArmType === null || \n this.props.Selections.FireArmType === undefined) \n {V = false;}\n this.setState({\n isValid: V\n });\n }\n\n submitSection()\n { \n\n if(this.state.isValid && !(this.props.Selections.FireArmType === \"\") ){\n fetch(BASE + POST_FIREARMTYPE, {\n method: \"POST\",\n body: JSON.stringify({\n fireArmType:this.props.Selections.FireArmType\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(\n () => {\n fetch(BASE + GET_FIREARMTYPE_LIST,\n {\n headers: {\n 'Content-Type': 'application/json'\n ,'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n this.setState({\n FireArm_List: data\n });\n });\n }\n );}\n this.setState({isValid:false}) \n this.componentDidMount()\n \n };\n DeleteSection()\n {\n fetch(BASE + DELETE_FIREARMTYPE +this.props.Selections.DeleteFireKey, {\n method: \"POST\",\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}\n }).then(()=>{\n fetch(BASE + GET_FIREARMTYPE_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(json => {\n this.setState({\n FireArm_List: json\n });\n });\n }); \n \n };\n\n\n DeleteKey = (e) =>\n {\n \n this.setState({\n DelKey : [e.target.value]\n })\n this.props.onSectionChange(e.target.value,\"DeleteFireKey\")\n }\n\n componentDidMount()\n {\n this.props.onSectionChange(\"\",\"FireArmType\")\n this.setState({showValid:false})\n fetch(BASE + GET_FIREARMTYPE_LIST,\n {\n headers: {\n 'Content-Type': 'application/json'\n ,'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(json => {\n this.setState({\n FireArm_List: json\n });\n });\n\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if(this.state.showValid){\n if (!value) {\n return false;\n }\n if (value.length < 0) {\n return false;\n }}\n return true;\n });\n\n }\n \n render() {\n const { classes } = this.props;\n return (\n
\n
\n

FireArm Type

\n \n \n \n \n }\n >\n {this.state.FireArm_List.map((FireArm) => (\n \n {FireArm.fireArmType}\n \n ))}\n \n \n \n
\n
\n )\n }\n}\n\nDropDownFireArm.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails,\n Selections: state.DropDownReducer.Options,\n newlicenceDetails: state.licensesReducer.licence\n };\n};\n\n\n\nconst mapDispatchToProps = dispatch => {\n return {\n onSectionChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_OPTIONS,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(DropDownFireArm));","import React, { Component } from 'react'\nimport PropTypes from \"prop-types\";\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport Button from '@material-ui/core/Button';\nimport {BASE,GET_OPTICS_LIST,POST_OPTICS,DELETE_OPTICS} from \"../../../API/APIendpoint\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\n\nconst styles = theme => ({\n root: {\n height: \"100%\"\n },\n center: {\n margin: \"auto\",\n width: 50,\n padding: 10\n },\n aligner: {\n textAlign: \"center\"\n },\n \n container: {\n display: \"flex\",\n flexDirection: \"column\",\n align:\"center\"\n },\n \n footer: {\n display: \"comtent\",\n flexDirection: \"row\"\n },\n \n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n fullWidth: true,\n flex: \"1\",\n margin: \"5\",\n instantValidate: true\n },\n \n textField: {\n marginTop: \"1%\",\n marginLeft: \"30%\",\n marginRight: \"30%\",\n flex: 1,\n margin: 5,\n width:\"40%\"\n },\n\n button:{\n margin: theme.spacing.unit,\n backgroundColor: \"#FFFFFF\",\n borderColor:\"#000000\",\n '&:hover': {\n backgroundColor: \"#F5A623\",\n color:'White',\n borderColor:'Black'\n },\n width: \"20%\",\n color:'Black',\n align:\"Left\",\n marginLeft: \"10%\",\n marginRight: \"30%\",\n },\n \n select: {\n marginLeft: \"5%\",\n marginRight: \"5%\",\n marginTop: \"1%\",\n flex: \"1\",\n margin: \"5\"\n }\n });\n\nclass DropDownOptics extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Optics_List: [],\n DelKey:\"\",\n isValid:false,\n showValid:true \n };\n }\n handleChange = name => event =>{\n this.props.onSectionChange(event.target.value,[name])\n this.setState({showValid:true})\n this.checkNotEmpty()\n };\n checkNotEmpty = () => {\n let V = true;\n if (this.props.Selections.Optics === \"\" ||\n this.props.Selections.Optics === null || \n this.props.Selections.Optics === undefined) \n {V = false;}\n this.setState({\n isValid: V\n });\n }\n submitSection()\n {\n if(this.state.isValid && !(this.props.Selections.Optics === \"\")){\n fetch(BASE + POST_OPTICS, {\n method: \"POST\",\n body: JSON.stringify({\n Optics:this.props.Selections.Optics\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(()=>{\n fetch(BASE + GET_OPTICS_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(json => { \n this.setState({\n Optics_List: json\n });\n });\n\n });}\n this.setState({isValid:false}) \n this.componentDidMount()\n \n };\n DeleteSection()\n {\n fetch(BASE + DELETE_OPTICS +this.props.Selections.DeleteOpticsKey, {\n method: \"POST\",\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}\n }).then(()=>{\n\n fetch(BASE + GET_OPTICS_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(json => { \n this.setState({\n Optics_List: json\n });\n });\n }); \n this.componentDidMount() \n };\n\n DeleteKey = (e) =>\n {\n \n this.setState({\n DelKey : [e.target.value]\n })\n this.props.onSectionChange(e.target.value,\"DeleteOpticsKey\")\n }\n\n componentDidMount()\n {\n this.props.onSectionChange(\"\",\"Optics\")\n this.setState({showValid:false})\n fetch(BASE + GET_OPTICS_LIST,\n {\n headers: {\n 'Content-Type': 'application/json'\n ,'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => { \n this.setState({\n Optics_List: data\n });\n });\n\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if(this.state.showValid){\n if (!value) {\n return false;\n }\n if (value.length < 0) {\n return false;\n }}\n return true;\n });\n }\n\n render() {\n const { classes } = this.props;\n return (\n
\n
\n

Optics

\n \n \n\n \n \n }\n >\n {this.state.Optics_List.map((Optic) => (\n \n ))}\n \n \n \n
\n
\n )\n }\n}\n\nDropDownOptics.propTypes = {\n classes: PropTypes.object.isRequired\n };\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails,\n Selections: state.DropDownReducer.Options,\n newlicenceDetails: state.licensesReducer.licence\n };\n };\n \n\n \n const mapDispatchToProps = dispatch => {\n return {\n onSectionChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_OPTIONS,\n varValue: value,\n varName: vname\n })\n };\n };\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n )(withStyles(styles)(DropDownOptics));","import React, { Component } from 'react'\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport Button from '@material-ui/core/Button';\nimport {BASE,GET_ACTIVITYEVENT_LIST,POST_ACTIVITYEVENT,DELETE_ACTIVITYEVENT} from \"../../../API/APIendpoint\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\n\nconst styles = theme => ({\n root: {\n height: \"100%\"\n },\n center: {\n margin: \"auto\",\n width: 50,\n padding: 10\n },\n aligner: {\n textAlign: \"center\"\n },\n \n container: {\n display: \"flex\",\n flexDirection: \"column\",\n align:\"center\"\n },\n \n footer: {\n display: \"comtent\",\n flexDirection: \"row\"\n },\n \n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n fullWidth: true,\n flex: \"1\",\n margin: \"5\",\n instantValidate: true\n },\n \n textField: {\n marginTop: \"1%\",\n marginLeft: \"30%\",\n marginRight: \"30%\",\n flex: 1,\n margin: 5,\n width:\"40%\"\n },\n\n button:{\n margin: theme.spacing.unit,\n backgroundColor: \"#FFFFFF\",\n borderColor:\"#000000\",\n '&:hover': {\n backgroundColor: \"#F5A623\",\n color:'White',\n borderColor:'Black'\n },\n width: \"20%\",\n color:'Black',\n align:\"Left\",\n marginLeft: \"10%\",\n marginRight: \"30%\",\n },\n\n select: {\n marginLeft: \"5%\",\n marginRight: \"5%\",\n marginTop: \"1%\",\n flex: \"1\",\n margin: \"5\"\n }\n });\n\nclass DropDownSection extends Component {\n constructor(props) {\n super(props);\n this.state = {\n ActEvent_List: [],\n DelKey:\"\",\n isValid:false,\n showValid:true,\n interval:null \n };\n }\n handleChange = name => event =>{\n this.props.onSectionChange(event.target.value,[name])\n this.setState({showValid:true})\n this.checkNotEmpty()\n };\n\n checkNotEmpty = () => {\n let V = true;\n if (this.props.Selections.Activity_Event === \"\" ||\n this.props.Selections.Activity_Event === \" \" ||\n this.props.Selections.Activity_Event === null || \n this.props.Selections.Activity_Event === undefined) \n {V = false;}\n this.setState({\n isValid: V\n });\n }\n submitSection()\n { \n if(this.state.isValid && !(this.props.Selections.Activity_Event === \"\")){\n fetch(BASE + POST_ACTIVITYEVENT, {\n method: \"POST\",\n body: JSON.stringify({\n ActivityEvent:this.props.Selections.Activity_Event\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(()=>{\n fetch(BASE + GET_ACTIVITYEVENT_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res=>res.json())\n .then(json => {\n this.setState({\n ActEvent_List: json\n });\n });\n });\n }\n this.setState({isValid:false}) \n this.componentDidMount()\n \n };\n DeleteSection()\n {\n fetch(BASE + DELETE_ACTIVITYEVENT +this.props.Selections.DeleteActEventKey, {\n method: \"POST\",\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}\n }).then(()=>{\n fetch(BASE + GET_ACTIVITYEVENT_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n this.setState({\n ActEvent_List: data\n });\n });\n }); \n this.forceUpdate()\n };\n\n DeleteKey = (e) =>\n {\n \n this.setState({\n DelKey : [e.target.value]\n })\n this.props.onSectionChange(e.target.value,\"DeleteActEventKey\")\n }\n\n componentDidMount()\n {\n\n this.props.onSectionChange(\"\",\"Activity_Event\")\n this.setState({showValid:false})\n fetch(BASE + GET_ACTIVITYEVENT_LIST,\n {\n headers: {\n 'Content-Type': 'application/json'\n ,'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n this.setState({\n ActEvent_List: data\n });\n });\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if(this.state.showValid){\n if (!value) {\n return false;\n }\n if (value.length < 0) {\n return false;\n }}\n return true;\n });\n }\n\n render() {\n const { classes } = this.props;\n return (\n
\n
\n

Activity Event

\n \n this.handleChange(\"Activity_Event\")}\n name=\"Activity_Event\"\n validators={[\"isEmpty\", \"required\"]}\n errormessages={[\n \"Please Enter an Activity Event\",\n \"This field is required\"\n ]}\n margin=\"normal\"\n variant=\"outlined\"\n /> \n \n \n }\n >\n {this.state.ActEvent_List.map((activityType) => (\n \n ))}\n \n\n \n \n
\n
\n )\n }\n}\n\nDropDownSection.propTypes = {\n classes: PropTypes.object.isRequired\n };\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails,\n Selections: state.DropDownReducer.Options,\n newlicenceDetails: state.licensesReducer.licence\n };\n };\n \n\n \n const mapDispatchToProps = dispatch => {\n return {\n onSectionChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_OPTIONS,\n varValue: value,\n varName: vname\n })\n };\n };\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n )(withStyles(styles)(DropDownSection));\n","import React, { Component } from \"react\";\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport Button from \"@material-ui/core/Button\";\nimport {\n BASE,\n GET_STORE_LIST,\n POST_STORE,\n DELETE_STORE\n} from \"../../../API/APIendpoint\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\n\nconst styles = theme => ({\n root: {\n height: \"100%\"\n },\n center: {\n margin: \"auto\",\n width: 50,\n padding: 10\n },\n aligner: {\n textAlign: \"center\"\n },\n\n container: {\n display: \"flex\",\n flexDirection: \"column\",\n align: \"center\"\n },\n\n footer: {\n display: \"comtent\",\n flexDirection: \"row\"\n },\n\n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n fullWidth: true,\n flex: \"1\",\n margin: \"5\",\n instantValidate: true\n },\n\n textField: {\n marginTop: \"1%\",\n marginLeft: \"30%\",\n marginRight: \"30%\",\n flex: 1,\n margin: 5,\n width: \"40%\"\n },\n\n button: {\n margin: theme.spacing.unit,\n backgroundColor: \"#FFFFFF\",\n borderColor: \"#000000\",\n \"&:hover\": {\n backgroundColor: \"#F5A623\",\n color: \"White\",\n borderColor: \"Black\"\n },\n width: \"20%\",\n color: \"Black\",\n align: \"Left\",\n marginLeft: \"10%\",\n marginRight: \"30%\"\n },\n\n select: {\n marginLeft: \"5%\",\n marginRight: \"5%\",\n marginTop: \"1%\",\n flex: \"1\",\n margin: \"5\"\n }\n});\n\nclass DropDownStore extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Store_List: [],\n DelKey: \"\",\n isValid: false,\n showValid: true\n };\n }\n handleChange = name => event => {\n this.props.onSectionChange(event.target.value, [name]);\n this.setState({ showValid: true });\n this.checkNotEmpty();\n };\n checkNotEmpty = () => {\n let V = true;\n if (\n this.props.Selections.Store === \"\" ||\n this.props.Selections.Store === null ||\n this.props.Selections.Store === undefined ||\n this.props.Selections.Adress === \"\" ||\n this.props.Selections.Adress === null ||\n this.props.Selections.Adress === undefined\n ) {\n V = false;\n }\n this.setState({\n isValid: V\n });\n };\n\n submitSection() {\n if (\n this.state.isValid &&\n !(this.props.Selections.Store === \"\") &&\n !(this.props.Selections.Adress === \"\")\n ) {\n fetch(BASE + POST_STORE, {\n method: \"POST\",\n body: JSON.stringify({\n Store: this.props.Selections.Store,\n Adress: this.props.Selections.Adress\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(() => {\n fetch(BASE + GET_STORE_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n \n this.setState({\n Store_List: data\n });\n });\n });\n }\n this.setState({ isValid: false });\n this.componentDidMount();\n }\n DeleteSection() {\n fetch(BASE + DELETE_STORE + this.props.Selections.DeleteStoreKey, {\n method: \"POST\",\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}\n }).then(() => {\n fetch(BASE + GET_STORE_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n this.setState({\n Store_List: data\n });\n });\n });\n this.componentDidMount();\n }\n\n DeleteKey = e => {\n this.setState({\n DelKey: [e.target.value]\n });\n this.props.onSectionChange(e.target.value, \"DeleteStoreKey\");\n };\n\n componentDidMount() {\n this.props.onSectionChange(\"\", \"Store\");\n this.props.onSectionChange(\"\", \"Adress\");\n\n this.setState({ showValid: false });\n fetch(BASE + GET_STORE_LIST,\n {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n this.setState({\n Store_List: data\n });\n });\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if (this.state.showValid) {\n if (!value) {\n return false;\n }\n if (value.length < 0) {\n return false;\n }\n }\n return true;\n });\n }\n\n render() {\n const { classes } = this.props;\n return (\n
\n
\n

\n Store\n

\n this.handleSubmit()}\n >\n \n \n\n {\n this.submitSection();\n }}\n >\n Add to Drop Downs\n \n \n }\n >\n {this.state.Store_List.map(activityType => (\n \n ))}\n \n\n {\n this.DeleteSection();\n }}\n >\n Remove Store\n \n \n
\n
\n );\n }\n}\n\nDropDownStore.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails,\n Selections: state.DropDownReducer.Options,\n newlicenceDetails: state.licensesReducer.licence\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onSectionChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_OPTIONS,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(DropDownStore));\n","import React, { Component } from 'react'\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport Button from '@material-ui/core/Button';\nimport {BASE,GET_ACTIVITYDISC_LIST,POST_ACTDISCIPLINE,DELETE_ACTDISCIPLINE} from \"../../../API/APIendpoint\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\n\nconst styles = theme => ({\n root: {\n height: \"100%\"\n },\n center: {\n margin: \"auto\",\n width: 50,\n padding: 10\n },\n aligner: {\n textAlign: \"center\"\n },\n \n container: {\n display: \"flex\",\n flexDirection: \"column\",\n align:\"center\"\n },\n \n footer: {\n display: \"comtent\",\n flexDirection: \"row\"\n },\n \n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n fullWidth: true,\n flex: \"1\",\n margin: \"5\",\n instantValidate: true\n },\n \n textField: {\n marginTop: \"1%\",\n marginLeft: \"30%\",\n marginRight: \"30%\",\n flex: 1,\n margin: 5,\n width:\"40%\"\n },\n\n button:{\n margin: theme.spacing.unit,\n backgroundColor: \"#FFFFFF\",\n borderColor:\"#000000\",\n '&:hover': {\n backgroundColor: \"#F5A623\",\n color:'White',\n borderColor:'Black'\n },\n width: \"20%\",\n color:'Black',\n align:\"Left\",\n marginLeft: \"10%\",\n marginRight: \"30%\",\n },\n\n \n \n select: {\n marginLeft: \"5%\",\n marginRight: \"5%\",\n marginTop: \"1%\",\n flex: \"1\",\n margin: \"5\"\n }\n });\n\nclass DropDownActivityDisc extends Component {\n constructor(props) {\n super(props);\n this.state = {\n ActivityDisc_List: [],\n DelKey:\"\",\n isValid:false,\n showValid:true \n };\n }\n handleChange = name => event =>{\n this.props.onSectionChange(event.target.value,[name])\n this.setState({showValid:true})\n this.checkNotEmpty()\n };\n checkNotEmpty = () => {\n let V = true;\n if (this.props.Selections.Act_Disc === \"\" ||\n this.props.Selections.Act_Disc === null || \n this.props.Selections.Act_Disc === undefined) \n {V = false;}\n this.setState({\n isValid: V\n });\n }\n\n submitSection()\n {\n if(this.state.isValid && !(this.props.Selections.Act_Disc === \"\")){\n fetch(BASE + POST_ACTDISCIPLINE, {\n method: \"POST\",\n body: JSON.stringify({\n Discipline:this.props.Selections.Act_Disc\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(()=>{\n fetch(BASE + GET_ACTIVITYDISC_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n this.setState({\n ActivityDisc_List: data\n });\n });\n });}\n this.setState({isValid:false}) \n this.componentDidMount()\n \n };\n DeleteSection()\n {\n fetch(BASE + DELETE_ACTDISCIPLINE +this.props.Selections.DeleteActDiscKey, {\n method: \"POST\",\n headers: {\n 'Content-Type': 'application/json'\n ,'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}\n }).then(()=>{\n fetch(BASE + GET_ACTIVITYDISC_LIST,\n {\n headers: {\n 'Content-Type': 'application/json'\n ,'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n this.setState({\n ActivityDisc_List: data\n });\n });\n }); \n this.componentDidMount() \n };\n\n DeleteKey = (e) =>\n {\n this.setState({\n DelKey : [e.target.value]\n })\n this.props.onSectionChange(e.target.value,\"DeleteActDiscKey\")\n }\n\n componentDidMount()\n {\n this.props.onSectionChange(\"\",\"Act_Disc\")\n this.setState({showValid:false})\n fetch(BASE + GET_ACTIVITYDISC_LIST,\n {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n this.setState({\n ActivityDisc_List: data\n });\n });\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if(this.state.showValid){\n if (!value) {\n return false;\n }\n if (value.length < 0) {\n return false;\n }}\n return true;\n });\n }\n\n render() {\n const { classes } = this.props;\n return (\n
\n
\n

Activity Discipline

\n this.handleSubmit()}\n >\n \n\n\n \n \n }\n >\n {this.state.ActivityDisc_List.map((activityType) => (\n \n ))}\n \n\n \n \n
\n
\n )\n }\n}\n\nDropDownActivityDisc.propTypes = {\n classes: PropTypes.object.isRequired\n };\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails,\n Selections: state.DropDownReducer.Options,\n newlicenceDetails: state.licensesReducer.licence\n };\n };\n \n\n \n const mapDispatchToProps = dispatch => {\n return {\n onSectionChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_OPTIONS,\n varValue: value,\n varName: vname\n })\n };\n };\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n )(withStyles(styles)(DropDownActivityDisc));","import React, { Component } from \"react\";\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport Button from \"@material-ui/core/Button\";\nimport Axios from \"axios\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\nconst styles = theme => ({\n root: {\n height: \"100%\"\n },\n center: {\n margin: \"auto\",\n width: 50,\n padding: 10\n },\n aligner: {\n textAlign: \"center\"\n },\n container: {\n display: \"flex\",\n flexDirection: \"column\",\n align: \"center\"\n },\n footer: {\n display: \"comtent\",\n flexDirection: \"row\"\n },\n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n fullWidth: true,\n flex: \"1\",\n margin: \"5\",\n instantValidate: true\n },\n textField: {\n marginTop: \"1%\",\n marginLeft: \"30%\",\n marginRight: \"30%\",\n flex: 1,\n margin: 5,\n width: \"40%\"\n },\n button: {\n margin: theme.spacing.unit,\n backgroundColor: \"#FFFFFF\",\n borderColor: \"#000000\",\n \"&:hover\": {\n backgroundColor: \"#F5A623\",\n color: \"White\",\n borderColor: \"Black\"\n },\n width: \"20%\",\n color: \"Black\",\n align: \"Left\",\n marginLeft: \"10%\",\n marginRight: \"30%\"\n },\n select: {\n marginLeft: \"5%\",\n marginRight: \"5%\",\n marginTop: \"1%\",\n flex: \"1\",\n margin: \"5\"\n }\n});\nclass DropDownShootingRange extends Component {\n constructor(props) {\n super(props);\n this.state = {\n ShootingRange_List: [],\n DelKey: \"\",\n isValid: false,\n showValid: true\n };\n }\n handleChange = name => event => {\n this.props.onSectionChange(event.target.value, [name]);\n this.setState({ showValid: true });\n this.checkNotEmpty();\n };\n checkNotEmpty = () => {\n let V = true;\n if (\n this.props.Selections.ShootingRange === \"\" ||\n this.props.Selections.ShootingRange === null ||\n this.props.Selections.ShootingRange === undefined ||\n this.props.Selections.SRAddress === \"\" ||\n this.props.Selections.SRAddress === null ||\n this.props.Selections.SRAddress === undefined\n ) {\n V = false;\n }\n this.setState({\n isValid: V\n });\n };\n submitSection() {\n if (\n this.state.isValid &&\n !(this.props.Selections.ShootingRange === \"\") &&\n !(this.props.Selections.SRAddress === \"\")\n ) {\n fetch(BASE + \"api/ShootingRanges\", {\n method: \"POST\",\n body: JSON.stringify({\n ShootingRange: this.props.Selections.ShootingRange,\n Adress: this.props.Selections.SRAddress\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(() => {\n fetch(BASE + \"api/ShootingRanges\", {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n })\n .then(res => res.json())\n .then(data => {\n this.setState({\n ShootingRange_List: data\n });\n \n });\n });\n }\n this.props.onSectionChange(\" \", \"ShootingRange\");\n this.props.onSectionChange(\" \", \"SRAddress\");\n this.setState({ isValid: false });\n this.forceUpdate();\n }\n DeleteSection() {\n Axios.delete(\n BASE + \"api/ShootingRanges/\" + this.props.Selections.DeleteSRangeKey, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n ).then(() =>\n Axios.get(BASE + \"api/ShootingRanges\", {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n })\n .then(data => {this.setState({\n ShootingRange_List: data.data\n })}\n )\n );\n this.componentDidMount();\n }\n DeleteKey = e => {\n this.setState({\n DelKey: [e.target.value]\n });\n this.props.onSectionChange(e.target.value, \"DeleteSRangeKey\");\n };\n componentDidMount() {\n this.props.onSectionChange(\"\", \"ShootingRange\");\n this.props.onSectionChange(\"\", \"SRAddress\");\n this.setState({ showValid: false });\n fetch(BASE + \"api/ShootingRanges\",\n {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n })\n .then(res => res.json())\n .then(data => {\n this.setState({\n ShootingRange_List: data\n });\n });\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if (this.state.showValid) {\n if (!value) {\n return false;\n }\n if (value.length < 0) {\n return false;\n }\n }\n return true;\n });\n }\n render() {\n const { classes } = this.props;\n return (\n
\n
\n

\n Shooting Range\n

\n this.handleSubmit()}\n >\n \n \n {\n this.submitSection();\n }}\n >\n Add to Drop Downs\n \n \n }\n >\n {this.state.ShootingRange_List.map(activityType => (\n \n {activityType.shootingRange} : {activityType.adress}\n \n ))}\n \n\n {\n this.DeleteSection();\n }}\n >\n Remove Shooting Range\n \n \n
\n
\n );\n }\n}\nDropDownShootingRange.propTypes = {\n classes: PropTypes.object.isRequired\n};\nconst mapStateToProps = state => {\n return {\n Selections: state.DropDownReducer.Options\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onSectionChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_OPTIONS,\n varValue: value,\n varName: vname\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(DropDownShootingRange));\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport DropDownSection from \"./DropDownSection\";\nimport DropDownActivityType from \"./DropDownActivityType\";\nimport DropDownFireArm from \"./DropDownFireArm\";\nimport DropDownOptics from \"./DropDownOptics\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\nimport DropDownActivityEvent from \"./DropDownActivityEvent\";\nimport DropDownStore from \"./DropDownStore\";\nimport DropDownActivityDisc from \"./DropDownActivityDisc\";\nimport DropDownShootingRange from \"./DropDownShootingRange\";\n\nconst styles = theme => ({\n root: {\n height: \"100%\"\n },\n center: {\n margin: \"auto\",\n width: 50,\n padding: 10\n },\n aligner: {\n textAlign: \"center\"\n },\n\n container: {\n display: \"flex\",\n flexDirection: \"column\",\n align: \"center\"\n },\n\n footer: {\n display: \"comtent\",\n flexDirection: \"row\"\n },\n\n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n fullWidth: true,\n flex: \"1\",\n margin: \"5\",\n instantValidate: true\n },\n\n grow: {\n flex: \"6\"\n },\n\n grow1: {\n flex: \"4\"\n },\n\n select: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n flex: \"2\",\n margin: \"5\"\n }\n});\n\nclass EditDropDown extends Component {\n handleChange = name => event => {\n this.props.onSectionChange(event.target.value, [name]);\n };\n\n ActionSelect() {\n if (this.props.Selections.show === \"Section\") {\n return ;\n } else if (this.props.Selections.show === \"Activity Type\") {\n return ;\n } else if (this.props.Selections.show === \"Fire-Arm Type\") {\n return ;\n } else if (this.props.Selections.show === \"Optics\") {\n return ;\n } else if (this.props.Selections.show === \"Activity Event\") {\n return ;\n } else if (this.props.Selections.show === \"Store\") {\n return ;\n } else if (this.props.Selections.show === \"ShootingRange\") {\n return ;\n } else if (this.props.Selections.show === \"Activity Discipline\") {\n return ;\n }\n }\n\n render() {\n const { classes } = this.props;\n const actiontype = [\n \"Select a Drop Down List\",\n \"Activity Discipline\",\n \"Activity Type\",\n \"Fire-Arm Type\",\n \"Optics\",\n \"Section\",\n \"Store\",\n \"ShootingRange\"\n ];\n return (\n
\n \n\n
\n \n }\n >\n {actiontype.map((activityType, index) => (\n \n ))}\n \n \n {this.ActionSelect()}\n
\n );\n }\n}\n\nEditDropDown.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails,\n Selections: state.DropDownReducer.Options\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onSectionChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_OPTIONS,\n varValue: value,\n varName: vname\n }),\n\n onMemberDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_SIGNUP_DETAILS,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(EditDropDown));\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Visibility from \"@material-ui/icons/Visibility\";\nimport Axios from \"axios\";\nimport { BASE } from \"../../API/APIendpoint\";\nconst styles = {\n card: {\n minWidth: 500\n },\n root: {\n flex: 1,\n flexDirection: \"row\",\n borderBottom: \"1.5px solid #D8D8D8\"\n },\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20%\",\n paddingRight: 20,\n paddingLeft: 20,\n color: \"black\"\n },\n content: {\n display: \"inline-block\",\n fontSize: 15,\n color: \"black\"\n }\n};\nclass AccountsView extends Component {\n constructor(props) {\n super(props);\n this.state = {\n memPaymentDetails: []\n };\n }\n componentDidMount() {\n Axios.get(BASE + \"api/account/member/\" + this.props.MemberV.memNo, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }).then(\n res => {\n this.setState({\n memPaymentDetails: res.data\n })\n this.props.onMemViewAcctDetGet(res.data)\n }\n \n );\n }\n DateDifference = (datePart, fromDate, todate) => {\n datePart = datePart.toLowerCase();\n var diff = todate - fromDate;\n var divideBy = { w: 604800000, d: 86400000, h: 3600000, m: 60000, s: 1000 };\n\n return Math.floor(diff / divideBy[datePart]);\n };\n memberStatus = () => {\n var daysToExpiry = this.DateDifference(\n \"d\",\n new Date(Date.now()),\n new Date(this.props.MemberV.expiryDate.substring(0, 10))\n );\n return daysToExpiry >= 0 ? (\n
Approved
\n ) : (\n
Pending
\n );\n };\n isPaymentStillValid = () => {\n return (\n this.props.recentAccountEntry.memNo !== undefined &&\n this.DateDifference(\n \"w\",\n new Date(this.props.recentAccountEntry.paymentDate.substring(0, 10)),\n new Date(Date.now())\n ) < 52\n );\n };\n handleSubmit = item => {\n if(this.props.isPartner)\n return;\n\n this.props.onMemberPaymentChange(item);\n this.props.onCurrAccountViewTabChange(2);\n };\n render() {\n const _accountDetails = !this.props.memViewAccountDet ? this.state.memPaymentDetails : this.props.memViewAccountDet; \n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n return (\n
\n
\n this.props.onCurrAccountViewTabChange(3)}\n />\n
\n {_accountDetails.length === 0 ?\n
\n No Payment Related Data Found\n
: null}\n {\n _accountDetails.map((item, index) => (\n this.handleSubmit(item, index)}\n >\n {info(\"Payment Type: \", item.paymentType)}\n {info(\"Date Paid:\", item.paymentDate.substring(0, 10))}\n {info(\"Amount Paid:\", `R ${item.amountPaid}`)}\n {this.props.isPartner &&
}\n
\n ))\n }\n \n );\n }\n}\nconst mapStateToProps = state => {\n return {\n userDetails: state.loginReducer.userProfileDetails,\n MemberV: state.MemberViewReducer.MemberView,\n recentAccountEntry: state.accountReducer.recentAccountEntry,\n accountDetails: state.accountReducer.account,\n memViewAccountDet: state.accountReducer.memViewAccountDet\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onMemViewAcctDetGet: acctDet =>\n dispatch({\n type: actionTypes.MEM_VIEW_ACCT_DET,\n memViewAccountDet: acctDet\n }),\n onCurrAccountViewTabChange: newCurrAccountViewTab =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ACCOUNT_VIEW_TAB,\n currAccountViewTab: newCurrAccountViewTab\n }),\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname\n }),\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n }),\n onMemberPaymentChange: newMemPayment =>\n dispatch({\n type: actionTypes.MEMBER_PAYMENT_ADD,\n PaymentObject: newMemPayment\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(AccountsView));\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport PropTypes from \"prop-types\";\nconst styles = {\n card: {\n minWidth: 500\n },\n root: {\n flex: 1,\n flexDirection: \"row\",\n borderBottom: \"1.5px solid #D8D8D8\"\n },\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20%\",\n paddingRight: 20,\n paddingLeft: 20,\n color: \"black\"\n },\n content: {\n display: \"inline-block\",\n fontSize: 15,\n color: \"black\"\n }\n};\nclass AccountsViewAll extends Component {\n DateDifference = (datePart, fromDate, todate) => {\n datePart = datePart.toLowerCase();\n var diff = todate - fromDate;\n var divideBy = { w: 604800000, d: 86400000, h: 3600000, m: 60000, s: 1000 };\n\n return Math.floor(diff / divideBy[datePart]);\n\n \n };\n memberStatus = () => {\n var daysToExpiry = this.DateDifference(\n \"d\",\n new Date(Date.now()),\n new Date(this.props.MemberV.expiryDate.substring(0, 10))\n );\n return daysToExpiry >= 0 ? (\n
Approved
\n ) : (\n
Pending
\n );\n };\n isPaymentStillValid = () => {\n return (\n this.props.recentAccountEntry.memNo !== undefined &&\n this.DateDifference(\n \"w\",\n new Date(this.props.recentAccountEntry.paymentDate.substring(0, 10)),\n new Date(Date.now())\n ) < 52\n );\n };\n render() {\n console.log(\"AccountsViewAll \", this.props)\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n return (\n
\n
\n {\n this.props.onCurrAccountViewTabChange(0, \"currentAccountTab\");\n }}\n />\n
\n {info(\n \"Invoice Date: \",\n this.props.memPaymentDetails.invoiceDate.substring(0, 10)\n )}\n {info(\"Invoice Number: \", this.props.memPaymentDetails.invoiceNumber)}\n {info(\"Payment Method: \", this.props.memPaymentDetails.paymentMethod)}\n {info(\"Receipt Number: \", this.props.memPaymentDetails.recieptNumber)}\n {info(\"Year: \", this.props.memPaymentDetails.year)}\n {info(\"Amount: \", `R ${this.props.memPaymentDetails.amountPaid}`)}\n {info(\"Transaction Number: \", this.props.memPaymentDetails.transactionNo)}\n
\n );\n }\n}\nAccountsViewAll.propTypes = {\n classes: PropTypes.object.isRequired\n};\nconst mapStateToProps = state => {\n return {\n userDetails: state.loginReducer.userProfileDetails,\n MemberV: state.MemberViewReducer.MemberView,\n recentAccountEntry: state.accountReducer.recentAccountEntry,\n memPaymentDetails: state.accountReducer.PaymentObject\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrAccountViewTabChange: newCurrAccountViewTab =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ACCOUNT_VIEW_TAB,\n currAccountViewTab: newCurrAccountViewTab\n }),\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname\n }),\n\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(AccountsViewAll));\n","import Axios from 'axios';\nimport * as EndPoints from \"../../API/APIendpoint\";\n\nexport const submitApplication = async (data) => {\n const config = {\n url: `${EndPoints.BASE}${EndPoints.NEW_DS_APPLICATION}`,\n method: 'post',\n data,\n headers: {\n 'Content-Type': 'multipart/form-data',\n 'Access-Control-Allow-Origin': '*',\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n }\n return await Axios(config);\n}\n\n\n","import * as Types from \"./DedicatedStatusApplicationActionTypes\";\nimport { submitApplication } from \"./DedicatedStatusApplicationAPI\";\n\nexport const submitDSApplicationBeginAC = () => {\n return {\n type: Types.APPLICATION_BEGIN,\n DSApplicationState: {\n applicationStatus: {\n loading: true,\n error: null\n }\n }\n };\n};\n\nexport const submitDSApplicationSuccessAC = (response) => {\n return {\n type: Types.APPLICATION_SUCCESS,\n DSApplicationState: {\n applicationStatus: {\n loading: false,\n response\n },\n }\n };\n};\n\nexport const submitDSApplicationErrorAC = (error) => {\n return {\n type: Types.APPLICATION_ERROR,\n DSApplicationState: {\n applicationStatus: {\n loading: false,\n error\n }\n }\n };\n};\n\nexport const submitDSApplication = (id, status, reason) => async (dispatch) => {\n dispatch(submitDSApplicationBeginAC());\n try {\n const response = await submitApplication(id, status, reason);\n dispatch(submitDSApplicationSuccessAC(response));\n return response;\n } catch (error) {\n dispatch(submitDSApplicationErrorAC(error));\n }\n}\n\nexport const changeStep = (step) => (dispatch) => {\n dispatch({\n type: Types.CHANGE_STEP,\n DSApplicationState: {\n currentStep: step\n }\n });\n}\n\nexport const toggleDSType = (dsType) => (dispatch) => {\n dispatch({\n type: Types.TOGGLE_DS_TYPE,\n DSApplicationState: { dsType }\n });\n}\n\nexport const setValidationError = (canSubmit) => (dispatch) => {\n dispatch({\n type: Types.SET_VALIDATION_ERRORS,\n DSApplicationState: { canSubmit }\n });\n}\n\nexport const setDSVariables = (key, value) => (dispatch) => {\n dispatch({\n type: Types.SET_DS_VARIABLES,\n DSApplicationState: {\n [key]: value\n }\n });\n}\n\n\nexport const clearState = () => (dispatch) => {\n dispatch({\n type: Types.CLEAR_STATE\n });\n}\n\nexport const redirectToDSList = () => (dispatch) => {\n dispatch({\n type: \"REDIRECT_TO_DS_LIST\",\n dedictedStatusReducer: {\n dedicatedStatus: {\n Pages: \"Home\"\n }\n }\n })\n}","export const APPLICATION_ERROR = \"APPLICATION_ERROR\",\n APPLICATION_BEGIN = \"APPLICATION_BEGIN\",\n APPLICATION_SUCCESS = \"APPLICATION_SUCCESS\",\n CHANGE_STEP = \"CHANGE_STEP\",\n TOGGLE_DS_TYPE = \"TOGGLE_DS_TYPE\",\n SET_VALIDATION_ERRORS = \"SET_VALIDATION_ERRORS\",\n SET_DS_VARIABLES = \"SET_DS_VARIABLES\",\n CLEAR_STATE = \"CLEAR_STATE\";\n","import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_MEMBER } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport \"./profile.css\";\nimport UserDetails from \"../loggeddInUser/userProfile/UserDetails\";\nimport { isMobile } from \"react-device-detect\";\nimport { toast } from 'react-toastify';\ntoast.configure();\nexport class EditMemberDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n MemNo: this.props.memberDetails.memberNumber,\n CellNo: this.props.memberDetails.cellNo,\n PhysicalAddress: this.props.memberDetails.physicalAddress,\n Province: this.props.memberDetails.province,\n PostalCode: this.props.memberDetails.postalCode,\n Email: this.props.memberDetails.email,\n Occupation: this.props.memberDetails.occupation,\n City: this.props.memberDetails.city,\n Suburb: this.props.memberDetails.suburb,\n userDetails: false\n };\n this._submitForm = React.createRef();\n }\n _clickSubmitButton = e => {\n e.preventDefault();\n this._submitForm.current.click();\n }\n onChange = e => {\n e.preventDefault();\n this.setState({\n [e.target.name]: e.target.value\n });\n };\n onSubmit = e => {\n e.preventDefault();\n const {\n MemNo,\n CellNo,\n PhysicalAddress,\n Province,\n PostalCode,\n Email,\n Occupation,\n City,\n Suburb\n } = this.state;\n axios\n .post(BASE + \"api/Member/updateMemberDetails\", {\n MemNo,\n CellNo,\n PhysicalAddress,\n Province,\n PostalCode,\n Email,\n Occupation,\n City,\n Suburb\n }, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}` }\n })\n .then(response => {\n if(!response.data.status){\n toast.error(response.data.message);\n } else {\n toast.success(response.data.message);\n axios.get(BASE + GET_MEMBER + this.state.MemNo, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}` }\n }).then(response => {\n this.props.onMemberDetailsChange(\n response.data.members.username,\n \"username\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.email,\n \"email\"\n );\n \n this.props.onMemberDetailsChange(response.data.members.idno, \"idno\");\n this.props.onMemberDetailsChange(\n response.data.members.cellNo,\n \"cellNo\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.physicalAddress,\n \"physicalAddress\"\n );\n this.props.onMemberDetailsChange(response.data.members.city, \"city\");\n this.props.onMemberDetailsChange(response.data.members.suburb, \"suburb\");\n this.props.onMemberDetailsChange(\n response.data.members.province,\n \"province\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.postalCode,\n \"postalCode\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.memNo,\n \"memberNumber\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.occupation,\n \"occupation\"\n );\n \n this.props.onMemberDetailsChange(\n response.data.members.inceptionDate,\n \"inceptionDate\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.expiryDate,\n \"expiryDate\"\n );\n });\n }\n });\n this.setState({\n userDetails: true\n });\n };\n render() {\n var width1 = \"\";\n var width2 = \"\";\n if (isMobile) {\n width1 = \"20%\"\n width2 = \"20%\"\n } else {\n width1 = \"29%\"\n width2 = \"40%\"\n }\n const info = (row1, row2) => (\n \n \n {row1}\n {isMobile ? null : }\n {row2}\n \n \n );\n if (this.state.userDetails !== true) {\n return (\n
\n
\n
\n {\n this.setState({\n userDetails: true\n });\n }}\n />\n
\n\n \n {info(\"Member No\", `: ${this.props.memberDetails.memberNumber}`)}\n {info(\"Identity No\", `: ${this.props.memberDetails.idno}`)}\n {info(\"Username\", `: ${this.props.memberDetails.username}`)}\n {info(\"Cell Number\",\n {\n this.setState({\n CellNo: a.target.value\n });\n }}\n onChange={this.onChange}\n value={this.state.CellNo}\n />\n )}\n {info(\"Physical Address\",\n {\n this.setState({\n PhysicalAddress: a.target.value\n });\n }}\n onChange={this.onChange}\n value={this.state.PhysicalAddress}\n />\n )}\n {info(\"Suburb\",\n {\n this.setState({\n Suburb: a.target.value\n });\n }}\n onChange={this.onChange}\n value={this.state.Suburb}\n />\n )}\n {info(\"City\",\n {\n this.setState({\n City: a.target.value\n });\n }}\n onChange={this.onChange}\n value={this.state.City}\n />\n )}\n {info(\"Province\",\n {\n this.setState({\n Province: a.target.value\n });\n }}\n onChange={this.onChange}\n >\n \n \n \n \n \n \n \n \n \n \n \n )}\n {info(\"Postal Code\",\n {\n this.setState({\n PostalCode: a.target.value\n });\n }}\n onChange={this.onChange}\n value={this.state.PostalCode}\n />\n )}\n {info(\"Email\",\n {\n this.setState({\n Email: a.target.value\n });\n }}\n onChange={this.onChange}\n value={this.state.Email}\n />\n )}\n {info(\"Occupation\",\n {\n this.setState({\n Occupation: a.target.value\n });\n }}\n onChange={this.onChange}\n value={this.state.Occupation}\n />\n )}\n this.onSubmit(e)}\n ref={this._submitForm}\n />\n
\n
\n
\n
\n \n
\n
\n
\n );\n } else if (this.state.userDetails === true) {\n return (\n \n )\n }\n }\n}\nconst mapStateToProps = state => {\n return {\n memberDetails: state.loginReducer.memberObject,\n memberCity: state.loginReducer.city\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_DETAILS_2,\n varValue: value,\n varName: vname\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(EditMemberDetails);\n","import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { isMobile } from \"react-device-detect\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport { bindActionCreators } from \"redux\";\nimport { BASE, GET_DEDICATEDTYPE, GET_MEMBER_BY_EMAIL } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport * as DSApplicationActions from \"../../dedicatedStatusApplication/DedicatedStatusApplicationActions\";\nimport ChangePassword from \"../../editMemberDetails/ChangePassword\";\nimport EditMemberDetails from \"../../editMemberDetails/EditMemberDetails\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport \"../../editMemberDetails/profile.css\";\nimport \"./userDetailStyles.css\";\n\nconst UserStatus = Object.freeze({ 1: \"Approved\", 2: \"Pending\", 3: \"Rejected\", 4: \"Renewing\" })\nclass UserDetails extends Component {\n state = {\n _renewalDaysLeft: 0,\n componentChanger: 1\n }\n componentWillMount() {\n localStorage.removeItem(\"state\");\n this.props.onCommissionTabChange(\"0\");\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n this.props.onLoyaltyDaysTabChange(\"0\");\n this.props.onCurrentLMSTabChange(0);\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n axios.get(BASE + GET_DEDICATEDTYPE + this.props.memNo, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }).then(res => {\n this.props.DSApplicationActions.setDSVariables(\"DH\", res.data.hunting);\n this.props.DSApplicationActions.setDSVariables(\"DS\", res.data.sport);\n this.props.DSApplicationActions.setDSVariables(\"DS_DH\", res.data.both);\n });\n axios\n .get(BASE + GET_MEMBER_BY_EMAIL + this.props.emailFromToken.email, {\n headers: { Authorization: `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n })\n .then(response => {\n this.setState({\n _renewalDaysLeft: response.data.daysLeft\n })\n this.props.onMemberDetailsChange(\n response.data.members.firstname,\n \"firstname\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.surname,\n \"surname\"\n );\n\n this.props.onMemberDetailsChange(\n response.data.members.username,\n \"username\"\n );\n this.props.onMemberDetailsChange(response.data.members.email, \"email\");\n\n this.props.onMemberDetailsChange(response.data.members.idno, \"idno\");\n this.props.onMemberDetailsChange(\n response.data.members.cellNo,\n \"cellNo\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.physicalAddress,\n \"physicalAddress\"\n );\n this.props.onMemberDetailsChange(response.data.members.city, \"city\");\n this.props.onMemberDetailsChange(response.data.members.suburb, \"suburb\");\n this.props.onMemberDetailsChange(\n response.data.members.province,\n \"province\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.postalCode,\n \"postalCode\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.memNo,\n \"memberNumber\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.status,\n \"userStatus\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.occupation,\n \"occupation\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.inceptionDate,\n \"inceptionDate\"\n );\n this.props.onMemberDetailsChange(\n response.data.members.expiryDate,\n \"expiryDate\"\n );\n });\n }\n render() {\n var width1 = \"\";\n var width2 = \"\";\n if (isMobile) {\n width1 = \"30%\"\n width2 = \"20%\"\n } else {\n width1 = \"80%\"\n width2 = \"35%\"\n }\n const info = (row1, row2) => (\n \n \n {row1}\n : {row2}\n \n \n );\n const info2 = (row1, row2) => (\n \n \n {row1}\n : {row2}\n \n \n );\n if (this.state.componentChanger === 1) {\n return (\n
\n
\n {\n this.setState({\n componentChanger: 3\n })\n }}\n showChangePassword\n changePasswordFunction={() => {\n this.setState({\n componentChanger: 2\n })\n }}\n />\n
\n \n {info(\"Member No\", this.props.memberDetails.memberNumber)}\n {info(\"Identity No\", this.props.memberDetails.idno)}\n {info(\"Username\", this.props.memberDetails.username)}\n {info(\"Firstname\", this.props.memberDetails.firstname)}\n {info(\"Surname\", this.props.memberDetails.surname)}\n\n {info(\"Cell Number\", this.props.memberDetails.cellNo)}\n {info(\"Address\", this.props.memberDetails.physicalAddress)}\n {info(\"Suburb\", this.props.memberDetails.suburb)}\n {info(\"City\", this.props.memberDetails.city)}\n {info(\"Province\", this.props.memberDetails.province)}\n {info(\"Email\", this.props.memberDetails.email)}\n {info(\"Occupation\", this.props.memberDetails.occupation)}\n {info(\"Inception date\", this.props.memberDetails.inceptionDate.toString().split(\"T\")[0])}\n {info(\"Status\", UserStatus[this.props.memberDetails.userStatus])}\n {info(\n \"Inception Date\",\n this.props.memberDetails.inceptionDate === null\n ? \"-\"\n : this.props.memberDetails.inceptionDate.substring(0, 10)\n )}\n {info(\n \"Expiry Details\",\n this.props.memberDetails.expiryDate === null\n ? \"-\"\n : this.props.memberDetails.expiryDate.substring(0, 10)\n )}\n {this.state._renewalDaysLeft <= 30 && this.state._renewalDaysLeft !== 0 ?\n info2(\"Membership Renewal Days Left\", this.state._renewalDaysLeft) : null}\n
\n
\n );\n } else if (this.state.componentChanger === 2) {\n return (\n \n )\n } else if (this.state.componentChanger === 3) {\n return (\n \n )\n }\n }\n}\nconst mapStateToProps = state => {\n return {\n emailFromToken: state.loginReducer.userProfileDetails,\n loginDetails: state.loginReducer.loginDetails,\n memberDetails: state.loginReducer.memberObject,\n quizCompletion: state.lmsReducer.quizCompletion,\n assesmentList: state.lmsReducer.assesments,\n memberCity: state.loginReducer.city,\n lessonList: state.lmsReducer.lessons,\n DSApplicationState: state.DSApplicationState,\n memNo: state.loginReducer.userProfileDetails.memberNumber\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onQuizCompletionChange: newQuizCompletion =>\n dispatch({\n type: actionTypes.LMS_ACTIONS.UPDATE_QUIZ_COMPLETION,\n quizCompletion: newQuizCompletion\n }),\n onAssCompletionChange: assesmentCompletion =>\n dispatch({\n type: actionTypes.LMS_ACTIONS.UPDATE_ASSESMENT_COMPLETION,\n assesmentCompletion: assesmentCompletion\n }),\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname\n }),\n onMemberDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_DETAILS_2,\n varValue: value,\n varName: vname\n }),\n onCertificatesUpdate: certificates =>\n dispatch({\n type: actionTypes.LMS_ACTIONS.UPDATE_CERTIFICATES,\n certificates: certificates\n }),\n onDedicatedChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_DEDICATED_STATUS,\n varValue: value,\n varName: vname\n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({\n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB,\n currentLoyaltyDaysTab: pageNum\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n DSApplicationActions: bindActionCreators(DSApplicationActions, dispatch)\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withRouter(UserDetails));\n","import React, { Component } from \"react\";\nimport axios from \"axios\";\nimport { BASE, ChangePassword_URL } from \"../../API/APIendpoint\";\nimport \"./profile.css\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport UserDetails from \"../loggeddInUser/userProfile/UserDetails\";\nimport { isMobile } from \"react-device-detect\";\nimport Input from \"@material-ui/core/Input\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport Visibility from \"@material-ui/icons/Visibility\";\nimport VisibilityOff from \"@material-ui/icons/VisibilityOff\";\nimport { toast } from 'react-toastify';\ntoast.configure();\nclass ChangePassword extends Component {\n constructor(props) {\n super(props);\n this.state = {\n MemNo: this.props.memberDetails.memberNumber,\n Password: this.props.memberDetails.password,\n newPassword: null,\n newPasswordConfirmation: null,\n userDetails: false,\n showPasswordCurrent: false,\n showPasswordNew: false,\n showPasswordConfirm: false\n };\n this.changePasswordConfirm = this.changePasswordConfirm.bind(this);\n }\n onChange = e => {\n this.setState({\n [e.target.name]: e.target.value\n });\n };\n handleClickShowPasswordCurrent = () => {\n this.setState(state => ({ showPasswordCurrent: !state.showPasswordCurrent }));\n };\n handleClickShowPasswordNew = () => {\n this.setState(state => ({ showPasswordNew: !state.showPasswordNew }));\n };\n handleClickShowPasswordConfirm = () => {\n this.setState(state => ({ showPasswordConfirm: !state.showPasswordConfirm }));\n };\n changePasswordConfirm = async () => {\n const {\n newPassword,\n currentPassword,\n newPasswordConfirmation,\n\n } = this.state;\n\n if (!currentPassword || !newPassword || !newPasswordConfirmation) {\n alert(\"You need to enter your password\")\n }\n\n else if (newPassword.length < 8) {\n alert(\"Your new password must be atleast 8 charecters\")\n }\n else if (newPassword !== newPasswordConfirmation) {\n alert(\"Passwords don't match\");\n\n }\n\n else {\n const JSONbody = {\n memberNumber: this.state.MemNo,\n currentPassword: this.state.currentPassword,\n newPassword: this.state.newPassword\n }\n await axios({\n url: BASE + ChangePassword_URL,\n data: JSONbody,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n if(res.data.message != \"password updated\"){\n toast.error(res.data.message);\n } else {\n toast.success(res.data.message);\n }\n })\n await this.setState({\n userDetails: true\n });\n }\n }\n render() {\n var width1 = \"\";\n var width2 = \"\";\n if ( isMobile ) {\n width1 = \"20%\"\n width2 = \"20%\"\n } else {\n width1 = \"29%\"\n width2 = \"40%\"\n }\n const info = (row1, row2) => (\n \n \n {row1}\n {isMobile ? null : }\n {row2}\n \n \n );\n if(this.state.userDetails !== true){\n return (\n < div className=\"container\">\n
\n {\n this.setState({\n userDetails: true\n });\n }}\n />\n
\n \n {info(\"Current Password\", \n {\n this.setState({\n currentPassword: a.target.value\n });\n }}\n onChange={this.onChange}\n endAdornment={\n \n \n {this.state.showPasswordCurrent ? (\n \n ) : (\n \n )}\n \n \n }\n />\n )}\n {info(\"New Password\", \n {\n this.setState({\n newPassword: a.target.value\n });\n }}\n onChange={this.onChange}\n endAdornment={\n \n \n {this.state.showPasswordNew ? (\n \n ) : (\n \n )}\n \n \n }\n />\n )}\n {info(\"Confirm Password\", \n {\n this.setState({\n newPasswordConfirmation: a.target.value\n });\n }}\n onChange={this.onChange}\n endAdornment={\n \n \n {this.state.showPasswordConfirm ? (\n \n ) : (\n \n )}\n \n \n }\n />\n )}\n
\n
\n
\n
\n \n );\n } else if(this.state.userDetails === true) {\n return(\n \n )\n }\n }\n}\nconst mapStateToProps = state => {\n return {\n memberDetails: state.loginReducer.memberObject,\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_DETAILS,\n varValue: value,\n varName: vname\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ChangePassword);","import React from \"react\";\nimport Axios from \"axios\";\nimport { BASE, ARTICLE_URL } from \"../../../API/APIendpoint\";\nimport KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\nimport { Link } from \"react-router-dom\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\n\nclass Articles extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n article: null,\n articleNumber: this.props.match.params.number\n };\n }\n\n async componentWillMount() {\n const response = await Axios.get(BASE + ARTICLE_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}});\n const data = await response.data;\n const article = await data.filter(\n article => parseInt(article.newsArticleId) === parseInt(this.state.articleNumber)\n )[0];\n\n this.setState({\n article\n });\n }\n\n render() {\n const { article } = this.state;\n if (!article)\n return (\n
\n \n
\n );\n return (\n
\n
\n

\n \n {\n \n }\n \n

{article.title}

\n \n
\n
\n \n
\n
\n );\n }\n}\nexport default Articles;\n","import React, { Component } from \"react\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport Axios from \"axios\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\nimport { BASE, ARTICLE_LATEST } from \"../../../API/APIendpoint\";\nimport \"w3-css/w3.css\";\n\nclass ViewAllNews extends Component {\n constructor(props) {\n super(props);\n this.state = {\n checked: false,\n loading: false,\n articleNumber: this.props.match.params.number,\n article: null\n };\n this.toggleCheck = this.toggleCheck.bind(this);\n }\n componentDidMount() {\n this.setState({ loading: true });\n Axios.get(BASE + ARTICLE_LATEST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n const data = res.data;\n this.props.onArticlesChange(data);\n this.setState({ loading: false, uploadedFile: data });\n });\n }\n toggleCheck = () => {\n this.setState({\n checked: !this.state.checked\n });\n };\n render() {\n if (this.state.loading) {\n return (\n
\n \n
\n\n );\n }\n if (this.state.article) {\n const article = this.state.article\n return (\n
\n {\n this.props.history.push(`/ViewAllNews`);\n this.setState({\n article: null\n })\n }}\n />\n\n
\n
\n
{article.title}
\n
\n \n
\n
\n\n
\n
\n\n )\n }\n return (\n
\n \n {this.props.articleList.map((article, index) => {\n return (\n
{\n this.setState({\n article: article\n })\n }}>\n
\n
{article.title}
\n
\n \n
\n
\n\n
\n );\n })}\n
\n );\n }\n}\nViewAllNews.propTypes = {\n classes: PropTypes.object\n};\n\nconst mapStateToProps = state => {\n return {\n oneArticle: state.articlesReducer.article,\n articleList: state.articlesReducer.articles\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onArticleChange: newArticle =>\n dispatch({\n type: actionTypes.UPDATE_ARTICLE,\n article: newArticle\n }),\n onArticlesChange: newArticles =>\n dispatch({\n type: actionTypes.UPDATE_ARTICLES,\n articles: newArticles\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ViewAllNews);\n","\nimport \"./chartStyles.css\";\nimport React, { PureComponent, Fragment } from 'react';\nimport { Bar } from 'react-chartjs-2';\nimport SkipPrevious from \"@material-ui/icons/SkipPrevious\";\nimport SkipNext from \"@material-ui/icons/SkipNext\";\nimport Loader from \"react-spinners/FadeLoader\";\n\nexport default class BarGraph extends PureComponent {\n constructor(props) {\n super(props);\n\n this.state = {\n length: 0,\n index: 0,\n dataRange: {},\n dataRangeText: \"\"\n }\n this.gridColor = \"#d5d3d3\";\n this.textColor = \"#2c2c2c\";\n this.data = [];\n\n this.options = {\n legend: {\n display: false\n },\n scales: {\n xAxes: [{\n ticks: {\n fontColor: this.textColor,\n major: {\n fontStyle: 'bold',\n }\n },\n gridLines: {\n display: false\n }\n }],\n yAxes: [{\n display: true,\n ticks: {\n fontColor: this.textColor,\n beginAtZero: true,\n min: 0,\n max: 100,\n stepSize: 25,\n callback: function (value) {\n return (value + '% ');\n }\n },\n gridLines: {\n drawBorder: false,\n color: this.gridColor\n }\n }],\n maintainAspectRatio: false\n }\n }\n }\n\n initialData = () => {\n const dataArray = this.props.data ? this.props.data : [];\n const data = dataArray[0] ? dataArray[0] : {};\n this.data = dataArray;\n this.setState({\n length: dataArray.length,\n dataRange: this.formatGraphData(this.props.label, data.completion, data.success),\n dataRangeText: data.dateRange,\n index: 0\n })\n }\n\n\n componentDidMount() {\n this.initialData();\n }\n\n isEqual = (current, next) => {\n let currCompletion;\n let nextCompletion;\n try {\n currCompletion = current.datasets[0].data;\n nextCompletion = next.datasets[0].data;\n }\n catch {\n return true;\n }\n if (JSON.stringify(currCompletion) === JSON.stringify(nextCompletion)) {\n return this.props.load;\n }\n return true;\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n if(nextProps.load){\n return true;\n }\n const currentDataRange = this.state.dataRange;\n const nextDataRange = nextState.dataRange;\n\n if(this.state.index !== nextState.index){\n return true;\n }\n\n return this.isEqual(currentDataRange, nextDataRange);\n }\n\n changeData = (sign) => {\n const dataArray = this.data;\n const index = (this.state.index + sign) % dataArray.length;\n const data = dataArray[index] ? dataArray[index] : {};\n\n setTimeout(() => {\n this.forceUpdate(() => {\n this.setState({\n dataRange: this.formatGraphData(this.props.label, data.completion, data.success),\n dataRangeText: data.dateRange,\n index: index,\n length: dataArray.length\n })\n })\n }, 2);\n }\n\n formatGraphData = (label, completion, success) => {\n let lbl = [];\n if (typeof label === \"function\") {\n try {\n lbl = label(completion.length === 0 ? 30 : completion.length)\n }\n catch {\n lbl = []\n }\n } else {\n lbl = label\n }\n const data = {\n labels: lbl,\n datasets: [\n {\n data: completion,\n fill: true,\n borderColor: '#fab22d',\n backgroundColor: '#fab22d'\n },\n {\n data: success,\n fill: true,\n borderColor: '#ffe365',\n backgroundColor: '#ffe365'\n }\n ]\n }\n return data;\n }\n\n displayDataRangeButtons = () => {\n return (\n
\n 0 ? \"\" : \"hidden\"}` }}\n onClick={() => { this.changeData(-1) }} />\n { this.changeData(1) }} />\n
\n );\n }\n\n display = () => {\n if (this.props.load) {\n setTimeout(() => {\n this.initialData()\n }, 20);\n return ;\n }\n return ;\n }\n\n render() {\n return (\n \n
\n
{this.state.dataRangeText}
\n {this.displayDataRangeButtons()}\n
\n
\n {this.display()}\n
\n
\n
\n
\n
\n
\n
\n
\n );\n }\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport \"./chartStyles.css\";\nimport {\n POPULATION_YEAR_DATA,\n POPULATION_MONTH_DATA,\n POPULATION_WEEK_DATA\n} from \"../../../../store/actions/lmsActionTypes\";\nimport {\n WEEK_STATISTICS,\n MONTH_STATISTICS,\n YEAR_STATISTICS\n} from \"../../LMSAPIEndPoints\";\nexport const Chart_Type = {\n WEEK: 1,\n MONTH: 2,\n YEAR: 3\n}\n\nexport class GraphButtons extends Component {\n static propTypes = {\n prop: PropTypes\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n weekLoading: false,\n monthLoading: false,\n yearLoading: false\n }\n\n this.radioCollection = this.makeRadioCollection(5);\n }\n\n componentDidMount() {\n this.loadData(Chart_Type.WEEK)\n }\n\n makeRadioCollection = (length) => {\n var result = '';\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var charactersLength = characters.length;\n for (var i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n }\n\n fetchDataCallback = (type, loading) => {\n this.props.loadData(type, loading)\n }\n\n findDataLength = (array) => {\n const data = array.find(element => element.key === this.props.id);\n if (data) {\n return data.data.length\n } else {\n return 0\n }\n }\n\n hasData = (type) => {\n switch (type) {\n case Chart_Type.WEEK:\n return this.findDataLength(this.props.weekData) > 0;\n case Chart_Type.MONTH:\n return this.findDataLength(this.props.monthData) > 0;\n case Chart_Type.YEAR:\n return this.findDataLength(this.props.yearData) > 0;\n default:\n return false;\n }\n }\n\n loadData = (type) => {\n this.fetchDataCallback(type, true);\n if (!this.hasData(type)) {\n this.fetchData(type, this.fetchDataCallback)\n } else {\n this.fetchDataCallback(type, false);\n }\n }\n\n render() {\n return (\n
\n \n \n \n \n \n \n
\n );\n }\n\n isLoading = (type, value) => {\n switch (type) {\n case Chart_Type.WEEK:\n this.setState({\n weekLoading: value\n })\n break;\n case Chart_Type.MONTH:\n this.setState({\n monthLoading: value\n })\n break;\n case Chart_Type.YEAR:\n this.setState({\n yearLoading: value\n })\n break;\n default:\n break;\n }\n }\n\n fetchData = (type, callback) => {\n this.isLoading(type, true);\n fetch(this.getUrl(type) + \"/\" + this.props.id)\n .then(res => res.json())\n .then(res => {\n this.pushData(type, res.data);\n this.isLoading(type, false);\n callback(type, false);\n })\n }\n\n pushData = (type, data) => {\n switch (type) {\n case Chart_Type.WEEK:\n this.props.onWeekDataChange(data, this.props.id);\n break;\n case Chart_Type.MONTH:\n this.props.onMonthDataChange(data, this.props.id);\n break;\n case Chart_Type.YEAR:\n this.props.onYearDataChange(data, this.props.id);\n break;\n default:\n break;\n }\n }\n\n getUrl = (type) => {\n switch (type) {\n case Chart_Type.WEEK:\n return WEEK_STATISTICS;\n case Chart_Type.MONTH:\n return MONTH_STATISTICS;\n case Chart_Type.YEAR:\n return YEAR_STATISTICS;\n default:\n return \"\";\n }\n }\n}\n\nconst mapStateToProps = (state) => ({\n weekData: state.lmsStatistics.weekData,\n monthData: state.lmsStatistics.monthData,\n yearData: state.lmsStatistics.yearData\n})\n\nconst mapDispatchToProps = dispatch => {\n return {\n onYearDataChange: (data, key) =>\n dispatch({\n type: POPULATION_YEAR_DATA,\n payload: data,\n key: key\n }),\n onMonthDataChange: (data, key) =>\n dispatch({\n type: POPULATION_MONTH_DATA,\n payload: data,\n key: key\n }),\n onWeekDataChange: (data, key) =>\n dispatch({\n type: POPULATION_WEEK_DATA,\n payload: data,\n key: key\n })\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(GraphButtons)\n","export const FETCH_COURSE_MODULES_WITH_CHILDREN_BEGIN = \"FETCH_COURSE_MODULES_WITH_CHILDREN_BEGIN\",\n FETCH_COURSE_MODULES_WITH_CHILDREN_SUCCESS = \"FETCH_COURSE_MODULES_WITH_CHILDREN_SUCCESS\",\n FETCH_COURSE_MODULES_WITH_CHILDREN_FAILURE = \"FETCH_COURSE_MODULES_WITH_CHILDREN_FAILURE\",\n TOGGLE_SHOW_CHILDREN = \"TOGGLE_SHOW_CHILDREN\"\n\nexport const POPULATION_WEEK_DATA = \"POPULATION_WEEK_DATA\",\n POPULATION_MONTH_DATA = \"POPULATION_MONTH_DATA\",\n POPULATION_YEAR_DATA = \"POPULATION_YEAR_DATA\",\n TOGGLE_LOADING = \"TOGGLE_LOADING\",\n UPDATE_WEEK_ERROR = \"UPDATE_WEEK_ERROR\",\n UPDATE_MONTH_ERROR = \"UPDATE_MONTH_ERROR\",\n UPDATE_YEAR_ERROR = \"UPDATE_YEAR_ERROR\"\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport \"./chartStyles.css\";\nimport BarGraph from \"./BarGraph\";\nimport GraphButtons from \"./GraphButtons\";\n\nexport class CourseReview extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n reRenderGraph: false,\n type: 1\n }\n\n this.weekLabel = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\n this.yearLabel = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n this.monthLabel = this.generateMonthLabel;\n }\n\n generateMonthLabel = (length) => {\n return Array.from(new Array(length), (v, k) => k + 1);\n }\n\n loadData = (type, loading) => {\n this.setState({\n type: type,\n reRenderGraph: true\n })\n if (!loading) {\n setTimeout(() => {\n this.setState({\n reRenderGraph: false\n })\n }, 15);\n }\n }\n\n tempDataLoader = () => {\n function findData(array, id){\n const data = array.find(element => element.key === id);\n return data?data.data:[];\n }\n switch (this.state.type) {\n case 1:\n return findData(this.props.weekData, this.props.id);\n case 2:\n return findData(this.props.monthData, this.props.id);\n case 3:\n return findData(this.props.yearData, this.props.id);\n default:\n return [];\n }\n }\n\n tempLabelLoader = () => {\n switch (this.state.type) {\n case 1:\n return this.weekLabel;\n case 2:\n return this.monthLabel;\n case 3:\n return this.yearLabel;\n default:\n return [];\n }\n }\n\n render() {\n return (\n
\n
\n {this.props.title + ' Review'}\n
\n \n \n
\n )\n }\n}\n\nCourseReview.propTypes = {\n\n}\n\nconst mapStateToProps = (state) => ({\n weekData: state.lmsStatistics.weekData,\n monthData: state.lmsStatistics.monthData,\n yearData: state.lmsStatistics.yearData\n})\n\nconst mapDispatchToProps = {\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(CourseReview)\n","import React, { Component } from \"react\";\nimport CourseReview from \"./CourseReview\";\nimport { connect } from \"react-redux\";\nimport Loader from \"react-spinners/FadeLoader\";\n\nclass Statistics extends Component {\n\n render() {\n if (this.props.courses.length > 0) {\n return (\n this.props.courses.map(course =>\n )\n );\n }\n\n return (\n
\n \n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n courses: state.lmsCourseModuleReducer.payload\n .filter(element => element.courseMaterial.length > 0 && element.type === 1)\n .map(element => {\n \n return {\n key: element.courseModuleId,\n name: element.name\n }\n })\n})\n\nexport default connect(mapStateToProps, null)(Statistics);\n","import React, { Component } from \"react\";\nimport {\n DragDropContext,\n Droppable,\n Draggable\n} from \"react-beautiful-dnd\";\nimport Drag from \"@material-ui/icons/DragIndicator\";\nimport Add from \"@material-ui/icons/Add\";\nimport Edit from \"@material-ui/icons/Edit\";\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n\nconst move = (source, destination, droppableSource, droppableDestination) => {\n const sourceClone = Array.from(source);\n const destClone = Array.from(destination);\n const [removed] = sourceClone.splice(droppableSource.index, 1);\n\n destClone.splice(droppableDestination.index, 0, removed);\n\n const result = {};\n result[droppableSource.droppableId] = sourceClone;\n result[droppableDestination.droppableId] = destClone;\n\n return result;\n};\n\nexport default class Folders extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n modules: [],\n numChildsSelected: 0,\n numParentsSelected: 0,\n moduleFocusedId: 0,\n idArray: []\n }\n this.mainDroppable = \"folders\";\n }\n\n getList = id =>\n this.state.modules.find(mod => mod.courseModuleId === id).courseMaterial;\n\n apiParentCallback = (from, to) => {\n const fromId = this.state.modules[to].courseModuleId;\n const toId = this.state.modules[from].courseModuleId;\n this.props.apiDragParentCallBack(fromId, toId);\n }\n\n apiChildCallback = (from, to, listOfChildren) => {\n const fromId = listOfChildren[to].courseMaterialId;\n const toId = listOfChildren[from].courseMaterialId;\n this.props.apiDragChildCallBack(fromId, toId);\n }\n\n apiChildTransfer = (sourceMaterial, destinationModule) => {\n this.props.apiTransferChildCallback(sourceMaterial, destinationModule);\n }\n\n onDragEnd = (result) => {\n // dropped outside the list\n const { source, destination } = result;\n // dropped outside the list\n if (!destination) {\n return;\n }\n\n let existingItems = this.state.modules;\n let state = {};\n if (source.droppableId === destination.droppableId) {\n let modules = [];\n if (source.droppableId === this.mainDroppable) {\n modules = reorder(\n existingItems,\n source.index,\n destination.index\n );\n state = { modules };\n this.apiParentCallback(source.index, destination.index);\n } else {\n modules = reorder(\n this.getList(source.droppableId),\n source.index,\n destination.index\n );\n\n const existingIndex = this.state.modules\n .findIndex(item => item.courseModuleId === source.droppableId);\n let existing = existingItems[existingIndex];\n this.apiChildCallback(source.index, destination.index, existing.courseMaterial);\n existing.courseMaterial = [...modules]\n\n state = {\n ...this.state,\n modules: [...existingItems]\n }\n }\n this.setState(state);\n } else {\n const result = move(\n this.getList(source.droppableId),\n this.getList(destination.droppableId),\n source,\n destination\n );\n\n this.apiChildTransfer(result[destination.droppableId][parseInt(destination.index)]\n .courseMaterialId, destination.droppableId);\n const keys = Object.keys(result);\n let existingIndex = this.state.modules.findIndex(item => parseInt(item.courseModuleId) === parseInt(keys[0]));\n let existing = existingItems[existingIndex];\n existing.courseMaterial = result[keys[0]]\n\n existingIndex = this.state.modules.findIndex(item => parseInt(item.courseModuleId) === parseInt(keys[1]));\n existing = existingItems[existingIndex];\n existing.courseMaterial = result[keys[1]]\n\n state = {\n ...this.state,\n modules: [...existingItems]\n }\n this.setState({ ...result });\n }\n }\n\n checkBoxCallBack = (isParent, value, array) => {\n if (isParent) {\n this.setState({\n numParentsSelected: value + this.state.numParentsSelected\n })\n this.props.checkBoxCallBack(\n value + this.state.numParentsSelected,\n this.state.numChildsSelected, array);\n } else {\n this.setState({\n numChildsSelected: value + this.state.numChildsSelected\n })\n this.props.checkBoxCallBack(this.state.numParentsSelected,\n value + this.state.numChildsSelected, array);\n }\n }\n\n checkBoxVisibility = (isParent) => {\n if (isParent && this.state.numChildsSelected > 0) {\n return { visibility: \"hidden\" }\n } else if (!isParent && this.state.numParentsSelected > 0) {\n return { visibility: \"hidden\" }\n } else {\n return { visibility: \"visible\" }\n }\n }\n\n checkBox = (isParent, id, name, folderId) => {\n return (\n \n );\n }\n\n child = (child, index, folderId, type) => {\n return (\n \n {(provided, snapshot) => (\n \n \n \n {this.checkBox(false, child.courseMaterialId, child.name, folderId)}\n \n
{\n if (type === 2) {\n this.props.openEditor(true, child, 1);\n } else {\n this.props.openEditor(true, child, 2);\n }\n }}>\n {child.name}\n
\n \n )}\n
\n );\n }\n\n showChildren = (children, folderId, type) => {\n return (\n \n {(provided, snapshot) => (\n \n
\n {children.map((child, index) => this.child(child, index, folderId, type))}\n {provided.placeholder}\n \n )}\n
\n );\n }\n\n editModuleButton = (id, name, type) => {\n return (\n
{\n this.setState({\n moduleFocusedId: id\n })\n this.props.onClick(3, id, name, type);\n }}>\n \n \n
\n );\n }\n\n folder = (folder, index) => {\n return (\n \n {(provided, snapshot) => (\n
\n \n \n {this.checkBox(true, folder.courseModuleId, folder.name)}\n
\n \n { this.toggleShowChildren(folder.courseModuleId) }}\n >{folder.name}\n
\n {this.editModuleButton(folder.courseModuleId, folder.name, folder.type)}\n {this.addAssessmentButtons(folder.courseModuleId)}\n
\n \n {folder.showChildren ? this.showChildren(folder.courseMaterial, folder.courseModuleId, folder.type) : null}\n \n )}\n
\n );\n }\n\n addAssessmentButtons = (id) => {\n return (\n
{\n this.setState({\n moduleFocusedId: id\n })\n this.props.onClick(4, id);\n }}>\n \n \n
\n );\n }\n\n toggleShowChildren = (folderid) => {\n const modules = this.state.modules;\n const existingIndex = modules.findIndex(item => parseInt(item.courseModuleId) === parseInt(folderid));\n const existing = modules[existingIndex];\n existing.showChildren = !existing.showChildren;\n this.setState({\n modules\n })\n }\n\n openChildren = (folderid, value) => {\n const modules = this.state.modules;\n const existingIndex = modules.findIndex(item => parseInt(item.courseModuleId) === parseInt(folderid));\n const existing = modules[existingIndex];\n existing.showChildren = value;\n this.setState({\n modules\n })\n }\n\n\n populateModules = (modulesProp) => {\n this.setState({\n modules: modulesProp.map(mod => { mod.showChildren = false; return mod; })\n });\n }\n\n componentDidMount() {\n this.populateModules(this.props.modules);\n }\n\n componentWillUpdate(nextProps, nextState) {\n if (nextProps.modules.length > this.props.modules.length ||\n nextProps.modules.length < this.props.modules.length) {\n this.populateModules(nextProps.modules);\n }\n\n if (nextProps.modules.length > 0 &&\n nextProps.modules.length === this.props.modules.length) {\n\n let modules = this.state.modules;\n const nextModule = nextProps.modules\n .find(mod => mod.courseModuleId === this.state.moduleFocusedId);\n if (nextModule) {\n const nextChildren = nextModule.courseMaterial;\n const index = modules\n .findIndex(mod => mod.courseModuleId === this.state.moduleFocusedId);\n\n if (modules[index].name !== nextModule.name) {\n modules[index].name = nextModule.name;\n this.setState({\n modules\n })\n }\n\n let currentChildren = modules[index].courseMaterial;\n if (nextChildren.length > currentChildren.length ||\n nextChildren.length < currentChildren.length) {\n modules[index].courseMaterial = nextChildren;\n this.setState({\n modules: nextProps.modules\n })\n }\n }\n }\n\n return true;\n }\n\n render() {\n return (\n \n \n {(provided, snapshot) => (\n \n {this.state.modules.map((item, index) =>\n this.folder(item, index)\n )}\n {provided.placeholder}\n \n )}\n \n \n )\n }\n}\n","import React, { Component} from \"react\";\nimport Add from \"@material-ui/icons/Add\";\nimport \"./menuStyles.css\";\n\nexport default class MainMenu extends Component {\n render() {\n return (\n
\n
{\n this.props.onClick(1);\n }}>\n \n \n
\n
\n )\n }\n}\n","import React, { Component } from \"react\";\nimport Check from \"@material-ui/icons/Check\";\nimport Clear from \"@material-ui/icons/Clear\";\nimport Add from \"@material-ui/icons/Add\";\nimport { COURSE_MATERIAL } from \"../LMSAPIEndPoints\";\n\nexport default class AddMenu extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n createMaterialMessage: '',\n onCreate: false,\n name: ''\n }\n }\n\n createCourseMaterial = () => {\n const data = {\n Name: this.state.name,\n Content: \"put your content here\",\n CourseModuleId: this.props.parentId\n }\n this.setState({\n addModuleStatus: \"Creating material...\",\n onCreate: true\n })\n fetch(COURSE_MATERIAL,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(data)\n }\n )\n .then(res => res.json())\n .then(res => {\n this.setState({\n createMaterialMessage: res.message\n })\n setTimeout(() => {\n this.props.refresh();\n this.props.onClick(0);\n }, 1500);\n })\n .catch(error => {\n this.setState({\n createMaterialMessage: error.message ? error.message : 'Failed! Try Again'\n })\n setTimeout(() => {\n this.props.onClick(0);\n }, 1500);\n })\n }\n\n componentDidMount() {\n }\n\n render() {\n return (\n
\n \n {this.state.onCreate ?\n :\n {\n this.setState({\n name: e.target.value\n })\n }} />\n }\n \n {\n this.createCourseMaterial();\n }} />\n {\n this.props.onClick(0);\n }} />\n \n
\n )\n }\n}\n","import React, { Component } from \"react\";\nimport Check from \"@material-ui/icons/Check\";\nimport Clear from \"@material-ui/icons/Clear\";\nimport Edit from \"@material-ui/icons/Edit\";\nimport {\n COURSE_MODULE_NAME_UPDATE\n} from \"../LMSAPIEndPoints\";\n\nexport default class EditMenu extends Component {\n constructor(props) {\n super(props);\n this.state = {\n editStatusMessage: 'Are you sure?',\n onEdit: false,\n newName: \"\"\n }\n }\n\n editModule = () => {\n this.setState({\n editStatusMessage: \"Editing...\",\n onEdit: true\n })\n const data = {\n CourseModuleId: this.props.id,\n Index: 0,\n Name: this.state.newName,\n type: this.props.type\n }\n fetch(COURSE_MODULE_NAME_UPDATE,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(data)\n }\n )\n .then(res => res.json())\n .then(res => {\n this.setState({\n editStatusMessage: res.message\n })\n setTimeout(() => {\n this.props.refresh();\n this.props.onClick(0);\n }, 1500);\n })\n .catch(error => {\n this.setState({\n deleteStatusMessage: error.message ? error.message : 'Failed to rename! Try again.'\n })\n setTimeout(() => {\n this.props.onClick(0);\n }, 1500);\n })\n }\n\n render() {\n return (\n
\n \n {this.state.onEdit ?\n :\n {\n this.setState({\n newName: e.target.value\n })\n }} />\n }\n \n {\n this.editModule()\n }} />\n {\n this.props.onClick(0);\n }} />\n \n
\n )\n }\n}\n","import React, { Component, Fragment } from \"react\";\nimport Check from \"@material-ui/icons/Check\";\nimport Clear from \"@material-ui/icons/Clear\";\nimport Add from \"@material-ui/icons/Add\";\nimport { COURSE_MODULE } from \"../LMSAPIEndPoints\";\n\nexport default class AddModule extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n addModuleStatus: 'Add module',\n addModule: false,\n addModuleText: null\n }\n }\n\n addCourseModule = (name, type) => {\n const data = {\n \"Index\": 0,\n \"Name\": name,\n \"Type\": type\n }\n this.setState({\n addModuleStatus: \"Creating module...\",\n addModule: true\n })\n fetch(COURSE_MODULE,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(data)\n }\n )\n .then(res => res.json())\n .then(res => {\n this.props.fetchCourseModules();\n this.setState({\n addModuleStatus: res.message\n })\n this.apiTimeOuts();\n })\n .catch(error => {\n this.setState({\n addModuleStatus: error.message ? error.message : 'Failed! Try Again'\n })\n this.apiTimeOuts();\n })\n }\n\n apiTimeOuts = () => {\n setTimeout(() => {\n this.setState({\n addModuleStatus: null,\n addModuleText: null\n })\n this.setState({ addModule: false });\n }, 2000);\n }\n\n buttons = () => {\n return (\n \n \n { this.setState({ addModuleText: e.target.value }) }} />\n {\n this.addCourseModule(this.state.addModuleText, this.props.type);\n }} />\n { this.props.onClick(0); }} />\n \n );\n }\n render() {\n if (!this.state.addModule) {\n return this.buttons()\n }\n return
{this.state.addModuleStatus}
\n }\n}\n","import React, { Component } from \"react\";\nimport Delete from \"@material-ui/icons/Delete\";\nimport Forward from \"@material-ui/icons/Forward\";\n\nexport default class BulkMainMenu extends Component {\n render() {\n return (\n
\n {this.props.numberOfSelection + ' ' +\n this.props.selectedComponentsType + \" selected\"}\n {\n this.props.onClick(2);\n }}/>\n {this.props.isParents ? null :\n {\n this.props.onClick(6);\n }}/>\n }\n
\n )\n }\n}\n","import React, { Component } from \"react\";\nimport Check from \"@material-ui/icons/Check\";\nimport Clear from \"@material-ui/icons/Clear\";\nimport Delete from \"@material-ui/icons/Delete\";\nimport {\n COURSE_MODULE,\n COURSE_MATERIAL\n} from \"../LMSAPIEndPoints\";\n\nexport default class BulkDelete extends Component {\n constructor(props) {\n super(props);\n this.state = {\n deleteStatusMessage: `${this.props.idArray.length} ${this.props.isFolder ?\n 'module(s)' : 'resource(s)'} will be deleted, Are you sure?`,\n onDelete: false\n }\n\n this.count = 0;\n }\n deleteModule = (id, name, isParent) => {\n this.setState({\n deleteStatusMessage: 'Deleting ' + name + '...',\n onDelete: true\n })\n if (isParent !== undefined) {\n let url = \"\";\n if (this.props.isFolder) {\n url = COURSE_MODULE\n } else {\n url = COURSE_MATERIAL\n }\n fetch(url + '/' + id,\n {\n method: 'POST'\n }\n )\n .then(res => res.json())\n .then(res => {\n this.setState({\n deleteStatusMessage: res.message\n })\n this.count += 1;\n setTimeout(() => {\n if (this.count === this.props.idArray.length) {\n this.props.refresh();\n this.props.onClick(0);\n }\n }, 1500);\n })\n .catch(error => {\n this.setState({\n deleteStatusMessage: error.message ? error.message : 'Failed to delete! Try again.'\n })\n this.count += 1;\n setTimeout(() => {\n if (this.count === this.props.idArray.length) {\n this.props.onClick(0);\n }\n }, 1500);\n })\n } else {\n this.setState({\n deleteStatusMessage: 'Something went wrong'\n })\n setTimeout(() => {\n this.props.onClick(0);\n }, 2000);\n }\n }\n\n deleteAll = () => {\n this.props.idArray.forEach(elem => {\n this.deleteModule(elem.id, elem.name, elem.folder);\n })\n }\n\n render() {\n return (\n
\n \n \n \n { this.deleteAll() }} />\n { this.props.onClick(5) }} />\n \n
\n )\n }\n}\n","import React, { Component } from \"react\";\nimport Check from \"@material-ui/icons/Check\";\nimport Clear from \"@material-ui/icons/Clear\";\nimport Forward from \"@material-ui/icons/Forward\";\nimport { COURSE_MATERIAL } from \"../LMSAPIEndPoints\";\n\nexport default class BulkMoveToFolder extends Component {\n constructor(props) {\n super(props);\n this.state = {\n courseMaterialId: 0,\n courseModuleId: 0,\n isMoving: false,\n moveModuleMessage: ''\n }\n\n this.count = 0;\n }\n\n moveToFolder = (id, name) => {\n const data = {\n courseMaterialId: id,\n courseModuleId: this.state.courseModuleId\n }\n this.setState({\n moveModuleMessage: \"moving \" + name + \"...\",\n isMoving: true\n })\n fetch(COURSE_MATERIAL + '/moveToModule/' + data.courseMaterialId + '/' + data.courseModuleId,\n {\n method: 'POST'\n })\n .then(res => res.json())\n .then(res => {\n this.setState({\n moveModuleMessage: res.message\n })\n this.count += 1;\n setTimeout(() => {\n if (this.count === this.props.idArray.length) {\n this.props.refresh();\n this.props.onClick(0);\n }\n }, 1500);\n })\n .catch(error => {\n this.setState({\n moveModuleMessage: error.message ? error.message : 'Failed! Try Again'\n })\n this.count += 1;\n setTimeout(() => {\n if (this.count === this.props.idArray.length) {\n this.props.onClick(0);\n }\n }, 1500);\n })\n }\n\n moveAll = () => {\n this.props.idArray.forEach(elem => {\n this.moveToFolder(elem.id, elem.name);\n })\n }\n\n render() {\n return (\n
\n \n {this.state.isMoving ?\n :\n \n }\n \n {\n this.moveAll();\n }} />\n {\n this.props.onClick(5);\n }} />\n \n
\n )\n }\n}\n","import {GET_COURSE_MODULES_WITH_CHILDREN} from \"../../LMSAPIEndPoints\";\nimport {\n FETCH_COURSE_MODULES_WITH_CHILDREN_BEGIN,\n FETCH_COURSE_MODULES_WITH_CHILDREN_SUCCESS,\n FETCH_COURSE_MODULES_WITH_CHILDREN_FAILURE,\n TOGGLE_SHOW_CHILDREN\n} from \"../../../../store/actions/lmsActionTypes\";\n\nconst fetchCourseModulesBegin = () => ({\n type: FETCH_COURSE_MODULES_WITH_CHILDREN_BEGIN,\n payload: []\n});\n\nconst fetchCourseModulesSuccess = (modules) => ({\n type: FETCH_COURSE_MODULES_WITH_CHILDREN_SUCCESS,\n payload: modules\n});\n \nconst fetchCourseModulesFailure = (error) => ({\n type: FETCH_COURSE_MODULES_WITH_CHILDREN_FAILURE,\n error: error\n});\n\nexport const fetchCourseModules = () => (dispatch) => {\n dispatch(fetchCourseModulesBegin())\n fetch(GET_COURSE_MODULES_WITH_CHILDREN)\n .then(res => res.json())\n .then(res => {\n\n dispatch(fetchCourseModulesSuccess(res.map(folder => {\n folder.showChildren = false; \n return folder;\n })));\n })\n .catch(error => {\n dispatch(fetchCourseModulesFailure(error.message));\n })\n}\n\nexport const toggleShowChildren = (moduleId) => dispatch => {\n dispatch({\n type: TOGGLE_SHOW_CHILDREN,\n payload: moduleId\n })\n}\n","import React, { Component, Fragment } from \"react\";\nimport PropType from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport MainMenu from \"./MainMenu\";\nimport AddMenu from \"./AddMenu\";\nimport EditMenu from \"./EditMenu\";\nimport AddModule from \"./AddModule\";\nimport BulkMainMenu from \"./BulkMainMenu\";\nimport BulkDelete from \"./BulkDelete\";\nimport BulkMoveToFolder from \"./BulkMoveToFolder\";\nimport {\n fetchCourseModules\n} from \"../CourseComponents/Material/CourseMaterialActions\";\n\nclass LMSMenu extends Component {\n constructor(props) {\n super(props);\n this.state = {\n menu: 0,\n numberOfSelection: 0,\n selectedComponentsType: \"unknown\"\n }\n }\n\n refresh = () => {\n this.props.fetchCourseModules();\n this.props.changeMenu(0, 0);\n }\n\n onChangeMenu = () => {\n switch (this.state.menu) {\n case 0:\n return ;\n case 1:\n return \n case 2:\n return this.props.numChildren}\n refresh={this.refresh}\n idArray={this.props.idArray}\n onClick={this.ChangeMenu} />;\n case 3:\n return ;\n case 4:\n return ;\n case 5:\n return this.props.numChildren}\n />\n case 6:\n return ;\n default:\n return ;\n }\n }\n\n ChangeMenu = (option) => {\n this.setState({\n menu: parseInt(option)\n })\n }\n\n componentWillUpdate(nextProps, nextState) {\n if (nextProps.outSideMenu !== this.props.outSideMenu\n && nextProps.outSideMenu > 0) {\n this.setState({\n menu: nextProps.outSideMenu\n })\n }\n if (nextProps.numParent === 0 && nextProps.numChildren === 0\n && (this.props.numParent > 0 || this.props.numChildren > 0)) {\n this.setState({\n menu: 0,\n numberOfSelection: 0,\n selectedComponentsType: this.props.moduleTypeName + \" resources\"\n });\n }\n if (nextProps.numChildren > 0 && this.props.numChildren !== nextProps.numChildren\n && nextProps.numParent === 0) {\n this.setState({\n menu: 5,\n numberOfSelection: nextProps.numChildren,\n selectedComponentsType: nextProps.numChildren === 1 ?\n this.props.moduleTypeName + \" resource\" : this.props.moduleTypeName + \" resources\"\n });\n }\n else if (nextProps.numParent > 0 && this.props.numParent !== nextProps.numParent\n && nextProps.numChildren === 0) {\n this.setState({\n menu: 5,\n numberOfSelection: nextProps.numParent,\n selectedComponentsType: nextProps.numParent === 1 ?\n this.props.moduleTypeName : this.props.moduleTypeName + 's'\n });\n }\n return true;\n }\n\n render() {\n return (\n \n {this.onChangeMenu()}\n \n )\n }\n}\n\nLMSMenu.propTypes = {\n fetchCourseModules: PropType.func.isRequired\n};\n\nexport default connect(\n null,\n { fetchCourseModules }\n)(LMSMenu);\n","import React, { Component } from \"react\";\nimport Folders from \"./Folders\";\nimport LMSMenu from \"../LMSMenu/LMSMenu\";\nimport {\n COURSE_MATERIAL_MOVE,\n COURSE_MODULE_MOVE\n} from \"../LMSAPIEndPoints\";\n\nexport default class Modules extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n numOfSelectedChildren: 0,\n numOfSelectedParent: 0,\n menu: 0,\n moduleId: 0,\n name: \"\",\n addModuleType: 0,\n idArray: []\n }\n }\n\n swapChildren = (from, to) => {\n fetch(COURSE_MATERIAL_MOVE + '/' + from + '/' + to, {\n method: 'POST'\n })\n }\n\n swapFolders = (from, to) => {\n fetch(COURSE_MODULE_MOVE + '/' + from + '/' + to, {\n method: 'POST'\n })\n }\n\n transferChild = (materialId, newParentId) => {\n fetch(COURSE_MATERIAL_MOVE + 'Module/' + materialId + '/' + newParentId, {\n method: 'POST'\n })\n }\n\n checkBoxCallBack = (numParent, numChild, idArray) => {\n this.setState({\n numOfSelectedChildren: numChild,\n numOfSelectedParent: numParent,\n idArray: idArray\n })\n }\n\n changeMenu = (value, id, name, type) => {\n this.setState({\n menu: value,\n moduleId: id,\n name: name,\n addModuleType: type\n })\n }\n\n render() {\n return (\n
\n
\n \n
\n
\n \n
\n
\n )\n }\n}\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport Modules from \"../Modules\";\n\nclass CourseMaterialModules extends Component {\n\n render() {\n return (\n m.type === 2)} \n moduleTypeName=\"material\"\n type={2}\n openEditor={this.props.openEditor}\n />\n )\n }\n}\n\nconst mapStateToProps = state => {\n return {\n modules: state.lmsCourseModuleReducer.payload,\n loading: state.lmsCourseModuleReducer.loading\n };\n};\n\nexport default connect(\n mapStateToProps,\n null\n)(CourseMaterialModules);\n","import React, { Component } from \"react\";\nimport {\n fetchCourseModules,\n toggleShowChildren\n} from \"../Material/CourseMaterialActions\";\nimport \"../Material/styles/styles.css\";\nimport PropType from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport Modules from \"../Modules\";\n\nclass CourseAssessmentModules extends Component {\n componentDidMount = () => {\n if (this.props.modules.len < 0) {\n this.props.fetchCourseModules();\n }\n }\n\n render() {\n return (\n m.type === 1)}\n moduleTypeName=\"assessment\"\n type={1}\n openEditor={this.props.openEditor}\n />\n )\n }\n}\n\nCourseAssessmentModules.propTypes = {\n fetchCourseModules: PropType.func.isRequired,\n toggleShowChildren: PropType.func.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n modules: state.lmsCourseModuleReducer.payload,\n loading: state.lmsCourseModuleReducer.loading\n };\n};\n\nexport default connect(\n mapStateToProps,\n { fetchCourseModules, toggleShowChildren }\n)(CourseAssessmentModules);\n","import React, { Component} from \"react\";\nimport { Editor } from \"@tinymce/tinymce-react\";\nimport KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\nimport { COURSE_MATERIAL } from \"../LMSAPIEndPoints\";\nimport \"./styles/materialEditor.css\";\nimport axios from \"axios\";\n\nclass CourseMaterialEditor extends Component {\n constructor(props) {\n super(props);\n this.state = {\n title: this.props.material.name,\n content: this.props.material.content,\n saveMessageStatus: 'Save',\n save: false\n };\n }\n\n onSaveCourseMaterial = () => {\n const material = this.props.material;\n const data = {\n CourseMaterialId: material.courseMaterialId,\n Name: this.state.title,\n Content: this.state.content,\n CourseModuleId: material.courseModuleId,\n Index: material.index\n }\n this.setState({\n saveMessageStatus:
Saving...
,\n save: true\n })\n axios({\n url: COURSE_MATERIAL,\n data: data,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n this.props.refresh();\n this.setState({\n saveMessageStatus:
{res.message}
\n });\n setTimeout(() => {\n this.props.openEditor(false);\n }, 1500);\n })\n .catch(error => {\n this.setState({\n saveMessageStatus:
Failed to save! {error.message ? error.message : 'Try again'}
\n })\n setTimeout(() => {\n this.setState({\n save: false\n })\n }, 2000);\n })\n }\n\n render() {\n return (\n
\n
\n
{ this.props.openEditor(false) }}>\n \n
\n {this.state.save ?\n this.state.saveMessageStatus :\n
\n
\n {\n this.setState({\n title: e.target.value\n })\n }}\n />\n
\n
\n {\n this.onSaveCourseMaterial();\n }}\n >\n Save\n \n
\n
\n }\n
\n
\n {\n this.setState({\n content: e.target.getContent()\n })\n }}\n />\n
\n
\n );\n }\n}\n\nexport default CourseMaterialEditor;\n","\nexport const QuestionTypes = {\n SINGLE_CHOICE: 0,\n MULTIPLE_CHOICE: 1,\n MATCH_SORT_NUMBERS: 2,\n MATCH_SORT_LETTERS: 3\n}\n\nexport function getInstruction(typeOfQuestion) {\n switch (typeOfQuestion) {\n case QuestionTypes.SINGLE_CHOICE:\n return 'Select radio button to mark option as an answer';\n case QuestionTypes.MULTIPLE_CHOICE:\n return 'Select check box to mark option as an answer';\n case QuestionTypes.MATCH_SORT_NUMBERS:\n return 'Select numbers to order the options';\n case QuestionTypes.MATCH_SORT_LETTERS:\n return 'Select letters to order the options'\n default:\n return '';\n }\n}\n\nexport function getTotalScore(options, questionType) {\n switch (questionType) {\n case QuestionTypes.SINGLE_CHOICE:\n case QuestionTypes.MULTIPLE_CHOICE:\n return options.reduce((a, b) => {\n if (b.score > 0) {\n return a + b.score;\n } else {\n return a;\n }\n }, 0);\n case QuestionTypes.MATCH_SORT_NUMBERS:\n case QuestionTypes.MATCH_SORT_LETTERS:\n return msNumbersScoreAlgorithm(options);\n default:\n return 0;\n }\n}\n\nfunction msNumbersScoreAlgorithm(options) {\n let sum = 0;\n options.forEach((opt, key) => {\n if (key === 0) {\n sum = opt.score;\n }\n else {\n if (key % 2 === 1) {\n sum -= opt.score;\n }\n else {\n sum *= opt.score;\n }\n }\n });\n return sum;\n}\n\nexport function isValid(questionType, options) {\n switch (questionType) {\n case QuestionTypes.SINGLE_CHOICE:\n case QuestionTypes.MULTIPLE_CHOICE:\n if (options.find(val => val.score === 1)) {\n return true;\n }\n break;\n case QuestionTypes.MATCH_SORT_NUMBERS:\n return matchSortValidate(options, 1);\n case QuestionTypes.MATCH_SORT_LETTERS:\n return matchSortValidate(options, 65);\n default:\n break;\n }\n return false;\n\n function matchSortValidate(options, offset) {\n let duplicates = new Array(options.length).fill(0);\n options.forEach(val => {\n duplicates[val.score - offset] += 1;\n });\n const sum = duplicates.reduce((a, b) => {\n return a + b;\n }, 0);\n if (sum === options.length) {\n return true;\n }\n return false;\n }\n}\n","import React, { PureComponent } from \"react\";\nimport { QuestionTypes } from \"./utils\";\n\nexport default class QuestionOption extends PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n description: this.props.description,\n score: this.props.score,\n index: this.props.index,\n options: this.props.options,\n numberOfOptions: this.props.numberOfOptions\n };\n }\n\n componentDidUpdate() {\n this.setState({\n description: this.props.description,\n score: this.props.score,\n index: this.props.index,\n options: this.props.options,\n numberOfOptions: this.props.numberOfOptions\n });\n }\n\n render() {\n return this.getOption(this.props.questionType);\n }\n\n getOption = questionType => {\n switch (questionType) {\n case QuestionTypes.SINGLE_CHOICE:\n return this.radioOption();\n case QuestionTypes.MULTIPLE_CHOICE:\n return this.checkOption();\n case QuestionTypes.MATCH_SORT_NUMBERS:\n return this.numbersSortOption();\n case QuestionTypes.MATCH_SORT_LETTERS:\n return this.lettersSortOption();\n default:\n return null;\n }\n };\n\n radioOption = () => {\n return (\n
\n 0}\n onChange={event => {\n if (this.props.radioFunction) {\n this.props.radioFunction(event, this.state.index);\n }\n }}\n />\n {this.state.description}\n
\n );\n };\n\n checkOption = () => {\n return (\n
\n 0}\n onChange={event => {\n this.props.checkFunction(event, this.state.index);\n }}\n />\n {this.props.description}\n
\n );\n };\n\n numbersSortOption = () => {\n return this.sortOptions();\n };\n\n lettersSortOption = () => {\n return this.sortOptions(64, false);\n };\n\n sortOptions = (offset = 0, isNumbers = true) => {\n const choices = Array.from(\n new Array(this.state.numberOfOptions + 1),\n (v, k) => k + offset\n );\n return (\n
\n {\n if (this.props.numbersSortOptionFunction) {\n this.props.numbersSortOptionFunction(event, this.state.index);\n }\n }}\n >\n {choices.map(c => (\n \n ))}\n \n {this.state.description}\n
\n );\n }\n}\n","import React, { Component } from \"react\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { connect } from \"react-redux\";\n\nclass FileUploader extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n fileName: \"Choose file\",\n files: [],\n image: null\n }\n }\n\n\n componentWillUnmount() {\n const _files = this.state.files;\n this.props.onFilesChange(_files, this.props.fileGroup ? this.props.fileGroup : \"default\");\n }\n\n isFileExist = (file) => {\n let files = this.state.files;\n return files.find(_file => _file.name === file.name);\n }\n\n processImage = (imageFile) => {\n try {\n this.setState({\n image: URL.createObjectURL(imageFile)\n });\n }\n catch (error) {\n this.setState({\n image: imageFile\n });\n }\n }\n\n showImage = () => {\n if (this.state.image) {\n return (\n
\n \n
\n );\n }\n return null\n }\n\n render() {\n return (\n
\n
\n
{\n this.props.fileParse(null);\n this.processImage(null);\n }}\n >\n \n Clear All\n \n
\n
\n {\n const _file = event.target.files[0];\n this.setState({\n fileName: event.target.value.split(\"\\\\\").pop(),\n });\n this.props.fileParse(_file);\n this.processImage(_file);\n }}\n />\n \n
\n
\n {this.showImage()}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails,\n memberState: state.loginReducer.memberState,\n MemberV: state.MemberViewReducer.MemberView\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onFilesChange: (files, vname) =>\n dispatch({\n type: actionTypes.UPDATE_FILES_TO_UPLOAD,\n payload: files,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(FileUploader);\n","import React, { Component, Fragment } from \"react\";\nimport Card from \"@material-ui/core/Card\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport { QUESTION } from \"../LMSAPIEndPoints\";\nimport \"./styles/styles.css\";\nimport Check from \"@material-ui/icons/Check\";\nimport Delete from \"@material-ui/icons/Delete\";\nimport Edit from \"@material-ui/icons/Edit\";\nimport { getInstruction, getTotalScore, isValid } from \"./utils\";\nimport QuestionOption from \"./QuestionOption\";\nimport { randomBytes } from \"crypto\";\nimport FileUpload from \"./fileUploaderComponent\";\n\nconst stateForUpdate = {\n options: [],\n question: \"\",\n questionType: -1,\n instructions: \"instructions\",\n totalScore: 0,\n onSaveMessage: ,\n inputText: \"\",\n render: \"red\"\n};\n\nconst stateForCreate = {\n options: [],\n question: \"Untitled Question\",\n questionType: -1,\n instructions: \"instructions\",\n totalScore: 0,\n onSaveMessage: ,\n inputText: \"\",\n render: \"red\"\n};\nexport class Question extends Component {\n constructor(props) {\n super(props);\n this.state = this.props.update\n ? { ...stateForUpdate, options: [] }\n : { ...stateForCreate, options: [] };\n this.onAddOption = false;\n this.index = 0;\n this.isOption = true;\n this.isQuestion = true;\n this.picture = null;\n this.picUrl = null;\n }\n\n addTotalScore = () => {\n return getTotalScore(this.state.options, this.state.questionType);\n };\n\n populateFiles = files => {\n this.picture = files;\n this.picUrl = null;\n this.setState({\n render: randomBytes(5)\n });\n };\n\n saveQuestion = () => {\n this.props.modalCloseButton(true);\n this.props.modalShow(\n this.props.update?\"Updating...\":\"Saving..\",\n \"Performing an operation on the Question\",\n false\n );\n const formData = new FormData();\n const data = {\n questionTitle: this.state.question,\n totalScore: this.addTotalScore(),\n type: this.state.questionType,\n courseMaterialId: this.props.update\n ? this.props.question.courseMaterialId\n : this.props.materialId,\n questionOptions: this.state.options.map(value => {\n return {\n description: value.description.props.children[0].props.children,\n score: value.score\n };\n })\n };\n\n Object.keys(data).forEach(key => {\n let value = data[key];\n if (key === \"questionOptions\") {\n value = JSON.stringify(value);\n }\n formData.append(key, value);\n });\n if (this.picUrl && this.props.update) {\n const pic = this.props.question.questionPictures;\n if (pic) {\n formData.append(\"picture\", \"rename\");\n formData.append(\"url\", pic.url);\n }\n } else {\n formData.append(\"picture\", this.picture);\n }\n this.connect(formData);\n };\n\n connect = formData => {\n const url = this.props.update\n ? QUESTION + \"/\" + this.props.question.questionId\n : QUESTION;\n fetch(url, {\n method: this.props.update ? \"POST\" : \"POST\",\n body: formData\n })\n .then(res => {\n return {\n status: res.status,\n data: res.json()\n };\n })\n .then(res => {\n res.data\n .then(res => {\n this.props.modalCloseButton(false);\n this.props.modalShow(\n res.message,\n \"Performing an operation on the Question\",\n false\n );\n })\n .finally(() => {\n this.props.refresh();\n });\n })\n .catch(error => {\n this.onAddOption = false;\n this.setState({\n onSaveMessage: (\n \n )\n });\n this.props.modalCloseButton(false);\n this.props.modalShow(\n error.message,\n \"Performing an operation on the Question\",\n false\n );\n });\n };\n\n showImage = () => {\n if (!this.picture && this.props.update && this.picUrl) {\n return (\n
\n \"Sorry\"\n
\n );\n }\n return null;\n };\n\n componentDidMount() {\n if (this.props.update) {\n const questionPic = this.props.question.questionPictures;\n this.picUrl = questionPic ? questionPic.url : null;\n const question = this.props.question;\n this.onChangeInstruction(question.type);\n this.setState({\n question: question.questionTitle,\n totalScore: question.totalScore,\n questionType: parseInt(question.type),\n options: Array.from(question.questionOptions).map((option, index) => {\n this.index = this.index + 1;\n return {\n description: this.textOption(option.description, index),\n score: option.score,\n index: index\n };\n })\n });\n } else {\n this.onChangeInstruction(this.state.questionType);\n }\n }\n\n onChangeInstruction = typeOfQuestion => {\n this.setState({\n instructions: getInstruction(typeOfQuestion)\n });\n };\n\n radioFunction = (event, index) => {\n const options = this.state.options;\n if (event.target.checked) {\n options.some((opt, ind) => {\n if (ind === index) {\n return opt.score = 1;\n } else {\n return opt.score = 0;\n }\n });\n }\n this.setState({\n options: options\n });\n };\n\n checkFunction = (event, index) => {\n const options = this.state.options;\n if (event.target.checked) {\n options[index].score = 1;\n } else {\n options[index].score = 0;\n }\n this.setState({\n options: [...options]\n });\n };\n\n numbersSortOptionFunction = (event, index) => {\n const _options = this.state.options;\n function updateScore(num) {\n let key = 0;\n for (let i = 0; i < _options.length; i++) {\n let _option = _options[i];\n if (num <= 0) {\n return 0;\n }\n if (_option.score === num) {\n return updateScore(num - 1);\n }\n key = key + 1;\n }\n return num;\n }\n _options[index].score = updateScore(parseInt(event.target.value));\n this.setState({\n options: _options\n });\n };\n\n showOption = (description, score, index) => {\n return (\n \n );\n };\n\n onValidation = () => {\n this.setState({\n render: randomBytes(5)\n });\n if (!this.state.question || this.state.question === \"Untitled Question\") {\n this.isQuestion = false;\n return false;\n }\n this.isQuestion = true;\n return (this.isOption = isValid(\n this.state.questionType,\n this.state.options\n ));\n };\n\n validationMessage = () => {\n let message = \"\";\n if (!this.isQuestion) {\n message += \"The Question is untitled\";\n }\n\n if (!this.isOption) {\n if (this.state.options.length === 0) {\n message += \"\\n There are no options\";\n } else {\n message += \"\\n Please select an option as an answer\";\n }\n }\n\n return (\n
\n {\" \"}\n {message}{\" \"}\n
\n );\n };\n\n onCheck = index => {\n const options = this.state.options;\n const realIndex = options.findIndex(value => value.index === index);\n let option = options[realIndex];\n option.description = this.textOption(this.state.inputText, index);\n options[realIndex] = { ...option };\n this.setState({\n options: options\n });\n this.onAddOption = false;\n };\n\n onEdit = index => {\n this.onAddOption = true;\n const options = this.state.options;\n const realIndex = options.findIndex(value => value.index === index);\n let option = options[realIndex];\n const span = option.description.props.children[0];\n option.description = this.inputOption(span.props.children, index);\n options[realIndex] = { ...option };\n this.setState({\n options: options,\n inputText: span.props.children\n });\n };\n\n onDelete = index => {\n let options = this.state.options;\n const realIndex = options.findIndex(value => value.index === index);\n options.splice(realIndex, 1);\n this.setState({\n options: [...options]\n });\n };\n\n inputOption = (defaultText, index) => {\n return (\n \n {\n this.setState({\n inputText: event.target.value\n });\n }}\n type=\"text\"\n defaultValue={defaultText}\n />\n {\n this.onCheck(index);\n }}\n />\n {\n this.onDelete(index);\n }}\n />\n \n );\n };\n\n textOption = (text, index) => {\n return (\n \n {text}\n {\n this.onEdit(index);\n }}\n />\n {\n this.onDelete(index);\n }}\n />\n \n );\n };\n\n addOption = () => {\n let options = this.state.options;\n options.push({\n description: this.inputOption(\"\", this.index),\n score: 0,\n index: this.index\n });\n this.index = this.index + 1;\n this.setState({\n options: options\n });\n };\n\n input = () => {\n if (this.props.update) {\n return (\n {\n this.setState({\n question: e.target.value\n });\n }}\n />\n );\n } else {\n return (\n {\n this.setState({\n question: e.target.value\n });\n }}\n />\n );\n }\n };\n\n selectedOption = (value, index) => {\n if (this.state.questionType === index) {\n return (\n \n );\n } else {\n return ;\n }\n };\n\n render() {\n const questionTypes = [\n \"Single Choice\",\n \"Multiple Choice\",\n \"Match Sorting (Numbers)\",\n \"Match Sorting (Letters)\"\n ];\n return (\n
\n \n {\n this.props.close();\n }}\n className=\"font-weight-bold p-0 pl-2\"\n >\n X\n
\n {\n e.preventDefault();\n this.onAddOption = true;\n if (this.onValidation()) {\n this.saveQuestion();\n } else {\n this.onAddOption = false;\n }\n }}\n >\n \n {this.input()}\n \n {this.showImage()}\n {\n const key = e.target.options.selectedIndex - 1;\n this.setState({\n questionType: key\n });\n this.onChangeInstruction(key);\n }}\n >\n \n {questionTypes.map((value, index) =>\n this.selectedOption(value, index)\n )}\n \n
\n {this.state.instructions}\n
\n
\n {this.state.options.map((value, index) =>\n this.showOption(value.description, value.score, index)\n )}\n
\n
\n {this.validationMessage()}\n
\n {this.onAddOption ? null : (\n \n {\n this.onAddOption = true;\n this.addOption();\n }}\n >\n Add option\n \n {this.state.onSaveMessage}\n \n )}\n
\n \n \n \n );\n }\n}\n\nexport default Question;\n","import React, { Component } from \"react\";\nimport Modal from \"react-bootstrap/Modal\";\n\nexport default class CustomModal extends Component {\n showCloseButton = () => {\n if (this.props.disableCloseButton) {\n return (\n \n {this.props.title}\n \n );\n } else {\n return (\n \n {this.props.title}\n \n );\n }\n }\n render() {\n return (\n \n {this.showCloseButton()}\n \n

\n {!this.props.error\n ? `${this.props.message}...`\n : `Error: ${this.props.error}`}\n

\n
\n \n );\n }\n}\n","import React, { Component, Fragment } from \"react\";\nimport Question from \"./Question\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport AddCircle from \"@material-ui/icons/AddCircle\";\nimport KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\nimport Delete from \"@material-ui/icons/Delete\";\nimport Edit from \"@material-ui/icons/Edit\";\nimport Image from \"@material-ui/icons/Image\";\nimport { QUESTION } from \"../LMSAPIEndPoints\";\nimport \"./styles/styles.css\";\nimport { DragDropContext, Droppable, Draggable } from \"react-beautiful-dnd\";\nimport Drag from \"@material-ui/icons/DragIndicator\";\nimport \"../CourseComponents/styles/materialEditor.css\";\nimport CustomModal from \"../../../utils/CustomModal\";\nimport {\n COURSE_MATERIAL_CHANGE_NAME,\n QUESTION_UPDATE_INDEX\n} from \"../LMSAPIEndPoints\";\n\nclass QuizEditor extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n existingQuestion: [],\n openQuestionEditor: false,\n isUpdatingQuestionId: 0,\n updateQuestion: false,\n deleteQuestion: false,\n hoveredQuestion: null,\n modalMessage: \"\",\n showModal: false,\n title: null,\n save: false,\n updatedName: false\n };\n this.modalTitle = \"\";\n this.ModalError = null;\n this.disableCloseButton = true;\n }\n\n getExistingQuestions = () => {\n fetch(QUESTION + \"/\" + this.props.material.courseMaterialId)\n .then(res => res.json())\n .then(res => {\n this.setState({\n existingQuestion: res.data\n });\n })\n .catch(error => {\n this.setState({\n existingQuestion: []\n });\n });\n };\n\n refresh = () => {\n this.getExistingQuestions();\n this.setState({\n openQuestionEditor: false,\n updateQuestion: false,\n isUpdatingQuestionId: 0,\n deleteQuestion: false\n });\n };\n\n modalShow = (message, title, error) => {\n this.setState({\n showModal: true,\n modalMessage: message\n });\n this.modalTitle = title;\n if (error) {\n this.ModalError = message;\n } else {\n this.ModalError = null;\n }\n };\n\n deleteQuestion = id => {\n this.disableCloseButton = false;\n this.modalShow(\"Deleting\", \"Performing an operation on the Question\");\n fetch(QUESTION + \"/\" + id, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n })\n .then(res => {\n res.json().then(data => {\n if (res.status !== 200) {\n this.modalShow(\n data.message,\n \"Performing an operation on the Question\",\n true\n );\n } else {\n this.modalShow(\n data.message,\n \"Performing an operation on the Question\",\n false\n );\n }\n this.refresh();\n this.disableCloseButton = false;\n });\n })\n .catch(() => {\n this.modalShow(\n \"A network error occured\",\n \"Performing an operation on the Question\",\n true\n );\n this.refresh();\n this.disableCloseButton = false;\n });\n };\n\n componentDidMount() {\n this.getExistingQuestions();\n }\n\n closeCreateQuestion = () => {\n this.setState({ openQuestionEditor: false });\n };\n\n closeUpdateQuestion = () => {\n this.setState({ updateQuestion: false, isUpdatingQuestionId: 0 });\n };\n\n addNewQuestion = () => {\n return (\n
\n {this.state.openQuestionEditor ? (\n
Create
\n ) : this.state.updateQuestion ? (\n
Update
\n ) : (\n {\n this.setState({ openQuestionEditor: true });\n }}\n >\n New Question\n
\n )}\n \n );\n };\n\n questionHasImage = question => {\n return question.questionPictures ? (\n {\n this.setState({\n hoveredQuestion: question\n });\n }}\n onBlur={() => {\n this.setState({\n hoveredQuestion: null\n });\n }}\n tabIndex=\"0\"\n >\n \n \n ) : (\n
\n );\n };\n\n revert = (sourceIndex, destinationIndex) => {\n const newOrder = Array.from(this.state.existingQuestion);\n const [removed] = newOrder.splice(destinationIndex, 1);\n newOrder.splice(sourceIndex, 0, removed);\n\n this.setState({\n existingQuestion: newOrder\n });\n };\n\n onDragEnd = result => {\n // dropped outside the list\n const { source, destination } = result;\n // dropped outside the list\n if (!destination) {\n return;\n }\n\n if (source.index === destination.index) {\n return;\n }\n\n const newOrder = Array.from(this.state.existingQuestion);\n const [removed] = newOrder.splice(source.index, 1);\n newOrder.splice(destination.index, 0, removed);\n\n this.setState({\n existingQuestion: newOrder\n });\n\n newOrder.forEach((q, index )=> {\n fetch(QUESTION_UPDATE_INDEX + `/${q.questionId}/${index + 1}`, {\n method: \"POST\"\n })\n .then(res => {\n if (res.status !== 200) {\n this.revert(source.index, destination.index);\n }\n })\n .catch(err => {\n this.revert(source.index, destination.index);\n });\n });\n };\n\n existingQuestions = () => {\n return this.state.existingQuestion.length > 0 ? (\n
\n
Existing Questions
\n {this.showHoveredPicture()}\n \n \n {(provided, snapshot) => (\n \n {this.state.existingQuestion.map((question, index) => {\n if (question.questionId !== this.state.isUpdatingQuestionId) {\n return (\n \n {(provided, snapshot) => (\n \n \n \n {this.questionHasImage(question)}\n
\n {\n this.setState({\n isUpdatingQuestionId: question.questionId,\n updateQuestion: true\n });\n }}\n >\n {question.questionTitle}\n \n {this.state.deleteQuestion ? null : (\n \n {\n this.setState({\n isUpdatingQuestionId: question.questionId,\n updateQuestion: true\n });\n }}\n />\n {\n this.setState({\n deleteQuestion: true\n });\n this.deleteQuestion(question.questionId);\n }}\n />\n \n )}\n
\n )}\n \n );\n } else {\n return (\n
\n \n
\n );\n }\n })}\n {provided.placeholder}\n \n )}\n \n \n \n ) : null;\n };\n\n showHoveredPicture = () => {\n return this.state.hoveredQuestion ? (\n
\n
\n \n
\n
\n ) : null;\n };\n\n modalClose = () => {\n this.modalTitle = \"\";\n this.ModalError = null;\n this.setState({\n showModal: false,\n modalMessage: \"\"\n });\n };\n\n closeButton = value => {\n this.disableCloseButton = value;\n };\n\n onUpdateCourseMaterial = id => {\n this.setState({\n saveMessageStatus: (\n
Saving...
\n ),\n save: true\n });\n\n fetch(COURSE_MATERIAL_CHANGE_NAME + `/${id}/${this.state.title}`, {\n method: \"POST\"\n })\n .then(res => res.json())\n .then(res => {\n this.props.refresh();\n this.setState({\n saveMessageStatus: (\n
\n {res.message}\n
\n )\n });\n setTimeout(() => {\n this.setState({\n save: false,\n updatedName: true\n });\n }, 2000);\n })\n .catch(error => {\n this.setState({\n saveMessageStatus: (\n
\n Failed to save! {error.message ? error.message : \"Try again\"}\n
\n )\n });\n setTimeout(() => {\n this.setState({\n save: false\n });\n }, 2000);\n });\n };\n\n header = () => {\n return (\n
\n {\n this.props.openEditor(false);\n }}\n >\n \n
\n {this.state.save ? (\n this.state.saveMessageStatus\n ) : (\n
\n
\n {\n this.setState({\n title: e.target.value\n });\n }}\n />\n
\n
\n {\n this.onUpdateCourseMaterial(\n this.props.material.courseMaterialId\n );\n }}\n >\n Update Name\n \n
\n
\n )}\n \n );\n };\n\n render() {\n return (\n {\n if (this.state.hoveredQuestion !== null) {\n this.setState({\n hoveredQuestion: null\n });\n }\n }}\n >\n
\n {this.header()}\n
\n
\n {this.addNewQuestion()}\n {this.state.openQuestionEditor ? (\n
\n \n
\n ) : null}\n
\n {this.existingQuestions()}\n
\n
\n \n \n );\n }\n}\n\nexport default QuizEditor;\n","import React, { Fragment } from \"react\";\nimport PropType from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { withRouter } from \"react-router-dom\";\nimport \"./styles/styles.css\";\nimport CourseStatistics from \"./Statistics/CourseStatistics\";\nimport CourseMaterialModules from \"./Material/CourseMaterialModules\";\nimport CourseAssessmentModule from \"./Assessment/CourseAssessmentModules\";\nimport CourseMaterialEditor from \"./CourseMaterialEditor\";\nimport QuizEditor from \"../QuizComponents/QuizEditor\";\nimport {\n fetchCourseModules\n} from \"./Material/CourseMaterialActions\";\nimport axios from \"axios\";\nimport {BASE } from \"../../../API/APIendpoint\";\nclass LMSNavigator extends React.Component {\n state = {\n component: 1,\n material: null,\n openEditor: false,\n editorType: 0\n };\n\n componentDidMount() {\n this.props.fetchCourseModules();\n }\n\n handleChangeTab = tab => {\n this.setState({\n component: tab,\n material: null,\n openEditor: false\n })\n };\n\n componentLoader = () => {\n switch (this.state.component) {\n case 0:\n return ;\n case 1:\n return ;\n case 2:\n return ;\n default:\n return ;\n }\n };\n material\n\n openEditor = (value, material, type) => {\n if(value === true) {\n axios({\n url: `${BASE}api/CourseMaterial/${material.courseMaterialId}`,\n method: \"get\",\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({\n openEditor: value,\n material: res.data,\n editorType: type\n })\n })\n } else {\n this.setState({\n openEditor: value,\n material: material,\n editorType: type\n })\n }\n }\n\n changeComponent = (component) => {\n this.setState({\n component: component\n });\n };\n\n component = (id, name) => {\n return (\n this.changeComponent(id)}\n >\n {name}\n \n );\n }\n\n switchEditor = () => {\n switch (this.state.editorType) {\n case 1:\n return ;\n case 2:\n return ;\n default:\n return (\n \n Editor not chosen\n \n );\n }\n }\n\n render() {\n return (\n this.state.openEditor ?\n this.switchEditor() :\n
\n
\n \n
\n
\n {this.component(0, 'Course Statistics')}\n {this.component(1, 'Course Material Modules')}\n {this.component(2, 'Course Assessment Modules')}\n
\n
\n
\n
\n
\n {this.componentLoader()}\n
\n
\n
\n
\n );\n }\n}\n\nLMSNavigator.propTypes = {\n fetchCourseModules: PropType.func.isRequired\n}\n\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails\n };\n};\n\nexport default connect(\n mapStateToProps,\n { fetchCourseModules }\n)(withRouter(LMSNavigator));\n","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, FRONT } from \"../../../API/APIendpoint\";\nimport { CHECKOUT_DETAILS_ACTIONS } from \"../../../store/actions/actionTypes\";\nexport class CheckoutPage extends Component {\n constructor(props) {\n super(props);\n this.state = {\n ItemName: \"\",\n MerchantID: \"\",\n MerchantKey: \"\",\n Amount: 0,\n FeeYear: new Date().getFullYear() + 1\n };\n }\n componentDidMount() {\n const Cryptr = require(\"cryptr\");\n const cryptr = new Cryptr(\"myTotalySecretKey\");\n Axios.get(BASE + \"api/PayFastDetails\").then(res => {\n this.setState({\n ItemName: res.data[0].itemName,\n Amount: res.data[0].amount,\n MerchantID: cryptr.decrypt(res.data[0].merchantId),\n MerchantKey: cryptr.decrypt(res.data[0].merchantKey) \n })\n });\n sessionStorage.setItem(\"XUVY-113\", this.props.memberDetails.memberNumber);\n sessionStorage.setItem(\"XUVY-114\", this.props.memberDetails.email); \n }\n render() {\n const catchedMemDetails = `${sessionStorage.getItem(\"CA-NM\")} ${sessionStorage.getItem(\"CA-SU\")} ${this.state.FeeYear} Membership Fee`;\n const loginMemDetails = `${this.props._memberDetails.firstname} ${this.props._memberDetails.surname} ${this.state.FeeYear} Membership Fee`;\n const _itemName = !sessionStorage.getItem(\"CA-NM\") ? loginMemDetails : catchedMemDetails;\n return (\n
\n
\n
\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n

Service

\n
\n

Description

\n
\n

Amount

\n
MembershipNarfo 12-month membership subscription.{`R ${this.state.Amount}`}
\n
\n
\n
\n

\n \n Total :
\n
\n

\n
\n
\n \n {this.state.Amount}
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n {}}\n >\n Proceed to Payfast {sessionStorage.getItem(\"XUVY-113\")}\n \n \n
\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n details: state.checkoutDefaultsReducer.payfastObj,\n payFastDetails: state.checkoutDefaultsReducer.payFastDetails,\n memberDetails: state.loginReducer.userProfileDetails,\n _memberDetails: state.loginReducer.memberObject\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onPayFastDetailsChange: obj =>\n dispatch({\n type: CHECKOUT_DETAILS_ACTIONS.UPDATE_PAY_FAST_DETAILS,\n payfastObj: obj\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(CheckoutPage);\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { withRouter } from \"react-router-dom\";\n\nconst styles = {\n root: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"80vh\",\n overflow: \"auto\"\n }\n};\n\nclass Return extends Component {\n handleSubmit = e => {\n sessionStorage.clear();\n this.props.history.push(\"/App\");\n };\n\n render() {\n return (\n
\n
\n
\n
Payment processed successfully
\n
\n An email with login details will be sent to you upon approval of\n your application. Thank you for joining!\n
\n
\n \n Go to the login page\n \n
\n
\n
\n );\n }\n}\nReturn.propTypes = {\n classes: PropTypes.object.isRequired\n};\nconst mapStateToProps = state => {\n return {\n accountDetails: state.accountReducer.account,\n memberDetails: state.loginReducer.userProfileDetails\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname\n }),\n onLoginDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_LOGIN_DETAILS,\n varValue: value,\n varName: vname\n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(Return)));\n","import React, { Component } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport \"./../../homePage/newsFeed/ArticleStyle.css\";\nclass ManualPay extends Component {\n render(props) {\n return (\n
\n

\n You have chosen to do a manual payment for your membership.\n

\n

\n Once you have made the payment, please email the proof of payment to us at info@narfo.co.za. \n Once we receive your proof of payment we will\n activate your account.\n

\n

\n Bank Details: FNB, Acc No - 62833054117, Branch Code - 250655. When paying\n please ensure you use your [Identity No] as reference\n

\n
\n
\n \n \n \n
\n
\n
\n );\n }\n}\nexport default ManualPay;","import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nexport class Notify extends Component {\n constructor(props) {\n super(props);\n this.state = { return: [], account: null };\n }\n\n componentDidMount() {\n axios.get(\"sandbox.payfast.co.za\").then(res => {\n this.setState({account: res.data});\n });\n }\n\n render() {\n return
Whats happening
;\n }\n}\n\nconst mapStateToProps = state => ({});\n\nconst mapDispatchToProps = {};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(Notify);\n","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport { CHECKOUT_DETAILS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\n\nclass PayFastDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n MerchantId: \"\",\n MerchantKey: \"\",\n Amount: 0,\n ItemName: \"\",\n AmountError:\"\",\n PayFastMode:\"\"\n };\n }\n\n componentDidMount() {\n Axios.get(BASE + \"api/PayFastDetails\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n const payFastDetails = res.data[0];\n payFastDetails.itemName === \"PayFast Sandbox\" ?\n this.setState({\n PayFastMode: \"PayFast Sandbox\"\n }) :\n this.setState({\n PayFastMode: \"PayFast\"\n })\n this.props.onPayFastDetailsChange(payFastDetails);\n });\n }\n handleEditPayFastSandBoxDetails = async () => {\n const Cryptr = require(\"cryptr\");\n const cryptr = new Cryptr(\"myTotalySecretKey\");\n this.setState({\n PayFastMode: \"PayFast Sandbox\"\n })\n if(this.state.Amount !== 0){\n const config = {\n method: \"post\",\n url: BASE +\"api/PayFastDetails/\" + this.props.details.payFastDetailsID,\n data: {\n PayFastDetailsID: 1,\n MerchantId: cryptr.encrypt(\"10000100\"),\n MerchantKey: cryptr.encrypt(\"46f0cd694581a\"),\n Amount: this.state.Amount,\n ItemName: \"PayFast Sandbox\"\n },\n headers: {\"Access-Control-Allow-Origin\": \"*\",'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`}\n }\n await Axios(config)\n .then(res =>{\n alert(res.data.message);\n })\n }else{\n alert(\"Please fill Amount field\")\n }\n };\n handleEditPayFastDetails = async () => {\n const Cryptr = require(\"cryptr\");\n const cryptr = new Cryptr(\"myTotalySecretKey\");\n this.setState({\n PayFastMode: \"PayFast\"\n })\n if(this.state.MerchantId !== \"\" && this.state.MerchantKey !== \"\" && this.state.Amount !== 0 && this.state.ItemName !== \"\"){\n const config = {\n method: \"post\",\n url: BASE +\"api/PayFastDetails/\" + this.props.details.payFastDetailsID,\n data: {\n PayFastDetailsID: 1, //Change this add new or edit the actual partner\n MerchantId: cryptr.encrypt(this.state.MerchantId),\n MerchantKey: cryptr.encrypt(this.state.MerchantKey),\n Amount: this.state.Amount,\n ItemName: this.state.ItemName\n },\n headers: {\"Access-Control-Allow-Origin\": \"*\",'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`}\n }\n await Axios(config)\n .then(res =>{\n alert(res.data.message);\n })\n }else{\n alert(\"Please fill in all the fields below\")\n }\n };\n onChange = e => {\n this.setState({\n [e.target.name]: e.target.value\n });\n };\n handleAmountChange = event =>{\n this.setState({Amount: event.target.value});\n }\n render() {\n return (\n
\n
\n \n
\n
\n
\n \n {\n this.setState({\n MerchantId: a.target.value\n });\n }}\n onChange={this.onChange}\n />\n
\n
\n \n {\n this.setState({\n MerchantKey: a.target.value\n });\n }}\n onChange={this.onChange}\n />\n
\n
\n
\n
\n \n {\n this.setState({\n Amount: a.target.value\n });\n }}\n onChange={this.handleAmountChange}\n />\n {this.state.AmountError}\n
\n
\n \n {\n this.setState({\n ItemName: a.target.value\n });\n }}\n onChange={this.onChange}\n />\n
\n
\n
{`Current State: ${this.state.PayFastMode} Mode`}
\n
\n \n PayFast\n \n \n Sandbox\n \n
\n
\n \n
\n );\n }\n}\nPayFastDetails.propTypes = {\n // details: Proptypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n details: state.checkoutDefaultsReducer.payfastObj\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onPayFastDetailsChange: obj =>\n dispatch({\n type: CHECKOUT_DETAILS_ACTIONS.UPDATE_PAY_FAST_DETAILS,\n payfastObj: obj\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(PayFastDetails);\n","import { withStyles } from \"@material-ui/core/styles\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport jsPDF from \"jspdf\";\nconst styles = theme => ({});\nclass PaymentView extends Component {\n constructor(props) {\n super(props);\n this.state = {\n date: \"\"\n }\n this.receiptDownload = React.createRef();\n }\n componentDidMount() {\n this.getDate();\n }\n handleSubmit = e => {\n e.preventDefault();\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n };\n receiptDownloader = () => {\n this.receiptDownload.current.click();\n };\n getDate = () => {\n var months = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n let today = new Date();\n let date =\n today.getDate() +\n \" \" +\n months[parseInt(today.getMonth())] +\n \" \" +\n today.getFullYear();\n this.setState({ date });\n };\n render() {\n const currAccount = this.props.accountList.filter(\n element => element.memNo === this.props.memberDetails.memberNumber &&\n element.invoiceNumber === this.props.accountDetails.invoiceNo\n )[0]\n const payViewInfo = (name, value) => (\n \n {name}\n {`: ${value}`}\n \n );\n const print = async () => {\n let pdf = new jsPDF(\"p\", \"mm\", \"a4\");\n pdf.addImage(this.props.base64Images.nnfo, \"JPEG\", 32, 30, 40, 30);\n pdf.setTextColor(126, 126, 126);\n pdf.setFont(\"times\");\n pdf.setFontSize(10);\n pdf.text(25, 65, \"NARFO Pty (Ltd) 2012/086864/07\");\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"times\");\n pdf.setFontSize(14);\n pdf.setFontStyle(\"bold\");\n pdf.text(122, 35, \"NARFO\");\n pdf.setFontSize(12);\n pdf.text(87, 43, \"National Association for Responsible Firearm Owners\");\n pdf.setFontStyle(\"normal\");\n pdf.setFontSize(11);\n pdf.text(137, 60, \"14 Phesante Close, Graanendal\");\n pdf.text(137, 66, \"Durbanville\");\n pdf.text(137, 72, \"7551\");\n pdf.text(137, 80, \"email: info@narfo.co.za\");\n pdf.setTextColor(0, 0, 0);\n pdf.setFontStyle(\"bold\");\n pdf.setFontSize(20);\n pdf.text(89, 80, \"Receipt\");\n pdf.line(18, 84, 190, 84);\n pdf.setFontSize(12);\n pdf.text(18, 91, \"Member No:\");\n pdf.setFontStyle(\"normal\");\n pdf.text(43, 91, `${this.props.memberDetails.memberNumber}`);\n pdf.setFontStyle(\"bold\");\n pdf.text(150, 91, \"Receipt No:\");\n pdf.setFontStyle(\"normal\");\n pdf.text(173, 91, `${this.props.accountDetails.recieptNo}`);\n pdf.line(18, 95, 190, 95);\n pdf.line(18, 96, 190, 96);\n pdf.setFontSize(11);\n pdf.text(22, 102, `${this.props.memberDetails.firstname.toUpperCase()} ${this.props.memberDetails.surname.toUpperCase()}`);\n pdf.text(22, 107, this.props.memberDetails.physicalAddress.toUpperCase());\n pdf.text(22, 112, this.props.memberDetails.city.toUpperCase());\n pdf.text(22, 117, this.props.memberDetails.province.toUpperCase());\n pdf.text(22, 122, this.props.memberDetails.postalCode.toUpperCase())\n pdf.setFontStyle(\"bold\");\n pdf.text(22, 130, \"Payment Date\");\n pdf.text(50, 130, \"Invoice No\");\n pdf.text(80, 130, \"Year\");\n pdf.text(95, 130, \"Payment Method\");\n pdf.text(135, 130, \"Transaction No\");\n pdf.text(170, 130, \"Amount\");\n pdf.line(18, 133, 190, 133);\n pdf.setFontStyle(\"normal\");\n pdf.text(22, 139, `${this.props.accountDetails.paymentDate.substring(0, 10)}`);\n pdf.text(50, 139, `${this.props.accountDetails.invoiceNo}`);\n pdf.text(80, 139, `${currAccount.year}`);\n pdf.text(95, 139, `${this.props.accountDetails.paymentMethod}`);\n pdf.text(135, 139, `${currAccount.transactionNo}`);\n pdf.text(170, 139, `R ${this.props.accountDetails.amountPaid}`);\n pdf.line(18, 143, 190, 143);\n pdf.setFontStyle(\"bold\");\n pdf.text(140, 148, \"Amount Paid\");\n pdf.text(170, 148, `R ${this.props.accountDetails.amountPaid}`);\n pdf.text(22, 155, \"Thank you for your payment\");\n pdf.addImage(this.props.base64Images.pdflogo, \"PNG\", 145, 155, 40, 40);\n pdf.line(18, 270, 190, 270);\n pdf.save(\"NARFO Fee Receipt.pdf\");\n }\n return (\n
\n
\n {\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n }}\n title={this.props.accountDetails.paymentType + \" Reciept\"}\n showDownloadButton\n text=\"Receipt\"\n downloadFunction={this.receiptDownloader}\n />\n \n down\n \n
\n
\n
\n \n \n {payViewInfo(\"Reciept No\", this.props.accountDetails.recieptNo)}\n {payViewInfo(\"Invoice No\", this.props.accountDetails.invoiceNo)}\n {payViewInfo(\n \"Payment Date\",\n this.props.accountDetails.paymentDate === null\n ? \"-\"\n : this.props.accountDetails.paymentDate.substring(0, 10)\n )}\n {payViewInfo(\"Year\", currAccount.year)}\n {payViewInfo(\"Payment Method\", this.props.accountDetails.paymentMethod)}\n {payViewInfo(\"Amount Paid\", `R ${this.props.accountDetails.amountPaid}`)}\n \n
\n
\n
\n
\n );\n }\n}\n\nPaymentView.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n base64Images: state.Base64ImagesReducer.base64Images,\n accountDetails: state.accountReducer.account,\n memberDetails: state.loginReducer.memberObject,\n accountList: state.accountReducer.accountList\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(PaymentView));\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport Avatar from \"react-avatar-edit\";\n\nexport default class AvatarProfile extends React.Component {\n constructor(props) {\n super(props);\n const src = \"./example/einshtein.jpg\";\n this.state = {\n preview: null,\n src\n };\n this.onCrop = this.onCrop.bind(this);\n this.onClose = this.onClose.bind(this);\n }\n\n onClose() {\n this.setState({ preview: null });\n }\n\n onCrop(preview) {\n this.setState({ preview });\n }\n\n render() {\n return (\n
\n \n \"Preview\"\n
\n );\n }\n}\n\nReactDOM.render(, document.getElementById(\"root\"));\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport orange from \"@material-ui/core/colors/orange\";\nimport Radio from \"@material-ui/core/Radio\";\nimport {\n BASE,\n GET_SECTION_LIST,\n GET_ACTIVITY_TYPE_LIST\n} from \"../../../API/APIendpoint\";\nimport \"w3-css/w3.css\";\n\nconst styles = {\n root: {\n color: orange[600],\n \"&$checked\": {\n color: orange[500]\n }\n },\n checked: {}\n};\n\nclass EndorsementApplicationDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Section: '',\n ActType_List: [],\n isValid: false,\n ApplicationType: '',\n isClicked: false,\n selectedSportShooting: false,\n huntingSelected: false,\n errorState: false,\n selectedSelfDefence: false\n };\n }\n\n state = {\n selectedValue: \"a\"\n };\n\n handleChecked = event => {\n this.setState({ selectedValue: event.target.value });\n };\n\n componentDidMount() {\n fetch(BASE + GET_SECTION_LIST,\n {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}` }\n })\n .then(res => res.json())\n .then(data => {\n this.setState({\n Section: data\n });\n });\n\n fetch(BASE + GET_ACTIVITY_TYPE_LIST,\n {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n )\n .then(res => res.json())\n .then(data => {\n this.setState({\n ActType_List: data\n });\n });\n this.props.onAddEndorsementDetailsChange(\"\", \"Title\")\n }\n\n handleChange = name => event => {\n this.props.onAddEndorsementDetailsChange(event.target.value, [name]);\n if(name === 'Title' && event.target.value.length !== 0){\n this.setState({\n errorState: false\n })\n } else {\n this.setState({\n errorState: true\n })\n }\n };\n\n handleChange(event) {\n this.setState({ value: event.target.value });\n }\n\n handleCkeckedOption = event => {\n this.props.onAddEndorsementDetailsChange(\n event.target.checked,\n \"DedicatedStatus\"\n );\n };\n\n componentWillMount() {\n // custom rule will have name 'isPasswordMatch'\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if (value.length <= 0) {\n return false;\n }\n return true;\n });\n\n ValidatorForm.addValidationRule(\"isSelected\", value => {\n if (value.length <= 0) {\n return false;\n }\n return true;\n });\n }\n\n handleSelectedHunting = ApplicationType => event => {\n this.props.onAddEndorsementDetailsChange(event.target.value, [\n ApplicationType\n ]);\n };\n\n onHunting = () => {\n this.props.onEndorsementApplicationTypeUpdate(\"Hunting\")\n this.setState({\n huntingSelected: true,\n selectedSportShooting: false,\n selectedSelfDefence: false\n });\n };\n selfDefence = () => {\n this.props.onEndorsementApplicationTypeUpdate(\"Self Defence\")\n this.setState({\n huntingSelected: false,\n selectedSelfDefence: true,\n selectedSportShooting: false\n });\n };\n\n onSportShooting = () => {\n this.props.onEndorsementApplicationTypeUpdate(\"Sports Person\")\n this.setState({\n selectedSportShooting: true,\n huntingSelected: false,\n selectedSelfDefence: false\n });\n };\n\n onSection13 = () => {\n this.props.onEndorsementSectionUpdate(\"Section 13\")\n this.setState({\n section13: true,\n section15: false,\n section16: false\n });\n };\n onSection15 = () => {\n this.props.onEndorsementSectionUpdate(\"Section 15\")\n this.setState({\n section13: false,\n section15: true,\n section16: false\n });\n };\n\n onSection16 = () => {\n this.props.onEndorsementSectionUpdate(\"Section 16\")\n this.setState({\n section13: false,\n section15: false,\n section16: true\n });\n };\n handleSubmit = () => {\n if(this.props.newActDetails.Title !== '' && \n this.props.newActDetails.Title !== undefined &&\n this.props.EndorsementPurpose !== '' &&\n this.props.EndorsementPurpose !== undefined &&\n this.props.EndorsementAppl.endorsementApplicationType !== '' &&\n this.props.EndorsementAppl.endorsementApplicationType !== undefined &&\n this.props.EndorsementAppl.endorsementSection !== '' &&\n this.props.EndorsementAppl.endorsementSection !== undefined){\n this.props.onCurrentEndorsementTabChange(\"2\")\n } \n }\n handleEndorsementPurposeChange = changeEvent => {\n changeEvent.preventDefault();\n this.props.onEndorsementPurposeChange(changeEvent.target.value, \"EndorsementPurpose\");\n };\n render() {\n this.props.newActDetails.MemNo = this.props.userDetails.memberNumber;\n let unclickedButton = \"btn btn-outline-dark\";\n let clickedButton = \"btn btn-warning text-white\";\n return (\n
\n {\n this.props.onCurrentEndorsementTabChange(\"0\");\n }}\n />\n\n
\n
\n
\n
\n
\n \n \n {(this.props.newActDetails.Title === '' || this.props.newActDetails.Title === undefined) ?

This can't be emplty

: null}\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
What is the purpose of the application?
\n this.handleEndorsementPurposeChange(e)}\n value=\"New Lisence\"\n />\n New Lisence\n this.handleEndorsementPurposeChange(e)}\n value=\"Renewal\"\n />\n Renewal\n
\n {(this.props.EndorsementPurpose === '' || this.props.EndorsementPurpose === undefined) ?

Please select purpose

: null}\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n Self defence\n \n
\n
\n \n Hunting\n \n
\n
\n \n Sport Shooting\n \n
\n
\n {(this.props.EndorsementAppl.endorsementApplicationType === '' || this.props.EndorsementAppl.endorsementApplicationType === undefined) ?

Please select application type

: null}\n
\n
\n \n
\n
\n
\n
\n
\n this.onSection13()}\n >\n 13\n \n
\n
\n this.onSection15()}\n >\n 15\n \n
\n
\n this.onSection16()}\n >\n 16\n \n
\n
\n {(this.props.EndorsementAppl.endorsementSection === '' || this.props.EndorsementAppl.endorsementSection === undefined) ?

Please select section

: null}\n
\n
\n
\n
\n
\n
\n
\n
\n \n Next\n \n
\n
\n
\n
\n
\n \n
\n
\n );\n }\n}\n\nEndorsementApplicationDetails.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n currentEndorsementTab: state.endorsementReducer.currentEndorsementTab,\n newActDetails: state.endorsementReducer.addEndorsementDetails,\n endorsementPurpose: state.EndorsementPurposeReducer.EndorsementPurpose,\n MemberDetails: state.MemberViewReducer.MemberView,\n userDetails: state.loginReducer.userProfileDetails,\n EndorsementPurpose: state.EndorsementPurposeReducer.EndorsementPurpose,\n EndorsementAppl: state.EndorsementApplReducer\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onAddEndorsementDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_ADD_ENDORSEMENT_DETAILS,\n varValue: value,\n varName: variableName\n }),\n onEndorsementPurposeChange: (value, vname) =>\n dispatch({\n type: actionTypes.CHANGE_ENDORSEMENT_PURPOSE,\n varValue: value,\n varName: vname\n }),\n onEndorsementSectionUpdate: endorsementSection =>\n dispatch({\n type: actionTypes.UPDATE_VALIDATE_SECTION,\n endorsementSection: endorsementSection\n }),\n onEndorsementApplicationTypeUpdate: endorsementApplicationType =>\n dispatch({\n type: actionTypes.UPDATE_VALIDATE__APPLICATION_TYPE,\n endorsementApplicationType: endorsementApplicationType\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(EndorsementApplicationDetails));\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\n\nconst styles = theme => ({\n root: {\n width: \"100%\",\n flexGrow: 1,\n borderBottom: \"1.8px solid #8c8b8a\"\n },\n grow: {\n flexGrow: 1\n },\n title: {\n fontWeight: \"bold\",\n marginLeft: 12,\n marginRight: 20\n }\n});\n\nfunction EndorsementHeaderApplication(props) {\n return (\n
\n {\n props.onCurrentEndorsementTabChange(\"0\");\n }}\n />\n
\n );\n}\n\nEndorsementHeaderApplication.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n currentEndorsementTab: state.endorsementReducer.currentEndorsementTab,\n newActDetails: state.endorsementReducer.addEndorsementDetails,\n application_post: state.endorsementReducer.application_post\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onApplicationChange: newApplication =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATION_POST,\n application: newApplication\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(EndorsementHeaderApplication));\n","import axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_SPECIFIC_USER_ENDORSEMENTS_URL, POST_ENDORSEMENTS_URL } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport EndorsementHeaderApplication from \"./EndorsementHeaderApplication\";\nimport Radio from \"@material-ui/core/Radio\";\n\nclass EndorsementApplicationDeclaration extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Posts: [],\n MemNo: props.userProfileDetails.memberNumber,\n errorState:false,\n declAccptChecked: false\n };\n }\n\n handleChange = name => event => {\n this.props.onAddEndorsementDetailsChange(event.target.value, [name]);\n };\n\n handleChange(event) {\n this.setState({ value: event.target.value });\n }\n\n handleDeclarationOption = name => event => {\n this.props.onAddEndorsementDetailsChange(event.target.checked, name);\n };\n\n handleCkeckedOption = name => event => {\n this.props.onAddEndorsementDetailsChange(event.target.checked, name);\n };\n handleDeclarationAcceptanceChecked = () => {\n this.setState({\n declAccptChecked : !this.state.declAccptChecked\n })\n }\n componentDidMount() {\n axios\n .get(\n BASE +\n GET_SPECIFIC_USER_ENDORSEMENTS_URL +\n this.props.userProfileDetails.memberNumber, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n )\n .then(res => {\n this.props.onApplicationsChange(res.data);\n this.setState({\n Posts: res.data\n });\n });\n this.setState(this.state.inter);\n }\n\n handleSubmit = e => {\n axios\n .post(`${BASE}api/EndorsementApplications/PostEndorsementApplication?endorsementPurpose=${this.props.endorsementPurpose}&endorsementType=${this.props.EndorsementAppl.endorsementApplicationType}&endorsementSection=${this.props.EndorsementAppl.endorsementSection}`, this.props.newActDetails, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n })\n .then(res => {\n this.props.onApplicationChange(res.data);\n axios\n .get(\n BASE +\n GET_SPECIFIC_USER_ENDORSEMENTS_URL +\n this.props.userProfileDetails.memberNumber, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n )\n .then(res => {\n this.props.onApplicationsChange(res.data);\n this.setState({\n Posts: res.data\n });\n });\n });\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.forceUpdate();\n };\n\n handleCkeckedOption = name => event => {\n this.props.onAddEndorsementDetailsChange(event.target.checked, name);\n };\n\n componentWillMount() {\n this.forceUpdate();\n // custom rule will have name 'isPasswordMatch'\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if (value.length <= 1) {\n return false;\n }\n return true;\n });\n }\n\n render() {\n return (\n
\n \n
\n
\n
\n
\n \n \n {this.state.errorState ?

This field can't be empty

:null}\n
\n
\n
\n
\n
\n
I hereby declare that all information in my motivation is true and accurate
\n this.handleDeclarationAcceptanceChecked()}\n />\n Yes\n
\n {!this.state.declAccptChecked ?

Please accept declaration

:null}\n
\n
\n
\n
\n
\n
\n
\n
\n this.props.onCurrentEndorsementTabChange(\"2\")}\n >\n Previous\n \n
\n
\n {\n \n if(this.props.newActDetails.Motivation!==\"\"){\n if(this.state.declAccptChecked){\n this.handleSubmit();\n axios\n .get(\n BASE +\n GET_SPECIFIC_USER_ENDORSEMENTS_URL +\n this.props.userProfileDetails.memberNumber, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n )\n .then(res => {\n this.props.onApplicationsChange(res.data);\n this.setState({\n Posts: res.data\n });\n });\n this.props.onRefreshState()\n }\n }else{this.setState({errorState:true})}\n }}\n >\n SUBMIT\n \n
\n
\n \n
\n );\n }\n}\n\nEndorsementApplicationDeclaration.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n endorsementPurpose: state.EndorsementPurposeReducer.EndorsementPurpose,\n currentEndorsementTab: state.endorsementReducer.currentEndorsementTab,\n newActDetails: state.endorsementReducer.addEndorsementDetails,\n MemberDetails: state.MemberViewReducer.MemberView,\n application: state.endorsementReducer.application,\n userProfileDetails: state.loginReducer.userProfileDetails,\n applications: state.endorsementReducer.applications,\n EndorsementAppl: state.EndorsementApplReducer\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onAddEndorsementDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_ADD_ENDORSEMENT_DETAILS,\n varValue: value,\n varName: variableName\n }),\n onApplicationsChange: newApplications =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATIONS,\n applications: newApplications\n }),\n onApplicationChange: newApplication =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATION,\n application: newApplication\n }),\n onAddEndorsementChange: (value, variableName) =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_USER_ENDORSEMENT,\n varValue: value,\n varName: variableName\n }),\n onRefreshState: () =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.RESET_APPLICATION\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(EndorsementApplicationDeclaration);\n","import React, { Component } from \"react\";\nimport ArrowBack from \"@material-ui/icons/Check\";\nimport { Button} from \"@material-ui/core\";\n\nclass EndorsementApplicationDone extends Component {\n render() {\n return (\n
\n

Thank you for applying

\n this.props.history.push(\"/MainEndorsement\")}\n style={{ fontSize: 100, color: \"#6BC20A\" }}\n />\n \n
\n
\n \n Next\n \n
\n
\n \n
\n );\n }\n}\n\nEndorsementApplicationFirearm.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n currentEndorsementTab: state.endorsementReducer.currentEndorsementTab,\n newActDetails: state.endorsementReducer.addEndorsementDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onAddEndorsementDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_ADD_ENDORSEMENT_DETAILS,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(EndorsementApplicationFirearm);\n","import { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport jsPDF from \"jspdf\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, FRONT, GET_MEMBER } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport \"../membershipCard/resizer.css\";\nimport { isMobile } from \"react-device-detect\";\nconst Cryptr = require(\"cryptr\");\nconst styles = {\n card: {\n minWidth: \"500px\"\n },\n root: {\n flex: 2,\n flexDirection: \"row\",\n borderBottom: \"1.5px solid #D8D8D8\"\n },\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20%\",\n paddingRight: \"20px\",\n color: \"black\"\n },\n content: {\n width: \"20%\",\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\"\n },\n content2: {}\n};\nclass EndorrsementApplicationView extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Posts: [],\n Certificate: [],\n encryptedMemString: \"\",\n qrCodeWithMemDet: \"\"\n };\n }\n componentDidMount() {\n const cryptr = new Cryptr(\"ewfWE@#%$rfdsefgdsf\");\n axios\n .get(BASE + \"api/Member/getMemQRCode/\" + cryptr.encrypt(this.props.userDetails.memberNumber),{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(resp => {\n const qrFinal = \"data:image/jpeg;base64,\" + resp.data.base64QRString\n this.setState({\n qrCodeWithMemDet: qrFinal\n })\n });\n this.setState({\n encryptedMemString:\n FRONT +\n \"?\" +\n cryptr.encrypt(this.props.userDetails.memberNumber)\n });\n }\n handleSubmit = e => {\n this.props.onCurrentEndorsementTabChange(\"5\");\n this.props.onAddEndorsementChange(this.props.title, \"title\");\n };\n DateFind(dated) {\n if (!dated) {\n return dated;\n }\n var date = new Date(Date.parse(dated));\n var currentDate = date;\n var dater = currentDate.getDate();\n var months = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n var month = currentDate.getMonth();\n var year = currentDate.getFullYear();\n var monthDateYear = dater + \" \" + months[month] + \" \" + year;\n\n return monthDateYear;\n }\n getStatusCode(dedicates) {\n let code;\n for (let dedicated of dedicates) {\n if (dedicated.status === \"Approved\") {\n switch (dedicated.dstype) {\n case \"Hunting\":\n if (code === 2) code = 3;\n else code = 1;\n break;\n case \"Sport Shooting\":\n if (code === 1) code = 3;\n else code = 2;\n break;\n default:\n code = -1;\n break;\n }\n }\n }\n return code;\n }\n getUserStatuses(dedicates) {\n let ds_status = null;\n if (!dedicates) {\n return ds_status;\n } else {\n var statusCode = this.getStatusCode(dedicates);\n switch (statusCode) {\n case 1:\n ds_status = \"Dedicated Hunter\";\n break;\n case 2:\n ds_status = \"Dedicated Sports Person\";\n break;\n case 3:\n ds_status = \"Hunting and Sport Shooting\";\n break;\n default:\n ds_status = \"no dedicated status\";\n break;\n }\n return ds_status;\n }\n }\n getDedicatedStatus(dedicates, Action) {\n if (!dedicates) {\n return \"no dedicated status\";\n } else {\n for (let dedicated of dedicates) {\n if (dedicated.dstype === Action && dedicated.status === \"Approved\") {\n return dedicated.dsno;\n }\n }\n return \"no dedicated status\";\n }\n }\n render() {\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n const endorsementViewInfo = (name, value) => (\n \n {name}\n {`: ${value}`}\n \n );\n const endorsementViewInfo2 = (name, value) => (\n \n {name}\n {value === \"Approved\" ?\n {`: ${value}`} :\n value === \"Rejected\" ?\n {`: ${value}`} :\n {`: ${value}`}}\n \n );\n const endorsementViewInfo3 = (name, value) => (\n \n {name}\n {!value ?\n : null :\n {`: ${value}`}}\n \n );\n const endorsementViewInfo4 = (name, value) => (\n \n {name === \"Approved\" ? Approval Date : Applied Date}\n {`: ${value}`}\n \n );\n const print = async () => {\n await fetch(BASE + GET_MEMBER + this.props.userDetails.memberNumber,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(json => {\n let pdf = new jsPDF(\"p\", \"mm\", \"a4\");\n pdf.addImage(this.state.qrCodeWithMemDet, \"JPEG\", 70, 240, 40, 35);\n pdf.addImage(this.props.base64Images.nnfo, \"JPEG\", 80, 10);\n pdf.setFont(\"times\");\n pdf.setFontSize(14);\n pdf.setFontStyle(\"bold\");\n pdf.text(\n 50,\n 55,\n \"National Association of Responsible Firearm Owners\"\n );\n pdf.setFontType(\"normal\");\n pdf.text(90, 65, \"South Africa\");\n pdf.setFontStyle(\"bold\");\n pdf.setFontSize(20);\n pdf.text(65, 75, \"Endorsement Of Motivation\");\n pdf.setFontSize(12);\n pdf.setFontType(\"normal\");\n pdf.text(\n 20,\n 85,\n \"I, the undersigned, Johann Scheffer, ID: 6509285076083, in my capacity as executive and appointed\"\n );\n pdf.text(\n 20,\n 90,\n \"responsible person of the association, hereby solemnly declare that\"\n );\n pdf.text(\n 20,\n 100,\n \"We have examined the motivation of the application for the following firearm for the purpose of\"\n );\n pdf.text(20, 105, this.props.application.applicationType)\n\n pdf.setFontStyle(\"bold\");\n pdf.text(\n 20,\n 110,\n this.props.application.fireArmType +\n \"-\" +\n this.props.application.actionType +\n \"-\" +\n this.props.application.make +\n \"-\" +\n this.props.application.model +\n \"-\" +\n this.props.application.caliber +\n \"-\" +\n this.props.application.serialNumber\n );\n pdf.setFontType(\"normal\");\n pdf.text(\n 20,\n 115,\n \"applied for under \" +\n this.props.application.section +\n \" of the Firearms Control Act and based on the information of the\"\n );\n pdf.text(\n 20,\n 120,\n \"motivation we find the firearm suitable for the stated use\"\n );\n pdf.text(20, 130, \"Member Names:\");\n pdf.text(20, 135, \"Member Number:\");\n pdf.text(20, 140, \"ID Number:\");\n pdf.text(20, 145, \"Dedicated Status:\");\n pdf.setFontStyle(\"bold\");\n pdf.text(\n 60,\n 130,\n json.members.firstname + \" \" + json.members.surname\n );\n pdf.text(60, 135, this.props.userDetails.memberNumber);\n pdf.text(60, 140, json.members.idno);\n pdf.text(60, 145, \"Dedicated Type\");\n pdf.text(105, 145, \"Status Number\");\n pdf.setFontType(\"normal\");\n pdf.text(60, 150, \"Dedicated Hunter\");\n pdf.text(60, 155, \"Dedicated Sports Person\");\n pdf.setFontStyle(\"normal\");\n pdf.text(\n 105,\n 150,\n this.getDedicatedStatus(\n json.members.dedicatedStatus,\n \"Dedicated Hunter\"\n )\n );\n pdf.text(\n 105,\n 155,\n this.getDedicatedStatus(\n json.members.dedicatedStatus,\n \"Dedicated Sports Person\"\n )\n );\n pdf.text(20, 160, \"Endorsement Number:\");\n pdf.setFontStyle(\"bold\");\n pdf.text(60, 160, this.props.application.endorsementNo);\n pdf.setFontStyle(\"normal\");\n pdf.text(20, 170, \"who is a member of the association since\");\n pdf.setFontStyle(\"bold\");\n pdf.text(91, 170, this.DateFind(json.members.inceptionDate));\n pdf.setFontStyle(\"normal\");\n pdf.text(20, 175, \"and whose membership is valid until\");\n pdf.setFontStyle(\"bold\");\n pdf.text(83, 175, this.DateFind(json.members.expiryDate));\n pdf.addImage(this.props.base64Images.pdfSign, \"JPEG\", 42, 176, 40, 25);\n pdf.addImage(this.props.base64Images.pdflogo, \"JPEG\", 125, 180, 55, 55);\n pdf.text(128, 240, \"Printed On:\");\n pdf.text(152, 240, this.DateFind(new Date()));\n pdf.text(40, 205, \"Johann Heinrich Scheffer\");\n pdf.text(45, 210, \"Executive Member\");\n pdf.text(37, 215, \"Approved on:\");\n pdf.text(\n 63,\n 215,\n this.DateFind(this.props.application.approvalDate)\n );\n pdf.setFontSize(9);\n pdf.text(35, 220, \"I declare that judgement was made based\");\n pdf.text(35, 225, \"on collective experience of the executive\");\n pdf.text(35, 230, \"team and the metarial facts provided in the\");\n pdf.text(35, 235, \"motivation submitted by the applicant\");\n pdf.addImage(this.props.base64Images.signature2, \"JPEG\", 25, 240, 30, 30);\n pdf.rect(135, 267, 55, 11);\n pdf.text(138, 252, \"Hunting Association :\");\n pdf.text(142, 257, \"Sport Shooting :\");\n pdf.setFontType(\"normal\");\n pdf.text(168, 252, \"FAR-1300135\");\n pdf.text(165, 257, \"FAR-1300134\");\n pdf.setFontSize(11);\n pdf.text(140, 274, \"SAPS Accredited Association\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(\n 20,\n 280,\n \"14 Phesante Close, Graanendal, Durbanville, 7551\"\n );\n pdf.text(20, 285, \"http://www.narfo.co.za\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(135, 285, \"NARFO Pty (Ltd) 2012/086864/07\");\n this.props.application.applicationType === \"Hunting\"\n ? pdf.save(\"Narfo Hunting Endorsement.pdf\")\n : pdf.save(\"Narfo Sport Shooting Endorsement.pdf\");\n });\n };\n return (\n
\n
\n {this.props.application.status === \"Approved\" ? (\n {\n this.props.onCurrentEndorsementTabChange(\"0\");\n }}\n showDownloadButton\n text=\"Certificate\"\n downloadFunction={print}\n />\n ) : (\n {\n this.props.onCurrentEndorsementTabChange(\"0\");\n }}\n />\n )}\n
\n {!isMobile ?\n
\n
\n \n \n {endorsementViewInfo(\"Application Title\", this.props.application.title)}\n {endorsementViewInfo(\"Endorsement No\", this.props.application.endorsementNo)}\n {endorsementViewInfo(\n \"Endorsement Type\",\n this.props.application.applicationType\n )}\n {endorsementViewInfo(\"Type of Firearm\", this.props.application.fireArmType)}\n {endorsementViewInfo(\"Action Type\", this.props.application.actionType)}\n {endorsementViewInfo(\"Make\", this.props.application.make)}\n {endorsementViewInfo(\"Serial Number\", this.props.application.serialNumber)}\n {endorsementViewInfo(\"Model\", this.props.application.model)}\n {endorsementViewInfo(\"Section\", this.props.application.section)}\n {endorsementViewInfo(\"Motivation\", this.props.application.motivation)}\n {endorsementViewInfo2(\"Status\", this.props.application.status)}\n {endorsementViewInfo3(\"Rejection Reason\", this.props.application.reason)} \n {endorsementViewInfo4(this.props.application.status, this.props.application.approvalDate.substring(0, 10))} \n \n
\n
\n
:\n
\n
\n {info(\"Application Title:\", this.props.application.title)}\n {info(\"Endorsement No:\", this.props.application.endorsementNo)}\n {info(\n \"Endorsement Type:\",\n this.props.application.applicationType\n )}\n {info(\"Type of Firearm:\", this.props.application.fireArmType)}\n {info(\"Make:\", this.props.application.make)}\n {info(\"Serial Number:\", this.props.application.serialNumber)}\n {info(\"Model:\", this.props.application.model)}\n {info(\"Section:\", this.props.application.section)}\n {info(\"Motivation:\", this.props.application.motivation)}\n
\n
Status:
\n
\n {this.props.application.status === \"Approved\" ? (\n
Approved
\n ) : this.props.application.status === \"Rejected\" ? (\n
Rejected
\n ) : (\n
Pending
\n )}\n
\n
\n
\n
Rejection Reason:
\n
\n {!this.props.application.reason ? (\n
\"null\"
\n ) : (\n this.props.application.reason\n )}\n
\n
\n
\n
\n {this.props.application.status === \"Approved\"\n ? \"Approval Date: \"\n : \"Applied Date: \"}\n
\n
\n {this.props.application.approvalDate.substring(0, 10)}\n
\n
\n
\n
}\n
\n );\n }\n}\n\nEndorrsementApplicationView.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n base64Images: state.Base64ImagesReducer.base64Images,\n application: state.endorsementReducer.application,\n certificate: state.endorsementReducer.certificate,\n MemberDetails: state.MemberViewReducer.MemberView,\n currActivityTab: state.currentEndorsementTab,\n userDetails: state.loginReducer.userProfileDetails\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onCertificateChange: viewCertificate =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CERTIFICATE,\n certificate: viewCertificate\n }),\n onApplicationChange: newApplication =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATION,\n application: newApplication\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onAddEndorsementChange: (value, variableName) =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_USER_ENDORSEMENT,\n varValue: value,\n varName: variableName\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(EndorrsementApplicationView));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport PropTypes from \"prop-types\";\nimport { BASE, GET_SPECIFIC_USER_ENDORSEMENTS_URL } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nconst styles = {\n card: {\n minWidth: \"200px\"\n },\n root: {\n flex: \"2px\",\n flexDirection: \"row\",\n borderBottom: \"1.5px solid #D8D8D8\"\n },\n title: {\n display: \"inline-block\",\n fontSize: \"15px\",\n width: \"10\",\n paddingRight: \"1px\",\n paddingLeft: \"1px\",\n color: \"black\"\n },\n\n content: {\n width: \"20%\",\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\",\n align: \"left\"\n },\n\n content1: {\n width: \"20%\",\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\",\n align: \"right\"\n },\n states: {\n color: \"#32CD32\"\n }\n};\n\nclass EndorrsementApplicationView extends Component {\n state = {};\n\n constructor(props) {\n super(props);\n this.state = {\n MemNo: props.userProfileDetails.memberNumber\n };\n }\n\n componentDidMount() {\n this.props.onCommissionTabChange(\"0\");\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n this.props.onLoyaltyDaysTabChange(\"0\");\n this.props.onCurrentLMSTabChange(0);\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n axios\n .get(\n BASE +\n GET_SPECIFIC_USER_ENDORSEMENTS_URL +\n this.props.userProfileDetails.memberNumber,\n {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n )\n .then(res => {\n this.props.onApplicationsChange(res.data);\n });\n }\n\n componentWillMount() {\n axios\n .get(\n BASE +\n GET_SPECIFIC_USER_ENDORSEMENTS_URL +\n this.props.userProfileDetails.memberNumber,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n )\n .then(res => {\n this.props.onApplicationsChange(res.data);\n });\n }\n\n render() {\n const DisplayEndorsementList = (\n
\n {this.props.applications.map((post,i) => (\n
\n {\n this.props.onCurrentEndorsementTabChange(\"5\");\n this.props.onApplicationChange(post);\n }}\n >\n
{post.title}
\n
\n {`Caliber: ${post.caliber}`}\n
\n
\n {`Make: ${post.make}`}\n
\n
\n {post.status === \"Approved\" ? (\n
Approved
\n ) : post.status === \"Rejected\" ? (\n
Rejected
\n ) : (\n
Pending
\n )}\n
\n {post.status === \"Approved\" ? \n
\n {`Approval Date: ${post.approvalDate.substring(0, 10)}`}\n
: null}\n
\n
\n ))}\n
\n );\n return (\n
\n {\n this.props.onCurrentEndorsementTabChange(\"1\");\n }}\n />\n
\n
\n You may apply for an endorsement to accompany your firearm license application. To create a new endorsement, \n click the new button and fill in the firearm details and motivate the use of the firearm. Once approved, \n you can print it out and add to it to your application.\n
\n
\n
Endorsement List
\n
\n
\n {this.props.applications.length === 0\n ?
No available endorsement applications currently
\n : DisplayEndorsementList}\n
\n );\n }\n}\n\nEndorrsementApplicationView.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n currentEndorsementTab: state.currentEndorsementTab,\n MemberDetails: state.MemberViewReducer.MemberView,\n applications: state.endorsementReducer.applications,\n userProfileDetails: state.loginReducer.userProfileDetails,\n memberState: state.loginReducer.memberState\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onApplicationChange: newApplication =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATION,\n application: newApplication\n }),\n onApplicationsChange: newApplications =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATIONS,\n applications: newApplications\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onAddEndorsementChange: (value, variableName) =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_USER_ENDORSEMENT,\n varValue: value,\n varName: variableName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(EndorrsementApplicationView));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport * as constFile from \"../../../store/constantFile/ConstFile\";\n\nconst styles = {\n card: {\n minWidth: 500\n },\n root: {\n flex: 1,\n flexDirection: \"col\",\n borderBottom: \"1.5px solid #D8D8D8\"\n },\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20%\",\n paddingRight: 20,\n paddingLeft: 20,\n color: \"black\"\n },\n content: {\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\"\n }\n};\n\nclass License extends Component {\n handleSubmit = e => {\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.custom,\n \"Custom\"\n );\n if (this.props.licenceArray.custom === constFile.CTRUE) {\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.licenseName,\n \"LicenseName\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.model,\n \"Model\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.description,\n \"Description\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.licenseNo,\n \"LicenseNo\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.code,\n \"Code\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.serialNumber,\n \"SerialNumber\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.firstIssueDate,\n \"FirstIssueDate\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.issueDate,\n \"IssueDate\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.expiryDate,\n \"ExpiryDate\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.issued,\n \"Issued\"\n );\n } else if (this.props.licenceArray.custom === constFile.CFALSE) {\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.firearm,\n \"Firearm\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.licenseNo,\n \"LicenseNo\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.make,\n \"Make\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.model,\n \"Model\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.caliber,\n \"Caliber\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.serialNumber,\n \"SerialNumber\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.licenseType,\n \"LicenseType\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.section,\n \"Section\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.expiryDate,\n \"ExpiryDate\"\n );\n this.props.onAddLicenseDetailsChange(\n this.props.licenceArray.issueDate,\n \"IssueDate\"\n );\n }\n this.props.onCurrentLicenseTabChange(\"5\", \"currentLicenseTab\");\n };\n render() {\n return (\n
\n {this.props.licenceArray.custom === constFile.CFALSE ? (\n
this.handleSubmit(e)} style={{ cursor: \"pointer\" }}>\n
{`Firearm: ${this.props.licenceArray.firearm}`}
\n
{`License No.: ${this.props.licenceArray.licenseNo}`}
\n
{`Expiry Date: ${this.props.licenceArray.expiryDate.substring(0, 10)}`}
\n
{`Renewal Days Left: ${this.props.licenceArray.remainingDays}`}
\n
\n ) : (\n
this.handleSubmit(e)} style={{ cursor: \"pointer\" }}>\n
{`Name: ${this.props.licenceArray.licenseName}`}
\n
{`License No.: ${this.props.licenceArray.licenseNo}`}
\n
{`Expiry Date: ${this.props.licenceArray.expiryDate.substring(0, 10)}`}
\n
{`Renewal Days Left: ${this.props.licenceArray.remainingDays}`}
\n
\n )}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n currLicenseTab: state.licensesReducer.currentLicenseTab\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onAddLicenseDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_LICENCE,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(License));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_SPEC_LIST } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport License from \"./License\";\nimport jsPDF from \"jspdf\";\nimport \"jspdf-autotable\";\nconst styles = {\n root: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"80vh\",\n overflow: \"auto\"\n }\n};\nconst UserStatus = Object.freeze({ 1: \"Approved\", 2: \"Pending\", 3: \"Rejected\", 4: \"Renewing\" })\nclass LicensedFireArms extends Component {\n constructor(props) {\n super(props);\n this.state = {\n interval: null,\n narfoLogo: \"\",\n _dss: \"\",\n _dhs: \"\"\n };\n this.toPDF = React.createRef();\n }\n componentDidMount() {\n axios({\n url: `${BASE}api/DedicatedStatus/approvedDS/${this.props.memberDetails.memberNumber}`,\n method: 'get',\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n res.data.forEach(element =>{\n if(element.dstype === \"Dedicated Sports Person\"){\n this.setState({\n _dss: element.dsno\n })\n }\n if(element.dstype === \"Dedicated Hunter\"){\n this.setState({\n _dhs: element.dsno\n })\n }\n })\n })\n .catch(function (error) { });\n this.props.onCommissionTabChange(\"0\");\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n this.props.onLoyaltyDaysTabChange(\"0\");\n this.props.onCurrentLMSTabChange(0);\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n axios\n .get(\n BASE +\n GET_SPEC_LIST +\n (this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userDetails.memberNumber)\n , {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }\n )\n .then(res => {\n var licenses = res.data;\n this.props.onUserLicenseChange(licenses);\n });\n }\n componentWillUnmount() {\n clearInterval(this.state.interval);\n }\n pdfDownloader() {\n this.toPDF.current.click();\n }\n render() {\n const licences = this.props.LicenceList;\n const tableArray = numIterator => [\n !licences[numIterator].licenseNo\n ? \"null\"\n : licences[numIterator].licenseNo.toString(),\n !licences[numIterator].serialNumber || licences[numIterator].serialNumber.toString().substring(0, 3) === \"CSN\"\n ? \"null\"\n : licences[numIterator].serialNumber.toString(),\n !licences[numIterator].firearm\n ? \"null\"\n : licences[numIterator].firearm.toString(),\n !licences[numIterator].caliber\n ? \"null\"\n : licences[numIterator].caliber.toString(),\n !licences[numIterator].make\n ? \"null\"\n : licences[numIterator].make.toString(),\n !licences[numIterator].model || licences[numIterator].model.toString() === \"000000\"\n ? \"null\"\n : licences[numIterator].model.toString(),\n !licences[numIterator].section\n ? \"null\"\n : licences[numIterator].section.toString(),\n !licences[numIterator].issueDate\n ? \"null\"\n : licences[numIterator].issueDate.toString().substring(0, 10),\n !licences[numIterator].expiryDate\n ? \"null\"\n : licences[numIterator].expiryDate.toString().substring(0, 10)\n ];\n const print = () => {\n const pdf = new jsPDF(\"l\", \"mm\", [310, 210]);\n pdf.autoTable({ html: \".table\" });\n let finalY = pdf.previousAutoTable.finalY;\n var arr = [];\n let count = 0;\n let sum = licences.length;\n while (sum !== 0) {\n arr.push(tableArray(count));\n count++;\n sum--;\n }\n pdf.addImage(this.props.base64Images.nnfo, \"JPEG\", 13, 15);\n pdf.setTextColor(126, 126, 126);\n pdf.setFont(\"times\");\n pdf.setFontSize(10);\n pdf.text(15, 60, \"NARFO Pty (Ltd) 2012/086864/07\");\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"times\");\n pdf.setFontSize(14);\n pdf.setFontStyle(\"bold\");\n pdf.text(100, 18, \"National Association of Responsible Firearm Owners\");\n pdf.text(140, 25, \"of South Africa\");\n pdf.setFontStyle(\"normal\");\n pdf.line(70, 30, 295, 30);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(10);\n pdf.setFontType(\"italic\");\n pdf.text(90, 37, \"SAPS Accredited Association\");\n pdf.setFontType(\"normal\");\n pdf.text(75, 45, \"Hunting Association\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(115, 45, \"FAR-1300135\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(75, 51, \"Sport Shooting\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(115, 51, \"FAR-1300134\");\n pdf.text(75, 57, \"http://www.narfo.co.za\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(115, 57, \"Email:\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(125, 57, \"info@narfo.co.za\");\n pdf.line(70, 62, 295, 62);\n pdf.setFontSize(8);\n pdf.setTextColor(126, 126, 126);\n pdf.text(164, 37, \"14 Phesante Close, Graanendal\");\n pdf.text(164, 41, \"Durbanville\");\n pdf.text(164, 45, \"7551\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(220, 37, `${this.props.memberDetails.firstname.toUpperCase()} ${this.props.memberDetails.surname.toUpperCase()}`);\n pdf.text(220, 41, `IDENTITY NUMBER: ${this.props.memberDetails.idno.toUpperCase()}`);\n pdf.text(220, 45, `MEMBER NUMBER: ${this.props.memberDetails.memberNumber.toUpperCase()}`);\n pdf.text(220, 49, `MEMBER STATUS: ${UserStatus[this.props.memberDetails.userStatus].toUpperCase()}`);\n if(this.state._dhs !== \"\" && this.state._dss !== \"\") {\n pdf.text(220, 53, `DEDICATED HUNTER NUMBER: ${this.state._dhs}`);\n pdf.text(220, 57, `DEDICATED SPORTS PERSON NUMBER: ${this.state._dss}`);\n }\n if(this.state._dhs !== \"\" && this.state._dss === \"\") {\n pdf.text(220, 53, `DEDICATED HUNTER NUMBER: ${this.state._dhs}`);\n }\n if(this.state._dhs === \"\" && this.state._dss !== \"\") {\n pdf.text(220, 53, `DEDICATED SPORTS PERSON NUMBER: ${this.state._dss}`);\n }\n pdf.setFontStyle(\"bold\");\n pdf.setFontSize(20);\n pdf.text(115, 70, \"Member Firearm Licenses\");\n pdf.setFontStyle(\"normal\");\n pdf.autoTable({\n startY: finalY + 60,\n head: [\n [\n \"License Number\",\n \"Serial Number\",\n \"Firearm\",\n \"Caliber\",\n \"Make\",\n \"Model\",\n \"Section\",\n \"Issue Date\",\n \"Expiry Date\"\n ]\n ],\n body: arr.filter(a => {\n return a;\n })\n });\n pdf.save(\"Licenses.pdf\");\n };\n return (\n
\n
\n this.pdfDownloader()}\n showFilledAddButton\n text=\"Licenses PDF\"\n showFilledAddButton\n addFunction={() => {\n this.props.onCurrentLicenseTabChange(\"4\", \"currentLicenseTab\");\n }}\n />\n \n
\n
\n
\n Please note that it remains the responsibility of each member to timeously \n renew their firearm license in accordance with the Firearms Control Act 60 of 2000\n and the Regulations. The system was designed to send you a reminder email at 120 days \n before the expiry of the specific license. NARFO does not take any responsibility for \n any reminder that the member failed to receive or a failure of the system.\n
\n
\n
Firearm License Reminder List
\n
\n
\n
\n {this.props.LicenceList.length > 0 ? (\n this.props.LicenceList.map((licence, index) => (\n \n ))\n ) : (\n

Licenses not yet logged...

\n )}\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n base64Images: state.Base64ImagesReducer.base64Images,\n licenceDetails: state.licensesReducer.licence,\n LicenceList: state.licensesReducer.LicenceList,\n userDetails: state.loginReducer.userProfileDetails,\n MemberV: state.MemberViewReducer.MemberView,\n memberState: state.loginReducer.memberState,\n memberDetails: state.loginReducer.memberObject\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({\n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB,\n currentLoyaltyDaysTab: pageNum\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onUserLicenseChange: newUserLicensesArray =>\n dispatch({\n type: actionTypes.UPDATE_LICENCE_LIST,\n payload: newUserLicensesArray\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(LicensedFireArms));\n","import Checkbox from \"@material-ui/core/Checkbox\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Input from \"@material-ui/core/Input\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport Visibility from \"@material-ui/icons/Visibility\";\nimport VisibilityOff from \"@material-ui/icons/VisibilityOff\";\nimport axios from \"axios\";\nimport JWT from \"jwt-decode\";\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { ValidatorForm } from \"react-material-ui-form-validator\";\nimport { connect } from \"react-redux\";\nimport { Link, withRouter } from \"react-router-dom\";\nimport { BASE, GET_LOGGED_IN_MEMBER, LOGIN_URL } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\n\nclass MainLogin extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n submitted: false,\n members: [],\n occupation: \"\",\n isChecked: false,\n redirect: false,\n isValid: false,\n showPassword: false,\n passwordIsMasked: true,\n isErrorLogin: false\n };\n\n this.handleChecked = this.handleChecked.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentWillUnmount() {\n window.history.forward(1);\n this.props.onResetPassDetailsChange(\"\", \"email\");\n this.props.onResetPassDetailsChange(\"\", \"identityNumber\");\n }\n\n handleChecked() {\n this.setState({ isChecked: !this.state.isChecked });\n }\n\n handleSubmit() {\n this.setState({\n isErrorLogin: false\n })\n const user = {\n email: this.props.loginDetails.email,\n userName: this.props.loginDetails.userName,\n password: this.props.loginDetails.password\n };\n\n const loginURL = BASE + LOGIN_URL;\n axios.post(loginURL, user).then(res => {\n if (this.state.isChecked) {\n localStorage.setItem(\"tokenKey\", res.data.token);\n } else {\n sessionStorage.setItem(\"tokenKey\", res.data.token);\n }\n if (res.status !== 200) {\n this.setState({\n isErrorLogin: true\n })\n }\n var decode = JWT(res.data.token);\n this.props.onUserDetailsChange(decode.email, \"email\");\n this.props.onUserDetailsChange(decode.sub, \"username\");\n this.props.onUserDetailsChange(decode.azp, \"cellNo\");\n this.props.onUserDetailsChange(decode.acr, \"physicalAddress\");\n this.props.onUserDetailsChange(decode.sid, \"city\");\n this.props.onUserDetailsChange(decode.nonce, \"postalCode\");\n this.props.onUserDetailsChange(decode.amr, \"memberNumber\");\n this.props.onUserDetailsChange(decode.nbf, \"occupation\");\n this.props.onUserDetailsChange(decode.prn, \"expiryDate\");\n this.props.onUserDetailsChange(decode.nameid === \"True\", \"adminLevel\");\n this.props.onUserDetailsChange(true, \"isLoggedIn\");\n this.props.history.push(\"/MembersArea\");\n axios.get(BASE + \"api/LoyaltyDaysAdjust/getLoyaltyDays/\" + res.data.memNo,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(resp => {\n this.props.onLoyaltyDaysGet(resp.data.daysList)\n this.props.onLoyaltyDaysArrayRecordGet(resp.data.daysHistory.result.value.daysRecordObject)\n this.props.onLoyaltyDaysRecordGet(resp.data.daysAdded.value.daysObject)\n })\n axios\n .get(\n BASE +\n GET_LOGGED_IN_MEMBER +\n this.props.userProfileDetails.memberNumber,\n {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n )\n .then(res => {\n this.props.onGetLoggedInMemberChange(res.data.member);\n this.props.onMemberActiveStatusChange(res.data.dedicatedStatus);\n\n sessionStorage.setItem(\"member\", JSON.stringify(res.data.member));\n sessionStorage.setItem(\n \"activeStatus\",\n JSON.stringify(res.data.dedicatedStatus)\n );\n sessionStorage.setItem(\"reload\", \"true\");\n })\n })\n // .then(\n // axios({\n // url: BASE + \"api/AutomatedEmail/SendLoginEamil\",\n // method: \"post\",\n // data: {\n // toEmail: this.props.memberDetails.email,\n // firstname: this.props.memberDetails.firstname,\n // surname: this.props.memberDetails.surname\n // }\n // })\n // )\n // .catch(error => {\n // this.setState({\n // isErrorLogin: true\n // })\n // })\n }\n\n handleClickShowPassword = () => {\n this.setState(state => ({ showPassword: !state.showPassword }));\n };\n\n render() {\n return (\n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n \n \n this.props.onLoginDetailsChange(\n event.target.value,\n \"email\"\n )\n }\n name=\"email\"\n value={this.props.loginDetails.email}\n validators={[\"required\", \"isEmail\"]}\n errormessages={[\n \"this field is required\",\n \"email is not valid\"\n ]}\n />\n
\n
\n \n \n this.props.onLoginDetailsChange(\n event.target.value,\n \"password\"\n )\n }\n endAdornment={\n \n \n {this.state.showPassword ? (\n \n ) : (\n \n )}\n \n \n }\n />\n
\n {this.state.isErrorLogin ?\n
\n Failed to login your details are incorrect\n
: null\n }\n
\n
\n \n Log In\n \n
\n
\n
\n \n
\n Forgot your password?\n
\n
\n \n
\n
\n
\n
\n
\n );\n }\n}\n\nMainLogin.propTypes = {\n userProfileDetails: PropTypes.object.isRequired,\n loginDetails: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails,\n loginDetails: state.loginReducer.loginDetails,\n memberDetails: state.MemberViewReducer.getLoggedInMember\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onResetPassDetailsChange: (value, vname) => dispatch({ type: actionTypes.UPDATE_RESET_DETAILS, varValue: value, varName: vname }),\n onLoyaltyDaysRecordGet: record =>\n dispatch({ \n type: actionTypes.GET_MEM_LOYALTY_RECORD, \n loyaltyRecord: record \n }),\n onLoyaltyDaysArrayRecordGet: aRecord =>\n dispatch({ \n type: actionTypes.GET_LOYALTY_DAYS_ARRAY, \n loyaltyRecordArray: aRecord \n }),\n onGetLoggedInMemberChange: newGetLoggedInMember =>\n dispatch({\n type: actionTypes.UPDATE_GET_LOGGED_IN_MEMBER,\n getLoggedInMember: newGetLoggedInMember\n }),\n onMemberActiveStatusChange: newActiveStatus =>\n dispatch({\n type: actionTypes.UPDATE_ACTIVE_STATUS,\n activeStatus: newActiveStatus\n }),\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n }),\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname\n }),\n onLoginDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_LOGIN_DETAILS,\n varValue: value,\n varName: vname\n }),\n onMainDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MAIN_DETAILS,\n varValue: value,\n varName: vname\n }),\n onLoyaltyDaysGet: loyaltyDaysObject =>\n dispatch({\n type:actionTypes.GET_LOYALTY_DAYS,\n loyaltyDaysObject: loyaltyDaysObject\n }),\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withRouter(MainLogin));\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport MainLogin from \"./MainLogin\";\n\nclass LoginHandler extends Component {\n render() {\n return (\n
\n \n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails\n };\n};\n\nexport default connect(\n mapStateToProps,\n null\n)(LoginHandler);\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport \"./styles.css\";\nimport { withStyles,ThemeProvider,createTheme, responsiveFontSizes } from '@material-ui/core/styles';\nimport { Link } from \"react-router-dom\";\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport axios from 'axios';\nimport { BASE, FRONT } from '../../API/APIendpoint';\nimport { \n\tButton, Grid, Typography, Avatar, FormControl, TextField\n } from '@material-ui/core';\nimport { toast } from 'react-toastify';\nimport LockOpenSharpIcon from '@material-ui/icons/LockOpenSharp';\n\nimport UpdateSharpIcon from '@material-ui/icons/UpdateSharp';\n\ntoast.configure();\n\nlet theme = createTheme();\ntheme = responsiveFontSizes(theme);\n\nconst styles = (theme) => ({\n textField: {\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1),\n },\n paper: {\n marginTop: theme.spacing(8),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n avatar: {\n margin: theme.spacing(3),\n backgroundColor: theme.palette.primary.main,\n },\n form: {\n width: '100%',\n marginTop: theme.spacing(1),\n },\n submit: {\n margin: theme.spacing(4, 0, 4),\n },\n linkFont: {\n fontSize: '0.8rem',\n marginTop:'1.0em'\n },\n errorPadding: {\n padding: theme.spacing(2)\n },\n });\n\nclass ResetPassword extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isActive: false,\n _invalidEmail: \"\",\n };\n }\n checkEmailAndReset = e => {\n this.setState({isActive: !this.state.isActive, _invalidEmail:\"\"})\n \n e.preventDefault();\n axios({\n url: `${BASE}api/Member/post/reset?_url=${FRONT}`,\n method: \"post\",\n data: {\n Email: this.props.resetPassDetails.email\n }\n }).then(res => {\n if(res.data.status === \"success\"){\n this.setState({isActive: !this.state.isActive})\n window.location = '/Login/Response';\n } else {\n // toast.error(res.data.field)\n\n this.setState({_invalidEmail:res.data.field,isActive: !this.state.isActive})\n }\n })\n }\n activateButton = () => {\n this.setState({isActive: true})\n }\n deactivateButton = () => {\n this.setState({isActive: false})\n }\n render() {\n const {classes} = this.props;\n return (\n //
original \n
\n {/* New look */}\n \n \n
\n \n \n \n \n \n Reset Password\n \n\n \n Enter the email address associated with your account and we'll send you a link to reset your password\n \n\n
\n\n\n 0}\n variant=\"outlined\"\n InputLabelProps={{\n shrink: true,\n }}\n helperText={this.state._invalidEmail}\n\n onInput={a => {\n this.props.onResetPassDetailsChange(a.target.value, \"email\")\n }}\n />\n {/* */}\n \n
\n \n
\n\n \n\n \n \n \n \n \n \n\n
\n
\n
\n
\n );\n }\n}\n\nResetPassword.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nconst mapStateToProps = state => {\n return {\n resetPassDetails: state.loginReducer.resetPassDetails,\n recatchaKey: state.RecaptchaKeyReducer\n };\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onResetPassDetailsChange: (value, vname) => dispatch({ type: actionTypes.UPDATE_RESET_DETAILS, varValue: value, varName: vname })\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ResetPassword));","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Route, withRouter } from \"react-router-dom\";\nimport axios from \"axios\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { CssBaseline, Grid, Typography,} from \"@material-ui/core\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport { BASE, NEW_PASSWORD_URL } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { Form } from \"react-bootstrap\";\nimport JWT from \"jwt-decode\";\nimport Visibility from \"@material-ui/icons/Visibility\";\nimport VisibilityOff from \"@material-ui/icons/VisibilityOff\";\nimport Input from \"@material-ui/core/Input\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport { toast } from 'react-toastify';\ntoast.configure();\nconst styles = theme => ({\n root: {\n ...theme.mixins.gutters(),\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n flex: 6,\n height: \"100vh\"\n },\n paper: {\n marginTop: theme.spacing(8),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n main: {\n width: \"auto\",\n display: \"block\",\n marginLeft: theme.spacing.unit * 3,\n marginRight: theme.spacing.unit * 3,\n [theme.breakpoints.up(400 + theme.spacing.unit * 3 * 2)]: {\n width: 400,\n marginLeft: \"auto\",\n marginRight: \"auto\"\n }\n },\n form: {\n width: \"100%\",\n marginTop: theme.spacing.unit\n },\n submit: {\n marginTop: theme.spacing.unit * 3\n }\n});\n\nclass ResetRedirect extends Component {\n constructor(props) {\n super(props);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.state = {\n applyClicked: false,\n newPassword: null,\n newPasswordConfirmation: null,\n showPasswordNew: false,\n showPasswordConfirm: false,\n _invalidNewPassword: \"\",\n _invalidConfirmPassword: \"\",\n validatePasswordTester: /(?=^.{6,15}$)(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+}{":;'?/>.<,])(?!.*\\s).*$/\n };\n }\n \n handleSubmit = () => {\n var decode = JWT(this.props.snippedUrl);\n const user = {\n email: decode.email,\n password: this.props.resetPassDetails.password,\n confirmPassword: this.props.resetPassDetails.confirmPassword\n };\n\n const newPasswordURL = BASE + NEW_PASSWORD_URL;\n if (user.password === user.confirmPassword) {\n axios({\n url: newPasswordURL,\n data: user,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n if (res.data.status === \"Password changed\") {\n toast.success(\"Password Reset Success!\");\n setTimeout(() => {\n this.props.history.push(\"/index.html\")\n window.location.reload();\n }, 2000);\n } else {\n toast.error(`${user.email} does not exist!`);\n }\n });\n } else {\n toast.error(\"Password do not match\");\n }\n }\n handleClickShowPasswordNew = () => {\n this.setState(state => ({ showPasswordNew: !state.showPasswordNew }));\n };\n handleClickShowPasswordConfirm = () => {\n this.setState(state => ({ showPasswordConfirm: !state.showPasswordConfirm }));\n };\n changePasswordConfirm = async () => {\n if(!(this.state.validatePasswordTester.test(this.props.resetPassDetails.password)))\n this.setState({_invalidNewPassword: \"Password expects 1 small-case letter, 1 Capital letter, 1 digit, 1 special character and the length should be between 6-15 characters\"});\n if(!(this.state.validatePasswordTester.test(this.props.resetPassDetails.confirmPassword)))\n this.setState({_invalidConfirmPassword: \"Password expects 1 small-case letter, 1 Capital letter, 1 digit, 1 special character and the length should be between 6-15 characters\"});\n else {\n this.handleSubmit();\n }\n }\n render() {\n {/* */}\n const { classes } = this.props;\n return (\n
\n\n\n\n
\n \n {/* */}\n

Reset Password

\n

\n
Please choose a new password
\n

\n
\n \n \n this.props.onResetPassDetailsChange(\n event.target.value,\n \"password\"\n )\n }\n endAdornment={\n \n \n {this.state.showPasswordNew ? (\n \n ) : (\n \n )}\n \n \n }\n />\n {!(this.state.validatePasswordTester.test(this.props.resetPassDetails.password)) ? \n
{this.state._invalidNewPassword}
: null}\n \n \n this.props.onResetPassDetailsChange(\n event.target.value,\n \"confirmPassword\"\n )\n }\n endAdornment={\n \n \n {this.state.showPasswordConfirm ? (\n \n ) : (\n \n )}\n \n \n }\n />\n {!(this.state.validatePasswordTester.test(this.props.resetPassDetails.confirmPassword)) ? \n
{this.state._invalidConfirmPassword}
: null}\n
\n \n
\n \n
\n
\n
\n\n
\n\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n resetPassDetails: state.loginReducer.resetPassDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onResetPassDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_RESET_DETAILS,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(ResetRedirect)));\n","import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { CssBaseline } from '@material-ui/core';\nimport { connect } from 'react-redux';\nimport axios from 'axios';\nimport {BASE,RESET_URL} from '../../API/APIendpoint';\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport {\n\tCard,\n\tCardContent,\n\tDivider,\n\tGrid,\n\tTypography\n } from '@material-ui/core';\n\nclass ResetResponse extends Component {\n render() {\n return (\n\t\t\n\t\t\t\n\t\t\t\tPassword Reset\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tAn email has been sent to \n\t\t\t\t\t
{this.props.resetPassDetails.email}
\n\t\t\t\t\tto reset password\n\t\t\t\t
\n\t\t\t
\n\t\t
\n )\n }\n}\n\nconst mapStateToProps = state => {\n return {\n resetPassDetails: state.loginReducer.resetPassDetails\n };\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onResetPassDetailsChange: (value,vname) => dispatch({type: actionTypes.UPDATE_RESET_DETAILS, varValue:value, varName:vname})\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ResetResponse);","import React, { Component } from \"react\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport \"../editMemberDetails/profile.css\";\n\nconst styles = {\n root: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"80%\",\n overflow: \"auto\"\n },\n content: {\n width: \"100%\",\n height: \"80%\",\n border: \"0px\"\n }\n};\n\nclass AdminNewsCard extends Component {\n handleSubmit = e => {\n this.props.onArticleChange(1, \"currentNewsTab\");\n };\n\n render() {\n const { article, checked, toggleCheck, updateSelectedArticle } = this.props;\n return (\n
\n
\n updateSelectedArticle(e)}\n />\n
\n
\n
\n
\n {article.title}\n
\n
\n \n
\n
\n
\n
\n
\n );\n }\n}\nAdminNewsCard.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n oneArticle: state.articlesReducer.article\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onArticleChange: newArticle =>\n dispatch({\n type: actionTypes.UPDATE_ARTICLE,\n article: newArticle\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(AdminNewsCard));\n","import React, { Component } from \"react\";\nimport AdminNewsCard from \"./AdminNewsCard\";\nimport { ARTICLE_URL } from \"../../API/APIendpoint\";\nimport Axios from \"axios\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport PropTypes from \"prop-types\";\n\nconst styles = {\n root: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"80%\",\n overflow: \"auto\"\n }\n};\nclass AdminHome extends Component {\n componentDidMount() {\n Axios.get(BASE + ARTICLE_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n const article = res.data;\n this.props.onArticlesChange(article);\n });\n }\n\n render() {\n return (\n
\n {this.props.articleList.map((article, index) => (\n \n ))}\n
\n );\n }\n}\nAdminHome.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n oneArticle: state.articlesReducer.article,\n articleList: state.articlesReducer.articles\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onArticleChange: newArticle =>\n dispatch({\n type: actionTypes.UPDATE_ARTICLE,\n article: newArticle\n }),\n onArticlesChange: newArticles =>\n dispatch({\n type: actionTypes.UPDATE_ARTICLES,\n articles: newArticles\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(AdminHome));\n","/**TO-DO\n * Update Receipt Number\n * Update Pending Status\n */\n\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport GenericHeader from \"../../utils/GenericHeader\";\n\nexport class Payment extends Component {\n render() {\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n return (\n
\n
\n this.props.onCurrAccountViewTabChange(0)}\n />\n
\n\n {info(\"Member No:\", this.props.MemberV.memNo)}\n {info(\"Receipt Number:\", this.props.recentAccountEntry.recieptNumber)}\n {info(\"Invoice Number:\", this.props.recentAccountEntry.invoiceNumber)}\n {info(\n \"Payment Date:\",\n this.props.recentAccountEntry.paymentDate.substring(0, 10)\n )}\n {info(\"Year:\", this.props.recentAccountEntry.year)}\n {info(\"Payment Method:\", this.props.recentAccountEntry.paymentMethod)}\n {info(\"Amount Paid:\", `R ${this.props.recentAccountEntry.amountPaid}`)}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n userDetails: state.loginReducer.userProfileDetails,\n MemberV: state.MemberViewReducer.MemberView,\n recentAccountEntry: state.accountReducer.recentAccountEntry\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrAccountViewTabChange: newCurrAccountViewTab =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ACCOUNT_VIEW_TAB,\n currAccountViewTab: newCurrAccountViewTab\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(Payment);\n","import { withStyles } from \"@material-ui/core/styles\";\nimport DateRange from \"@material-ui/icons/DateRange\";\nimport Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { Form, InputGroup, Row, Col, Container,Button } from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport { toast } from 'react-toastify';\nimport { getCurrentDate } from \"../adminPortal/Approvals/ApproveDashboardEndors\"\ntoast.configure();\nconst styles = {};\nconst UserStatus = Object.freeze({ 1: \"Approved\", 2: \"Pending\", 3: \"Rejected\", 4: \"Renewing\" })\nclass EditUserDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n ExpiryDate: \"\",\n memberStatus: \"\",\n\n //new fields\n idNumber: this.props.MemberV.idno,\n firstname: this.props.MemberV.firstname,\n surname: this.props.MemberV.surname,\n email: this.props.MemberV.email,\n cellNo: this.props.MemberV.cellNo,\n inceptionDate: this.props.MemberV.inceptionDate,\n isResetPassword: false,\n newPassword: '',\n _memStatus: UserStatus[this.props.MemberV.status]\n };\n }\n\n updateMemberDetails = e => {\n \n let userInfo = {\n idno: this.state.idNumber,\n firstname: this.state.firstname,\n surname: this.state.surname,\n email: this.state.email,\n cellNo: this.state.cellNo,\n inceptionDate: this.state.inceptionDate,\n memNo: this.props.MemberV.memNo\n }\n\n this.props.updateMemberDetails(userInfo);\n }\n\n resetMemberPassword = e => {\n \n let ResetPassword = {\n memberNumber: this.props.MemberV.memNo,\n newPassword: this.state.newPassword,\n currentPassword: localStorage.getItem(\"memNo\")\n }\n\n Axios({\n url: BASE + \"api/Member/ResetMemberPassword\" ,\n data: ResetPassword,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n toast.success(res.data.message)\n //Reset state\n this.setState({newPassword:'',isResetPassword: false});\n });\n }\n\n render() {\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n return (\n \n\n \n {info(\"First Names\", \n {\n this.setState({\n firstname: a.target.value\n });\n }}\n />\n )}\n\n {info(\"Last Name\", \n {\n this.setState({\n surname: a.target.value\n });\n }}\n />\n )}\n \n\n \n {info(\"ID Number\", \n {\n this.setState({\n idNumber: a.target.value\n });\n }}\n />\n )}\n {info(\"Email\", \n {\n this.setState({\n email: a.target.value\n });\n }}\n />\n )}\n \n\n \n \n {info(\"Cell Number\", \n {\n this.setState({\n cellNo: a.target.value\n });\n }}\n />\n )}\n\n \n\n\n\n
Inceptive Date ({this.state.inceptionDate})
\n \n \n \n \n \n \n {\n this.setState({\n inceptionDate: a.target.value\n });\n }}\n />\n \n\n {this.state.isResetPassword && \n {info(\"New password\", \n {\n this.setState({\n newPassword: a.target.value\n });\n }}\n />\n )}\n {info(
, \n \n )}\n
}\n\n\n {!this.state.isResetPassword && \n \n \n \n \n \n \n \n }\n\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n userDetails: state.loginReducer.userProfileDetails,\n MemberV: state.MemberViewReducer.MemberView\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onMemberStateChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_STATE,\n varName: vname,\n varValue: value\n }),\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname\n }),\n\n onMemberViewChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(EditUserDetails));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport DateRange from \"@material-ui/icons/DateRange\";\nimport Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { Form, InputGroup } from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport { toast } from \"react-toastify\";\nimport { getCurrentDate } from \"../adminPortal/Approvals/ApproveDashboardEndors\";\nimport EditUserDetails from \"./EditUserDetails\";\ntoast.configure();\nconst styles = {};\nconst UserStatus = Object.freeze({\n 1: \"Approved\",\n 2: \"Pending\",\n 3: \"Rejected\",\n 4: \"Renewing\",\n});\nclass ViewUserDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n ExpiryDate: \"\",\n salesPerson: \"\",\n memberStatus: \"\",\n rejectionReason: null,\n rejectionDate: getCurrentDate(),\n _memStatus: UserStatus[this.props.MemberV.status],\n isEdit: false,\n };\n }\n componentWillMount() {\n\n this.props.onMemberStateChange(true, \"isAdminMemView\");\n this.props.onCommissionTabChange(\"0\");\n Axios.get(\n BASE + \"api/admin/getsalesPerson/\" + this.props.MemberV.salesReps,\n {\n headers: {\n \"Content-type\": \"application/json\",\n Authorization: `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n },\n }\n ).then((res) => this.setState({ salesPerson: res.data }));\n\n }\n updateUserDate = (e) => {\n const MemNo = this.props.MemberV.memNo;\n Axios({\n url: BASE + \"api/Member/expiryDate/\" + MemNo,\n data: {\n expiryDate: e.currentTarget.value,\n },\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n Authorization: `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n },\n }).then((res) => {\n toast.success(res.data.message);\n this.setState({\n ExpiryDate: res.data.expiryDate,\n });\n });\n };\n updateMemberStatus = (e) => {\n e.preventDefault();\n const info = {\n memNo: this.props.MemberV.memNo,\n status: this.state.memberStatus,\n rejectionReason: this.state.rejectionReason,\n rejectionDate: this.state.rejectionDate,\n };\n Axios({\n url: `${BASE}api/MemberStatus`,\n data: info,\n method: \"post\",\n headers: {\n Authorization: `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n },\n }).then((res) => {\n toast.success(res.data.message);\n this.setState({\n ExpiryDate: res.data.updatedMember.expiryDate.split(\"T\")[0],\n _memStatus: UserStatus[res.data.updatedMember.status],\n memberStatus: \"\",\n });\n });\n };\n\n updateMemberDetails = (userData) => {\n Axios({\n url: `${BASE}api/Member/adminUpdateMemberDetails`,\n data: userData,\n method: \"post\",\n headers: {\n Authorization: `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n },\n }).then((res) => {\n toast.success(res.data.message);\n\n this.setState({ isEdit: false });\n });\n };\n\n backFunction = () => {\n this.setState({ isEdit: false });\n };\n\n editFunction = () => {\n this.setState({ isEdit: true });\n };\n\n render() {\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n return (\n
\n {!this.state.isEdit ? (\n <>\n \n\n {info(\"Username:\", this.props.MemberV.username)}\n {info(\"Member Number:\", this.props.MemberV.memNo)}\n {info(\"ID Number:\", this.props.MemberV.idno)}\n {info(\"First Names:\", this.props.MemberV.firstname)}\n {info(\"Last Name:\", this.props.MemberV.surname)}\n {info(\"Email:\", this.props.MemberV.email)}\n {info(\"Cell Number:\", this.props.MemberV.cellNo)}\n {info(\"Address:\", this.props.MemberV.physicalAddress)}\n {info(\"Suburb:\", this.props.MemberV.suburb)}\n {info(\"City:\", this.props.MemberV.city)}\n {info(\"Province:\", this.props.MemberV.province)}\n {info(\"Postal Code:\", this.props.MemberV.postalCode)}\n {info(\"Gender:\", this.props.MemberV.sex)}\n {info(\n \"Sales Rep:\",\n this.state.salesPerson\n ? this.state.salesPerson.firstname +\n \" \" +\n this.state.salesPerson.surname\n : \"None\"\n )}\n {info(\"Store:\", this.props.MemberV.store)}\n {info(\"Ethnicity:\", this.props.MemberV.ethinicity)}\n {info(\"Status:\", this.state._memStatus)}\n {info(\"Type:\", this.props.MemberV.memType)}\n {info(\"Inceptive Date:\", this.props.MemberV.inceptionDate)}\n {info(\n \"Expiry Date:\",\n this.state.ExpiryDate === \"\"\n ? this.props.MemberV.expiryDate.substring(0, 10)\n : this.state.ExpiryDate.substring(0, 10)\n )}\n\n {this.props?.MemberV?.partnerExpiryDate !== null && this.props?.MemberV?.partnerExpiryDate && \n info(this.props.MemberV?.store + \" Expiry Date:\",this.props.MemberV?.partnerExpiryDate?.substring(0, 10))}\n\n {!this.props.isPartner && (\n <>\n
Update date
\n \n \n \n \n \n \n \n \n
Update Status
\n
\n {info(\n \"Member Status\",\n {\n this.setState({\n memberStatus: a.target.value,\n });\n }}\n >\n \n \n \n \n \n \n )}\n {this.state.memberStatus === \"3\" ? (\n
\n {info(\n \"Rejection Reason:\",\n {\n this.setState({\n rejectionReason: a.target.value,\n });\n }}\n />\n )}\n
Rejection Date
\n \n \n \n \n \n \n {\n this.setState({\n rejectionDate: a.target.value,\n });\n }}\n />\n \n
\n ) : null}\n {this.state.memberStatus !== \"\" ? (\n
\n this.updateMemberStatus(e)}\n >\n UPDATE\n \n
\n ) : null}\n
\n \n )}\n \n ) : (\n <>\n
\n this.backFunction()}\n />\n
\n\n
\n \n
\n \n )}\n
\n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n userDetails: state.loginReducer.userProfileDetails,\n MemberV: state.MemberViewReducer.MemberView,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n onCommissionTabChange: (newComTab) =>\n dispatch({\n type: actionTypes.UPDATE_COMMISSION_TAB,\n currentCommissionTab: newComTab,\n }),\n onMemberStateChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_STATE,\n varName: vname,\n varValue: value,\n }),\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname,\n }),\n\n onMemberViewChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n varValue: value,\n varName: vname,\n }),\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(ViewUserDetails));\n","import axios from \"axios\";\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { bindActionCreators } from \"redux\";\nimport { BASE, FRONT, GET_DEDICATEDTYPE, POST_DEDICATED_STATUS_VIEW } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport * as DSApplicationActions from \"../../dedicatedStatusApplication/DedicatedStatusApplicationActions\";\nimport * as DedicatedStatusApplicationActionTypes from \"../DedicatedStatusApplicationActionTypes\";\n\nclass Buttons extends React.Component {\n constructor(props) {\n super(props);\n this.handleBack = this.handleBack.bind(this);\n this.state = {\n Title: \"Dedicated Status\"\n };\n }\n\n handleBack = e => {\n if (this.props.dedicated.Page === \"timeline\") {\n this.setState({ Title: \"Dedicated Status Application\" });\n this.props.onDedicatedChange(\"View\", \"Page\");\n } else {\n this.setState({ Title: \"Dedicated Status\" });\n this.props.onDedicatedChange(\"Home\", \"Page\");\n }\n };\n\n submit = async () => {\n const {\n Ph,\n Ods,\n PhRegNo,\n PhAssociation,\n PhProvince,\n PhExpiryDate,\n PhAttachment,\n dsType,\n OdsAssociationName,\n OdsFarNo,\n OdsDsNo,\n OdsExpiryDate,\n Motivation,\n NonParticipationReason,\n applicationStatus,\n OdsAttachment\n } = this.props.DSApplicationState;\n let data = new FormData();\n if (this.props.DSApplicationState.dsType === \"Dedicated Hunter\") {\n data.append(\"PhRegNo\", PhRegNo);\n data.append(\"PhAssociation\", PhAssociation);\n data.append(\"PhProvince\", PhProvince);\n data.append(\"PhExpiryDate\", PhExpiryDate);\n data.append(\"PhAttachment\", PhAttachment);\n }\n data.append(\"MemNo\", this.props.memNo);\n data.append(\"DsType\", dsType);\n data.append(\"Motivation\", Motivation);\n data.append(\"NonParticipationReason\", NonParticipationReason);\n data.append(\"OdsAssociationName\", OdsAssociationName);\n data.append(\"OdsFarNo\", OdsFarNo);\n data.append(\"OdsDsNo\", OdsDsNo);\n data.append(\"OdsExpiryDate\", OdsExpiryDate);\n data.append(\"Ods\", Ods);\n data.append(\"Ph\", Ph);\n data.append(\"OdsAttachment\", OdsAttachment);\n data.append(\"BaseURL\", FRONT);\n this.props.setDSVariables(\"showModal\", true);\n await this.props.submitApplication(data);\n\n if (applicationStatus.response) {\n if (applicationStatus.response.status === 200) {\n //already have an approved or pending ds application\n this.props.setDSVariables(\"showModal\", false);\n }\n if (applicationStatus.response.status === 201) {\n //successful - redirect\n this.props.setDSVariables(\"showModal\", false);\n // this.props.redirectToDSList();\n }\n }\n\n if (applicationStatus.error) {\n //show the error\n }\n const user = {\n memNo: this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userProfileDetails.memberNumber\n };\n axios({\n url: BASE + POST_DEDICATED_STATUS_VIEW,\n data: user,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n if (res.data.status === \"success\") {\n this.props.onDedicatedChange(res.data.dedicated, \"Application\");\n }\n })\n .catch(function (error) {\n if (error.status === 400);\n });\n\n axios.get(BASE + GET_DEDICATEDTYPE + this.props.memNo, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }).then(res => {\n this.props.DSApplicationActions.setDSVariables(\"DH\", res.data.hunting);\n this.props.DSApplicationActions.setDSVariables(\"DS\", res.data.sport);\n this.props.DSApplicationActions.setDSVariables(\"DS_DH\", res.data.both);\n });\n this.props.setDSVariables(\"showModal\", false);\n this.props.clearState();\n this.props.DSApplicationActions.setDSVariables(\"NonParticipationReason\", \"\");\n this.props.changeStep(1)\n\n if (this.props.DSApplicationState.DS === true) {\n this.props.toggleDS(\"Dedicated Hunter\")\n } else {\n this.props.toggleDS(\"Dedicated Sports Person\")\n }\n this.handleBack();\n };\n\n validateMotivation = () => {\n const {\n Participation,\n Motivation,\n NonParticipationReason\n } = this.props.DSApplicationState;\n if (!Motivation) {\n this.props.setDSVariables(\"error\", \"Please fill the motivation field\");\n }\n if (!NonParticipationReason && Participation === \"No\") {\n this.props.setDSVariables(\"error\", \"Please fill the motivation field\");\n }\n };\n\n validateDetails = () => {\n const {\n Ph,\n PhRegNo,\n PhAssociation,\n PhProvince,\n PhExpiryDate,\n PhAttachment\n } = this.props.DSApplicationState;\n\n const {\n Ods,\n OdsAssociationName,\n OdsFarNo,\n OdsDsNo,\n OdsExpiryDate,\n Assessments,\n } = this.props.DSApplicationState;\n if (Ph === \"Yes\") {\n if (!PhRegNo || !PhAssociation || !PhProvince || !PhExpiryDate || !PhAttachment) {\n this.props.setDSVariables(\n \"detailsError\",\n \"Please fill in all the information about your Proffessional Hunter accreditation!\"\n );\n } else {\n this.props.setDSVariables(\"detailsError\", null);\n }\n }\n if (Ods === \"Yes\") {\n if (!OdsAssociationName || !OdsFarNo || !OdsDsNo || !OdsExpiryDate) {\n this.props.setDSVariables(\n \"detailsError\",\n \"Please fill in all the information about your Dedicated Status!\"\n );\n } else {\n this.props.setDSVariables(\"detailsError\", null);\n }\n }\n\n if (!Assessments) {\n this.props.setDSVariables(\n \"detailsError\",\n \"Please select if you have completed the assessments or not\"\n );\n } else {\n this.props.setDSVariables(\"detailsError\", null);\n }\n };\n\n next = () => {\n this.validateDetails();\n if (this.props.currentStep === 2) {\n this.validateMotivation();\n }\n if (\n this.props.DSApplicationState.detailsError === null &&\n this.props.DSApplicationState.motivationError === null\n ) {\n this.props.changeStep(this.props.currentStep + 1);\n }\n };\n render() {\n const { currentStep, changeStep } = this.props;\n return (\n
\n
\n
\n {currentStep > 1 && (\n changeStep(currentStep - 1)}\n >\n Previous\n \n )}\n
\n {currentStep === 3 ? (\n
\n await this.submit()}\n >\n Submit\n \n
\n ) : (\n
\n \n Next\n \n
\n )}\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n dedicated: state.dedicatedStatusReducer.dedicatedStatus,\n userProfileDetails: state.loginReducer.userProfileDetails,\n memberState: state.loginReducer.memberState,\n MemberV: state.MemberViewReducer.MemberView,\n memNo: state.loginReducer.userProfileDetails.memberNumber,\n DSApplicationState: state.DSApplicationState\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onDedicatedChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_DEDICATED_STATUS,\n varValue: value,\n varName: vname\n }),\n DSApplicationActions: bindActionCreators(DSApplicationActions, dispatch),\n clearState: () => {\n dispatch({\n type: DedicatedStatusApplicationActionTypes.CLEAR_STATE\n })\n }\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(Buttons);\n","import React, { Component } from 'react';\n\nexport default class Declaration extends Component {\n constructor(props) {\n super(props);\n this.validateDeclaration = this.validateDeclaration.bind(this);\n this.state = {\n fca: null,\n faStorage: null,\n ordinances: null,\n guilty: null,\n docDeclaration: null,\n codeOfConduct: null,\n dsDeclatation: null\n }\n }\n\n validateDeclaration() {\n let valid = true;\n const fields = Object.keys(this.state)\n fields.map(f => {\n if (!this.state[f]) { valid = false; }\n return null;\n })\n return valid;\n }\n\n render() {\n\n return (\n
\n
\n

Are you well acquainted with the current Firearms Control Act?

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

Are you well acquainted with the use and storage of your Firearm?

\n
\n
\n
\n \n
\n \n
\n {this.props.dsType === \"Hunting\" &&\n \n
\n

Are you well acquainted with the hunting ordinances and proclamations for the provinces you intend to hunt in?

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

Have you ever been found guilty of any offence related to hunting where your finger prints was taken?

\n
\n
\n
\n \n
\n \n
\n
}\n
\n

I hereby declare that all information in this document is true

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

I hereby declare that I fully understand and abide by the codes of conduct as set out by the NARFO

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

I hereby declare that I fully understand and abide by the Dedicated Status Declaration?

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

Dedicated Status Declaration:

\n

PLEASE READ THIS CAREFULLY AND MAKE SURE YOU UNDERSTAND THE CONTENTS !

\n
\n
\n

{this.state.error}

\n
\n
\n )\n }\n}\n","import React, { Component } from 'react';\n\nexport default class extends Component {\n render() {\n return (\n
\n\n \n
\n

Do you currently hold a dedicated hunter status with any other accreddited association?

\n
\n
\n
\n \n
\n \n
\n {this.props.DSApplicationState.Ods === \"Yes\" &&\n \n
\n \n this.props.setDSVariables(\"OdsAssociationName\", e.target.value)}\n />\n
\n
\n \n this.props.setDSVariables(\"OdsFarNo\", e.target.value)}\n />\n
\n
\n \n this.props.setDSVariables(\"OdsDsNo\", e.target.value)}\n />\n
\n
\n \n this.props.setDSVariables(\"OdsExpiryDate\", e.target.value)}\n />\n
\n
\n \n this.props.setDSVariables(\"OdsAttachment\", e.target.files[0])}\n />\n
\n
\n }\n\n
\n

Are you or have you been registered as a Proffesional Hunter?

\n
\n
\n
\n \n
\n \n
\n {this.props.DSApplicationState.Ph === \"Yes\" &&\n \n
\n \n this.props.setDSVariables(\"PhRegNo\", e.target.value)}\n />\n
\n
\n \n this.props.setDSVariables(\"PhAssociation\", e.target.value)}\n />\n
\n
\n \n this.props.setDSVariables(\"PhProvince\", e.target.value)}\n />\n
\n
\n \n this.props.setDSVariables(\"PhExpiryDate\", e.target.value)}\n />\n
\n
\n \n this.props.setDSVariables(\"PhAttachment\", e.target.files[0])}\n />\n
\n
\n }\n \n
\n

\n Have you completed the practical and theoretical assessment?\n

\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n )\n }\n}\n","import React, { Component } from \"react\";\n\nexport default class ShooterDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n dedicatedStatus: \"No\",\n proffessionalHunter: \"No\",\n assessments: null,\n error: \"no errors\"\n };\n }\n render() {\n return (\n \n
\n

\n Do you currently hold a dedicated Shooter status with any other\n accreddited association?\n

\n
\n
\n
\n \n
\n \n
\n {this.props.DSApplicationState.Ods === \"Yes\" && (\n \n
\n \n \n this.props.setDSVariables(\n \"OdsAssociationName\",\n e.target.value\n )\n }\n />\n
\n
\n \n \n this.props.setDSVariables(\"OdsFarNo\", e.target.value)\n }\n />\n
\n
\n \n \n this.props.setDSVariables(\"OdsDsNo\", e.target.value)\n }\n />\n
\n
\n \n \n this.props.setDSVariables(\"OdsExpiryDate\", e.target.value)\n }\n />\n
\n
\n \n \n this.props.setDSVariables(\"OdsAttachment\", e.target.files[0])\n }\n />\n
\n
\n )}\n
\n

\n Have you completed the practical and theoretical assessment?\n

\n
\n
\n
\n \n
\n \n
\n
\n );\n }\n}\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport HunterDetails from \"./HunterDetails\";\nimport ShooterDetails from \"./ShooterDetails\";\nimport Radio from \"@material-ui/core/Radio\";\nclass Details extends Component {\n render() {\n const { dsType } = this.props;\n return (\n
\n {this.props.DSApplicationState.DS === true &&\n this.props.DSApplicationState.DS_DH === false ? (\n
\n this.props.toggleDS(\"Dedicated Hunter\")}\n name=\"RadioButtonDedicatedHunter\"\n aria-label=\"Dedicated Hunter\"\n />\n
Dedicated Hunter
\n
\n ) : this.props.DSApplicationState.DH === true &&\n this.props.DSApplicationState.DS_DH === false ? (\n
\n this.props.toggleDS(\"Dedicated Sports Person\")}\n name=\"RadioButtonDedicatedSportsPerson\"\n aria-label=\"Dedicated Sports Person\"\n />\n
Dedicated Sports Person
\n
\n ) : this.props.DSApplicationState.DS_DH === false ? (\n
\n
\n this.props.toggleDS(\"Dedicated Hunter\")}\n name=\"RadioButtonDedicatedHunter\"\n aria-label=\"Dedicated Hunter\"\n />\n
Dedicated Hunter
\n
\n
\n this.props.toggleDS(\"Dedicated Sports Person\")}\n name=\"RadioButtonDedicatedSportsPerson\"\n aria-label=\"Dedicated Sports Person\"\n />\n
Dedicated Sports Person
\n
\n
\n ) : null}\n\n {(this.props.dsType === \"Dedicated Hunter\" ||\n this.props.DSApplicationState.DS === true) &&\n this.props.DSApplicationState.DS_DH === false ? (\n \n ) : (this.props.dsType === \"Dedicated Sports Person\" ||\n this.props.DSApplicationState.DH === true) &&\n this.props.DSApplicationState.DS_DH === false ? (\n \n ) : (\n \n )}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n DSApplicationState: state.DSApplicationState\n };\n};\n\nexport default connect(mapStateToProps)(Details);\n","import React, { Component } from \"react\";\nimport Buttons from \"./Buttons\";\n\nexport default class Motivation extends Component {\n constructor(props) {\n super(props);\n this.state = {\n attendedActivities: null,\n activityNotAttendanceMotivation: null,\n applicationMotivation: null,\n error: \"\"\n };\n this.validate = this.validate.bind(this);\n this.next = this.next.bind(this);\n }\n\n validate() {\n let valid = true;\n if (!this.state.attendedActivities && !this.state.applicationMotivation)\n valid = false;\n if (\n this.state.attendedActivities === true &&\n !this.state.activityNotAttendanceMotivation\n )\n valid = false;\n return valid;\n }\n\n next() {\n if (this.validate()) {\n }\n }\n render() {\n return (\n
\n
\n
\n

\n {`Have you attended any ${\n this.props.dsType === \"Dedicated Sports Person\"\n ? \"sport shooting\"\n : \"hunting\"\n } \\\n related activities, either on your own or any \\\n activity of NARFO or any other association?`}\n

\n
\n
\n
\n \n
\n \n
\n {this.props.DSApplicationState.Participation === \"No\" && (\n
\n
\n \n \n this.props.setDSVariables(\n \"NonParticipationReason\",\n e.target.value\n )\n }\n />\n
\n
\n )}\n
\n
\n \n \n this.props.setDSVariables(\"Motivation\", e.target.value)\n }\n />\n
\n
\n
\n
\n

{this.props.error}

\n
\n \n
\n );\n }\n}\n","import React from 'react'\n\nexport default class Stepper extends React.Component {\n numberCircle = (number, text, activity, noLine) => {\n let condition = \"\";\n switch (activity) {\n case -1:\n condition = \"\";\n break;\n case 0:\n condition = \"active\";\n break;\n case 1:\n condition = \"was-active\";\n break;\n default:\n condition = \"\";\n }\n return (\n <>\n {noLine ? null :
}\n
\n
{number}
\n \n
\n \n );\n }\n\n evaluate = (num) => {\n if (!num && num !== 0) {\n return null;\n }\n if (num < 0) {\n return -1;\n } else if (num > 0) {\n return 1;\n } else {\n return 0;\n }\n }\n render() {\n return (\n
\n
\n {this.numberCircle(1, \"Details\", this.evaluate(parseInt(this.props.progress) - 1), true)}\n {this.numberCircle(2, \"Motivation\", this.evaluate(parseInt(this.props.progress) - 2))}\n {this.numberCircle(3, \"Declaration\", this.evaluate(parseInt(this.props.progress) - 3))}\n
\n
\n )\n }\n}\n","import React from 'react';\nimport { connect } from \"react-redux\";\nimport { bindActionCreators } from \"redux\";\nimport CustomModal from '../../utils/CustomModal';\nimport * as DSApplicationActions from \"./DedicatedStatusApplicationActions\";\nimport Buttons from './SubComponents/Buttons';\nimport Declaration from './SubComponents/Declaration';\nimport Details from './SubComponents/Details';\nimport Motivation from './SubComponents/Motivation';\nimport Stepper from \"./SubComponents/Stepper\";\n\nclass DedicatedStatusApplication extends React.PureComponent {\n constructor(props) {\n super(props);\n this.displayForm = this.displayForm.bind(this);\n }\n displayForm(step) {\n const { changeStep, toggleDSType, setValidationError, setDSVariables } = this.props.DSApplicationActions;\n const { currentStep, dsType, error } = this.props.DSApplicationState;\n switch (step) {\n case 1:\n return \n case 2:\n return \n case 3:\n return \n default:\n return
Error
\n }\n }\n render() {\n return (\n
\n \n {this.displayForm(this.props.DSApplicationState.currentStep)}\n\n this.props.DSApplicationActions.setDSVariables(\"showModal\", false)}\n title=\"Submitting Application\"\n message=\"Your application is being submitted. Might take some time to upload documents. Please wait\"\n />\n
\n

{this.props.DSApplicationState.detailsError}

\n

{this.props.DSApplicationState.motivationError}

\n
\n \n
\n )\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n DSApplicationState: state.DSApplicationState,\n memNo: state.loginReducer.userProfileDetails.memberNumber\n };\n};\n\nconst mapActionsToProps = dispatch => {\n return {\n DSApplicationActions: bindActionCreators(DSApplicationActions, dispatch)\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapActionsToProps\n)(DedicatedStatusApplication);","import { Button } from \"@material-ui/core\";\nimport axios from \"axios\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport \"react-vertical-timeline-component/style.min.css\";\nimport { BASE, FRONT, POST_DEDICATED_STATUS_VIEW } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { STATUS } from \"../../store/constantFile/ConstFile\";\nimport \"./dhunter.css\";\nclass DedicatedProfileView extends Component {\n constructor(props) {\n super(props);\n this.handleReason = this.handleReason.bind(this);\n this.state = {\n DedicatedStatusApplication: props.application,\n reason: false,\n textReason: \"\",\n practicalAssessment: \"\",\n currentStatus: \"\",\n proffessionalHunter: {}\n };\n }\n componentDidMount() {\n axios\n .get(\n BASE +\n \"api/Activities/activityScore/\" +\n this.state.DedicatedStatusApplication.memNo,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n \n )\n .then(res =>\n this.setState({\n practicalAssessment: res.data\n })\n );\n axios({\n url: BASE + \"api/ProffessionalHunters/getPHunterByDId/\" + this.state.DedicatedStatusApplication.dedicatedId,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n this.setState({\n proffessionalHunter: res.data.pfh\n })\n })\n .catch(() => {\n this.setState({\n proffessionalHunter: false\n })\n });\n }\n refreshPage() {\n const user = {\n memNo: this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userProfileDetails.memberNumber\n };\n axios({\n url: BASE + POST_DEDICATED_STATUS_VIEW,\n data: user,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n if (res.data.status === \"success\") {\n this.props.onDedicatedChange(res.data.dedicated, \"Application\");\n }\n })\n .catch(function(error) {});\n this.props.onDedicatedChange(\"Home\", \"Page\");\n }\n handleTextArea = event => {\n this.setState({ textReason: event.target.value });\n };\n handleReason(actionType) {\n switch (actionType) {\n case STATUS.Declined: {\n const request = {\n Approved: STATUS.Declined,\n Remarks: this.state.textReason,\n Dsno: this.props.application.dsno\n };\n this.handleAxiosStatus(request);\n break;\n }\n case STATUS.Terminated: {\n const request = {\n Approved: STATUS.Terminated,\n Remarks: this.state.textReason,\n Dsno: this.props.application.dsno\n };\n this.handleAxiosStatus(request);\n break;\n }\n default:\n }\n }\n handleAxiosStatus(request) {\n switch (request.Approved) {\n case STATUS.Approved: {\n\n let id = this.state.DedicatedStatusApplication.dedicatedId;\n\n axios({\n url: BASE + `api/DedicatedStatus/approval/${id}/1`,\n data: request,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(req => {\n if (req.status === 200) {\n // alert(req.data.message);\n this.refreshPage();\n }\n })\n .catch(err => {\n if (err.response.status === 400) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n break;\n }\n case STATUS.Terminated: {\n axios({\n url: BASE + \"api/DedicatedStatus/terminate\",\n data: request,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(req => {\n if (req.status === 200) {\n alert(req.data.message);\n this.refreshPage();\n }\n })\n .catch(err => {\n if (err.response.status === 400) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n break;\n }\n case STATUS.Declined: {\n axios({\n url: BASE + \"api/DedicatedStatus/decline\",\n data: request,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(reps=>{\n // alert(\"Success\");\n this.refreshPage();\n })\n .catch(err => {\n if (err.response.status === 400) {\n alert(err.response.data.message);\n } else {\n alert(\"Unable to log status please try again later\");\n }\n });\n break;\n }\n default:\n }\n }\n render() {\n return (\n
\n \n \n {\n \n \n \n \n }\n \n \n \n \n \n \n \n \n \n \n {this.state.DedicatedStatusApplication.status ===\n STATUS.Approved && (\n \n )}\n {this.state.DedicatedStatusApplication.status ===\n STATUS.Pending && (\n \n )}\n {this.state.DedicatedStatusApplication.status ===\n STATUS.Declined && (\n \n )}\n {this.state.DedicatedStatusApplication.status ===\n STATUS.Terminated && (\n \n )}\n \n \n \n {this.state.DedicatedStatusApplication.approvalDate === null && (\n \n )}\n {!this.state.DedicatedStatusApplication.approvalDate ? null : (\n \n )}\n \n \n \n {this.state.DedicatedStatusApplication.motivation === null && (\n \n )}\n {this.state.DedicatedStatusApplication.motivation !== null && (\n \n )}\n \n {this.state.DedicatedStatusApplication.status ===\n STATUS.Declined && (\n \n \n\n \n \n )}\n {this.state.DedicatedStatusApplication.status ===\n STATUS.Terminated && (\n \n \n\n \n \n )}\n {this.state.proffessionalHunter === false ? null : (\n \n {this.state.DedicatedStatusApplication.dstype === \"Dedicated Hunter\" ?\n \n : null}\n \n )}\n {this.state.proffessionalHunter === false ? null : (\n \n {this.state.DedicatedStatusApplication.dstype === \"Dedicated Hunter\" ?\n \n : null}\n {this.state.DedicatedStatusApplication.dstype === \"Dedicated Hunter\" ?\n \n : null}\n \n )}\n {this.state.proffessionalHunter === false ? null : (\n \n {this.state.DedicatedStatusApplication.dstype === \"Dedicated Hunter\" ?\n \n : null}\n {this.state.DedicatedStatusApplication.dstype === \"Dedicated Hunter\" ?\n \n : null}\n \n )}\n {this.state.proffessionalHunter === false ? null : (\n \n {this.state.DedicatedStatusApplication.dstype === \"Dedicated Hunter\" ?\n \n : null}\n {this.state.DedicatedStatusApplication.dstype === \"Dedicated Hunter\" ?\n \n : null}\n \n )}\n {this.state.proffessionalHunter === false ? null : (\n \n {this.state.DedicatedStatusApplication.dstype === \"Dedicated Hunter\" ?\n \n : null}\n {this.state.DedicatedStatusApplication.dstype === \"Dedicated Hunter\" ?\n \n : null}\n \n )}\n {this.state.proffessionalHunter === false || this.state.proffessionalHunter.link === null ? null : (\n \n {this.state.DedicatedStatusApplication.dstype === \"Dedicated Hunter\" ?\n \n : null}\n {this.state.DedicatedStatusApplication.dstype === \"Dedicated Hunter\" ?\n \n : null}\n \n )}\n\n {this.state.DedicatedStatusApplication.otherDedicatedStatus.length !==\n 0 ? !this.state.DedicatedStatusApplication.otherDedicatedStatus[0]\n .associationName ? null : (\n \n \n \n ) : \n null}\n {this.state.DedicatedStatusApplication.otherDedicatedStatus.length !==\n 0 ? !this.state.DedicatedStatusApplication.otherDedicatedStatus[0]\n .associationName ? null : (\n \n \n \n \n ) : \n null}\n {this.state.DedicatedStatusApplication.otherDedicatedStatus.length !==\n 0 ? !this.state.DedicatedStatusApplication.otherDedicatedStatus[0]\n .associationName ? null : (\n \n \n \n \n ) : \n null}\n {this.state.DedicatedStatusApplication.otherDedicatedStatus.length !==\n 0 ? !this.state.DedicatedStatusApplication.otherDedicatedStatus[0]\n .associationName ? null : (\n \n \n \n \n ) : \n null}\n {this.state.DedicatedStatusApplication.otherDedicatedStatus.length !==\n 0 ? !this.state.DedicatedStatusApplication.otherDedicatedStatus[0]\n .associationName ? null : (\n \n \n \n \n ) : \n null}\n {this.state.DedicatedStatusApplication.otherDedicatedStatus.length !==\n 0 ? !this.state.DedicatedStatusApplication.otherDedicatedStatus[0]\n .associationName ? null : (\n !this.state.DedicatedStatusApplication.otherDedicatedStatus[0]\n .link ? null : (\n \n \n \n \n )\n ) : \n null}\n \n
Dedicated Status No : {this.state.DedicatedStatusApplication.dsno}
Application Type : {this.state.DedicatedStatusApplication.dstype}
Application Date \n : {this.state.DedicatedStatusApplication.applicationDate.split(\n \"T\",\n 1\n )}\n
Status \n : {this.state.DedicatedStatusApplication.status}\n \n : {this.state.DedicatedStatusApplication.status}\n \n : {this.state.DedicatedStatusApplication.status}\n \n {this.state.DedicatedStatusApplication.status}\n
Approval Date: -\n : {this.state.DedicatedStatusApplication.approvalDate.split(\"T\",1)}\n
Motivation: -: {this.state.DedicatedStatusApplication.motivation}
Refusal Reason\n : {this.state.DedicatedStatusApplication.remarks}\n
Termination Reason\n : {this.state.DedicatedStatusApplication.remarks}\n
Currently holds a

Proffesional Hunter

Status
Registration Number: {this.state.proffessionalHunter.regNo}
Association Name: {this.state.proffessionalHunter.association}
Province: {this.state.proffessionalHunter.province}
Expiry Date: {!this.state.proffessionalHunter.expiryDate ?\n null :\n this.state.proffessionalHunter.expiryDate.split(\"T\",1)}
Proffessional Hunter Document \n : \n Document\n \n
\n Currently holds a

{this.state.DedicatedStatusApplication.dstype}

{\" \"}status\n
Dedicated Status No\n : {\n this.state.DedicatedStatusApplication.otherDedicatedStatus[0]\n .dsNo\n }\n
Association Name\n : {\n this.state.DedicatedStatusApplication.otherDedicatedStatus[0]\n .associationName\n }\n
Association FAR No\n : {\n this.state.DedicatedStatusApplication.otherDedicatedStatus[0]\n .farNo\n }\n
Expiry Date\n : {this.state.DedicatedStatusApplication.otherDedicatedStatus[0].expiryDate.split(\"T\",1)}\n
{ `${this.state.DedicatedStatusApplication.otherDedicatedStatus[0]\n .associationName} Document`\n } \n \n : \n Document\n \n
\n {this.props.memberState.isAdmin && !this.props.isPartner && (\n
\n {\" \"}\n
\n
\n {\n this.setState = {\n reason: false\n };\n this.handleAxiosStatus({\n Approved: STATUS.Approved,\n Dsno: this.props.application.dsno\n });\n }}\n >\n Approve\n \n
\n
\n {\n this.handleAxiosStatus({\n Approved: STATUS.Approved,\n Dsno: this.props.application.dsno\n });\n }}\n >\n Re Activate\n \n
\n
\n {\n this.setState({\n reason: true,\n currentStatus : \"Decline\"\n })\n }}\n className=\"btn btn-outline-danger container\"\n >\n Decline\n \n
\n
\n {\n this.setState({\n reason: true,\n currentStatus : \"Terminate\"\n })\n }}\n className=\"btn btn-outline-secondary container\"\n >\n Terminate\n \n
\n
\n
\n {this.state.reason && (\n
\n \n {\n this.setState = {\n reason: false\n };\n this.state.currentStatus === \"Decline\" ? this.handleReason(STATUS.Declined) : this.handleReason(STATUS.Terminated);\n }}\n >\n Apply\n \n
\n )}\n
\n
\n )}\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails,\n memberState: state.loginReducer.memberState,\n MemberV: state.MemberViewReducer.MemberView\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onDedicatedChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_DEDICATED_STATUS,\n varValue: value,\n varName: vname\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(DedicatedProfileView);\n","import SwapHoriz from \"@material-ui/icons/SwapHoriz\";\nimport axios from \"axios\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport React, { Component } from \"react\";\nimport { VerticalTimeline, VerticalTimelineElement } from \"react-vertical-timeline-component\";\nimport \"react-vertical-timeline-component/style.min.css\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport { STATUS } from \"../../store/constantFile/ConstFile\";\n\nclass DedicatedTimeline extends Component {\n componentDidMount() {\n axios({\n url: BASE + \"api/Timelines/post/Individual\",\n data: { Dsno: this.state.dsno },\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n this.setState({ timelines: res.data.timelines.reverse() });\n })\n .catch(function(error) {\n if (error.status === 400) {\n alert(error.response.data.message);\n }\n });\n }\n constructor(props) {\n super(props);\n this.state = {\n dsno: props.status.dsno,\n timelines: []\n };\n }\n getColor(type) {\n switch (type) {\n case STATUS.Approved: {\n return \"#4BB543\";\n }\n case STATUS.Pending: {\n return \"#FFCC00\";\n }\n case STATUS.Declined: {\n return \"#CC3300\";\n }\n case STATUS.Terminated: {\n return \"#CC3300\";\n }\n default:\n }\n }\n\n render() {\n return (\n
\n \n {this.state.timelines.map((timeline, i) => (\n }\n >\n {\n \n {timeline.status}\n \n }\n \n {timeline.date.split(\"T\", 1)}\n \n

\n {timeline.reason}\n

\n \n ))}\n
\n
\n );\n }\n}\n\nexport default DedicatedTimeline;\n","import axios from \"axios\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport jsPDF from \"jspdf\";\nimport React, { Component } from \"react\";\nimport { isMobile } from \"react-device-detect\";\nimport { connect } from \"react-redux\";\nimport { bindActionCreators } from \"redux\";\nimport { BASE, GET_DEDICATEDTYPE, POST_DEDICATED_STATUS_VIEW } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { STATUS } from \"../../store/constantFile/ConstFile\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport DedicatedStatusApplication from \"../dedicatedStatusApplication/DedicatedStatusApplication\";\nimport * as DSApplicationActions from \"../dedicatedStatusApplication/DedicatedStatusApplicationActions\";\nimport \"../loggeddInUser/membershipCard/resizer.css\";\nimport DedicatedProfileView from \"./dedicatedProfileView\";\nimport DedicatedTimeline from \"./dedicatedTimeline\";\nimport { LMS_ACTIONS } from \"../../store/actions/actionTypes\";\nimport \"./dhunter.css\";\nconst Cryptr = require(\"cryptr\");\nclass DedicatedProfile extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Title: \"Dedicated Status\",\n PDFSign: \"\",\n pdflogo: \"\",\n nnfo: \"\",\n date: \"\",\n index: \"\",\n qrCodeWithMemDet: \"\"\n };\n this.handleBack = this.handleBack.bind(this);\n this.handleView = this.handleView.bind(this);\n }\n componentDidMount() {\n this.props.onCommissionTabChange(\"0\");\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n this.props.onLoyaltyDaysTabChange(\"0\");\n this.props.onCurrentLMSTabChange(0);\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n let empty = [];\n const cryptr = new Cryptr(\"ewfWE@#%$rfdsefgdsf\");\n axios\n .get(BASE + \"api/Member/getMemQRCode/\" + cryptr.encrypt(this.props.memNo),{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n )\n .then(resp => {\n const qrFinal = \"data:image/jpeg;base64,\" + resp.data.base64QRString\n this.setState({\n qrCodeWithMemDet: qrFinal\n })\n });\n this.props.onDedicatedChange(empty, \"Application\");\n this.props.onDedicatedChange(\"Home\", \"Page\");\n const user = {\n memNo: this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userProfileDetails.memberNumber\n };\n axios({\n url: BASE + POST_DEDICATED_STATUS_VIEW,\n data: user,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n if (res.data.status === \"success\") {\n this.props.onDedicatedChange(res.data.dedicated, \"Application\");\n }\n })\n .catch(function(error) {\n if (error.status === 400);\n });\n axios.get(BASE + GET_DEDICATEDTYPE + this.props.memNo,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n).then(res => {\n this.props.DSApplicationActions.setDSVariables(\"DH\", res.data.hunting);\n this.props.DSApplicationActions.setDSVariables(\"DS\", res.data.sport);\n this.props.DSApplicationActions.setDSVariables(\"DS_DH\", res.data.both);\n });\n }\n DateFind(dated) {\n if (!dated) {\n return dated;\n }\n var date = new Date(Date.parse(dated));\n var currentDate = date;\n var dater = currentDate.getDate();\n var months = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n var month = currentDate.getMonth();\n var year = currentDate.getFullYear();\n var monthDateYear = dater + \" \" + months[month] + \" \" + year;\n return monthDateYear;\n }\n DateExpire(dated) {\n if (!dated) {\n return dated;\n }\n var date = new Date(Date.parse(dated));\n var year = date.getFullYear();\n var expire = \"31 December \" + year;\n return expire;\n }\n handleView = key => {\n this.setState({\n Title: \"Dedicated Status Application\"\n });\n this.props.onDedicatedChange(\"View\", \"Page\");\n this.props.onDedicatedChange(\n this.props.dedicated.Application[key],\n \"DedicatedStatusApplication\"\n );\n };\n handleBack = e => {\n if (this.props.dedicated.Page === \"timeline\") {\n this.setState({ Title: \"Dedicated Status Application\" });\n this.props.onDedicatedChange(\"View\", \"Page\");\n } else {\n this.setState({ Title: \"Dedicated Status\" });\n this.props.onDedicatedChange(\"Home\", \"Page\");\n }\n };\n handleApplication = e => {\n this.props.onDedicatedChange(\"Application\", \"Page\");\n this.setState({ Title: \"Dedicated Status Application\" });\n };\n handleTimeline = e => {\n this.setState({\n Title: \"Dedicated Status Timelines\"\n });\n this.props.onDedicatedChange(\"timeline\", \"Page\");\n };\n render() {\n const _activeDedicatedStatus = this.props.dedicated.Application;\n let fileUploadWidth = \"\";\n if (isMobile) {\n fileUploadWidth = \"btn btn-outline-dark font-weight-bold\";\n } else {\n fileUploadWidth = \"btn btn-outline-dark font-weight-bold\";\n }\n const print = async () => {\n const dedicatedStatus = this.props.dedicated.Application[\n this.state.index\n ]\n await axios.get(BASE + \"api/member/\" + dedicatedStatus.memNo,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n let pdf = new jsPDF('p', 'mm', [300, 220]);\n pdf.addImage(this.state.qrCodeWithMemDet , \"JPEG\", 25, 240, 40, 35);\n pdf.addImage(this.props.base64Images.nnfo, \"JPEG\", 80, 10);\n pdf.setFont(\"times\");\n pdf.setFontSize(14);\n pdf.setFontStyle(\"bold\");\n pdf.text(\n 50,\n 55,\n \"National Association of Responsible Firearm Owners\"\n );\n pdf.setFontType(\"normal\");\n pdf.text(90, 65, \"South Africa\");\n pdf.setFontStyle(\"bold\");\n pdf.setFontSize(20);\n dedicatedStatus.dstype === \"Dedicated Hunter\"\n ? pdf.text(80, 75, \"Dedicated Hunter\")\n : pdf.text(70, 75, \"Dedicated Sport Person\");\n pdf.setFontSize(12);\n pdf.setFontType(\"normal\");\n pdf.text(\n 20,\n 85,\n \"I, the undersigned, Johann Scheffer, ID: 6509285076083, duly appointed by the board of NARFO in\"\n );\n\n pdf.text(\n 20,\n 92,\n \"terms of resolution RL-2018-002, past on 18/04/2018 in my capacity as the Chairman of the association,\"\n );\n pdf.text(\n 78,\n 100,\n \"hereby solemnly declare that\"\n );\n pdf.setFontStyle(\"bold\");\n pdf.setFontSize(24);\n pdf.setTextColor(255, 0, 0);\n dedicatedStatus.dstype === \"Dedicated Hunter\"\n ? pdf.text(60, 110, \"Dedicated Hunter Status\")\n : pdf.text(51, 110, \"Dedicated Sport Person Status\");\n pdf.setFontType(\"normal\");\n pdf.setFontSize(12);\n pdf.setTextColor(0, 0, 0);\n dedicatedStatus.dstype === \"Dedicated Hunter\"\n ? pdf.text(75, 117, \"Dedicated Hunter No:\")\n : pdf.text(70, 117, \"Dedicated Sport Person No:\");\n pdf.setFontStyle(\"bold\");\n dedicatedStatus.dstype === \"Dedicated Hunter\"\n ? pdf.text(115, 117, dedicatedStatus.dsno)\n : pdf.text(120, 117, dedicatedStatus.dsno);\n pdf.setFontType(\"normal\");\n pdf.text(86, 125, \"has been awarded to:\");\n pdf.text(70, 130, \"Member Names:\");\n pdf.text(70, 135, \"Member Number:\");\n pdf.text(70, 140, \"ID Number:\");\n pdf.setFontStyle(\"bold\");\n pdf.text(\n 110,\n 130,\n res.data.members.firstname + \" \" + res.data.members.surname\n );\n pdf.text(110, 135, dedicatedStatus.memNo);\n pdf.text(110, 140, res.data.members.idno);\n pdf.setFontStyle(\"bold\");\n pdf.setFontType(\"normal\");\n pdf.setFontSize(10);\n pdf.text(\n 18,\n 150,\n \"who is a member in good standing of the association at the date of print and as per the FCA 60 of 2000 Regulation 4(1)(e)(i)\"\n );\n pdf.text(\n 18,\n 155,\n \"and complied with the provisions in terms of, Regulation 4(1)(b)(i)(ii).\"\n );\n pdf.text(\n 18,\n 163,\n \"The validity of this certifcate is subject to the maintenance of the awarded status in terms of the provisions set out in\"\n );\n pdf.text(\n 18,\n 168,\n \"Annexure (D) of the National Association of Responsible Firearm Owners Rules and Regulations guide in line with the\"\n );\n pdf.text(\n 18,\n 173,\n \"provisions of Regualtion 4(1)(c)(ii) of the Firearms Control Act 60 of 2000\"\n );\n pdf.addImage(this.props.base64Images.pdfSign, \"PNG\", 40, 175, 40, 25);\n pdf.addImage(this.props.base64Images.pdflogo, \"PNG\", 140, 180, 45, 45);\n pdf.text(40, 200, \"Johann Heinrich Scheffer\");\n pdf.text(45, 205, \"Executive Member\");\n pdf.text(25, 210, \"(Executive Member and Responsible Person)\");\n pdf.setFontSize(9);\n pdf.text(\n 20,\n 215,\n \"Duly appointed by the board in terms of resolution RL-2017-001\"\n );\n pdf.text(\n 20,\n 220,\n \"passed on 23/01/2017. The deponent acknowledges that he\"\n );\n pdf.text(\n 20,\n 225,\n \"understands and knows the contents of this solemn declaration\"\n );\n pdf.text(\n 20,\n 230,\n \"and that he has no objection in taking the declaration and that he\"\n );\n pdf.text(\n 20,\n 235,\n \"considers the declaration binding to his conscience\"\n );\n pdf.setFontStyle(\"bold\");\n pdf.text(138, 230, \"Status awarded on:\");\n pdf.text(148, 235, \"Printed:\");\n pdf.text(165, 230, this.DateFind(dedicatedStatus.approvalDate));\n pdf.text(160, 235, this.DateFind(new Date()));\n pdf.rect(135, 265, 55, 11);\n pdf.text(138, 252, \"Hunting Association :\");\n pdf.text(142, 257, \"Sport Shooting :\");\n pdf.setFontType(\"normal\");\n pdf.text(168, 252, \"FAR-1300135\");\n pdf.text(165, 257, \"FAR-1300134\");\n pdf.setFontSize(11);\n pdf.text(140, 272, \"SAPS Accredited Association\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(20, 280, \"14 Phesante Close, Graanendal, Durbanville, 7551\");\n pdf.text(20, 285, \"http://www.narfo.co.za\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(135, 285, \"NARFO Pty (Ltd) 2012/086864/07\");\n pdf.addImage(this.props.base64Images.signature2, \"PNG\", 70, 240, 30, 30);\n dedicatedStatus.dstype === \"Dedicated Hunter\"\n ? pdf.save(\"Narfo Dedicated Hunter Status.pdf\")\n : pdf.save(\"Narfo Dedicated Sport Shooter Status.pdf\");\n });\n };\n return (\n
\n
\n {(!this.props.memberState.isAdmin &&\n this.props.dedicated.Page === \"View\") ||\n this.props.dedicated.Page === \"timeline\" ||\n this.props.dedicated.Page === \"Application\" ? (\n {\n this.handleBack();\n }}\n />\n ) : this.props.memberState.isAdmin &&\n this.props.dedicated.Page === \"View\" ? (\n {\n this.handleBack();\n }}\n showTimelineButton\n timelineFunction={() => {\n this.handleTimeline();\n }}\n />\n ) : this.props.memberState.isAdmin &&\n this.props.dedicated.Page === \"Home\" ? (\n \n ) : this.props.DSApplicationState.DS_DH === false ? (\n {\n this.handleApplication();\n }}\n />\n ) : (\n \n )}\n
\n {this.props.dedicated.Page === \"timeline\" && (\n \n )}\n {this.props.dedicated.Page === \"Home\" && (\n
\n {!this.props.memberState.isAdmin && (\n
\n

\n To apply for a Dedicated Hunter or Sport Shooter Status, you\n first need to complete the online and practical assessment.\n Read through the NARFO Dedicated Status (D) found in the\n download section first. Then go to the{\" \"}\n Courses section in\n your members profile\n

\n

\n Before applying, please carfully read through the NARFO\n Declaration of Dedicated Status (K) document found in the\n Downloads section\n

\n

\n Your application(s) will not be considered if you merely want\n more firearms. Becoming a dedicated hunter/sport shooter means\n that you actively want to participate in hunting/sport\n shooting activities as well as it is required of you to do\n activities to keep your status, if you fail to do so, you may\n lose your status\n

\n
\n )}\n
\n
Dedicated Status Applications
\n
\n {_activeDedicatedStatus.length === 0 ?\n
No Dedicated Status Applications yet
:\n
\n {_activeDedicatedStatus.map((App, i) => (\n
\n {\n this.handleView(i);\n }}\n style={{ cursor: \"pointer\" }}\n >\n {App.dstype}
\n {App.applicationDate.split(\"T\", 1)}
\n \n {App.status === STATUS.Approved && (\n
{App.status}
\n )}\n {App.status === STATUS.Pending && (\n
{App.status}
\n )}\n {App.status === STATUS.Declined && (\n
{App.status}
\n )}\n {App.status === STATUS.Terminated && (\n
{App.status}
\n )}\n
\n
\n
\n
\n {App.status === \"Approved\" &&\n !this.props.memberState.isAdmin && (\n {\n this.setState({\n index: i\n });\n }}\n onClick={print}\n >\n Certificate\n \n )}\n
\n
))}\n
}\n
\n )}\n {this.props.dedicated.Page === \"View\" && (\n \n )}\n {this.props.dedicated.Page === \"Application\" && (\n \n )}\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n base64Images: state.Base64ImagesReducer.base64Images,\n dedicated: state.dedicatedStatusReducer.dedicatedStatus,\n userProfileDetails: state.loginReducer.userProfileDetails,\n memberState: state.loginReducer.memberState,\n MemberV: state.MemberViewReducer.MemberView,\n DSApplicationState: state.DSApplicationState,\n memNo: state.loginReducer.userProfileDetails.memberNumber\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onDedicatedChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_DEDICATED_STATUS,\n varValue: value,\n varName: vname\n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n DSApplicationActions: bindActionCreators(DSApplicationActions, dispatch)\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(DedicatedProfile);\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader.js\";\nimport { MEMBER_ASSESSMENT } from \"../LMSAPIEndPoints\";\nimport axios from \"axios\";\nimport { BASE } from \"../../../API/APIendpoint\";\nexport class Assessments extends Component {\n constructor(props) {\n super(props);\n this.state = {\n memCourseObj: {},\n assesmentlist: {}\n }\n }\n componentDidMount() {\n\n\n // var lessonList = [];\n // axios.get(BASE + 'api/CourseModule/withChildren', {\n // headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n // const modules = res.data;\n // const assessments = modules.map(mod => {\n // const material = mod.courseMaterial;\n // return {\n // assesmentId: mod.courseModuleId,\n // title: mod.name,\n // grade: \"O\",\n // type: mod.type,\n // hasChildren: material ? material.length > 0 : false\n // };\n // });\n // this.setState({\n // assesmentlist: assessments\n // })\n // const material = modules.map(mod => [...mod.courseMaterial]);\n // let lessons = [];\n // material.forEach(mat => {\n // mat.forEach(_lesson => {\n // lessons.push({\n // pkCourseId: _lesson.courseMaterialId,\n // title: _lesson.name,\n // content: _lesson.content,\n // assesmnetId: _lesson.courseModuleId,\n // type: _lesson.type\n // });\n // });\n // });\n // lessonList = lessons;\n // fetch(MEMBER_ASSESSMENT + \"/\" + this.props.MemberV.memNo, {\n // headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n // .then(res => res.json())\n // .then(res => {\n // let certificates = {};\n // this.state.assesmentlist.map(ass => {\n // if (ass.hasChildren && ass.type === 1) {\n // return certificates[`${ass.assesmentId}`] = [ass.title];\n // }\n // return null;\n // });\n // lessonList.map(lesson => {\n // let arr = certificates[`${lesson.assesmnetId}`];\n // if (arr) {\n // const score = res.data.find(\n // d => d.courseMaterialId === lesson.pkCourseId\n // );\n // arr.push(parseInt(score ? score.completion : 0));\n // return certificates[`${lesson.assesmnetId}`] = arr;\n // }\n // return null;\n // });\n // this.setState({\n // memCourseObj: certificates\n // });\n // })\n // });\n\n axios.get(BASE + `api/DedicatedStatus/GetMembersAssessmentProgresss?memNo=${this.props.MemberV.memNo}`, {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res =>{\n let original = [[res.data.dh.name, ...res.data.dh.progress],[res.data.dss.name,...res.data.dss.progress]]\n\n this.setState({\n memCourseObj: original\n });\n })\n .catch(function(error) {\n console.log(error);\n });\n }\n displayCourseProgress = title => {\n let assComp = this.state.memCourseObj;\n if (Object.keys(assComp).length > 0) {\n const key = Object.keys(assComp).find(_key => {\n const values = assComp[_key];\n if (values[0] === title) {\n return _key;\n }\n return null;\n });\n\n const assesment = Array.from(assComp[key]);\n let total = assesment.length - 1;\n const progress = assesment.reduce((a, b) => {\n if (typeof b !== \"string\") {\n if (b >= 70) {\n return a + 1;\n }\n }\n return a;\n }, 0);\n\n let average = assesment.reduce((a, b) => {\n if (typeof b !== \"string\") {\n return a + b;\n }\n return a;\n }, 0);\n\n average = average / (total ? total : 1);\n return (\n \n
\n {progress + \"/\" + total + \" Complete\"}\n
\n
\n {average >= 70 ? \"Passed\" : \"-\"}\n
\n
\n );\n }\n };\n\n render() {\n return (\n
\n
\n \n
\n
\n
\n {this.props.assesmentList\n .filter(l => l.type === 1)\n .map((assesment, index) => (\n {\n this.props.onCurrentAssessmentTabChange(1);\n this.props.onAssesmentChange(assesment);\n }}\n >\n
\n {assesment.title}\n
\n {this.displayCourseProgress(assesment.title)}\n
\n ))}\n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n MemberV: state.MemberViewReducer.MemberView,\n assesmentList: state.lmsReducer.assesments,\n assesmentCompletion: state.lmsReducer.assesmentCompletion,\n lessonList: state.lmsReducer.lessons\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentAssessmentTabChange: newCurrAssessmentTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_ASSESSMENT_TAB,\n currAssessmentTab: newCurrAssessmentTab\n }),\n onAssCompletionChange: assesmentCompletion =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_ASSESMENT_COMPLETION,\n assesmentCompletion: assesmentCompletion\n }),\n onQuizCompletionChange: newQuizCompletion =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_QUIZ_COMPLETION,\n quizCompletion: newQuizCompletion\n }),\n onAssesmentChange: newAssesment =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_ASSESMENT,\n assesment: newAssesment\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(Assessments);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader.js\";\nimport {MEMBER_ASSESSMENT} from \"../LMSAPIEndPoints\";\n\nexport class Lessons extends Component {\n getMemberResultForThisCourse = () => {\n fetch(MEMBER_ASSESSMENT + '/' + this.props.memberNo,{headers:{'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`}} )\n .then(res => res.json())\n .then(res => {\n this.setState({\n results: Array.from(res.data)\n })\n })\n .catch(() => {\n this.setState({\n results: 'Error'\n })\n })\n };\n\n componentDidMount(){\n this.getMemberResultForThisCourse();\n }\n\n getScore = (id) => {\n if(this.state.results === 'Error'){\n return 'Error';\n }\n if(this.state.results.length === 0){\n return 'Not Taken'\n }\n const result = this.state.results.find(res => res.courseMaterialId === id);\n return result?(result.completion + '%'):'Loading...'\n }\n\n constructor(props){\n super(props);\n this.state = {\n results: []\n }\n }\n\n displayLessonOutcome = () => {\n var secondList = this.props.lessonList.filter(lesson => {\n if(lesson.assesmnetId === this.props.assessment.assesmentId){\n return lesson;\n }\n return null;\n });\n\n return (\n
\n {secondList.map((lesson, index) => (\n \n
\n
{lesson.title}
\n
\n {this.getScore(lesson.pkCourseId)}\n
\n
\n
\n ))}\n
\n );\n };\n\n render() {\n return (\n
\n
\n {\n this.props.onCurrentAssessmentTabChange(0);\n }}\n />\n
\n {this.displayLessonOutcome()}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n MemberV: state.MemberViewReducer.MemberView,\n assessmentList: state.lmsReducer.assesments,\n assessment: state.lmsReducer.assesment,\n assesmentCompletion: state.lmsReducer.assesmentCompletion,\n lessonList: state.lmsReducer.lessons,\n memberNo: state.MemberViewReducer.MemberView.memNo\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentAssessmentTabChange: newCurrAssessmentTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_ASSESSMENT_TAB,\n currAssessmentTab: newCurrAssessmentTab\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(Lessons);\n","import OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_ADDLICENCE_URL, GET_SECTION_LIST } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport * as constFile from \"../../../store/constantFile/ConstFile\";\n\nconst styles = theme => ({\n container: {\n display: \"flex\",\n flexDirection: \"column\"\n },\n footer: {\n display: \"flex\",\n flexDirection: \"row\"\n },\n textField: {\n marginTop: \"1%\",\n marginLeft: \"20%\",\n marginRight: \"20%\",\n flex: 1,\n margin: 5,\n width: \"60%\"\n },\n grow: {\n flex: 6\n },\n grow1: {\n flex: 4\n },\n select: {\n marginTop: \"1%\",\n marginLeft: \"20%\",\n marginRight: \"20%\",\n flex: 1,\n margin: 5\n },\n button: {\n margin: 30,\n padding: 0,\n borderRadius: \"5px\",\n backgroundColor: \"white\",\n borderColor: \"#000000\",\n color: \"black\",\n display: \"inline-block\",\n flex: 1,\n width: 50,\n height: 50,\n \"&:hover\": {\n backgroundColor: \"#F5A623\",\n color: \"White\",\n border: \"none\"\n }\n },\n icon: {\n margin: 0,\n padding: 0,\n align: \"center\",\n fontSize: 50\n }\n});\n\nclass AddFirearmDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Section_List: [],\n isValid: false,\n showValid: true\n };\n }\n\n handleSubmit = () => {\n this.checkNotEmpty();\n if ( this.state.isValid \n && !(this.props.newlicenceDetails.Firearm === \"\") \n && !(this.props.newlicenceDetails.Make === \"\") \n && !(this.props.newlicenceDetails.Model === \"\") \n && !(this.props.newlicenceDetails.Caliber === \"\") \n && !(this.props.newlicenceDetails.SerialNumber === \"\") \n && !(this.props.newlicenceDetails.LicenseNo === \"\") \n && !(this.props.newlicenceDetails.IssueDate === \"\") \n && !(this.props.newlicenceDetails.ExpiryDate === \"\")\n ) {\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n\n const JSONbody = {\n licenseNo: this.props.newlicenceDetails.LicenseNo,\n firearm: this.props.newlicenceDetails.Firearm,\n make: this.props.newlicenceDetails.Make,\n model: this.props.newlicenceDetails.Model,\n caliber: this.props.newlicenceDetails.Caliber,\n serialNumber: this.props.newlicenceDetails.SerialNumber,\n licenseType: this.props.newlicenceDetails.LicenseType,\n section: this.props.newlicenceDetails.Section,\n expiryDate: this.props.newlicenceDetails.ExpiryDate,\n issueDate: this.props.newlicenceDetails.IssueDate,\n memNo: this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userDetails.memberNumber, \n Custom:constFile.CFALSE \n }\n axios.post(BASE + GET_ADDLICENCE_URL,JSONbody,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(this.setState({ isValid: false }))\n .then(this.componentDidMount());\n }\n };\n\n handleChange = name => event => {\n this.props.onLicenceChange(event.target.value, [name]);\n this.setState({ showValid: true });\n this.setState({ isValid: false });\n this.checkNotEmpty();\n };\n\n checkNotEmpty = () => {\n let V = true;\n if (\n this.props.newlicenceDetails.Firearm === \"\" ||\n this.props.newlicenceDetails.Firearm === null ||\n this.props.newlicenceDetails.Firearm === undefined ||\n this.props.newlicenceDetails.Make === \"\" ||\n this.props.newlicenceDetails.Make === null ||\n this.props.newlicenceDetails.Make === undefined ||\n this.props.newlicenceDetails.Model === \"\" ||\n this.props.newlicenceDetails.Model === null ||\n this.props.newlicenceDetails.Model === undefined ||\n this.props.newlicenceDetails.Caliber === \"\" ||\n this.props.newlicenceDetails.Caliber === null ||\n this.props.newlicenceDetails.Caliber === undefined ||\n this.props.newlicenceDetails.SerialNumber === \"\" ||\n this.props.newlicenceDetails.SerialNumber === null ||\n this.props.newlicenceDetails.SerialNumber === undefined ||\n this.props.newlicenceDetails.IssueDate === \"\" ||\n this.props.newlicenceDetails.IssueDate === null ||\n this.props.newlicenceDetails.IssueDate === undefined ||\n this.props.newlicenceDetails.ExpiryDate === \"\" ||\n this.props.newlicenceDetails.ExpiryDate === null ||\n this.props.newlicenceDetails.ExpiryDate === undefined\n ) {\n V = false;\n }\n this.setState({\n isValid: V\n });\n };\n\n componentDidMount() {\n this.props.onLicenceChange(\"\", \"Firearm\");\n this.props.onLicenceChange(\"\", \"Make\");\n this.props.onLicenceChange(\"\", \"Model\");\n this.props.onLicenceChange(\"\", \"Caliber\");\n this.props.onLicenceChange(\"\", \"SerialNumber\");\n this.props.onLicenceChange(\"\", \"LicenseNo\");\n\n this.setState({ showValid: false });\n fetch(BASE + GET_SECTION_LIST,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(data => {\n this.setState({\n isLoaded: true,\n Section_List: data\n });\n });\n\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if (this.state.showValid) {\n if (!value) {\n return false;\n }\n if (value.length < 0) {\n return false;\n }\n }\n return true;\n });\n }\n\n\n render() {\n const { classes } = this.props;\n return (\n
\n
{e.preventDefault()}}>\n \n \n \n \n \n \n \n \n }\n >\n {this.state.Section_List.map((activityType, index) => (\n \n ))}\n \n \n \n
\n \n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n }\n >\n Previous\n \n
\n \n Save\n \n
\n \n \n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n currLicenseTab: state.membersAreaReducer.membersArea.currentLicenseTab,\n userDetails: state.loginReducer.userProfileDetails,\n memberState: state.loginReducer.memberState,\n MemberV: state.MemberViewReducer.MemberView,\n newlicenceDetails: state.licensesReducer.licence\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onUserLicenseChange: newUserLicensesArray =>\n dispatch({\n type: actionTypes.UPDATE_LICENCE_LIST,\n payload: newUserLicensesArray\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onLicenceChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_LICENCE,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(AddFirearmDetails));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_ADDLICENCE_URL } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport * as constFile from \"../../../store/constantFile/ConstFile\";\n\nconst styles = theme => ({\n container: {\n display: \"flex\",\n flexDirection: \"column\"\n },\n footer: {\n display: \"flex\",\n flexDirection: \"row\"\n },\n textField: {\n marginTop: \"1%\",\n marginLeft: \"20%\",\n marginRight: \"20%\",\n width:\"60%\",\n flex: 1,\n margin: 5\n },\n grow: {\n flex: 6\n },\n grow1: {\n flex: 4\n },\n select: {\n marginTop: \"1%\",\n marginLeft: \"20%\",\n marginRight: \"20%\",\n width:\"60%\",\n flex: 1,\n margin: 5\n },\n button: {\n margin: 30,\n padding: 0,\n borderRadius: \"5px\",\n backgroundColor: \"white\",\n color: \"black\",\n borderColor:\"#000000\",\n display: \"inline-block\",\n flex: 1,\n width: 50,\n height: 50,\n '&:hover': {\n backgroundColor: \"#F5A623\",\n color:'White',\n border:\"none\"\n }, \n },\n icon: {\n margin: 0,\n padding: 0,\n align: \"center\",\n fontSize: 50\n }\n});\n\nclass AddLicenseDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isValid:false,\n showValid:true \n };\n }\n\n handleSubmit = () => {\n this.checkNotEmpty()\n if(this.state.isValid \n && !(this.props.newlicenceDetails.LicenseName ===\"\")\n && !(this.props.newlicenceDetails.LicenseNo === \"\")\n && !(this.props.newlicenceDetails.IssueDate === \"\")\n && !(this.props.newlicenceDetails.ExpiryDate === \"\")){\n\n const JSONbody = {\n LicenseName: this.props.newlicenceDetails.LicenseName,\n LicenseNo: this.props.newlicenceDetails.LicenseNo,\n IssueDate: this.props.newlicenceDetails.IssueDate,\n ExpiryDate: this.props.newlicenceDetails.ExpiryDate,\n MemNo: (this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userDetails.memberNumber),\n Custom:constFile.CTRUE \n } \n Axios.post(BASE + GET_ADDLICENCE_URL,JSONbody,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n }\n\n };\n\n handleChange = name => event => {\n this.props.onLicenceChange(event.target.value, [name]);\n this.setState({showValid:true})\n this.setState({isValid:false})\n this.checkNotEmpty()\n };\n\n checkNotEmpty = () => {\n let V = true;\n if (this.props.newlicenceDetails.LicenseName === \"\" ||\n this.props.newlicenceDetails.LicenseName === null || \n this.props.newlicenceDetails.LicenseName === undefined || \n this.props.newlicenceDetails.LicenseNo === \"\" ||\n this.props.newlicenceDetails.LicenseNo === null || \n this.props.newlicenceDetails.LicenseNo === undefined ||\n this.props.newlicenceDetails.IssueDate === \"\" ||\n this.props.newlicenceDetails.IssueDate === null || \n this.props.newlicenceDetails.IssueDate === undefined ||\n this.props.newlicenceDetails.ExpiryDate === \"\" ||\n this.props.newlicenceDetails.ExpiryDate === null || \n this.props.newlicenceDetails.ExpiryDate === undefined )\n {V = false;}\n this.setState({\n isValid: V\n });\n }\n\n componentDidMount()\n {\n this.props.onLicenceChange(\"\",\"Firearm\")\n this.props.onLicenceChange(\"\",\"Make\")\n this.props.onLicenceChange(\"\",\"Model\")\n this.props.onLicenceChange(\"\",\"Caliber\")\n this.props.onLicenceChange(\"\",\"SerialNumber\")\n this.props.onLicenceChange(\"\",\"LicenseNo\")\n \n this.setState({showValid:false})\n\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if(this.state.showValid){\n if (!value) {\n return false;\n }\n if (value.length < 0) {\n return false;\n }}\n return true;\n });\n\n}\n\n render() {\n const { classes } = this.props;\n\n return (\n
\n
{e.preventDefault()}} >\n \n \n \n \n\n \n
\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")}\n >\n Previous\n \n
\n \n Add\n \n
\n \n \n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n currLicenseTab: state.membersAreaReducer.currentLicenseTab,\n userDetails: state.loginReducer.userProfileDetails,\n memberState: state.loginReducer.memberState,\n MemberV: state.MemberViewReducer.MemberView,\n newlicenceDetails: state.licensesReducer.licence\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n\n onLicenceChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_LICENCE,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(AddLicenseDetails));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport AddFirearmDetails from \"./AddFirearmDetails\";\nimport AddLicenseDetails from \"./AddLicenseDetails\";\n\nconst buttonStyles = {\n backgroundColor: \"#FFFFFF\",\n borderColor: \"#000000\",\n display: \"inline-block\",\n \"&:hover\": {\n backgroundColor: \"#F5A623\",\n color: \"White\",\n border: \"none\"\n },\n \"&:active\": {\n backgroundColor: \"#F5A623\"\n },\n width: \"20vw\",\n maxWidth: \"300px\",\n padding: \"10px\",\n color: \"Black\",\n marginTop: \"5%\",\n borderRadius: \"5px\",\n boxShadow: \" 0 0px 5px grey\",\n fontSize: \"16px\",\n fontWeight: 600,\n border: \"1.5px solid black\"\n};\nconst styles = theme => ({\n container: {\n display: \"flex\",\n flexDirection: \"column\"\n },\n footer: {\n display: \"flex\",\n flexDirection: \"row\"\n },\n textField: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n\n flex: 1,\n margin: 5\n },\n grow: {\n flex: 6\n },\n grow1: {\n flex: 4\n },\n select: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n width: \"60%\",\n flex: 1,\n margin: 5\n },\n buttonDiv: {\n textAlign: \"center\",\n margin: \"0 18.5%\"\n },\n buttonLeft: {\n float: \"left\",\n marginRight: \"1%\",\n marginLeft: \"3%\",\n margin: theme.spacing.unit,\n ...buttonStyles\n },\n buttonRight: {\n float: \"right\",\n marginLeft: \"1%\",\n marginRight: \"3%\",\n margin: theme.spacing.unit,\n ...buttonStyles\n },\n orangeBg: {\n ...buttonStyles,\n backgroundColor: \"#F5A623\",\n color: \"White\",\n border: \"none\",\n marginLeft: \"1%\",\n marginRight: \"3%\",\n margin: theme.spacing.unit\n }\n});\n\nclass LicenseAddNew extends Component {\n constructor(props) {\n super(props);\n this.state = {\n fireClicked: false,\n customClicked: false\n };\n }\n\n handleChange = name => event => {\n this.props.onLicenceChange(event.target.value, name);\n this.setState({\n fireClicked: true,\n customClicked: false\n });\n };\n handleBChange = name => event => {\n this.props.onLicenceChange(event.target.value, name);\n this.setState({\n fireClicked: false,\n customClicked: true\n });\n };\n ActionSelect() {\n if (this.props.newlicenceDetails.show === \"Firearm Licence\") {\n return ;\n } else if (this.props.newlicenceDetails.show === \"Custom Licence\") {\n return ;\n }\n }\n\n render() {\n const { classes } = this.props;\n\n return (\n
\n
\n {\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n }}\n showFilledAddButton\n addFunction={() => {\n this.props.onCurrentLicenseTabChange(\"4\", \"currentLicenseTab\");\n }}\n />\n
\n {\n e.preventDefault();\n }}\n >\n {/* {place buttons here that shall triger the various tabs} */}\n
\n \n Firearm\n \n\n \n Custom\n \n
\n \n {this.ActionSelect()}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n currLicenseTab: state.membersAreaReducer.membersArea.currentLicenseTab,\n newlicenceDetails: state.licensesReducer.licence\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onLicenceChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_LICENCE,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(LicenseAddNew));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\n\nconst styles = theme => ({\n root: {\n width: \"100%\",\n flexGrow: 1\n },\n grow: {\n flexGrow: 1\n },\n title: {\n fontWeight: \"bold\",\n marginLeft: 12,\n marginRight: 20\n },\n icon: {\n color: \"#800000\"\n },\n\n iconHover: {\n margin: theme.spacing.unit / 2,\n \"&:hover\": {\n color: \"#000000\"\n }\n },\n\n fab: {\n backgroundColor: \"#000000\",\n width: 35,\n height: \"1vh\",\n margin: theme.spacing.unit / 4,\n color: \"#FFFFFF\",\n \"&:hover\": {\n color: \"#6BC20A\",\n backgroundColor: \"#000000\"\n }\n }\n});\n\nfunction LicensedFireArmHeader(props) {\n const { classes } = props;\n\n return (\n
\n {props.currentLicenseTab === \"0\" || props.currentLicenseTab === \"3\" ? (\n {\n props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n }}\n />\n ) : (\n {\n props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n }}\n showFilledAddButton\n addFunction={() => {\n props.onCurrentLicenseTabChange(\"4\", \"currentLicenseTab\");\n }}\n />\n )}\n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n currLicenseTab: state.membersAreaReducer.membersArea.currentLicenseTab\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onLicenceChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_LICENCE,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(LicensedFireArmHeader));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_UPDATELICENCE_URL } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport * as constFile from \"../../../store/constantFile/ConstFile\";\nimport LicensedFireArmHeader from \"./LicensedFireArmHeader\";\n\nconst styles = theme => ({\n container: {\n display: \"flex\",\n flexDirection: \"column\"\n },\n footer: {\n display: \"flex\",\n flexDirection: \"row\"\n },\n textField: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n width: \"60%\",\n flex: 1,\n margin: 5\n },\n grow: {\n flex: 6\n },\n grow1: {\n flex: 4\n },\n select: {\n marginLeft: \"20%\",\n marginTop: \"1%\",\n marginRight: \"20%\",\n flex: 1,\n margin: 5\n },\n button: {\n margin: 30,\n padding: 0,\n borderRadius: \"5px\",\n backgroundColor: \"white\",\n color: \"black\",\n borderColor: \"#000000\",\n display: \"inline-block\",\n flex: 1,\n width: 50,\n height: 50,\n '&:hover': {\n backgroundColor: \"#F5A623\",\n color: 'White',\n border: \"none\"\n },\n },\n icon: {\n margin: 0,\n padding: 0,\n align: \"center\",\n fontSize: 50\n }\n});\n\nclass UpdateCustomLicense extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isValid: false,\n showValid: true\n };\n }\n handleSubmit = e => {\n e.preventDefault();\n this.checkNotEmpty()\n if (this.state.isValid\n && !(this.props.newlicenceDetails.LicenseName === \"\")\n && !(this.props.newlicenceDetails.Model === \"\")\n && !(this.props.newlicenceDetails.Code === \"\")\n && !(this.props.newlicenceDetails.FirstIssueDate === \"\")\n && !(this.props.newlicenceDetails.LicenseNo === \"\")\n && !(this.props.newlicenceDetails.IssueDate === \"\")\n && !(this.props.newlicenceDetails.ExpiryDate === \"\")\n && !(this.props.newlicenceDetails.Issued === \"\")) {\n\n const JSONbody = {\n LicenseNo: this.props.newlicenceDetails.LicenseNo,\n LicenseName: this.props.newlicenceDetails.LicenseName,\n Model: this.props.newlicenceDetails.Model,\n Code: this.props.newlicenceDetails.Code,\n SerialNumber: this.props.newlicenceDetails.SerialNumber,\n FirstIssueDate: this.props.newlicenceDetails.FirstIssueDate,\n IssueDate: this.props.newlicenceDetails.IssueDate,\n ExpiryDate: this.props.newlicenceDetails.ExpiryDate,\n Issued: this.props.newlicenceDetails.Issued,\n MemNo: (this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userDetails.memberNumber),\n Custom: constFile.CTRUE\n }\n Axios({\n url: BASE + GET_UPDATELICENCE_URL,\n data: JSONbody,\n method: \"post\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\"))\n }\n };\n handleChange = name => event => {\n this.props.onAddLicenseDetailsChange(event.target.value, [name]);\n this.setState({ showValid: true })\n this.setState({ isValid: false })\n this.checkNotEmpty()\n };\n\n checkNotEmpty = () => {\n let V = true;\n if (this.props.newlicenceDetails.LicenseName === \"\" ||\n this.props.newlicenceDetails.LicenseName === null ||\n this.props.newlicenceDetails.LicenseName === undefined ||\n this.props.newlicenceDetails.Model === \"\" ||\n this.props.newlicenceDetails.Model === null ||\n this.props.newlicenceDetails.Model === undefined ||\n this.props.newlicenceDetails.FirstIssueDate === \"\" ||\n this.props.newlicenceDetails.FirstIssueDate === null ||\n this.props.newlicenceDetails.FirstIssueDate === undefined ||\n this.props.newlicenceDetails.LicenseNo === \"\" ||\n this.props.newlicenceDetails.LicenseNo === null ||\n this.props.newlicenceDetails.LicenseNo === undefined ||\n this.props.newlicenceDetails.Issued === \"\" ||\n this.props.newlicenceDetails.Issued === null ||\n this.props.newlicenceDetails.Issued === undefined ||\n this.props.newlicenceDetails.IssueDate === \"\" ||\n this.props.newlicenceDetails.IssueDate === null ||\n this.props.newlicenceDetails.IssueDate === undefined ||\n this.props.newlicenceDetails.ExpiryDate === \"\" ||\n this.props.newlicenceDetails.ExpiryDate === null ||\n this.props.newlicenceDetails.ExpiryDate === undefined) { V = false; }\n this.setState({\n isValid: V\n });\n }\n\n componentDidMount() {\n this.setState({ showValid: false })\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if (this.state.showValid) {\n if (!value) {\n return false;\n }\n if (value.length < 0) {\n return false;\n }\n }\n return true;\n });\n\n }\n\n render() {\n const { classes } = this.props;\n return (\n\n
\n
\n \n\n
\n
\n
\n \n \n \n\n \n\n \n\n \n\n \n\n \n
\n \n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n }\n >\n Previous\n \n
\n \n Update\n \n
\n \n \n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n currActivityTab: state.membersAreaReducer.currentActivityTab,\n currentLicenseTab: state.membersAreaReducer.currentLicenseTab,\n userDetails: state.loginReducer.userProfileDetails,\n memberState: state.loginReducer.memberState,\n MemberV: state.MemberViewReducer.MemberView,\n newlicenceDetails: state.licensesReducer.licence\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onAddLicenseDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_LICENCE,\n varValue: value,\n varName: variableName\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(UpdateCustomLicense));\n","import OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport React, { Component } from \"react\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_SECTION_LIST, GET_UPDATELICENCE_URL } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport * as constFile from \"../../../store/constantFile/ConstFile\";\nimport LicensedFireArmHeader from \"./LicensedFireArmHeader\";\n\nconst styles = theme => ({\n container: {\n display: \"flex\",\n flexDirection: \"column\"\n },\n footer: {\n display: \"flex\",\n flexDirection: \"row\"\n },\n textField: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n width: \"60%\",\n flex: 1,\n margin: 5\n },\n grow: {\n flex: 6\n },\n grow1: {\n flex: 4\n },\n select: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n marginTop: \"1%\",\n width: \"60%\",\n flex: 1,\n margin: 5\n },\n button: {\n margin: 30,\n padding: 10,\n borderRadius: \"5px\",\n backgroundColor: \"white\",\n color: \"black\",\n borderColor: \"#000000\",\n display: \"inline-block\",\n flex: 1,\n width: 90,\n height: 50,\n \"&:hover\": {\n backgroundColor: \"#F5A623\",\n color: \"White\",\n border: \"none\"\n }\n },\n icon: {\n margin: 0,\n padding: 0,\n align: \"center\",\n fontSize: 50\n }\n});\n\nclass UpdateLicense extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Section_List: [],\n isValid: false,\n showValid: true\n };\n }\n\n handleSubmit = e => {\n e.preventDefault();\n this.checkNotEmpty();\n if (\n this.state.isValid &&\n !(this.props.newlicenceDetails.Firearm === \"\") &&\n !(this.props.newlicenceDetails.Make === \"\") &&\n !(this.props.newlicenceDetails.Model === \"\") &&\n !(this.props.newlicenceDetails.Caliber === \"\") &&\n !(this.props.newlicenceDetails.SerialNumber === \"\") &&\n !(this.props.newlicenceDetails.Section === \"\") &&\n !(this.props.newlicenceDetails.LicenseNo === \"\") &&\n !(this.props.newlicenceDetails.IssueDate === \"\") &&\n !(this.props.newlicenceDetails.ExpiryDate === \"\")\n ) {\n fetch(\n BASE + GET_UPDATELICENCE_URL,\n {\n method: \"POST\",\n body: JSON.stringify({\n LicenseNo: this.props.newlicenceDetails.LicenseNo,\n Firearm: this.props.newlicenceDetails.Firearm,\n Make: this.props.newlicenceDetails.Make,\n Model: this.props.newlicenceDetails.Model,\n Caliber: this.props.newlicenceDetails.Caliber,\n SerialNumber: this.props.newlicenceDetails.SerialNumber,\n LicenseType: this.props.newlicenceDetails.LicenseType,\n Section: this.props.newlicenceDetails.Section,\n ExpiryDate: this.props.newlicenceDetails.ExpiryDate,\n IssueDate: this.props.newlicenceDetails.IssueDate,\n MemNo: this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userDetails.memberNumber,\n Custom: constFile.CFALSE\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }\n );\n this.setState({ isValid: false });\n this.componentDidMount();\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n }\n };\n\n handleChange = name => event => {\n this.props.onAddLicenseDetailsChange(event.target.value, [name]);\n this.setState({ showValid: true });\n this.setState({ isValid: false });\n this.checkNotEmpty();\n };\n\n checkNotEmpty = () => {\n let V = true;\n if (\n this.props.newlicenceDetails.Firearm === \"\" ||\n this.props.newlicenceDetails.Firearm === null ||\n this.props.newlicenceDetails.Firearm === undefined ||\n this.props.newlicenceDetails.Make === \"\" ||\n this.props.newlicenceDetails.Make === null ||\n this.props.newlicenceDetails.Make === undefined ||\n this.props.newlicenceDetails.Model === \"\" ||\n this.props.newlicenceDetails.Model === null ||\n this.props.newlicenceDetails.Model === undefined ||\n this.props.newlicenceDetails.Caliber === \"\" ||\n this.props.newlicenceDetails.Caliber === null ||\n this.props.newlicenceDetails.Caliber === undefined ||\n this.props.newlicenceDetails.SerialNumber === \"\" ||\n this.props.newlicenceDetails.SerialNumber === null ||\n this.props.newlicenceDetails.SerialNumber === undefined ||\n this.props.newlicenceDetails.Section === \"\" ||\n this.props.newlicenceDetails.Section === null ||\n this.props.newlicenceDetails.Section === undefined ||\n this.props.newlicenceDetails.IssueDate === \"\" ||\n this.props.newlicenceDetails.IssueDate === null ||\n this.props.newlicenceDetails.IssueDate === undefined ||\n this.props.newlicenceDetails.ExpiryDate === \"\" ||\n this.props.newlicenceDetails.ExpiryDate === null ||\n this.props.newlicenceDetails.ExpiryDate === undefined\n ) {\n V = false;\n }\n this.setState({\n isValid: V\n });\n };\n componentDidMount() {\n this.setState({ showValid: false });\n\n fetch(BASE + GET_SECTION_LIST, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n })\n .then(res => res.json())\n .then(json => {\n this.setState({\n isLoaded: true,\n Section_List: json,\n isValid: false,\n showValid: true\n });\n });\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if (this.state.showValid) {\n if (!value) {\n return false;\n }\n if (value.length < 0) {\n return false;\n }\n }\n return true;\n });\n }\n render() {\n const { classes } = this.props;\n\n return (\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n\n \n }\n >\n {this.state.Section_List.map((activityType, index) => (\n \n ))}\n \n\n \n \n\n
\n \n this.props.onCurrentLicenseTabChange(\n \"0\",\n \"currentLicenseTab\"\n )\n }\n >\n Previous\n \n
\n this.handleSubmit(e)}\n >\n Update\n \n
\n \n \n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n currActivityTab: state.membersAreaReducer.currentActivityTab,\n userDetails: state.loginReducer.userProfileDetails,\n memberState: state.loginReducer.memberState,\n MemberV: state.MemberViewReducer.MemberView,\n newlicenceDetails: state.licensesReducer.licence\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onAddLicenseDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_LICENCE,\n varValue: value,\n varName: variableName\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(UpdateLicense));\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as constFile from \"../../../store/constantFile/ConstFile\";\nimport UpdateCustomLicense from \"./UpdateCustomLicense\";\nimport UpdateLicense from \"./UpdateLicense\";\n\nclass LicensedFireArmUpdate extends Component {\n \n ActionSelect() {\n if (this.props.newlicenceDetails.Custom === constFile.CTRUE ) {\n return ;\n } else if (this.props.newlicenceDetails.Custom === constFile.CFALSE) {\n return ;\n }\n }\n\n\n render() {\n return (\n
\n {this.ActionSelect()}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n currActivityTab: state.membersAreaReducer.currentActivityTab,\n newlicenceDetails: state.licensesReducer.licence\n };\n};\n\nexport default connect(\n mapStateToProps,\n null\n)(LicensedFireArmUpdate);\n","import { withStyles } from \"@material-ui/core/styles\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { BASE, DELETE_LICENCE } from \"../../../API/APIendpoint\";\nimport Axios from \"axios\";\nimport { toast } from 'react-toastify';\ntoast.configure();\nconst styles = {\n card: {\n minWidth: 500\n },\n overall: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"80vh\",\n overflow: \"auto\"\n },\n root: {\n flex: 2,\n flexDirection: \"row\",\n borderBottom: \"1.5px solid #D8D8D8\"\n },\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20\",\n paddingRight: 20,\n color: \"black\"\n },\n content: {\n width: \"20%\",\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\"\n }\n};\n\nclass LicenseView extends Component {\n onDeleteLicence = () => {\n Axios({\n url: `${BASE}${DELETE_LICENCE}${this.props.licenceDetails.SerialNumber}`,\n method: \"post\",\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`}\n }).then(response =>{\n if(!response.data.isFound){\n toast.error(response.data.message)\n } else {\n toast.success(response.data.message);\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n }\n }\n );\n }\n render() {\n const licenseViewInfo = (name, value) => (\n \n {name}\n {`: ${value}`}\n \n );\n const DisplayLicenseDetails = (\n
\n \n \n {licenseViewInfo(\"Firearm\", this.props.licenceDetails.Firearm)}\n {licenseViewInfo(\"Make\", this.props.licenceDetails.Make)}\n {licenseViewInfo(\"Caliber\", this.props.licenceDetails.Caliber)}\n {licenseViewInfo(\"Serial No\", this.props.licenceDetails.SerialNumber)}\n {licenseViewInfo(\"License No\", this.props.licenceDetails.LicenseNo)}\n {licenseViewInfo(\"Section\", this.props.licenceDetails.Section)}\n {licenseViewInfo(\"Issue Date\", this.props.licenceDetails.IssueDate.substring(0, 10))}\n {licenseViewInfo(\"Expirey Date\", this.props.licenceDetails.ExpiryDate.substring(0, 10))}\n \n
\n
\n );\n\n return (\n
\n
\n {\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n }}\n showEditButton\n editFunction={() => {\n this.props.onCurrentLicenseTabChange(\"3\", \"currentLicenseTab\");\n }}\n showDeleteForeverButton\n deleteForever={() => {\n this.onDeleteLicence();\n }}\n />\n
\n
\n {DisplayLicenseDetails}\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n currActivityTab: state.membersAreaReducer.currentActivityTab,\n licenceDetails: state.licensesReducer.licence\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onLicenceChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_LICENCE,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(LicenseView));","import { withStyles } from \"@material-ui/core/styles\";\nimport React, { Component } from 'react';\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { BASE, DELETE_LICENCE } from \"../../../API/APIendpoint\";\nimport Axios from \"axios\";\n\n\nconst styles = {\n card: {\n minWidth: 500\n },\n overall: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"80vh\",\n overflow: \"auto\"\n },\n root: {\n flex: 2,\n flexDirection: \"row\",\n borderBottom: \"1.5px solid #D8D8D8\",\n },\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20\",\n paddingRight: 20,\n color: \"black\"\n },\n content: {\n width: \"20%\",\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\"\n }\n};\n\nclass LicenseViewCustom extends Component {\n onDeleteLicence = () => {\n Axios({\n url: `${BASE}${DELETE_LICENCE}${this.props.licenceDetails.SerialNumber}`,\n method: \"post\",\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`}\n }).then(() =>\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n );\n }\n render() {\n const licenseViewInfo = (name, value) => (\n \n {name}\n {`: ${value}`}\n \n );\n const DisplayLicenseDetails = (\n
\n \n \n {licenseViewInfo(\"Name\", this.props.licenceDetails.LicenseName)}\n {licenseViewInfo(\"Model\", this.props.licenceDetails.Model)}\n {licenseViewInfo(\"License No.\", this.props.licenceDetails.LicenseNo)}\n {this.props.licenceDetails.Code !== null ?\n licenseViewInfo(\"Code\", this.props.licenceDetails.Code) :\n null}\n {licenseViewInfo(\"Issue Date\", this.props.licenceDetails.IssueDate.substring(0, 10))}\n {licenseViewInfo(\"Expirey Date\", this.props.licenceDetails.ExpiryDate.substring(0, 10))}\n {licenseViewInfo(\"Issued\", this.props.licenceDetails.Issued)}\n \n
\n
\n );\n return (\n
\n
\n {\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n }}\n showEditButton\n editFunction={() => {\n this.props.onCurrentLicenseTabChange(\"3\", \"currentLicenseTab\");\n }}\n showDeleteForeverButton\n deleteForever={() => {\n this.onDeleteLicence();\n }}\n />\n
\n
\n {DisplayLicenseDetails}\n
\n
\n )\n }\n}\n\nconst mapStateToProps = state => {\n return {\n currActivityTab: state.membersAreaReducer.currentActivityTab,\n licenceDetails: state.licensesReducer.licence\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onLicenceChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_LICENCE,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(LicenseViewCustom));\n\n\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as constFile from \"../../../store/constantFile/ConstFile\";\nimport LicenseView from \"./LicenseView\";\nimport LicenseViewCustom from \"./LicenseViewCustom\";\n\nclass LicenseViewDetails extends Component {\n \n ActionSelect() { // to do -- update this file to point to Display certain bits \n if (this.props.newlicenceDetails.Custom === constFile.CTRUE ) {\n return ;\n } else if (this.props.newlicenceDetails.Custom === constFile.CFALSE) {\n return ;\n }\n }\n render() {\n return (\n
\n {this.ActionSelect()}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n currActivityTab: state.membersAreaReducer.currentActivityTab,\n newlicenceDetails: state.licensesReducer.licence\n };\n};\n\nexport default connect(\n mapStateToProps,\n null\n)(LicenseViewDetails);\n","import React, { Component } from \"react\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport axios from \"axios\";\nimport { BASE } from \"../../../API/APIendpoint\";\nclass LoyaltyDays extends Component {\n constructor(props) {\n super(props);\n }\n componentDidMount() {\n this.props.onCommissionTabChange(\"0\");\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n this.props.onCurrentLMSTabChange(0);\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n let _memNo = this.props.userDetails.adminLevel && window.location.href.substring(\n window.location.href.lastIndexOf(\"/\") + 1) !== \"MembersArea\"?\n this.props.MemberV.memNo:\n this.props.memberDetails.memberNumber\n axios.get(BASE + \"api/LoyaltyDaysAdjust/getLoyaltyDays/\" + _memNo,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(resp => {\n this.props.onLoyaltyDaysGet(resp.data.daysList)\n this.props.onLoyaltyDaysArrayRecordGet(resp.data.daysHistory)\n this.props.onLoyaltyDaysRecordGet(resp.data.daysAdded)\n\n // this.props.onLoyaltyDaysArrayRecordGet(resp.data.daysHistory.result.value.daysRecordObject)\n // this.props.onLoyaltyDaysRecordGet(resp.data.daysAdded.value.daysObject)\n\n })\n }\n render() {\n const totalNumDays = (!this.props.memLoyaltyRecord.dedicatedStatusDays ?\n null :\n this.props.memLoyaltyRecord.dedicatedStatusDays) +\n (!this.props.memLoyaltyRecord.courseDays ?\n null :\n this.props.memLoyaltyRecord.courseDays) +\n (!this.props.memLoyaltyRecord.endorsementDays ?\n null :\n this.props.memLoyaltyRecord.endorsementDays) +\n (!this.props.memLoyaltyRecord.generalActivityDays ?\n null :\n this.props.memLoyaltyRecord.generalActivityDays);\n const loyaltyInfo = (daysNum, typeDays, tabChangeNum) => (\n !daysNum ? null :\n \n {typeDays}\n \n \n \n \n );\n return(\n
\n \n
\n
\n The loyalty program adds days to your membership every time you submit an activity or complete a course or successfully apply for a dedicated status. \n The program runs on an annual cycle and you can earn a maximum of 30 loyalty days for each year cycle.\n
\n
\n
Loyalty Days History
\n
\n
\n {totalNumDays === 0 ? \n

You have not earned loyalty days yet...

:\n
\n \n \n \n \n \n \n {loyaltyInfo(this.props.memLoyaltyRecord.dedicatedStatusDays, \n \"Dedicated Status Days Earned\",\n \"1\")}\n {loyaltyInfo(this.props.memLoyaltyRecord.courseDays, \n \"Course Days Earned\",\n \"2\")}\n {loyaltyInfo(this.props.memLoyaltyRecord.endorsementDays, \n \"Endorsement Days Earned\",\n \"3\")} \n {loyaltyInfo(this.props.memLoyaltyRecord.generalActivityDays, \n \"Activity Days Earned\",\n \"4\")}\n \n
Type Of Days EarnedTotal
\n
}\n
\n )\n }\n}\nconst mapStateToProps = state => {\nreturn {\n memberDetails: state.loginReducer.memberObject,\n memLoyaltyRecord: state.LoyaltyDaysReducer.loyaltyRecord,\n MemberV: state.MemberViewReducer.MemberView,\n userDetails: state.loginReducer.userProfileDetails\n };\n};\nconst mapDispatchToProps = dispatch => {\nreturn {\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onLoyaltyDaysGet: loyaltyDaysObject =>\n dispatch({\n type:actionTypes.GET_LOYALTY_DAYS,\n loyaltyDaysObject: loyaltyDaysObject\n }),\n onLoyaltyDaysArrayRecordGet: aRecord =>\n dispatch({ \n type: actionTypes.GET_LOYALTY_DAYS_ARRAY, \n loyaltyRecordArray: aRecord \n }),\n onLoyaltyDaysRecordGet: record =>\n dispatch({ \n type: actionTypes.GET_MEM_LOYALTY_RECORD, \n loyaltyRecord: record \n }),\n };\n};\nexport default connect(\nmapStateToProps,\nmapDispatchToProps\n)(LoyaltyDays);","import React from \"react\";\nimport { formatDate } from \"../activitiesPage/ActivityDetails\"\nfunction DaysRecordMapper(props) {\n return(\n
\n {props.filteredDaysRecord.length > 0 ? (\n props.filteredDaysRecord.map((fdrLooper, index) => (\n
\n {fdrLooper.name}\n
{props.dateDescription} {formatDate(fdrLooper.date)}
\n
Days Earned: {fdrLooper.days}
\n
\n ))\n ) : (

Could not find any record matching given criteria

)}\n
\n )\n}\nexport default DaysRecordMapper;","import React, { Component } from \"react\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport DaysRecordMapper from \"./DaysRecordMapper\"\nclass DedicatedStatusDaysEarned extends Component {\n constructor(props) {\n super(props);\n }\n render() {\n const dedicatedStatusDaysE = this.props.loyaltyRecordArray.filter(\n element => element.name === \"Dedicated Hunter\" || element.name === \"Dedicated Sports Person\"\n )\n return(\n
\n this.props.onLoyaltyDaysTabChange(\"0\")}\n totalDays={this.props.memLoyaltyRecord.dedicatedStatusDays}\n />\n \n
\n )\n }\n}\nconst mapStateToProps = state => {\nreturn {\n memLoyaltyRecord: state.LoyaltyDaysReducer.loyaltyRecord,\n loyaltyRecordArray: state.LoyaltyDaysReducer.loyaltyRecordArray\n };\n};\nconst mapDispatchToProps = dispatch => {\nreturn {\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n })\n };\n};\nexport default connect(\nmapStateToProps,\nmapDispatchToProps\n)(DedicatedStatusDaysEarned);\n","import React, { Component } from \"react\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport DaysRecordMapper from \"./DaysRecordMapper\"\nclass CourseDaysEarned extends Component {\n constructor(props) {\n super(props);\n }\n render() {\n const _courseDays = this.props.loyaltyRecordArray.filter(\n element => element.name === \"Cartridges\" ||\n element.name === \"Firearms and Parts\" ||\n element.name === \"Range Rules\" ||\n element.name === \"Firearm Safety\" ||\n element.name === \"Shot Placement\" ||\n element.name === \"Animal Identification\" ||\n element.name === \"Ethics Quiz\" ||\n element.name === \"Ordinances\" ||\n element.name === \"Ordinance Quiz\" ||\n element.name === \"Shot Placement\" ||\n element.name === \"Animal Identification\" ||\n element.name === \"Catridges Quiz\" ||\n element.name === \"Firearms and Parts Quiz\" ||\n element.name === \"Range Rules\" ||\n element.name === \"Firearms Safety and the FCA Quiz\"\n )\n return(\n
\n this.props.onLoyaltyDaysTabChange(\"0\")}\n totalDays={this.props.memLoyaltyRecord.courseDays}\n />\n \n
\n )\n }\n}\nconst mapStateToProps = state => {\nreturn {\n memLoyaltyRecord: state.LoyaltyDaysReducer.loyaltyRecord,\n loyaltyRecordArray: state.LoyaltyDaysReducer.loyaltyRecordArray\n };\n};\nconst mapDispatchToProps = dispatch => {\nreturn {\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n })\n };\n};\nexport default connect(\nmapStateToProps,\nmapDispatchToProps\n)(CourseDaysEarned);","import React, { Component } from \"react\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport DaysRecordMapper from \"./DaysRecordMapper\"\nclass EndorsementDaysEarned extends Component {\n constructor(props) {\n super(props);\n }\n render() {\n const endorsementDaysR = this.props.loyaltyRecordArray.filter(\n element => element.name === \"Endorsement Application\"\n )\n return(\n
\n this.props.onLoyaltyDaysTabChange(\"0\")}\n totalDays={this.props.memLoyaltyRecord.endorsementDays}\n />\n \n
\n )\n }\n}\nconst mapStateToProps = state => {\nreturn {\n memLoyaltyRecord: state.LoyaltyDaysReducer.loyaltyRecord,\n loyaltyRecordArray: state.LoyaltyDaysReducer.loyaltyRecordArray\n };\n};\nconst mapDispatchToProps = dispatch => {\nreturn {\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n })\n };\n};\nexport default connect(\nmapStateToProps,\nmapDispatchToProps\n)(EndorsementDaysEarned);","import React, { Component } from \"react\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport DaysRecordMapper from \"./DaysRecordMapper\"\nclass ActivityDaysEarned extends Component {\n constructor(props) {\n super(props);\n }\n render() {\n const activityDays = this.props.loyaltyRecordArray.filter(\n element => element.name !== \"Endorsement Application\" &&\n element.name !== \"Dedicated Hunter\" &&\n element.name !== \"Dedicated Sports Person\" &&\n element.name !== \"Cartridges\" &&\n element.name !== \"Firearms and Parts\" &&\n element.name !== \"Range Rules\" &&\n element.name !== \"Firearm Safety\" &&\n element.name !== \"Shot Placement\" &&\n element.name !== \"Animal Identification\" &&\n element.name !== \"Ethics Quiz\" &&\n element.name !== \"Ordinances\" &&\n element.name !== \"Ordinance Quiz\" &&\n element.name !== \"Shot Placement\" &&\n element.name !== \"Animal Identification\" &&\n element.name !== \"Catridges Quiz\" &&\n element.name !== \"Firearms and Parts Quiz\" &&\n element.name !== \"Range Rules\" &&\n element.name !== \"Firearms Safety and the FCA Quiz\"\n )\n return(\n
\n this.props.onLoyaltyDaysTabChange(\"0\")}\n totalDays={this.props.memLoyaltyRecord.generalActivityDays}\n />\n \n
\n )\n }\n}\nconst mapStateToProps = state => {\nreturn {\n memLoyaltyRecord: state.LoyaltyDaysReducer.loyaltyRecord,\n loyaltyRecordArray: state.LoyaltyDaysReducer.loyaltyRecordArray\n };\n};\nconst mapDispatchToProps = dispatch => {\nreturn {\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n })\n };\n};\nexport default connect(\nmapStateToProps,\nmapDispatchToProps\n)(ActivityDaysEarned);","/* eslint-disable no-undef */\nlet API_URL = '';\nif(process.env.NODE_ENV == 'development') {\n\tAPI_URL = 'https://backend.narfo.co.za/api';\n} else {\n\tAPI_URL = 'https://backend.narfo.co.za/api';\n\n}\n\nexport default API_URL;\n","import axios from 'axios';\nimport API_URL from './apiUrl';\nconst Cryptr = require(\"cryptr\");\n\n\nconst getMember = headers => id => axios\n .get(`${API_URL}/Member/${id}`, { headers });\n\nconst getMemberByMemNo = headers => memNo => axios\n .get(`${API_URL}/Member/getMemByMemNo/${memNo}`, { headers });\n\n\nconst getMemNoByIdNo = headers => idNo => axios\n .get(`${API_URL}/Member/GetMemberNoById/${idNo}`, { headers });\n\nconst resetMemberPassword = headers => data => axios\n .post(`${API_URL}/Member/reset`, data, { headers: headers});\n\nconst getMemberProfilePicture = headers => id => axios\n .get(`${API_URL}/MemberProfilePictures/getMemId/${id}`, { headers});\n\nconst getMemberLoyaltyDays = headers => id => axios\n .get(`${API_URL}/LoyaltyDaysAdjust/getLoyaltyDays/${id}`, { headers });\n\nconst getMemberAccountHistory = headers => id => axios\n .get(`${API_URL}/account/member/${id}`, { headers });\n\nconst updateMemberDetails = headers => data => axios\n .post(`${API_URL}/Member/updateMemberDetails`, data, { headers });\n\nconst cryptr = new Cryptr(\"ewfWE@#%$rfdsefgdsf\");\n\nconst getMemberQRCode = headers => id => axios\n .get(`${API_URL}/Member/getMemQRCode/${cryptr.encrypt(id)}`, { headers });\n\nconst getAllImages = headers => () => axios\n .get(`${API_URL}/Images/getAll`, { headers });\n\nconst getPartnerLogo = headers => (storeId,logo) => axios\n .get(`${API_URL}/Images/GetPartnerLogo?storeId=${storeId}&logo=${logo}`, { headers });\n \nconst uploadProfilePicture = headers => (id, picture) => axios\n .post(`${API_URL}/MemberProfilePictures/addProfilePicture`,\n { ProfilePicture: picture, MemNo: id }, { headers }\n );\n\nconst getPayfastDetails = headers => () => axios\n .get(`${API_URL}/PayFastDetails`, { headers });\n\nconst getMembershipTypes = headers => (id) => axios\n .get(`${API_URL}/Partners/GetMembershipTypes?storeId=${id}`, { headers });\n\nconst getPartnerReport = headers => (id) => axios\n .get(`${API_URL}/Stores/GetPartnerReport?id=${id}`, { headers });\n \nconst getMemberDetailsByEmail = headers => memEmail => axios\n .get(`${API_URL}/Member/getMemByEmail/${memEmail}`, { headers });\n\nconst sendLoginEmail = () => emailData => axios({\n\turl: `${API_URL}/AutomatedEmail/SendLoginEamil`,\n\tmethod: \"post\",\n\tdata: emailData\n })\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n getMember: getMember(headers),\n getMemberByMemNo: getMemberByMemNo(headers),\n resetMemberPassword: resetMemberPassword(headers),\n getMemberProfilePicture: getMemberProfilePicture(headers),\n getMemberLoyaltyDays: getMemberLoyaltyDays(headers),\n getMemberAccountHistory: getMemberAccountHistory(headers),\n updateMemberDetails: updateMemberDetails(headers),\n getMemberQRCode: getMemberQRCode(headers),\n getAllImages: getAllImages(headers),\n getPartnerLogo: getPartnerLogo(headers),\n uploadProfilePicture: uploadProfilePicture(headers),\n getPayfastDetails: getPayfastDetails(headers),\n getMemberDetailsByEmail: getMemberDetailsByEmail(headers),\n getMemNoByIdNo:getMemNoByIdNo(headers),\n\t sendLoginEmail: sendLoginEmail(),\n getMembershipTypes:getMembershipTypes(headers),\n getPartnerReport:getPartnerReport(headers),\n };\n}","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport { Form, InputGroup } from \"react-bootstrap\";\nimport DateRange from \"@material-ui/icons/DateRange\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport {\n Checkbox,\n FormControlLabel,\n Radio,\n RadioGroup,\n} from \"@material-ui/core\";\nimport MemberService from \"../../../v3/services/member.service\";\ntoast.configure();\nclass MembershipFee extends Component {\n constructor(props) {\n super(props);\n this.memberService = MemberService(this.props.token);\n this.state = {\n PaymentMethod: \"\",\n AmountPaid: \"\",\n CostCode: \"\",\n TransactionNumber: \"\",\n PaymentDate: \"\",\n Partners: [],\n PartnerId: 0,\n isPartnerPayment: false,\n membershipTypes: [],\n selectedMembershipType: null,\n totalDue: 0,\n includeNarfoMembership: false,\n defaultMembership: 0,\n membershipLength: 365,\n };\n this._submitForm = React.createRef();\n }\n _clickSubmitButton = (e) => {\n e.preventDefault();\n this._submitForm.current.click();\n };\n\n sortStores = (stores) => {\n const sortedStores = [...stores].sort((a, b) =>\n a.store.localeCompare(b.store)\n );\n return sortedStores;\n };\n\n getMembershipTypes = (storeId) => {\n this.setState({\n PartnerId: storeId,\n });\n\n this.memberService\n .getMembershipTypes(storeId)\n .then((response) => {\n this.setState({ membershipTypes: response.data });\n return response.data;\n })\n .catch((error) => {\n console.log(\"Error retrieving Membership types \", error);\n this.setState({ membershipTypes: [] });\n });\n };\n\n componentDidMount() {\n //Partners\n Axios({\n url: `${BASE}api/Stores`,\n method: \"get\",\n headers: {\n Authorization: `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n },\n }).then((res) => {\n const stores = res.data || [];\n\n this.setState({\n Partners: this.sortStores(stores),\n });\n });\n\n //Get Default fee for the member\n Axios({\n url: `${BASE}api/account/GetProrataFeeByPartnerId?partnerId=${this.props.MemberV.storeId}&memberNo=${this.props.MemberV.memNo}`,\n method: \"get\",\n headers: {\n Authorization: `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n },\n })\n .then((res) => {\n this.setState({\n defaultMembership: res.data.fee,\n totalDue: this.state.membershipTypes ? 0 : res.data.fee,\n membershipLength: res.data.days\n });\n })\n .catch((err) => {\n console.log(\"Error retrieving pro rata fee\", err);\n });\n }\n\n handleSubmit = async (e) => {\n e.preventDefault();\n\n let yearInt = parseInt(new Date().getFullYear(), 10) + 1;\n const accountInfo = {\n PaymentType: \"Membership Fees \" + yearInt,\n PaymentMethod: this.state.PaymentMethod,\n AmountPaid: (this.state.membershipTypes !== [] && this.state.membershipTypes?.length > 0) ? this.state.totalDue : this.state.AmountPaid,\n Email: this.props.MemberV.email,\n CostCode: this.state.CostCode,\n Paid: true,\n MemNo: this.props.MemberV.memNo,\n TransactionNo: this.state.TransactionNumber,\n PaymentDate: this.state.PaymentDate,\n StoreId: this.state.PartnerId,\n };\n\n if(this.state.membershipTypes !== [] && this.state.membershipTypes?.length > 0)\n {\n const membershipTypeId = this.state.selectedMembershipType?.id || \"0\";\n\n Axios({\n url: `${BASE}api/Member/ApproveNewMemberManual/${this.props.MemberV.memNo}/1/${membershipTypeId}/${this.state.includeNarfoMembership}`,\n data: accountInfo,\n method: \"post\",\n headers: {\n Authorization: `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n },\n }).then((res) => {\n this.props.onMemViewAcctDetGet(res.data.memberAccountDetails);\n toast.success(res.data.status);\n });\n\n }\n else{\n Axios({\n url: `${BASE}api/Member/ApproveNewMember/${this.props.MemberV.memNo}/1`,\n data: accountInfo,\n method: \"post\",\n headers: {\n Authorization: `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n },\n }).then((res) => {\n this.props.onMemViewAcctDetGet(res.data.memberAccountDetails);\n toast.success(res.data.status);\n });\n }\n \n\n this.props.onCurrAccountViewTabChange(0);\n };\n\n handleRadioMembershipType = (value) => {\n const total = this.state.selectedMembershipType\n ? this.state.totalDue + value.fee - this.state.selectedMembershipType.fee\n : this.state.totalDue + value.fee;\n this.setState({ selectedMembershipType: value, totalDue: total });\n };\n\n handleIncludeNarfoMembership =(event) =>{\n event.preventDefault()\n\n if(this.state.includeNarfoMembership)\n this.setState({totalDue: this.state.totalDue - this.state.defaultMembership, includeNarfoMembership: !this.state.includeNarfoMembership})\n else\n this.setState({totalDue: this.state.totalDue + this.state.defaultMembership, includeNarfoMembership: !this.state.includeNarfoMembership})\n }\n render() {\n const info = (row1, row2) => (\n \n \n {row1}\n \n \n {row2}\n \n \n \n );\n return (\n
\n
\n
\n this.props.onCurrAccountViewTabChange(0)}\n />\n
\n \n {info(\n \"Is Partner payment\",\n \n this.setState({\n isPartnerPayment: !this.state.isPartnerPayment,\n })\n }\n inputProps={{ \"aria-label\": \"primary checkbox\" }}\n />\n )}\n\n {this.state.isPartnerPayment &&\n info(\n \"Select Partner\",\n {\n this.getMembershipTypes(a.target.value);\n }}\n >\n \n {this.state.Partners.map((item) => (\n \n ))}\n \n )}\n\n {this.state.membershipTypes?.length > 0 && (\n
\n
\n Select Membership Type{\" \"}\n
\n \n {this.state.membershipTypes.map((membership) => (\n \n this.handleRadioMembershipType(membership)\n }\n />\n }\n label={\n this.state.membershipTypes.length > 1\n ? `R${membership.fee}/year - ${membership.name}`\n : `R${membership.fee}`\n }\n />\n ))}\n\n \n this.handleIncludeNarfoMembership(event)\n }\n />\n }\n label={`Include Narfo Membership(R${this.state.defaultMembership}/${this.state.membershipLength == 365\n ? \"year\"\n : this.state.membershipLength + \" days\"\n })`}\n labelPlacement=\"end\"\n />\n \n
\n )}\n\n {info(\n \"Payment Method\",\n {\n this.setState({\n PaymentMethod: a.target.value,\n });\n }}\n />\n )}\n {\n \n this.state.membershipTypes.length <= 0 ? \n info(\n \"Amount Paid\",\n {\n this.setState({\n AmountPaid: a.target.value,\n });\n }}\n />\n )\n : \n info(\n \"Amount Paid\",\n {\n this.setState({\n AmountPaid: a.target.value,\n });\n }}\n />\n )}\n\n {info(\n \"Cost Code\",\n {\n this.setState({\n CostCode: a.target.value,\n });\n }}\n />\n )}\n {info(\n \"Transaction Number\",\n {\n this.setState({\n TransactionNumber: a.target.value,\n });\n }}\n />\n )}\n {info(\n \"PaymentDate\",\n \n \n \n \n \n \n {\n this.setState({\n PaymentDate: a.target.value,\n });\n }}\n />\n \n )}\n this.handleSubmit(e)}\n ref={this._submitForm}\n />\n
\n
\n
\n
\n this._clickSubmitButton(e)}\n >\n SAVE\n \n
\n
\n
\n );\n }\n}\nconst mapStateToProps = (state) => {\n return {\n MemberV: state.MemberViewReducer.MemberView,\n };\n};\nconst mapDispatchToProps = (dispatch) => {\n return {\n onMemViewAcctDetGet: (acctDet) =>\n dispatch({\n type: actionTypes.MEM_VIEW_ACCT_DET,\n memViewAccountDet: acctDet,\n }),\n onCurrAccountViewTabChange: (newCurrAccountViewTab) =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ACCOUNT_VIEW_TAB,\n currAccountViewTab: newCurrAccountViewTab,\n }),\n };\n};\nexport default connect(mapStateToProps, mapDispatchToProps)(MembershipFee);\n","import React, { Component } from \"react\";\nimport logo from \"../../../assets/img/NarfoLogo.png\";\nimport nnfo from \"./images/nnfo - Copy.jpg\";\nimport narfoLogo from \"./images/narfoLogo.jpg\";\nimport {\n BASE,\n GET_MEMBER,\n POST_DEDICATED_STATUS_VIEW\n} from \"../../../API/APIendpoint\";\nimport axios from \"axios\";\nimport { connect } from \"react-redux\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"./styles.css\";\nimport { isMobile } from \"react-device-detect\";\nclass MembershipCard extends Component {\n constructor(props) {\n super(props);\n this.state = {\n MemberDets: [],\n DedicatedStatus: []\n };\n }\n\n componentDidMount() {\n axios({\n url: BASE +\n GET_MEMBER +\n (this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userDetails.memberNumber),\n method: \"get\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(json => {\n this.setState({\n MemberDets: json.data.members\n });\n const user = { memNo: this.state.MemberDets.memNo };\n axios({\n url: `${BASE}api/DedicatedStatus/approvedDS/${this.props.userDetails.memberNumber}`,\n method: 'get',\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({DedicatedStatus: res.data})\n })\n .catch(function (error) { });\n });\n }\n\n todaysDate = () => {\n var today = new Date();\n return (\n (today.getDate() < 10?`0${today.getDate()}`:today.getDate()) + \"-\" + ((today.getMonth() + 1) < 10?`0${(today.getMonth() + 1)}`:(today.getMonth() + 1)) + \"-\" + today.getFullYear()\n );\n };\n render() {\n\n const row = (col1, col2, index) => (\n
\n
{col1}
\n
{col2}
\n
\n );\n\n return (\n
\n
\n
\n
\n
\n \n
\n
\n
\n
Responsible Firearm Ownership
\n
\n
\n
\n info@narfo.co.za | www.narfo.co.za\n
\n
\n
\n
\n Date: {this.todaysDate()}\n
\n
\n
\n
\n\n
\n
\n {isMobile ?\n
\n Membership Card\n
:\n

\n Membership Card\n

\n }\n
\n {this.state.MemberDets.firstname}{\" \"}\n {this.props.getLoggedInMember?this.props.getLoggedInMember.surname: \" \"}\n
\n
\n
\n {row(\"Identity Number:\", this.props.getLoggedInMember?this.props.getLoggedInMember.idno: \" \")}\n {row(\"Member Number:\", this.state.MemberDets.memNo)}\n {row(\n \"Member Expiry Date:\",\n this.state.MemberDets.expiryDate === null ||\n this.state.MemberDets.expiryDate === undefined\n ? this.state.MemberDets.expiryDate\n : this.state.MemberDets.expiryDate.substring(0, 10)\n )}\n {row(\"Membership Type:\", this.state.MemberDets.memType)}\n {this.state.DedicatedStatus.length !== 0 ? this.state.DedicatedStatus.map((name, index) => (\n name.dstype === \"Dedicated Sports Person\" ?\n row(\"DSS Number:\", name.dsno, index) : \n name.dstype === \"Dedicated Hunter\" ?\n row(\"DHS Number:\", name.dsno, index) :\n null\n )) : null}\n
\n
\n
\n
\n {\"Accreditation:Hunting - FAR: 1300135 |Sports Shooting:-FAR: 1300134\"}\n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n userDetails: state.loginReducer.userProfileDetails,\n MemberV: state.MemberViewReducer.MemberView,\n memberState: state.loginReducer.memberState,\n getLoggedInMember: state.MemberViewReducer.getLoggedInMember\n };\n};\n\nexport default connect(mapStateToProps)(MembershipCard);\n","import React, { Component } from \"react\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport MembershipCard from \"./MembershipCard\";\nimport { BASE, GET_MEMBER, FRONT } from \"../../../API/APIendpoint\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport { connect } from \"react-redux\";\nimport jsPDF from \"jspdf\";\nimport axios from \"axios\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nconst Cryptr = require(\"cryptr\");\nexport const DateFind = dated => {\n if (!dated) {\n return dated;\n }\n var date = new Date(Date.parse(dated));\n var currentDate = date;\n var dater = currentDate.getDate();\n var months = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n var month = currentDate.getMonth();\n var year = currentDate.getFullYear();\n var monthDateYear = dater + \" \" + months[month] + \" \" + year;\n return monthDateYear;\n};\nclass MainMembershipCard extends Component {\n constructor(props) {\n super(props);\n this.state = {\n member: [],\n PDFSign: \"\",\n pdflogo: \"\",\n nnfo: \"\",\n date: \"\",\n wildman: \"\",\n encryptedMemString: \"\",\n qrCodeWithMemDet: \"\",\n _dss: \"\",\n _dhs: \"\"\n };\n this.memCertDownload = React.createRef();\n this.memCardPrint = React.createRef();\n }\n componentDidMount() {\n this.props.onCommissionTabChange(\"0\");\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n this.props.onLoyaltyDaysTabChange(\"0\");\n this.props.onCurrentLMSTabChange(0);\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n const cryptr = new Cryptr(\"ewfWE@#%$rfdsefgdsf\");\n axios\n .get(BASE + \"api/Member/getMemQRCode/\" + cryptr.encrypt(this.props.userDetails.memberNumber),{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(resp => {\n const qrFinal = \"data:image/jpeg;base64,\" + resp.data.base64QRString\n this.setState({\n qrCodeWithMemDet: qrFinal\n })\n });\n this.getDate();\n axios({\n url: BASE +\n GET_MEMBER +\n (this.props.memberState.isAdmin\n ? this.props.MemberV.memNo\n : this.props.userDetails.memberNumber),\n method: \"get\",\n headers: {\n \"Content-type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(json => {\n this.setState({\n member: json.data.members,\n encryptedMemString:\n FRONT + \"?\" + cryptr.encrypt(json.data.members.memNo)\n });\n });\n axios({\n url: `${BASE}api/DedicatedStatus/approvedDS/${this.props.userDetails.memberNumber}`,\n method: 'get',\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n res.data.forEach(element =>{\n if(element.dstype === \"Dedicated Sports Person\"){\n this.setState({\n _dss: element.dsno\n })\n }\n if(element.dstype === \"Dedicated Hunter\"){\n this.setState({\n _dhs: element.dsno\n })\n }\n })\n })\n .catch(function (error) { });\n }\n getDate = () => {\n var months = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n let today = new Date();\n let date =\n today.getDate() +\n \" \" +\n months[parseInt(today.getMonth())] +\n \" \" +\n today.getFullYear();\n this.setState({ date });\n };\n FindAddress(member) {\n let Address = \"\";\n if (member.physicalAddress) {\n Address = member.physicalAddress;\n if (member.suburb) {\n Address += \", \" + member.suburb;\n\n if (member.city) {\n Address += \", \" + member.city;\n }\n\n if (member.postalCode) {\n Address += \", \" + member.postalCode;\n }\n }\n }\n return Address;\n }\n memberCertificateDownloader = () => {\n this.memCertDownload.current.click();\n };\n memberCardDownloader = () => {\n this.memCardPrint.current.click();\n }\n render() {\n const print = async () => {\n let member = this.state.member;\n let pdf = new jsPDF(\"p\", \"mm\", \"a4\");\n pdf.addImage(this.state.qrCodeWithMemDet , \"JPEG\", 15, 255, 40, 35);\n pdf.addImage(this.props.base64Images.nnfo, \"JPEG\", 10, 12);\n pdf.setTextColor(126, 126, 126);\n pdf.setFont(\"times\");\n pdf.setFontSize(10);\n pdf.text(10, 60, \"NARFO Pty (Ltd) 2012/086864/07\");\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"times\");\n pdf.setFontSize(14);\n pdf.text(80, 18, \"National Association of Responsible Firearm Owners\");\n pdf.setFontSize(10);\n pdf.text(120, 25, \"of South Africa\");\n pdf.line(70, 30, 150, 30);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(10);\n pdf.setFontType(\"italic\");\n pdf.text(85, 37, \"SAPS Accredited Association\");\n pdf.setFontType(\"normal\");\n pdf.text(70, 45, \"Hunting Association\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(110, 45, \"FAR-1300135\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(70, 50, \"Sport Shooting\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(110, 50, \"FAR-1300134\");\n pdf.text(70, 55, \"http://www.narfo.co.za\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(110, 55, \"Email:\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(120, 55, \"info@narfo.co.za\");\n pdf.line(70, 60, 150, 60);\n pdf.setFontSize(8);\n pdf.setTextColor(126, 126, 126);\n pdf.text(156, 32, \"14 Phesante Close, Graanendal\");\n pdf.text(156, 38, \"Durbanville\");\n pdf.text(156, 44, \"7551\");\n pdf.setTextColor(0, 0, 0);\n pdf.setFontStyle(\"bold\");\n pdf.setFontSize(20);\n pdf.text(66, 70, \"Certificate of Membership\");\n pdf.line(10, 75, 200, 75);\n pdf.setFontStyle(\"normal\");\n pdf.setFontSize(14);\n pdf.text(10, 85, \"To whom it may concern\");\n pdf.text(10, 95, \"This is to certify that\");\n pdf.text(10, 105, \"Name:\");\n pdf.text(10, 115, \"Address:\");\n pdf.text(10, 125, \"ID No:\");\n pdf.text(10, 135, \"Membership Number:\");\n pdf.text(10, 145, \"Membership Type:\");\n pdf.text(\n 10,\n 155,\n \"has been member in good standing of the association since\"\n );\n pdf.text(10, 165, \"Current membership is valid until\");\n pdf.setFontStyle(\"bold\");\n pdf.text(40, 105, member.firstname + \" \" + member.surname);\n pdf.text(40, 115, this.FindAddress(member));\n pdf.text(40, 125, member.idno);\n pdf.text(60, 135, member.memNo);\n pdf.text(60, 145, member.memType);\n pdf.text(130, 155, DateFind(member.inceptionDate));\n pdf.text(80, 165, DateFind(member.expiryDate));\n pdf.addImage(this.props.base64Images.pdfSign, \"JPEG\", 17, 190, 60, 45);\n pdf.setTextColor(0, 0, 0);\n pdf.setFontStyle(\"normal\");\n pdf.text(28, 240, \"Executive Member\");\n pdf.addImage(this.props.base64Images.pdflogo, \"JPEG\", 115, 165);\n pdf.text(136, 240, DateFind(this.state.date));\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(10);\n pdf.text(\n 55,\n 265,\n \"This document only provides proof of membership and cannot be used to provide proof of\"\n );\n pdf.text(\n 55,\n 270,\n \"dedicated hunter or sports person status. These can only be verified by the approved dedicated\"\n );\n pdf.text(\n 55,\n 275,\n \"certificates which complies stipulations of Section 16(2) of the Firearms Control Act 60 of 2000\"\n );\n pdf.setFontSize(18);\n pdf.setFontStyle(\"bold\");\n pdf.setTextColor(31, 78, 121);\n pdf.text(55, 285, \"Firearm Ownership is a Fulltime Responsibility\");\n pdf.save(\"NARFO Proof Of Membership.pdf\");\n };\n const printCard = () => {\n let member = this.state.member;\n let pdf = new jsPDF(\"p\", \"mm\", \"a4\");\n pdf.line(55, 70, 165, 70);\n pdf.line(55, 125, 55, 70);\n pdf.line(165, 125, 165, 70);\n pdf.addImage(this.props.base64Images.nnfo , \"JPEG\", 67, 76, 20, 15);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(5);\n pdf.text(64, 95, `Responsible Firearm Ownership`);\n pdf.text(62.5, 97, `info@narfo.co.za | www.narfo.co.za`);\n pdf.setTextColor(0, 0, 0);\n pdf.setFontStyle(\"bold\");\n pdf.text(69, 99, `Date: ${DateFind(this.state.date)}`);\n pdf.setFontSize(11);\n pdf.text(94, 80, \"Membership Card\");\n pdf.setFontStyle(\"normal\");\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(8);\n pdf.text(94, 85, member.firstname + \" \" + member.surname);\n pdf.setFontSize(5);\n pdf.text(96, 90, `Identity Number:`);\n pdf.setTextColor(50,205,50);\n pdf.text(109, 90, `${member.idno}`);\n pdf.setTextColor(126, 126, 126);\n pdf.text(96, 93, `Member Number:`);\n pdf.setTextColor(50,205,50);\n pdf.text(110, 93, `${member.memNo}`);\n pdf.setTextColor(126, 126, 126);\n pdf.text(96, 96, `Member Inception Date:`);\n pdf.setTextColor(50,205,50);\n pdf.text(115, 96, `${member.inceptionDate.split(\"T\")[0]}`);\n pdf.setTextColor(126, 126, 126);\n pdf.text(96, 99, `Member Expiry Date:`);\n pdf.setTextColor(50,205,50);\n pdf.text(113, 99, `${member.expiryDate.split(\"T\")[0]}`);\n pdf.setTextColor(126, 126, 126);\n pdf.text(96, 102, `Membership Type:`);\n pdf.setTextColor(50,205,50);\n pdf.text(111, 102, `${member.memType}`);\n if(this.state._dhs !== \"\" && this.state._dss !== \"\") {\n pdf.setTextColor(126, 126, 126);\n pdf.text(96, 105, `Dedicated Hunter Status Number:`);\n pdf.setTextColor(50,205,50);\n pdf.text(123, 105, `${this.state._dhs}`);\n\n pdf.setTextColor(126, 126, 126);\n pdf.text(96, 108, `Dedicated Sports Shooter Status Number:`);\n pdf.setTextColor(50,205,50);\n pdf.text(129.5, 108, `${this.state._dss}`);\n }\n if(this.state._dhs !== \"\" && this.state._dss === \"\") {\n pdf.setTextColor(126, 126, 126);\n pdf.text(96, 105, `Dedicated Hunter Status Number:`);\n pdf.setTextColor(50,205,50);\n pdf.text(123, 105, `${this.state._dhs}`);\n }\n if(this.state._dhs === \"\" && this.state._dss !== \"\") {\n pdf.setTextColor(126, 126, 126);\n pdf.text(96, 105, `Dedicated Sports Shooter Status Number:`);\n pdf.setTextColor(50,205,50);\n pdf.text(129.5, 105, `${this.state._dss}`);\n }\n pdf.setTextColor(126, 126, 126);\n pdf.text(84, 120, `Accreditation:Hunting - FAR: 1300135 |Sports Shooting:-FAR: 1300134`);\n pdf.line(55, 125, 165, 125);\n pdf.addImage(this.state.qrCodeWithMemDet , \"JPEG\", 139, 78, 23, 18);\n pdf.line(165, 183, 165, 128);\n pdf.line(55, 128, 165, 128);\n pdf.line(55, 183, 55, 128);\n pdf.addImage(this.props.base64Images.wildman, \"JPEG\", 55.4, 128.5, 109.1, 54);\n pdf.line(55, 183, 165, 183);\n pdf.save(\"NARFO Membership Card.pdf\");\n };\n return (\n
\n \n \n down\n \n \n down\n \n
\n \n
\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n base64Images: state.Base64ImagesReducer.base64Images,\n userDetails: state.loginReducer.userProfileDetails,\n MemberV: state.MemberViewReducer.MemberView,\n memberState: state.loginReducer.memberState\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n };\n };\nexport default connect(\nmapStateToProps,\nmapDispatchToProps\n)(MainMembershipCard);\n","import React, { Component } from \"react\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport axios from \"axios\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport jsPDF from \"jspdf\";\nimport \"jspdf-autotable\";\nimport { isMobile } from \"react-device-detect\";\nimport { DateFind } from \"../membershipCard/MainMembershipCard\";\nconst UserStatus = Object.freeze({ 1: \"Approved\", 2: \"Pending\", 3: \"Rejected\", 4: \"Renewing\" })\nclass MainSalesCommission extends Component {\n constructor(props) {\n super(props);\n this.state = {\n _monthlyRepCommission: this.props.monthlyCommission,\n narfoLogo: \"\",\n _dss: \"\",\n _dhs: \"\",\n _repDetails: {}\n };\n this.commissionDoc = React.createRef();\n }\n componentDidMount() {\n if(!this.props.isAdmin){\n axios({\n url: `${BASE}api/DedicatedStatus/approvedDS/${this.props.memberDetails.memberNumber}`,\n method: 'get',\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n res.data.forEach(element =>{\n if(element.dstype === \"Dedicated Sports Person\"){\n this.setState({\n _dss: element.dsno\n })\n }\n if(element.dstype === \"Dedicated Hunter\"){\n this.setState({\n _dhs: element.dsno\n })\n }\n })\n })\n .catch(function (error) { });\n }\n }\n commRecByComNo = commNo => {\n const filteredComRec = this.state._monthlyRepCommission.filter(element =>\n element.paymentTransNo === commNo);\n this.generatePDF(filteredComRec);\n }\n generatePDF = monthlyRepCommission => {\n const repMemNo = monthlyRepCommission[0].repNo;\n const tableArray = numIterator => [\n !monthlyRepCommission[numIterator].inceptionDate\n ? \"null\"\n : monthlyRepCommission[numIterator].inceptionDate.split(\"T\")[0].toString(),\n !monthlyRepCommission[numIterator].memNo\n ? \"null\"\n : monthlyRepCommission[numIterator].memNo.toString(),\n !monthlyRepCommission[numIterator].firstname\n ? \"null\"\n : monthlyRepCommission[numIterator].firstname.toString(),\n !monthlyRepCommission[numIterator].surname\n ? \"null\"\n : monthlyRepCommission[numIterator].surname.toString(),\n !monthlyRepCommission[numIterator].comission\n ? \"null\"\n : `R${monthlyRepCommission[numIterator].comission.toString()}`\n ];\n const sum = monthlyRepCommission.reduce((totalCommission, _commission) => totalCommission + _commission.comission, 0);\n let _totalCommission = Math.round((sum + Number.EPSILON) * 100) / 100;\n \n axios({\n url: `${BASE}api/Member/getMemByMemNo/${repMemNo}`,\n method: 'get',\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(repRes => {\n this.print(tableArray, monthlyRepCommission, _totalCommission, repRes.data) \n })\n .catch(function (error) { });\n }\n print = (tableArray, monthlyRepCommission, _totalCommission, repDetails) => {\n const pdf = new jsPDF(\"l\", \"mm\", [310, 210]);\n pdf.autoTable({ html: \".table\" });\n let finalY = pdf.previousAutoTable.finalY;\n var arr = [];\n let count = 0;\n let sum = monthlyRepCommission.length;\n while (sum !== 0) {\n arr.push(tableArray(count));\n count++;\n sum--;\n }\n pdf.addImage(this.props.narfo, \"JPEG\", 20, 22);\n pdf.setTextColor(126, 126, 126);\n pdf.setFont(\"times\");\n pdf.setFontSize(10);\n pdf.text(15, 60, \"NARFO Pty (Ltd) 2012/086864/07\");\n pdf.setTextColor(0, 0, 0);\n pdf.setFontSize(14);\n pdf.setFontSize(12);\n pdf.text(20, 70, `Bank Name`);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(70, 70, `${monthlyRepCommission[0].bankName}`);\n pdf.setFont(\"style\",\"normal\");\n pdf.text(20, 75, `Account Number`);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(70, 75, `${monthlyRepCommission[0].accountNo}`);\n pdf.setFont(\"style\",\"normal\");\n pdf.text(20, 80, `Payment Method`);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(70, 80, `${monthlyRepCommission[0].paymentMethod}`);\n pdf.setFont(\"style\",\"normal\");\n pdf.text(20, 85, `Account Type`);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(70, 85, `${monthlyRepCommission[0].accountType}`);\n pdf.setFont(\"style\",\"normal\");\n pdf.text(20, 90, `Transaction Number`);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(70, 90, `${monthlyRepCommission[0].paymentTransNo}`);\n pdf.setFont(\"style\",\"normal\");\n pdf.setFontSize(14);\n pdf.text(235, 90, `Payment Date`);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(268, 90, `${DateFind(monthlyRepCommission[0].paymentDate.split(\"T\")[0]).substring(2)}`);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"times\");\n pdf.setFontSize(14);\n pdf.text(100, 18, \"National Association of Responsible Firearm Owners\");\n pdf.text(140, 25, \"of South Africa\");\n pdf.line(70, 30, 295, 30);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(10);\n pdf.setFont(\"italic\",\"italic\");\n pdf.text(90, 37, \"SAPS Accredited Association\");\n pdf.setFont(\"normal\",\"normal\");;\n pdf.text(75, 45, \"Hunting Association\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(115, 45, \"FAR-1300135\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(75, 51, \"Sport Shooting\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(115, 51, \"FAR-1300134\");\n pdf.text(75, 57, \"http://www.narfo.co.za\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(115, 57, \"Email:\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(125, 57, \"info@narfo.co.za\");\n pdf.setFontSize(8);\n pdf.setTextColor(126, 126, 126);\n pdf.text(164, 37, \"14 Phesante Close, Graanendal\");\n pdf.text(164, 41, \"Durbanville\");\n pdf.text(164, 45, \"7551\");\n pdf.setTextColor(0, 0, 0);\n pdf.setFontSize(11);\n pdf.text(220, 37, `${this.props.isAdmin?repDetails.firstname.toUpperCase():this.props.memberDetails.firstname.toUpperCase()} ${this.props.isAdmin?repDetails.surname.toUpperCase():this.props.memberDetails.surname.toUpperCase()}`);\n pdf.text(220, 41, `IDENTITY NUMBER: ${this.props.isAdmin?repDetails.idno.toUpperCase():this.props.memberDetails.idno.toUpperCase()}`);\n pdf.text(220, 45, `MEMBER NUMBER: ${this.props.isAdmin?repDetails.memNo.toUpperCase():this.props.memberDetails.memberNumber.toUpperCase()}`);\n pdf.text(220, 49, `MEMBER STATUS: ${this.props.isAdmin?UserStatus[repDetails.status].toUpperCase():UserStatus[this.props.memberDetails.userStatus].toUpperCase()}`);\n\n pdf.line(70, 62, 295, 62);\n pdf.setFont(\"style\",\"normal\");\n pdf.setFont(\"times\");\n pdf.setFontSize(14);\n pdf.text(120, 70, `Branch`);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(140, 70, `${monthlyRepCommission[0].branch}`);\n pdf.setFont(\"style\",\"normal\");\n pdf.text(225, 70, `${monthlyRepCommission[0].comType}`);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(275, 70, `R${_totalCommission}`);\n pdf.setTextColor(0, 0, 0);\n pdf.setFontSize(20);\n pdf.text(120, 90, \"Commission Remmitance\");\n pdf.autoTable({\n startY: finalY + 80,\n head: [\n [\n \"Date Joined\",\n \"Member Number\",\n \"Firstname\",\n \"Surname\",\n \"Commission\"\n ]\n ],\n body: arr.filter(a => {\n return a;\n }),\n footStyles: { fillColor: [255, 255, 255], textColor: [0, 0, 0] },\n showFoot: 'lastPage',\n foot: [\n [\n \"\",\n \"\",\n \"\",\n \"\",\n `R${_totalCommission}`\n ]\n ]\n });\n pdf.save(\"Commission.pdf\");\n };\n addCommissionsDownloader = () => {\n this.commissionDoc.current.click();\n };\n render() {\n const monthlyRepCommission = this.state._monthlyRepCommission; \n let _commissionNumber = \"\";\n const tableArray = numIterator => [\n !monthlyRepCommission[numIterator].paymentTransNo\n ? \"null\"\n : monthlyRepCommission[numIterator].paymentTransNo.toString(),\n !monthlyRepCommission[numIterator].comType\n ? \"null\"\n : monthlyRepCommission[numIterator].comType.toString(),\n !monthlyRepCommission[numIterator].repNo\n ? \"null\"\n : monthlyRepCommission[numIterator].repNo.toString(),\n !monthlyRepCommission[numIterator].repBranch\n ? \"null\"\n : monthlyRepCommission[numIterator].repBranch.toString(),\n !monthlyRepCommission[numIterator].repFirstname\n ? \"null\"\n : monthlyRepCommission[numIterator].repFirstname.toString(),\n !monthlyRepCommission[numIterator].repSurname\n ? \"null\"\n : monthlyRepCommission[numIterator].repSurname.toString(),\n !monthlyRepCommission[numIterator].bankName\n ? \"null\"\n : monthlyRepCommission[numIterator].bankName.toString(),\n !monthlyRepCommission[numIterator].accountNo\n ? \"null\"\n : monthlyRepCommission[numIterator].accountNo.toString(),\n !monthlyRepCommission[numIterator].accountType\n ? \"null\"\n : monthlyRepCommission[numIterator].accountType.toString(),\n !monthlyRepCommission[numIterator].commissionTotal\n ? \"null\"\n : `R${monthlyRepCommission[numIterator].commissionTotal.toString()}`\n ];\n const sum = monthlyRepCommission.reduce((totalCommission, _commission) => totalCommission + _commission.comission, 0);\n let _totalCommission = Math.round((sum + Number.EPSILON) * 100) / 100;\n const printAll = () => {\n const pdf = new jsPDF(\"l\", \"mm\", [310, 210]);\n pdf.autoTable({ html: \".table\" });\n let finalY = pdf.previousAutoTable.finalY;\n var arr = [];\n let count = 0;\n let sum = monthlyRepCommission.length;\n let commNoTemp = \"\"\n while (sum !== 0) {\n if(commNoTemp !== tableArray(count)[0])\n arr.push(tableArray(count));\n commNoTemp = tableArray(count)[0];\n count++;\n sum--;\n }\n pdf.addImage(this.props.narfo, \"JPEG\", 20, 22);\n pdf.setTextColor(126, 126, 126);\n pdf.setFont(\"times\");\n pdf.setFontSize(10);\n pdf.text(15, 60, \"NARFO Pty (Ltd) 2012/086864/07\");\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"style\",\"bold\");\n pdf.setFont(\"times\");\n pdf.setFontSize(14);\n pdf.text(100, 18, \"National Association of Responsible Firearm Owners\");\n pdf.text(140, 25, \"of South Africa\");\n pdf.setFont(\"style\",\"normal\");\n pdf.line(70, 30, 295, 30);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(10);\n pdf.setFont(\"italic\",\"italic\");\n pdf.text(90, 37, \"SAPS Accredited Association\");\n pdf.setFont(\"normal\",\"normal\");;\n pdf.text(75, 45, \"Hunting Association\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(115, 45, \"FAR-1300135\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(75, 51, \"Sport Shooting\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(115, 51, \"FAR-1300134\");\n pdf.text(75, 57, \"http://www.narfo.co.za\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(115, 57, \"Email:\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(125, 57, \"info@narfo.co.za\");\n pdf.setFontSize(8);\n pdf.setTextColor(126, 126, 126);\n pdf.text(164, 37, \"14 Phesante Close, Graanendal\");\n pdf.text(164, 41, \"Durbanville\");\n pdf.text(164, 45, \"7551\");\n pdf.setTextColor(0, 0, 0);\n pdf.setFontSize(14);\n pdf.text(210, 37, `Payment Date`);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(250, 37, `${DateFind(monthlyRepCommission[0].paymentDate.split(\"T\")[0]).substring(2)}`);\n pdf.line(70, 62, 295, 62);\n pdf.setFont(\"style\",\"normal\");\n pdf.setFont(\"times\");\n pdf.autoTable({\n startY: finalY + 50,\n head: [\n [\n \"Com No\",\n \"Com Type\",\n \"Member No\",\n \"Narfo Branch\",\n \"Name\",\n \"Surname\",\n \"Bank\",\n \"Account No\",\n \"Account Type\",\n \"Commission\"\n ]\n ],\n body: arr.filter(a => {\n return a;\n }),\n footStyles: { fillColor: [255, 255, 255], textColor: [0, 0, 0] },\n showFoot: 'lastPage',\n foot: [\n [\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n `R${_totalCommission}`\n ]\n ]\n });\n pdf.save(\"Commission.pdf\");\n };\n return(\n
\n {monthlyRepCommission.length !== 0 && !this.props.isAdmin && !this.props.isAdminMemView ?\n {\n this.props.onCommissionTabChange(\"0\");\n this.props.onMothlyCommissionGet([]);\n }}\n /> : monthlyRepCommission.length !== 0 && this.props.isAdmin && !this.props.isAdminMemView ?\n {\n this.props.history.push(\"/ProcessCommissionPayment\");\n this.props.onMothlyCommissionGet([]);\n }}\n showDownloadButton\n text=\"PRINT ALL\"\n downloadFunction={() => this.addCommissionsDownloader()}\n /> : \n {\n this.props.onCommissionTabChange(\"0\");\n this.props.onMothlyCommissionGet([]);\n }}\n />}\n {monthlyRepCommission.length === 0 ?

{`No Commission Payment Records Found`}

:\n
\n \n \n \n {isMobile ? null : }\n {isMobile ? : }\n {isMobile ? : }\n {isMobile ? null : }\n \n \n {monthlyRepCommission.map((com, index) =>\n _commissionNumber !== com.paymentTransNo ?\n \n {isMobile ? null : }\n {isMobile ? : }\n {isMobile ? : }\n {isMobile ? null : }\n \n \n \n : null\n )}\n \n
Date
Type
Commission Type
Num
Commission No
Name
Amount
{com.paymentDate.split(\"T\")[0]}{com.comType.split(\" \")[0]}{com.comType}{_commissionNumber = com.paymentTransNo}{_commissionNumber = com.paymentTransNo}{com.repFirstname}{`R${com.commissionTotal}`}\n \n
\n
}\n \n down\n \n
\n )\n }\n}\nconst mapStateToProps = state => {\n return {\n narfo: state.Base64ImagesReducer.base64Images.narfo,\n isAdminMemView: state.loginReducer.memberState.isAdminMemView,\n isAdmin: state.loginReducer.memberState.isAdmin,\n monthlyCommission: state.CommissionRecordReducer.monthlyCommission,\n memberDetails: state.loginReducer.memberObject,\n memLoyaltyRecord: state.LoyaltyDaysReducer.loyaltyRecord,\n MemberV: state.MemberViewReducer.MemberView,\n userDetails: state.loginReducer.userProfileDetails\n };\n};\nconst mapDispatchToProps = dispatch => {\nreturn {\n onMothlyCommissionGet: mCom =>\n dispatch({ \n type: actionTypes.MONTHLY_COMMISSION, \n monthlyCommission: mCom \n }),\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n };\n};\nexport default connect(\nmapStateToProps,\nmapDispatchToProps\n)(MainSalesCommission);","import React, { Component } from \"react\";\nimport { isMobile } from \"react-device-detect\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport Radio from \"@material-ui/core/Radio\";\nimport \"../../editMemberDetails/profile.css\";\nclass CommissionPaymentDetails extends Component {\n constructor(props){\n super(props);\n }\n componentWillMount() {\n this.props.onSalesBankingDetailsViewChange({_viewSalesBankDetails: true, _viewPartnerBankingDetails: false});\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n this.props.onCurrentLMSTabChange(0);\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n this.props.onEditObjectGet(this.props.bankingDetails.filter(element => element.MemType === \"Sales\")[0]);\n \n }\n render() {\n const _bankingDetailsSales = this.props.bankingDetails.filter(element => element.MemType === \"Sales\")[0]; \n const _bankingDetailsPartner = this.props.bankingDetails.filter(element => element.MemType === \"Partner\")[0]; \n const _monthlyCommission = this.props.monthlyCommission.monthlyCommission;\n const _bankingDetailsObject = this.props.bankDetailsViewObj;\n var width1 = \"\";\n var width2 = \"\";\n if (isMobile) {\n width1 = \"35%\"\n width2 = \"22%\"\n } else {\n width1 = \"29%\"\n width2 = \"40%\"\n }\n const info = (row1, row2) => (\n \n \n {row1}\n {isMobile ? null : }\n {`: ${row2}`}\n \n \n );\n return (\n
\n
\n {this.props.isAdmin ?\n {\n this.props.onMothlyCommissionGet(_monthlyCommission);\n this.props.onCommissionTabChange(\"0\");\n }}\n /> :\n {\n this.props.onMothlyCommissionGet(_monthlyCommission);\n this.props.onCommissionTabChange(\"0\");\n }}\n showEditButton\n editFunction={() => this.props.onCommissionTabChange(\"3\")}\n />}\n
\n {this.props.isPartner ?\n
\n
\n
Choose Bank
\n {this.props.onSalesBankingDetailsViewChange({_viewSalesBankDetails: true, _viewPartnerBankingDetails: false});\n this.props.onEditObjectGet(_bankingDetailsSales);}}\n />\n Rep Banking Details\n {this.props.onSalesBankingDetailsViewChange({_viewPartnerBankingDetails: true, _viewSalesBankDetails: false})\n this.props.onEditObjectGet(_bankingDetailsPartner);}}\n />\n Partner Banking Details\n
\n \n {info(\"Bank Name\", this.props.bankDetailsViewObj._viewSalesBankDetails?_bankingDetailsSales.BankName:_bankingDetailsPartner.BankName)}\n {info(\"Account Number\", this.props.bankDetailsViewObj._viewSalesBankDetails?_bankingDetailsSales.AccountNo:_bankingDetailsPartner.AccountNo)}\n {info(\"Banch Code\", this.props.bankDetailsViewObj._viewSalesBankDetails?_bankingDetailsSales.BranchCode:_bankingDetailsPartner.BranchCode)}\n {info(\"Account Type\", this.props.bankDetailsViewObj._viewSalesBankDetails?_bankingDetailsSales.AccountType:_bankingDetailsPartner.AccountType)}\n
\n
:\n \n {info(\"Bank Name\", _bankingDetailsSales.BankName)}\n {info(\"Account Number\", _bankingDetailsSales.AccountNo)}\n {info(\"Banch Code\", _bankingDetailsSales.BranchCode)}\n {info(\"Account Type\", _bankingDetailsSales.AccountType)}\n
}\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n bankDetailsViewObj: state.CommissionRecordReducer.bankDetailsViewObj,\n isAdminMemView: state.loginReducer.memberState.isAdminMemView,\n isAdmin: state.loginReducer.memberState.isAdmin,\n bankingDetails: state.CommissionRecordReducer.bankingDetails,\n monthlyCommission: state.CommissionRecordReducer,\n memberDetails: state.loginReducer.memberObject,\n isPartner: state.CommissionRecordReducer.isPartner\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onSalesBankingDetailsViewChange: BankingDetails =>\n dispatch({ \n type: actionTypes.UPDATE_BANKING_DETAILS_VIEW, \n bankDetailsViewObj: BankingDetails \n }),\n onMothlyCommissionGet: mCom =>\n dispatch({ \n type: actionTypes.MONTHLY_COMMISSION, \n monthlyCommission: mCom \n }),\n onEditObjectGet: editObject =>\n dispatch({\n type: actionTypes.BANKING_DETAILS_EDIT,\n bankEditObject: editObject\n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withRouter(CommissionPaymentDetails));\n","import React, { Component } from \"react\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport axios from \"axios\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport \"jspdf-autotable\";\nimport { YearPicker } from 'react-dropdown-date';\nimport { isMobile } from \"react-device-detect\";\nimport { toast } from 'react-toastify';\ntoast.configure();\nclass CommissionSelect extends Component {\n constructor(props) {\n super(props);\n this.state = {\n monthlyRepCommission: [],\n _finYr: \"\",\n _commType: \"\"\n };\n }\n componentDidMount() {\n if(this.props.userDetails.adminLevel && window.location.href.substring(\n window.location.href.lastIndexOf(\"/\") + 1) !== \"MembersArea\") {\n this.props.onMemberStateChange(true, \"isAdminMemView\")\n } else {\n this.props.onMemberStateChange(false, \"isAdminMemView\")\n }\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n this.props.onCurrentLMSTabChange(0);\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\");\n axios({\n url: `${BASE}api/admin/getuserrole/${this.props.memberDetails.memberNumber}`,\n method: \"get\",\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}` \n } \n }).then(res => {\n let bankingDetailsObject = {};\n let bankingDetailsObjectPartner = {};\n res.data.filter(element => {\n if(element.memType === \"Sales\"){\n bankingDetailsObject = {\n AdminId: element.adminId,\n MemType: element.memType,\n BankName: element.bankName,\n BranchCode: element.branchCode,\n AccountNo: element.accountNo,\n AccountType: element.accountType,\n }\n }\n if(element.memType === \"Partner\"){\n this.props.onPartnerStatusUpdate(true);\n bankingDetailsObjectPartner = {\n AdminId: element.adminId,\n MemType: element.memType,\n BankName: element.bankName,\n BranchCode: element.branchCode,\n AccountNo: element.accountNo,\n AccountType: element.accountType,\n }\n }\n })\n this.props.onBankingDetailsget(bankingDetailsObject, bankingDetailsObjectPartner);\n })\n }\n getFilteredCommissions = e => {\n e.preventDefault();\n let _memNo = this.props.userDetails.adminLevel && window.location.href.substring(\n window.location.href.lastIndexOf(\"/\") + 1) !== \"MembersArea\"?\n this.props.MemberV.memNo:\n this.props.memberDetails.memberNumber\n axios({\n url: `${BASE}api/commission/GetCommissionGrByComNo/${_memNo}/${this.state._finYr}`,\n method: \"get\",\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}` \n } \n }).then(res => {\n if(res.data.repsMemComm.length !== 0) {\n toast.success(res.data.message);\n this.props.onBankingDetailsget(res.data.repsMemComm);\n this.props.onMothlyCommissionGet(res.data.repsMemComm);\n this.props.onCommissionTabChange(\"1\");\n } else {\n toast.warning(res.data.message);\n }\n });\n }\n render() {\n return(\n
\n this.props.onCommissionTabChange(\"2\")}\n />\n
\n {!isMobile ?\n
\n
Choose Year
\n
\n {\n this.setState({\n _finYr: year\n });\n }}\n />\n
\n
\n \n
\n
:\n
\n
\n
Choose Year
\n
\n {\n this.setState({\n _finYr: year\n });\n }}\n />\n
\n
\n
\n \n
\n
}\n
\n
\n )\n }\n}\nconst mapStateToProps = state => {\nreturn {\n isAdminMemView: state.loginReducer.memberState.isAdminMemView,\n memberDetails: state.loginReducer.memberObject,\n memLoyaltyRecord: state.LoyaltyDaysReducer.loyaltyRecord,\n MemberV: state.MemberViewReducer.MemberView,\n userDetails: state.loginReducer.userProfileDetails\n };\n};\nconst mapDispatchToProps = dispatch => {\nreturn {\n onBankingDetailsget: (BankDetailsObject, bankingDetailsObjectPartner) =>\n dispatch({ \n type: actionTypes.BANKING_DETAILS_UPDATE, \n bankingDetails: [\n BankDetailsObject,\n bankingDetailsObjectPartner\n ]\n }),\n onPartnerStatusUpdate: status =>\n dispatch({ \n type: actionTypes.IS_PARTNER_UPDATE, \n isPartner: status\n }),\n onMemberStateChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_STATE,\n varName: vname,\n varValue: value\n }),\n onMothlyCommissionGet: mCom =>\n dispatch({ \n type: actionTypes.MONTHLY_COMMISSION, \n monthlyCommission: mCom \n }),\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n };\n};\nexport default connect(\nmapStateToProps,\nmapDispatchToProps\n)(CommissionSelect);","import { AppBar, Tab, Tabs, Typography } from \"@material-ui/core\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { LMS_ACTIONS, UPDATE_CURRENT_ADMIN_ACTIVITY_TAB2, UPDATE_CURRENT_ADMIN_ACTIVITY_TAB } from \"../../store/actions/actionTypes\";\nimport AdminHome from \"../adminNews/AdminHome\";\nimport AdminNewsPage from \"../adminNews/AdminNewsPage\";\nimport AdminUserApproveAct from \"../adminUser/activitiesTab/ApprovePendingActivities\";\nimport PendingActivityApplication from \"../adminUser/activitiesTab/PendingActivityApplication\";\nimport AdminEndorsementView from \"../adminUser/adminEndorsement/AdminEndorsementView\";\nimport EndorsementDetails from \"../adminUser/adminEndorsement/EndorsementDetails\";\nimport AccountsView from \"../adminViewMemberAreaPage/AccountsView\";\nimport AccountViewAll from \"../adminViewMemberAreaPage/AccountViewAll\";\nimport Payment from \"../adminViewMemberAreaPage/Payment\";\nimport ViewUserDetails from \"../adminViewMemberAreaPage/ViewUserDetails\";\nimport DedicatedProfile from \"../dedicatedHunter/DedicatedProfile\";\nimport Assessments from \"../learningManagementSystem/AdminAssessmentsTab/Assessments\";\nimport Lessons from \"../learningManagementSystem/AdminAssessmentsTab/Lessons.jsx\";\nimport { GET_COURSE_MODULES_WITH_CHILDREN } from \"../learningManagementSystem/LMSAPIEndPoints\";\nimport AddFirearmDetails from \"../loggeddInUser/LicensedFireArm/AddFirearmDetails\";\nimport AddLicenseDetails from \"../loggeddInUser/LicensedFireArm/AddLicenseDetails\";\nimport LicenseAddNew from \"../loggeddInUser/LicensedFireArm/LicenseAddNew\";\nimport LicensedFirearms from \"../loggeddInUser/LicensedFireArm/LicensedFireArms\";\nimport LicensedFireArmUpdate from \"../loggeddInUser/LicensedFireArm/LicensedFireArmUpdate\";\nimport LicenseViewDetails from \"../loggeddInUser/LicensedFireArm/LicenseViewDetails\";\nimport LoyaltyDays from \"../loggeddInUser/loyaltyDaysEarned/LoyaltyDays\";\nimport DedicatedStatusDaysEarned from \"../loggeddInUser/loyaltyDaysEarned/DedicatedStatusDaysEarned\";\nimport CourseDaysEarned from \"../loggeddInUser/loyaltyDaysEarned/CourseDaysEarned\";\nimport EndorsementDaysEarned from \"../loggeddInUser/loyaltyDaysEarned/EndorsementDaysEarned\";\nimport ActivityDaysEarned from \"../loggeddInUser/loyaltyDaysEarned/ActivityDaysEarned\";\nimport MembershipFee from \"../adminUser/processMembershipFee/MembershipFee\";\nimport MainSalesCommission from \"../loggeddInUser/salesCommission/MainSalesCommission\";\nimport CommissionPaymentDetails from \"../loggeddInUser/salesCommission/CommissionPaymentDetails\";\nimport CommissionSelect from \"../loggeddInUser/salesCommission/CommissionSelect\"\nimport { BASE } from \"../../API/APIendpoint\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nfunction TabPane(props) {\n return (\n \n {props.children}\n \n );\n}\n\nTabPane.propTypes = {\n children: PropTypes.node\n};\n\nconst styles = theme => ({\n root: {\n flexGrow: 1,\n width: \"100%\",\n backgroundColor: theme.palette.background.paper\n }\n});\n\nclass ScrollableTabsButtonAuto extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n value: 0,\n isSalesRep: false\n };\n }\n componentDidMount() {\n \n axios({\n url: `${BASE}api/admin/sales`,\n method: \"get\",\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}` \n }\n }).then(res => {\n res.data.filter(element => {\n if(element.memNo === this.props.MemberV.memNo) {\n this.setState({isSalesRep: true})\n }\n })\n })\n }\n handleChange = (event, value) => {\n if(value === 1 && this.props.isPartner && this.state.isSalesRep)\n return;\n\n this.setState({ value });\n if (value === 5) {\n this.props.onCurrActivityTabChange()\n }\n };\n //routing function based on the page load licence\n loadActivityTab = () => {\n switch (this.props.currActivityTab2) {\n case 0:\n return ;\n case 1:\n return ;\n default:\n return ;\n }\n };\n\n loadAdminEndorsementTab = () => {\n switch (this.props.currentAdminEndorsementTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n default:\n return ;\n }\n };\n\n loadLicenseTab = () => {\n switch (this.props.currLicenseTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n case \"2\":\n return ;\n case \"3\":\n return ;\n case \"4\":\n return ;\n case \"5\":\n return ;\n default:\n return ;\n }\n }; \n\n loadNewsTab = () => {\n switch (this.props.currNewsTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n\n default:\n return ;\n }\n };\n loadAccountViewTab = () => {\n switch (this.props.currAccountViewTab) {\n case 0:\n return ;\n case 1:\n return ;\n case 2:\n return ;\n case 3:\n return ;\n default:\n return ;\n }\n };\n\n loadAssessmentsTab = () => {\n switch (this.props.currAssessmentTab) {\n case 0:\n return ;\n case 1:\n return ;\n default:\n return ;\n }\n };\n\n loadLoyaltyDaysTab = () => {\n switch (this.props.currLoyaltyDaysTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n case \"2\":\n return ;\n case \"3\":\n return ;\n case \"4\":\n return ;\n default:\n return ;\n }\n };\n loadCommissionTab = () => {\n switch (this.props.currentCommissionTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n case \"2\":\n return ;\n default:\n return ;\n }\n };\n\n componentWillMount() {\n axios.get(GET_COURSE_MODULES_WITH_CHILDREN, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }).then(res => {\n const modules = res.data;\n const assessments = modules.map(mod => {\n const material = mod.courseMaterial;\n return {\n assesmentId: mod.courseModuleId,\n title: mod.name,\n grade: \"O\",\n type: mod.type,\n hasChildren: material ? (material.length > 0) : false\n };\n });\n this.props.onAssesmentsChange(assessments);\n const material = modules.map(mod => [...mod.courseMaterial]);\n let lessons = [];\n material.forEach(mat => {\n mat.forEach(_lesson => {\n lessons.push({\n pkCourseId: _lesson.courseMaterialId,\n title: _lesson.name,\n content: _lesson.content,\n assesmnetId: _lesson.courseModuleId,\n type: _lesson.type\n });\n });\n });\n this.props.onLessonsChange(lessons);\n });\n }\n\n render() {\n const { classes } = this.props;\n const { value } = this.state;\n const tabs = this.state.isSalesRep ? [\n \"Profile\",\n \"Sales Commission\",\n \"Loyalty Days\",\n \"Account Details\",\n \"Dedicated Status\",\n \"Endorsement Applications\",\n \"Activity\",\n \"Assessments\",\n ] : [\n \"Profile\",\n \"Loyalty Days\",\n \"Account Details\",\n \"Dedicated Status\",\n \"Endorsement Applications\",\n \"Activity\",\n \"Assessments\",\n ];\n return (\n
\n \n \n {this.props.isPartner &&
\n this.props.back()}\n />\n
}\n \n {tabs.map((tab, index) => (\n \n // (tab !== \"Sales Commission\" || !this.props.isPartner) && \n \n\n ))}\n \n \n
\n {this.state.isSalesRep ? \n
\n {value === 0 && }\n {value === 1 && this.loadCommissionTab()}\n {value === 2 && this.loadLoyaltyDaysTab()}\n {value === 3 && this.loadAccountViewTab()}\n {value === 4 && }\n {value === 5 && this.loadAdminEndorsementTab()}\n {value === 6 && this.loadActivityTab()}\n {value === 7 && this.loadAssessmentsTab()}\n
:\n
\n {value === 0 && }\n {value === 1 && this.loadLoyaltyDaysTab()}\n {value === 2 && this.loadAccountViewTab()}\n {value === 3 && }\n {value === 4 && this.loadAdminEndorsementTab()}\n {value === 5 && this.loadActivityTab()}\n {value === 6 && this.loadAssessmentsTab()}\n
}\n
\n
\n );\n }\n}\n\nScrollableTabsButtonAuto.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n MemberV: state.MemberViewReducer.MemberView,\n userProfileDetails: state.loginReducer.userProfileDetails,\n currentCommissionTab: state.CommissionReducer.currentCommissionTab,\n currLoyaltyDaysTab: state.LoyaltyDaysReducer.currentLoyaltyDaysTab,\n currActivityTab2: state.adminPortalReducer.currActivityTab,\n currAssessmentTab: state.lmsReducer.currAssessmentTab,\n currActivityTab: state.adminPortalReducer.adminPortal.currentActivityTab,\n currLicenseTab: state.membersAreaReducer.membersArea.currentLicenseTab,\n currentAdminEndorsementTab:\n state.endorsementReducer.currentAdminEndorsementTab,\n currentNationalRankingTab:\n state.adminPortalReducer.adminPortal.currentNationalRankingTab,\n activityMemberNumber:\n state.activitiesParametersReducer.activityMemberNumber,\n activityIdNumber: state.activitiesParametersReducer.activityID,\n currAccountViewTab: state.MemberViewReducer.currAccountViewTab\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onLessonsChange: newLessons =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_LESSONS,\n lessons: newLessons\n }),\n onAssesmentsChange: newAssesments =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_ASSESMENTS,\n assesments: newAssesments\n }),\n onCurrActivityTabChange: newCurrActivityTab =>\n dispatch({\n type: UPDATE_CURRENT_ADMIN_ACTIVITY_TAB,\n currActivityTab: newCurrActivityTab\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(ScrollableTabsButtonAuto));\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { formatDate, status } from \"./ActivityDetails\";\nfunction Activity(props) {\n return (\n {\n props.onActivityParametersChange(\n props.activity.memNo,\n props.activity.activityId\n );\n props.onAnyPropertyChange(\"3\", \"currentActivityTab\");\n }}\n style={{ cursor: \"pointer\" }}\n raised=\"false\"\n >\n {props.activity.activityDescription} \n
{props.activity.activityType}
\n
Activity Date: {formatDate(props.activity.activityDate)}
\n
Firearm Type: {props.activity.firearmType}
\n {status(props.activity.status)}\n
\n );\n}\nconst mapDispatchToProps = dispatch => {\n return {\n onAnyPropertyChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onActivityParametersChange: (memberNumber, activityId) => {\n return dispatch({\n type: actionTypes.UPDATE_ACTIVITY_PARAMETERS,\n activityMemberNumber: memberNumber,\n activityID: activityId\n });\n }\n };\n};\nexport default connect(\n null,\n mapDispatchToProps\n)(Activity);\n","import * as Types from './FilterActionTypes';\n\nexport const resetFilterAC = () => {\n return {\n type: Types.RESET_ACTIVITY_FILTER,\n };\n};\n\nexport const resetFilter = () => (dispatch) => dispatch(resetFilterAC());\n\nexport const setCategoryAC = (category) => {\n return {\n type: Types.SET_FILTER_CATEGOTY,\n activityFilterState: {\n filterCategory: category\n }\n };\n};\n\nexport const setCategory = (category) => (dispatch) => dispatch(setCategoryAC(category));\n\nexport const setStartDateAC = (date) => {\n return {\n type: Types.SET_FILTER_START_DATE,\n activityFilterState: {\n startDate: date\n }\n };\n};\n\nexport const setStartDate = (date) => (dispatch) => dispatch(setStartDateAC(date));\n\nexport const setEndDateAC = (date) => {\n return {\n type: Types.SET_FILTER_END_DATE,\n activityFilterState: {\n endDate: date\n }\n };\n};\n\nexport const setEndDate = (date) => (dispatch) => dispatch(setEndDateAC(date));\n","export const SET_FILTER_CATEGOTY = 'SET_FILTER_CATEGOTY',\n SET_FILTER_START_DATE = 'SET_FILTER_START_DATE',\n SET_FILTER_END_DATE = 'SET_FILTER_END_DATE',\n UPDATE_USER_ACTIVITIES = 'UPDATE_USER_ACTIVITIES',\n RESET_ACTIVITY_FILTER = 'RESET_ACTIVITY_FILTER';\n\n\n","import React, { Component } from 'react'\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport * as FilterActions from \"./FilterActions\";\nclass ActivitiesFilter extends Component {\n constructor(props){\n super(props);\n this.resetFilter = this.resetFilter.bind(this);\n }\n resetFilter(){\n this.props.resetFilter();\n this.props.FilterActions.resetFilter();\n }\n render() {\n return (\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n this.props.FilterActions.setStartDate(e.target.value)}\n className=\"btn btn-outline-dark w-75\" type=\"date\" />\n
\n
\n this.props.FilterActions.setEndDate(e.target.value)}\n className=\"btn btn-outline-dark w-75\" type=\"date\" />\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n )\n }\n}\nconst mapStateToProps = state => {\n return {\n activityFilterState: state.activityFilterState\n };\n};\n\nconst mapActionsToProps = dispatch => ({\n FilterActions: bindActionCreators(FilterActions, dispatch)\n});\n\nexport default connect(\n mapStateToProps,\n mapActionsToProps\n)(ActivitiesFilter);\n","import { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport jsPDF from \"jspdf\";\nimport \"jspdf-autotable\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_ALL_USER_ACTIVITIES_URL } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport Activity from \"./Activity\";\nimport ActivitiesFilter from \"./Filter/ActivitiesFilter\";\nimport narfo from \"./NImages/nfLogo.jpg\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nconst styles = {\n root: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"80vh\",\n overflow: \"auto\"\n }\n};\nconst UserStatus = Object.freeze({ 1: \"Approved\", 2: \"Pending\", 3: \"Rejected\", 4: \"Renewing\" })\nclass MainActivities extends Component {\n constructor(props) {\n super(props);\n this.state = {\n activities: [],\n showFilter: false,\n filterActive: false,\n narfoLogo: \"\",\n _dss: \"\",\n _dhs: \"\"\n };\n this.toggleFilter = this.toggleFilter.bind(this);\n this.applyFilter = this.applyFilter.bind(this);\n this.resetFilter = this.resetFilter.bind(this);\n this.toPDF = React.createRef();\n }\n componentDidMount() {\n this.props.onCommissionTabChange(\"0\");\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n this.props.onLoyaltyDaysTabChange(\"0\");\n this.props.onCurrentLMSTabChange(0);\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n let memStatus = [];\n axios\n .get(BASE + GET_ALL_USER_ACTIVITIES_URL + this.props.memNumber, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n })\n .then(res => {\n const activities = res.data.filter(element =>\n element.status !== \"Rejected\"\n );\n this.setState({\n activities: activities ? activities : []\n });\n this.props.onUserActivitiesChange(activities);\n });\n axios.get(BASE + \"api/Activities/memNo/\" + this.props.memNumber, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }).then(res =>\n res.data.forEach(e => {\n if (e.status === \"Approved\") {\n memStatus.push(e.activityType);\n }\n })\n );\n axios({\n url: `${BASE}api/DedicatedStatus/approvedDS/${this.props.memNumber}`,\n method: 'get',\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n res.data.forEach(element =>{\n if(element.dstype === \"Dedicated Sports Person\"){\n this.setState({\n _dss: element.dsno\n })\n }\n if(element.dstype === \"Dedicated Hunter\"){\n this.setState({\n _dhs: element.dsno\n })\n }\n })\n })\n .catch(function (error) { });\n this.props.approvedMemberStatus(memStatus);\n }\n toggleFilter() {\n this.setState({ showFilter: !this.state.showFilter });\n }\n applyFilter() {\n let filteredActivities = this.props.userActivities;\n if (this.props.activityFilterState.filterCategory === \"Hunting\") {\n filteredActivities = filteredActivities.filter(\n activity =>\n activity.activityType === \"Dedicated Hunter\" ||\n activity.activityType === \"Occasional Hunter\" ||\n activity.activityType === \"Dedicated Hunter and Sport Shooter\"\n );\n }\n if (this.props.activityFilterState.filterCategory === \"Sport Shooting\") {\n filteredActivities = filteredActivities.filter(\n activity =>\n activity.activityType === \"Dedicated Sports Shooter\" ||\n activity.activityType === \"Occasional Sport Shooter\" ||\n activity.activityType === \"Dedicated Hunter and Sport Shooter\"\n );\n }\n if (\n this.props.activityFilterState.startDate &&\n this.props.activityFilterState.endDate\n ) {\n let startDate = new Date(this.props.activityFilterState.startDate);\n let endDate = new Date(this.props.activityFilterState.endDate);\n filteredActivities = filteredActivities.filter(\n activity =>\n new Date(activity.activityDate.substring(0, 10)) >= startDate &&\n new Date(activity.activityDate.substring(0, 10)) <= endDate\n );\n } else {\n if (this.props.activityFilterState.startDate) {\n let startDate = new Date(this.props.activityFilterState.startDate);\n filteredActivities = filteredActivities.filter(\n activity =>\n new Date(activity.activityDate.substring(0, 10)) >= startDate\n );\n }\n if (this.props.activityFilterState.endDate) {\n const endDate = new Date(this.props.activityFilterState.endDate);\n filteredActivities = filteredActivities.filter(\n activity =>\n new Date(activity.activityDate.substring(0, 10)) <= endDate\n );\n }\n }\n this.setState({ activities: filteredActivities });\n }\n resetFilter() {\n this.setState({ activities: this.props.userActivities });\n }\n pdfDownloader() {\n this.toPDF.current.click();\n }\n render() {\n const activities = this.state.activities;\n const tableArray = numIterator => [\n !activities[numIterator].activityType\n ? \"null\"\n : activities[numIterator].activityType.toString(),\n !activities[numIterator].activityDescription\n ? \"null\"\n : activities[numIterator].activityDescription.toString(),\n !activities[numIterator].firearmType\n ? \"null\"\n : activities[numIterator].firearmType.toString(),\n !activities[numIterator].activityDate\n ? \"null\"\n : activities[numIterator].activityDate.toString().substring(0, 10),\n !activities[numIterator].score || activities[numIterator].score.toString() === \"0\"\n ? \"N/A\"\n : activities[numIterator].score.toString(),\n !activities[numIterator].status\n ? \"null\"\n : activities[numIterator].status.toString()\n ];\n const print = () => {\n const pdf = new jsPDF(\"l\", \"mm\", [310, 210]);\n pdf.autoTable({ html: \".table\" });\n let finalY = pdf.previousAutoTable.finalY;\n var arr = [];\n let count = 0;\n let sum = activities.length;\n while (sum !== 0) {\n arr.push(tableArray(count));\n count++;\n sum--;\n }\n pdf.addImage(this.props.base64Images.nnfo, \"JPEG\", 13, 15);\n pdf.setTextColor(126, 126, 126);\n pdf.setFont(\"times\");\n pdf.setFontSize(10);\n pdf.text(15, 60, \"NARFO Pty (Ltd) 2012/086864/07\");\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"times\");\n pdf.setFontSize(14);\n pdf.setFontStyle(\"bold\");\n pdf.text(100, 18, \"National Association of Responsible Firearm Owners\");\n pdf.text(140, 25, \"of South Africa\");\n pdf.setFontType(\"normal\");\n pdf.line(70, 30, 295, 30);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(10);\n pdf.setFontType(\"italic\");\n pdf.text(90, 37, \"SAPS Accredited Association\");\n pdf.setFontType(\"normal\");\n pdf.text(75, 45, \"Hunting Association\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(115, 45, \"FAR-1300135\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(75, 51, \"Sport Shooting\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(115, 51, \"FAR-1300134\");\n pdf.text(75, 57, \"http://www.narfo.co.za\");\n pdf.setTextColor(126, 126, 126);\n pdf.text(115, 57, \"Email:\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(125, 57, \"info@narfo.co.za\");\n pdf.line(70, 62, 295, 62);\n pdf.setFontSize(8);\n pdf.setTextColor(126, 126, 126);\n pdf.text(164, 37, \"14 Phesante Close, Graanendal\");\n pdf.text(164, 41, \"Durbanville\");\n pdf.text(164, 45, \"7551\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(220, 37, `${this.props.memberDetails.firstname.toUpperCase()} ${this.props.memberDetails.surname.toUpperCase()}`);\n pdf.text(220, 41, `IDENTITY NUMBER: ${this.props.memberDetails.idno.toUpperCase()}`);\n pdf.text(220, 45, `MEMBER NUMBER: ${this.props.memberDetails.memberNumber.toUpperCase()}`);\n pdf.text(220, 49, `MEMBER STATUS: ${UserStatus[this.props.memberDetails.userStatus].toUpperCase()}`);\n if(this.state._dhs !== \"\" && this.state._dss !== \"\") {\n pdf.text(220, 53, `DEDICATED HUNTER NUMBER: ${this.state._dhs}`);\n pdf.text(220, 57, `DEDICATED SPORTS PERSON NUMBER: ${this.state._dss}`);\n }\n if(this.state._dhs !== \"\" && this.state._dss === \"\") {\n pdf.text(220, 53, `DEDICATED HUNTER NUMBER: ${this.state._dhs}`);\n }\n if(this.state._dhs === \"\" && this.state._dss !== \"\") {\n pdf.text(220, 53, `DEDICATED SPORTS PERSON NUMBER: ${this.state._dss}`);\n }\n pdf.setFontStyle(\"bold\");\n pdf.setFontSize(20);\n pdf.text(130, 70, \"Member Activities\");\n pdf.setFontStyle(\"normal\");\n pdf.autoTable({\n startY: finalY + 60,\n head: [\n [\n \"Activity Type\",\n \"Description\",\n \"Firearm Type\",\n \"Activity Date\",\n \"Score\",\n \"Status\"\n ]\n ],\n body: arr.filter(a => {\n return a;\n })\n });\n pdf.save(\"Activities.pdf\");\n };\n return (\n
\n
\n this.pdfDownloader()}\n showFilledAddButton\n text=\"Activities PDF\"\n addFunction={() => {\n this.props.onMembersAreaChange(\"1\", \"currentActivityTab\");\n }}\n showFilterButton\n onFilterClick={this.toggleFilter}\n />\n \n {this.state.showFilter ? (\n \n ) : null}\n
\n
\n
\n Use the activity section to records and keep track of your activities. Click the plus button to add a new activity. \n You can add NARFO activities or you can add activities from other associations. \n You can also print an activity report to supplement your firearm license application as proof of being an active shooter. \n You can also use the filter button to filter only specific activities.\n
\n
\n No activity will be approved if the uploaded document does not have a date on it. Please add a date on every document before uploading.\n
\n
\n
Activity List
\n
\n
\n
\n {activities.length > 0 ? (\n activities.map((activity, index) => (\n \n ))\n ) : (\n

Activities not yet taken...

\n )}\n
\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n base64Images: state.Base64ImagesReducer.base64Images,\n memNumber: state.loginReducer.userProfileDetails.memberNumber,\n userActivities: state.activitiesReducer.userActivities,\n currLicenseTab: state.membersAreaReducer.membersArea.currentLicenseTab,\n activityFilterState: state.activityFilterState,\n memberDetails: state.loginReducer.memberObject\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({\n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB,\n currentLoyaltyDaysTab: pageNum\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onUserActivitiesChange: newUserActivitiesArray =>\n dispatch({\n type: actionTypes.ACTIVITY_ACTIONS.UPDATE_USER_ACTIVITIES,\n payload: newUserActivitiesArray\n }),\n onMembersAreaChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n approvedMemberStatus: newApprovedMemberStatus =>\n dispatch({\n type: actionTypes.APPROVED_MEMBER_ACTIVITY,\n approvedMemActivities: newApprovedMemberStatus\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(MainActivities));\n","export const ActivityEvent = {\n narfo: 'NARFO',\n other: 'OTHER'\n}\n\nexport const placeholders = {\n memNo: 'i.e. NM-0001',\n event: ' Select Event',\n activity: 'Select Activity Type',\n score: '81.00',\n}\n\nexport const dateFormat = {\n date: 'dd/MM/yyyy'\n}","import { withStyles } from \"@material-ui/core/styles\";\nimport Close from \"@material-ui/icons/Close\";\nimport DateRange from \"@material-ui/icons/DateRange\";\nimport PhotoLibrary from \"@material-ui/icons/PhotoLibrary\";\nimport PictureAsPdf from \"@material-ui/icons/PictureAsPdf\";\nimport React from \"react\";\nimport { Button, Col, Form, InputGroup } from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\nimport { bindActionCreators } from \"redux\";\nimport CustomModal from \"../../../utils/CustomModal\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport * as NewActActions from \"./NewActivityActions\";\nimport * as Constants from \"./NewActivityConstants\";\nimport Axios from \"axios\";\nimport { BASE, FRONT } from \"../../../API/APIendpoint\";\nconst styles = theme => ({\n activityEventButtons: {\n backgroundColor: \"orange\",\n border: \"none\"\n },\n scoreDoc: {\n display: \"flex\",\n flexDirection: \"row\"\n },\n fileInput: {\n width: \"0.1px\",\n height: \"0.1px\",\n opacity: 0,\n overflow: \"hidden\",\n position: \"absolute\",\n zIndex: -1\n },\n label: {\n width: \"100px\"\n },\n addButton: {\n marginRight: \"20px\",\n marginBottom: \"10px\",\n marginLeft: \"auto\",\n width: \"100px\"\n },\n toggleButtonsSelected: {\n backgroundColor: \"orange\",\n color: \"white\",\n border: \"none\"\n },\n footer: {\n backgroundColor: \"orange\",\n borderTopRightRadius: \"15px\",\n borderTopLeftRadius: \"15px\",\n height: \"55px\"\n },\n toolbar: {\n width: \"100%\",\n flexGrow: 1,\n borderBottom: \"1.8px solid #8c8b8a\"\n },\n grow: {\n flexGrow: 1\n },\n title: {\n fontWeight: \"bold\",\n marginLeft: \"5%\"\n }\n});\nclass NewActivityDetails extends React.PureComponent {\n constructor(props) {\n super(props);\n this.handleFileChange = this.handleFileChange.bind(this);\n this.handleFileDelete = this.handleFileDelete.bind(this);\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\n this.modalClose = this.modalClose.bind(this);\n this.handleBack = this.handleBack.bind(this);\n this.state = {\n showModal: false,\n approvedTypes: [],\n remStatusTypes: [],\n fileCheck: false,\n activityEvent: [],\n ranking: false,\n isOther: false,\n _activityNotes: \"\"\n };\n }\n async componentWillMount() {\n await Axios({\n url: BASE + \"api/ActivityEventLookups\",\n method: \"get\",\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}` }\n })\n .then(res => {\n this.setState({\n activityEvent: res.data\n })\n })\n await this.props.NewActActions.getAssociations();\n await this.props.NewActActions.getActivityTypes();\n await this.props.NewActActions.getOptics();\n await this.props.NewActActions.getFirearmtypes();\n await this.props.NewActActions.getActivityEvents();\n this.props.NewActActions.reset();\n if (this.props.newActivityState.fileInputOpen === true) {\n this.props.NewActActions.toggleFileInput();\n }\n var groupStatusStripped = [];\n let count = 0;\n const memStatus = this.props.userActivities.approvedMemActivities;\n const groupStatus = this.props.newActivityState.activityTypes;\n let glegnth = groupStatus.length;\n while (glegnth !== 0) {\n groupStatusStripped.push(groupStatus[count].activity);\n count++;\n glegnth--;\n }\n let difference = memStatus\n .filter(x => !groupStatusStripped.includes(x))\n .concat(groupStatusStripped.filter(x => !memStatus.includes(x)));\n this.setState({\n remStatusTypes: difference\n });\n }\n\n handleFileChange(e) {\n const file = e.target.files[0];\n const { documents } = this.props.newActivityState;\n const exists = documents.some(doc => doc.name === file.name);\n if (!exists) {\n this.props.NewActActions.addFile(documents.concat([file]));\n }\n this.props.NewActActions.toggleFileInput();\n }\n modalClose() {\n this.setState({ showModal: false });\n }\n handleFileDelete(file) {\n const { documents } = this.props.newActivityState;\n const newDocuments = documents.filter(doc => doc.name !== file.name);\n this.props.NewActActions.removeFile(newDocuments);\n }\n handleBack() {\n this.props.NewActActions.goBack(0, \"currentActivityTab\");\n this.props.NewActActions.reset();\n }\n async handleFormSubmit(e) {\n e.preventDefault();\n if (this.props.newActivityState.documents.length !== 0) {\n this.setState({ showModal: true });\n const formData = new FormData();\n formData.append(\"ActivityType\", this.props.newActivityState.activityType);\n formData.append(\"MemNo\", this.props.memberNumber);\n formData.append(\"ActivityDate\", this.props.newActivityState.date);\n formData.append(\"FirearmType\", this.props.newActivityState.firearm);\n formData.append(\"Caliber\", this.props.newActivityState.caliber);\n formData.append(\"Score\", this.props.newActivityState.score);\n formData.append(\"Optics\", this.props.newActivityState.optics);\n formData.append(\"ActivityEvent\", this.props.newActivityState.activityEvent);\n formData.append(\"Association\", this.props.newActivityState.association);\n formData.append(\"BaseURL\", FRONT);\n formData.append(\"ActivityNotes\", this.state._activityNotes !== \"\" ? this.state._activityNotes : \"No Activity Notes Supplied\")\n this.props.newActivityState.documents.forEach((file, i) => {\n formData.append(`attachment${i + 1}`, file);\n });\n const response = await this.props.NewActActions.uploadActivity(formData);\n if (response) {\n if (response.status === 200) {\n this.setState({ showModal: false });\n this.props.NewActActions.goBack(0, \"currentActivityTab\");\n this.props.NewActActions.reset();\n }\n }\n } else {\n this.setState({ fileCheck: true })\n }\n\n }\n selectedEvent = (e) => {\n this.setState({ ranking: e === \"1\" ? true : false })\n }\n render() {\n const { classes } = this.props;\n const { isNarfoEvent } = this.props.newActivityState;\n const toggleNarfoStyle = isNarfoEvent ? classes.toggleButtonsSelected : \"\";\n const toggleOtherStyle = !isNarfoEvent ? classes.toggleButtonsSelected : \"\";\n if (\n this.props.newActivityState.getOpticsStatus.loading ||\n this.props.newActivityState.getActivityStatus.loading ||\n this.props.newActivityState.getFirearmTypesStatus.loading ||\n this.props.newActivityState.getAssociationsStatus.loading ||\n this.props.newActivityState.getActivityEventsStatus.loading\n )\n return (\n
\n \n
\n );\n return (\n
\n \n
this.handleFormSubmit(e)}>\n Activity Event\n \n \n \n {this.props.NewActActions.toggleIsNarfoEvent(true);\n this.setState({\n isOther: false\n })}\n }\n >\n {Constants.ActivityEvent.narfo}\n \n \n \n \n {this.props.NewActActions.toggleIsNarfoEvent(false);\n this.setState({\n isOther: true\n })}\n }\n >\n {Constants.ActivityEvent.other}\n \n \n \n \n Member Number\n \n this.props.NewActActions.setMemberNumber(e.target.value)\n }\n />\n \n {this.props.newActivityState.isNarfoEvent && (\n \n Activity Event\n {\n this.selectedEvent(e.target.value.split(\"/\")[1])\n this.props.NewActActions.setActivityEvent(e.target.value.split(\"/\")[0])\n }\n }\n >\n \n {this.state.activityEvent &&\n this.state.activityEvent.map(\n (act, i) => (\n \n )\n )}\n \n \n )}\n {!this.props.newActivityState.isNarfoEvent && (\n \n Activity Discipline\n \n this.props.NewActActions.setAssociation(e.target.value)\n }\n >\n \n {this.props.newActivityState.associationsList &&\n this.props.newActivityState.associationsList.map(\n (assoc, i) => (\n \n )\n )}\n \n \n )}\n \n Activity Type\n \n this.props.NewActActions.setActivityType(e.target.value)\n }\n >\n \n {this.props.newActivityState.activityTypes.map((activity, i) => (\n \n ))}\n \n \n Activity Date\n \n \n \n \n \n \n this.props.NewActActions.setDate(e.target.value)}\n />\n \n \n Firearm Type\n \n this.props.NewActActions.setFirearmType(e.target.value)\n }\n >\n \n {this.props.newActivityState.firearmTypes &&\n this.props.newActivityState.firearmTypes.map((firearm, i) => (\n \n ))}\n \n \n {!this.props.newActivityState.isNarfoEvent && (\n \n \n Optics\n \n this.props.NewActActions.setOptics(e.target.value)\n }\n >\n \n {this.props.newActivityState.opticsList &&\n this.props.newActivityState.opticsList.map((optic, i) => (\n \n ))}\n \n \n \n )}\n {this.props.newActivityState.firearm !== \"Not Shooting Related\" &&\n \n \n Caliber\n \n this.props.NewActActions.setCaliber(e.target.value)\n }\n />\n \n {}\n \n {this.state.ranking === true || this.state.isOther ?\n
\n Score\n {\n this.props.NewActActions.setScore(e.target.value)\n\n }}\n />\n
: null}\n
\n
\n }\n \n \n Activity Notes\n {\n this.setState({\n _activityNotes: a.target.value\n });\n }}\n rows=\"6\"\n />\n \n \n Document\n {this.props.newActivityState.documents.map((doc, index) => (\n
\n {doc.type === \"application/pdf\" ? (\n \n ) : (\n \n )}\n

{doc.name}

\n this.handleFileDelete(doc)} />\n
\n ))}\n {!this.props.newActivityState.fileInputOpen && (\n \n \n {this.props.newActivityState.documents.length === 0 ?\n \n Add New Document\n :\n null\n }\n {this.state.fileCheck ?\n

add document

: null}\n
\n \n \n Add\n \n \n
\n )}\n {this.props.newActivityState.fileInputOpen && (\n \n \n \n \n Camera\n \n this.handleFileChange(event)}\n />\n \n \n \n \n \n Document\n \n this.handleFileChange(event)}\n />\n \n \n \n )}\n
\n \n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n memberNumber: state.loginReducer.userProfileDetails.memberNumber,\n newActivityState: state.newActivityState,\n userActivities: state.activitiesReducer\n };\n};\nconst mapActionsToProps = dispatch => ({\n NewActActions: bindActionCreators(NewActActions, dispatch)\n});\nexport default connect(\n mapStateToProps,\n mapActionsToProps\n)(withStyles(styles)(NewActivityDetails));","import React from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from 'react-redux';\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Typography from \"@material-ui/core/Typography\";\nimport SearchIcon from \"@material-ui/icons/Search\";\n\nconst styles = theme => ({\n root: {\n width: \"100%\",\n flexGrow: 1,\n borderBottom: \"1.8px solid #8c8b8a\"\n },\n grow: {\n flexGrow: 1\n },\n title: {\n fontWeight: \"bold\",\n marginLeft: \"5%\",\n }\n});\n\nfunction NewActivityHeader(props) {\n const { classes } = props;\n return (\n
\n \n \n \n Activity\n \n
\n \n \n \n \n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n currActivityTab: state.membersAreaReducer.membersArea.currentActivityTab,\n };\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMembersAreaChange: (value,variableName) => dispatch({type: 'UPDATE_MEMBERS_AREA', varValue:value, varName:variableName}),\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(NewActivityHeader));\n","import { Button, Typography } from \"@material-ui/core\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport TextField from \"@material-ui/core/TextField\";\nimport IconLeft from \"@material-ui/icons/KeyboardArrowLeft\";\nimport axios from \"axios\";\nimport React, { Component } from \"react\";\nimport Dropzone from \"react-dropzone\";\nimport { connect } from \"react-redux\";\nimport request from \"superagent\";\nimport { BASE, GET_ACTIVITIESFILES_UPLOAD, POST_NEW_ACTIVITY_URL } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport NewActivityHeader from \"./NewActivityHeader\";\n\nconst styles = theme => ({\n container: {\n display: \"flex\",\n flexDirection: \"column\"\n },\n footer: {\n display: \"flex\",\n flexDirection: \"row\"\n },\n textField: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n flex: 1,\n margin: 5\n },\n grow: {\n flex: 6\n },\n grow1: {\n flex: 1\n },\n select: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n flex: 1,\n margin: 5\n },\n button: {\n margin: 30,\n padding: 0,\n borderRadius: 20,\n backgroundColor: \"black\",\n color: \"white\",\n display: \"inline-block\",\n flex: 1,\n width: 50,\n height: 50,\n fontSize: 20\n },\n icon: {\n margin: 0,\n padding: 0,\n fontSize: 50\n },\n fileSelect: {\n marginLeft: \"40%\",\n marginRight: \"40%\",\n color: \"green\"\n },\n dropzone: {\n height: 80,\n width: 140,\n backgroundColor: \"#f2f2f2\",\n marginLeft: \"auto\",\n marginRight: \"auto\"\n }\n});\nclass NewActivityPage2 extends Component {\n makePostRequest = newActivity => {\n axios.post(BASE + POST_NEW_ACTIVITY_URL,{ newActivity },{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}});\n this.props.onMembersAreaChange(\"0\", \"currentActivityTab\");\n };\n\n onDrop = files => {\n const req = request.post(BASE + GET_ACTIVITIESFILES_UPLOAD);\n\n let state = \"Uploading\";\n\n let Component = this;\n files.forEach(file => {\n state = \"Uploading\";\n Component.props.onAddActivityDetailsChange(state, \"FileUploadStatus\");\n req.attach(file.name, file).on(\"progress\", function(e) {});\n });\n\n req.then(res => {\n if (res.statusCode === 200) {\n Component.props.onAddActivityDetailsChange(\"Done\", \"FileUploadStatus\");\n } else {\n Component.props.onAddActivityDetailsChange(\n \"Upload Error\",\n \"FileUploadStatus\"\n );\n }\n });\n };\n\n render() {\n const { classes, newActDetails } = this.props;\n const firearmTypes = [\"9mm\", \"Colt 45\", \"Desert Eagle\"];\n const optics = [\n \"Optics\",\n \"Fiber\",\n \"Transision lenses\",\n \"Tested\",\n \"Sunglasses\"\n ];\n return (\n
\n \n
\n \n this.props.onAddActivityDetailsChange(\n event.target.value,\n \"FirearmType\"\n )\n }\n input={\n \n }\n >\n \n {firearmTypes.map((gun, index) => (\n \n ))}\n \n \n this.props.onAddActivityDetailsChange(\n event.target.value,\n \"PostalShoot\"\n )\n }\n input={\n \n }\n >\n \n {optics.map((optic, index) => (\n \n ))}\n \n \n this.props.onAddActivityDetailsChange(\n event.target.value,\n \"Caliber\"\n )\n }\n variant=\"outlined\"\n />\n Upload Document(s):\n\n
\n \n {({ getRootProps, getInputProps, isDragActive }) => {\n return (\n
\n \n {isDragActive ? (\n

Drop files here...

\n ) : (\n

click to select files to upload.

\n )}\n
\n );\n }}\n
\n
\n \n Upload status: {newActDetails.FileUploadStatus}\n \n \n Your activity submissions is subject to approval\n \n \n Once your activity has been approved it will show in the \"My\n Profile\" page under the activity section\n \n
\n
\n \n this.props.onMembersAreaChange(\"1\", \"currentActivityTab\")\n }\n >\n \n \n
\n this.makePostRequest(newActDetails)}\n >\n Add\n \n
\n \n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n currActivityTab: state.membersAreaReducer.membersArea.currentActivityTab,\n newActDetails: state.activitiesReducer.addActivityDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onAddActivityDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.ACTIVITY_ACTIONS.UPDATE_ADD_ACTIVITY_DETAILS,\n varValue: value,\n varName: variableName\n }),\n onMembersAreaChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(NewActivityPage2));\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { GET_COURSE_MODULES_WITH_CHILDREN } from \"../LMSAPIEndPoints\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport { MEMBER_ASSESSMENT } from \"../../learningManagementSystem/LMSAPIEndPoints\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { isMobile } from \"react-device-detect\";\nimport axios from \"axios\";\n\nexport class Lms extends Component {\n componentDidMount() {\n this.props.onCommissionTabChange(\"0\");\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n this.props.onLoyaltyDaysTabChange(\"0\");\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n axios.get(GET_COURSE_MODULES_WITH_CHILDREN,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n const modules = res.data;\n const assessments = modules.map(mod => {\n const material = mod.courseMaterial;\n return {\n assesmentId: mod.courseModuleId,\n title: mod.name,\n grade: \"O\",\n type: mod.type,\n hasChildren: material ? material.length > 0 : false\n };\n });\n this.props.onAssesmentsChange(assessments);\n const material = modules.map(mod => [...mod.courseMaterial]);\n let lessons = [];\n material.forEach(mat => {\n mat.forEach(_lesson => {\n lessons.push({\n pkCourseId: _lesson.courseMaterialId,\n title: _lesson.name,\n content: _lesson.content,\n assesmnetId: _lesson.courseModuleId,\n type: _lesson.type\n });\n });\n });\n this.props.onLessonsChange(lessons);\n });\n fetch(MEMBER_ASSESSMENT + \"/\" + this.props.userDetails.memberNumber, {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(res => {\n this.props.onQuizCompletionChange(res.data);\n let certificates = {};\n this.props.assesmentList.map(ass => {\n if (ass.hasChildren && ass.type === 1) {\n return certificates[`${ass.assesmentId}`] = [ass.title];\n }\n return null;\n });\n this.props.lessonList.map(lesson => {\n let arr = certificates[`${lesson.assesmnetId}`];\n if (arr) {\n const score = res.data.find(\n d => d.courseMaterialId === lesson.pkCourseId\n );\n arr.push(parseInt(score ? score.completion : 0));\n return certificates[`${lesson.assesmnetId}`] = arr;\n }\n return null;\n });\n this.props.onAssCompletionChange(certificates);\n });\n }\n\n displayCourseProgress = () => {\n let divs = [];\n let assComp = this.props.assesmentCompletion;\n Object.keys(assComp).forEach((_key, index) => {\n const assesment = Array.from(assComp[_key]);\n let total = assesment.length - 1;\n total = total ? total : 1;\n const progress = assesment.reduce((a, b) => {\n if (typeof b !== \"string\") {\n return a + b;\n }\n return a;\n }, 0);\n let assesmentName;\n if ( isMobile ) {\n if (assesment[0] === \"Dedicated Hunter Assessment Modules\")\n assesmentName = \"DHA\"\n else\n assesmentName = \"DSSA\"\n } else {\n assesmentName = assesment[0]\n }\n divs.push(\n
\n {this.Bar(progress / total, `${progress / total} %`, assesmentName)}\n
\n );\n });\n return divs;\n };\n\n Bar = (percent, score, title) => {\n return (\n
\n
\n \n {title}\n
\n
\n
\n \n \n {score}\n
\n
\n
\n
\n );\n };\n\n handleClick = section => {\n if (section === \"certificate\") {\n this.props.onSectionTitleChange(\"Course Assessment Certificates\");\n this.props.onCurrentLMSTabChange(1);\n } else if (section === \"material\") {\n this.props.onSectionTitleChange(\"Course Learning Material\");\n this.props.onCurrentLMSTabChange(1);\n } else {\n this.props.onSectionTitleChange(\"Course Assessment Quizzes\");\n this.props.onCurrentLMSTabChange(1);\n }\n };\n\n render() {\n return (\n
\n
\n \n
\n\n
Course Assessment Quiz Progress
\n
\n
{this.displayCourseProgress()}
\n
\n\n
\n this.handleClick(\"material\")}\n >\n Course Learning Material\n
\n this.handleClick(\"quiz\")}\n >\n Course Assessment Quizzes\n
\n this.handleClick(\"certificate\")}\n >\n Course Assessments Certificates\n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n memberNumber: state.loginReducer.userProfileDetails.memberNumber,\n lessonList: state.lmsReducer.lessons,\n assesmentList: state.lmsReducer.assesments,\n currentLMSpage: state.lmsReducer.currLmsTab,\n assesmentCompletion: state.lmsReducer.assesmentCompletion,\n userDetails: state.loginReducer.userProfileDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onMemberCoursesChange: newMemberCourses =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_MEMBER_COURSES,\n memberCourses: newMemberCourses\n }),\n onQuizCompletionChange: newQuizCompletion =>\n dispatch({\n type: actionTypes.LMS_ACTIONS.UPDATE_QUIZ_COMPLETION,\n quizCompletion: newQuizCompletion\n }),\n onAssCompletionChange: assesmentCompletion =>\n dispatch({\n type: actionTypes.LMS_ACTIONS.UPDATE_ASSESMENT_COMPLETION,\n assesmentCompletion: assesmentCompletion\n }),\n onQuizzesChange: newQuizzes =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_QUIZZES,\n quizzes: newQuizzes\n }),\n onLessonsChange: newLessons =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_LESSONS,\n lessons: newLessons\n }),\n onSectionTitleChange: newSectionTitle =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_SECTION_TITLE,\n sectionTitle: newSectionTitle\n }),\n onAssesmentsChange: newAssesments =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_ASSESMENTS,\n assesments: newAssesments\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(Lms);\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_MEMBER } from \"../../../API/APIendpoint\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport Folder from \"@material-ui/icons/Folder\";\nimport FolderOpen from \"@material-ui/icons/FolderOpen\";\nimport CheckCircleOutline from \"@material-ui/icons/CheckCircleOutline\";\nimport HighlightOff from \"@material-ui/icons/HighlightOff\";\nimport HelpOutline from \"@material-ui/icons/HelpOutline\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { MEMBER_ASSESSMENT,QUESTION } from \"../LMSAPIEndPoints\";\nimport { DateFind } from \"../../loggeddInUser/membershipCard/MainMembershipCard\";\nimport jsPDF from \"jspdf\";\nimport Axios from \"axios\";\nexport class Lms extends Component {\n constructor(props) {\n super(props);\n this.state = {\n open: {},\n member: [],\n courseResult: 0,\n certificates: [],\n PDFSign: \"\",\n pdflogo: \"\",\n nnfo: \"\",\n courseTitle: \"\",\n date: \"\"\n };\n }\n componentDidMount() {\n this.getDate();\n fetch(MEMBER_ASSESSMENT + \"/\" + this.props.userDetails.memberNumber,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(res => {\n this.props.onQuizCompletionChange(res.data);\n let certificates = {};\n this.props.assesmentList.map(ass => {\n return certificates[`${ass.assesmentId}`] = [];\n });\n this.props.lessonList.map(lesson => {\n let arr = certificates[`${lesson.assesmnetId}`];\n const score = res.data.find(\n d => d.courseMaterialId === lesson.pkCourseId\n );\n arr.push(parseInt(score ? score.completion : 0));\n return certificates[`${lesson.assesmnetId}`] = arr;\n });\n this.props.onCertificatesUpdate(certificates);\n });\n }\n componentWillMount() {\n fetch(BASE + GET_MEMBER + this.props.userDetails.memberNumber, {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(json => {\n this.setState({\n member: json.members\n });\n });\n }\n getMemberResultForThisCourse = id => {\n const quiz = this.props.quizCompletion.find(q => q.courseMaterialId === id);\n return quiz ? quiz.completion : 0;\n };\n handleClick = assesment => {\n var open = this.state.open;\n open[`${assesment.assesmentId}isOpen`] = !open[\n `${assesment.assesmentId}isOpen`\n ];\n this.setState({ isOpen: open });\n this.props.onAssesmentChange(assesment);\n };\n displayLessons = assesmnetId => {\n if (this.props.sectionTitle === \"Course Learning Material\") {\n var list = this.props.lessonList.filter(lesson => {\n return lesson.assesmnetId === assesmnetId;\n });\n return (\n
\n {list.map((lesson, index) => (\n {\n this.props.onLessonChange(lesson);\n this.props.onCurrentLMSTabChange(2);\n }}\n >\n {lesson.title} Course Material\n
\n ))}\n
\n );\n } else if (this.props.sectionTitle === \"Course Assessment Quizzes\") {\n var secondList = this.props.lessonList.filter(lesson => {\n return lesson.assesmnetId === assesmnetId;\n });\n return (\n
\n {secondList.map((lesson, index) => (\n
\n
\n
\n {this.getMemberResultForThisCourse(lesson.pkCourseId) >=\n 70 ? (\n \n ) : this.getMemberResultForThisCourse(lesson.pkCourseId) <\n 70 ? (\n \n ) : (\n \n )}\n
\n
{lesson.title} Quiz
\n
\n {this.getMemberResultForThisCourse(lesson.pkCourseId) >=\n 70 ? (\n
\n {this.getMemberResultForThisCourse(lesson.pkCourseId) +\n \"%\"}\n
\n ) : (\n \n
\n {this.getMemberResultForThisCourse(lesson.pkCourseId) +\n \"%\"}\n
\n {\n fetch(QUESTION + \"/\" + lesson.pkCourseId)\n .then(res => res.json())\n .then(res => {\n const questions = Array.from(res.data);\n this.props.onQuizzesChange(questions);\n this.props.onLessonChange(lesson);\n this.props.onCurrentLMSTabChange(3);\n Axios.get(BASE + \"api/CourseMaterial/getModuleID/\" + lesson.pkCourseId,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n this.props.onModuleIdTrack(res.data.moduleId);\n Axios.get(BASE + \"api/CourseModule/getModuleName/\" + res.data.moduleId,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(resp => this.props.onCourseModeleNameUpdate(resp.data.moduleName))\n })\n })\n .catch(error => {\n this.props.onQuizzesChange([]);\n });\n }}\n style={{ cursor: \"pointer\" }}\n >\n Take Quiz\n
\n \n )}\n
\n
\n
\n ))}\n
\n );\n } else {\n }\n };\n hasCertificate = courseId => {\n const scores = this.props.certificates[`${courseId}`];\n\n try {\n const sum = scores.reduce((a, b) => {\n return a + b;\n }, 0);\n\n return sum / scores.length >= 70;\n } catch (error) {\n return false;\n }\n };\n getDate = () => {\n var months = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n let today = new Date();\n let date =\n today.getDate() +\n \" \" +\n months[parseInt(today.getMonth())] +\n \" \" +\n today.getFullYear();\n this.setState({ date });\n };\n render() {\n let list = this.props.assesmentList;\n if (this.props.sectionTitle === \"Course Learning Material\") {\n list = list.filter(l => l.type === 2);\n } else {\n list = list.filter(l => l.type === 1);\n }\n list = list.filter(l => l.hasChildren);\n const print = () => {\n let member = this.state.member;\n const pdf = new jsPDF('p', 'mm', [270, 220]);\n pdf.addImage(this.props.base64Images.nnfo, \"JPEG\", 85, 12);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"times\");\n pdf.setFontStyle(\"bold\");\n pdf.setFontSize(14);\n pdf.text(53, 60, \"National Association of Responsible Firearm Owners\");\n pdf.setTextColor(0, 102, 51);\n pdf.setFontSize(28);\n pdf.text(27, 80, \"CERTIFICATE OF ACHIEVEMENT\");\n pdf.setTextColor(0, 0, 0);\n pdf.setFontSize(20);\n pdf.text(83, 95, \"This certifies that\");\n pdf.setTextColor(0, 0, 255);\n pdf.setFontSize(14);\n pdf.text(70, 110, \"Member Names:\");\n pdf.text(70, 115, \"ID No:\");\n pdf.setFontStyle(\"bold\");\n pdf.text(\n 120,\n 110,\n member.firstname + \" \" + member.surname\n );\n pdf.text(120, 115, member.idno);\n pdf.setTextColor(0, 0, 0);\n pdf.setFontSize(20);\n pdf.text(35, 135, \"Has successfully completed the following course\");\n pdf.setTextColor(0, 51, 102);\n pdf.setFontSize(30);\n this.state.courseTitle === \"Dedicated Hunter Assessment Modules\"\n ? pdf.text(65, 150, this.state.courseTitle.substring(9, 27))\n : pdf.text(45, 150, this.state.courseTitle.substring(9, 34));\n pdf.addImage(this.props.base64Images.pdfSign, \"JPEG\", 26, 165, 60, 45);\n pdf.addImage(this.props.base64Images.pdflogo, \"JPEG\", 135, 165, 50, 50);\n pdf.setFontSize(8);\n pdf.setTextColor(0, 0, 0);\n pdf.text(36, 210, \"Printed on:\");\n pdf.text(50, 210, DateFind(this.state.date));\n pdf.setTextColor(126, 126, 126);\n pdf.text(30, 220, \"14 Phesante Close, Graanendal, Durbanville, 7551\");\n pdf.text(30, 225, \"http://www.narfo.co.za\");\n pdf.setTextColor(0, 0, 0);\n pdf.text(140, 225, \"NARFO Pty (Ltd) 2012/086864/07\");\n pdf.save(\n this.state.courseTitle === \"Dedicated Hunter Assessment Modules\"\n ? \"HunterAssesement.pdf\"\n : \"SportShooterAssessment.pdf\"\n );\n };\n return (\n
\n
\n this.props.onCurrentLMSTabChange(0)}\n />\n
\n
\n
\n {this.props.sectionTitle !== \"Course Assessment Certificates\" && this.props.sectionTitle !== \"Course Learning Material\" ?\n
\n

General Course Disclaimer

\n
\n

By completing this selected quizzes, I declare the following:

\n

I confirm that I as the registered member, am completing the online assessment in my personal capacity with \n no assistance from any third party. I acknowledge that it is an offence to provide false information and \n accept that should this be the case, my results could be revoked and I stand to be disqualified from taking \n this course again. I further acknowledge that this course is an integral part of obtaining my dedicated \n status and as a result of my assessment being revoked, I also stand the chance of losing my dedicated status.

\n
\n
: null}\n
\n {this.props.sectionTitle === \"Course Assessment Certificates\"\n ? this.props.assesmentList.map((assesment, index) => (\n
\n {this.hasCertificate(assesment.assesmentId) ? (\n \n this.setState({ courseTitle: assesment.title })\n }\n onClick={print}\n >\n \n {assesment.title}\n
\n\n
\n
\n Certificate\n
\n
\n
\n ) : null}\n
\n ))\n : list.map((assesment, index) => (\n
\n this.handleClick(assesment)}\n >\n {this.state.open[`${assesment.assesmentId}isOpen`] ? (\n \n ) : (\n \n )}{\" \"}\n {this.props.sectionTitle === \"Course Learning Material\"\n ? assesment.title\n : assesment.title.replace(\"Course\", \" \") + \" Quizzes\"}\n
\n {this.state.open[`${assesment.assesmentId}isOpen`] && (\n
\n {this.displayLessons(assesment.assesmentId)}\n
\n )}\n
\n ))}\n
\n
\n
\n
\n {this.props.sectionTitle === \"Course Assesment Quizzes\" && (\n
\n

\n By completing the following assessments, you will be able to\n apply to become a dedicated sports person or hunter in terms of\n the Firearms Control Act 60 of 2000. After the theoretical\n assessments and practical assessments have been successfully\n completed, you may submit your application to become a dedicated\n sport shooter or hunter.\n

\n

\n The courses are designed for firearm owners who are already in\n possession of a firearm competency and own a firearm for sport\n shooting or hunting activities. A pass rate of 70% is required.\n

\n

\n At the end of each lesson, mark it as “Complete” and proceed to\n the assessment questions.\n

\n
\n )}\n
\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n base64Images: state.Base64ImagesReducer.base64Images,\n assesmentCompletion: state.lmsReducer.assesmentCompletion,\n quizzesList: state.lmsReducer.quizzes,\n memberCourses: state.lmsReducer.memberCourses,\n lessonList: state.lmsReducer.lessons,\n sectionTitle: state.lmsReducer.sectionTitle,\n assesmentList: state.lmsReducer.assesments,\n currentLMSpage: state.lmsReducer.currLmsTab,\n userDetails: state.loginReducer.userProfileDetails,\n quizCompletion: state.lmsReducer.quizCompletion,\n certificates: state.lmsReducer.certificates\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onLessonChange: newLesson =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_LESSON,\n lesson: newLesson\n }),\n onQuizzesChange: newQuizzes =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_QUIZZES,\n quizzes: newQuizzes\n }),\n onSectionTitleChange: newSectionTitle =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_SECTION_TITLE,\n sectionTitle: newSectionTitle\n }),\n onAssesmentsChange: newAssesments =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_ASSESMENTS,\n assesments: newAssesments\n }),\n onAssesmentChange: newAssesment =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_ASSESMENT,\n assesment: newAssesment\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onQuizCompletionChange: newQuizCompletion =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_QUIZ_COMPLETION,\n quizCompletion: newQuizCompletion\n }),\n onCertificatesUpdate: certificates =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CERTIFICATES,\n certificates: certificates\n }),\n onCourseModeleNameUpdate: newCourseName =>\n dispatch({\n type:LMS_ACTIONS.UPDATE_COURSE_MODULE_NAME,\n courseModuleName: newCourseName\n }),\n onModuleIdTrack: newModuleId =>\n dispatch({\n type:LMS_ACTIONS.TRACK_CURRENT_MODULE_ID,\n moduleId: newModuleId\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(Lms);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\n\nexport class TakeCourse extends Component {\n render() {\n return (\n
\n
\n this.props.onCurrentLMSTabChange(1)}\n />\n
\n
\n
\n
\n
\n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n oneLesson: state.lmsReducer.lesson,\n currentLMSpage: state.lmsReducer.currLmsTab\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onLessonChange: newLesson =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_LESSON,\n lesson: newLesson\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(TakeCourse);\n","import React from \"react\";\n\nexport function showOption(questionType, description, index,\n\ttotalOptions, questionId, score, actualScore) {\n\tswitch (questionType) {\n\tcase 0:\n\t return (\n\t\t
\n\t\t {\n\t\t\t score['scoreIndex'] = index;\n\t\t\t}}\n\t\t />\n\t\t {description}\n\t\t
\n\t );\n\tcase 1:\n\t var arr = score['scoreArrayIndex'];\n\t var numOfOptions = 0;\n\t arr.forEach((a, i) => {\n\t\tif (a === 1) {\n\t\t if (actualScore === numOfOptions) {\n\t\t\tarr[i] = 0;\n\t\t }\n\t\t numOfOptions += 1;\n\t\t}\n\t });\n \n\t return (\n\t\t
\n\t\t {(actualScore <= numOfOptions && arr[index] !== 1) ?\n\t\t\t
\n\t\t\t
:\n\t\t\t {\n\t\t\t\tif (e.target.checked) {\n\t\t\t\t arr[index] = 1;\n\t\t\t\t} else {\n\t\t\t\t arr[index] = 0;\n\t\t\t\t}\n\t\t\t }}\n\t\t\t/>\n\t\t }\n\t\t {description}\n\t\t
\n\t );\n\tcase 2:\n\t return sortOption();\n\tcase 3:\n\t return sortOption(64, false);\n\tdefault:\n\t return null;\n\t}\n \n\tfunction sortOption(offset = 0, isNumbers = true) {\n\t const choices = Array.from(new Array(totalOptions + 1),\n\t\t(v, k) => k + offset);\n\t return (\n\t\t
\n\t\t {\n\t\t\t let arr = score['scoreArrayValues'];\n\t\t\t arr[index] = parseInt(e.target.value);\n\t\t\t}}\n\t\t >\n\t\t\t{choices.map((c, k) => )}\n\t\t \n\t\t {description}\n\t\t
\n\t );\n\t}\n }\n\nexport function calculateScore(questionType, trueScores, scored) {\n switch (questionType) {\n case 0:\n if (trueScores[scored] === 1) {\n return 1;\n } else {\n return 0;\n }\n case 1:\n let score = 0;\n trueScores.forEach((val, index) => {\n if (val === scored[index]) {\n score += 1;\n }\n })\n return score;\n case 2:\n case 3:\n let sum = 0;\n scored.forEach((val, index) => {\n if (index === 0) {\n sum = val;\n }\n else {\n if (index % 2 === 1) {\n sum -= val;\n }\n else {\n sum *= val;\n }\n }\n });\n return sum;\n default:\n return null;\n }\n}\n","import Clear from \"@material-ui/icons/Clear\";\nimport React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport { MEMBER_ASSESSMENT } from \"../LMSAPIEndPoints\";\nimport { calculateScore, showOption } from \"./Utils\";\nexport class TakeQuiz extends Component {\n constructor(props) {\n super(props);\n this.state = {\n time: {},\n seconds: 599,\n next: \"Next\",\n previous: \"Previous\",\n isQuizExist: false,\n start: false,\n numberOfQuestions: 0,\n currentQuestion: 0,\n questions: [],\n emailParam: {\n toEmail: this.props.userDetails.email,\n Subject: \"\",\n Body: null,\n Firstname: this.props.altMemberDetails.firstname,\n Surname:this.props.altMemberDetails.surname\n }\n };\n this.timer = 0;\n this.startTimer = this.startTimer.bind(this);\n this.countDown = this.countDown.bind(this);\n this.score = {\n scoreIndex: -1,\n scoreArrayIndex: [],\n scoreArrayValues: []\n };\n this.scoring = [];\n this.submit = false;\n }\n\n componentDidMount() {\n const questions = this.props.questions;\n if (questions.length > 0) {\n this.setState({\n isQuizExist: true,\n numberOfQuestions: questions.length,\n questions: questions,\n next: questions.length <= 1 ? \"Submit\" : \"Next\"\n });\n if (questions.length <= 1) {\n this.submit = true;\n }\n } else {\n this.setState({\n isQuizExist: false,\n questions: []\n });\n }\n }\n\n componentWillMount() {\n let timeLeftVar = this.secondsToTime(this.state.seconds);\n this.setState({\n time: timeLeftVar\n });\n }\n\n secondsToTime(secs) {\n let hours = Math.floor(secs / (60 * 60));\n let divisor_for_minutes = secs % (60 * 60);\n let minutes = Math.floor(divisor_for_minutes / 60);\n let divisor_for_seconds = divisor_for_minutes % 60;\n let seconds = Math.ceil(divisor_for_seconds);\n let obj = {\n h: hours,\n m: minutes,\n s: seconds\n };\n return obj;\n }\n\n startTimer() {\n if (this.timer === 0 && this.state.seconds > 0) {\n this.timer = setInterval(this.countDown, 1000);\n }\n }\n\n countDown() {\n let seconds = this.state.seconds - 1;\n this.setState({\n time: this.secondsToTime(seconds),\n seconds: seconds\n });\n if (seconds === 0) {\n clearInterval(this.timer);\n }\n }\n\n componentWillUnmount() {\n clearInterval(this.timer);\n }\n\n titleTimer = () => {\n return (\n
\n
\n this.props.onCurrentLMSTabChange(1)}\n >\n \n \n
\n
\n {this.props.oneLesson.title} Quiz\n
\n
\n {`0${this.state.time.m} : ${this.state.time.s}`}\n
\n
\n );\n };\n\n isBeginQuiz = () => {\n return (\n
\n
\n {this.state.isQuizExist ? (\n {\n this.setState({ start: true });\n this.startTimer();\n }}\n >\n Start Quiz\n \n ) : (\n
\n
\n
\n
There is currently no questions for this quiz.
\n
\n
\n
\n )}\n
\n
\n );\n };\n\n progressBar = () => {\n return (\n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n Question {this.state.currentQuestion + 1} /{\" \"}\n {this.state.numberOfQuestions}\n
\n
\n \n );\n };\n\n postResults = () => {\n const results = {\n completion: this.props.score,\n courseMaterialId: this.props.oneLesson.pkCourseId,\n memNo: this.props.memberNumber\n };\n fetch(MEMBER_ASSESSMENT, {\n method: \"POST\",\n body: JSON.stringify(results),\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n \"Content-Type\": \"application/json\"\n },\n })\n .then()\n .then(() => {\n fetch(MEMBER_ASSESSMENT + \"/\" + this.props.memberNumber, {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(res => {\n this.props.onQuizCompletionChange(res.data);\n });\n });\n };\n navigateButtons = () => {\n return (\n
\n
\n {this.state.currentQuestion > 0 ? (\n {\n const current = this.state.currentQuestion - 1;\n this.setState({\n currentQuestion: current,\n next:\n current + 1 >= this.state.numberOfQuestions\n ? \"Submit\"\n : \"Next\"\n });\n }}\n >\n {this.state.previous}\n \n ) : null}\n
\n
\n {\n const question = this.state.questions[this.state.currentQuestion];\n const options = question.questionOptions;\n this.scoring[\n this.state.currentQuestion\n ] = this.calculatePercentage(\n question.type,\n question.totalScore,\n options\n );\n this.score = {\n scoreIndex: -1,\n scoreArrayIndex: [],\n scoreArrayValues: []\n };\n if (this.submit) {\n this.props\n .onScoreChange(\n parseInt(\n (this.scoring.reduce((a, b) => a + b, 0) * 100) /\n this.state.numberOfQuestions\n )\n )\n .then(() => {\n this.postResults();\n this.props.onCurrentLMSTabChange(4);\n })\n this.props.onResultsRecordChange(\n this.scoring.map((percentage, index) => {\n return {\n question: index + 1,\n score: percentage * 100\n };\n })\n );\n }\n const current =\n (this.state.currentQuestion + 1) % this.state.numberOfQuestions;\n this.setState({\n currentQuestion: current,\n next:\n current + 1 >= this.state.numberOfQuestions\n ? \"Submit\"\n : \"Next\"\n });\n if (current + 1 >= this.state.numberOfQuestions) {\n this.submit = true;\n }\n }}\n >\n {this.state.next}\n \n
\n
\n );\n };\n\n calculatePercentage(questionType, actualScore, options) {\n switch (questionType) {\n case 0:\n return (\n calculateScore(\n questionType,\n options.map(opt => opt.score),\n this.score.scoreIndex\n ) / actualScore\n );\n case 1:\n return (\n calculateScore(\n questionType,\n options.map(opt => opt.score),\n this.score.scoreArrayIndex\n ) / actualScore\n );\n case 2:\n case 3:\n return calculateScore(\n questionType,\n options.map(opt => opt.score),\n this.score.scoreArrayValues\n ) === actualScore\n ? 1\n : 0;\n default:\n return 0;\n }\n }\n\n showQuestion = () => {\n const question = this.state.questions[this.state.currentQuestion];\n const options = question.questionOptions;\n const questionPic = question.questionPictures;\n return (\n
\n
\n {question.questionTitle}\n
\n {questionPic ? (\n
\n \"Sorry\"\n
\n ) : null}\n
\n {options.map((opt, index) =>\n showOption(\n question.type,\n opt.description,\n index,\n question.questionOptions.length,\n question.questionId,\n this.score,\n question.totalScore\n )\n )}\n
\n
\n );\n };\n\n isTimeUp = () => {\n if (this.state.seconds === 0) {\n return (\n \n Time is up\n
\n );\n }\n if (!this.state.start) {\n return this.isBeginQuiz();\n } else {\n return (\n
\n {this.progressBar()}\n {this.showQuestion()}\n {this.navigateButtons()}\n
\n );\n }\n };\n\n render() {\n return (\n
\n {this.titleTimer()}\n {this.isTimeUp()}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n memberNumber: state.loginReducer.userProfileDetails.memberNumber,\n oneLesson: state.lmsReducer.lesson,\n currentLMSpage: state.lmsReducer.currLmsTab,\n questions: state.lmsReducer.quizzes,\n score: state.lmsReducer.score,\n userDetails: state.loginReducer.userProfileDetails,\n courseDedicatedStatusType: state.lmsReducer.courseModuleName,\n altMemberDetails: state.loginReducer.memberObject,\n moduleId: state.lmsReducer.moduleId,\n loyaltyDaysObject: state.LoyaltyDaysReducer.loyaltyDaysObject\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onQuizzesChange: newQuiz =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_QUIZZES,\n quizzes: newQuiz\n }),\n onScoreChange: newScore => {\n dispatch({\n type: LMS_ACTIONS.UPDATE_SCORE,\n score: newScore\n });\n return Promise.resolve();\n },\n onResultsRecordChange: newResultsRecord =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_RESULTS_RECORD,\n resultsRecord: newResultsRecord\n }),\n onQuizCompletionChange: newQuizCompletion =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_QUIZ_COMPLETION,\n quizCompletion: newQuizCompletion\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(TakeQuiz);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport { VictoryPie, VictoryLabel } from \"victory\";\n\nexport class QuizResults extends Component {\n render() {\n return (\n
\n
\n
\n
\n {this.props.score < 60 ? (\n
\n
\n Sorry, you failed the quiz! You need at least 60% to succeed.\n
\n
\n Here are your results\n
\n
\n ) : (\n
\n
\n Congratulations you have passed!\n
\n
\n Here are your results\n
\n
\n )}\n\n
\n \n }\n width={500}\n height={500}\n data={[\n { key: \"\", y: this.props.score },\n { key: \"\", y: 100 - this.props.score }\n ]}\n innerRadius={250}\n colorScale={[`${this.props.score >= 60?\"green\":\"red\"}`, \"black\"]}\n />\n = 60?\"green\":\"red\"}` }}\n x={250}\n y={250}\n text={this.props.score + \"%\"}\n />\n \n
\n
\n
\n
\n\n {this.props.score < 60 ? (\n
\n
\n
\n
\n
\n {\n this.props.onCurrentLMSTabChange(3);\n }}\n >\n Restart Quiz\n \n
\n
\n {\n this.props.onCurrentLMSTabChange(5);\n }}\n >\n View Results\n \n
\n
\n {\n this.props.onCurrentLMSTabChange(1);\n }}\n >\n Back to Quizzes\n \n
\n
\n
\n
\n
\n ) : (\n
\n
\n
\n
\n
\n {\n this.props.onCurrentLMSTabChange(5);\n }}\n >\n View Results\n \n
\n
\n {\n this.props.onCurrentLMSTabChange(1);\n }}\n >\n Back to Quizzes\n \n
\n
\n
\n
\n
\n )}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n score: state.lmsReducer.score,\n oneAssesment: state.lmsReducer.assesment,\n memberName: state.membersAreaReducer.membersArea.memberName,\n oneLesson: state.lmsReducer.lesson,\n currentLMSpage: state.lmsReducer.currLmsTab\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onScoreChange: newScore =>\n dispatch({ type: LMS_ACTIONS.UPDATE_SCORE, score: newScore }),\n onAssesmentChange: newAssesment =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_ASSESMENT,\n assesment: newAssesment\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(QuizResults);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nimport KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\nimport CheckCircleOutline from \"@material-ui/icons/CheckCircleOutline\";\nimport HighlightOff from \"@material-ui/icons/HighlightOff\";\n\nexport class ViewResults extends Component {\n render() {\n return (\n
\n \n
\n this.props.onCurrentLMSTabChange(4)}\n >\n \n \n
\n
\n {this.props.oneLesson.title} Quiz\n
\n
\n
\n
\n
\n {this.props.resultsRecord.map((value, index) => (\n
\n
Question {value.question}
\n
\n {value.score < 75 ? (\n \n ) : (\n \n )}\n
\n \n
\n ))}\n
\n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n memberNumber: state.loginReducer.userProfileDetails.memberNumber,\n oneLesson: state.lmsReducer.lesson,\n resultsRecord: state.lmsReducer.resultsRecord\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ViewResults);\n","import { withStyles } from \"@material-ui/core/styles\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\n\nconst styles = {\n card: {\n minWidth: 500\n },\n root: {\n flex: 1,\n flexDirection: \"col\",\n borderBottom: \"2px solid #D8D8D8\"\n },\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20%\",\n paddingRight: 20,\n paddingLeft: 20,\n color: \"black\"\n },\n content: {\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\"\n }\n};\n\nclass Account extends Component {\n handleSubmit = e => {\n this.props.onAddAccountDetailsChange(\n this.props.accountArray.paymentType,\n \"paymentType\"\n );\n this.props.onAddAccountDetailsChange(\n this.props.accountArray.recieptNumber,\n \"recieptNo\"\n );\n this.props.onAddAccountDetailsChange(\n this.props.accountArray.invoiceNumber,\n \"invoiceNo\"\n );\n this.props.onAddAccountDetailsChange(\n this.props.accountArray.paymentDate,\n \"paymentDate\"\n );\n this.props.onAddAccountDetailsChange(\n this.props.accountArray.paymentDate.substring(0, 4),\n \"year\"\n );\n this.props.onAddAccountDetailsChange(\n this.props.accountArray.paymentMethod,\n \"paymentMethod\"\n );\n this.props.onAddAccountDetailsChange(\n `R ${this.props.accountArray.amountPaid}`,\n \"amountPaid\"\n );\n this.props.onAddAccountDetailsChange(\"1\", \"currentAccountTab\");\n };\n\n handleView = e => {\n this.props.onAddAccountDetailsChange(\n this.props.accountArray.paymentType,\n \"paymentType\"\n );\n this.props.onAddAccountDetailsChange(\"1\", \"currentAccountTab\");\n };\n render() {\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n\n return (\n \n {info(\"Payment Type:\", this.props.accountArray.paymentType)}\n {info(\"Amount Paid:\", this.props.accountArray.amountPaid)}\n {info(\n \"Payment Date:\",\n this.props.accountArray.paymentDate.substring(0, 10)\n )}\n
\n );\n }\n}\n\nAccount.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n accountDetails: state.accountReducer.account\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(Account));\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport { FRONT } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport Account from \"./Account\";\nimport { LMS_ACTIONS } from \"../../../store/actions/actionTypes\";\nclass MainAccount extends Component {\n componentDidMount() {\n this.props.onCommissionTabChange(\"0\");\n this.props.onLoyaltyDaysTabChange(\"0\");\n this.props.onCurrentLMSTabChange(0);\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n }\n checkoutScreen = () => {\n return (\n
\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n\n \n Renew Membership\n \n \n );\n };\n\n DateDifference = (datePart, fromDate, todate) => {\n datePart = datePart.toLowerCase();\n var diff = todate - fromDate;\n var divideBy = { w: 604800000, d: 86400000, h: 3600000, m: 60000, s: 1000 };\n\n return Math.floor(diff / divideBy[datePart]);\n };\n\n hasToRenewMembership = () => {\n var daysToExpiry = this.DateDifference(\n \"d\",\n new Date(Date.now()),\n new Date(this.props.memberDetails.expiryDate)\n );\n\n return daysToExpiry >= 0 && daysToExpiry > 60 ? false : true;\n };\n\n descending = (a, b) => {\n return b - a;\n };\n\n render() {\n return (\n
\n \n {this.hasToRenewMembership() && (\n
\n
\n
\n
\n {\n this.props.history.push(\"/Checkout\");\n }}\n >\n Pay Membership - Payfast\n \n
\n
\n {\n this.props.history.push(\"/Manual\");\n }}\n >\n Pay Membership - Bank Deposit\n \n
\n
\n
\n
\n
\n
\n {\n this.props.history.push(\"/Checkout\");\n }}\n >\n Pay Membership - Payfast\n \n
\n
\n {\n this.props.history.push(\"/Manual\");\n }}\n >\n Pay Membership - Bank Deposit\n \n
\n
\n
\n
\n )}\n
\n
\n You can keep track of your payments here. Click on any transaction to see more details and also print your receipt.\n
\n
\n
Payment History
\n
\n
\n
\n
\n {this.props.accountList.map((account, index) => (\n \n ))}\n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n accountDetails: state.accountReducer.account,\n accountList: state.accountReducer.accountList,\n memberDetails: state.loginReducer.userProfileDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onUserAccountChange: newUserAccountArray =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT_LIST,\n payload: newUserAccountArray\n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withRouter(MainAccount));\n","import { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_ACCOUNT_LIST } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\n\nconst styles = {\n root: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"60%\",\n overflow: \"auto\"\n },\n paper: {\n backgroundColor: \"black\",\n position: \"absolute\",\n bottom: \"0\"\n },\n button: {\n backgroundColor: \"black\",\n flex: 1,\n color: \"white\",\n marginLeft: \"45%\",\n marginRight: \"45%\",\n marginTop: \"20px\",\n marginBottom: \"20px\"\n },\n iframe: {\n width: \"200vh\",\n height: \"90vh\",\n overflow: \"auto\"\n }\n};\n\nclass Payfast extends Component {\n componentDidMount() {\n axios.get(BASE + GET_ACCOUNT_LIST).then(res => {\n var account = res.data;\n this.props.onUserAccountChange(account);\n });\n }\n\n render() {\n const { classes } = this.props;\n return (\n
\n \n

Your browser does not support iframes.

\n \n
\n );\n }\n}\nPayfast.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n accountDetails: state.accountReducer.account,\n accountList: state.accountReducer.accountList\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onUserAccountChange: newUserAccountArray =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT_LIST,\n payload: newUserAccountArray\n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(Payfast));\n","import axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, FRONT, GET_DOWNLOADS_URL } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport \"./styles.css\";\nimport FilterButtons from \"./uploads/FilterButtons\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\nimport { LMS_ACTIONS } from \"../../store/actions/actionTypes\";\nclass test extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: false,\n filter: false,\n documentType: \"\",\n generalButton: false,\n huntingButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: false,\n resertAll: false,\n applyFilter: false,\n filteredDocumentArray: [],\n filtering: false\n };\n }\n componentDidMount() {\n this.props.onCommissionTabChange(\"0\");\n this.props.onAddAccountDetailsChange(0, \"currentAccountTab\");\n this.props.onLoyaltyDaysTabChange(\"0\");\n this.props.onCurrentLMSTabChange(0);\n this.props.onCurrentEndorsementTabChange(\"0\");\n this.props.onCurrActivityTabChange(\"0\", \"currentActivityTab\");\n this.props.onCurrentLicenseTabChange(\"0\", \"currentLicenseTab\")\n axios.get(BASE + GET_DOWNLOADS_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n this.props.onDownloadsChange(res.data, \"ListState\");\n });\n }\n applyFilter = () => {\n this.setState({ loading: true });\n this.setState({\n filtering: true,\n filter: false,\n huntingButton: false,\n generalButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: false\n })\n axios({\n url: BASE + \"api/downloads/filterByDocumentType/\" + this.state.documentType,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n this.setState({\n filteredDocumentArray: res.data,\n loading: false,\n })\n })\n }\n resetFilterType = () => {\n this.setState({\n filtering: false,\n huntingButton: false,\n filter: false,\n documentType: \"\",\n generalButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: false\n });\n };\n generalDocumentFilter = () => {\n this.setState({\n documentType: \"General\",\n huntingButton: false,\n generalButton: true,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: false\n });\n }\n narfoDocumentFilter = () => {\n this.setState({\n documentType: \"Narfo\",\n huntingButton: false,\n generalButton: false,\n narfoButton: true,\n dsButton: false,\n memberButton: false,\n targetButton: false\n });\n }\n dsDocumentFilter = () => {\n this.setState({\n documentType: \"Dedicated Status\",\n huntingButton: false,\n generalButton: false,\n narfoButton: false,\n dsButton: true,\n memberButton: false,\n targetButton: false\n });\n }\n memberDocumentFilter = () => {\n this.setState({\n documentType: \"Member\",\n huntingButton: false,\n generalButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: true,\n targetButton: false\n });\n }\n huntingDocumentFilter = () => {\n this.setState({\n documentType: \"Hunting\",\n huntingButton: true,\n generalButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: false\n });\n }\n targetDocumentFilter = () => {\n this.setState({\n documentType: \"Target\",\n huntingButton: false,\n generalButton: false,\n narfoButton: false,\n dsButton: false,\n memberButton: false,\n targetButton: true\n });\n }\n documentHeaderChange = () => {\n if (this.state.filter === true) {\n return (\n
\n {\n this.setState({ filter: false })\n }}\n />\n \n
\n );\n } else {\n return(\n \n this.setState({ filter: true })\n }\n />\n )\n }\n }\n render() {\n if (this.state.loading) {\n return (\n
\n
\n \n
\n
\n

Loading files. Please wait ...

\n
\n
\n );\n }\n const documentArray = this.state.filtering === true ? this.state.filteredDocumentArray : this.props.documents.ListState\n return (\n
\n {this.documentHeaderChange()}\n
\n
\n All the relevant documentation can be found in this section. Use the filter button to search for a specific type of document. \n You can also download all of the NARFO targets in this section.\n
\n
\n
Documents Links
\n
\n
\n {documentArray.map((name, index) => (\n
\n \n
\n
{name.name}
\n
{name.discription}
\n
\n \n
\n ))}\n {\n this.messagesEnd = el;\n }}\n />\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n documents: state.documentReducer.documents\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onAddAccountDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT,\n varValue: value,\n varName: variableName\n }),\n onLoyaltyDaysTabChange: pageNum =>\n dispatch({ \n type: actionTypes.UPDATE_LOYALTY_DAYS_TAB, \n currentLoyaltyDaysTab: pageNum \n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onCurrentEndorsementTabChange: newTabName =>\n dispatch({\n type: actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB,\n currTab: newTabName\n }),\n onCurrActivityTabChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: vname\n }),\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onDownloadsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_DOWNLOADS,\n varValue: value,\n varName: vname\n }),\n onViewPdfChange: payload =>\n dispatch({ type: actionTypes.UPDATE_DOWNLOADS, payload: payload })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(test);\n","import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { isMobile } from \"react-device-detect\";\nimport { toast } from 'react-toastify';\ntoast.configure();\nexport class EditPaymentDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n AdminId: this.props.bankEditObject.AdminId,\n BankName: this.props.bankEditObject.BankName,\n BranchCode: this.props.bankEditObject.BranchCode,\n AccountNo: this.props.bankEditObject.AccountNo,\n AccountType: this.props.bankEditObject.AccountType,\n };\n this._submitForm = React.createRef();\n }\n _clickSubmitButton = e => {\n e.preventDefault();\n this._submitForm.current.click();\n }\n onChange = e => {\n e.preventDefault();\n this.setState({\n [e.target.name]: e.target.value\n });\n };\n onSubmit = e => {\n e.preventDefault();\n const {\n AdminId,\n BankName,\n BranchCode,\n AccountNo,\n AccountType,\n } = this.state;\n axios({\n url: `${BASE}api/admin/updateRepBankingDetails`,\n method: \"post\",\n data: {\n AdminId,\n BankName,\n BranchCode,\n AccountNo,\n AccountType,\n },\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}` \n }\n }).then(response => {\n if(!response.data.isFound){\n toast.error(response.data.message)\n } else {\n this.newBankingDetailsUpdater(response.data.newBankDetails);\n toast.success(response.data.message);\n }\n });\n this.setState({\n userDetails: true\n });\n };\n newBankingDetailsUpdater = newDetails => {\n let bankingDetailsObject = {};\n let bankingDetailsObjectPartner = {};\n newDetails.filter(element => {\n if(element.memType === \"Sales\"){\n bankingDetailsObject = {\n AdminId: element.adminId,\n MemType: element.memType,\n BankName: element.bankName,\n BranchCode: element.branchCode,\n AccountNo: element.accountNo,\n AccountType: element.accountType,\n }\n }\n if(element.memType === \"Partner\"){\n this.props.onPartnerStatusUpdate(true);\n bankingDetailsObjectPartner = {\n AdminId: element.adminId,\n MemType: element.memType,\n BankName: element.bankName,\n BranchCode: element.branchCode,\n AccountNo: element.accountNo,\n AccountType: element.accountType,\n }\n }\n })\n this.props.onBankingDetailsget(bankingDetailsObject, bankingDetailsObjectPartner);\n this.props.onCommissionTabChange(\"2\");\n }\n render() {\n var width1 = \"\";\n var width2 = \"\";\n if (isMobile) {\n width1 = \"20%\"\n width2 = \"20%\"\n } else {\n width1 = \"29%\"\n width2 = \"40%\"\n }\n const info = (row1, row2) => (\n \n \n {row1}\n {isMobile ? null : }\n {row2}\n \n \n );\n return (\n
\n
\n
\n this.props.onCommissionTabChange(\"2\")}\n />\n
\n \n {info(\"Bank Name\",\n {\n this.setState({\n BankName: a.target.value\n });\n }}\n onChange={this.onChange}\n value={this.state.BankName}\n />\n )}\n {info(\"Account Number\",\n {\n this.setState({\n AccountNo: a.target.value\n });\n }}\n onChange={this.onChange}\n value={this.state.AccountNo}\n />\n )}\n {info(\"Branch Code\",\n {\n this.setState({\n BranchCode: a.target.value\n });\n }}\n onChange={this.onChange}\n value={this.state.BranchCode}\n />\n )}\n {info(\"Account Type\",\n {\n this.setState({\n AccountType: a.target.value\n });\n }}\n onChange={this.onChange}\n value={this.state.AccountType}\n />\n )}\n this.onSubmit(e)}\n ref={this._submitForm}\n />\n
\n
\n
\n
\n \n
\n
\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n bankDetailsViewObj: state.CommissionRecordReducer.bankDetailsViewObj,\n bankEditObject: state.CommissionRecordReducer.bankEditObject\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onBankingDetailsget: (BankDetailsObject, bankingDetailsObjectPartner) =>\n dispatch({ \n type: actionTypes.BANKING_DETAILS_UPDATE, \n bankingDetails: [\n BankDetailsObject,\n bankingDetailsObjectPartner\n ]\n }),\n onPartnerStatusUpdate: status =>\n dispatch({ \n type: actionTypes.IS_PARTNER_UPDATE, \n isPartner: status\n }),\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(EditPaymentDetails);\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\n\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Tabs from \"@material-ui/core/Tabs\";\nimport Tab from \"@material-ui/core/Tab\";\nimport { withRouter } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport Typography from \"@material-ui/core/Typography\";\nimport MainActivities from \"../loggeddInUser/activitiesPage/MainActivities\";\nimport NewActivityDetails from \"../loggeddInUser/activitiesPage/NewActivityDetails\";\nimport NewActivityFirearmDetails from \"../loggeddInUser/activitiesPage/NewActivityFirearmDetails\";\nimport MainEndorsement from \"../loggeddInUser/endorsement/MainEndorsement\";\nimport EndorsementApplicationDetails from \"../loggeddInUser/endorsement/EndorsementApplicationDeatails\";\nimport EndorsementApplicationFirearm from \"../loggeddInUser/endorsement/EndorsementApplicationFirearm\";\nimport LicensedFirearms from \"../loggeddInUser/LicensedFireArm/LicensedFireArms\";\nimport LicensedFireArmUpdate from \"../loggeddInUser/LicensedFireArm/LicensedFireArmUpdate\";\nimport LicenseAddNew from \"../loggeddInUser/LicensedFireArm/LicenseAddNew\";\nimport LicenseViewDetails from \"../loggeddInUser/LicensedFireArm/LicenseViewDetails\";\nimport AddFirearmDetails from \"../loggeddInUser/LicensedFireArm/AddFirearmDetails\";\nimport EndorsementApplicationDeclaration from \"../loggeddInUser/endorsement/EndorsementApplicationDeclaration\";\nimport EndorsementApplicationDone from \"../loggeddInUser/endorsement/EndorsementApplicationDone\";\nimport EndorsementApplicationView from \"../loggeddInUser/endorsement/EndorsementApplicationView\";\nimport AddLicenseDetails from \"../loggeddInUser/LicensedFireArm/AddLicenseDetails\";\nimport DedicatedProfile from \"../dedicatedHunter/DedicatedProfile\";\nimport LMS from \"../learningManagementSystem/UserHome/Lms\";\nimport DisplaySection from \"../learningManagementSystem/UserHome/DisplaySection.jsx\";\nimport UserDetails from \"../../components/loggeddInUser/userProfile/UserDetails\";\nimport TakeCourse from \"../learningManagementSystem/UserHome/TakeCourse\";\nimport TakeQuiz from \"../learningManagementSystem/UserHome/TakeQuiz\";\nimport QuizResults from \"../learningManagementSystem/UserHome/QuizResults\";\nimport ViewResults from \"../learningManagementSystem/UserHome/ViewResults.jsx\";\nimport MainAccount from \"../loggeddInUser/account/MainAccount\";\nimport PaymentView from \"../loggeddInUser/account/PaymentView\";\nimport Payfast from \"../loggeddInUser/account/Payfast\";\nimport MainMembershipCard from \"../loggeddInUser/membershipCard/MainMembershipCard\";\nimport LoggedInAcitvityDetails from \"../loggeddInUser/activitiesPage/ActivityDetails\";\nimport Documents from \"./../AdminDownloads/Documents\";\nimport LoyaltyDays from \"../loggeddInUser/loyaltyDaysEarned/LoyaltyDays\";\nimport DedicatedStatusDaysEarned from \"../loggeddInUser/loyaltyDaysEarned/DedicatedStatusDaysEarned\";\nimport CourseDaysEarned from \"../loggeddInUser/loyaltyDaysEarned/CourseDaysEarned\";\nimport EndorsementDaysEarned from \"../loggeddInUser/loyaltyDaysEarned/EndorsementDaysEarned\";\nimport ActivityDaysEarned from \"../loggeddInUser/loyaltyDaysEarned/ActivityDaysEarned\";\nimport MainSalesCommission from \"../loggeddInUser/salesCommission/MainSalesCommission\";\nimport CommissionSelect from \"../loggeddInUser/salesCommission/CommissionSelect\";\nimport CommissionPaymentDetails from \"../loggeddInUser/salesCommission/CommissionPaymentDetails\";\nimport EditPaymentDetails from \"../loggeddInUser/salesCommission/EditPaymentDetails\";\nimport {\n LMS_ACTIONS,\n UPDATE_LICENCE_LIST\n} from \"../../store/actions/actionTypes\";\nimport axios from \"axios\";\nimport { GET_COURSE_MODULES_WITH_CHILDREN } from \"../learningManagementSystem/LMSAPIEndPoints\";\nimport { BASE, GET_SPEC_LIST } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nfunction TabPane(props) {\n return (\n \n {props.children}\n \n );\n}\n\nTabPane.propTypes = {\n children: PropTypes.node.isRequired\n};\n\nconst styles = theme => ({\n root: {\n flexGrow: 1,\n width: \"100%\",\n backgroundColor: \"#FFF\"\n }\n});\n\nclass ScrollableTabsButtonAuto extends React.Component {\n state = {\n value: 0,\n isSalesRep: false\n };\n componentDidMount() {\n if (sessionStorage.getItem(\"tokenKey\") === null) {\n this.props.onUserDetailsChange(\"\", \"email\");\n this.props.onUserDetailsChange(\"\", \"username\");\n this.props.onUserDetailsChange(\"\", \"cellNo\");\n this.props.onUserDetailsChange(\"\", \"physicalAddress\");\n this.props.onUserDetailsChange(\"\", \"memberNumber\");\n this.props.onUserDetailsChange(\"\", \"expiryDate\");\n sessionStorage.removeItem(\"member\");\n sessionStorage.removeItem(\"activeStatus\");\n sessionStorage.removeItem(\"tokenKey\");\n localStorage.removeItem(\"tokenKey\");\n this.props.onUserDetailsChange(false, \"isLoggedIn\");\n this.props.onUserDetailsChange(false, \"adminLevel\");\n this.props.history.push(\"/\");\n }\n\n }\n\n componentWillMount() {\n axios({\n url: `${BASE}api/admin/sales`,\n method: \"get\",\n headers: { \n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}` \n }\n }).then(res => {\n res.data.filter(element => {\n if(element.memNo === this.props.userProfileDetails.memberNumber) {\n this.setState({isSalesRep: true})\n }\n })\n })\n axios\n .get(BASE + GET_SPEC_LIST + this.props.userProfileDetails.memberNumber, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n })\n .then(res => {\n var licenses = res.data;\n this.props.onUserLicenseChange(licenses);\n });\n axios.get(GET_COURSE_MODULES_WITH_CHILDREN, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }).then(res => {\n const modules = res.data;\n const assessments = modules.map(mod => {\n const material = mod.courseMaterial;\n return {\n assesmentId: mod.courseModuleId,\n title: mod.name,\n grade: \"O\",\n type: mod.type,\n hasChildren: material ? (material.length > 0) : false\n };\n });\n this.props.onAssesmentsChange(assessments);\n const material = modules.map(mod => [...mod.courseMaterial]);\n let lessons = [];\n material.forEach(mat => {\n mat.forEach(_lesson => {\n lessons.push({\n pkCourseId: _lesson.courseMaterialId,\n title: _lesson.name,\n content: _lesson.content,\n assesmnetId: _lesson.courseModuleId,\n type: _lesson.type\n });\n });\n });\n this.props.onLessonsChange(lessons);\n });\n }\n\n handleChange = (event, value) => {\n this.setState({ value });\n };\n //routing function based on the page load licence\n loadActivityTab = () => {\n switch (this.props.currActivityTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n case \"2\":\n return ;\n case \"3\":\n return (\n \n );\n default:\n return ;\n }\n };\n\n loadLicenseTab = () => {\n switch (this.props.currLicenseTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n case \"2\":\n return ;\n case \"3\":\n return ;\n case \"4\":\n return ;\n case \"5\":\n return ;\n default:\n return ;\n }\n };\n\n loadLMS = () => {\n switch (this.props.currLmsTab) {\n case 0:\n return ;\n case 1:\n return ;\n\n case 2:\n return ;\n case 3:\n return ;\n case 4:\n return ;\n case 5:\n return ;\n default:\n return ;\n }\n };\n loadAccountTab = () => {\n switch (this.props.currAccountTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n case \"2\":\n return ;\n default:\n return ;\n }\n };\n\n loadEndorsementTab = () => {\n switch (this.props.currentEndorsementTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n case \"2\":\n return ;\n case \"3\":\n return ;\n case \"4\":\n return ;\n case \"5\":\n return ;\n default:\n return ;\n }\n };\n\n loadLoyaltyDaysTab = () => {\n switch (this.props.currLoyaltyDaysTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n case \"2\":\n return ;\n case \"3\":\n return ;\n case \"4\":\n return ;\n default:\n return ;\n }\n };\n\n loadCommissionTab = () => {\n switch (this.props.currentCommissionTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n case \"2\":\n return ;\n case \"3\":\n return ;\n default:\n return ;\n }\n };\n\n render() {\n const { value } = this.state;\n const tabs = this.state.isSalesRep ? [\n \"Profile\",\n \"Sales Commission\",\n \"Loyalty Days\",\n \"My Account\",\n \"Membership Card\",\n \"Courses\",\n \"Dedicated Status\",\n \"Endorsement\",\n \"Activity\",\n \"License Reminders\",\n \"Documents\"\n ] : \n [\n \"Profile\",\n \"Loyalty Days\",\n \"My Account\",\n \"Membership Card\",\n \"Courses\",\n \"Dedicated Status\",\n \"Endorsement\",\n \"Activity\",\n \"License Reminders\",\n \"Documents\"\n ]\n return (\n \n
\n \n \n {tabs.map((tab, index) => (\n \n ))}\n \n \n
\n
\n {this.state.isSalesRep ? \n
\n {value === 0 && }\n {value === 1 && this.loadCommissionTab()}\n {value === 2 && this.loadLoyaltyDaysTab()}\n {value === 3 && this.loadAccountTab()}\n {value === 4 && }\n {value === 5 && this.loadLMS()}\n {value === 6 && }\n {value === 7 && this.loadEndorsementTab()}\n {value === 8 && this.loadActivityTab()}\n {value === 9 && this.loadLicenseTab()}\n {value === 10 && }\n
:\n
\n {value === 0 && }\n {value === 1 && this.loadLoyaltyDaysTab()}\n {value === 2 && this.loadAccountTab()}\n {value === 3 && }\n {value === 4 && this.loadLMS()}\n {value === 5 && }\n {value === 6 && this.loadEndorsementTab()}\n {value === 7 && this.loadActivityTab()}\n {value === 8 && this.loadLicenseTab()}\n {value === 9 && }\n
}\n
\n
\n );\n }\n}\n\nScrollableTabsButtonAuto.propTypes = {\n classes: PropTypes.object\n};\n\nconst mapStateToProps = state => {\n return {\n currentCommissionTab: state.CommissionReducer.currentCommissionTab,\n currLoyaltyDaysTab: state.LoyaltyDaysReducer.currentLoyaltyDaysTab,\n memberNumber: state.loginReducer.userProfileDetails.memberNumber,\n currActivityTab: state.membersAreaReducer.membersArea.currentActivityTab,\n currLicenseTab: state.membersAreaReducer.membersArea.currentLicenseTab,\n currAccountTab: state.accountReducer.account.currentAccountTab,\n currLmsTab: state.lmsReducer.currLmsTab,\n currentEndorsementTab: state.endorsementReducer.currentEndorsementTab,\n currNewsTab: state.articlesReducer.articles,\n userProfileDetails: state.loginReducer.userProfileDetails,\n activityMemberNumber:\n state.activitiesParametersReducer.activityMemberNumber,\n activityIdNumber: state.activitiesParametersReducer.activityID\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onUserLicenseChange: newUserLicensesArray =>\n dispatch({\n type: UPDATE_LICENCE_LIST,\n payload: newUserLicensesArray\n }),\n onMemberCoursesChange: newMemberCourses =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_MEMBER_COURSES,\n memberCourses: newMemberCourses\n }),\n onQuizzesChange: newQuizzes =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_QUIZZES,\n quizzes: newQuizzes\n }),\n onLessonsChange: newLessons =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_LESSONS,\n lessons: newLessons\n }),\n onSectionTitleChange: newSectionTitle =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_SECTION_TITLE,\n sectionTitle: newSectionTitle\n }),\n onAssesmentsChange: newAssesments =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_ASSESMENTS,\n assesments: newAssesments\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n }),\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(ScrollableTabsButtonAuto)));\n","import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_LOGGED_IN_MEMBER } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport MembersAreaHeader from \"../membersAreaPage/MembersAreaHeader\";\nimport TabPane from \"../membersAreaPage/TabPane\";\n\nconst DateDifference = (datePart, fromDate, todate) => {\n datePart = datePart.toLowerCase();\n var diff = todate - fromDate;\n var divideBy = { w: 604800000, d: 86400000, h: 3600000, m: 60000, s: 1000 };\n\n return Math.floor(diff / divideBy[datePart]);\n};\n\nexport const membershipExpired = date => {\n var daysToExpiry = DateDifference(\n \"d\",\n new Date(Date.now()),\n new Date(date) //this.props.memberDetails.expiryDate\n );\n\n return daysToExpiry >= 0 ? false : true;\n};\n\nclass MembersArea extends Component {\n constructor(props) {\n super(props);\n this.loadMemberArea = this.loadMemberArea.bind(this);\n this.state = {\n loading: true\n };\n\n //Redirect the user to the main admin page when trying to access this page \n this.props.history.push(\"/admin/MainAdmin\");\n\n // if (membershipExpired(this.props.memberDetails.expiryDate)) {\n // this.props.history.push(\"/PendingMemberView\");\n // }\n }\n\n componentDidMount() {\n axios\n .get(BASE + GET_LOGGED_IN_MEMBER + this.props.member.memberNumber,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n this.props.onGetLoggedInMemberChange(res.data.member);\n this.props.onMemberActiveStatusChange(res.data.dedicatedStatus);\n this.setState({\n loading: false\n });\n });\n }\n\n loadMemberArea() {\n return (\n \n {!this.state.loading ? (\n
\n
\n \n
\n
\n ) : null}\n
\n
\n \n
\n
\n
\n );\n }\n\n render() {\n return
{this.loadMemberArea()}
;\n }\n}\n\nconst mapStateToProps = state => {\n return {\n member: state.loginReducer.userProfileDetails,\n getLoggedInMember: state.MemberViewReducer.getLoggedInMember,\n memberDetails: state.loginReducer.userProfileDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onGetLoggedInMemberChange: newGetLoggedInMember =>\n dispatch({\n type: actionTypes.UPDATE_GET_LOGGED_IN_MEMBER,\n getLoggedInMember: newGetLoggedInMember\n }),\n onMemberActiveStatusChange: newActiveStatus =>\n dispatch({\n type: actionTypes.UPDATE_ACTIVE_STATUS,\n activeStatus: newActiveStatus\n }),\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(MembersArea);\n","import axios from \"axios\";\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_ACCOUNT_LIST, GET_LOGGED_IN_MEMBER, UPLOAD_PROFILE_PICTURE } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport narfo_default from \"../adminPortal/images/dProfile.jpg\";\nimport editicon from \"../adminPortal/images/edit-icon.png\";\nimport \"../adminPortal/styles/dstyle.css\";\nimport { membershipExpired } from \"../main/MembersArea\";\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport \"./imageStyler.css\";\ntoast.configure();\nclass MembersAreaHeader extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n logginStatus: true,\n time: {},\n start: false,\n profilePictureExists: \"Exists\",\n file: \"srclogo.svg\",\n imagePreviewUrl: narfo_default,\n imageStateTrack: \"0\",\n image: narfo_default,\n member: props.memberDetails,\n membershipExpired: false,\n dedicatedHUNTER: \"\",\n dedicatedSHOOTER: \"\",\n hunterAndShooter: \"\",\n seconds: 3600\n };\n this.timer = 0;\n }\n componentDidMount() {\n axios({\n url: `${BASE}api/Images/getAll`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n if(res.data.state){\n this.props.onBase4ImagesGet({\n narfo: res.data.narfo,\n nnfo: res.data.nnfo,\n pdfSign: res.data.pdfSign,\n pdflogo: res.data.pdflogo,\n signature2: res.data.signature2,\n wildman: res.data.wildman\n });\n console.log(res.data.message);\n } else {\n console.log(res.data.message);\n }\n })\n if (this.props.adminView) {\n axios\n .get(BASE + GET_LOGGED_IN_MEMBER + this.props.memberDetails.memNo,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n this.props.onmembershipExpiredStatusChange(res.data.dedicatedStatus);\n });\n axios\n .get(BASE + GET_LOGGED_IN_MEMBER + this.props.MemberV.memNo,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n this.setState({\n dedicatedHUNTER: res.data.dedicatedStatus.dedicatedHunter,\n dedicatedSHOOTER: res.data.dedicatedStatus.dedicatedShooter,\n hunterAndShooter: res.data.dedicatedStatus.hunterAndshooter\n });\n });\n }\n this.props.onCurrAccountViewTabChange(0);\n const getUserAccountsUrl = this.props.memberDetails.memberNumber;\n axios.get(BASE + GET_ACCOUNT_LIST + getUserAccountsUrl,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n var accounts = res.data;\n this.props.onUserAccountChange(accounts);\n\n if (accounts && accounts.length) {\n this.props.onRecentAccountEntryChange(accounts[accounts.length - 1]);\n } else {\n this.props.onRecentAccountEntryChange({});\n }\n });\n const memNumber = this.props.adminView\n ? this.props.MemberV.memNo\n : this.state.member.memberNumber;\n axios\n .get(BASE + \"api/MemberProfilePictures/getMemId/\" + memNumber,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(response => {\n const res = response.data;\n this.setState({\n image:\n res[0] === null ? narfo_default : res[0].profilePicture.toString()\n });\n res[0]\n ? this.props.onMemberProfilePictureGet(\n res[0].profilePicture,\n res[0].memPPId\n )\n : this.setState({\n profilePictureExists: \"NotExists\"\n });\n this.props.memberProfilePictureExistance(\n this.state.profilePictureExists\n );\n });\n this.setState({\n membershipExpired: membershipExpired(this.props.memberDetails.expiryDate)\n });\n }\n componentWillMount() {\n let timeLeftVar = this.secondsToTime(this.state.seconds);\n this.setState({\n time: timeLeftVar\n });\n this.startTimer();\n }\n startTimer = () => {\n if (this.timer == 0 && this.state.seconds > 0) {\n this.timer = setInterval(this.countDown, 1000);\n }\n }\n countDown = () => {\n let seconds = this.state.seconds - 1;\n this.setState({\n time: this.secondsToTime(seconds),\n seconds: seconds\n });\n if (seconds === 1800)\n toast.success('Auto Logout in 30 minutes!')\n if (seconds === 900)\n toast.info('Auto Logout in 15 minutes!')\n if (seconds === 600)\n toast.warning('Incomplete form progress will be lost!')\n if (seconds === 10)\n toast.error('Auto Logout in 10 seconds!')\n if (sessionStorage.getItem(\"event\") === \"click\" || sessionStorage.getItem(\"event\") === \"scroll\" || sessionStorage.getItem(\"event\") === \"keypress\") {\n this.setState({\n seconds: 3600\n })\n sessionStorage.setItem(\"event\", \"\")\n }\n if (seconds === 0) { \n this.props.onUserDetailsChange(\"\", \"email\");\n this.props.onUserDetailsChange(\"\", \"username\");\n this.props.onUserDetailsChange(\"\", \"cellNo\");\n this.props.onUserDetailsChange(\"\", \"physicalAddress\");\n this.props.onUserDetailsChange(\"\", \"memberNumber\");\n this.props.onUserDetailsChange(\"\", \"expiryDate\");\n sessionStorage.removeItem(\"member\");\n sessionStorage.removeItem(\"activeStatus\");\n sessionStorage.removeItem(\"tokenKey\");\n localStorage.removeItem(\"tokenKey\");\n this.props.onUserDetailsChange(false, \"isLoggedIn\");\n this.props.onUserDetailsChange(false, \"adminLevel\");\n this.props.onUserDetailsChange(false, \"partnerLevel\");\n this.props.onUserDetailsChange(-1, \"partnerId\");\n this.props.onUserDetailsChange(false, \"salesRepLevel\");\n window.location = \"/login\";\n clearInterval(this.timer);\n }\n }\n secondsToTime = (secs) => {\n let hours = Math.floor(secs / (60 * 60));\n let divisor_for_minutes = secs % (60 * 60);\n let minutes = Math.floor(divisor_for_minutes / 60);\n let divisor_for_seconds = divisor_for_minutes % 60;\n let seconds = Math.ceil(divisor_for_seconds);\n let obj = {\n h: hours,\n m: minutes,\n s: seconds\n };\n return obj;\n }\n _handleImageChange(e) {\n e.preventDefault();\n let reader = new FileReader();\n let file = e.target.files[0];\n reader.onloadend = t => {\n const memNo = this.state.member.memberNumber;\n axios\n .post(BASE + UPLOAD_PROFILE_PICTURE,{\n ProfilePicture: t.target.result,\n MemNo: memNo\n },{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(function(response) {})\n .catch(function(error) {});\n this.setState({\n file: file,\n imagePreviewUrl: t.target.result,\n image: t.target.result,\n imageStateTrack: \"1\"\n });\n };\n reader.readAsDataURL(file);\n }\n render() {\n if (!this.props.memberDetails) {\n return
Loading...
;\n }\n return (\n \n
\n
\n
\n
\n
\n \n this._handleImageChange(e)}\n />\n
\n
\n
\n
\n
\n {this.props.adminView ? (\n
\n
\n
\n
{this.props.MemberV.username}
\n
\n
\n
\n
\n Dedicated Hunter:\n
\n
\n {this.state.dedicatedHUNTER}\n
\n
\n
\n
\n
\n
\n Sport Shooter:\n
\n
\n {this.state.dedicatedSHOOTER}\n
\n
\n
\n
\n
\n
\n Hunter And Sport Shooter:\n
\n
\n {this.state.hunterAndShooter}\n
\n
\n
\n
\n
\n ) : (\n
\n {this.state.membershipExpired === false ? (\n
\n
\n
{this.props.memberDetails.username}
\n
\n {this.props.activeStatus.dedicatedHunter\n .toString()\n .substring(0, 1) !== \"0\" ? (\n
\n
\n
\n Dedicated Hunter:\n
\n
\n {this.props.activeStatus.dedicatedHunter}\n
\n
\n
\n ) : null}\n {this.props.activeStatus.dedicatedShooter\n .toString()\n .substring(0, 1) !== \"0\" ? (\n
\n
\n
\n Sport Shooter:\n
\n
\n {this.props.activeStatus.dedicatedShooter}\n
\n
\n
\n ) : null}\n {this.props.activeStatus.hunterAndshooter\n .toString()\n .substring(0, 1) !== \"0\" ? (\n
\n
\n
\n Hunter And Sport Shooter:\n
\n
\n {this.props.activeStatus.hunterAndshooter}\n
\n
\n
\n ) : null}\n
\n ) : (\n
\n
{this.props.memberDetails.username}
\n
\n )}\n
\n )}\n
\n
\n
\n
\n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n activeStatus: state.MemberViewReducer.activeStatus,\n memberProfilePicture: state.memberProfilePictureReducer,\n pic: state.memberProfilePictureReducer.isExist,\n memberDetails: state.loginReducer.userProfileDetails,\n MemberV: state.MemberViewReducer.MemberView\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onmembershipExpiredStatusChange: newActiveStatus =>\n dispatch({\n type: actionTypes.UPDATE_ACTIVE_STATUS,\n activeStatus: newActiveStatus\n }),\n onBase4ImagesGet: imagesObject =>\n dispatch({\n type: actionTypes.GET_BASE64_IMAGES,\n base64Images: imagesObject\n }),\n onCurrAccountViewTabChange: newCurrAccountViewTab =>\n dispatch({\n type: actionTypes.UPDATE_CURRENT_ACCOUNT_VIEW_TAB,\n currAccountViewTab: newCurrAccountViewTab\n }),\n onRecentAccountEntryChange: newRecentAccountEntry =>\n dispatch({\n type: actionTypes.UPDATE_RECENT_ACCOUNT_ENTRY,\n recentAccountEntry: newRecentAccountEntry\n }),\n onUserAccountChange: newUserAccountArray =>\n dispatch({\n type: actionTypes.UPDATE_ACCOUNT_LIST,\n payload: newUserAccountArray\n }),\n onMemberProfilePictureGet: (profilePicture, memberID) =>\n dispatch({\n type: actionTypes.GET_MEMBER_PROFILE_PICTURE,\n profilePicture: profilePicture,\n memberID: memberID\n }),\n memberProfilePictureExistance: isExist =>\n dispatch({\n type: actionTypes.MEMBER_PP_RECORD_EXISTS,\n isExist: isExist\n }),\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname\n }),\n onMemberProfilePictureUpdate: updatedMPicture => {\n dispatch({\n type: actionTypes.UPDATE_MEMBER_PROFILE_PICTURE,\n profilePicture: updatedMPicture\n });\n }\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(MembersAreaHeader);\n","import React, { Component } from \"react\";\nimport TabPanes from \"../adminPortal/TabPane\";\nimport MembersAreaHeader from \"../membersAreaPage/MembersAreaHeader\";\nimport { LMS_ACTIONS } from \"../../store/actions/actionTypes\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { connect } from \"react-redux\";\n\nclass MembersArea extends Component {\n constructor(props)\n {\n super(props);\n }\n componentWillMount() {}\n render() {\n return (\n \n \n \n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n memberNumber: state.loginReducer.userProfileDetails.memberNumber,\n MemberV: state.MemberViewReducer.MemberView,\n userProfileDetails: state.loginReducer.userProfileDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberActiveStatusChange: newActiveStatus =>\n dispatch({\n type: actionTypes.UPDATE_ACTIVE_STATUS,\n activeStatus: newActiveStatus\n }),\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n }),\n onMemberCoursesChange: newMemberCourses =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_MEMBER_COURSES,\n memberCourses: newMemberCourses\n }),\n onQuizzesChange: newQuizzes =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_QUIZZES,\n quizzes: newQuizzes\n }),\n onLessonsChange: newLessons =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_LESSONS,\n lessons: newLessons\n }),\n onAssesmentsChange: newAssesments =>\n dispatch({\n type: LMS_ACTIONS.UPDATE_ASSESMENTS,\n assesments: newAssesments\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(MembersArea);\n","import React, { Component } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport Axios from \"axios\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\nimport { BASE, NEWS_BY_ARTICLE_URL, ARTICLE_URL } from \"../../API/APIendpoint\";\nimport \"w3-css/w3.css\";\n\nclass AdminNewsHome extends Component {\n constructor(props) {\n super(props);\n this.state = {\n checked: false,\n editCheck: false,\n fileSelectorHeader: false,\n loading: false,\n selectedArticles: [],\n filter: false,\n undo: false,\n typeFilter: false,\n sortType: \"\",\n filterButton: false,\n latestAddedButton: false,\n oldestAddedButton: false,\n resetAllButton: false,\n applyFilter: false\n };\n this.toggleCheck = this.toggleCheck.bind(this);\n this.updateSelectedArticle = this.updateSelectedArticle.bind(this);\n this.handleDelete = this.handleDelete.bind(this);\n this.handleEdit = this.handleEdit.bind(this);\n this.editCheck = this.editCheck.bind(this);\n }\n componentDidMount() {\n this.setState({ loading: true });\n Axios.get(BASE + ARTICLE_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n const article = res.data;\n this.props.onArticlesChange(article);\n this.setState({ loading: false, uploadedFile: article });\n });\n }\n toggleCheck = () => {\n this.setState({\n checked: !this.state.checked\n });\n };\n editCheck = () => {\n this.setState({\n editCheck: !this.state.editCheck\n });\n };\n updateSelectedArticle = event => {\n const id = parseInt(event.target.value);\n if (event.target.checked && !this.state.selectedArticles.includes(id)) {\n let newSelected = this.state.selectedArticles.concat([id]);\n this.setState({\n selectedArticles: newSelected\n });\n }\n if (!event.target.checked && this.state.selectedArticles.includes(id)) {\n let newSelected = this.state.selectedArticles.filter(\n item => parseInt(item) !== parseInt(id)\n );\n this.setState({\n selectedArticles: newSelected\n });\n }\n };\n handleDelete = () => {\n Axios.post(BASE + \"api/NewsArticles/deleteNews\", this.state.selectedArticles,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n Axios.get(BASE + ARTICLE_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n const article = res.data;\n this.props.onArticlesChange(article);\n this.setState({ undo: true, selectItems: false });\n });\n })\n .catch(function (error) { });\n };\n handleUndo = async () => {\n await Axios.post(\n BASE + \"api/NewsArticles/undoDeleteNews\",\n this.state.selectedArticles,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}\n )\n .then(res => {\n Axios.get(BASE + ARTICLE_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n const article = res.data;\n this.props.onArticlesChange(article);\n this.setState({\n fileSelectorHeader: false,\n undo: false,\n selectItems: false\n });\n });\n })\n .catch();\n };\n onDescendingSort = () => {\n this.setState({\n latestAddedButton: true,\n oldestAddedButton: false,\n sortType: \"descending\"\n });\n };\n onAscendingSort = () => {\n this.setState({\n oldestAddedButton: true,\n latestAddedButton: false,\n sortType: \"ascending\"\n });\n };\n resetFilterType = () => {\n this.setState({\n oldestAddedButton: false,\n latestAddedButton: false,\n resetAllButton: false,\n filterButton: false\n });\n };\n applyFilter(e) {\n e.preventDefault();\n Axios.get(BASE + \"api/NewsArticles/\" + this.state.sortType,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n this.props.onArticlesChange(res.data);\n this.setState({\n filter: false,\n fileSelectorHeader: false\n });\n })\n .catch(function (error) { });\n this.resetFilterType();\n }\n handleEdit = async () => {\n let selectedArticle = this.state.selectedArticles[0];\n let config = {\n method: \"POST\",\n url: BASE + NEWS_BY_ARTICLE_URL + selectedArticle,\n data: {\n title: this.props.oneArticle.title,\n content: this.props.oneArticle.content\n },\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}\n };\n try {\n await Axios(config);\n } catch (e) { }\n };\n headerChange() {\n if (this.state.fileSelectorHeader === true) {\n if (this.state.undo === true) {\n return (\n {\n this.setState({\n fileSelectorHeader: false,\n undo: false,\n selectItems: false\n });\n }}\n showUndo\n undo={this.handleUndo}\n />\n );\n }\n if (this.state.selectItems === true) {\n return (\n {\n this.setState({\n fileSelectorHeader: false,\n selectItems: false,\n undo: false\n });\n }}\n delete={this.handleDelete}\n />\n );\n }\n if (this.state.filter === true) {\n return (\n
\n {\n this.setState({ fileSelectorHeader: false });\n }}\n onFilterClick={() =>\n this.setState({ filter: true, fileSelectorHeader: true })\n }\n select={() =>\n this.setState({ selectItems: true, fileSelectorHeader: true })\n }\n />\n {this.filterButtons()}\n
\n );\n }\n } else {\n return (\n \n this.setState({\n filter: true,\n fileSelectorHeader: true,\n selectItems: false\n })\n }\n select={() =>\n this.setState({ selectItems: true, fileSelectorHeader: true })\n }\n />\n );\n }\n }\n resertAll = () => {\n this.setState({ loading: true });\n Axios.get(BASE + ARTICLE_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n const article = res.data;\n this.props.onArticlesChange(article);\n this.setState({\n loading: false,\n fileSelectorHeader: false,\n filter: false,\n resetAllButton: false,\n applyFilter: false,\n oldestAddedButton: false,\n latestAddedButton: false,\n filterButton: false\n });\n });\n };\n filterButtons() {\n let unclickedButton =\n \"w3-button w3-white w3-hover-orange w3-block w3-border w3-border-black w3-round-large\";\n let clickedButton =\n \"w3-button w3-orange w3-hover-orange w3-block w3-border w3-border-orange w3-round-large\";\n return (\n
\n
\n Sort By:\n
\n
\n \n Latest added\n \n \n Oldest added\n \n
\n
\n \n Reset All\n \n this.applyFilter(e)}\n >\n Apply Filter\n \n
\n \n
\n );\n }\n\n render() {\n if (this.state.loading) {\n return (\n
\n
\n \n
\n
\n

Loading news. Please wait ...

\n
\n
\n );\n }\n return (\n
\n {this.headerChange()}\n {this.props.articleList.map((article, index) => {\n return (\n
\n {this.state.selectItems === true ? (\n
\n );\n }\n}\nAdminNewsHome.propTypes = {\n oneArticle: PropTypes.object.isRequired,\n articleList:PropTypes.arrayOf(PropTypes.object).isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n oneArticle: state.articlesReducer.article,\n articleList: state.articlesReducer.articles\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onArticleChange: newArticle =>\n dispatch({\n type: actionTypes.UPDATE_ARTICLE,\n article: newArticle\n }),\n onArticlesChange: newArticles =>\n dispatch({\n type: actionTypes.UPDATE_ARTICLES,\n articles: newArticles\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(AdminNewsHome);\n","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport AdminNewsHome from \"../adminNews/AdminNewsHome\"\n\nclass News extends Component {\n render() {\n return (\n
\n \n \n \n
\n );\n }\n}\n\nexport default News;\n","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport { toast } from 'react-toastify';\n\nclass NotificationItem extends Component {\n constructor(props){\n super(props);\n }\n\n render() {\n return (\n
\n \n
\n this.props.backFunction()}\n />\n
\n
\n
\n \n {this.props.notification.content} \n
\n\n
\n \n
\n \n
\n\n
\n );\n }\n}\n\n\nexport default connect(\n null,\n null\n)(NotificationItem);","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport Axios from \"axios\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\nimport { BASE, DELETE_NOTIFICATION_URL, GET_NOTIFICATION_URL,POST_NOTIFICATION_URL } from \"../../API/APIendpoint\";\nimport NotificationItem from \"./NotificationItem\";\nimport \"w3-css/w3.css\";\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Button from '@material-ui/core/Button';\nimport TextField from '@material-ui/core/TextField';\nimport { toast } from 'react-toastify';\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\n\ntoast.configure();\n\nclass NotificationHome extends Component {\n constructor(props) {\n super(props);\n this.state = {\n notificationList:[],\n loading: false,\n selectedNotification: null,\n open:false,\n title:\"\",\n content:'',\n isImportant:false,\n };\n\n this.handleDelete = this.handleDelete.bind(this);\n this.onTitleChange = this.onTitleChange.bind(this);\n this.onContentChange = this.onContentChange.bind(this);\n }\n componentDidMount() {\n this.setState({ loading: true });\n Axios.get(BASE + GET_NOTIFICATION_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n this.setState({ loading: false,notificationList: res.data.reverse()});\n });\n }\n \n onTitleChange(e) {\n e.preventDefault();\n this.setState({ title: e.target.value });\n }\n\n onContentChange(e) {\n e.preventDefault();\n this.setState({ content: e.target.value });\n }\n\n handleClose = () => {\n this.setState({open:false});\n };\n\n handleSubmit = () => {\n //Submit \n let newNotification = {\n \"notificationsId\": 0,\n \"title\": this.state.title,\n \"content\": this.state.content,\n \"isForNewMembers\":this.state.isImportant,\n }\n\n Axios.post(BASE + POST_NOTIFICATION_URL,newNotification,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n let notifications = [res.data,...this.state.notificationList]\n this.setState({open:false,notificationList: notifications});\n })\n };\n\n selectedNotification = (notification) =>{\n this.setState({selectedNotification:notification});\n };\n\n backFunction = () =>{\n this.setState({selectedNotification:null});\n };\n \n updateCheckBox = () =>{\n this.setState({isImportant:!this.state.isImportant});\n };\n\n handleDelete = (notification) => {\n \n Axios.post(BASE + DELETE_NOTIFICATION_URL + \"?id=\"+ notification.notificationsId,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n let tempList = this.state.notificationList;\n const index = tempList.findIndex(key => key.notificationsId === notification.notificationsId)\n tempList.splice(index,1);\n this.setState({notificationList:tempList,selectedNotification:null});\n })\n .catch(error =>{\n console.log(\"Error deleting notification\",error);\n this.setState({ loading: false});\n alert(\"Error deleting notification.\")\n });\n };\n\n render() {\n if (this.state.loading) {\n return (\n
\n
\n \n
\n
\n

Loading notifications. Please wait ...

\n
\n
\n );\n }\n return (\n
\n
\n
Notifications
\n
\n
\n
\n \n \n Add new notification\n \n
\n
\n \n this.updateCheckBox(e)}\n />\n }\n label=\"Important Notification\"\n labelPlacement=\"start\"\n />\n this.onTitleChange(e)}\n />\n
\n \n
\n this.onContentChange(e)}\n />\n
\n
\n\n
\n \n \n \n \n \n
\n
\n { !this.state.selectedNotification && this.state.notificationList?.map((Notification, index) => {\n return (\n
\n\n
\n
\n
\n
\n
\n
\n {Notification.title}\n
\n\n
\n
\n
\n {/* */}\n \n \n
\n
\n
\n
\n\n
\n );\n })}\n\n {this.state.selectedNotification && }\n
\n );\n }\n}\n\nexport default connect(\n null,\n null\n)(NotificationHome);","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport NotificationHome from \"../adminNotifications/NotificationHome\"\n\nclass Notifications extends Component {\n render() {\n return (\n // Like a container (The mainn folder holds containers for components)\n
\n \n \n \n
\n );\n }\n}\n\nexport default Notifications;\n","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport { toast } from 'react-toastify';\nimport Interweave from 'interweave';\n\nclass EmailItem extends Component {\n constructor(props){\n super(props);\n }\n\n render() {\n return (\n
\n \n
\n this.props.backFunction()}\n />\n
\n\n
\n
\n Email Subject : {this.props.email.subject}\n
\n\n
\n Date Sent : {new Date(this.props.email.dateSent).toLocaleString()} \n
\n\n
\n Recipients : {this.props.email.recipient}\n
\n\n
\n Email Body :

\n \n
\n\n
\n \n
\n \n
\n
\n );\n }\n}\n\n\nexport default connect(\n null,\n null\n)(EmailItem);","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport { toast } from \"react-toastify\";\nimport Interweave from \"interweave\";\nimport { Editor } from \"@tinymce/tinymce-react\";\nimport Button from '@material-ui/core/Button';\nimport TextField from '@material-ui/core/TextField';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nclass EmailEdit extends Component {\n constructor(props) {\n super(props);\n this.state = {\n emailList:[],\n loading: false,\n subject: props.bulkEmail.subject,\n body: props.bulkEmail.body,\n };\n\n this.onTitleChange = this.onTitleChange.bind(this);\n this.onContentChange = this.onContentChange.bind(this);\n }\n\n\n onTitleChange(e) {\n e.preventDefault();\n this.setState({ subject: e.target.value });\n }\n\n onContentChange(e) {\n e.preventDefault();\n this.setState({ body: e.target.getContent()});\n }\n\n render() {\n return (\n
\n
\n this.props.backFunction()}\n />\n
\n\n
\n
\n \n this.onTitleChange(e)}\n />\n\n
\n\n
\n Email body\n this.onContentChange(e)}\n />\n
\n
\n\n
\n \n this.props.handleUpdateSubmit({subject:this.state.subject,body:this.state.body,id:this.props.bulkEmail.id})}\n color=\"primary\"\n disabled={\n this.state.subject.length > 2 && this.state.body.length > 2\n ? false\n : true\n }\n >\n Save\n \n
\n
\n
\n );\n }\n}\n\nexport default connect(null, null)(EmailEdit);\n","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport { toast } from \"react-toastify\";\nimport Interweave from \"interweave\";\nimport { Editor } from \"@tinymce/tinymce-react\";\nimport Button from '@material-ui/core/Button';\nimport TextField from '@material-ui/core/TextField';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nclass EmailNew extends Component {\n constructor(props) {\n super(props);\n this.state = {\n emailList:[],\n loading: false,\n subject:\"\",\n body:'',\n };\n\n this.onTitleChange = this.onTitleChange.bind(this);\n this.onContentChange = this.onContentChange.bind(this);\n }\n\n\n onTitleChange(e) {\n e.preventDefault();\n this.setState({ subject: e.target.value });\n }\n\n onContentChange(e) {\n e.preventDefault();\n this.setState({ body: e.target.getContent()});\n }\n\n render() {\n return (\n
\n
\n this.props.backFunction()}\n />\n
\n\n
\n
\n \n this.onTitleChange(e)}\n />\n\n
\n\n
\n Email body\n this.onContentChange(e)}\n />\n
\n
\n\n
\n \n this.props.handleSubmit({subject:this.state.subject,body:this.state.body,recipient : this.state.recipient})}\n color=\"primary\"\n disabled={\n this.state.subject.length > 2 && this.state.body.length > 2\n ? false\n : true\n }\n >\n Save\n \n
\n
\n
\n );\n }\n}\n\nexport default connect(null, null)(EmailNew);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport Axios from \"axios\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\nimport { BASE,UPDATE_BULK_EMAIL_URL, DELETE_BULK_EMAIL_URL, GET_BULK_EMAILS_URL,POST_BULK_EMAIL_URL,SAVE_BULK_EMAIL_URL } from \"../../API/APIendpoint\";\nimport EmailItem from \"./EmailItem\";\nimport EmailEdit from \"./EmailEdit\";\nimport \"w3-css/w3.css\";\nimport image from '../../assets/img/NarfoLogo.png';\nimport { toast } from 'react-toastify';\nimport EmailNew from './EmailNew';\nimport BorderColorOutlinedIcon from '@material-ui/icons/BorderColorOutlined';\ntoast.configure();\n\nclass EmailsHome extends Component {\n constructor(props) {\n super(props);\n this.state = {\n emailList:[],\n loading: false,\n selectedEmail: null,\n selectedEmailEdit:null,\n isNewEmail:false,\n isEditEmail:false\n };\n\n this.handleDelete = this.handleDelete.bind(this);\n }\n componentDidMount() {\n this.setState({ loading: true });\n Axios.get(BASE + GET_BULK_EMAILS_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n this.setState({ loading: false,emailList: res.data.reverse()});\n });\n }\n\n addTestEmail = (email) => {\n //Submit \n let newEmail = {};\n\n newEmail = {\n \"createBy\": localStorage.getItem(\"memNo\"),\n \"subject\": email.subject,\n \"body\": email.body,\n \"recipient\": localStorage.getItem(\"memNo\")\n }\n \n if(newEmail.subject.length < 2 || newEmail.body < 2)\n {\n toast.error(\"Error sending message.\");\n return;\n }\n Axios.post(BASE + POST_BULK_EMAIL_URL ,newEmail,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n this.setState({open:false,isNewEmail:false});\n toast.success(\"Test email sent Email Sent\");\n })\n .catch(error =>{\n console.log(\"Error sending bulk email\",error);\n toast.error(\"Error sending bulk email.\" + error.message);\n });\n };\n\n handleSubmit = (email) => {\n //Submit \n let newEmail = {};\n\n \n newEmail = {\n \"createBy\": localStorage.getItem(\"memNo\"),\n \"recipient\": \"\",\n \"subject\": email.subject,\n \"body\": email.body,\n \"progress\": 0,\n \"id\": email.id\n }\n\n if(newEmail.subject.length < 2 || newEmail.body < 2)\n {\n toast.error(\"Error sending message.\");\n return;\n }\n\n Axios.post(BASE + POST_BULK_EMAIL_URL ,newEmail,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n this.setState({open:false,isNewEmail:false});\n toast.success(\"Email Sent\");\n })\n .catch(error =>{\n console.log(\"Error sending bulk email\",error);\n toast.error(\"Error sending bulk email.\" + error.message);\n });\n };\n \n handleSaveSubmit = (email) => {\n //Submit \n let newEmail = {};\n\n newEmail = {\n \"createBy\": localStorage.getItem(\"memNo\"),\n \"recipient\": \"\",\n \"subject\": email.subject,\n \"body\": email.body,\n \"progress\": 0\n };\n\n if(newEmail.subject.length < 2 || newEmail.body < 2)\n {\n toast.error(\"Error saving email.\");\n return;\n }\n\n Axios.post(BASE + SAVE_BULK_EMAIL_URL ,newEmail,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n let emails = [res.data,...this.state.emailList]\n this.setState({open:false,emailList: emails,isNewEmail:false});\n toast.success(\"Email saved\");\n })\n .catch(error =>{\n console.log(\"Error sending bulk email\",error);\n toast.error(\"Error sending bulk email.\" + error.message);\n });\n };\n\n handleUpdateSubmit = (email) => {\n //Submit \n let newEmail = {};\n\n newEmail = {\n \"createBy\": localStorage.getItem(\"memNo\"),\n \"subject\": email.subject,\n \"body\": email.body,\n \"id\": email.id\n };\n\n if(newEmail.subject.length < 2 || newEmail.body < 2)\n {\n toast.error(\"Error saving email.\");\n return;\n }\n\n Axios.post(BASE + UPDATE_BULK_EMAIL_URL ,newEmail,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n \n let filteredEmails = this.state.emailList.filter(e => e.id != email.id);\n let emails = [res.data,...filteredEmails];\n \n this.setState({open:false,emailList: emails,isNewEmail:false,isEditEmail:false});\n toast.success(\"Email updated\");\n })\n .catch(error =>{\n console.log(\"Error updating bulk email\",error);\n toast.error(\"Error updating bulk email.\" + error.message);\n });\n };\n\n selectedEmail = (email) =>{\n this.setState({selectedEmail:email});\n };\n\n backFunction = () =>{\n this.setState({selectedEmail:null,isNewEmail:false, isEditEmail:false,selectedEmailEdit:null});\n };\n \n handleDelete = (email) => {\n \n Axios.post(BASE + DELETE_BULK_EMAIL_URL + \"?id=\"+ email.id,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n let tempList = this.state.emailList;\n const index = tempList.findIndex(key => key.id === email.id)\n tempList.splice(index,1);\n this.setState({emailList:tempList,selectedEmail:null});\n })\n .catch(error =>{\n console.log(\"Error deleting bulk email\",error);\n this.setState({ loading: false});\n toast.error(\"Error deleting bulk email.\" + error.message);\n });\n };\n\n render() {\n if (this.state.loading) {\n return (\n
\n
\n \n
\n
\n

Loading bulk emails. Please wait ...

\n
\n
\n );\n }\n return (\n
\n
\n
Bulk Emails
\n {!this.state.selectedEmail && !this.state.isNewEmail && !this.state.isEditEmail &&
\n \n
}\n\n {this.state.isNewEmail && }\n
\n { !this.state.selectedEmail && !this.state.isNewEmail && !this.state.isEditEmail && this.state.emailList?.map((email, index) => {\n return (\n
\n\n
\n
\n
\n\n
\n
\n
\n
\n

this.setState({selectedEmail:email})} style={{font:'bold',cursor: \"pointer\",fontWeight: 900, marginRight:'5px'}}> \n {email.subject}

{this.setState({selectedEmailEdit:email,isEditEmail:true})}} color=\"primary\" fontSize=\"medium\"/>\n \n
\n
this.setState({selectedEmail:email})} style={{cursor: \"pointer\"}}>\n Date sent : {new Date(email.dateSent).toLocaleString()} \n
\n
this.setState({selectedEmail:email})} style={{cursor: \"pointer\"}}>\n Sent ({email.progress}%)\n
\n
this.setState({selectedEmail:email})} style={{cursor: \"pointer\"}}>\n Sent to {email.noOfSentEmails} members\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n\n
\n );\n })}\n {this.state.selectedEmail && }\n\n {this.state.isEditEmail && }\n\n \n
\n );\n }\n}\n\nexport default connect(\n null,\n null\n)(EmailsHome);","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport EmailsHome from \"../adminEmails/EmailsHome\"\n\nclass Emails extends Component {\n render() {\n return (\n
\n \n \n \n
\n );\n }\n}\n\nexport default Emails;\n","import React, { Component } from \"react\";\nimport \"./styles/styles.css\";\n\nclass memberApplicationProgress extends Component {\n\n numberCircle = (number, text, activity, noLine) => {\n let condition = \"\";\n switch (activity) {\n case -1:\n condition = \"\";\n break;\n case 0:\n condition = \"active\";\n break;\n case 1:\n condition = \"was-active\";\n break;\n default:\n condition = \"\";\n }\n return (\n <>\n {noLine ? null :
}\n
\n
{number}
\n \n
\n \n );\n }\n\n evaluate = (num) => {\n if(!num && num !== 0){\n return null;\n }\n if (num < 0) {\n return -1;\n } else if (num > 0) {\n return 1;\n } else {\n return 0;\n }\n }\n\n render() {\n return (\n
\n

Membership Application

\n
\n {this.numberCircle(1, \"Details\", this.evaluate(parseInt(this.props.progress) - 1), true)}\n {this.numberCircle(2, \"Address\", this.evaluate(parseInt(this.props.progress) - 2))}\n {this.numberCircle(3, \"Declaration\", this.evaluate(parseInt(this.props.progress) - 3))}\n {this.numberCircle(4, \"Sales Details\", this.evaluate(parseInt(this.props.progress) - 4))}\n {this.numberCircle(5, \"Login Details\", this.evaluate(parseInt(this.props.progress) - 5))}\n
\n
\n );\n }\n}\n\n\nexport default memberApplicationProgress;","import React, { Fragment } from \"react\";\nimport \"./styles/navigatorButtonStyles.css\";\n\nexport function NextPageButton(props) {\n\n return (\n \n );\n}\n\nexport function SubmitButton(props) {\n\n return (\n \n );\n}\n\nexport function PreviousPageButton(props){\n\n return (\n \n );\n}\n\nexport function POPIActInfo(){\n return (\n \n

\n You are about to join the National Association of Responsible Firearm Owners.\n In order to become a member, we need to store certain personal information as supplied by yourself.\n The information we store is used to maintain your profile, used on reports and certificates you \n generate from the system, for our use in doing some statistical analysis and if you opt to become a \n dedicated hunter or sports person, NARFO must comply with the stipulations of Regulation 2(7), 2(8), \n and 4(2)(a) of the Firearms Control Act, 2000 (Act 60 of 2000 as amended).\n

\n

\n NARFO embraces the digital age and therefore our only presence is online and we only communicate via \n electronic means. Our platform is designed that members have the facility to administer their \n own profile online. If you do not have access to any electronic form of communication, we urge you not \n to join as you will not have access to any of the online content like you profile, new letters, \n general information and account payment details.\n

\n

\n By continuing, you automatically provide NARFO consent to store the information you supply on our \n system. \n

\n
\n );\n}\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Select from \"@material-ui/core/Select\";\nimport Radio from \"@material-ui/core/Radio\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport Progress from \"./memberApplicationProgress\";\nimport \"./styles/memberDetailsStyles.css\";\nimport { NextPageButton, POPIActInfo } from \"./navigatorButtons\";\n\nfunction isNumeric(value) {\n return /^\\d+$/.test(value);\n}\n\nclass MemberApplication extends Component {\n constructor(props) {\n super(props);\n this.state = {\n nextPage: false,\n children: [\"\", \"\", \"\", \"0000\", \"not provided\", \"\", \"\"],\n ethinicitySelected: false,\n genderSelected: false\n };\n this.handleChange = this.handleChange.bind(this);\n }\n\n handleChange = (name, index) => event => {\n let array = this.state.children;\n array[index] = event.target.value;\n this.setState({\n children: array\n })\n this.props.onMemberDetailsChange(event.target.value, name);\n this.checkNotEmpty();\n };\n\n handleOptionChange = changeEvent => {\n let array = this.state.children;\n array[6] = changeEvent.target.value;\n this.setState({\n children: array\n })\n this.props.onMemberDetailsChange(changeEvent.target.value, \"Sex\");\n this.checkNotEmpty();\n };\n\n checkNotEmpty = () => {\n let isNextPage = true;\n this.state.children.map((child, index) => {\n if (child === \"\" || child === null || child === undefined || child === \"Ethnicity\") {\n isNextPage = false;\n }\n if (index === 5 && (child === \"Ethnicity\" || child === \"\")) {\n this.setState({\n ethinicitySelected: false\n })\n } else if (index === 5 && child !== \"Ethnicity\") {\n this.setState({\n ethinicitySelected: true\n })\n }\n if (index === 6 && !(child === \"Male\" || child === \"Female\")) {\n this.setState({\n genderSelected: false\n })\n } else if (index === 6 && (child === \"Male\" || child === \"Female\")) {\n this.setState({\n genderSelected: true\n })\n }\n return null;\n })\n this.setState({\n nextPage: isNextPage\n });\n }\n\n componentWillUnmount() {\n if (!this.props.memDetails.CellNo) {\n this.props.onMemberDetailsChange(\"0000\", \"CellNo\");\n }\n\n if (!this.props.memDetails.Occupation) {\n this.props.onMemberDetailsChange(\"not Provided\", \"Occupation\");\n }\n this.props.onMemberDetailsChange(this.state.children, \"children\");\n sessionStorage.setItem(\"CA-NM\", this.state.children[0])\n sessionStorage.setItem(\"CA-SU\", this.state.children[1])\n }\n\n componentDidMount() {\n this.checkNotEmpty();\n }\n\n componentWillMount() {\n this.setState({\n children: this.props.memDetails.children ? this.props.memDetails.children : this.state.children\n })\n // custom rule will have name ateast 1 characters required\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if (!value) {\n return false;\n }\n if (value.length <= 1) {\n return false;\n }\n return true;\n });\n //Exactly 13 didgits South African ID Number\n ValidatorForm.addValidationRule(\"isIDNo\", value => {\n\n if (!value || value.length > 13) {\n return false;\n }\n return true;\n });\n //Exactly 10 digits number - South African number\n ValidatorForm.addValidationRule(\"isCellNo\", value => {\n if (!value) {\n return false;\n }\n if (value.length !== 10) {\n return false;\n }\n return isNumeric(value);\n });\n\n //Select ethnicity\n ValidatorForm.addValidationRule(\"ethnicitySelected\", value => {\n if (!value) {\n return false;\n }\n return value === \"Ethnicity\";\n })\n }\n\n render() {\n const Ethnicity = [\n \"Ethnicity\",\n \"White\",\n \"Black\",\n \"Coloured\",\n \"Indian\",\n \"Other\"\n ];\n return (\n
\n \n
\n {POPIActInfo()}\n
\n { this.checkNotEmpty() }}\n >\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n \n }\n >\n {Ethnicity.map((endorsementType, index) => (\n \n ))}\n \n \n
\n {this.state.ethinicitySelected ? null :\n \n }\n
\n
\n \n \n \n \n \n \n \n \n \n {this.state.genderSelected ? null :\n \n }\n
\n
\n {this.state.nextPage ?\n \n \n :\n \n }\n
\n \n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_SIGNUP_DETAILS,\n varValue: value,\n varName: vname\n }),\n\n onPageChange: newPage =>\n dispatch({\n type: actionTypes.UPDATE_SIGNUP_DETAILS,\n payload: newPage\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(MemberApplication);\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport MemberDetails from \"../memberApplication/MemberDetails\";\n\nconst styles = theme => ({\n root: {\n height: \"100vh\"\n },\n center: {\n margin: \"auto\",\n width: 50,\n padding: 10\n },\n aligner: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n }\n});\n\nclass Register extends Component {\n render() {\n const { classes } = this.props;\n return (\n
\n
\n \n
\n
\n
\n );\n }\n}\n\nRegister.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nexport default withStyles(styles)(Register);\n","import React, { Component } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport Radio from \"@material-ui/core/Radio\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport Progress from \"./memberApplicationProgress\";\nimport \"./styles/memberDetailsStyles.css\";\nimport { NextPageButton, PreviousPageButton } from \"./navigatorButtons\";\nimport { FRONT } from \"../../API/APIendpoint\";\nclass Declaration extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isNextPage: false,\n children: [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"],\n showError: false\n };\n this.handleChange = this.handleChange.bind(this);\n }\n\n handleSubmit = event => {\n event.preventDefault();\n };\n\n componentWillUnmount() {\n this.props.onMemberDetailsChange(\n this.state.children,\n \"declarationChildren\"\n );\n }\n\n componentWillMount() {\n this.setState({\n children: this.props.memDetails.declarationChildren\n ? this.props.memDetails.declarationChildren\n : this.state.children,\n isNextPage: this.props.memDetails.declaractionAcceptance\n });\n }\n componentDidMount() {\n this.checkNotEmpty();\n }\n\n checkNotEmpty = () => {\n let isNextPage = true;\n this.state.children.map(child => {\n if (\n child === \"\" ||\n child === null ||\n child === undefined ||\n child === \"0\" ||\n child === false\n ) {\n isNextPage = false;\n }\n return null;\n });\n this.setState({\n nextPage: isNextPage\n });\n };\n\n handleFireArms_ControlOptionChange = changeEvent => {\n let array = this.state.children;\n array[0] = changeEvent.target.value;\n this.setState({\n children: array\n });\n this.props.onMemberDetailsChange(\n changeEvent.target.value,\n \"FireArms_Control\"\n );\n this.checkNotEmpty();\n };\n\n handleFireArmStorageOptionChange = changeEvent => {\n let array = this.state.children;\n array[1] = changeEvent.target.value;\n this.setState({\n children: array\n });\n this.props.onMemberDetailsChange(\n changeEvent.target.value,\n \"FireArmStorage\"\n );\n this.checkNotEmpty();\n };\n\n handleCriminalRecordOptionChange = changeEvent => {\n let array = this.state.children;\n array[2] = changeEvent.target.value;\n this.setState({\n children: array\n });\n this.props.onMemberDetailsChange(\n changeEvent.target.value,\n \"CriminalRecord\"\n );\n this.checkNotEmpty();\n };\n\n handleChange = (name, index) => event => {\n let array = this.state.children;\n array[index] = event.target.checked;\n this.setState({\n children: array\n });\n this.props.onMemberDetailsChange(event.target.checked, name);\n this.checkNotEmpty();\n };\n\n radioButtons = (\n description,\n onChangeCallback,\n variable,\n name1,\n name0,\n label1,\n label0\n ) => {\n return (\n
\n \n \n \n {label1}\n \n \n \n {label0}\n \n
\n );\n };\n\n render() {\n return (\n
\n \n
\n
\n {this.radioButtons(\n \"Are you well acquainted with the current Firearms Control Act?\",\n this.handleFireArms_ControlOptionChange,\n this.props.memDetails.FireArms_Control,\n \"RadioFireArm1\",\n \"RadioFireArm0\",\n \"Yes\",\n \"No\"\n )}\n {this.radioButtons(\n \"Are you well acquainted with the use and Storage of your Firearm?\",\n this.handleFireArmStorageOptionChange,\n this.props.memDetails.FireArmStorage,\n \"RadioFireArmStorage1\",\n \"RadioFireArmStorage0\",\n \"Yes\",\n \"No\"\n )}\n {this.radioButtons(\n \"Have you ever been found Criminal of any firearm related offence where your finger were prints taken?\",\n this.handleCriminalRecordOptionChange,\n this.props.memDetails.CriminalRecord,\n \"RadioCriminal1\",\n \"RadioCriminal0\",\n \"No\",\n \"Yes\"\n )}\n \n
\n \n
\n \n
\n

\n Electronic Communication Policy\n NARFO South Africa embraces the digital age and encourage members to \n have some form of online device to engage with the association for some \n of the services we provide. \n Although you can visit any partners and speak to a\n representative, our services is digitized. These include online\n assessments, license renewal system, activity record keeping,\n dedicated hunter and sport shooting application and status and\n general communication. Our only form of communication is\n electronic interaction through the web, emails and via our social\n media platform. We take your privacy very seriously and in order\n for us to provide you with the service and keep you informed about\n relevant opportunities and topics of interest, we request your\n consent to hold your personal data and communicate with you\n electronically.\n

\n
\n \n
\n

\n I hereby declare that the information furnished above is true and \n correct to the best of my knowledge and I undertake to inform \n NARFO of any changes in herein by either updating my profile \n electronically or by Email informing NARFO of changes. \n In the event that the information is found to be false or misleading \n or misrepresenting, I am aware that my membership may be cancelled.\n

\n
\n \n
\n {this.state.showError ? (\n

You do not meet minimum requirements

\n ) : null}\n
\n \n \n \n {this.state.nextPage ? (\n \n \n \n ) : (\n this.setState({ showError: true })}\n />\n )}\n
\n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_SIGNUP_DETAILS,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(Declaration);\n","import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { TextValidator, ValidatorForm } from \"react-material-ui-form-validator\";\nimport { connect } from \"react-redux\";\nimport { Link, withRouter } from \"react-router-dom\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport Progress from \"./memberApplicationProgress\";\nimport { PreviousPageButton, SubmitButton } from \"./navigatorButtons\";\nimport \"./styles/memberDetailsStyles.css\";\nimport { FormatAlignJustifyTwoTone } from \"@material-ui/icons\";\n\nclass LoginDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n nextPage: false,\n children: [\"\", \"\", \"\", \"\"],\n Email: \"\",\n Username: \"\",\n Password: \"\",\n PasswordConfirm: \"\",\n isChecked: false,\n showUnfilledError: false,\n redirect: false,\n userLocation: \"\",\n errorStatus: false,\n };\n }\n\n handleChange2 = ({ target }) => {\n this.setState({ [target.name]: target.value });\n }\n\n checkNotEmpty = () => {\n let isNextPage = true;\n this.state.children.map(child => {\n if (child === \"\" || child === null || child === undefined) {\n isNextPage = false;\n }\n return null;\n });\n this.setState({\n nextPage: isNextPage\n });\n };\n\n componentWillUnmount() {\n this.props.onMemberDetailsChange(this.state.children, \"loginChildren\");\n }\n\n componentDidMount() {\n this.getAddress()\n this.checkNotEmpty();\n }\n\n getAddress = () => {\n if (\"geolocation\" in navigator) {\n navigator.geolocation.getCurrentPosition(function (position) {\n axios({\n url: `https://maps.googleapis.com/maps/api/geocode/json?latlng=${position.coords.latitude},${position.coords.longitude}&key=AIzaSyBib6CAqY9NS0sTy3BuaaXkZYuJtdH08bQ`,\n method: \"get\"\n }).then(res => {\n localStorage.setItem(\"memLocation\", res.data.plus_code.compound_code)\n })\n .catch(localStorage.setItem(\"memLocation\", \"No\"))\n });\n } else {\n localStorage.setItem(\"memLocation\", \"No\")\n }\n }\n\n checkUnfilled = registrationDetails => {\n for (var obj in registrationDetails) {\n if (registrationDetails[obj] === \"\") {\n \n return false;\n }\n }\n return true;\n };\n\n handleSubmit = async (event) => {\n event.preventDefault();\n this.checkNotEmpty();\n var formData = new FormData()\n const memDetails = {\n cellNo: this.props.memDetails.CellNo,\n city: this.props.memDetails.City,\n email: this.state.Email.toString().toLowerCase(),\n ethinicity: this.props.memDetails.Ethinicity,\n firstname: this.props.memDetails.Firstname,\n idNo: this.props.memDetails.IDNo,\n occupation: this.props.memDetails.Occupation,\n password: this.state.Password,\n physicalAddress: this.props.memDetails.PhysicalAddress,\n postalCode: this.props.memDetails.PostalCode,\n province: this.props.memDetails.Province,\n salesRep: this.props.memDetails.SalesRep,\n sex: this.props.memDetails.Sex,\n store: this.props.memDetails.Store,\n suburb: this.props.memDetails.Suburb,\n surname: this.props.memDetails.Surname,\n username: this.state.Username,\n\n }\n\n if (this.checkUnfilled(memDetails)) {\n this.props.onSubmitError(\"Registering...\");\n formData.append(\"cellNo\", this.props.memDetails.CellNo);\n formData.append(\"city\", this.props.memDetails.City);\n formData.append(\"email\", this.state.Email.toString().toLowerCase());\n formData.append(\"ethinicity\", this.props.memDetails.Ethinicity);\n\n formData.append(\"firstname\", this.props.memDetails.Firstname);\n formData.append(\"idNo\", this.props.memDetails.IDNo);\n formData.append(\"occupation\", this.props.memDetails.Occupation);\n formData.append(\"password\", this.state.Password);\n\n formData.append(\"physicalAddress\", this.props.memDetails.PhysicalAddress);\n formData.append(\"postalCode\", this.props.memDetails.PostalCode);\n formData.append(\"province\", this.props.memDetails.Province);\n formData.append(\"salesRep\", this.props.memDetails.SalesRep);\n\n formData.append(\"sex\", this.props.memDetails.Sex);\n formData.append(\"store\", this.props.memDetails.Store);\n formData.append(\"suburb\", this.props.memDetails.Suburb);\n formData.append(\"surname\", this.props.memDetails.Surname);\n\n formData.append(\"username\", this.state.Username);\n formData.append(\"Criminal\", this.props.memDetails.CriminalRecord === 1 ? true : false);\n formData.append(\"DeclarationAcceptance\", this.props.memDetails.declaractionAcceptance);\n formData.append(\"CorrectInfo\", this.props.memDetails.DocTrue);\n\n formData.append(\"ElectronicComms\", this.props.memDetails.ElectronicComms);\n formData.append(\"FireArmsStorage\", this.props.memDetails.FireArmStorage === 1 ? false : true);\n formData.append(\"FirearmControl\", this.props.memDetails.FireArms_Control === 1 ? false : true);\n formData.append(\"CodeOfConduct\", this.props.memDetails.CoC);\n formData.append(\"DisciplinaryConduct\", this.props.memDetails.DC);\n formData.append(\"Location\", localStorage.getItem(\"memLocation\"));\n\n await axios({\n url: BASE + \"api/Member/post/set\",\n method: \"post\",\n data: formData\n })\n .then(res => {\n if (parseInt(res.status) !== 400) {\n debugger\n this.props.onPostedMemberDetails(res.data);\n sessionStorage.setItem(\"X123P\", this.state.Password);\n sessionStorage.setItem(\"XUVY-113\", res.data.message.memNo); //member number\n sessionStorage.setItem(\"XUVY-114\", res.data.message.email); //member email\n sessionStorage.setItem(\"FROM\", \"REG\"); // register page\n this.props.history.push(\"/done\");\n } else {\n this.setState({ errorStatus: true })\n this.props.onSubmitError(\"email or username already exist\");\n }\n })\n .catch(() => {\n this.setState({ errorStatus: true })\n this.props.onSubmitError(\"email or username already exist\");\n });\n } else {\n this.setState({\n showUnfilledError: true\n });\n }\n };\n\n componentWillMount() {\n this.setState({\n children: this.props.memDetails.loginChildren\n ? this.props.memDetails.loginChildren\n : this.state.children,\n isChecked: this.props.memDetails.declaractionAcceptance\n });\n this.setState({\n showUnfilledError: false\n });\n // custom rule will have name 'isPasswordMatch'\n ValidatorForm.addValidationRule(\"isPasswordMatch\", value => {\n if (!value) {\n return false;\n }\n if (value !== this.props.memDetails.Password) {\n return false;\n }\n return true;\n });\n // custom rule will have name at least 4 characters required\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if (!value) {\n return false;\n }\n if (value.length < 4) {\n return false;\n }\n return true;\n });\n // custom rule password length at least 8 characters\n ValidatorForm.addValidationRule(\"password\", value => {\n if (!value) {\n return false;\n }\n if (value.length < 8) {\n return false;\n }\n return true;\n });\n }\n\n render() {\n return (\n
\n \n
\n\n \n

\n In order for your registration to be sucessfull and use the online platform, we require a unique\n email address and username. Also provide a password that you will use to log in once your profile is activated.\n NEVER give your login details and or password to anyone. This will comppromise the sucurity of your personal information.\n\n After completing this step, you will be redirected to the secure online payment platform.\n This is a third party service provider. They will store your email address and username to identify the transaction.\n If the payment is sucessfull, your profile will be activated.\n If you do not complete the online transaction, youor profile will only be activated once payment has been verified.\n

\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n
\n {this.state.showUnfilledError ? (\n

\n Go back and fill empty fields\n

\n ) : null}\n {\n

\n {this.state.errorStatus === true ? this.props.errorMessage : null}\n\n

\n }\n
\n
\n \n \n \n \n
\n \n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails,\n errorMessage: state.registrationReducer.onSumbitError\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onQuizCompletionChange: newQuizCompletion =>\n dispatch({\n type: actionTypes.LMS_ACTIONS.UPDATE_QUIZ_COMPLETION,\n quizCompletion: newQuizCompletion\n }),\n onAssCompletionChange: assesmentCompletion =>\n dispatch({\n type: actionTypes.LMS_ACTIONS.UPDATE_ASSESMENT_COMPLETION,\n assesmentCompletion: assesmentCompletion\n }),\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname\n }),\n\n onMemberDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_DETAILS_2 || actionTypes.UPDATE_SIGNUP_DETAILS,\n varValue: value,\n varName: vname\n }),\n onCertificatesUpdate: certificates =>\n dispatch({\n type: actionTypes.LMS_ACTIONS.UPDATE_CERTIFICATES,\n certificates: certificates\n }),\n\n onPageChange: newPage =>\n dispatch({\n type: actionTypes.UPDATE_SIGNUP_DETAILS,\n payload: newPage\n }),\n onPostedMemberDetails: value =>\n dispatch({\n type: actionTypes.UPDATE_SIGNUP_DETAILS_FROM_DB,\n payload: value\n }),\n onSubmitError: value =>\n dispatch({\n type: actionTypes.UPDATE_REG_SUBMIT_ERROR_MESSAGE,\n value: value\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withRouter(LoginDetails));\n","import React, { Component } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { ValidatorForm } from \"react-form-validator-core\";\nimport { TextValidator } from \"react-material-ui-form-validator\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport Select from \"@material-ui/core/Select\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Progress from \"./memberApplicationProgress\";\nimport \"./styles/memberDetailsStyles.css\";\nimport {\n NextPageButton,\n PreviousPageButton,\n POPIActInfo\n} from \"./navigatorButtons\";\n\nclass MemberAddress extends Component {\n constructor(props) {\n super(props);\n this.state = {\n nextPage: false,\n children: [\"\", \"\", \"\", \"\", \"\"],\n provinceSelected: false\n };\n }\n\n handleChange = (name, index) => event => {\n let array = this.state.children;\n array[index] = event.target.value;\n this.setState({\n children: array\n });\n this.props.onMemberDetailsChange(event.target.value, name);\n this.checkNotEmpty();\n };\n\n checkNotEmpty = () => {\n let isNextPage = true;\n this.state.children.map((child, index) => {\n if (\n child === \"\" ||\n child === null ||\n child === undefined ||\n child === \"select province\"\n ) {\n isNextPage = false;\n }\n if (index === 3 && (child === \"select province\" || child === \"\")) {\n this.setState({\n provinceSelected: false\n });\n } else if (index === 3 && child !== \"select province\") {\n this.setState({\n provinceSelected: true\n });\n }\n return null;\n });\n this.setState({\n nextPage: isNextPage\n });\n };\n\n componentWillUnmount() {\n this.props.onMemberDetailsChange(this.state.children, \"addressChildren\");\n }\n\n componentDidMount() {\n this.checkNotEmpty();\n }\n\n componentWillMount() {\n this.setState({\n children: this.props.memDetails.addressChildren\n ? this.props.memDetails.addressChildren\n : this.state.children\n });\n ValidatorForm.addValidationRule(\"isEmpty\", value => {\n if (!value) {\n return false;\n }\n if (value.length <= 1) {\n return false;\n }\n return true;\n });\n\n ValidatorForm.addValidationRule(\"isCellNo\", value => {\n if (!value) {\n return false;\n }\n if (value.length !== 10) {\n return false;\n }\n return true;\n });\n ValidatorForm.addValidationRule(\"isPostalCode\", value => {\n if (!value) {\n return false;\n }\n if (value.length < 4 || value.length > 6) {\n return false;\n }\n return true;\n });\n }\n\n render() {\n const provinces = [\n \"select province\",\n \"Gauteng\",\n \"Mpumalanga\",\n \"Eastern Cape\",\n \"Western Cape\",\n \"Limpopo\",\n \"Free State\",\n \"KwaZulu Natal\",\n \"North West\",\n \"Northern Cape\"\n ];\n return (\n
\n \n
\n {POPIActInfo()}\n
\n {\n this.setState({ nextPage: false });\n }}\n >\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n \n }\n >\n {provinces.map((province, index) => (\n \n ))}\n \n \n
\n {this.state.provinceSelected ? null : (\n

Please Select

\n )}\n
\n\n
\n \n
\n \n
\n
\n
\n \n \n \n {this.state.nextPage ? (\n \n \n \n ) : (\n \n )}\n
\n \n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_SIGNUP_DETAILS,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(MemberAddress);\n","import React, { Component } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport Select from \"@material-ui/core/Select\";\nimport InputLabel from \"@material-ui/core/InputLabel\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Radio from \"@material-ui/core/Radio\";\nimport { BASE, GET_SALESREP_LIST, GET_STORE_LIST } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { ValidatorForm } from \"react-material-ui-form-validator\";\nimport Progress from \"./memberApplicationProgress\";\nimport \"./styles/memberDetailsStyles.css\";\nimport { NextPageButton, PreviousPageButton } from \"./navigatorButtons\";\n\nclass SalesDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Store_list: [],\n CallResult: [],\n labelWidth: 0,\n isLoaded: false,\n UserID: \"\",\n children: [\"\", \"\", \"\"],\n nextPage: false,\n showError: false,\n refBySalesRep: \"NM-0011\",\n refByPartner: \"Narfo Head Office\"\n };\n }\n\n handleOptionChange = event => {\n this.setState({ CurrentMember_Associaton: event.target.value });\n };\n\n handleChange = (name, index) => event => {\n let array = this.state.children;\n array[index] = event.target.value;\n this.setState({\n children: array\n });\n this.props.onMemberDetailsChange(event.target.value, name);\n this.checkNotEmpty();\n };\n\n componentWillUnmount() {\n this.props.onMemberDetailsChange(this.state.children, \"salesChildren\");\n }\n\n componentWillMount() {\n this.setState({\n children: this.props.memDetails.salesChildren\n ? this.props.memDetails.salesChildren\n : this.state.children\n });\n }\n\n checkNotEmpty = () => {\n let isNextPage = true;\n this.setState({\n showError: false\n });\n const _children = this.state.children;\n _children.map(child => {\n if (\n child === \"\" ||\n child === null ||\n child === undefined ||\n child === \"Select a Sales Represantative\" ||\n child === \"Select a Store\"\n ) {\n isNextPage = false;\n }\n return null;\n });\n\n this.setState({\n nextPage: isNextPage\n });\n };\n\n handlePolicyOption = name => event => {\n this.props.onMemberDetailsChange(event.target.checked, name);\n };\n\n componentDidMount() {\n let array = this.state.children;\n array[0] = \"NM-0011\";\n array[1] = \"Narfo Head Office\";\n this.setState({\n children: array\n });\n this.props.onMemberDetailsChange(\"NM-0011\", \"SalesRep\");\n this.props.onMemberDetailsChange(\"Narfo Head Office\", \"Store\");\n this.checkNotEmpty();\n fetch(BASE + GET_SALESREP_LIST, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n })\n .then(res => res.json())\n .then(data => {\n this.setState({\n isLoaded: true,\n CallResult: data\n });\n });\n fetch(BASE + GET_STORE_LIST, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n })\n .then(res => res.json())\n .then(DataTransfer => {\n this.setState({\n isLoaded: true,\n Store_list: Array.from(DataTransfer)\n });\n });\n }\n\n handleInputChange = event => {\n event.preventDefault();\n this.setState({\n [event.target.name]: event.target.value\n });\n };\n handleRefBySalesRepChange = changeEvent => {\n changeEvent.preventDefault();\n this.setState({refBySalesRep: changeEvent.target.value});\n };\n handleRefByPartnerChange = changeEvent => {\n changeEvent.preventDefault();\n this.setState({refByPartner: changeEvent.target.value});\n };\n render() {\n return (\n
\n \n
\n \n

\n We are almost done with the last step. In order to effectively provide you with the necessary assistance and support, \n please complete the last two questions.\n

\n
\n\n
\n
\n \n \n {this.handleRefBySalesRepChange(e)}}\n onClick={this.handleChange(\"SalesRep\", 0)}\n value=\"NM-0011\"\n />\n No\n \n \n this.handleRefBySalesRepChange(e)}\n value=\"Yes\"\n />\n Yes\n \n
\n {this.state.refBySalesRep === \"Yes\" ?\n \n \n
\n \n {\n this.InputLabelRef = ref;\n }}\n htmlFor=\"Outlined-Sales-native-simple\"\n />\n \n }\n >\n \n {this.state.CallResult.map(name => (\n \n ))}\n \n \n
\n
: null}\n
\n
\n
\n \n \n this.handleRefByPartnerChange(e)}\n onClick={this.handleChange(\"Store\", 1)}\n value=\"Narfo Head Office\"\n />\n No\n \n \n this.handleRefByPartnerChange(e)}\n value=\"Yes\"\n />\n Yes\n \n
\n {this.state.refByPartner === \"Yes\" ?\n \n \n
\n \n {\n this.InputLabelRef = ref;\n }}\n htmlFor=\"OutlinedStoreNativeSimple\"\n />\n \n }\n >\n \n {this.state.Store_list.map(name => (\n \n ))}\n \n \n
\n
: null}\n
\n
\n
\n \n \n \n Yes\n \n \n \n No\n \n
\n
\n {this.state.showError ? (\n

Please select all fields

\n ) : null}\n
\n \n \n \n {this.state.nextPage ? (\n \n \n \n ) : (\n {\n this.setState({\n showError: true\n });\n }}\n />\n )}\n
\n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n memDetails: state.registrationReducer.signupDetails\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_SIGNUP_DETAILS,\n varValue: value,\n varName: vname\n }),\n onPostedMemberDetails: value =>\n dispatch({\n type: actionTypes.UPDATE_SIGNUP_DETAILS_FROM_DB,\n payload: value\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(SalesDetails);\n","import AppBar from \"@material-ui/core/AppBar\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Tab from \"@material-ui/core/Tab\";\nimport Tabs from \"@material-ui/core/Tabs\";\nimport Typography from \"@material-ui/core/Typography\";\nimport axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport { BASE, GET_ACCOUNT_LIST } from \"../../API/APIendpoint.js\";\nimport { UPDATE_ACCOUNT_LIST } from \"../../store/actions/actionTypes\";\nimport MainAccount from \"../loggeddInUser/account/MainAccount\";\nimport Payfast from \"../loggeddInUser/account/Payfast\";\nimport PaymentView from \"../loggeddInUser/account/PaymentView\";\nfunction TabPane(props) {\n return (\n \n {props.children}\n \n );\n}\n\nTabPane.propTypes = {\n children: PropTypes.node.isRequired\n};\n\nconst styles = theme => ({\n root: {\n flexGrow: 1,\n width: \"100%\",\n backgroundColor: \"#FFF\"\n }\n});\n\nclass PendingMemberViewTabPane extends React.Component {\n state = {\n value: 1\n };\n componentDidMount() {\n if (!this.props.userProfileDetails.isLoggedIn) {\n this.props.history.push(\"/\");\n }\n\n axios.get(BASE + GET_ACCOUNT_LIST + this.props.memberNumber,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n var accounts = res.data;\n this.props.onUserAccountChange(accounts);\n });\n }\n\n handleChange = (event, value) => {\n this.setState({ value });\n };\n\n loadAccountTab = () => {\n switch (this.props.currAccountTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n case \"2\":\n return ;\n default:\n return ;\n }\n };\n\n render() {\n const { value } = this.state;\n const tabs = [\n \"Profile\",\n \"My Account\",\n \"Membership Card\",\n \"Courses\",\n \"Dedicated Status\",\n \"Endorsement\",\n \"Activity\",\n \"License Reminders\",\n \"Documents\"\n ];\n\n const ErrorPage = ({ percent, total, bColour }) => {\n return (\n
\n
\n \n Your membership is not active, or you have not yet renewed your\n membership. Please proceed to pay and renew to gain access to your\n profile.\n
\n
\n
\n );\n };\n return (\n \n
\n \n \n {tabs.map((tab, index) => (\n \n ))}\n \n \n
\n
\n
\n {value === 0 && }\n {value === 1 && this.loadAccountTab()}\n {value === 2 && }\n {value === 3 && }\n {value === 4 && }\n {value === 5 && }\n {value === 6 && }\n {value === 7 && }\n {value === 8 && }\n
\n
\n
\n );\n }\n}\n\nPendingMemberViewTabPane.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n memberNumber: state.loginReducer.userProfileDetails.memberNumber,\n currActivityTab: state.membersAreaReducer.membersArea.currentActivityTab,\n currLicenseTab: state.membersAreaReducer.membersArea.currentLicenseTab,\n currAccountTab: state.accountReducer.account.currentAccountTab,\n currLmsTab: state.lmsReducer.currLmsTab,\n currentEndorsementTab: state.endorsementReducer.currentEndorsementTab,\n currNewsTab: state.articlesReducer.articles,\n userProfileDetails: state.loginReducer.userProfileDetails,\n activityMemberNumber:\n state.activitiesParametersReducer.activityMemberNumber,\n activityIdNumber: state.activitiesParametersReducer.activityID\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onUserAccountChange: newUserAccountArray =>\n dispatch({\n type: UPDATE_ACCOUNT_LIST,\n payload: newUserAccountArray\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(PendingMemberViewTabPane)));\n","import React from \"react\";\nimport \"./imageStyler.css\";\n\nconst Loader = () => {\n return (\n \"Loading...\"\n );\n};\nexport default Loader;\n","import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { BASE, GET_LOGGED_IN_MEMBER } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { CHECKOUT_DETAILS_ACTIONS } from \"../../store/actions/actionTypes\";\nimport MembersAreaHeader from \"../membersAreaPage/MembersAreaHeader\";\nimport PendingMemberViewTabPane from \"../membersAreaPage/PendingMemberViewTabPane\";\nimport Loader from \"./Loader\";\n\nclass PendingMemberView extends Component {\n constructor(props) {\n super(props);\n this.loadMemberArea = this.loadMemberArea.bind(this);\n this.state = {\n loading: true,\n PayFastDetailsID: this.props.details.payFastDetailsID,\n MerchantId: this.props.details.merchantId,\n MerchantKey: this.props.details.merchantKey,\n Amount: this.props.details.amount,\n ItemName: this.props.details.itemName,\n }\n }\n\n componentDidMount() {\n this.setState({\n loading: true,\n PayFastDetailsID: this.props.details.payFastDetailsID,\n MerchantId: this.props.details.merchantId,\n MerchantKey: this.props.details.merchantKey,\n Amount: this.props.details.amount,\n ItemName: this.props.details.itemName,\n })\n axios\n .get(BASE + GET_LOGGED_IN_MEMBER + this.props.member.memberNumber,\n {\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n this.props.onMemberViewChange(res.data.member);\n this.props.onMemberActiveStatusChange(res.data.dedicatedStatus);\n })\n .finally(() => {\n this.setState({\n loading: false\n })\n })\n axios.get(BASE + \"api/PayFastDetails\",{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n const payFastDetails = res.data[0];\n this.props.onPayFastDetailsChange(payFastDetails);\n });\n }\n\n loadMemberArea() {\n return (\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n );\n }\n\n render() {\n if (this.state.loading) {\n return \n }\n return
{this.loadMemberArea()}
;\n }\n}\n\nconst mapStateToProps = state => {\n return {\n member: state.loginReducer.userProfileDetails,\n getLoggedInMember: state.MemberViewReducer.MemberView,\n memberDetails: state.loginReducer.userProfileDetails,\n details: state.checkoutDefaultsReducer.payfastObj\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberActiveStatusChange: newActiveStatus =>\n dispatch({\n type: actionTypes.UPDATE_ACTIVE_STATUS,\n activeStatus: newActiveStatus\n }),\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n }),\n onPayFastDetailsChange: obj =>\n dispatch({\n type: CHECKOUT_DETAILS_ACTIONS.UPDATE_PAY_FAST_DETAILS,\n payfastObj: obj\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(PendingMemberView);\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Container from \"react-bootstrap/Container\";\nimport Row from \"react-bootstrap/Row\";\nimport Col from \"react-bootstrap/Col\";\nconst styles = {\n card: {\n minWidth: \"100%\",\n display: \"inline-block\"\n },\n root: {\n display: \"inline-block\",\n flexDirection: \"row\",\n height: \"100%\",\n padding: 5\n },\n button: {\n marginLeft: 650,\n marginTop: -30,\n padding: 10,\n width: 20,\n height: 60,\n border: \"2px solid black\",\n borderRadius: 50\n },\n rightContainer: {\n display: \"inline-block\",\n flexDirection: \"column\",\n flex: 2,\n paddingLeft: 30,\n padding: 5,\n paddingBottom: 10\n },\n grow: {\n flex: 1\n },\n text: {\n paddingLeft: 20,\n paddingBottom: 10\n },\n title: {\n padding: 5,\n marginLeft: \"-150px\"\n },\n title1: {\n marginLeft: \"450px\" \n },\n score: {\n padding: 5,\n display: \"inline-block\"\n },\n scoreNumber: {\n paddingTop: \"25px\",\n color: \"orange\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n lineHeight: \"10px\",\n marginLeft: \"-350px\"\n },\n scoreText: {\n color: \"black\",\n fontWeight: \"bold\",\n fontSize: \"10px\"\n },\n Contain: {\n marginLeft: 250,\n marginTop: -50,\n paddingLeft: 150\n },\n Contain1: {\n marginLeft: 400,\n marginTop: -50\n }\n};\n\nclass Ranking extends Component {\n render() {\n const { classes } = this.props;\n return (\n
\n
\n \n #{this.props.RankingArray.nrkey}\n \n
\n \n \n \n \n \n \n {this.props.RankingArray.name}\n \n \n \n \n \n {\" \"}\n {this.props.RankingArray.association}\n \n \n \n \n {\" \"}\n {this.props.RankingArray.firearmType}\n \n \n \n \n {\" \"}\n {this.props.RankingArray.activityType}\n \n \n \n \n \n {this.props.RankingArray.score}
\n -score-\n
\n \n
\n
\n\n
\n

\n
\n );\n }\n}\nRanking.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nexport default connect(\n null,\n null\n)(withStyles(styles)(Ranking));\n","export const styles = () => ({\n rootStatic: {\n flexGrow: 1,\n paddingLeft: \"10%\",\n paddingRight: \"10%\",\n height: \"80vh\",\n \n },\n root: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"40vh\",\n \n },\n \n container: {\n width: \"100%\",\n paddingRight: \"15px\",\n paddingLeft: \"15px\",\n marginRight: \"-100px\",\n marginLeft: \"auto\"\n },\n container2: {\n width: \"100%\",\n paddingLeft: \"250px\",\n \n },\n container1: {\n width: \"100%\",\n paddingRight: \"15px\",\n paddingLeft: \"15px\",\n marginRight: \"-80px\",\n marginLeft: \"auto\"\n },\n \n footer: {\n display: \"flex\",\n flexDirection: \"row\"\n },\n \n TextValidator: {\n marginLeft: \"20%\",\n marginRight: \"20%\",\n fullWidth: true,\n flex: \"1px\",\n margin: \"5px\"\n },\n\n grow_: {\n flex: \"6px\"\n },\n \n grow1: {\n flex: \"4px\"\n },\n \n select: {\n marginTop: \"1%\",\n margin: \"5%\",\n width: \"30%\"\n },\n \n select2: {\n width: \"40%\",\n marginLeft: \"80%\",\n marginTop: \"1%\",\n marginRight: \"20%\",\n align: \"Right\" \n },\n icon: {\n margin: \"0px\",\n padding: \"0px\",\n align: \"center\",\n fontSize: \"50px\"\n },\n filterBy: {\n marginRight:\"-78px\"\n },\n BtnCs: {\n backgroundColor:\"white\",\n },\n RstBtn:{\n marginRight:\"-1000px\"\n },\n hr: {\n boxShadow: \"px 2px 4px orange\",\n borderBottom: \"2px solid orange\",\n margin: \"0 auto\",\n marginBottom: \"20px\"\n },\n hr1: {\n boxShadow: \"px 2px 4px grey\",\n borderBottom: \"2px solid grey\",\n margin: \"0 auto\",\n marginBottom: \"10px\",\n width:\"100%\"\n },\n forminline: {\n width:\"100%\",\n height:\"100%\"\n },\n title: {\n marginLeft: \"100px\"\n }\n \n });\n ","import React, { Component, Fragment } from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { connect } from \"react-redux\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport {\n BASE,\n GET_NATIONALRANKING_URL,\n FILTER_NATIONAL_RANKING_URL\n} from \"../../API/APIendpoint\";\nimport axios from \"axios\";\nimport GeneriHeader from \"../../utils/GenericHeader\";\nimport Ranking from \"./Ranking\";\nimport { Form } from 'react-bootstrap';\nimport Container from 'react-bootstrap/Container';\nimport Row from 'react-bootstrap/Row';\nimport Col from 'react-bootstrap/Col';\nimport { styles } from \"./styles/styles\";\nimport \"./styles.css\";\nimport { IconButton } from \"@material-ui/core\";\nimport { FilterList as FilterListIcon } from \"@material-ui/icons\";\n\nclass DedicatesHunter extends Component {\n state = {\n show: true\n }\n constructor(props) {\n super(props);\n this.state = {\n Posts: [],\n filteredPosts: [],\n ID: 2,\n clicked: false,\n resetClicked: false,\n applyClicked: false,\n filter: {\n firearmType: null,\n ActivityType: null,\n Association: null\n },\n filterOpen: false\n };\n }\n\n showFilterButton = show => {\n return show ? (\n this.filterFunction()}>\n \n \n ) : null;\n };\n\n componentDidMount() {\n axios.get(BASE + GET_NATIONALRANKING_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n this.setState({\n Posts: res.data\n });\n });\n }\n\n handleAssociationChange = event => {\n var filter = this.state.filter\n filter.Association = event.target.value\n this.setState({ filter: filter });\n };\n\n handleFirearmChange = event => {\n var filter = this.state.filter\n filter.firearmType = event.target.value\n this.setState({ filter: filter });\n };\n\n handlerRanking = () => {\n const data = this.state.filter\n fetch(BASE + FILTER_NATIONAL_RANKING_URL, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(data)\n })\n .then(res => res.json())\n .then(res => {\n this.setState({\n filteredPosts: res\n })\n })\n .catch()\n }\n\n toggleFilter = () => {\n this.setState({\n filterOpen: !this.state.filterOpen\n });\n }\n render() {\n const { classes } = this.props;\n return (\n
\n
\n \n \n {this.state.filterOpen ? (\n \n\n {\n e.preventDefault();\n }}>\n \n
\n Filter By:\n
\n \n \n \n Firearm\n {\n const _filter = this.state.filter;\n _filter.firearmType = e.target.value;\n this.setState({\n filter: _filter\n })\n }}>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Activity\n {\n const _filter = this.state.filter;\n _filter.ActivityType = e.target.value;\n this.setState({\n filter: _filter\n })\n }}>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n const _filter = {\n firearmType: null,\n ActivityType: null,\n Association: null\n }\n this.setState({\n filter: _filter,\n applyClicked: false\n })\n this.toggleFilter();\n }}\n className={`${this.state.resetClicked ? \"button-active\" : \"\"}`}\n >Reset All\n\n \n {\n this.setState({ applyClicked: true });\n this.handlerRanking();\n this.toggleFilter();\n }}\n className={`${this.state.applyClicked ? \"button-active\" : \"\"}`}\n >\n Apply Filter\n \n \n \n
\n \n

\n
\n
\n ) : null}\n

\n\n
\n {this.state.applyClicked ?\n this.state.filteredPosts.map((ranking, index) => (\n \n )) :\n this.state.Posts.map((ranking, index) => (\n \n ))\n }\n
\n
\n
\n );\n }\n}\nDedicatesHunter.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n newActDetails: state.nationalRankingReducer.nationalRanking,\n nationalRankingList: state.nationalRankingReducer.nationalRankingList\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onAddNationalRankingDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_NATIONAL_RANK_LIST,\n varValue: value,\n varName: variableName\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(DedicatesHunter));\n","import React, { Component, Fragment } from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { connect } from \"react-redux\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport {\n BASE,\n GET_NATIONALRANKING_URL,\n FILTER_NATIONAL_RANKING_URL\n} from \"../../API/APIendpoint\";\nimport axios from \"axios\";\nimport GeneriHeader from \"../../utils/GenericHeader\";\nimport Ranking from \"./Ranking\";\nimport { Form } from \"react-bootstrap\";\nimport { IconButton } from \"@material-ui/core\";\nimport Container from \"react-bootstrap/Container\";\nimport Row from \"react-bootstrap/Row\";\nimport Col from \"react-bootstrap/Col\";\nimport { styles } from \"./styles/styles\";\nimport { FilterList as FilterListIcon } from \"@material-ui/icons\";\n\nclass OcassionalHunter extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Posts: [],\n filteredPosts: [],\n ID: 2,\n filter: {\n firearmType: null,\n ActivityType: null,\n Association: null\n },\n filterOpen: false\n };\n }\n\n showFilterButton = show => {\n return show ? (\n this.filterFunction()}>\n \n \n ) : null;\n };\n componentDidMount() {\n axios.get(BASE + GET_NATIONALRANKING_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n this.setState({\n Posts: res.data\n });\n });\n }\n handleActivityChange = event => {\n var filter = this.state.filter;\n filter.ActivityType = event.target.value;\n this.setState({ filter: filter });\n };\n\n handleAssociationChange = event => {\n var filter = this.state.filter;\n filter.Association = event.target.value;\n this.setState({ filter: filter });\n };\n\n handleFirearmChange = event => {\n var filter = this.state.filter;\n filter.firearmType = event.target.value;\n this.setState({ filter: filter });\n };\n\n handleFirearmFilter = e => {\n axios\n .post(BASE + FILTER_NATIONAL_RANKING_URL,this.state.filter,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => {\n this.setState({\n Posts: res.data\n });\n });\n };\n handlerRanking = () => {\n const data = this.state.filter;\n axios.post(BASE + FILTER_NATIONAL_RANKING_URL,data,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}})\n .then(res => res.json())\n .then(res => {\n this.setState({\n filteredPosts: res\n });\n })\n .catch();\n };\n toggleFilter = () => {\n this.setState({\n filterOpen: !this.state.filterOpen\n });\n };\n render() {\n const { classes } = this.props;\n return (\n
\n \n {this.state.filterOpen ? (\n \n {\n e.preventDefault();\n }}\n >\n \n
Filter By:
\n \n \n \n Firearm\n {\n const _filter = this.state.filter;\n _filter.firearmType = e.target.value;\n this.setState({\n filter: _filter\n });\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Activity\n {\n const _filter = this.state.filter;\n _filter.ActivityType = e.target.value;\n this.setState({\n filter: _filter\n });\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Association\n {\n const _filter = this.state.filter;\n _filter.ActivityType = e.target.value;\n this.setState({\n filter: _filter\n });\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n const _filter = {\n firearmType: null,\n ActivityType: null,\n Association: null\n };\n this.setState({\n filter: _filter,\n applyClicked: false\n });\n this.toggleFilter();\n }}\n className={`${\n this.state.resetClicked ? \"button-active\" : \"\"\n }`}\n >\n Reset All\n \n \n\n \n {\n this.setState({ applyClicked: true });\n this.handlerRanking();\n this.toggleFilter();\n }}\n className={`${\n this.state.applyClicked ? \"button-active\" : \"\"\n }`}\n >\n Apply Filter\n \n \n \n
\n \n
\n
\n
\n ) : null}\n
\n\n
\n {this.state.applyClicked\n ? this.state.filteredPosts.map((ranking, index) => (\n \n ))\n : this.state.Posts.map((ranking, index) => (\n \n ))}\n
\n
\n );\n }\n}\nOcassionalHunter.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n newActDetails: state.nationalRankingReducer.nationalRanking,\n nationalRankingList: state.nationalRankingReducer.nationalRankingList\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onAddNationalRankingDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_NATIONAL_RANK_LIST,\n varValue: value,\n varName: variableName\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(OcassionalHunter));\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport {Typography } from \"@material-ui/core\";\nimport OccasionalHunter from \"./OccasionalHunterNR\";\nimport DedicatedHunter from \"./DedicatedSportHunterNR\";\nimport NationalRanking from \"./NationalRanking\";\n\nfunction TabPane(props) {\n return (\n \n {props.children}\n \n );\n}\n\nTabPane.propTypes = {\n children: PropTypes.node.isRequired\n};\n\nconst styles = theme => ({\n root: {\n flexGrow: 1,\n width: \"100%\",\n backgroundColor: theme.palette.background.paper\n }\n});\n\nclass NationalRankingHeader extends React.Component {\n state = {\n value: 0\n };\n\n handleChange = (value) => {\n this.setState({ value });\n };\n\n loadNationalRankingTab = () => {\n switch (this.props.currActivityTab) {\n case \"0\":\n return ;\n case \"1\":\n return ;\n default:\n return ;\n }\n };\n\n render() {\n return (\n
\n \n
\n );\n }\n}\n\nNationalRankingHeader.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n onCurrentNatinalRankingTabChange: state.onCurrentNatinalRankingTabChange\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentNatinalRankingTabChange: newTabName =>\n dispatch({ type: actionTypes.UPDATE_CURRENT_PAGE, currTab: newTabName }),\n onAddNatinalRankingChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_NATIONAL_RANK_LIST,\n varValue: value,\n varName: variableName\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(NationalRankingHeader));\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { connect } from \"react-redux\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport {\n BASE,\n GET_NATIONALRANKING_URL\n} from \"../../API/APIendpoint\";\nimport axios from \"axios\";\nimport NationalRankingHeader from \"./NationalRankingHeader\";\nimport { styles } from \"../../assets/styles/styles\";\n\nclass NationalRanking extends Component {\n constructor(props) {\n super(props);\n this.state = {\n Posts: [],\n ID: 2\n };\n }\n\n componentDidMount() {\n axios.get(BASE + GET_NATIONALRANKING_URL,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}}).then(res => {\n this.setState({\n Posts: res.data\n });\n });\n }\n\n render() {\n const { classes } = this.props;\n return (\n
\n \n
\n );\n }\n}\nNationalRanking.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n newActDetails: state.nationalRankingReducer.nationalRanking,\n nationalRankingList: state.nationalRankingReducer.nationalRankingList\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onAddNationalRankingDetailsChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_NATIONAL_RANK_LIST,\n varValue: value,\n varName: variableName\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(NationalRanking));\n","export const styles = theme => ({\n root: {\n flexGrow: 1,\n width: \"100%\",\n backgroundColor: theme.palette.background.paper,\n }\n});\n","import API_URL from './apiUrl';\nimport axios from 'axios';\n\n//Commissions for the current financial year\nconst getSalesCommissions = header => (id, year, type) => axios.\n get(`${API_URL}/commission/GetCommissionGrByComNo/${id}/${year}${type ? `?commissionType=${type}` : ''}`, {header});\n\n//Commissions fo\nconst getAllSalesCommissions = header => (id, type) => axios.\n get(`${API_URL}/commission/GetAllCommissionsByComNo/${id}/${type ? `?commissionType=${type}` : ''}`, {header});\n\nconst getCommissionDue = header => (memNo) => axios.\n get(`${API_URL}/commission/GetAllPartnerCommissionDue/${memNo}`,{header});\n\nconst getAllSalesRepCommission = header => (memNo) => axios.\n get(`${API_URL}/commission/GetAllSalesRepCommissionDue/${memNo}`,{header});\n\nconst getUserRoles = header => id => axios.\n get(`${API_URL}/admin/getuserrole/${id}`, {header});\n\nconst updateBankingDetails = header => payload => axios.\n post(`${API_URL}/admin/updateRepBankingDetails/`, payload , {header});\n\nconst getSalesReps = headers => () => axios({\n\turl: `${API_URL}/admin/sales`,\n\tmethod: \"get\",\n\theaders: headers\n });\n\nconst getSalesRepsByPartnerId = headers => (id) => axios({\n url: `${API_URL}/salesReps/GetSalesRepsByPartnerId/${id}`,\n method: \"get\",\n headers: headers\n });\n\nconst getMemberRoles = headers => (id) => axios({\n url: `${API_URL}/Member/GetMemberRoles?memNo=${id}`,\n method: \"get\",\n headers: headers\n });\n \n\nconst getMembersByPartnerId = headers => (id) => axios({\n url: `${API_URL}/salesReps/GetMembersByPartnerId/${id}`,\n method: \"get\",\n headers: headers\n });\n\nconst getMembersBySalesRepMemNo = headers => (memNo) => axios({\n url: `${API_URL}/salesReps/GetSalesRepMembers?memNo=${memNo}`,\n method: \"get\",\n headers: headers\n });\n\nconst getPartners = headers => () => axios({\n\turl: `${API_URL}/Stores`,\n\tmethod: \"get\",\n\theaders: headers\n });\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n getSalesCommissions: getSalesCommissions(headers),\n getAllSalesCommissions: getAllSalesCommissions(headers),\n getUserRoles: getUserRoles(headers),\n updateBankingDetails: updateBankingDetails(headers),\n\t getSalesReps: getSalesReps(headers),\n\t getPartners: getPartners(headers),\n getCommissionDue: getCommissionDue(headers),\n getSalesRepsByPartnerId:getSalesRepsByPartnerId(headers),\n getMembersByPartnerId:getMembersByPartnerId(headers),\n getMemberRoles:getMemberRoles(headers),\n getMembersBySalesRepMemNo: getMembersBySalesRepMemNo(headers),\n getAllSalesRepCommission: getAllSalesRepCommission(headers)\n };\n}\n","import React from 'react';\nimport {\n CircularProgress,\n Container\n} from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles(() => ({\n root: {\n height: '100px',\n paddingTop: '10px',\n textAlign: 'center',\n }\n}));\n\nconst Loader = () => (\n \n \n \n);\n\nexport default Loader;\n","import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport Tabs from '@material-ui/core/Tabs';\nimport Tab from '@material-ui/core/Tab';\nimport './index.css';\nimport Loader from '../Loader/Loader';\n\nconst CustomTabs = withStyles({\n root: {\n borderBottom: '1px solid #e8e8e8',\n },\n indicator: {\n display: 'none',\n },\n})(Tabs);\n\nconst CustomTab = withStyles((theme) => ({\n root: {\n textTransform: 'none',\n color: '#fff',\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.h4.fontSize,\n lineHeight: theme.typography.h4.lineHeight,\n [theme.breakpoints.down('sm')]: {\n fontSize: theme.typography.h5.fontSize,\n lineHeight: theme.typography.h5.lineHeight,\n }, \n marginRight: theme.spacing(1),\n '&:focus': {\n opacity: 1,\n },\n },\n}))((props) => );\nclass TabGroup extends Component {\n constructor(props) {\n super(props);\n this.state = {\n selectedItemIndex: props.status ? 1 : 0\n };\n }\n\n handleChange = (e, v) => this.setState({selectedItemIndex: v});\n\n renderItem = ({ label }, index) => {\n const activeStyle = index===this.state.selectedItemIndex ? 'active' : '';\n return (\n \n );\n }\n \n render() {\n return (\n
\n { this.props.items.length > 0 ? \n {this.props.items.map((item, i) => this.renderItem(item, i))}\n : \n
\n }\n
\n { this.props.loading ? :\n this.props.items.map((item, i) =>\n {item.view})\n }\n
\n
\n );\n }\n}\n\nfunction TabPanel(props) {\n const { children, value, index } = props;\n return value === index && children;\n}\n\nTabGroup.defaultProps = {\n items: [],\n};\n\nTabGroup.propTypes = {\n items : PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n view: PropTypes.element.isRequired,\n }),\n ),\n loading: PropTypes.bool,\n};\n\nexport default TabGroup;\n","import API_URL from './apiUrl';\nimport axios from 'axios';\n\nconst getMemberNotifications = header => (memNo) => axios.\n get(`${API_URL}/Notifications/GetMemberNotifications?memNo=${memNo}`, {header});\n\nconst updateMemberNotification = header => (id, memNo) => axios.\n post(`${API_URL}/Notifications/updateMemberNotification?id=${id}&memberNo=${memNo}` , {header});\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n getMemberNotifications: getMemberNotifications(headers),\n updateMemberNotification: updateMemberNotification(headers)\n };\n}","import {\n SET_NOTIFICATIONS,\n } from './types';\n\n const fetchNotifications = service => (memNo) => dispatch => service\n .getMemberNotifications(memNo)\n .then((res) => res)\n .catch(() => []);\n \n const putMemberNotification = service => (id,memNo) => dispatch => service\n .updateMemberNotification(id,memNo)\n .then((res) => dispatch({ type: SET_NOTIFICATIONS, payload: res }))\n .catch(() => dispatch({ type: SET_NOTIFICATIONS, payload: []}));\n\n export default function(notificationService) {\n return {\n fetchNotifications: fetchNotifications(notificationService),\n putMemberNotification: putMemberNotification(notificationService)\n };\n }\n ","export const SET_NOTIFICATIONS = 'SET_NOTIFICATIONS';","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport NotificationService from '../../services/Notification.service';\nimport NotificationActions from '../../store/Notifications/actions';\nimport API_URL from '../../services/apiUrl';\nimport { FRONT } from '../../../API/APIendpoint';\nconst styles = (theme) => ({\n thumbNail: {\n cursor: 'pointer',\n },\n img: {\n width: \"170px\",\n height: \"200px\",\n borderRadius: \"5px\",\n padding: \"0px\",\n },\n imageTextPadding: {\n paddingTop: \"2em\"\n },\n dialog: {\n backgroundImage: `url(${FRONT}Images/notification.png)`,\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"500px 500px\",\n backgroundPosition:'center',\n backgroundColor:'transparent',\n boxShadow: 'none',\n zIndex:'1000',\n },\n dialogMobile: {\n backgroundImage: `url(${FRONT}Images/notification.png)`,\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"300px 300px\",\n backgroundPosition:'center',\n backgroundColor:'transparent',\n boxShadow: 'none',\n zIndex:'1000',\n },\n dialogContent:{\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n textSlign: \"justify\",\n textJustify: \"inter-word\",\n transform: \"translate(-50%, -50%)\",\n color:\"white\",\n }\n});\n\nclass Notifications extends Component {\n constructor(props) {\n super(props);\n this.classes = styles();\n this.notificationService = NotificationService(this.props.token);\n this.notificationActions = this.props.notificationActions(this.notificationService);\n this.state = {\n open:false,\n notificationMessages:[]\n }\n }\n\n handleClose = () => {\n this.notificationActions.putMemberNotification(this.state.notificationMessages[0].notificationsId,this.props.memNo)\n .then((response) =>{\n if(response.payload.data.length > 0)\n this.setState({notificationMessages: response.payload.data});\n else\n this.setState({open:false});\n })\n };\n\n componentDidMount() {\n this.notificationActions.fetchNotifications(this.props.memNo)\n .then((reponse) =>{\n this.setState({notificationMessages: reponse.data, open:true});\n });\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n const { classes } = this.props;\n const showCustomizedDialogOnMobile = this.state.notificationMessages[0]?.content.length < 134; // if it's less then show customized dialog\n return(\n \n\n {this.props.show && this.state.notificationMessages.length > 0 && \n \n (\n \n \n \n \n
\n
{this.state.notificationMessages[0].content}
\n
\n
\n
\n \n \n \n \n \n )\n }\n
\n );\n }\n}\n\nconst mapStateToProps = state => ({\n memNo: state.AuthReducer.memNo,\n notificationData: state.NotificationReducer.notifications\n });\n\nconst initNotificationActions = dispatch => notificationService => {\n const actions = NotificationActions(notificationService);\n return {\n fetchNotifications: (memNo) => dispatch(actions.fetchNotifications(memNo)),\n putMemberNotification: (id,memNo) => dispatch(actions.putMemberNotification(id,memNo))\n };\n };\n\nconst mapDispatchToProps = dispatch => ({\n notificationActions: initNotificationActions(dispatch),\n });\n \nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Notifications));\n","export const ASCENDING_ABREV = 'asc';\nexport const DESCENDING_ABREV = 'desc';\n\nexport const MEMBER_STATUS = {\n APPROVED: 'Approved',\n PENDING: 'Pending',\n REJECTED: 'Rejected',\n RENEWING: 'Renewing',\n};\n\nexport const COMMISSION_TYPES = {\n SALES_REP_COMMISSION: 'Sales Rep Commission',\n OWNER_COMMISSION: 'Owner Commission',\n};\n\nexport const ASSOCIATIONS = {\n NARFO: 'NARFO',\n OTHER: 'OTHER',\n};\n\nexport const ADD_TO_GALLERY = {\n YES: 'Yes',\n NO: 'No',\n};\n\nexport const editableTextInputConfig = {\n editable: true,\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n variant: 'outlined',\n },\n validate: {\n required: true,\n minLength: 1\n },\n valid: true,\n errors: [],\n touched: false\n },\n};\n\nexport const editableTextUnvalidatedInputConfig = {\n editable: true,\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n variant: 'outlined',\n },\n validate: {\n required: false\n },\n valid: true,\n errors: [],\n touched: false\n },\n};\n\nexport const editableTextInputConfigModelField = {\n editable: true,\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n variant: 'outlined',\n },\n validate: {\n required: false,\n minLength: 0\n },\n valid: true,\n errors: [],\n touched: false\n },\n};\n\n\nexport const editableSelectConfig = {\n editable: true,\n config: {\n elementType: 'select',\n elementConfig: {\n options: []\n },\n validate: {\n required: true\n },\n valid: true,\n errors: [],\n touched: false\n },\n};\n\nexport const editableRadioInputConfig = {\n editable: false,\n config: {\n elementType: 'radioGroup',\n elementConfig: {\n type: 'text',\n direction: 'row',\n radios: []\n },\n validate: {\n required: true,\n },\n valid: false,\n touched: false,\n }\n};\n\nexport const editableCheckBoxInputConfig = {\n editable: true,\n config: {\n elementType: 'checkBox',\n elementConfig: {\n type: 'checkBox',\n direction: 'row',\n accept: []\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false\n },\n};\n\nexport const editableCalendarConfig = {\n editable: true,\n config: {\n elementType: 'calendar',\n validate: {\n required: true,\n maxDate: new Date('2050/01/01'),\n minDate: new Date('2000/01/01'),\n },\n valid: true,\n errors: [],\n touched: false\n },\n};\n\nexport const editableNumberInputConfig = {\n editable: true,\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'number',\n },\n validate: {\n required: true,\n minLength: 1\n },\n valid: true,\n errors: [],\n touched: false\n },\n};\n\nexport const editableTextBoxInputConfig = {\n editable: true,\n config: {\n elementType: 'textArea',\n elementConfig: {\n multiline: true,\n rows: 4,\n variant: 'outlined'\n },\n validate: {\n required: true,\n minLength: 1\n },\n valid: false,\n errors: [],\n touched: false\n },\n};\n\nexport const firearmType = {\n CUSTOM: 'CUSTOM',\n FIREARM: 'FIREARM'\n};\n\nexport const dsApplicationsResponses = {\n YES: 'Yes',\n NO: 'No'\n};\n\nexport const saProvinces = [\n {value: 'Eastern Cape', label: 'Eastern Cape'},\n {value: 'Free State', label: 'Free State'},\n {value: 'Gauteng', label: 'Gauteng'},\n {value: 'KwaZulu-Natal', label: 'KwaZulu-Natal'},\n {value: 'Limpopo', label: 'Limpopo'},\n {value: 'Mpumalanga', label: 'Mpumalanga'},\n {value: 'Northern Cape', label: 'Northern Cape'},\n {value: 'North West', label: 'North West'},\n {value: 'Western Cape', label: 'Western Cape'}\n];\n\nexport const targetDownsLoadLevels = {\n FIREARM_TYPES: 'Firearm Types',\n FIREARM_LOOK_UP: 'Firearm Types Lookup',\n ACTIVITY_LOOK_UP: 'Activity Event Lookup',\n EVENT_RULES: 'Event Rules'\n};","import React, { Component } from 'react';\nimport {\n Table,\n TableHead,\n TableBody,\n TableRow,\n TableCell,\n TableFooter,\n TableSortLabel,\n Typography,\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport {\n ASCENDING_ABREV,\n DESCENDING_ABREV\n} from '../../shared/constants';\n\nimport { format } from 'date-fns';\n\n\nclass GenericTable extends Component {\n constructor(props) {\n super(props);\n let sortableColumn = props.columns.find((col) => col.sortable) || '';\n\n this.state = {\n sortBy: sortableColumn.field,\n sortOrder: DESCENDING_ABREV,\n fields: props.columns.map(col => col.field),\n rows: props.rows,\n };\n }\n\n requestSort = (pSortBy, sortFunction) => {\n let sortBy = this.state.sortBy;\n let sortOrder = this.state.sortOrder;\n let sortOrderInt = -1;\n return () => {\n if (pSortBy === this.state.sortBy) {\n sortOrder = sortOrder === ASCENDING_ABREV ? DESCENDING_ABREV : ASCENDING_ABREV;\n sortOrderInt = sortOrder === ASCENDING_ABREV ? -1 : 1;\n } else {\n sortBy = pSortBy;\n sortOrder = DESCENDING_ABREV;\n sortOrderInt = -1;\n }\n const sortedItems = sortFunction(this.props.rows, sortOrderInt);\n this.setState({\n sortOrder: sortOrder,\n sortBy: sortBy,\n rows: sortedItems,\n });\n };\n }\n\n buildHeader = (columns, sortBy, sortOrder) => (\n \n \n {columns.map((col, index) =>\n \n {col.sortable ?\n \n {col.headerName}\n :\n col.headerName\n } \n \n )}\n {this.props.view && }\n \n \n );\n\n getColumnFormat = (field) => {\n const found = this.props.columns.find(col => col.field === field);\n return found ? found.format : null;\n }\n\n getDateFormat =(field) => {\n try \n {\n let issueDate = new Date(field);\n if (issueDate)\n return format(new Date(field.split('T')[0]),'yyyy/MM/dd');\n \n return field;\n\n }\n catch(ex){\n\n console.log(\"Invalid date\", field)\n return field;\n }\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n \n {this.buildHeader(this.props.columns, this.state.sortBy, this.state.sortOrder)}\n \n {\n !this.props.subscription ?\n this.state.rows.map((item, id) => (\n \n {this.state.fields.map((field, index) => (\n \n {(() => { \n const format = this.getColumnFormat(field);\n\n if(field == \"issueDate\")\n return this.getDateFormat(item[field]);\n else if(field.toLowerCase().includes(\"date\"))\n return this.getDateFormat(item[field]);\n\n return format ? format(item[field]) : item[field];\n })()}\n ))\n }\n {this.props.view &&\n this.props.onViewCallBack(item, id)}>\n view\n \n }\n \n ))\n :\n this.state.rows.map((item, id) => (\n \n {this.state.fields.map((field, index) => (\n \n {\n field == 'link' ?\n {item[field]}\n :\n field =='thumbnail' ?\n
\n \n
\n Date : {item['date']}\n
\n :\n (() => { \n const format = this.getColumnFormat(field);\n return format ? format(item[field]) : item[field];\n })()\n }\n\n
))\n }\n
\n
\n ))\n }\n
\n \n
\n {\n this.state.rows.length === 0 \n && (this.props.narfo ? To qualify for a ranking position, you need to submit at least three of the same disciplines\n : No data) }\n
\n );\n }\n}\n\nGenericTable.getDerivedStateFromProps = (props) => ({\n rows: props.rows,\n});\n\nGenericTable.defaultProps = {\n rows: [],\n columns: [],\n onViewCallBack: (item, index) => ({ item, index }),\n};\n\nGenericTable.propTypes = {\n rows: PropTypes.array.isRequired,\n columns: PropTypes.array.isRequired,\n onViewCallBack: PropTypes.func.isRequired,\n view: PropTypes.bool,\n};\n\nexport default GenericTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Divider,\n Grid,\n Typography,\n} from '@material-ui/core/';\nimport {\n IconLabelButton,\n Filter,\n} from '../index';\nimport {\n ArrowBack,\n Edit,\n Print,\n DeleteForeverRounded,\n CloudDownload\n} from '@material-ui/icons';\nimport Icon from '@material-ui/core/Icon';\nimport { isMobile } from 'react-device-detect';\n\n// For dropdown\nimport NativeSelect from '@material-ui/core/NativeSelect';\nimport FormControl from '@material-ui/core/FormControl';\nimport { makeStyles } from '@material-ui/core/styles';\nimport FormHelperText from '@material-ui/core/FormHelperText';\n\nconst useStyles = makeStyles((theme) => ({\n formControl: {\n margin: theme.spacing(1),\n minWidth: 120,\n },\n selectEmpty: {\n marginTop: theme.spacing(2),\n },\n}));\n\n\nconst ActionType = (props) => {\n const { \n apply, \n reApply,\n callBack, \n edit, \n filter, \n filterOptions, \n dropdownSelect,\n dropdownSelectOptions, \n printer, \n defaulFilterValue,\n addLicenseReminders,\n addLicenseApplication, \n downloadDedicatedStatusCallBack, \n showDownloadDSDocument,\n downloadDHCourseCertificateCallBack,\n showDownloadDHCourseCertificate,\n } = props;\n\n if (edit) {\n return }\n actionText=\"Edit\"\n callBack={callBack}\n />;\n }\n if (dropdownSelect) {\n return \n }\n\n if (filter) {\n return ;\n }\n\n if (printer) {\n return }\n actionText=\"Print\"\n callBack={callBack}\n />;\n }\n\n if (apply) {\n return \n \n\t\t\t add_circle\n \n }\n actionText=\"Apply\"\n callBack={callBack}\n />;\n }\n if (reApply) {\n return \n \n loop\n \n }\n actionText=\"Re-Apply\"\n callBack={callBack}\n />;\n }\n if (addLicenseReminders) {\n return \n \n\t\t\t add_circle\n \n }\n actionText=\"Add reminder\"\n callBack={addLicenseReminders}\n />;\n }\n\n if (addLicenseApplication) {\n return \n \n\t\t\t add_circle\n \n }\n actionText=\"Add Application\"\n callBack={addLicenseApplication}\n />;\n }\n\n if (downloadDedicatedStatusCallBack && showDownloadDSDocument) {\n return }\n actionText=\"Download\"\n callBack={downloadDedicatedStatusCallBack}\n />;\n }\n\n if (downloadDHCourseCertificateCallBack && showDownloadDHCourseCertificate) {\n return }\n actionText=\"DHS\"\n callBack={downloadDHCourseCertificateCallBack}\n textMobileAlt={true}\n titleAlt=\"DHS\"\n />;\n }\n\n return null;\n};\n\nconst DropDownSelect = (props) => {\n const actionType = ActionType(props);\n const classes = useStyles();\n const [state, setState] = React.useState({\n name: '',\n });\n\n const handleChange = (event) => {\n const name = event.target.name;\n setState({\n ...state,\n [name]: event.target.value,\n });\n\n props.callBack(event.target.value);\n };\n\n return (\n \n \n \n {\n props.providers?.map(item =>{\n return \n })\n }\n \n Provider\n \n );\n};\n\nconst SubtitleBar = (props) => {\n\n const actionType = ActionType(props);\n return (\n \n \n \n {props.back &&\n \n props.onBack()} />\n \n }\n \n \n {props.title}\n \n {props.downloadActivity &&\n \n \n }\n actionText=\"Document\"\n variant=\"text\"\n color=\"primary\"\n callBack={props.downloadActivityCallback}\n />\n \n \n \n \n\t\t\t\t\t\tadd_circle\n \n }\n actionText=\"Add Activities\"\n variant=\"text\"\n color=\"primary\"\n callBack={props.addActivityCallback}\n />\n \n }\n {props.remove &&\n \n }\n actionText=\"Delete\"\n variant=\"text\"\n color=\"primary\"\n callBack={props.deleteLicenseReminderCallback}\n />\n }\n\n {props.removeApplication &&\n \n }\n actionText=\"Delete\"\n variant=\"text\"\n color=\"primary\"\n callBack={props.deleteLicenseApplicationCallback}\n />\n }\n\n {props.downloadLicenseReminders &&\n \n }\n actionText=\"Download Reminders\"\n variant=\"text\"\n color=\"primary\"\n callBack={props.downloadLicenseRemindersCallback}\n />\n }\n {props.showDownloadDSSCourseCertificate &&\n \n }\n actionText=\"DSS\"\n textMobileAlt={true}\n titleAlt=\"DSS\"\n callBack={props.downloadDSSCourseCertificateCallback}\n />\n }\n \n \n {props.targetsDescription && \n You can download targets based on the firearm type you will be using. Select one of the option below. Select a sub category of that firearm and select the type of event you want to shoot.\n
You can then check out the rules and format of the shoot and download the target.\n
}\n {actionType &&\n \n {actionType}\n }\n \n \n \n \n \n );\n};\n\nSubtitleBar.defaultProps = {\n variant: 'subtitle1',\n title: 'Title',\n callBack: () => null,\n onBack: () => null,\n filterOptions: {},\n downloadActivity: false,\n downloadActivityCallback: () => Promise.resolve(null),\n addActivityCallback: () => null,\n deleteLicenseReminderCallback: () => Promise.resolve(null),\n deleteLicenseApplicationCallback: () => Promise.resolve(null)\n};\n\nSubtitleBar.propTypes = {\n title: PropTypes.string.isRequired,\n edit: PropTypes.bool,\n filter: PropTypes.bool,\n dropdownSelect: PropTypes.bool,\n providers: PropTypes.array,\n printer: PropTypes.bool,\n back: PropTypes.bool,\n variant: PropTypes.oneOf(['subtitle1', 'subtitle2']),\n callBack: PropTypes.func.isRequired,\n onBack: PropTypes.func.isRequired,\n filterOptions: PropTypes.object.isRequired,\n dropdownSelectOptions: PropTypes.object.isRequired,\n downloadActivity: PropTypes.bool.isRequired,\n downloadActivityCallback: PropTypes.func.isRequired,\n addActivityCallback: PropTypes.func.isRequired,\n deleteLicenseReminderCallback: PropTypes.func.isRequired,\n deleteLicenseApplicationCallback: PropTypes.func.isRequired\n};\n\nexport default SubtitleBar;\n","//TODO: List to be updated everytime \nexport const ProductionKeywords = [\n 'activity',\n 'Load Development',\n 'Reloading Course',\n 'Reloading',\n 'Research',\n 'Hunter Training',\n 'Firearm Related Conference or Workshop',\n 'Hunting Related Conference or Workshop',\n 'Sport Shooter Training',\n 'General Training',\n 'Tradefair',\n 'Non Compliance',\n 'Range Officer',\n 'Firearm Training',\n 'Practical Assessment',\n 'Firearm Training',\n 'Hunting',\n 'Culling',\n 'Competency Training',\n 'Problem Animal Control',\n 'BBRBA – Sport Shooting - 50m',\n 'BBRBA - Sport Shooting - 100m',\n 'BBRBA - Hunting Buffalo- 50m',\n 'Practical Assessment',\n 'Firearm Training',\n 'Hunting',\n 'Culling',\n 'Competency Training',\n 'Problem Animal Control',\n 'BBRKA - Sport Shooting - 50m',\n 'BBRKA - Sport Shooting - 100m',\n 'BBRKA  - Hunting - 50m',\n 'Practical Assessment',\n 'Hunting',\n 'Culling',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'Problem Animal Control',\n 'CFRBA - Accuracy Test',\n 'CFRBA - MIL Load Development ',\n 'CFRBA - Sport Shooting – 100m',\n 'CFRBA  - Sport Shooting – 200m',\n 'CFRBA  - Sport Shooting – 300m',\n 'CFRBA - Paper Ghong – 100m',\n 'CFRBA  - Paper Ghong – 200m',\n 'CFRBA  - Paper Ghong – 300m',\n 'CFRBA  - Paper Ghong – 350m',\n 'CFRBA - Sport Shooting – Grouping - 100m',\n 'CFRBA - Hunting – Springbok - 200m',\n 'CFRBA - Hunting – Warthog - 100m',\n 'CFRBA - Hunting – Jackal - 100m',\n 'Practical Assessment',\n 'Firearm Training',\n 'Self Defense Training',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'CFRSA - Sport Shooting – 100m',\n 'CFRSA - Sport Shooting – 200m',\n 'CFRSA - Paper Ghong – Rapid Fire – 50m',\n 'CFRSA - Paper Ghong – Rapid Fire – 25m',\n 'CFRSA - Defensive Shooting – Rapid Fire – 25m',\n 'CFRSA - Defensive Shooting – Rapid Fire – 50m',\n 'Practical Assessment',\n 'Firearm Training',\n 'Self Defense Training',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'CFHGP - Sport Shooting – 10m',\n 'CFHGP - Sport Shooting – 15m',\n 'CFHGP - Rapid Fire - 10m',\n 'CFHGP - Steel Challenge - 15m',\n 'CFHGP - Defensive Shooting – 10m',\n 'CFHGP - Defensive Shooting – Rapid Fire - 10m',\n 'CFHG',// added as filter\n 'Practical Assessment',\n 'Firearm Training',\n 'Hunting',\n 'Culling',\n 'Competency Training',\n 'Problem Animal Control',\n 'PFTC Grading Shoot',\n 'RFRBA - Sport Shooting – 25m',\n 'RFRBA - Sport Shooting – 50m',\n 'RFRBA - Sport Shooting – 75m',\n 'RFRBA - Accuracy Test',\n 'RFRBA - Paper Ghong – 25m',\n 'RFRBA - Paper Ghong – 50m',\n 'RFRBA - Paper Ghong – 75m',\n 'Practical Assessment',\n 'Firearm Training',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'RFRSA - Sport Shooting – 25m',\n 'RFRSA - Sport Shooting – 50m',\n 'RFRSA - Sport Shooting – 75m',\n 'RFRSA - Paper Ghong – Rapid Fire – 15m',\n 'RFRSA - Paper Ghong – Rapid Fire – 30m',\n 'RFRSA - Paper Ghong – 25m',\n 'RFRSA - Paper Ghong – 50m',\n 'RFRSA - Paper Ghong – 75m',\n 'RFRSA - Defensive Shooting – 15m',\n 'RFRSA - Defensive Shoting – 25m',\n 'RFRSA - Defensive Shooting – 15m',\n 'Firearm Training',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'RFHGP – Sport Shooting – 10m',\n 'RFHGP – Rapid Fire - 10m',\n 'RFHGP – Steel Challenge - 10m',\n 'RFHGP – Defensive Shooting – 10m',\n 'Practical Assessment',\n 'Hunting',\n 'BPR – Sport Shooting - 50m',\n 'BPR – Sport Shooting - 100m',\n 'Practical Assessment',\n 'Firearm Training',\n 'Hunting',\n 'BPHG – Sport Shooting – 10m',\n 'BPHG – Sport Shooting – 15m',\n 'Practical Assessment',\n 'Firearm Training',\n 'Hunting',\n 'Competency Training',\n 'SG12 – Shotgun 12 Gauge – Single Stand',\n 'Firearm Training',\n 'Practical Assessment',\n 'Firearm Training',\n 'Hunting',\n 'Competency Training',\n 'SG16 – Shotgun 16 Gauge – Single Stand',\n 'Practical Assessment',\n 'Firearm Training',\n 'Hunting',\n 'Competency Training',\n 'SGSA – Steel Challenge',\n 'SGSA – Single Stand',\n 'Practical Assessment',\n 'Firearm Training',\n 'Problem Animal Control',\n 'LAR – Sport Shooting – 100m',\n 'LAR – Rapid Fire - 15m',\n 'LAR – Steel Challenge - 25m',\n 'Practical Assessment',\n 'Firearm Training',\n 'Hunting',\n 'Culling',\n 'Problem Animal Control',\n 'CFHGH – Sport Shooting – 100m',\n 'CFHGH - Hunting – Warthog - 100m',\n 'Practical Assessment',\n 'Firearm Training',\n 'PCC - Steel Challenge',\n 'PCC - Sport Shooting – 10m',\n 'PCC - Sport Shooting – 15m',\n 'PCC - Rapid Fire - 10m',\n 'PCC - Steel Challenge - 10m',\n 'PCC - Defensive Shooting – 10m',\n 'Hunting',\n 'Competency Training',\n 'SG410 – Shotgun 410 Gauge – Single Stand',\n 'Practical Assessment',\n 'Practical Assessment',\n 'Firearm Training',\n 'Hunting',\n 'Competency Training',\n 'SG20 – Single Stand',\n 'SGP12 – Steel Challenge',\n 'Practical Assessment',\n 'Firearm Training',\n 'Hunting',\n 'Competency Training',\n 'Problem Animal Control',\n 'SGP12 – Single Stand',\n 'Practical Assessment',\n 'Firearm Training',\n 'Self Defense Training',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'CFHGR – Sport Shooting – 10m',\n 'CFHGR – Sport Shooting – 15m',\n 'CFHGR – Rapid Fire - 10m',\n 'CFHGR - Steel Challenge - 15m',\n 'CFHGR – Defensive Shooting – 10m',\n 'CFHGR – Defensive Shooting – Rapid Fire - 10m',\n 'Practical Assessment',\n 'Firearm Training',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'RFHGR – Sport Shooting – 10m',\n 'RFHGR – Rapid Fire - 10m',\n 'RFHGR – Steel Challenge - 10m',\n 'RFHGR – Defensive Shooting – 10m',\n 'CFRBA – MOA Load Development ',\n 'BBRBA – Load Development',\n 'BBRKA – Load Development',\n 'CFRSA  - Load Development',\n 'CFRLAR - Load Development',\n 'CFHGP - Load Development',\n 'CFHGR - Load Development',\n 'MLRBP - Load Development',\n 'MLHBP - Load Development',\n 'CFHGH - Load Development',\n 'BRC - Practice',\n 'BRC - Sporting Target Indoor',\n 'BRC - Sporting Target Outdoor',\n 'BRC - Sporting Target 3D',\n 'BCP - Hunting',\n 'BCP - Practice',\n 'BCP - Sporting Target Indoor',\n 'BCP - Sporting Target Outdoor',\n 'BCP - Sporting Target 3D',\n 'BCP - Hunting',\n 'BBB - Practice',\n 'BBB - Sporting Target Indoor',\n 'BBB - Sporting Target Outdoor',\n 'BBB - Sporting Target 3D',\n 'BBB - Hunting',\n //Activity Descipline\n 'Benchrest',\n 'Bisley',\n 'Bianchi',\n 'CHASA Rifle',\n 'CHASA Handgun',\n 'CHASA Semi Auto',\n 'Cowbow Action',\n 'Double Tap',\n 'F-Class',\n 'Ghong Challenge',\n 'Grouping',\n 'Gallery Gun',\n 'IDPA',\n 'IPSC',\n 'Mastershot',\n 'Pin Shooting',\n 'PRS',\n 'Skeet',\n 'Sporting Shotgun',\n 'Sillhouette',\n 'Steel Challenge Handgun',\n 'Steel Challenge Shotgun',\n 'Steel Challenge Semi Auto',\n 'SADPA',\n 'SACRA',\n 'Trap',\n 'Veldskiet',\n 'XSSSA',\n '3 Gun',\n 'SA Jag Sprinbok Tabel',\n 'SA Jag Vlakvark Tabel',\n 'Send-IT',\n 'Team Shoot',\n 'CHASA Sporting Shotgun',\n 'Calvinia Steel Plate',\n 'Paladin',\n 'CHASA Vlakte Shoot',\n 'NRL Hunter',\n 'Wildman Challenge',\n 'SA Jag Handgun',\n 'GOSA Topshot',\n 'Noodhulp Shoot',\n 'CHASA Rimfire Rifle',\n \n ];\n\n export const QAKeywords = [\n 'activity',\n 'Load Development',\n 'Reloading Course',\n 'Reloading',\n 'Research',\n 'Hunter Training',\n 'Firearm Related Conference or Workshop',\n 'Hunting Related Conference or Workshop',\n 'Sport Shooter Training',\n 'General Training',\n 'Tradefair',\n 'Non Compliance',\n 'Range Officer',\n 'Firearm Training',\n 'Firearm Training',\n 'Hunting',\n 'Culling',\n 'Competency Training',\n 'Problem Animal Control',\n 'BBRBA – Big Bore Rifle Bolt Action - Sport Shooting - 50m',\n 'BBRBA - Big Bore Rifle Bolt Action - Sport Shooting - 100m',\n 'BBRBA  - Big Bore Rifle Bolt Action - Hunting - 50m',\n 'Firearm Training',\n 'Hunting',\n 'Culling',\n 'Competency Training',\n 'Problem Animal Control',\n 'BBRKA – Big Bore Rifle Break Action - Sport Shooting - 50m',\n 'BBRKA - Big Bore Rifle Break Action - Sport Shooting - 100m',\n 'BBRKA  - Big Bore Rifle Break Action - Hunting - 50m',\n 'Practical Assessment',\n 'Hunting',\n 'Culling',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'Problem Animal Control',\n 'CFRBA - Center Fire Rifle Bolt Action - Accuracy Test',\n 'CFRBA – Center Fire Rifle Bolt Action - Load Development',\n 'CFRBA – Center Fire Rifle Bolt Action -  Sport Shooting – 100m',\n 'CFRBA  - Center Fire Rifle Bolt Action - Sport Shooting – 200m',\n 'CFRBA  - Center Fire Rifle Bolt Action - Sport Shooting – 300m',\n 'CFRBA – Center Fire Rifle Bolt Action  - Paper Ghong – 100m',\n 'CFRBA  - Center Fire Rifle Bolt Action - Paper Ghong – 200m',\n 'CFRBA  - Center Fire Rifle Bolt Action - Paper Ghong – 300m',\n 'CFRBA  - Center Fire Rifle Bolt Action - Paper Ghong – 350m',\n 'CFRBA – Center Fire Rifle Bolt Action - Sport Shooting – Grouping - 100m',\n 'CFRBA – Center Fire Rifle Bolt Action - Hunting – Springbok - 200m',\n 'CFRBA - Center Fire Rifle Bolt Action - Hunting – Warthog - 100m',\n 'CFRBA - Center Fire Rifle Bolt Action - Hunting – Jackal - 100m',\n 'Firearm Training',\n 'Self Defense Training',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'CFRSA  - Center Fire Rifle Semi Auto - Sport Shooting – 100m',\n 'CFRSA  - Center Fire Rifle Semi Auto - Sport Shooting – 200m',\n 'CFRSA  - Center Fire Rifle Semi Auto - Sport Shooting – Paper Ghong – Rapid Fire – 50m',\n 'CFRSA  - Center Fire Rifle Semi Auto - Sport Shooting – Paper Ghong – Rapid Fire – 25m',\n 'CFRSA  - Center Fire Rifle Semi Auto - Defensive Shooting – Rapid Fire – 25m',\n 'CFRSA  - Center Fire Rifle Semi Auto - Defensive Shooting – Rapid Fire – 50m',\n 'Firearm Training',\n 'Self Defense Training',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'CFHGP – Center Fire Handgun Pistol - Sport Shooting – 10m',\n 'CFHGP – Center Fire Handgun Pistol - Sport Shooting – 15m',\n 'CFHGP – Center Fire Handgun Pistol - Sport Shooting – Rapid Fire - 10m',\n 'CFHGP - Center Fire Handgun Pistol - Sport Shooting - Steel Challenge - 10m',\n 'CFHGP – Centre Fire Handgun Pistol - Defensive Shooting – 10m',\n 'CFHGP – Centre Fire Handgun Pistol - Defensive Shooting – Rapid Fire - 10m',\n 'Firearm Training',\n 'Hunting',\n 'Culling',\n 'Competency Training',\n 'Problem Animal Control',\n 'PFTC Grading Shoot',\n 'RFRBA  - Rim Fire Rifle Bolt Action - Sport Shooting – 25m',\n 'RFRBA  - Rim Fire Rifle Bolt Action - Sport Shooting – 50m',\n 'RFRBA  - Rim Fire Rifle Bolt Action - Sport Shooting – 75m',\n 'RFRBA  - Rim Fire Rifle Bolt Action - Accuracy Test',\n 'RFRBA  - Rim Fire Rifle Bolt Action - Sport Shooting -  Paper Ghong – 25m',\n 'RFRBA  - Rim Fire Rifle Bolt Action - Sport Shooting -  Paper Ghong – 50m',\n 'RFRBA  - Rim Fire Rifle Bolt Action - Sport Shooting -  Paper Ghong – 75m',\n 'Firearm Training',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'RFRSA  - Rim Fire Rifle Semi Auto - Sport Shooting – 25m',\n 'RFRSA  - Rim Fire Rifle Semi Auto - Sport Shooting – 50m',\n 'RFRSA  - Rim Fire Rifle Semi Auto - Sport Shooting – 75m',\n 'RFRSA  - Rim Fire Rifle Semi Auto - Sport Shooting – Paper Ghong – Rapid Fire – 15m',\n 'RFRSA  - Rim Fire Rifle Semi Auto - Sport Shooting – Paper Ghong – Rapid Fire – 30m',\n 'RFRSA  - Rim Fire Rifle Semi Auto - Sport Shooting  - Paper Ghong – 25m',\n 'RFRSA  - Rim Fire Rifle Semi Auto - Sport Shooting  - Paper Ghong – 50m',\n 'RFRSA  - Rim Fire Rifle Semi Auto - Sport Shooting  - Paper Ghong – 75m',\n 'RFRSA  - Rim Fire Rifle Semi Auto - Sdefensive Shoting – 15m',\n 'RFRSA  - Rim Fire Rifle Semi Auto - Sdefensive Shoting – 25m',\n 'Firearm Training',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'RFHG – Rim Fire Handgun - Sport Shooting – 10m',\n 'RFHG – Rim Fire Handgun - Sport Shooting – Rapid Fire - 10m',\n 'RFHG – Rim Fire Handgun - Sport Shooting – Steel Challenge - 10m',\n 'RFHG – Rim Fire Handgun - Defensive Shooting – 10m',\n 'Hunting',\n 'BPR – Black Powder Rifle - Sport Shooting - 50m',\n 'BPR – Black Powder Rifle - Sport Shooting - 100m',\n 'Firearm Training',\n 'Hunting',\n 'BPHG – Black Powder Handgun - Sport Shooting – 10m',\n 'BPHG – Black Powder Handgun - Sport Shooting – 15m',\n 'Firearm Training',\n 'Hunting',\n 'Competency Training',\n 'SGH – Shotgun 12 Gauge – Single Stand',\n 'Firearm Training',\n 'Firearm Training',\n 'Hunting',\n 'Competency Training',\n 'SGH – Shotgun 16 Gauge – Single Stand',\n 'Firearm Training',\n 'Hunting',\n 'Competency Training',\n 'SGH – Shotgun Semi Auto – Steel Challenge',\n 'SGH – Shotgun Semi Auto – Single Stand',\n 'Firearm Training',\n 'Problem Animal Control',\n 'LAR – Lever Action Rifle - Sport Shooting – 100m',\n 'LAR – Lever Action Rifle - Sport Shooting – Rapid Fire - 15m',\n 'LAR – Lever Action Rifle - Sport Shooting – Steel Challenge - 25m',\n 'Firearm Training',\n 'Hunting',\n 'Culling',\n 'Problem Animal Control',\n 'CFHHG – Center Fire Hunting Handgun - Sport Shooting – 100m',\n 'CHHG - Center Fire Hunting Handgun - Hunting – Warthog - 100m',\n 'Firearm Training',\n 'PCC - Pistol Caliber Carbine - Steel Challenge',\n 'PCC - Pistol Caliber Carbine - Sport Shooting – 10m',\n 'PCC - Pistol Caliber Carbine - Sport Shooting – 15m',\n 'PCC - Pistol Caliber Carbine - Sport Shooting – Rapid Fire - 10m',\n 'PCC - Pistol Caliber Carbine - Sport Shooting – Steel Challenge - 10m',\n 'PCC - Pistol Caliber Carbine - Defensive Shooting – 10m',\n 'Hunting',\n 'Competency Training',\n 'SGH – Shotgun 410 Gauge – Single Stand',\n 'Firearm Training',\n 'Hunting',\n 'Competency Training',\n 'SGH – Shotgun 20 Gauge – Single Stand',\n 'SGP12 – Shotgun Pump Action – Steel Challenge',\n 'Firearm Training',\n 'Hunting',\n 'Competency Training',\n 'Problem Animal Control',\n 'SGP12 – Shotgun Pump Action – Single Stand',\n 'Firearm Training',\n 'Self Defense Training',\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'CFHGR – Center Fire Handgun Revolver - Sport Shooting – 10m',\n 'CFHGR – Center Fire Handgun Revolver - Sport Shooting – 15m',\n 'CFHGR – Center Fire Handgun Revolver - Sport Shooting – Rapid Fire - 10m',\n 'CFHGR - Center Fire Handgun Revolver - Sport Shooting - Steel Challenge - 10m',\n 'CFHGR – Centre Fire Handgun Revolver - Defensive Shooting – 10m',\n 'CFHGR – Centre Fire Handgun Revolver - Defensive Shooting – Rapid Fire - 10m',\n 'Firearm Training',\n 'CFHG',// added as filter\n 'Competency Training',\n 'PFTC Grading Shoot',\n 'RFHGR – Rim Fire Handgun - Sport Shooting – 10m',\n 'RFHGR – Rim Fire Handgun - Sport Shooting – Rapid Fire - 10m',\n 'RFHGR – Rim Fire Handgun - Sport Shooting – Steel Challenge - 10m',\n 'RFHGR – Rim Fire Handgun - Defensive Shooting – 10m',\n // ActivityDiscipline\n'Benchrest',\n'Bisley',\n'Bianchi',\n'CHASA Rifle',\n'CHASA Handgun',\n'CHASA Semi Auto',\n'Cowbow Action',\n'Double Tap',\n'F-Class',\n'Ghong Challenge',\n'Grouping',\n'Gallery Gun',\n'IDPA',\n'IPSC',\n'Mastershot',\n'Pin Shooting',\n'PRS',\n'Skeet',\n'Sporting Shotgun',\n'Sillhouette',\n'Steel Challenge Handgun',\n'Steel Challenge Shotgun',\n'Steel Challenge Semi Auto',\n'SADPA',\n'SACRA',\n'Trap',\n'Veldskiet',\n'XSSSA',\n'3 Gun',\n'SA Jag Sprinbok Tabel',\n'SA Jag Vlakvark Tabel',\n'Send-IT',\n'Team Shoot',\n'CHASA Sporting Shotgun',\n'Calvinia Steel Plate',\n'Paladin',\n'CHASA Vlakte Shoot',\n'NRL Hunter',\n'Wildman Challenge',\n'SA Jag Handgun',\n'GOSA Topshot',\n'Noodhulp Shoot',\n'CHASA Rimfire Rifle',\n ];","\nimport React, { Component } from 'react';\nimport {\n Button,\n Grid,\n Typography\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nimport GenericTable from '../GenericTable/GenericTable';\nimport SubtitleBar from '../SubtitleBar/SubtitleBar';\nimport { ProductionKeywords, QAKeywords } from './EventLookUpWords';\nimport {FRONT} from '../../../API/APIendpoint'\nconst columns = [\n { field: 'name', headerName: 'Application' },\n { field: 'date', headerName: localStorage.getItem('isMobile') === 'true' ? 'Date' : 'Approval Date'},\n { field: 'days', headerName: localStorage.getItem('isMobile') === 'true' ? 'Days' : 'Days Earned'},\n];\n\nclass ProfileLoyaltyProgramme extends Component {\n constructor(props) {\n super(props);\n this.state = {\n daysEarned: [\n {title: localStorage.getItem('isMobile') === 'true' ? 'Course Days' : 'Course Days Earned', days: props.LoyaltyDays.daysEarned.courseDays || 0, keywords: ['course','Quiz']},\n {title: localStorage.getItem('isMobile') === 'true' ? 'Endorsement Days' : 'Endorsement Days Earned', days: props.LoyaltyDays.daysEarned.endorsementDays || 0, keywords: ['endorsement']},\n {\n title: localStorage.getItem('isMobile') === 'true' ? 'Activity Days' :'Activity Days Earned',\n days: props.LoyaltyDays.daysEarned.generalActivityDays || 0,\n keywords: window.location.hostname == 'www.narfo.co.za' ? ProductionKeywords : QAKeywords,\n shouldExclude: false,\n },\n {title: localStorage.getItem('isMobile') === 'true' ? 'Dedicated Status Days' :'Dedicated Status Days Earned', days: props.LoyaltyDays.daysEarned.dedicatedStatusDays || 0,\n keywords: window.location.hostname == 'www.narfo.co.za' ? ['course','Quiz', 'activity', 'endorsement',...ProductionKeywords] : ['course','Quiz', 'activity', 'endorsement',...QAKeywords],\n shouldExclude :true,\n },\n ],\n filteredLoyaltyHistory: [],\n showLoyaltyHistory: false,\n title: '',\n };\n console.log(\"env is \" + window.location.hostname)\n }\n\n filterLoyaltyHistory = (keywords, title, shouldExclude) => {\n const regex = new RegExp( keywords.join( '|' ), 'i');\n\n const filteredResult = this.props.LoyaltyDays.loyaltyHistory\n .filter(({name}) => shouldExclude ? !regex.test(name) : regex.test(name));\n \n const sortedResult = filteredResult.sort(\n (a, b) => new Date(b.date).valueOf() - new Date(a.date).valueOf());\n \n sortedResult.forEach(x => \n x.date = x.date\n );\n this.setState({\n filteredLoyaltyHistory: sortedResult,\n showLoyaltyHistory: true,\n title\n });\n }\n\n daysEarned = ({title, days, keywords, shouldExclude}) => (\n \n 0 ? 10 : 12 }>{title}\n { days > 0 && \n \n this.filterLoyaltyHistory(keywords, title, shouldExclude)}\n > View\n \n \n }\n { days || 0 } days\n \n );\n\n displayLoyaltyHistory = (rows) => (\n \n this.setState({showLoyaltyHistory: false})}\n />\n \n \n );\n\n diplayEarnedDays = (totalDays) => (\n \n \n
\n Total Days Earned\n {totalDays || 0} days\n
\n
\n {this.state.daysEarned.map(this.daysEarned)}\n
\n
\n );\n\n render() {\n const totalDays = this.state.daysEarned.reduce((a, b) => a + b.days, 0);\n return (\n
\n {\n this.state.showLoyaltyHistory ?\n this.displayLoyaltyHistory(this.state.filteredLoyaltyHistory) :\n this.diplayEarnedDays(totalDays)\n }\n
\n );\n }\n}\n\nProfileLoyaltyProgramme.defaultProps = {\n daysEarned: {},\n loyaltyHistory: [],\n};\n\nProfileLoyaltyProgramme.propTypes = {\n daysEarned: PropTypes.shape({\n courseDays: PropTypes.number,\n endorsementDays: PropTypes.number,\n generalActivityDays: PropTypes.number,\n dedicatedStatusDays: PropTypes.number,\n }).isRequired,\n loyaltyHistory: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n date: PropTypes.string,\n days: PropTypes.number,\n })\n ).isRequired,\n};\n\nexport default ProfileLoyaltyProgramme;\n","import React from 'react';\nimport {DateTime} from 'luxon';\nimport {\n editableSelectConfig,\n editableCheckBoxInputConfig\n} from './constants';\n\nexport const updateObject = (oldObject, updatedProperties) => ({\n ...oldObject,\n ...updatedProperties\n});\n\nexport const checkValidity = (value, rules, inputType = 'text') => {\n let isValid = true;\n let errors = [];\n\n // passthrough for fields without validation\n if (!rules) {\n return { isValid, errors };\n }\n\n if (rules.required) {\n if (rules.maxDate || rules.minDate) {\n isValid = value && isValid;\n } else {\n isValid = value.trim() !== '' && isValid;\n }\n if (!isValid) {\n errors.push('Field is required');\n }\n }\n\n if (rules.minLength) {\n isValid = value.length >= rules.minLength && isValid;\n if (!isValid) {\n errors.push(`Field must have ${rules.minLength} or more characters`);\n }\n }\n\n if (rules.maxLength) {\n isValid = value.length <= rules.maxLength && isValid;\n if (!isValid) {\n errors.push(`Field must have a maximum of ${rules.maxLength} characters`);\n }\n }\n\n //check if the entered value is an email or just a username, and not a password, validate for each\n if (/@/.test(value)) {\n if (inputType !== 'password') {\n const pattern = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;\n isValid = pattern.test(value) && isValid;\n if (!isValid) {\n errors.push('Email format is incorrect');\n }\n }\n }\n\n if (rules.maxDate || rules.minDate) {\n const valueDateTime = DateTime.fromJSDate(new Date(value));\n isValid = valueDateTime.isValid && isValid;\n if (!isValid) {\n errors.push('date invalid');\n }\n }\n\n if (rules.maxDate) {\n const maxDateTime = DateTime.fromJSDate(rules.maxDate);\n if (!maxDateTime.isValid) {\n errors.push('maximum date invalid');\n isValid = false;\n } else if(isValid) {\n const valueDateTime = DateTime.fromJSDate(new Date(value));\n const dateDiff = valueDateTime.diff(maxDateTime, 'days').toObject();\n isValid = Math.round(dateDiff.days) <= 0 && isValid;\n if (!isValid){\n errors.push(`date should be less than ${maxDateTime.toLocaleString({ locale: 'en-gb' })}`);\n }\n }\n }\n\n if (rules.minDate) {\n const minDateTime = DateTime.fromJSDate(rules.minDate);\n if (!minDateTime.isValid) {\n errors.push('minimum date invalid');\n isValid = false;\n } else if(isValid) {\n const valueDateTime = DateTime.fromJSDate(new Date(value));\n const dateDiff = minDateTime.diff(valueDateTime, 'days').toObject();\n isValid = Math.round(dateDiff.days) <= 0 && isValid;\n if (!isValid){\n errors.push(`date should be more than ${minDateTime.toLocaleString({ locale: 'en-gb' })}`);\n }\n }\n }\n\n return { isValid, errors };\n};\n\nexport const initSelect = (items) => ({\n ...editableSelectConfig,\n config: {\n ...editableSelectConfig.config,\n elementConfig: {\n ...editableSelectConfig.config.elementConfig,\n options: items,\n },\n }\n});\n\nexport const initCheckbox = content => ({\n ...editableCheckBoxInputConfig,\n config: {\n ...editableCheckBoxInputConfig.config,\n elementConfig: {\n ...editableCheckBoxInputConfig.config.elementConfig,\n accept: {\n value: 'true', \n label: content\n },\n },\n }\n});\n\nexport function showOption(questionType, description, index,\n totalOptions, questionId, score, actualScore) {\n switch (questionType) {\n case 0:\n return (\n
\n {\n score['scoreIndex'] = index;\n }}\n />\n {description}\n
\n );\n case 1:\n var arr = score['scoreArrayIndex'];\n var numOfOptions = 0;\n arr.forEach((a, i) => {\n if (a === 1) {\n if (actualScore === numOfOptions) {\n arr[i] = 0;\n }\n numOfOptions += 1;\n }\n });\n\n return (\n
\n {(actualScore <= numOfOptions && arr[index] !== 1) ?\n
\n
:\n {\n if (e.target.checked) {\n arr[index] = 1;\n } else {\n arr[index] = 0;\n }\n }}\n />\n }\n {description}\n
\n );\n case 2:\n return sortOption();\n case 3:\n return sortOption(64, false);\n default:\n return null;\n }\n\n function sortOption(offset = 0, isNumbers = true) {\n const choices = Array.from(new Array(totalOptions + 1),\n (v, k) => k + offset);\n return (\n
\n {\n let arr = score['scoreArrayValues'];\n arr[index] = parseInt(e.target.value);\n }}\n >\n {choices.map((c, key) => )}\n \n {description}\n
\n );\n }\n}\n\nexport function calculateScore(questionType, trueScores, scored) {\n switch (questionType) {\n case 0:\n if (trueScores[scored] === 1) {\n return 1;\n } else {\n return 0;\n }\n case 1:\n var score = 0;\n trueScores.forEach((val, index) => {\n if (val === scored[index]) {\n score += 1;\n }\n });\n return score;\n case 2:\n case 3:\n var sum = 0;\n scored.forEach((val, index) => {\n if (index === 0) {\n sum = val;\n }\n else {\n if (index % 2 === 1) {\n sum -= val;\n }\n else {\n sum *= val;\n }\n }\n });\n return sum;\n default:\n return null;\n }\n}\n\nexport const initSignupSelect = (items, selectConfig) => ({\n ...selectConfig,\n config: {\n ...selectConfig.config,\n elementConfig: {\n ...selectConfig.config.elementConfig,\n options: items,\n },\n }\n});\n\nexport function convertToArrayOfObjects(data) {\n\n var collection = data.slice(); // make a copy\n \n collection = collection?.map(function (e) {\n var obj = {value:e, label:e};\n \n return obj;\n });\n\n return collection;\n}","import React from 'react';\nimport {DateTime} from 'luxon';\nimport {\n MEMBER_STATUS\n} from './constants';\nimport { checkValidity } from './utility';\nimport { Grid, Typography} from '@material-ui/core';\nimport Link from '@material-ui/core/Link';\n\nexport const currentYear = DateTime.now().year;\nexport const todaysDate = DateTime.now();\nvar aYearFromNow = new Date();\naYearFromNow.setFullYear(aYearFromNow.getFullYear() + 1);\nexport const financialYear = aYearFromNow.getFullYear();\n\nexport const getMemberStatusFromInt = (digit) => {\n switch (digit) {\n case 1:\n return MEMBER_STATUS.APPROVED;\n case 2:\n return MEMBER_STATUS.PENDING;\n case 3:\n return MEMBER_STATUS.REJECTED;\n case 4:\n return MEMBER_STATUS.RENEWING;\n default:\n return '';\n }\n};\n\nexport const getDedicatedStatusTextFromStatusObject = (dedicatedStatus) => {\n if (dedicatedStatus.both) {\n return 'Dedicated sports shooter and dedicated hunter';\n } else if (dedicatedStatus.hunting) {\n return 'Dedicated hunter';\n } else if (dedicatedStatus.sport) {\n return 'Dedicated sport shooter';\n }\n return 'No dedicated status';\n};\n\nexport const getDedicatedStatusNumberFromMember = (allDedicatedStatus, action) => {\n// The DS object on the member redux is an object of status objects, however there should not\n// be more than 2 for a regular user. We loop through the outer object and test is the action type\n// of the status object is of type action, and then return the DS number for that object.\n if (!allDedicatedStatus)\n {\n return 'no dedicated status';\n } else {\n for (let singleStatus of allDedicatedStatus) {\n if (singleStatus.dstype == action && singleStatus.status === 'Approved') {\n return singleStatus.dsno;\n }\n }\n return 'no dedicated status';\n }\n};\n\n\nexport const formatISODateToLocaleString = (isoDate) => {\n const dateTime = DateTime.fromISO(isoDate);\n\n if(!dateTime.isValid) {\n return 'invalid';\n }\n\n // return dateTime.toLocaleString({ locale: 'en-gb' });\n return dateTime.toLocaleString({ locale: 'af-ZA' }); //Change to SA CultureInfo\n\n};\n\nexport const validateEmail = (email) => {\n const emailRegex = /^[\\w-\\\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$/;\n return emailRegex.test(email);\n};\n\nexport const getDedicatedStatusFromActivities = (activity,dsApplications) => {\n // let numberOfActivities = activity;\n // if(activity && activity.includes(' ')) {\n // numberOfActivities = activity.split(' ')[0];\n // }\n\n //If there's status \n if(dsApplications)\n return \"Active\";\n else\n return 'Not Active';\n \n // (myStatus.dedicatedSportsStatus == `Not Active` ? \"Do not comply\" : myStatus.dedicatedSportsStatus == `Active` ? \"Comply\" : \"No Application\") \n};\n\nexport const getDayDifferenceFromToday = (isoDate) => {\n const targetDate = DateTime.fromISO(isoDate);\n const result = targetDate.diff(todaysDate, 'days').toObject();\n return result.days;\n};\n\nexport const getYearFromISO = (isoDate) => {\n const dateTime = DateTime.fromISO(isoDate);\n\n if(!dateTime.isValid) {\n return 'invalid';\n }\n\n return dateTime.year.toString();\n};\n\nexport const getUniqueValuesfromObjectArray = (array, key) => {\n const res = {};\n\n array.forEach(obj => {\n res[`${typeof obj[key]}_${obj[key]}`] = obj[key];\n });\n\n return Object.keys(res).map(key => res[key]);\n};\n\nexport const yearsRange = (start, stop, step) => Array\n .from(\n { length: (stop - start) / step + 1},\n (_, i) => start + (i * step)\n );\n\nexport const getStatusColor = (statusString) => {\n const colorObject = {\n [MEMBER_STATUS.APPROVED]: 'success-text',\n [MEMBER_STATUS.PENDING]: 'warning-text',\n [MEMBER_STATUS.REJECTED]: 'danger-text',\n [MEMBER_STATUS.RENEWING]: 'info-text',\n };\n return colorObject[statusString];\n};\n\nexport const valid = (value, rules) => {\n const res = checkValidity(value === '-' ? '' : String(value), rules);\n return {\n valid: res.isValid,\n errors: res.errors,\n };\n};\n\nexport const label = (title, value, hasDescription, isMobile) => (\n \n {hasDescription ? \n \n \n {value || '-'}\n
\n {title || '-'}\n
: \n \n {value || '-'}\n {title || '-'}\n }\n
\n);\n\nexport const ButtonMailto = ({ mailto, label }) => {\n return (\n {\n window.location = mailto;\n e.preventDefault();\n }}\n >\n {label}\n \n );\n};\n\nexport const ButtonCallNumber = ({ call, label }) => {\n return (\n {\n window.location = call;\n e.preventDefault();\n }}>\n {label}\n \n );\n};\n\n\nexport const labelHtml = (title, value, hasDescription, isMobile) => (\n \n {hasDescription ? \n \n \n {value || '-'}\n
\n {title || '-'}\n
: \n \n \n { title != 'Email Address' && title != 'Cell Number'?\n {value || '-'} :\n \n title === 'Cell Number' ? \n :\n \n }\n {title || '-'}\n\n }\n
\n);\n\nexport const DateFind = (dated) => {\n if (!dated) {\n return dated;\n }\n var date = new Date(Date.parse(dated));\n var currentDate = date;\n var dater = currentDate.getDate();\n var months = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n ];\n var month = currentDate.getMonth();\n var year = currentDate.getFullYear();\n var monthDateYear = dater + ' ' + months[month] + ' ' + year;\n return monthDateYear;\n};","import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Avatar from '@material-ui/core/Avatar';\nimport InsertPhotoIcon from '@material-ui/icons/InsertPhoto';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n border: '5px solid #4F36A6',\n borderRadius: '50%',\n cursor: 'pointer',\n },\n dNone: {\n display: 'none',\n },\n small: {\n width: theme.spacing(10),\n height: theme.spacing(10),\n },\n large: {\n width: theme.spacing(30),\n height: theme.spacing(30),\n },\n icon: {\n position: 'absolute',\n zIndex: 2,\n }\n}));\n\nconst ProfilePicture = ({large, src, callBack}) => {\n const classes = useStyles();\n const fileRef = React.createRef(); \n\n const _handleImageChange = (e) => {\n e.preventDefault();\n let reader = new FileReader();\n let file = e.target.files[0];\n reader.onloadend = (event) => {\n callBack(event.target.result, file);\n };\n reader.readAsDataURL(file);\n };\n\n return (\n
\n _handleImageChange(e)}\n ref={fileRef}\n />\n \n fileRef.current.click()} alt=\"profile picture\" src={src} className={large?classes.large:classes.small} />\n
\n );\n};\n\nProfilePicture.defaultProps = {\n callBack: (result, file) => ({result,file}),\n};\n\nProfilePicture.propTypes = {\n large: PropTypes.bool,\n src: PropTypes.string.isRequired,\n callBack: PropTypes.func.isRequired,\n};\n\nexport default ProfilePicture;","import React, { Component } from 'react';\nimport { CloudDownload } from '@material-ui/icons';\nimport PropType from 'prop-types';\n\nimport {\n EditableGridLabel,\n IconLabelButton,\n SubtitleBar,\n Loader,\n} from '../index';\nimport {\n checkValidity,\n updateObject\n} from '../../shared/utility';\nimport {labelHtml} from '../../shared/helpers';\nimport {\n editableTextInputConfig,\n editableSelectConfig,\n saProvinces\n} from '../../shared/constants';\nimport {\n Grid,\n Typography,\n} from '@material-ui/core';\nimport ProfilePicture from './ProfilePicture';\n\nclass ProfileDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n myDetails: {...props.myDetails},\n editDetails: false,\n loading: false,\n controls: this.initControls(),\n formHasErrors: true,\n personalAssisstant : props.myDetails.personalAssisstant\n };\n\n }\n\n initSelect = (items) => ({\n ...editableSelectConfig,\n config: {\n ...editableSelectConfig.config,\n elementConfig: {\n ...editableSelectConfig.config.elementConfig,\n options: items,\n },\n }\n });\n\n initControls = () => ({\n nickName: {...editableTextInputConfig},\n firstName: {...editableTextInputConfig, editable: false},\n surname: {...editableTextInputConfig, editable: false},\n occupation: {...editableTextInputConfig},\n identityNumber: {...editableTextInputConfig, editable: false},\n cellNumber: {...editableTextInputConfig},\n emailAddress: {...editableTextInputConfig},\n streetAddress: {...editableTextInputConfig},\n postalCode: {...editableTextInputConfig},\n city: {...editableTextInputConfig},\n suburb: {...editableTextInputConfig},\n province: this.initSelect(saProvinces),\n });\n\n gridLabel = (title, value, danger, isMobile) => (\n \n \n \n {typeof value === 'number' ? value || 0 : value || '-'}\n \n \n \n {title || '-'}\n \n \n );\n\n editableGridLabel = (title, name, isMobile) => (\n \n );\n\n handleLabelChange = controlName => event => {\n const newValue = event.target.value;\n const validity = checkValidity (newValue, this.state.controls[controlName].config.validate);\n const updatedControls = updateObject(this.state.controls[controlName], {\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n let formHasErrors = false;\n const controls = {\n ...this.state.controls,\n [controlName]: updatedControls,\n };\n Object.keys(controls).forEach(key => {\n if(!controls[key].config.valid) {\n formHasErrors = true;\n }\n });\n this.setState({\n controls,\n myDetails: {\n ...this.state.myDetails,\n [controlName]: newValue\n },\n formHasErrors,\n });\n };\n\n handleSubmit = () => {\n const data = {\n ...this.state.myDetails,\n memNo: this.props.memNo,\n cellNo: this.state.myDetails.cellNumber,\n email: this.state.myDetails.emailAddress,\n suburb: this.state.myDetails.suburb,\n physicalAddress: this.state.myDetails.streetAddress,\n };\n this.setState({ loading: true, editDetails: false });\n this.props.updateMemberDetailsCallback(data)\n .then(() => this.props.fetchMemberData(this.props.memNo))\n .finally(() => this.setState({loading: false}));\n }\n\n cancelForm = () => {\n this.setState({\n myDetails: {...this.props.myDetails},\n editDetails: false,\n formHasErrors: true,\n controls: this.initControls(),\n });\n }\n\n render() {\n const myStatus = this.props.myStatus;\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\tconst _remainingDays = this.props.daysLeft\n return (\n
\n \n \n \n \n \n \n {this.gridLabel('Membership Number', this.props.memNo, false, isMobile)}\n {this.gridLabel('Membership Inception', myStatus.inceptionDate, false, isMobile)}\n {this.gridLabel('Membership Expiry', myStatus.expiryDate, false, isMobile)}\n \n {/* Hide this if member doesn't belong to any partner */}\n {this.props.partnerInformation.showPartnerMembership && <>\n {this.gridLabel(this.props.partnerInformation.PartnerName + ' Membership', this.props.partnerInformation.membershipType, false, isMobile)}\n {this.gridLabel(this.props.partnerInformation.PartnerName + ' Expiry Date', this.props.partnerInformation.PartnerExpiryDate, false, isMobile)}\n }\n {this.gridLabel('Narfo Membership', myStatus.membership, false, isMobile)}\n {this.gridLabel('Current Year', myStatus.currentYear, false, isMobile)}\n {this.gridLabel('Membership Status', myStatus.status, false, isMobile)}\n {this.gridLabel('Approval Date', myStatus.approvalDate, false, isMobile)}\n {this.gridLabel('Dedicated Sports Shooter', myStatus.dedicatedSportsStatus, false, isMobile)}\n {this.gridLabel('Dedicated Hunter', myStatus.dedicatedHunterStatus, false, isMobile)}\n {this.gridLabel('Loyalty days', myStatus.loyaltyDays, false, isMobile)}\n {this.gridLabel('Expired firearms', myStatus.expiredFirearms, false, isMobile)}\n {this.gridLabel('Firearms to be renewed', myStatus.firearmsToBeRenewed, false, isMobile)}\n {this.gridLabel('Firearms', myStatus.firearms, false, isMobile)}\n {_remainingDays <= 30 && this.gridLabel('Remaining days', _remainingDays, true, isMobile)}\n \n \n\n this.setState({editDetails:true})}\n />\n
\n \n \n {this.editableGridLabel('Nick Name', 'nickName', isMobile)}\n {this.editableGridLabel('First Name', 'firstName', isMobile)}\n {this.editableGridLabel('Surname', 'surname', isMobile)}\n {this.editableGridLabel('Occupation', 'occupation', isMobile)}\n {this.editableGridLabel('Identification Number', 'identityNumber', isMobile)}\n \n \n \n {this.editableGridLabel('Cell Number', 'cellNumber', isMobile)}\n {this.editableGridLabel('Email Address', 'emailAddress', isMobile)}\n \n \n \n {this.editableGridLabel('Street Address', 'streetAddress', isMobile)}\n {this.editableGridLabel('suburb', 'suburb', isMobile)}\n {this.editableGridLabel('Postal Code', 'postalCode', isMobile)}\n {this.editableGridLabel('City', 'city', isMobile)}\n {/* {this.editableGridLabel('Province', 'province', isMobile)} */}\n {this.editableGridLabel('Province', 'province', isMobile)}\n \n \n
\n {this.state.editDetails &&
\n \n \n
}\n {this.state.loading && }\n\n \n
\n }\n full\n callBack={() => this.props.downloadMemberCardCallback()}\n />\n
\n
\n }\n full\n callBack={() => this.props.downloadMemberCertificateCallback()}\n />\n
\n\n
\n );\n }\n}\n\nProfileDetails.defaultProps = {\n myDetails: {},\n myStatus: {},\n fetchMemberData: () => null,\n downloadMemberCardCallback: () => null,\n downloadMemberCertificateCallback: () => null,\n uploadProfilePictureCallback: (result, file) => Promise.resolve({result, file}),\n updateMemberDetailsCallback: (data) => Promise.resolve(data),\n};\n\nProfileDetails.propTypes = {\n myDetails: PropType.shape({\n nickName: PropType.string,\n firstName: PropType.string,\n surname: PropType.string,\n occupation: PropType.string,\n identityNumber: PropType.string,\n cellNumber: PropType.string,\n emailAddress: PropType.string,\n streetAddress: PropType.string,\n suburb: PropType.string,\n postalCode: PropType.string,\n city: PropType.string,\n province: PropType.string,\n }).isRequired,\n myStatus: PropType.shape({\n currentYear: PropType.number,\n approvalDate: PropType.string,\n membership: PropType.string,\n status: PropType.string,\n inceptionDate: PropType.string,\n expiryDate: PropType.string,\n dedicatedSportsStatus: PropType.string,\n dedicatedHunterStatus: PropType.string,\n loyaltyDays: PropType.number,\n expiredFirearms: PropType.number,\n firearmsToBeRenewed: PropType.number,\n firearms: PropType.number,\n memberNumber: PropType.string\n }).isRequired,\n profilePicture: PropType.string,\n memNo: PropType.string,\n fetchMemberData: PropType.func.isRequired,\n uploadProfilePictureCallback: PropType.func.isRequired,\n updateMemberDetailsCallback: PropType.func.isRequired,\n};\n\nexport default ProfileDetails;\n","import React from 'react';\nimport {\n Button,\n IconButton,\n Typography\n} from '@material-ui/core/';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nconst useStyles = makeStyles((theme) => ({\n button: {\n margin: theme.spacing(1),\n backgroundColor: theme.palette.buttonSecondary,\n },\n}));\n\nconst IconLabelButton = ({helpText, actionText, icon, color, variant, full, disabled, callBack, dsApplications, quizProgress, textMobileAlt, titleAlt,editButton}) => {\n const classes = useStyles();\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.down('md'));\n return (\n
\n {helpText && ({helpText})}\n { matches && !full ?\n textMobileAlt ?\n callBack()}\n className={classes.button}\n endIcon={icon}\n >\n {titleAlt}\n :\n callBack()}>\n {icon}\n :\n callBack()}\n style={dsApplications ? {width: '340px'} : quizProgress ? {width: '110px'} : null}\n disabled={disabled}\n >\n {actionText}\n \n }\n\n {editButton && matches && callBack()}\n className={classes.button}\n endIcon={icon}\n >\n {actionText}\n }\n
\n );\n};\n\nIconLabelButton.defaultProps = {\n color: 'secondary',\n callBack: () => null,\n disabled: false,\n full: false,\n variant: 'contained',\n};\n\nIconLabelButton.propTypes = {\n color: PropTypes.oneOf(['primary', 'secondary']).isRequired,\n callBack: PropTypes.func.isRequired,\n disabled: PropTypes.bool.isRequired,\n full: PropTypes.bool.isRequired,\n variant: PropTypes.oneOf(['text', 'contained']).isRequired,\n};\n\nexport default IconLabelButton;","import React from 'react';\nimport {\n Checkbox,\n FormControlLabel,\n FormLabel,\n IconButton,\n Input,\n InputAdornment,\n InputLabel,\n MenuItem,\n Radio,\n RadioGroup,\n Select,\n TextField,\n} from '@material-ui/core/';\nimport {\n Visibility, \n VisibilityOff \n} from '@material-ui/icons';\nimport {\n KeyboardDatePicker,\n MuiPickersUtilsProvider,\n} from '@material-ui/pickers';\nimport DateFnsUtils from '@date-io/date-fns';\nimport { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles(() => ({\n row: {\n flexDirection: 'row',\n },\n col: {\n flexDirection: 'column',\n },\n labelAbove: ''\n}));\n\nconst MappedInput = ( props ) => {\n let inputElement = null;\n let errorFlag = false;\n const classes = useStyles();\n\n if (props.invalid && props.shouldValidate && props.touched) {\n errorFlag = true;\n }\n\n switch ( props.elementType ) {\n case ('input'):\n inputElement = (\n \n \n {props.elementConfig.placeholder}\n \n \n \n );\n break;\n case ('password'):\n inputElement = (\n \n \n {props.elementConfig.placeholder}\n \n \n \n {props.showPassword ? : }\n \n \n }\n />\n \n );\n break;\n \n case ('select'):\n inputElement = (\n \n \n {props.elementConfig.placeholder}\n \n \n Please Select\n {props.elementConfig.options.map(option => \n \n {option.label}\n )\n }\n \n \n );\n break;\n case ('radioGroup'):\n inputElement = (\n \n \n {props.elementConfig.placeholder}\n \n \n {props.elementConfig.radios.map((radio) => \n } \n value={radio.value} label={radio.label}\n />)\n }\n \n \n );\n break;\n\n case ('checkBox'):\n inputElement = (\n \n \n {props.elementConfig.placeholder}\n \n } \n value={props.elementConfig.accept.value}\n label={props.elementConfig.accept.label}\n \n />\n \n );\n break;\n \n case ('calendar'):\n inputElement = (\n \n \n \n );\n break;\n case ('textArea'):\n inputElement = (\n \n );\n break;\n default:\n inputElement = (\n \n \n {props.elementConfig.placeholder}\n \n \n \n \n );\n }\n\n return (\n \n \n {inputElement}\n \n );\n};\n\nexport default MappedInput;","import React, { useState } from 'react';\nimport SubtitleBar from '../SubtitleBar/SubtitleBar';\nimport {\n Grid, Typography\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport IconLabelButton from '../DownloadButton/IconLabelButton';\nimport { CloudDownload } from '@material-ui/icons';\nimport { makeStyles } from '@material-ui/core/styles';\nimport {\n getYearFromISO,\n valid,\n yearsRange,\n} from '../../shared/helpers';\nimport { editableSelectConfig } from '../../shared/constants';\n\nconst useStyles = makeStyles(() => ({\n commisionContainer: {\n overflowY: 'auto',\n height: 'calc(100vh - 350px)',\n paddingRight: '10px',\n paddingLeft: '10px',\n }\n}));\n\nconst label = (value, title, isMobile) => (\n \n
\n {value || '-'}\n {title}\n
\n
\n);\n\nconst commision = (comm, key, callBack) => {\n const {type, commissionNumber, paymentDate, amountTotal} = comm;\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n
\n \n \n \n \n {isMobile ? type.split('Commission') : type || 'undefined '} \n \n \n \n }\n callBack={() => callBack(comm, '#auto-table')}\n />\n \n \n \n {label(commissionNumber, 'Commission number', isMobile)}\n {label(getYearFromISO(paymentDate), 'Commission year', isMobile)}\n {label(`R ${amountTotal}`, 'Commission amount', isMobile)}\n \n \n
\n );\n};\n\nconst initCommissionType = (value, items) => ({\n title: 'Sales commission type',\n value: value,\n id: 'select-com-type',\n name: 'commissionType',\n options: {\n ...editableSelectConfig,\n config: {\n ...editableSelectConfig.config,\n ...valid(value, editableSelectConfig.config.validate),\n elementConfig: {\n ...editableSelectConfig.config.elementConfig,\n options: items,\n },\n touched: true\n }\n }\n});\n\nconst initYear = (value, items) => ({\n title: 'Select Year',\n value: value,\n id: 'select-year',\n name: 'year',\n options: {\n ...editableSelectConfig,\n config: {\n ...editableSelectConfig.config,\n ...valid(value, editableSelectConfig.config.validate),\n elementConfig: {\n ...editableSelectConfig.config.elementConfig,\n options: items,\n },\n touched: true\n }\n }\n});\n\nconst yearslist = yearsRange(2021, 2000, -1).map(y => ({ label: y, value: y }));\n\nconst AllCommissions = (props) => {\n const classes = useStyles();\n const items = [\n { label: 'Sales Rep Commission', value: 'Sales Rep Commission' },\n { label: 'Owner Commission', value: 'Owner Commission' },\n ];\n\n const [commissionType, setCommissionType] = useState(initCommissionType('-', items));\n const [year, setYear] = useState(initYear('-', yearslist));\n const filterOptions = {\n elements: [\n {\n ...commissionType,\n onChange: (e) => setCommissionType(initCommissionType(e.target.value, items))\n },\n {\n ...year,\n onChange: (e) => setYear(initYear(e.target.value, yearslist))\n }\n ],\n callBack: props.filterCommissions\n };\n return (\n \n \n
\n
\n {props.commissions.map((com, key) => commision(com, key, props.downloadCommission))}\n
\n
\n );\n};\n\nAllCommissions.defaultProps = {\n commissions: [],\n downloadCommission: () => null,\n filterCommissions: () => Promise.resolve(null),\n};\n\nAllCommissions.propTypes = {\n commissions: PropTypes.array.isRequired,\n downloadCommission: PropTypes.func.isRequired,\n filterCommissions: PropTypes.func.isRequired,\n};\n\nexport default AllCommissions;","import React, { Component } from 'react';\nimport {\n EditableGridLabel,\n IconLabelButton,\n Loader,\n MappedInput,\n SubtitleBar,\n} from '../index';\nimport {\n Grid,\n Typography\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nimport {\n checkValidity,\n updateObject, \n} from '../../shared/utility';\n\nimport {\n editableTextInputConfig\n} from '../../shared/constants';\n\nconst REP_DETAILS = 'repDetails';\nconst PARTNER_DETAILS = 'partnerDetails';\n\nclass BankDetails extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n selectedRadio: REP_DETAILS,\n selectedAccountDetails: props.bankAccountDetails[REP_DETAILS],\n editDetails: false,\n controls: this.initControls(),\n radioGroupConfig : {\n elementType: 'radioGroup',\n elementConfig: {\n direction: 'row',\n radios: [\n { value: REP_DETAILS, label: 'Rep Banking Details'},\n { value: PARTNER_DETAILS, label: 'Partner Banking Details'},\n ],\n },\n },\n loading: false,\n formHasErrors: true,\n };\n }\n\n initControls = () => ({\n bankName: {...editableTextInputConfig},\n accountType: {...editableTextInputConfig},\n accountNo: {...editableTextInputConfig},\n branchCode: {...editableTextInputConfig},\n });\n\n handleRadioChange = (event) => {\n this.setState({\n selectedRadio: event.target.value,\n selectedAccountDetails: this.props.bankAccountDetails[event.target.value],\n controls: this.initControls(),\n });\n };\n\n handleLabelChange = controlName => event => {\n const validity = checkValidity (event.target.value, this.state.controls[controlName].config.validate);\n const updatedControls = updateObject(this.state.controls[controlName], {\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n let formHasErrors = false;\n const controls = {\n ...this.state.controls,\n [controlName]: updatedControls,\n };\n Object.keys(controls).forEach(key => {\n if(!controls[key].config.valid) {\n formHasErrors = true;\n }\n });\n this.setState({\n controls,\n selectedAccountDetails: {\n ...this.state.selectedAccountDetails,\n [controlName]: event.target.value,\n },\n formHasErrors,\n });\n };\n\n label = (title, name, isMobile) => (\n \n );\n\n cancelForm = () => {\n this.setState({\n editDetails: false,\n formHasErrors: true,\n controls: this.initControls(),\n selectedAccountDetails: this.props.bankAccountDetails[this.state.selectedRadio],\n });\n }\n\n handleSubmit = () => {\n this.setState({ loading: true, editDetails: false, });\n this.props.updateAccountDetails(this.state.selectedAccountDetails)\n .finally(() => this.setState({ loading: false }));\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n this.setState({editDetails: true})}/>\n
\n \n \n {this.state.editDetails ?\n \n {`Edit ${this.state.radioGroupConfig.elementConfig.radios.\n find(rad => rad.value === this.state.selectedRadio).label\n }`}\n :\n
\n \n
\n }\n
\n \n {this.label('Bank name', 'bankName', isMobile)}\n {this.label('Account Type', 'accountType', isMobile)}\n {this.label('Account Number', 'accountNo', isMobile)}\n {this.label('Branch Code', 'branchCode', isMobile)}\n \n
\n
\n {this.state.editDetails && !this.state.loading &&
\n \n \n
}\n { this.state.loading && }\n
\n );\n }\n}\n\nBankDetails.defaultProps = {\n bankAccountDetails: {\n repDetails: {},\n partnerDetails: {},\n },\n updateAccountDetails: (data) => Promise.resolve(data),\n};\n\nBankDetails.propTypes = {\n bankAccountDetails: PropTypes.shape({\n repDetails: PropTypes.object,\n partnerDetails: PropTypes.object,\n }).isRequired,\n updateAccountDetails: PropTypes.func.isRequired,\n};\n\nexport default BankDetails;\n","import React from 'react';\nimport {\n FormControl,\n FormHelperText,\n Grid, Typography,\n} from '@material-ui/core';\nimport {\n MappedInput,\n} from '../index';\nimport PropTypes from 'prop-types';\n\nconst EditableGridLabel = ({id ,title, value, edit, stretch, onChange, options, direction, variant='outlined', isMobile}) => (\n \n { edit && options.editable ? \n
\n \n \n { !options.config.valid ? options.config.errors\n .map((errorText, key) => {errorText}) : null\n }\n \n
:\n
\n \n {value || '-'}\n \n
\n }\n {title || '-'}\n
\n);\n\nEditableGridLabel.defaultProps = {\n direction: 'column',\n stretch: false,\n};\n\nEditableGridLabel.propTypes = {\n direction: PropTypes.oneOf([\n 'column',\n 'column-reverse'\n ]),\n stretch: PropTypes.bool.isRequired,\n};\n\nexport default EditableGridLabel;\n","import React, { useState} from 'react';\nimport { FilterList } from '@material-ui/icons';\nimport { Grid } from '@material-ui/core';\nimport {\n EditableGridLabel,\n IconLabelButton\n} from '../index';\nimport PropTypes from 'prop-types';\n\nconst hasError = (elements) => {\n let formHasError = false;\n elements.forEach(element => {\n if(!element.options.config.valid) {\n formHasError = true;\n }\n });\n return formHasError;\n};\n\nconst generateResults = (elements) => {\n const results = {};\n elements.forEach(elem => results[elem.name] = elem.value);\n return results;\n};\n\nconst Filter = (props) => {\n const { callBack,elements} = props;\n const [openFilter, setOpenFilter] = useState(false);\n\n return (\n
\n } actionText=\"Filter\"\n callBack={() => setOpenFilter(true)}\n />\n
\n \n { elements.map((element, index) =>\n )\n }\n \n \n \n \n callBack(generateResults(elements),setOpenFilter(false))}\n />\n \n \n callBack(null)\n }\n\n />\n \n \n setOpenFilter(false)}\n />\n \n \n \n
\n
\n );\n};\n\nFilter.defaultProps = {\n elements: [],\n callBack: () => Promise.resolve(null),\n};\n\nFilter.propTypes = {\n elements: PropTypes.array.isRequired,\n callBack: PropTypes.func.isRequired,\n};\n\nexport default Filter;\n","import React from 'react';\nimport { SubtitleBar } from '../index';\n\nexport default function Overview(props) {\n return (\n \n \n {props.children}\n \n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction TabPanel(props) {\n const { children, value, index } = props;\n\n return ( value === index &&\n
\n {children}\n
\n );\n}\n\nTabPanel.defaultProps = {\n value: 0,\n index: 0,\n};\n\nTabPanel.propTypes = {\n value: PropTypes.number.isRequired,\n index: PropTypes.number.isRequired,\n};\n\nexport default TabPanel;\n","import React from 'react';\nimport { Link, useLocation } from 'react-router-dom';\nimport { makeStyles } from '@material-ui/core/styles';\n\nimport {\n Avatar,\n Button,\n Grid,\n Typography,\n} from '@material-ui/core/';\n\nconst useStyles = makeStyles((theme) => ({\n avatarLabel: {\n fontSize: theme.typography.nav.fontSize,\n \n fontWeight: 'bold',\n fontFamily: theme.typography.fontFamily,\n color: theme.palette.secondary.contrastText,\n [theme.breakpoints.up('md')]: {\n color: theme.palette.primary.contrastText,\n }\n },\n buttonText: {\n color: theme.palette.buttonPrimary,\n [theme.breakpoints.up('md')]: {\n color: theme.palette.buttonContrast.main,\n }\n },\n}));\n\nfunction AuthAvatar(props) {\n const location = useLocation();\n const classes = useStyles();\n\n const authContainer = (\n \n \n \n Log in\n \n \n \n \n Sign up\n \n \n \n );\n\n const avatarContainer = (\n \n \n {`${props.memberData.firstname} ${props.memberData.surname}`}\n \n \n \n \n \n );\n\n const emptyContainer = (\n \n \n );\n\n return (\n \n {location.pathname === '/login' ? emptyContainer :\n location.pathname === '/sign-up' ? emptyContainer :\n props.isAuth ? avatarContainer : authContainer}\n \n );\n}\n\nexport default AuthAvatar;","import React, { Component } from 'react';\nimport { \n Typography, \n Grid\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nimport {\n GenericTable,\n Loader,\n Overview,\n SubtitleBar,\n ViewActivity,\n} from '../index';\nimport {\n formatISODateToLocaleString,\n getStatusColor,\n valid,\n} from '../../shared/helpers';\nimport { \n editableCalendarConfig,\n editableRadioInputConfig,\n editableSelectConfig,\n} from '../../shared/constants';\nimport { updateObject } from '../../shared/utility';\n\nconst formatStatus = item => \n {item};\n\nconst columns = [\n {\n field: 'activityDate',\n headerName: 'Activity Date',\n sortable: true,\n format: (item) => formatISODateToLocaleString(item), \n sortFunction: (itemData, sortOrder) => itemData\n .sort((a, b) => sortOrder * new Date(b.activityDate) - sortOrder * new Date(a.activityDate)), \n },\n { field: 'activityDescription', headerName: 'Discipline'},\n { field: 'firearmType', headerName: 'Firearm Type' },\n {\n field: 'status',\n headerName: 'Activity Status',\n format: formatStatus,\n },\n];\n\nconst columnsMobile = [\n {\n field: 'activityDate',\n headerName: 'Date',\n sortable: true,\n format: (item) => formatISODateToLocaleString(item), \n sortFunction: (itemData, sortOrder) => itemData\n .sort((a, b) => sortOrder * new Date(b.activityDate) - sortOrder * new Date(a.activityDate)), \n },\n { field: 'activityDescription', headerName: 'Discipline'},\n];\n\nconst initDisciplineFilter = (value, items) => ({\n title: 'Discipline Type',\n value: value,\n id: 'select-discipline',\n name: 'discipline',\n options: {\n ...editableSelectConfig,\n config: {\n ...editableSelectConfig.config,\n // ...valid(value, editableSelectConfig.config.validate), remove forced checking of selection\n elementConfig: {\n ...editableSelectConfig.config.elementConfig,\n options: items,\n },\n touched: true\n }\n }\n});\n\nconst initRadioFilter = (id, name, title, value, items) => ({\n title,\n value,\n id,\n name,\n options: {\n ...editableRadioInputConfig,\n editable: true,\n config: {\n ...editableRadioInputConfig.config,\n ...valid(value, editableRadioInputConfig.config.validate),\n elementConfig: {\n ...editableRadioInputConfig.config.elementConfig,\n radios: items,\n name,\n },\n touched: true\n }\n }\n});\n\nconst initCalendarFilter = (id, name, title, value, minDate) => ({\n title,\n value,\n id,\n name,\n options: {\n ...editableCalendarConfig,\n config: {\n ...editableCalendarConfig.config,\n ...valid(value, {\n ...editableCalendarConfig.config.validate,\n maxDate: null,\n minDate,\n }),\n touched: true\n }\n }\n});\n\nclass MyActivities extends Component {\n constructor(props) {\n super(props);\n this.state = {\n filterValue: {\n organisation: 'all',\n type: 'all',\n start: null,\n end: new Date(),\n discipline: '-',\n },\n defaulFilterValue : { \n organisation: 'all',\n type: 'all',\n start: null,\n end: new Date(),\n discipline: '-'\n },\n disciplineItems: [],\n activities: [],\n viewActivity: false,\n activity: {},\n loading: false,\n };\n }\n\n static getDerivedStateFromProps(nextProps,state) {\n let __activities = [];\n if((state.activities.length < nextProps.activities.length) && JSON.stringify(state.defaulFilterValue) != JSON.stringify(state.filterValue))\n __activities = state.activities;\n else\n __activities = nextProps.activities;\n \n return { activities: __activities };\n }\n\n updateFilterValue = (obj) => {\n this.setState({\n filterValue: updateObject(this.state.filterValue, obj),\n });\n }\n\n filterOptions = (organisation, type, start, end, discipline) => {\n const elements = [\n {\n ...initRadioFilter(\n 'radio-org', 'organisation', 'Activity Organisation',\n organisation,\n [ \n { value: 'narfo', label: 'Narfo'},\n { value: 'other', label: 'Other'},\n { value: 'all', label: 'All'},\n ]\n ),\n onChange: (e) => this.updateFilterValue({\n organisation: e.target.value, discipline: '-'\n }),\n },\n {\n ...initRadioFilter(\n 'radio-act-type', 'type', 'Activity Type',\n type,\n [ \n { value: 'hunt', label: 'Hunting'},\n { value: 'sport', label: 'Sport Shooting'},\n { value: 'all', label: 'All'},\n ]\n ),\n onChange: (e) => this.updateFilterValue({type: e.target.value}),\n },\n {\n ...initCalendarFilter(\n 'cal-start', 'start', 'Start Date',\n start, null\n ),\n onChange: (date) => this.updateFilterValue({start: date}),\n },\n {\n ...initCalendarFilter(\n 'cal-end', 'end', 'End Date',\n end, new Date(start)\n ),\n onChange: (date) => this.updateFilterValue({end: date}),\n },\n ];\n if (this.state.filterValue.organisation !== 'all') {\n let disciplineItems = [];\n if (this.state.filterValue.organisation === 'other') {\n disciplineItems = [...this.props.disciplineFilterItems.disciplineTypes];\n } else {\n disciplineItems = [...this.props.disciplineFilterItems.eventTypes];\n }\n disciplineItems.push({value: 'none', label: 'None'});\n elements.push({\n ...initDisciplineFilter(discipline, disciplineItems),\n onChange: (e) => this.updateFilterValue({discipline: e.target.value}),\n });\n }\n return {\n elements,\n callBack: this.filterActivities,\n };\n };\n \n filterActivities = (filter) => {\n if(!filter){\n this.setState({...this.state,activities : this.props.activities,filterValue: this.state.defaulFilterValue});\n return \n }\n let _activities = this.props.activities;\n if (filter.organisation && filter.organisation !== 'all') {\n _activities = _activities.filter(\n a => a.association ? a.association.toLowerCase() === filter.organisation : false\n );\n }\n if (filter.type && filter.type !== 'all') {\n _activities = _activities.filter(\n a => a.activityType ? \n a.activityType.toLowerCase().includes(filter.type) : false\n );\n }\n if (filter.discipline && filter.discipline !== '-' && filter.discipline !== 'none') {\n _activities = _activities.filter(\n a => a.activityDescription ? \n a.activityDescription.toLowerCase() === filter.discipline.toLowerCase() : false\n ); \n }\n if (filter.start) {\n _activities = _activities.filter(a => {\n const actDate = new Date(a.activityDate);\n actDate.setHours(0,0,0,0);\n const startDate = filter.start;\n startDate.setHours(0,0,0,0);\n return actDate >= startDate;\n });\n }\n if (filter.end) {\n _activities = _activities.filter(a => {\n const actDate = new Date(a.activityDate);\n actDate.setHours(0,0,0,0);\n const endDate = filter.end;\n endDate.setHours(0,0,0,0);\n return actDate <= endDate;\n });\n }\n this.setState({...this.state, activities : _activities});\n };\n\n activityListForMoblile = () => {\n let newList = this.state.activities;\n newList.map(item =>{\n if(item.activityDescription.includes(' - ')) {\n let arr = item.activityDescription.split(' ');\n if(arr[0] === 'CFHG' || arr[0] === 'CFRBA') {\n item.activityDescription = `${arr[0]} ${arr[arr.length - 3]} ${arr[arr.length - 1]}`;\n } else {\n item.activityDescription = `${arr[0]} ${arr[arr.length - 1]}`;\n }\n } else if(item.activityDescription === 'Firearm Related Conference or Workshop') {\n item.activityDescription = 'FRCoW';\n } else if(item.activityDescription === 'Hunting Related Conference or Workshop') {\n item.activityDescription = 'HRCoW';\n }\n });\n return newList;\n };\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n return (\n this.state.loading && ||\n this.state.viewActivity && this.setState({activity: {}, viewActivity: false})}\n activity={this.state.activity}\n /> ||\n \n
\n \n \n Use the activity section to records and keep track of your activities. \n Click the plus button to add a new activity. You can add NARFO activities \n or you can add activities from other associations. You can also print \n an activity report to supplement your firearm license application as \n proof of being an active shooter. You can also use the filter button \n to filter only specific activities.\n \n
\n \n No activity will be approved if the uploaded document does not have a\n date on it. Please add a date on every document before uploading.\n \n
\n {isMobile &&(\n HRCoW - Hunting Related Conference or Workshop\n FRCoW - Firearm Related Conference or Workshop\n )}\n
\n this.props.downloadActivityCallback(this.state.activities.filter(a => a.status == \"Approved\"),'#auto-table')\n }\n addActivityCallback={this.props.addActivityCallback}\n />\n {\n this.setState({loading: true });\n this.props.getActivityCallback(item.activityId)\n .then(res => this.setState({ activity: res.data }))\n .catch(() => this.setState({activity: item}))\n .finally(() => this.setState({\n viewActivity: true,\n loading: false\n }));\n }}\n />\n
\n );\n }\n}\n\nMyActivities.propTypes = {\n activities: PropTypes.array.isRequired,\n downloadActivityCallback: PropTypes.func.isRequired,\n disciplineFilterItems: PropTypes.shape({\n eventTypes: PropTypes.array.isRequired,\n disciplineTypes: PropTypes.array.isRequired,\n }).isRequired,\n addActivityCallback: PropTypes.func.isRequired,\n getActivityCallback: PropTypes.func.isRequired,\n};\n\nMyActivities.defaultProps = {\n activities: [],\n downloadActivityCallback: () => Promise.resolve(null),\n disciplineFilterItems: {\n eventTypes: [],\n disciplineTypes: [],\n },\n addActivityCallback: () => null,\n getActivityCallback: (id) => Promise.resolve({id}),\n};\n\nexport default MyActivities;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n EditableGridLabel,\n IconLabelButton,\n Loader,\n MappedInput,\n SubtitleBar\n} from '../index';\nimport { \n Grid, Typography \n} from '@material-ui/core';\nimport {\n editableCalendarConfig,\n editableTextInputConfig,\n editableNumberInputConfig,\n editableTextBoxInputConfig,\n ASSOCIATIONS,\n ADD_TO_GALLERY\n} from '../../shared/constants';\nimport { checkValidity, updateObject, initSelect , convertToArrayOfObjects} from '../../shared/utility';\nimport { Attachment, Camera, SystemUpdateAlt } from '@material-ui/icons';\n\nexport class AddActivity extends Component {\n constructor(props) {\n super(props);\n \n this.state = {\n selectedRadio: ASSOCIATIONS.NARFO,\n controls: this.initControls(),\n radioGroupConfig : {\n elementType: 'radioGroup',\n elementConfig: {\n direction: 'row',\n radios: [\n { value: ASSOCIATIONS.NARFO, label: 'Narfo Activity'},\n { value: ASSOCIATIONS.OTHER, label: 'Other Activity'},\n ],\n },\n },\n selectedGalleryRadio :ADD_TO_GALLERY.NO,\n radioGalleryConfig : {\n elementType: 'radioGroup',\n elementConfig: {\n direction: 'row',\n radios: [\n { value: ADD_TO_GALLERY.YES, label: 'Yes'},\n { value: ADD_TO_GALLERY.NO, label: 'No'},\n ],\n },\n },\n activity: {\n activityEvent: '-',\n activityType: '-',\n activityDate: new Date(),\n firearmType: '-',\n firearmTypeLookup: '-',\n specie: '-',\n farmName:'',\n country: 'South Africa',\n province: '-',\n caliber: '',\n score: 0,\n optics: '-',\n activityDescription: '-', //discipline\n activityNotes: '',\n },\n rankingCheck: '0',\n loading: false,\n formHasErrors: true,\n attachments: [],\n showFilePicker: false,\n isFileUploaded: false,\n displayGalleryInfo:false\n };\n \n this.fileRef = React.createRef();\n this.camRef = React.createRef();\n\n }\n\n initializeProvince = () => {\n let _provinces = this.props.countryLookup.find(item =>item.value === \"South Africa\")?.states;\n\n return convertToArrayOfObjects(_provinces);\n };\n\n initControls = () => ({\n firearmType: initSelect(this.props.firearmTypes),\n firearmTypeLookup: initSelect([]),\n activityEvent: initSelect([]),\n activityType: initSelect(this.props.activityTypeLookup),\n province: initSelect(this.initializeProvince()),\n country: initSelect(this.props.countryLookup),\n specie: initSelect(this.props.specieLookup),\n farmName: {...editableTextInputConfig},\n activityDate: {...editableCalendarConfig},\n caliber: {...editableTextInputConfig},\n score: {...editableNumberInputConfig},\n optics: initSelect(this.props.opticsLookup),\n activityDescription: initSelect(this.props.activityDisciplines), //discipline\n activityNotes: {...editableTextBoxInputConfig},\n });\n \n handleRadioChange = (event) => {\n const value = event.target.value;\n let activity = {};\n if (value === ASSOCIATIONS.OTHER) {\n activity = {\n activityEvent: '-',\n activityDescription: '-', //discipline\n };\n } else {\n activity = {\n optics: '-',\n activityDescription: '-', //discipline\n };\n }\n this.setState({\n selectedRadio: value,\n activity: {\n ...this.state.activity,\n ...activity,\n },\n controls: this.initControls(),\n });\n };\n\n handleRadioGalleryChange = (event) => {\n const value = event.target.value;\n\n this.setState({\n selectedGalleryRadio: value,\n displayGalleryInfo: !this.state.displayGalleryInfo,\n });\n };\n\n handleLabelChange = controlName => event => {\n let value = event;\n if(event?.target) {\n value = event.target.value;\n }\n value = typeof value === 'number' ? value.toString() : value;\n const validity = checkValidity(value === '-' ? '' : value, this.state.controls[controlName].config.validate);\n const updatedControls = updateObject(this.state.controls[controlName], {\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n let formHasErrors = false;\n const controls = {\n ...this.state.controls,\n [controlName]: updatedControls,\n };\n Object.keys(controls).forEach(key => {\n if(!controls[key].config.valid && key != 'activityNotes') {\n formHasErrors = true;\n }\n });\n\n //Filter firearm lookup list \n if (controlName === 'activityEvent') {\n let options = this.state.controls['activityEvent'].config.elementConfig.options;\n let ranking = '';\n options.forEach(x => \n x.value === value ? ranking = x.ranking : null\n );\n\n let _isHunting = false;\n\n if(value === 'Hunting')\n _isHunting = true;\n \n this.setState({\n isHunting: _isHunting,\n controls,\n activity: {\n ...this.state.activity,\n [controlName]: value,\n },\n rankingCheck: ranking\n });\n } \n else if(controlName === \"country\"){\n let _country = event.target.value;\n \n let _provinces = this.props.countryLookup.find(item =>item.value == _country)?.states;\n const updatedControls = initSelect(_provinces.length > 0? convertToArrayOfObjects(_provinces) : []);\n\n const controls = {\n ...this.state.controls,\n province: updatedControls,\n };\n\n this.setState({\n controls,\n activity: {\n ...this.state.activity,\n [controlName]: value\n },\n formHasErrors,\n });\n }\n else if(controlName === \"firearmType\"){\n //update the Firearm lookup dropdown\n let _fireArm = this.props.firearmTypes.find(item =>item.value == event.target.value)\n let _fireArmLookups = this.props.firearmTypeLookup.filter(item =>item.fireArmID ==_fireArm.fireArmTypeId)\n const updatedControls = initSelect(_fireArmLookups.length > 0? _fireArmLookups : []);\n\n const controls = {\n ...this.state.controls,\n firearmTypeLookup: updatedControls,\n };\n\n this.setState({\n controls,\n activity: {\n ...this.state.activity,\n [controlName]: value\n },\n formHasErrors,\n });\n }\n else if(controlName === \"firearmTypeLookup\"){\n //update the Firearm lookup dropdown\n let _fireArmLookupItem = this.props.firearmTypeLookup.find(item => item.value === event.target.value);\n //At the moment there the Not shooting related Firearmtype has 1001 id but the rest of the lookups have none \n //This creates inconsistencies because none of the lookups will be picked up by \"Not shooting related\" because instead of having 1001 id they have null\n let _activityTypeLookup = this.props.activityEvent.filter(item =>item.fireArmTypeLookupID == _fireArmLookupItem?.fireArmTypeId)\n const updatedControls = initSelect(_activityTypeLookup.length > 0? _activityTypeLookup : []);\n \n const controls = {\n ...this.state.controls,\n activityEvent: updatedControls,\n };\n this.setState({\n controls,\n activity: {\n ...this.state.activity,\n [controlName]: value\n },\n formHasErrors,\n });\n }\n else {\n this.setState({\n controls,\n activity: {\n ...this.state.activity,\n [controlName]: value,\n },\n formHasErrors,\n });\n }\n };\n\n label = (title, name, fullWidth, isMobile) => (\n \n \n \n );\n\n \n labelTerms = (name, fullWidth) => (\n \n \n Read Public Gallery Terms and Conditions\n \n\n \n );\n\n\n handleSubmit = () => {\n\n this.setState({ loading: true });\n let formHasErrors = false;\n let controls = { ...this.state.controls };\n if (this.state.attachments.length === 0) {\n this.setState({ isFileUploaded: true, loading: false });\n return;\n }\n\n //user does not select the add to gallary\n if(this.state.selectedGalleryRadio === ADD_TO_GALLERY.NO)\n {\n //The Gallaery fields are not required\n Object.keys(this.state.activity).forEach(key => {\n if ((key === 'activityEvent' && this.state.selectedRadio === ASSOCIATIONS.OTHER) || \n ((key === 'optics' || key === 'activityDescription')&& this.state.selectedRadio === ASSOCIATIONS.NARFO) || key === 'country' || key === 'specie' || key === 'farmName' || key === 'province') {\n return;\n }\n let value = this.state.activity[key];\n value = typeof value === 'number' ? value.toString() : value;\n const validity = checkValidity(\n value === '-' ? '' : value, \n controls[key].config.validate\n );\n const updatedControls = updateObject(controls[key], {\n config: updateObject(controls[key].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n controls = {\n ...controls,\n [key]: updatedControls,\n };\n \n if (value === '-') {\n formHasErrors = true;\n }\n });\n }\n else\n {\n //If user selcted Yes then all fields are required \n Object.keys(this.state.activity).forEach(key => {\n if ((key === 'activityEvent' && this.state.selectedRadio === ASSOCIATIONS.OTHER) || \n ((key === 'optics' || key === 'activityDescription')&& this.state.selectedRadio === ASSOCIATIONS.NARFO)) {\n return;\n }\n let value = this.state.activity[key];\n value = typeof value === 'number' ? value.toString() : value;\n const validity = checkValidity(\n value === '-' ? '' : value, \n controls[key].config.validate\n );\n const updatedControls = updateObject(controls[key], {\n config: updateObject(controls[key].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n controls = {\n ...controls,\n [key]: updatedControls,\n };\n \n if (value === '-') {\n formHasErrors = true;\n }\n });\n }\n\n\n\n if (!formHasErrors) {\n const activity = {...this.state.activity};\n activity.association = this.state.selectedRadio;\n activity.activityDescription = this.state.selectedRadio === ASSOCIATIONS.OTHER ? activity.activityDescription : activity.activityEvent;\n activity.attachments = this.state.attachments;\n\n activity.addToGallery = this.state.selectedGalleryRadio;\n activity.addToGallery = this.state.selectedGalleryRadio;\n activity.addToGallery = this.state.selectedGalleryRadio;\n activity.addToGallery = this.state.selectedGalleryRadio;\n\n activity.firearmType = this.state.activity.firearmTypeLookup;\n\n this.props.submitActivity(activity);\n this.setState({ loading: false });\n this.props.backCallback();\n } else {\n this.setState({ loading: false, formHasErrors, controls });\n }\n }\n\n handleFileUpload = (e) => {\n e.preventDefault();\n let file = e.target.files[0];\n // Allowing file type\n let regex = new RegExp(/[^\\s]+(.*?).(jpg|jpeg|png|gif|pdf|JPG|JPEG|PNG|GIF|PDF)$/);\n\n if (regex.test(file.name) == false || file.name.includes('tempImage')) {\n alert(\"Invalid file type, Please convert your image to jpg, jpeg or png\")\n return;\n }\n\n const attachments = this.state.attachments;\n attachments.push({ result: file, name: file.name });\n this.setState({ attachments, showFilePicker: false, isFileUploaded: false });\n };\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n \n
\n \n \n
\n \n Activity Type\n \n \n
\n
\n \n {this.label('Firearm Type', 'firearmType', false, isMobile)}\n {this.label('Firearm Type Lookup', 'firearmTypeLookup', false, isMobile)}\n {this.state.selectedRadio === ASSOCIATIONS.OTHER ? \n this.label('Activity Discipline', 'activityDescription', false, isMobile) :\n this.label('Activity Event', 'activityEvent', false, isMobile)\n }\n {/* Gallery questionaire */}\n {this.state.isHunting && \n
\n \n Would you like to add your Hunting image to Public Gallery?\n \n \n
\n
}\n\n {this.state.displayGalleryInfo && <>\n {this.labelTerms('Terms', 'Terms', false, isMobile)}\n {this.label('Country', 'country', false, isMobile)}\n {this.label('Province/State', 'province', false, isMobile)}\n {this.label('Farm Name', 'farmName', false, isMobile)}\n {this.label('Specie', 'specie', false, isMobile)}\n }\n\n\n {this.label('Activity Type', 'activityType', false, isMobile)}\n {this.label('Activity Date', 'activityDate', false, isMobile)}\n {this.label('Caliber', 'caliber', false, isMobile)}\n {this.state.selectedRadio === ASSOCIATIONS.OTHER &&\n this.label('Optics', 'optics', false, isMobile)\n } \n {this.state.selectedRadio === ASSOCIATIONS.OTHER ? \n this.label('Score', 'score', false, isMobile) :\n this.state.rankingCheck == '1' ?\n this.label('Score', 'score', false, isMobile) :\n null\n } \n \n
\n {this.label('Activity Notes', 'activityNotes', true)}\n \n \n \n \n {!this.state.showFilePicker && 0} \n full\n actionText=\"Attach Document\"\n icon={}\n callBack={() => this.setState({showFilePicker: true})}\n />}\n {this.state.showFilePicker && \n
\n }\n callBack={() => this.camRef.current.click()}\n />\n }\n callBack={() => this.fileRef.current.click()}\n />\n
\n }\n
\n {this.state.attachments.length > 0 ?\n this.state.attachments\n .map((attach, key) =>\n \n {attach.name || 'file'}\n \n ) : this.state.isFileUploaded ?\n Please add document :\n null}\n
\n
\n
\n
\n {!this.state.loading && }\n { this.state.loading && }\n
\n
\n );\n }\n}\n\nAddActivity.defaultProps = {\n submitActivity: (data) => Promise.resolve(data),\n activityEvent: [],\n firearmTypes: [],\n firearmTypeLookup: [],\n activityDisciplines: [],\n opticsLookup: [],\n activityTypeLookup: [],\n backCallback: () => null,\n};\n\nAddActivity.propTypes = {\n submitActivity: PropTypes.func.isRequired,\n activityEvent: PropTypes.array.isRequired,\n firearmTypes: PropTypes.array.isRequired,\n firearmTypeLookup: PropTypes.array.isRequired,\n activityDisciplines: PropTypes.array.isRequired,\n opticsLookup: PropTypes.array.isRequired,\n backCallback: PropTypes.func.isRequired,\n activityTypeLookup: PropTypes.array.isRequired,\n};\n\nexport default AddActivity;\n","import API_URL from './apiUrl';\nimport axios from 'axios';\n\nconst getMemberActivities = (headers) => (id) => axios.\n get(`${API_URL}/Activities/memNo/${id}`, {headers});\n\nconst submitActivity = (headers) => (data) => axios.\n post(`${API_URL}/Activities`, data, {headers: \n {\n ...headers, \n 'Content-type': 'multipart/form-data'\n }\n });\n\nconst getActivityByID = (headers) => (id) => axios.\n get(`${API_URL}/Activities/${id}`, {headers});\n\nconst getGalleryActivity = (headers) => (id) => axios.\n get(`${API_URL}/Gallery/HasGallleryItem?activityId=${id}`, {headers});\n\nconst getGalleryData = (headers) => axios.\n get(`${API_URL}/Gallery/GetGalleryData`, {headers});\n\nconst getActivityMatrix = (headers) => (id) => axios.\n get(`${API_URL}/Activities/activityMatrix/${id}`, {headers});\n\nconst getActivityRanking = (headers) => (id) => axios.\n get(`${API_URL}/Activities/GetActivityRanking/${id}`, {headers});\n\nconst getNarfoRankings = (headers) => (discipline,year) => axios.\n get(`${API_URL}/Activities/GetNarfoRankings?discipline=${discipline}&year=${year}`, {headers});\n\nconst getOtherDisciplineRankings = (headers) => (discipline,year) => axios.\n get(`${API_URL}/Activities/GetNarfoRankings?discipline=${discipline}&year=${year}`, {headers});\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n getMemberActivities: getMemberActivities(headers),\n submitActivity: submitActivity(headers),\n getActivityByID: getActivityByID(headers),\n getGalleryActivity: getGalleryActivity(headers),\n getGalleryData: getGalleryData(headers),\n getActivityMatrix: getActivityMatrix(headers),\n getActivityRanking: getActivityRanking(headers),\n getNarfoRankings: getNarfoRankings(headers),\n getOtherDisciplineRankings: getOtherDisciplineRankings(headers)\n };\n}\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n IconLabelButton,\n SubtitleBar\n} from '../index';\nimport { Divider, Grid } from '@material-ui/core';\nimport { getStatusColor, label, formatISODateToLocaleString} from '../../shared/helpers';\nimport API_URL from '../../services/apiUrl';\nimport ActivitiesService from '../../services/activities.service';\n\nconst formatStatus = item => \n {item};\n\nconst downloadLinks = (links, ref) => {\n\n let url = API_URL.includes(\"backend\") ? (API_URL.replaceAll('backend.', '')).replaceAll('api', '') : (API_URL.replaceAll('api', '')).replaceAll('qa','qaportal');\n \n if(url === \"https://narfo.co.za/\")\n url = \"https://portal.narfo.co.za/\";\n\n //Check \n\n //NB::For now replace https with http\n links.forEach(link => {\n ref.current.href = `${url.replaceAll('https','https')}${link}`;\n ref.current.click();\n });\n};\n\nfunction ViewActivity(props) {\n const ref = React.createRef();\n const activityService = ActivitiesService(localStorage.getItem('token'));\n const isMobile = localStorage.getItem('isMobile') === 'true';\n const [gallery, setGallary] = useState(null);\n\n useEffect(() => {\n getGalleryActivityItem();\n }, []);\n\n const getGalleryActivityItem =()=>{\n activityService.getGalleryActivity(props.activity.activityId).then(response =>{\n setGallary(response.data);\n });\n }\n return (\n \n \n
\n \n {label('Activity ID', props.activity.activityId, false, isMobile)}\n {label('Association', props.activity.association, false, isMobile)}\n {label('Status', props.activity.activityType, false, isMobile)}\n {label('Firearm', props.activity.firearmType, false, isMobile)}\n {label('Discipline', props.activity.activityDescription, false, isMobile)}\n\n {label('Activity Date', formatStatus(formatISODateToLocaleString(props.activity.activityDate)), false, isMobile)}\n {label('Activity Score', formatStatus(props.activity.score), false, isMobile)}\n {label('Firearm Caliber', formatStatus(props.activity.caliber), false, isMobile)}\n {label('Activity Status', formatStatus(props.activity.status), false, isMobile)}\n {props.activity.status =='Rejected' && label('Rejection Reason', formatStatus(props.activity.rejectReason), false, isMobile)}\n\n { gallery && label('Gallery Status', formatStatus(props.activity.status === 'Pending' ? 'Pending' : (gallery?.approved ? 'Approved' : 'Rejected') ), false, isMobile)}\n\n { gallery && !gallery?.approved && label('Gallery rejection Reason', formatStatus(gallery?.rejectionReason), false, isMobile)}\n\n \n \n \n {label('Notes', props.activity.memberNotes, false, isMobile)}\n \n
\n {props.activity.link &&
\n \n downloadLinks([props.activity.link], ref)}\n />\n
}\n
\n );\n}\n\nViewActivity.defaultProps = {\n backCallback: () => null,\n activity: {},\n};\n\nViewActivity.propTypes = {\n backCallback: PropTypes.func.isRequired,\n activity: PropTypes.object.isRequired,\n};\n\nexport default ViewActivity;\n\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { \n GenericTable,\n TabPanel,\n IconLabelButton,\n Loader,\n ViewActivityRanking,\n EditableGridLabel\n} from '..';\n\nimport { valid } from '../../shared/helpers';\nimport { checkValidity, updateObject, initSelect } from '../../shared/utility';\nimport PropTypes from 'prop-types';\nimport {\n Paper, \n Tab, \n Tabs, \n Typography,\n Grid,\n \n} from '@material-ui/core';\nimport ActivityService from '../../services/activities.service';\n\nconst formatScore = score => {score};\n\nconst currentYear = new Date().getFullYear();\n\nfunction generateYearList(startYear, endYear) {\n const yearList = [];\n \n for (let year = startYear; year <= endYear; year++) {\n yearList.push({ value: String(year), label: String(year) });\n }\n\n return yearList.reverse();\n}\n\nconst years = generateYearList(2018, currentYear);\n\nconst columns = [\n { field: 'activityDescription', headerName: 'Discipline'},\n { field: 'association', headerName: 'Association'},\n {\n field: 'score',\n headerName: 'Score',\n format: (item) => formatScore(item)\n },\n {\n field: 'rank',\n headerName: 'Rank',\n format: (item) => `#${item}`, \n }\n];\n\nconst narfoColumns = [\n { field: 'firstname', headerName: 'Firstname'},\n { field: 'surname', headerName: 'Surname'},\n { field: 'score', headerName: 'Top 3 AVG'},\n {\n field: 'rank',\n headerName: 'Rank',\n format: (item) => `#${item}`, \n }\n];\n\nconst otherDisciplineColumns = [\n { field: 'firstname', headerName: 'Firstname'},\n { field: 'surname', headerName: 'Surname'},\n { field: 'score', headerName: 'Score'},\n {\n field: 'rank',\n headerName: 'Rank',\n format: (item) => `#${item}`, \n }\n];\n\n\nclass ActivityRanking extends Component {\n constructor(props) {\n super(props);\n this.activityService = ActivityService(this.props.token);\n this.currentYear = new Date().getFullYear();\n this.state = {\n controls: this.initControls(),\n activityRankings: this.props.activityRanking,\n narfoTopRankings:[],\n otherDisciplineRankings: [],\n viewRanking: false,\n ranking:{},\n tabValue: 0,\n activity: {\n activityEvent: '-',\n activityYear:'-',\n activityDiscipline: '-'\n },\n\n filterValue: {\n start: new Date(),\n end: new Date(),\n discipline: '-',\n }\n };\n }\n initControls = () => ({\n activityEvent: initSelect(this.props.activityEvent.filter(c => c.ranking == 1).sort((a,b) => (a.label > b.label) ? 1 : ((b.label > a.label) ? -1 : 0))),\n activityDiscipline: initSelect(this.props.activityDiscipline.sort((a,b) => (a.label > b.label) ? 1 : ((b.label > a.label) ? -1 : 0))),\n activityYear: initSelect(years)\n });\n\n handleTabChange = (event, newValue) => {\n this.setState({tabValue: newValue});\n }\n\n handleLabelChange = controlName => event => {\n let value = event;\n if(event?.target) {\n value = event.target.value;\n }\n value = typeof value === 'number' ? value.toString() : value;\n const validity = checkValidity(value === '-' ? '' : value, this.state.controls[controlName].config.validate);\n const updatedControls = updateObject(this.state.controls[controlName], {\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n\n let formHasErrors = false;\n const controls = {\n ...this.state.controls,\n [controlName]: updatedControls,\n };\n Object.keys(controls).forEach(key => {\n if(!controls[key].config.valid) {\n formHasErrors = true;\n }\n });\n\n this.setState({\n controls,\n activity: {\n ...this.state.activity,\n [controlName]: value,\n },\n formHasErrors,\n });\n };\n\n handleSearch =(association)=>{\n if(association === 'Narfo')\n {\n const discipline = this.state.activity.activityEvent;\n const year = this.state.activity.activityYear;\n \n this.activityService.getNarfoRankings(discipline,year)\n .then(respos =>{\n this.setState({narfoTopRankings:respos.data});\n });\n }\n else\n {\n const discipline = this.state.activity.activityDiscipline;\n const year = this.state.activity.activityYear;\n \n this.activityService.getOtherDisciplineRankings(discipline,year)\n .then(respos =>{\n this.setState({otherDisciplineRankings:respos.data});\n });\n }\n }\n\n label = (title, name, fullWidth, isMobile) => (\n \n \n \n );\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n {/* */}\n \n \n \n \n \n \n \n \n \n \n { \n !this.state.viewRanking ?\n {\n this.props.getRankingCallback(item.activityDescription)\n .then(res => this.setState({ ranking: item.activityDescription}))\n .catch(() => this.setState({ranking: item}))\n .finally(() => this.setState({\n viewRanking: true,\n loading: false\n }));\n }}\n /> \n :\n this.setState({ranking: {}, viewRanking: false})}\n myActivitiesRanking = {this.props.activityRanking.myActivitiesRanking}\n ranking = {this.state.ranking}\n memNo = {this.props.memNo}\n />}\n \n \n \n The NARFO ranking takes the average of the top three scores per event. \n You may shoot more than three but only the three highest scores of \n the same event will be used\n \n \n\n {this.label('Activity Event', 'activityEvent', false, isMobile)}\n {this.label('Year', 'activityYear', false, isMobile)}\n\n
\n {!this.state.loading && this.handleSearch('Narfo')}\n />}\n { this.state.loading && }\n
\n
\n
\n \n
\n \n \n We encourage members to participate in other \n sport shooting events. For this ranking, we \n take the top score for each of the events \n entered by a member\n \n \n {this.label('Activity discipline', 'activityDiscipline', false, isMobile)}\n {this.label('Year', 'activityYear', false, isMobile)}\n\n
\n {!this.state.loading && this.handleSearch('other')}\n />}\n { this.state.loading && }\n
\n
\n
\n \n
\n
\n );\n }\n}\n\nActivityRanking.defaultProps = {\n activityRanking: [],\n disciplineLookup :[],\n getRankingCallback: (activityDescription) => Promise.resolve({activityDescription}),\n};\n\nActivityRanking.propTypes = {\n disciplineLookup: PropTypes.array.isRequired,\n getRankingCallback: PropTypes.func.isRequired\n};\n\n\nexport default ActivityRanking;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n IconLabelButton,\n GenericTable,\n SubtitleBar\n} from '../index';\nimport { Divider, Grid } from '@material-ui/core';\nimport { getStatusColor, label, formatISODateToLocaleString} from '../../shared/helpers';\nimport API_URL from '../../services/apiUrl';\n\nconst formatStatus = item => \n {item};\n\n const columns = [\n { field: 'firstname', headerName: 'Name'},\n { field: 'surname', headerName: 'Surname'},\n { field: 'score', headerName: 'Score'},\n { field: 'rank', headerName: 'Rank', format: (item) => `#${item}`},\n ];\n\nfunction ViewActivityRanking(props) {\n const ref = React.createRef();\n const isMobile = localStorage.getItem('isMobile') === 'true';\n const ranks = props.myActivitiesRanking?.find(t => t.activityDescription == props.ranking).singleRankings;\n\n return (\n \n \n {/*
*/}\n \n {/*
*/}\n
\n );\n}\n\nViewActivityRanking.defaultProps = {\n backCallback: () => null,\n ranking: {},\n};\n\nViewActivityRanking.propTypes = {\n backCallback: PropTypes.func.isRequired,\n ranking: PropTypes.object.isRequired,\n};\n\nexport default ViewActivityRanking;\n\n","import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport {\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Grid,\n Typography,\n} from '@material-ui/core/';\nimport {\n ExpandMore\n} from '@material-ui/icons/';\nimport PropTypes from 'prop-types';\n\nimport {\n SubtitleBar\n} from '../index';\n\nconst styles = (theme) =>({\n root: {\n width: '100%',\n backgroundColor: theme.palette.common.white2.main,\n marginBottom: '12px',\n '& .MuiAccordion-root.Mui-expanded:last-child': {\n marginBottom: '16px'\n },\n '& .MuiCollapse-container.MuiCollapse-entered': {\n marginBottom: '16px'\n }\n },\n summarySpacing: {\n marginBottom: '16px'\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n matrixItem: {\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(2),\n borderBottom: '1px solid',\n borderBottomColor: theme.palette.tableBackgroundColor.main\n },\n circleHeight: {\n height: '25px'\n },\n baseConnector: {\n width: '0px',\n top: '25px',\n border: '1px solid',\n position: 'relative',\n borderColor: theme.palette.primary.main,\n '&:before': {\n content: '\"\"',\n top: '-25px',\n left: '-12.5px',\n height: '25px',\n width: '25px',\n borderRadius: '50%',\n border: '4px solid',\n position: 'absolute',\n borderColor: theme.palette.primary.main,\n backgroundColor: theme.palette.common.white2.main\n },\n },\n lineConnector: {\n height: 'calc(100% - 24px)',\n },\n lastConnector: {\n height: '0',\n },\n lineActiveConnector: {\n height: 'calc(100% - 24px)',\n '&:before': {\n backgroundColor: theme.palette.primary.main,\n }\n },\n activeConnector: {\n '&:before': {\n backgroundColor: theme.palette.primary.main,\n }\n },\n lastActiveConnector: {\n height: '0',\n '&:before': {\n backgroundColor: theme.palette.primary.main,\n }\n },\n});\n\nclass ActivityMatrix extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n matrix: props.activityMatrix,\n expanded: false,\n };\n }\n\n expandHandler = (panel) => (event, isExpanded) => {\n this.setState({\n expanded: isExpanded ? panel : false\n });\n }\n\n render() {\n const {classes} = this.props;\n \n const lastActiveConnector = `${classes.baseConnector} ${classes.lastActiveConnector}`;\n const activeConnector = `${classes.baseConnector} ${classes.lineActiveConnector}`;\n const lastConnector =`${classes.baseConnector} ${classes.lastConnector}`;\n const connector = `${classes.baseConnector} ${classes.lineConnector}`;\n\n const noDataSection = (\n \n You currently do not have any approved activities registered\n \n );\n\n return (\n \n \n \n \n {this.state.matrix.length === 0 ? {noDataSection} : null}\n {this.state.matrix.sort((a, b) => new Date(b.participationYear) - new Date(a.participationYear)).map((item, index) => (\n \n \n \n \n \n {/* Index+1 is used to prevent the index of 0 from being checked, remove truthy dependency */}\n \n }\n aria-controls={`panel-${index}-content`}\n id={`panel-${index}-header`}\n >\n \n \n \n {item.participationYear}\n \n \n \n \n Compliance: {item.comply} \n \n \n \n \n\n \n \n \n \n \n Not Shooting Related\n \n \n \n \n {item.notShooting}\n \n \n \n \n \n \n Dedicated Sport Shooter\n \n \n \n \n {item.dedicatedShooter}\n \n \n \n \n \n \n Occasional Hunter\n \n \n \n \n {item.occasionalHunter}\n \n \n \n \n \n \n Dedicated Sport Shooter and Hunter\n \n \n \n \n {item.dedicatedHunterAndshooter}\n \n \n \n \n \n \n Dedicated Hunter\n \n \n \n \n {item.dedicatedHunter}\n \n \n \n \n \n \n Remaining Days to Comply\n \n \n \n \n {item.daysToComply}\n \n \n \n \n \n \n Occasional Sport Shooter\n \n \n \n \n {item.occassionalSportShooter}\n \n \n \n \n \n \n Status Compliance\n \n \n \n \n {item.comply}\n \n \n \n \n \n \n \n \n ))}\n \n \n \n );\n }\n}\n\nActivityMatrix.propTypes = {\n activityMatrix: PropTypes.array.isRequired,\n};\n\nActivityMatrix.defaultProps = {\n activityMatrix: []\n};\n\nexport default withStyles(styles)(ActivityMatrix);","import {\n SET_TARGET_FIREARM_TYPES,\n SET_FIREARM_TYPES_LOOKUP,\n SET_ACTIVITY_LOOKUP,\n SET_EVENT_RULES,\n} from './actionType';\n\n\nconst fetchFireArmTypes = service => () => dispatch => service.getFireArmTypes()\n .then(response => dispatch({ type: SET_TARGET_FIREARM_TYPES, payload: response.data }))\n .catch(() => dispatch({ type: SET_TARGET_FIREARM_TYPES, payload: [] }));\n\nconst fetchFireArmTypesLookUpById = service => id => dispatch => service.getFireArmTypesLookUpById(id)\n .then(response => dispatch({ type: SET_FIREARM_TYPES_LOOKUP, payload: response.data }))\n .catch(() => dispatch({ type: SET_FIREARM_TYPES_LOOKUP, payload: [] }));\n\nconst fetchActivityLookupByFireArmTypeID = service => id => dispatch => service.getActivityLookupByFireArmTypeID(id)\n .then(response => dispatch({ type: SET_ACTIVITY_LOOKUP, payload: response.data }))\n .catch(() => dispatch({ type: SET_ACTIVITY_LOOKUP, payload: [] }));\n\nconst fetchEventByActivityID = service => id => dispatch => service.getEventByActivityID (id)\n .then(response => dispatch({ type: SET_EVENT_RULES, payload: response.data }))\n .catch(() => dispatch({ type: SET_EVENT_RULES, payload: [] }));\n\nexport default function(fireArmTypeService) {\n return {\n fetchFireArmTypes: fetchFireArmTypes(fireArmTypeService),\n fetchFireArmTypesLookUpById: fetchFireArmTypesLookUpById(fireArmTypeService),\n fetchActivityLookupByFireArmTypeID: fetchActivityLookupByFireArmTypeID(fireArmTypeService),\n fetchEventByActivityID: fetchEventByActivityID(fireArmTypeService),\n };\n}","export const SET_TARGET_FIREARM_TYPES = 'SET_TARGET_FIREARM_TYPES';\nexport const SET_FIREARM_TYPES_LOOKUP = 'SET_FIREARM_TYPES_LOOKUP';\nexport const SET_ACTIVITY_LOOKUP = 'SET_ACTIVITY_LOOKUP';\nexport const SET_EVENT_RULES = 'SET_EVENT_RULES';\nexport const SET_EVENT_NAME = 'SET_EVENT_NAME';","import API_URL from './apiUrl';\nimport axios from 'axios';\n\nconst getFireArmTypes = () => () => axios.\n get(`${API_URL}/fireArmTypes/FireArmTypes`);\n\nconst getFireArmTypesLookUpById = () => (id) => axios.\n get(`${API_URL}/fireArmTypes/FireArmTypeLookupByFireArmID/${id}`);\n\nconst getActivityLookupByFireArmTypeID = () => (id) => axios.\n get(`${API_URL}/fireArmTypes/ActivityLookupByFireArmTypeID/${id}`);\n\nconst getEventByActivityID = () => (id) => axios.\n get(`${API_URL}/fireArmTypes/EventByActivityID/${id}`);\n\nconst getDownloadByEventID = () => (id) => axios.\n get(`${API_URL}/fireArmTypes/getDownloadByEventID/${id}`);\n\nexport default function () {\n return {\n getFireArmTypes: getFireArmTypes(),\n getFireArmTypesLookUpById: getFireArmTypesLookUpById(),\n getActivityLookupByFireArmTypeID: getActivityLookupByFireArmTypeID(),\n getEventByActivityID: getEventByActivityID(),\n getDownloadByEventID: getDownloadByEventID()\n };\n}","/* eslint-disable no-undef */\nlet SITE_URL = '';\n\nif(process.env.NODE_ENV == 'development') {\n SITE_URL = 'http://localhost:3000/';\n} else {\n\tif(window.location.origin.includes('qaportal.narfo.co.za')) {\n\t\tSITE_URL = 'http://qaportal.narfo.co.za/';\n\t} else if(window.location.origin.includes('portal.narfo.co.za')) {\n\t\tSITE_URL = 'https://portal.narfo.co.za/';\n\t}\n}\n\nexport default SITE_URL;\n","import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { targetDownsLoadLevels } from '../../shared/constants';\nimport { connect } from 'react-redux';\nimport {\n SubtitleBar\n} from '../index';\nimport {\n Grid,\n Typography,\n Card,\n CardContent,\n Divider\n} from '@material-ui/core';\nimport SITE_URL from '../../services/siteURL';\nimport { SET_ACTIVITY_LOOKUP } from '../../store/FireArmType/actionType';\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\n\nconst styles = (theme) => ({\n root: {\n width: '100%',\n backgroundColor: theme.palette.common.white2.main,\n boxShadow: 'inset 0px 2px 6px rgba(0, 0, 0, 0.15)',\n borderRadius: '10px',\n marginBottom: \"3em\"\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n thumbNail: {\n cursor: 'pointer',\n paddingRight: \"2em\"\n },\n img: {\n width: \"170px\",\n height: \"200px\"\n },\n imageTextPadding: {\n paddingTop: \"2em\"\n }\n});\n\nclass ViewEventRules extends Component {\n\n constructor(props) {\n super(props);\n }\n\n goBack = () => {\n this.props.isActivityLookup(this.props.activatyLookups);\n };\n\n render() {\n const { classes } = this.props;\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n return (\n \n {this.props.level === targetDownsLoadLevels.EVENT_RULES && ()}\n \n {this.props.level === targetDownsLoadLevels.EVENT_RULES && (\n {this.props.eventRules.length === 0 ? No event rules available : null}\n {this.props.eventRules.map((item, index) => (\n \n \n \n \n \n \n Event\n \n \n \n \n {this.props.eventName}\n \n \n \n \n \n \n \n Firearm Type\n \n \n \n \n {item.firearmType}\n \n \n \n \n \n \n \n Sport Shooting\n \n \n \n \n {item.sportshooting === false ? 'No' : 'Yes'}\n \n \n \n \n \n \n \n Distance\n \n \n \n \n {item.distance}\n \n \n \n \n \n \n \n Shots\n \n \n \n \n {item.shots}\n \n \n \n \n \n \n \n Target\n \n \n \n \n \n {GetFilename(SITE_URL + item.target)}\n \n Press image to download \n \n \n \n \n \n \"image\n \n \n \n \n \n \n \n \n Purpose\n \n \n \n \n {item.purpose}\n \n \n \n \n \n \n \n Rules\n \n \n \n \n {item.rules}\n \n \n \n \n \n \n \n Scoring\n \n \n \n \n {item.scoring}\n \n \n \n \n \n \n ))}\n )}\n \n \n );\n }\n}\n\nfunction GetFilename(url) {\n if (url) {\n return url.substring(url.lastIndexOf('/') + 1, url.lastIndexOf('.'));\n }\n return '';\n}\n\nconst mapStateToProps = state => ({\n level: state.fireArmTypeTargets.level,\n fireArmTypesLookups: state.fireArmTypeTargets.fireArmTypesLookups,\n activatyLookups: state.fireArmTypeTargets.activatyLookups,\n eventRules: state.fireArmTypeTargets.eventRules,\n eventName: state.fireArmTypeTargets.eventName\n});\n\nconst mapDispatchToProps = dispatch => ({\n isActivityLookup: (activityLookup) =>\n dispatch({\n type: SET_ACTIVITY_LOOKUP,\n payload: activityLookup\n }),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ViewEventRules));","import React, { Component } from 'react';\nimport { SET_EVENT_RULES, SET_FIREARM_TYPES_LOOKUP, SET_EVENT_NAME } from '../../store/FireArmType/actionType';\nimport { connect } from 'react-redux';\nimport FireArmAction from '../../store/FireArmType/actions';\nimport FireArmTypeService from './../../services/firearmType.service';\nimport { targetDownsLoadLevels } from '../../shared/constants';\nimport {\n SubtitleBar,\n Loader\n} from '../index';\nimport {\n Card,\n CardContent,\n Grid,\n Typography\n} from '@material-ui/core';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport ViewEventRules from './ViewEventRules';\n\nconst styles = (theme) => ({\n root: {\n width: '100%',\n backgroundColor: theme.palette.common.white2.main,\n boxShadow: 'inset 0px 2px 6px rgba(0, 0, 0, 0.15)',\n borderRadius: '10px',\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n pointer: {\n cursor: 'pointer'\n },\n});\n\nclass ActivityEventLookup extends Component {\n constructor(props) {\n super(props);\n this.fireArmTypeService = FireArmTypeService();\n this.eventRulesActions_ = this.props._eventRulesActions(this.fireArmTypeService);\n this.state = {\n isEventRules: false,\n isLoader: false\n };\n }\n\n goBack = () => {\n this.props.isFirearmTypeLookup(this.props.fireArmTypesLookups);\n };\n\n onViewEvent = (eventName) => {\n this.props.onEventNameUpdate(eventName);\n this.setState({ isEventRules: true, isLoader: false })\n };\n\n render() {\n const { classes } = this.props;\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n return (\n \n {this.props.level === targetDownsLoadLevels.ACTIVITY_LOOK_UP && ()}\n {this.state.isLoader && ()}\n \n {this.props.level === targetDownsLoadLevels.ACTIVITY_LOOK_UP && (\n {this.props.activatyLookups.length === 0 ? No activity event available : null}\n {this.props.activatyLookups.map((item, index) => (\n item.ranking == true && \n \n \n \n \n \n {item.activityEvent}\n \n \n \n {\n this.setState({ isLoader: true });\n this.eventRulesActions_.fetchEventByActivityID(item.activityEventId).then(() => this.onViewEvent(item.activityEvent));\n }}\n >\n VIEW\n \n \n \n \n \n \n ))}\n )}\n \n {this.state.isEventRules && ()}\n \n );\n }\n}\n\nconst initialiseEventRulesActions = dispatch => (fireArmTypeService) => {\n const action = FireArmAction(fireArmTypeService);\n return {\n fetchEventByActivityID: (id) => dispatch(action.fetchEventByActivityID(id)),\n };\n};\n\n\nconst mapStateToProps = state => ({\n level: state.fireArmTypeTargets.level,\n fireArmTypesLookups: state.fireArmTypeTargets.fireArmTypesLookups,\n activatyLookups: state.fireArmTypeTargets.activatyLookups,\n eventRules: state.fireArmTypeTargets.eventRules,\n});\n\nconst mapDispatchToProps = dispatch => ({\n onEventUpdate: (eventRules) =>\n dispatch({\n type: SET_EVENT_RULES,\n payload: eventRules\n }),\n _eventRulesActions: initialiseEventRulesActions(dispatch),\n isFirearmTypeLookup: (fireArmTypesLookup) =>\n dispatch({\n type: SET_FIREARM_TYPES_LOOKUP,\n payload: fireArmTypesLookup\n }),\n onEventNameUpdate: (eventName) =>\n dispatch({\n type: SET_EVENT_NAME,\n payload: eventName\n }),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ActivityEventLookup));","import React, { Component } from 'react';\nimport { SET_ACTIVITY_LOOKUP, SET_TARGET_FIREARM_TYPES } from '../../store/FireArmType/actionType';\nimport { connect } from 'react-redux';\nimport FireArmAction from '../../store/FireArmType/actions';\nimport FireArmTypeService from './../../services/firearmType.service';\nimport { targetDownsLoadLevels } from '../../shared/constants';\nimport {\n SubtitleBar,\n Loader\n} from '../index';\nimport {\n Card,\n CardContent,\n Grid,\n Typography\n} from '@material-ui/core';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport ActivityEventLookup from './ActivityEventLookup';\n\nconst styles = (theme) => ({\n root: {\n width: '100%',\n backgroundColor: theme.palette.common.white2.main,\n boxShadow: 'inset 0px 2px 6px rgba(0, 0, 0, 0.15)',\n borderRadius: '10px',\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n pointer: {\n cursor: 'pointer'\n },\n});\n\nclass FireArmTypeLookup extends Component {\n constructor(props) {\n super(props);\n this.fireArmTypeService = FireArmTypeService();\n this.activityLookUpActions_ = this.props._activityLookUpActions(this.fireArmTypeService);\n this.state = {\n fireArmLookups: this.props.fireArmTypesLookups,\n isActivityLookup: false,\n isGoBack: false,\n isLoader: false\n };\n }\n\n goBack = () => {\n this.props.isFirearmTypes(this.props.fireArmTypes);\n };\n\n render() {\n const { classes } = this.props;\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n return (\n \n {this.props.level === targetDownsLoadLevels.FIREARM_LOOK_UP && ()}\n {this.state.isLoader && ()}\n \n {this.props.level === targetDownsLoadLevels.FIREARM_LOOK_UP && (\n {this.props.fireArmTypesLookups.length === 0 ? No firearm types lookup available : null}\n {this.props.fireArmTypesLookups.map((item, index) => (\n \n \n \n \n \n \n {item.fireArmType}\n \n \n \n {\n this.setState({isLoader:true});\n this.activityLookUpActions_.fetchActivityLookupByFireArmTypeID(item.fireArmTypeId).then(() => this.setState({ isActivityLookup: true, isLoader:false}));\n }}\n >\n VIEW\n \n \n \n \n \n \n ))}\n )}\n \n {this.state.isActivityLookup && ()}\n \n );\n }\n}\n\nconst initialiseActivityEventLookUpActions = dispatch => (fireArmTypeService) => {\n const action = FireArmAction(fireArmTypeService);\n return {\n fetchActivityLookupByFireArmTypeID: (id) => dispatch(action.fetchActivityLookupByFireArmTypeID(id)),\n };\n};\n\nconst mapStateToProps = state => ({\n level: state.fireArmTypeTargets.level,\n fireArmTypesLookups: state.fireArmTypeTargets.fireArmTypesLookups,\n activatyLookups: state.fireArmTypeTargets.activatyLookups,\n fireArmTypes: state.fireArmTypeTargets.fireArmTypes,\n});\n\nconst mapDispatchToProps = dispatch => ({\n onActivityEventLookUp: (fireArmLookUp) =>\n dispatch({\n type: SET_ACTIVITY_LOOKUP,\n payload: fireArmLookUp,\n }),\n _activityLookUpActions: initialiseActivityEventLookUpActions(dispatch),\n isFirearmTypes: (fireArmTypes) =>\n dispatch({\n type: SET_TARGET_FIREARM_TYPES,\n payload: fireArmTypes\n }),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FireArmTypeLookup));","import React, { Component } from 'react';\nimport { SET_FIREARM_TYPES_LOOKUP, SET_TARGET_FIREARM_TYPES} from '../../store/FireArmType/actionType';\nimport { connect } from 'react-redux';\nimport FireArmAction from '../../store/FireArmType/actions';\nimport FireArmTypeService from './../../services/firearmType.service';\nimport { targetDownsLoadLevels } from '../../shared/constants';\nimport {\n SubtitleBar,\n Loader\n} from '../index';\nimport {\n Card,\n CardContent,\n Grid,\n Typography\n} from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport FireArmTypeLookup from './FireArmTypeLookup';\n\nconst styles = (theme) => ({\n root: {\n width: '100%',\n backgroundColor: theme.palette.common.white2.main,\n boxShadow: 'inset 0px 2px 6px rgba(0, 0, 0, 0.15)',\n borderRadius: '10px',\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n pointer: {\n cursor: 'pointer'\n }\n});\n\nclass FireArmTypes extends Component {\n constructor(props) {\n super(props);\n this.fireArmTypeService = FireArmTypeService();\n this.fireArmLookUpActions_ = this.props._fireArmLookUpActions(this.fireArmTypeService);\n this.state = {\n fireArmTypes: this.props.firearmTypesList,\n isFireArmTypeLookup: false,\n activatyLookups: this.props.activatyLookups,\n isLoader: false\n };\n }\n\n componentDidMount() {\n this.props.isFirearmTypes(this.state.fireArmTypes);\n }\n\n render() {\n const { classes } = this.props;\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n return (\n \n {this.props.level === targetDownsLoadLevels.FIREARM_TYPES && ()}\n {this.state.isLoader && ()}\n \n {this.props.level === targetDownsLoadLevels.FIREARM_TYPES && (\n {this.props.fireArmTypes.length === 0 ? No firearm types available : null}\n {this.props.fireArmTypes.map((item, index) => (\n \n \n \n \n \n \n {item.fireArmType1}\n \n \n \n {\n this.setState({isLoader:true});\n this.fireArmLookUpActions_.fetchFireArmTypesLookUpById(item.fireArmID).then(() => this.setState({ isFireArmTypeLookup: true, isLoader:false }));\n }}\n >\n VIEW\n \n \n \n \n \n \n ))}\n )}\n \n {this.state.isFireArmTypeLookup && ()}\n \n );\n }\n}\n\nconst initialiseFireArmLookUpActions = dispatch => (fireArmTypeService) => {\n const action = FireArmAction(fireArmTypeService);\n return {\n fetchFireArmTypesLookUpById: (id) => dispatch(action.fetchFireArmTypesLookUpById(id)),\n };\n};\n\n\nconst mapStateToProps = state => ({\n fireArmTypes: state.fireArmTypeTargets.fireArmTypes,\n level: state.fireArmTypeTargets.level,\n fireArmTypesLookups: state.fireArmTypeTargets.fireArmTypesLookups\n});\n\nconst mapDispatchToProps = dispatch => ({\n onFireArmLookUp: (fireArmLookUp) =>\n dispatch({\n type: SET_FIREARM_TYPES_LOOKUP,\n payload: fireArmLookUp,\n }),\n _fireArmLookUpActions: initialiseFireArmLookUpActions(dispatch),\n isFirearmTypes: (fireArmTypes) =>\n dispatch({\n type: SET_TARGET_FIREARM_TYPES,\n payload: fireArmTypes\n }),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FireArmTypes));","import API_URL from './apiUrl';\nimport axios from 'axios';\n\nconst getMemberEndorsements = (headers) => (id) => axios.\n get(`${API_URL}/EndorsementApplications/getEndorsment/${id}`, {headers});\n\nconst postMemberEndorsement = (headers) => (data, params) => axios.\n post(`${API_URL}/EndorsementApplications/PostEndorsementApplication`, data,\n {\n headers:\n {\n ...headers,\n },\n params:\n {\n ...params\n }\n }\n );\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n getMemberEndorsements: getMemberEndorsements(headers),\n postMemberEndorsement: postMemberEndorsement(headers)\n };\n}\n\n ","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport {\n Divider,\n Grid,\n Typography \n} from '@material-ui/core';\n\nimport {\n EditableGridLabel,\n IconLabelButton,\n Loader,\n SubtitleBar\n} from '../index';\nimport {\n editableSelectConfig,\n editableTextInputConfig,\n editableTextInputConfigModelField,\n editableTextBoxInputConfig,\n} from '../../shared/constants';\nimport { checkValidity, updateObject, initCheckbox } from '../../shared/utility';\nimport EndorsementsService from '../../services/endorsements.service';\nimport { SET_ENDORSEMENTS } from '../../store/Endorsements/actionTypes';\n\nexport class AddEndorsement extends Component {\n constructor(props) {\n super(props);\n\tthis.endorsementsService = EndorsementsService(this.props.token);\n\n this.state = {\n controls: this.initControls(),\n endorsementApplication: {\n title: '',\n endorsementPurpose: '',\n applicationType: '',\n sectionType: '-',\n firearmType: '-',\n actionType: '-',\n caliber: '',\n make: '',\n model: '',\n serialNumber: '',\n motivation: '',\n declaration: ''\n },\n loading: false,\n formHasErrors: true,\n };\n }\n\n initSelect = (items) => ({\n ...editableSelectConfig,\n config: {\n ...editableSelectConfig.config,\n elementConfig: {\n ...editableSelectConfig.config.elementConfig,\n options: items,\n },\n }\n });\n\n initControls = () => ({\n endorsementPurpose: this.initSelect(this.props.endorsementPurposeType),\n title: {...editableTextInputConfig},\n applicationType: this.initSelect(this.props.applicationTypes),\n sectionType: this.initSelect(this.props.sectionTypes),\n firearmType: this.initSelect(this.props.firearmTypes),\n actionType: this.initSelect(this.props.actionTypes),\n caliber: {...editableTextInputConfig},\n make: {...editableTextInputConfig},\n model: {...editableTextInputConfigModelField},\n serialNumber: {...editableTextInputConfig},\n motivation: {...editableTextBoxInputConfig},\n declaration: initCheckbox('I hereby declare that all information submitted is true and accurate'), \n });\n\n handleLabelChange = controlName => event => {\n let value = event;\n if(event?.target) {\n value = event.target.value;\n }\n value = typeof value === 'number' ? value.toString() : value;\n const validity = checkValidity(\n value === '' ? '' : value, \n this.state.controls[controlName].config.validate\n );\n const updatedControls = updateObject(\n this.state.controls[controlName], {\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n }\n );\n let formHasErrors = false;\n const controls = {\n ...this.state.controls,\n [controlName]: updatedControls,\n };\n Object.keys(controls).forEach(key => {\n if(!controls[key].config.valid) {\n formHasErrors = true;\n }\n });\n this.setState({\n controls,\n endorsementApplication: {\n ...this.state.endorsementApplication,\n [controlName]: value,\n },\n formHasErrors,\n });\n };\n\n label = (title, name, fullWidth) => (\n \n \n \n );\n \n submitHandler = async () => {\n this.setState({ loading: true });\n let formHasErrors = false;\n let controls = {...this.state.controls};\n\n Object.keys(this.state.endorsementApplication).forEach(key => {\n let value = this.state.endorsementApplication[key];\n value = typeof value === 'number' ? value.toString() : value;\n const validity = checkValidity( \n value === '-' ? '' : value,\n controls[key].config.validate\n );\n const updatedControls = updateObject(\n controls[key], {\n config: updateObject(\n controls[key].config,\n {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n }\n )\n }\n );\n controls = {\n ...controls,\n [key]: updatedControls,\n };\n if (value === '-') {\n formHasErrors = true;\n }\n });\n\n if (!formHasErrors) {\n const endorsementApplication = {...this.state.endorsementApplication};\n const applicationParams = {\n endorsementPurpose: endorsementApplication.endorsementPurpose,\n endorsementType: endorsementApplication.applicationType,\n endorsementSection: endorsementApplication.sectionType\n };\n const applicationBody = {\n ApplicationType: endorsementApplication.applicationType,\n FireArmType: endorsementApplication.firearmType,\n ActionType: endorsementApplication.actionType,\n Make: endorsementApplication.make,\n Model: endorsementApplication.model,\n Section: endorsementApplication.sectionType,\n SerialNumber: endorsementApplication.serialNumber,\n Caliber: endorsementApplication.caliber,\n Declaration: endorsementApplication.declaration,\n EndorsementType: endorsementApplication.applicationType,\n Motivation: endorsementApplication.motivation,\n Title: endorsementApplication.title,\n MemNo: this.props.memNo,\n }; \n await this.endorsementsService.postMemberEndorsement(applicationBody, applicationParams)\n\t .then(res => this.props.onEndorsementGet(this.props.endorsements.concat(res.data.endorsementApplication)))\n this.setState({loading: false});\n this.props.backCallback();\n } else {\n this.setState({ loading: false, formHasErrors, controls});\n }\n }\n \n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n \n
\n \n \n {this.label('Endorsement Title', 'title')}\n {this.label('Endorsement Purpose', 'endorsementPurpose')}\n \n \n \n \n \n Firearm Details\n \n \n \n \n *All fields are required\n \n \n \n\n \n \n \n\n \n {this.label('Type of Firearm', 'firearmType')}\n {this.label('Firearm Action Type', 'actionType')}\n {this.label('Calibre', 'caliber')}\n {this.label('Firearm Make', 'make')}\n {this.label('Firearm Model', 'model')}\n {this.label('Firearm Serial Number', 'serialNumber')}\n \n \n \n \n \n \n My Motivation\n \n \n \n \n *All fields are required\n \n \n \n\n \n \n \n\n \n {this.label('Type of Application', 'applicationType')}\n {this.label('Section', 'sectionType')}\n {this.label('Briefly describe the purpose of and motivation for this firearm', 'motivation', true)}\n {this.label(' ', 'declaration', true)}\n \n \n \n
\n
\n {!this.state.loading && }\n { this.state.loading && }\n
\n
\n );\n }\n}\n\nAddEndorsement.defaultProps = {\n firearmTypes: [],\n actionTypes: [],\n backCallback: () => null,\n};\n\nAddEndorsement.propTypes = {\n backCallback: PropTypes.func.isRequired,\n actionTypes: PropTypes.array.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n token: state.AuthReducer.token,\n\t memNo: state.AuthReducer.memNo,\n endorsements: state.nEndorsementReducer.endorsements\n }\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n\tonEndorsementGet: newEndorsement => \n\t dispatch({\n\t\ttype: SET_ENDORSEMENTS,\n\t\tpayload: newEndorsement\n\t})\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AddEndorsement);","export const SET_ENDORSEMENTS = 'SET_ENDORSEMENTS';","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport {\n Card,\n CardContent,\n Divider,\n Grid,\n Typography\n} from '@material-ui/core';\n\nimport {\n Loader,\n Overview,\n SubtitleBar,\n ViewEndorsement,\n} from '../index';\nimport {\n getStatusColor,\n} from '../../shared/helpers';\n\nconst formatStatus = item =>\n {item};\n\nconst styles = (theme) =>({\n root: {\n width: '100%',\n backgroundColor: theme.palette.common.white2.main,\n boxShadow: 'inset 0px 2px 6px rgba(0, 0, 0, 0.15)',\n borderRadius: '10px',\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n pointer: {\n cursor: 'pointer'\n },\n});\n\nclass MyEndorsements extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n endorsements: props.endorsements,\n endorsement: {},\n loading: false,\n viewEndorsement: false,\n };\n }\n\n gridItem = (title, value, isMobile) => (\n \n \n {value || ''}\n \n \n {title || ''}\n \n \n )\n\n render() {\n const {classes} = this.props;\n\n const noDataSection = (\n \n You do not currently have any Endorsement applications to display\n \n );\n\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n return (\n this.state.loading && ||\n this.state.viewEndorsement && \n this.setState({endorsement: {}, viewEndorsement: false})}\n downloadCallback={() => this.props.downloadMemberEndorsementCallback(this.state.endorsement)}\n /> ||\n \n \n \n You may apply for an endorsement to accompany your firearm details and motivate the use\n of the firearm. Once approved, you can print it out and add to it to your application.\n \n \n \n \n \n {this.props.endorsements.length === 0 ? {noDataSection} : null}\n {this.props.endorsements.map((item, index) => (\n \n \n \n \n \n \n {item.title}\n \n \n \n \n {this.gridItem('Make', item.make, isMobile)}\n {this.gridItem('Calibre', item.caliber, isMobile)}\n {this.gridItem('Status', formatStatus(item.status), isMobile)}\n \n \n {\n this.setState({loading: true});\n this.setState({endorsement: this.state.endorsements[index]});\n this.setState({\n viewEndorsement: true,\n loading: false\n });\n }}\n >\n VIEW\n \n \n \n \n \n \n ))}\n \n \n \n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n endorsements: state.nEndorsementReducer.endorsements\n }\n};\n\nMyEndorsements.propTypes = {\n addEndorsementCallback: PropTypes.func.isRequired,\n};\n\nMyEndorsements.defaultProps = {\n endorsements : [],\n addEndorsementCallback: () => null,\n};\n\nexport default connect(mapStateToProps, null)(withStyles(styles)(MyEndorsements));","import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport {\n Card,\n CardContent,\n Divider,\n Grid,\n Typography\n} from '@material-ui/core';\n\nimport {\n IconLabelButton,\n SubtitleBar\n} from '../index';\nimport {\n formatISODateToLocaleString,\n getStatusColor\n} from '../../shared/helpers';\n\n\nconst styles = (theme) => ({\n root: {\n width: '100%',\n backgroundColor: theme.palette.common.white2.main,\n boxShadow: 'inset 0px 2px 6px rgba(0, 0, 0, 0.15)',\n borderRadius: '10px',\n },\n summarySpacing: {\n marginBottom: '16px'\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n});\nclass ViewEndorsement extends Component {\n constructor(props) {\n super(props);\n\n }\n\n gridItem = (title, value, isMobile) => (\n \n \n {value || '-'}\n \n \n {title || '-'}\n \n \n );\n \n render() {\n const {classes} = this.props;\n\n const formatStatus = item => \n {item};\n\n const isMobile = localStorage.getItem('isMobile') === 'true';\n \n return(\n \n \n {this.props.endorsement.status == 'Approved'?\n \n this.props.downloadCallback()}\n />\n :\n null}\n
\n \n \n \n \n \n \n \n \n {this.props.endorsement.title}\n \n \n \n \n \n \n {this.gridItem('Endorsement Number', this.props.endorsement.endorsementNo, isMobile)}\n {this.gridItem('Calibre', this.props.endorsement.caliber, isMobile)}\n {this.gridItem('Status', formatStatus(this.props.endorsement.status), isMobile)}\n {this.gridItem('Endorsement Type', this.props.endorsement.applicationType, isMobile)}\n {this.gridItem('Serial Number', this.props.endorsement.serialNumber, isMobile)}\n {this.gridItem('Type of Firearm', this.props.endorsement.fireArmType, isMobile)}\n {this.gridItem('Model', this.props.endorsement.model, isMobile)}\n {this.gridItem('Application Type', this.props.endorsement.applicationType, isMobile)}\n {this.gridItem('Section', this.props.endorsement.section, isMobile)}\n {this.gridItem('Application Date', formatISODateToLocaleString(this.props.endorsement.approvalDate), isMobile)}\n {this.gridItem('Make', this.props.endorsement.make, isMobile)}\n {this.gridItem('Motivation', this.props.endorsement.motivation, isMobile)}\n {this.gridItem('Rejection Reason', this.props.endorsement.reason, isMobile)}\n \n \n \n \n \n \n \n
\n );\n }\n}\n\nViewEndorsement.defaultProps = {\n backCallback: () => null,\n endorsement: {},\n downloadCallback: () => null,\n};\n\nViewEndorsement.propTypes = {\n backCallback: PropTypes.func.isRequired,\n endorsement: PropTypes.object.isRequired\n};\n\nexport default withStyles(styles)(ViewEndorsement);","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Grid,\n Typography\n} from '@material-ui/core';\n\nimport {\n Loader,\n Overview,\n SubtitleBar,\n} from '../index';\nimport {valid} from '../../shared/helpers';\nimport {updateObject} from '../../shared/utility';\nimport {editableSelectConfig} from '../../shared/constants';\nimport GenericTable from '../GenericTable/GenericTable';\nimport SITE_URL from '../../services/siteURL';\n\nconst columns = [\n {field: 'name', headerName: 'File Name'},\n {field: 'fileType', headerName:'Document Type'},\n {field: 'discription', headerName: 'Description'}\n];\n\nconst columnsMobile = [\n {field: 'name', headerName: 'File Name'},\n {field: 'discription', headerName: 'Description'}\n];\n\nconst initDocumentTypeFilter = (value, items) => ({\n title: 'Document Type',\n value: value,\n id: 'select-documentType',\n name: 'documentType',\n options: {\n ...editableSelectConfig,\n config: {\n ...editableSelectConfig.config,\n ...valid(value, editableSelectConfig.config.validate),\n elementConfig: {\n ...editableSelectConfig.config.elementConfig,\n options: items,\n },\n touched: true\n }\n }\n});\nclass MyDocuments extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n filterValue: {\n type: '-'\n },\n fileItems: [],\n documents: props.documents,\n document: {},\n loading: props.loading,\n };\n }\n\n handleLink = (item) => {\n\n const downloadLink = SITE_URL[SITE_URL.length -1] === '/' ? `${SITE_URL}${item.link}` : `${SITE_URL}/${item.link}`;\n window.open(downloadLink); \n }\n\n updateFilterValue = (obj) => {\n this.setState({\n filterValue: updateObject(this.state.filterValue, obj),\n });\n }\n\n filterOptions = (type) => {\n let fileItems = [];\n fileItems = [...this.props.documentFilterItems.documentTypes];\n const elements = [\n {\n ...initDocumentTypeFilter(type, fileItems),\n onChange: (e) => this.updateFilterValue({type: e.target.value}),\n }\n ];\n \n return {\n elements,\n callBack: this.filterDocuments,\n };\n };\n\n filterDocuments = (filter) => {\n let documents = this.props.documents;\n if (filter.documentType && filter.documentType !== '-') {\n \n documents = documents.filter(\n a => a.fileType ? \n a.fileType.toLowerCase() === filter.documentType.toLowerCase() : false\n );\n }\n \n this.setState({documents});\n };\n\n\n render() {\n const noDataSection = (\n \n There are no documents to display at this time\n \n );\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n this.state.loading && ||\n \n
\n \n \n All relevant documentation can found in this section. Use the filter button \n to search for a specific type of document. You can also download all of the\n NARFO targets in this section.\n \n \n \n {this.props.documents.length === 0 ? {noDataSection} : null}\n \n
\n );\n }\n}\n\nMyDocuments.propTypes = {\n documents: PropTypes.array.isRequired,\n documentFilterItems: PropTypes.shape({\n documentTypes: PropTypes.array.isRequired,\n }).isRequired,\n};\n\nMyDocuments.defaultProps = {\n documents: [],\n disciplineFilterItems: {\n documentTypes: [],\n },\n};\n\nexport default MyDocuments;","import React from 'react';\nimport {\n Grid,\n Typography,\n} from '@material-ui/core/';\nimport { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n heading: {\n paddingLeft: '0',\n fontSize: theme.typography.h4.fontSize,\n fontWeight: 'bold'\n },\n subHeading: {\n paddingLeft: '0',\n fontSize: theme.typography.h6.fontSize,\n fontWeight: 'bold'\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n }\n}));\n\nfunction SignupHeader() {\n const classes = useStyles();\n \n const headerContent = (\n \n \n \n Join the National Association of Responsible Firearm Owners\n \n \n \n

\n Welcome to the NARFO Members Application Page. Please complete all the details in the next pages. \n If you joined through a partner or representative, please click "YES" and select either a partner or \n representative or both. If no one assisted you, please keep both selects as "NO".\n

\n
\n\n \n \n Payment\n \n \n\n \n

\n Once all of the fields have been completed, you will be directed to the PayFast payment gateway.\n This is a secure South Africa payment gateway and you can either pay by credit, debit or EFT.\n Our membership fees are fixed at R490.00 which subscribes you to our service for 365 days.\n

\n
\n\n \n \n Profile activation\n \n \n\n \n

\n Once your application has been submitted and payment is received, your profile will be \n automatically activated and you can access your profile. Please check your profile once \n logged in and ensure that all details are correct. \n\n

If you have a dedicated status with another association, we can transfer your status to this platform.
\n Your journey is about to begin.
\n\n

\n
\n
\n );\n \n\n \n return (\n \n \n {headerContent}\n \n \n \n );\n}\n\nexport default SignupHeader;","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport SubtitleBar from '../SubtitleBar/SubtitleBar';\nimport { \n SET_FIREARM_LICENCE_RECORD,\n SET_FIREARM_LICENCE_LIST\n} from '../../store/Licence/types';\nimport { Grid } from '@material-ui/core';\nimport {\n IconLabelButton,\n Loader,\n} from '../index';\nimport {\n checkValidity,\n updateObject,\n initSelect\n} from '../../shared/utility';\nimport {\n editableTextInputConfig\n} from '../../shared/constants';\nimport PropType from 'prop-types';\nimport EditableGridLabel from '../EditableGridLabel/EditableGridLabel';\nimport { connect } from 'react-redux';\nimport { toast } from 'react-toastify';\nimport { format } from 'date-fns';\nimport 'react-toastify/dist/ReactToastify.css';\n\ntoast.configure();\nclass ViewLicenseReminders extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n licenseReminder: {},\n licenseReminderResponse: {},\n editDetails: false,\n loading: false,\n controls: this.initControls()\n };\n }\n\n componentDidMount() {\n let __firearmReminder = this.props.firearmLicenceRecord;\n let expiryDate = new Date(__firearmReminder.expiryDate);\n let issueDate = new Date(__firearmReminder.issueDate)\n\n if (issueDate)\n __firearmReminder.issueDate = format(new Date(__firearmReminder.issueDate.split('T')[0]),'yyyy/MM/dd');\n else\n console.log(\"issued Date : \" + __firearmReminder.issuedDate + \" cannot be converted. Just display as is\");\n\n if (expiryDate)\n __firearmReminder.expiryDate = format(new Date(__firearmReminder.expiryDate.split('T')[0]),'yyyy/MM/dd');\n else\n console.log(\"Expiry Date : \" + __firearmReminder.expiryDate + \" cannot be converted. Just display as is\");\n \n this.setState({ licenseReminder: __firearmReminder });\n }\n\n initControls = () => ({\n firearm: {...editableTextInputConfig},\n serialNumber: {...editableTextInputConfig},\n issueDate: {...editableTextInputConfig},\n make: {...editableTextInputConfig},\n licenseNo: {...editableTextInputConfig},\n expiryDate: {...editableTextInputConfig},\n caliber: {...editableTextInputConfig},\n section: initSelect(this.props.section),\n description: {...editableTextInputConfig},\n });\n\n editableGridLable = (title, name, stretch, isMobile) => (\n \n );\n\n handleLabelChange = controlName => event => {\n const newValue = event.target.value;\n const validity = checkValidity (newValue, this.state.controls[controlName].config.validate);\n const updatedControls = updateObject(this.state.controls[controlName], {\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n let formHasErrors = false;\n const controls = {\n ...this.state.controls,\n [controlName]: updatedControls,\n };\n Object.keys(controls).forEach(key => {\n if(!controls[key].config.valid) {\n formHasErrors = true;\n }\n });\n this.setState({\n controls,\n licenseReminder: {\n ...this.state.licenseReminder,\n [controlName]: newValue\n },\n formHasErrors,\n });\n };\n\n handleSubmit = () => {\n const data = {\n firearm: this.state.licenseReminder.firearm,\n serialNumber: this.state.licenseReminder.serialNumber,\n issueDate: this.state.licenseReminder.issueDate,\n make: this.state.licenseReminder.make,\n licenseNo: this.state.licenseReminder.licenseNo,\n expiryDate: this.state.licenseReminder.expiryDate,\n caliber: this.state.licenseReminder.caliber,\n section: this.state.licenseReminder.section,\n description: this.state.licenseReminder.description\n };\n\n this.setState({ loading: true, editDetails: false });\n this.props.updateLicenseReminderCallback(data)\n .then(res => {\n this.props.onLicenseRecordUpdate(res.data);\n\n let tempList = this.props.firearmLicence;\n let updatedObjectIndex = this.props.firearmLicence.findIndex(element => element.licenseNo == res.data.licenseNo);\n \n tempList[updatedObjectIndex] = {...res.data};\n \n //Update the list with new one \n this.props.onLicenseRecordListUpdate(tempList);\n })\n .finally(() => this.setState({loading: false}));\n }\n\n cancelForm = () => {\n this.setState({\n licenseReminder: {...this.props.firearmLicenceRecord},\n editDetails: false,\n formHasErrors: true,\n controls: this.initControls(),\n });\n }\n \n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n this.setState({editDetails:true})}\n remove={true}\n back\n onBack={this.props.backCallback}\n deleteLicenseReminderCallback={() => {\n this.props.deleteLicenseReminderCallback(this.state.licenseReminder.licenseNo)\n .then(res => {\n if(res.data.isFound){\n this.props.onLicenseRecordListUpdate(\n this.props.firearmLicence.filter(element => element.licenseNo !== res.data.licensedFirearm.licenseNo)\n ); \n toast.success(res.data.message);\n } else {\n toast.error(res.data.message);\n }\n })\n .finally(this.props.backCallback);\n }}\n />\n
\n \n {this.editableGridLable('Firearm', 'firearm', false, isMobile)}\n {this.editableGridLable('Serial Number', 'serialNumber', false, isMobile)}\n {this.editableGridLable('Issue date', 'issueDate', false, isMobile)}\n {this.editableGridLable('Expiry date', 'expiryDate',false, isMobile)}\n {this.editableGridLable('Make', 'make', false, isMobile)}\n {this.editableGridLable('License number', 'licenseNo', false, isMobile)}\n {this.editableGridLable('Caliber', 'caliber', false, isMobile)}\n {this.editableGridLable('Section', 'section', false, isMobile)}\n {this.editableGridLable('Notes', 'description', true, isMobile)}\n \n
\n {this.state.editDetails &&
\n \n \n
}\n {this.state.loading && }\n \n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n firearmLicence: state.LicenceReducer.firearmLicence,\n firearmLicenceRecord: state.LicenceReducer.firearmLicenceRecord\n});\n\nconst mapDispatchToProps = dispatch => ({\n onLicenseRecordUpdate: response => dispatch({ type: SET_FIREARM_LICENCE_RECORD, payload: response }),\n onLicenseRecordListUpdate: newList => dispatch({ type: SET_FIREARM_LICENCE_LIST, payload: newList })\n});\n\nViewLicenseReminders.defaultProps = {\n backCallback: () => null,\n licenseReminder: {},\n updateLicenseReminderCallback: data => Promise.resolve(data)\n};\n\nViewLicenseReminders.protoTypes = {\n licenseReminder: PropTypes.shape({\n firearm: PropType.string,\n serialNumber: PropType.string,\n issueDate: PropType.string,\n make: PropType.string,\n licenseNo: PropType.string,\n expiryDate: PropType.string,\n caliber: PropType.string,\n section: PropType.string,\n description: PropType.string\n }).isRequired,\n updateLicenseReminderCallback: PropTypes.func.isRequired,\n backCallback: PropTypes.func.isRequired\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ViewLicenseReminders);","export const SET_FIREARM_LICENCE_STATUS = 'SET_FIREARM_LICENCE_STATUS';\nexport const SET_FIREARM_LICENCE_LIST = 'SET_FIREARM_LICENCE_LIST';\nexport const SET_FIREARM_LICENCE_RECORD = 'SET_FIREARM_LICENCE_RECORD';\nexport const SET_FIREARM_LICENCE_APPLICATION_LIST = 'SET_FIREARM_LICENCE_APPLICATION_LIST';","import {\n SET_FIREARM_LICENCE_STATUS,\n SET_FIREARM_LICENCE_LIST,\n SET_FIREARM_LICENCE_RECORD,\n SET_FIREARM_LICENCE_APPLICATION_LIST\n} from './types';\nimport {\n getDayDifferenceFromToday\n} from '../../shared/helpers';\n\nconst fetchFirearmLicenceStatus = service => id => dispatch => service.getFirearmLicence(id)\n .then((res) => {\n let expired = 0;\n let toBeRenewed = 0;\n let firearms = res.data.length;\n\n res.data.forEach(licence => {\n const dayDiff = getDayDifferenceFromToday(licence.expiryDate);\n if(dayDiff < 0) {\n expired += 1;\n }\n //Check if needs to be renewed\n if((dayDiff < 120) && !(dayDiff < 0)) \n toBeRenewed += 1;\n });\n return { expired, toBeRenewed, firearms };\n })\n .then((res) => dispatch({ type: SET_FIREARM_LICENCE_STATUS, payload: res }))\n .catch(() => dispatch({ type: SET_FIREARM_LICENCE_STATUS, payload: {} }));\n\nconst fetchMemberLicenseReminders = service => id => dispatch => service.getFirearmLicence(id)\n .then((res) => dispatch({ type: SET_FIREARM_LICENCE_LIST, payload: res.data }))\n .catch(() => dispatch({ type: SET_FIREARM_LICENCE_LIST, payload: [] }));\n\nconst fetchMemberLicenseReminderRecord = service => id => dispatch => service.getFirearmLicenceByID(id)\n .then(res => dispatch({ type: SET_FIREARM_LICENCE_RECORD, payload: res.data }))\n .catch(() => dispatch({ type: SET_FIREARM_LICENCE_RECORD, payload: {} }));\n\n //License Applications \nconst fetchMemberLicenseApplications = service => memNo => dispatch => service.getLicenseApplicationsByMemNo(memNo)\n .then((res) => dispatch({ type: SET_FIREARM_LICENCE_APPLICATION_LIST, payload: res.data }))\n .catch(() => dispatch({ type: SET_FIREARM_LICENCE_APPLICATION_LIST, payload: [] }));\n\nexport default function(licenceService) {\n return {\n fetchFirearmLicenceStatus: fetchFirearmLicenceStatus(licenceService),\n fetchMemberLicenseReminders: fetchMemberLicenseReminders(licenceService),\n fetchMemberLicenseReminderRecord: fetchMemberLicenseReminderRecord(licenceService),\n fetchMemberLicenseApplications: fetchMemberLicenseApplications(licenceService)\n };\n}\n","import axios from 'axios';\nimport API_URL from './apiUrl';\n\nconst getFirearmLicence = headers => id => axios\n .get(`${API_URL}/LicensedFirearms/getlicense/${id}`, { headers });\n\n const getLicenseApplicationsByMemNo = headers => memNo => axios\n .get(`${API_URL}/LicensedFirearms/GetLicenseApplicationsByMemNo?memNo=${memNo}`, { headers });\n\nconst getFirearmLicenceByID = headers => id => axios\n .get(`${API_URL}/LicensedFirearms/get/${id}`, { headers });\n\nconst updateLicenseReminderCallback = headers => data => axios\n .post(`${API_URL}/LicensedFirearms/update`, data, { headers });\n\nconst deleteLicenseReminderCallback = headers => id => axios({\n url: `${API_URL}/LicensedFirearms/delete/${id}`,\n method: 'post',\n headers: headers\n});\n\nconst deleteLicenseApplicationCallback = headers => id => axios({\n url: `${API_URL}/LicensedFirearms/RemoveLicenseApplication?referenceNo=${id}`,\n method: 'post',\n headers: headers\n});\n\nconst addLicenseReminderCallback = headers => data => axios\n .post(`${API_URL}/LicensedFirearms/post`, data, { headers });\n\nconst postLicenseApplication = headers => data => axios\n .post(`${API_URL}/LicensedFirearms/PostLicenseApplication`, data, { headers });\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n getFirearmLicence: getFirearmLicence(headers),\n getFirearmLicenceByID: getFirearmLicenceByID(headers),\n updateLicenseReminderCallback: updateLicenseReminderCallback(headers),\n deleteLicenseReminderCallback: deleteLicenseReminderCallback(headers),\n deleteLicenseApplicationCallback: deleteLicenseApplicationCallback(headers),\n addLicenseReminderCallback: addLicenseReminderCallback(headers),\n getLicenseApplicationsByMemNo: getLicenseApplicationsByMemNo(headers),\n postLicenseApplication: postLicenseApplication(headers)\n };\n}\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { \n Typography,\n Grid \n} from '@material-ui/core';\nimport LicenceService from '../../services/licence.service';\nimport LicenceActions from '../../store/Licence/actions';\nimport MappedInput from '../MappedInput/MappedInput';\nimport SubtitleBar from '../SubtitleBar/SubtitleBar';\nimport {\n editableCalendarConfig,\n editableTextInputConfig,\n firearmType\n} from '../../shared/constants';\nimport {\n EditableGridLabel,\n IconLabelButton,\n Loader\n} from '../index';\nimport { checkValidity, updateObject, initSelect } from '../../shared/utility';\n\nclass AddLicenseReminder extends Component {\n constructor(props) {\n super(props);\n this.licenceService = LicenceService(this.props.token);\n this.licenceActions = this.props.licenceActions(this.licenceService);\n this.state = {\n controls: this.initControls(),\n _memNo: this.props.memNo,\n licenseRecord: {\n custom: '',\n caliber: '',\n expiryDate: new Date(),\n firearm: '',\n issueDate: new Date(),\n licenseNo: '',\n licenseType: '',\n make: '',\n model: '',\n section: '',\n serialNumber: '',\n description: ''\n },\n selectedRadio: firearmType.FIREARM,\n radioGroupConfig: {\n elementType: 'radioGroup',\n elementConfig: {\n direction: 'row',\n radios: [\n { value: firearmType.FIREARM, label: 'Firearm' },\n { value: firearmType.CUSTOM, label: 'Custom' }\n ]\n }\n },\n loading: false,\n formHasErrors: true,\n };\n }\n\n initControls = () => ({\n custom: {...editableTextInputConfig},\n caliber: {...editableTextInputConfig},\n expiryDate: {...editableCalendarConfig},\n firearm: {...editableTextInputConfig},\n issueDate: {...editableCalendarConfig},\n licenseNo: {...editableTextInputConfig},\n licenseType: {...editableTextInputConfig},\n make: {...editableTextInputConfig},\n model: {...editableTextInputConfig},\n section: initSelect(this.props.section),\n serialNumber: {...editableTextInputConfig},\n description: {...editableTextInputConfig}\n })\n\n handleRadioChange = event => {\n const value = event.target.value;\n this.setState({ \n selectedRadio: value,\n controls: this.initControls()\n });\n }\n\n handleLabelChange = controlName => event => {\n let value = event;\n if(event?.target) {\n value = event.target.value;\n }\n value = typeof value === 'number' ? value.toString() : value;\n const validity = checkValidity(value === '-' ? '' : value, this.state.controls[controlName].config.validate);\n const updatedControls = updateObject(this.state.controls[controlName], {\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n let formHasErrors = false;\n const controls = {\n ...this.state.controls,\n [controlName]: updatedControls,\n };\n Object.keys(controls).forEach(key => {\n if(!controls[key].config.valid) {\n formHasErrors = true;\n }\n });\n\n this.setState({\n controls,\n licenseRecord: {\n ...this.state.licenseRecord,\n [controlName]: value,\n },\n formHasErrors\n });\n };\n\n label = (title, name, fullWidth) => (\n \n \n \n )\n\n handleSubmit = async () => {\n this.setState({ loading: true });\n let formHasErrors = false;\n let controls = this.state.controls;\n Object.keys(this.state.licenseRecord).forEach(key => {\n let value = this.state.licenseRecord[key];\n value = typeof value === 'number' ? value.toString() : value;\n const validity = checkValidity(\n value === '-' ? '' : value, \n controls[key].config.validate\n );\n const updatedControls = updateObject(controls[key], {\n config: updateObject(controls[key].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n controls = {\n ...controls,\n [key]: updatedControls,\n };\n if (value === '-') {\n formHasErrors = true;\n }\n });\n if (!formHasErrors) {\n const licenseRecord = {...this.state.licenseRecord};\n licenseRecord.memNo = this.state._memNo;\n this.state.selectedRadio === firearmType.FIREARM ?\n licenseRecord.custom = 'false' :\n licenseRecord.custom = 'true';\n await this.props.addLicenseReminderCallback(licenseRecord)\n .then(() => this.licenceActions.fetchMemberLicenseReminders(this.props.memNo))\n ;\n this.setState({ loading: false });\n this.props.backCallback();\n } else {\n this.setState({ loading: false, formHasErrors, controls });\n }\n }\n\n render() {\n return (\n \n \n
\n \n \n
\n Reminder type\n \n
\n
\n \n {this.label('Firearm', 'firearm')}\n {this.state.selectedRadio === firearmType.FIREARM ?\n this.label('Make', 'make') :\n null}\n {this.state.selectedRadio === firearmType.FIREARM ?\n this.label('Model', 'model') :\n null}\n {this.state.selectedRadio === firearmType.FIREARM ?\n this.label('Caliber', 'caliber') :\n null}\n {this.state.selectedRadio === firearmType.FIREARM ?\n this.label('Serial Number', 'serialNumber') :\n null}\n {this.label('License Number', 'licenseNo')}\n {this.state.selectedRadio === firearmType.FIREARM ?\n this.label('Section', 'section') :\n null}\n {this.label('Issue Date', 'issueDate')}\n {this.label('Expiry Date', 'expiryDate')}\n {this.label('Notes', 'description', true)}\n \n
\n
\n
\n {!this.state.loading && }\n {this.state.loading && }\n
\n
\n );\n }\n}\n\nconst initialiseLicenceActions = dispatch => (licenceService) => {\n const action = LicenceActions(licenceService);\n return {\n fetchMemberLicenseReminders: (id) => dispatch(action.fetchMemberLicenseReminders(id))\n };\n};\n\nconst mapStateToProps = state => ({\n firearmLicenceList: state.LicenceReducer.firearmLicence,\n token: state.AuthReducer.token,\n});\n\nconst mapDispatchToProps = dispatch => ({\n licenceActions: initialiseLicenceActions(dispatch),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AddLicenseReminder);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport {\n Typography\n} from '@material-ui/core';\nimport {\n SubtitleBar,\n Overview\n} from '../index';\nimport GenericTable from '../GenericTable/GenericTable';\nimport Loader from '../Loader/Loader';\nimport ViewLicenseReminders from './VewLicenseReminders';\nimport LicenceActions from '../../store/Licence/actions';\nimport licenceService from '../../services/licence.service';\nimport AddLicenseReminder from './AddLicenseReminder';\n\nconst columns = [\n { field: 'firearm', headerName: 'Firearm Name' },\n { field: 'custom', headerName: 'Type' },\n { field: 'serialNumber', headerName: 'Serial Number' },\n { field: 'licenseNo', headerName: 'License Number' },\n { field: 'issueDate', headerName: 'Issue Date' },\n { field: 'remainingDays', headerName: 'Expires In' }\n];\nconst columnsMobile = [\n { field: 'licenseNo', headerName: 'License Number' },\n { field: 'issueDate', headerName: 'Issue Date' },\n];\n\nclass LicenseRemindersDetails extends Component {\n constructor(props) {\n super(props);\n this.licenceService = licenceService(this.props.token);\n this.licenceActions = this.props.licenceActions(this.licenceService);\n\n this.state = {\n viewLicense: false,\n addLicense: false,\n licenseReminder: {},\n _firearmLicenseList: [],\n loading: false\n };\n }\n static getDerivedStateFromProps(nextProps) {\n let __firearmLicense = [];\n __firearmLicense = nextProps.firearmLicenceList;\n if(__firearmLicense.legnth !== 0) {\n __firearmLicense.map((item) => {\n if(item.custom === 'false' || item.custom === 'Firearm'){\n item.custom = 'Firearm';\n } else {\n item.custom = 'Custom';\n }\n item.issued = item.issued.split(' ')[0];\n if(!item.remainingDays.toString().includes('days')){\n item.remainingDays = `${item.remainingDays} days`;\n }\n });\n }\n \n return { _firearmLicenseList: __firearmLicense };\n }\n\n render() {\n\n return (\n this.state.loading && ||\n this.state.viewLicense && this.setState({licenseReminder: {}, viewLicense: false})}\n licenseReminder={this.state.licenseReminder}\n updateLicenseReminderCallback={this.props.updateLicenseReminderCallback}\n deleteLicenseReminderCallback={this.props.deleteLicenseReminderCallback}\n section={this.props.sectionLookup.map(g => ({\n value: g.section,\n label: g.section\n }))}\n /> ||\n this.state.addLicense && this.setState({licenseReminder: {}, addLicense: false})}\n section={this.props.sectionLookup.map(g => ({\n value: g.section,\n label: g.section\n }))}\n addLicenseReminderCallback={this.props.addLicenseReminderCallback}\n memNo={this.props.memNo}\n getFirearmLicence={this.props.getFirearmLicence}\n /> ||\n
\n \n \n Please note that it remains the responsibility of each member to timelessly renew their firearm license in accordance with the Firearms Control Act 60 of 2000 and the Regulations.\n The system was designed to send you a reminder email at 120 days before the expiry of the specific licence. NARFO does not take any responsibility for any reminder that the member failed to receive or a failure of the system.\n \n \n
\n this.setState({ addLicense: true })}\n downloadLicenseReminders\n downloadLicenseRemindersCallback={\n () => this.props.downloadLicenseRemindersCallback(this.state._firearmLicenseList, '#auto-table')\n }\n />\n \n
\n\n {\n this.setState({ loading: true });\n this.licenceActions.fetchMemberLicenseReminderRecord(item.licenseNo)\n .then(() => this.setState({\n viewLicense: true,\n loading: false\n }));\n }}\n />\n
\n
\n
\n );\n }\n}\n\nconst initialiseLicenceActions = dispatch => (licenceService) => {\n const action = LicenceActions(licenceService);\n return {\n fetchMemberLicenseReminderRecord: (id) => dispatch(action.fetchMemberLicenseReminderRecord(id))\n };\n};\n \nconst mapDispatchToProps = dispatch => ({\n licenceActions: initialiseLicenceActions(dispatch),\n});\n\nconst mapStateToProps = state => ({\n\ttoken: state.AuthReducer.token,\n\tfirearmLicenceList: state.LicenceReducer.firearmLicence,\n\tsectionLookup: state.nLookupReduder.sectionLookup,\n\tmemNo: state.AuthReducer.memNo\n});\n\nLicenseRemindersDetails.propTypes ={\n downloadLicenseRemindersCallback: PropTypes.func.isRequired\n};\n\nLicenseRemindersDetails.defaultProps = {\n downloadLicenseRemindersCallback: () => Promise.resolve(null)\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(LicenseRemindersDetails);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport axios from 'axios';\nimport { withStyles } from '@material-ui/core/styles';\nimport { ArrowBackIos } from '@material-ui/icons/';\nimport {\n Button,\n Grid,\n Typography\n} from '@material-ui/core/';\n\nimport API_URL from '../../services/apiUrl';\nimport SITE_URL from '../../services/siteURL';\nimport GenericTable from '../GenericTable/GenericTable';\n\n\nconst styles = () => ({\n heading: {\n marginBottom:'16px'\n },\n});\n\nconst formatAmount = item =>\n R {item};\n\nconst columns = [\n { field: 'service', headerName: 'Service' },\n { field: 'description', headerName: 'Description'},\n { field: 'amount', headerName: 'Amount', format: formatAmount},\n];\n\nclass PayfastBlockMonthly extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n itemName: '',\n merchantID: '',\n merchantKey: '',\n amount: 0,\n toMyAccount: false,\n dualPayment: false,\n membershipTypeId: this.props.membershipType ? this.props.membershipType.id : null,\n includesNarfoMembership: this.props.includeNarfoMembership == true ? 'true' : 'false',\n nextBillingDate: null\n };\n }\n\n componentDidMount() {\n const Cryptr = require('cryptr');\n const cryptr = new Cryptr('myTotalySecretKey');\n\n // Get the current date\n const currentDate = new Date();\n\n // Create a new date for next year\n const nextPaymentDate = new Date(currentDate);\n\n // Increment the year by 1\n nextPaymentDate.setFullYear(nextPaymentDate.getFullYear() + 1);\n\n const formattedDate = nextPaymentDate.toISOString().substring(0, 10);\n\n this.setState({nextBillingDate: formattedDate})\n\n axios.get(API_URL + '/PayFastDetails').then(res => {\n\n let storeId = this.props.memberData.storeId;\n const membershipType = this.props.membershipType;\n\n \n if(storeId > 0)\n {\n let payfastD = res.data.find(s => s.store?.storeId == storeId);\n \n if(this.props.membershipType){\n this.setState({\n itemName: payfastD.itemName,\n amount: Number(this.props.totalDue).toFixed(2),\n merchantID: cryptr.decrypt(payfastD.merchantId),\n merchantKey: cryptr.decrypt(payfastD.merchantKey) \n });\n\n return;\n }\n else if(payfastD != undefined || payfastD != null)\n {\n this.setState({\n itemName: payfastD.itemName,\n amount: this.props.totalDue ? this.props.totalDue : payfastD.amount,\n merchantID: cryptr.decrypt(payfastD.merchantId),\n merchantKey: cryptr.decrypt(payfastD.merchantKey) \n });\n }\n else\n {\n //Member's partner has no amount in payfast table \n this.setState({\n itemName: res.data[0].itemName,\n amount: res.data[0].amount,\n merchantID: cryptr.decrypt(res.data[0].merchantId),\n merchantKey: cryptr.decrypt(res.data[0].merchantKey) \n });\n }\n }\n else{\n //Default Narfo details\n this.setState({\n itemName: res.data[0].itemName,\n amount: res.data[0].amount,\n merchantID: cryptr.decrypt(res.data[0].merchantId),\n merchantKey: cryptr.decrypt(res.data[0].merchantKey) \n });\n }\n });\n }\n\n render() {\n const {classes} = this.props; \n const _itemName = `${this.props.memberData.firstname} ${this.props.memberData.surname} ${new Date().getFullYear() + 1} Membership Fee`;\n const rows = [\n {service: 'Membership',\n description: 'Membership subscription',\n // description: this.state.itemName,\n amount: this.state.amount}\n ];\n return (\n \n \n \n this.props.back()}/>\n Payfast Payment\n \n \n\n \n \n
\n
\n \n \n \n \n \n \n \n\n \n\n \n \n\n \n \n\n \n \n \n \n \n\n \n \n\n \n {/* Next billing Date */}\n \n {/*Yearly*/}\n {/*infinite - Member to contact admin for cancellation*/}\n \n \n \n {}}\n >\n Proceed to Payfast\n \n \n
\n\n \n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n memberData: state.ProfileReducer.memberData,\n});\n\nexport default connect(mapStateToProps, null)(withStyles(styles)(PayfastBlockMonthly));","import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport axios from 'axios';\nimport API_URL from '../../services/apiUrl';\nimport { \n Typography,\n Grid,\n Button,\n Input,\n InputLabel,\n FormControl,\n FormHelperText,\n Divider,\n} from '@material-ui/core';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport PropType from 'prop-types';\nimport {DateTime} from 'luxon';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport FormLabel from '@material-ui/core/FormLabel';\nimport { \n ManualPayment,\n PayfastBlock,\n SubtitleBar \n} from '../index';\nimport GenericTable from '../GenericTable/GenericTable';\nimport { formatISODateToLocaleString } from '../../shared/helpers';\nimport PayfastBlockSubscription from '../PaymentHandling/PayfastBlockSubscription';\n\nconst formatAmount = item =>\n R {item};\n\nconst columns = [\n { field: 'paymentType', headerName: 'Payment Type' },\n { field: 'amountPaid', \n headerName: 'Amount Paid',\n format: formatAmount,},\n {\n field: 'paymentDate',\n headerName: 'Payment Date',\n description: 'Click on the arrow to change sort order',\n sortable: true,\n format: (item) => formatISODateToLocaleString(item), \n sortFunction: (itemData, sortOrder) => itemData\n .sort((b, a) => sortOrder * new Date(a.paymentDate) - sortOrder * new Date(b.paymentDate)), \n },\n];\n\nconst columnsMobile = [\n\t{ field: 'amountPaid', \n\t headerName: 'Paid',\n\t format: formatAmount,},\n\t{\n\t field: 'paymentDate',\n\t headerName: 'Date',\n\t description: 'Click on the arrow to change sort order',\n\t sortable: true,\n\t format: (item) => formatISODateToLocaleString(item), \n\t sortFunction: (itemData, sortOrder) => itemData\n\t\t.sort((b, a) => sortOrder * new Date(a.paymentDate) - sortOrder * new Date(b.paymentDate)), \n\t},\n ];\n\nconst CURRENT_PASSWORD = 'currentPassword';\nconst NEW_PASSWORD = 'newPassword';\nconst CONFIRM_PASSWORD = 'confirmPassword';\n\nconst styles = (theme) => ({\n paragraph: {\n ...theme.typography.paragraph,\n fontSize: '1rem',\n paddingLeft: '0',\n textAlign: 'justify',\n paddingBottom: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n onlineButton: {\n margin: theme.spacing(4),\n },\n offlineButton: {\n margin: theme.spacing(4),\n },\n});\n\nclass ProfileAccountDetails extends Component {\n\n constructor(props) {\n super(props);\n\n //Get member number from local storage\n let memberNumber = localStorage.getItem('memNo');\n\n this.state = {\n data: {\n currentPassword: '',\n memberNumber: memberNumber ? memberNumber : 'NM-001',\n newPassword: '',\n confirmPassword: '',\n },\n passwordErrors: {\n old: '',\n new: '',\n confirm: '',\n },\n viewAccountDetails: false,\n account: {},\n payFastView: false,\n payFastMonthlyView : false,\n manualPayView: false,\n isPasswordChangeSuccess :false,\n selectedMembershipType: null,\n defaultMembership: null,\n includeNarfoMembership:false,\n totalDue: 0,\n membershipLength:0,\n ...this.setupPaymentDetails()\n };\n this.handleManualPayView = this.handleManualPayView.bind(this);\n\n }\n\n componentDidMount(){\n this.setupDefaultPayment();\n\n //Get history of accounts \n // axios.get(API_URL + \"/account/member/\" + this.props.memberData.memNo, {\n // headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n // }).then(res => {\n // if(res.data.length > this.props.accountHistory.length){\n // this.setState({accountHistory: res.data})\n // }\n // }\n \n // );\n }\n setupPaymentDetails(){\n const membership = [...this.props.membershipTypes]; \n return({\n membershipTypes: membership,\n })\n }\n\n\n setupDefaultPayment=()=>{\n\n let defaultNarfo = null;\n\n axios.get(API_URL + '/PayFastDetails').then(res => {\n\n let storeId = this.props.memberData.storeId;\n\n if(storeId > 0)\n {\n let payfastD = res.data.find(s => s.store?.storeId == storeId);\n\n if(payfastD)\n {\n axios.get(API_URL + `/account/GetProrataFeeByPartnerId?partnerId=${storeId}&memberNo=${this.props.memberData.memNo}`).then(res => {\n \n this.setState({membershipLength: res.data.days})\n if(payfastD != undefined || payfastD != null)\n {\n payfastD.amount = res.data.fee;\n defaultNarfo = payfastD;\n \n this.setState(\n {\n defaultMembership: {...defaultNarfo},\n totalDue: this.state.membershipTypes ? 0: res.data.fee\n })\n \n }\n else\n defaultNarfo = res.data[0];\n })\n .catch(error => {\n console.log(\"Error retrieving pro rata fee\", error);\n defaultNarfo = payfastD;\n });\n }\n else{\n //Assign default Narfo amount \n defaultNarfo = res.data[0];\n\n this.setState(\n {\n defaultMembership: {...defaultNarfo},\n totalDue: !defaultNarfo ? 0 : defaultNarfo.amount\n })\n \n }\n }\n else\n defaultNarfo = res.data[0];\n\n this.setState(\n {\n defaultMembership: {...defaultNarfo},\n totalDue: !defaultNarfo ? 0 : defaultNarfo.amount\n })\n\n });\n }\n handleSubmit = (event) => {\n\n event.preventDefault();\n this.props.resetPasswordCallback(this.state.data)\n .then((response) =>{\n this.setState({\n ...this.state,\n data: {\n ...this.state.data,\n currentPassword: '',\n confirmPassword: '',\n newPassword: '',\n },\n passwordErrors: {\n old: '',\n new: '',\n confirm: '',\n },\n isPasswordChangeSuccess:true})\n })\n .catch((err) => \n {\n this.setState({\n ...this.state,\n passwordErrors: {old: err.response.data.message},\n isPasswordChangeSuccess:false\n })});\n }\n \n handleInput = event => {\n const name = event.target.name;\n const newValue = event.target.value;\n\n //handle errors\n if(name === NEW_PASSWORD) {\n this.setState({\n passwordErrors: {\n ...this.state.passwordErrors,\n new: newValue.length < 8 ?\n 'Password length must be at least 8 characters' : '',\n confirm: '',\n },\n data: {\n ...this.state.data,\n confirmPassword: '',\n [name]: newValue,\n },\n isPasswordChangeSuccess:false\n });\n }\n\n if(name === CURRENT_PASSWORD) {\n this.setState({\n data: {\n ...this.state.data,\n [name]: newValue,\n },\n isPasswordChangeSuccess:false\n });\n }\n\n if(name === CONFIRM_PASSWORD) {\n this.setState({\n passwordErrors: {\n ...this.state.passwordErrors,\n confirm: newValue !== this.state.data.newPassword ?\n 'Passwords must match' : '',\n },\n data: {\n ...this.state.data,\n [name]: newValue,\n },\n isPasswordChangeSuccess:false\n });\n }\n };\n \n handlePayFastView = () => {\n\n this.setState((prevState) => ({\n payFastView: !prevState.payFastView\n }));\n };\n\n handlePayFastSubscription = () => {\n this.setState((prevState) => ({\n payFastMonthlyView: !prevState.payFastMonthlyView\n }));\n };\n\n handleManualPayView = () => {\n if(this.state.manualPayView)\n {\n //Clear the form \n }\n\n this.setState((prevState) => ({\n manualPayView: !prevState.manualPayView\n }));\n }\n\n onViewTableItem = (item) => {\n\n item.data = item.data?.map(invoice => {\n return {\n ...invoice,\n invoiceDate: new Date(invoice.invoiceDate).toLocaleDateString()\n };\n });\n\n this.setState({\n viewAccountDetails: true,\n account: {...item},\n });\n }\n\n handleRadioMembershipType = (value) => {\n const total = this.state.selectedMembershipType ? this.state.totalDue + value.fee - this.state.selectedMembershipType.fee: this.state.totalDue + value.fee\n this.setState({ selectedMembershipType: value, totalDue: total});\n };\n\n handleIncludeNarfoMembership =(event)=>{\n event.preventDefault();\n\n let total = !this.state.includeNarfoMembership \n ? this.state.totalDue + this.state.defaultMembership.amount \n : this.state.totalDue - this.state.defaultMembership.amount\n\n this.setState({totalDue: total,includeNarfoMembership: !this.state.includeNarfoMembership})\n\n \n }\n\n gridItem = (title, value, isMobile) => (\n \n \n {value || '-'}\n \n \n {title || '-'}\n \n \n )\n\n accountDetails = (account = {}, isMobile) => (\n \n this.setState({viewAccountDetails: false})}\n />\n\n {\n [...this.state.account.data].reverse().map(invoiceDetails =>
\n
\n { invoiceDetails.costCode !== null? this.props.printAccountTransactionCallback(invoiceDetails)}\n />\n :\n \n }\n
\n \n {this.gridItem('Invoice date', invoiceDetails.invoiceDate, isMobile)}\n {this.gridItem('Invoice number', invoiceDetails.invoiceNumber, isMobile)}\n {this.gridItem('Payment method', invoiceDetails.paymentMethod, isMobile)}\n {this.gridItem('Receipt number', invoiceDetails.recieptNumber, isMobile)}\n {this.gridItem('Year', invoiceDetails.year, isMobile)}\n {this.gridItem('Amount', 'R '+invoiceDetails.amountPaid, isMobile)}\n \n \n \n {this.gridItem('Transaction number', invoiceDetails.transactionNo, isMobile)}\n \n\n \n
)\n }\n\n
\n );\n\n render() {\n const {classes} = this.props;\n const passwordErrors = this.state.passwordErrors;\n const expiryDate = DateTime.fromISO(this.props.accountStatus.expiryISO);\n const daysLeft = expiryDate.diffNow('days').days;\n const partnerExpiryDate = DateTime.fromISO(this.props.memberData.partnerExpiryDate);\n const partnerDaysLeft = Math.round(partnerExpiryDate.diffNow('days').days);\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n \n const paymentBlock = (\n \n \n\n \n You may proceed by making an online payment or a direct deposit.\n \n \n Please follow the appropriate link below.\n \n\n
\n {\n this.props.membershipTypes?.length > 0 && \n Select Membership Type\n\n \n\n {this.state.membershipTypes.map((membership) => (\n this.handleRadioMembershipType(membership)}\n />\n }\n label={this.state.membershipTypes.length > 1 ? `R${membership.fee}/year - ${membership.name}` : `R${membership.fee}`}\n />\n \n ))}\n \n\n {this.props.membershipTypes?.length > 0 && this.handleIncludeNarfoMembership(event)} />\n } \n \n label={`Include Narfo Membership(R${this.state.defaultMembership?.amount}/${this.state.membershipLength == 365 ? 'year' : this.state.membershipLength + ' days'})`} labelPlacement=\"end\"/>}\n\n \n Total Due: R{Number(this.state.totalDue).toFixed(2)}\n \n \n \n }\n\n
\n \n \n \n {this.props.memberData.storeId == 1 && }\n\n \n \n \n \n \n \n
\n );\n \n const manualBlock = (\n \n {\n this.state.selectedMembershipType ?\n \n : \n \n\n }\n \n \n Return to payment options\n \n \n \n );\n\n const payfastBlock = (\n \n {\n this.state.selectedMembershipType || this.state.membershipTypes.length > 0 ?\n \n :\n <>\n {this.state.payFastMonthlyView && }\n \n {this.state.payFastView && }\n\n \n }\n\n \n );\n\n return this.state.viewAccountDetails ? this.accountDetails(this.state.account, isMobile) :\n (\n
\n
\n \n {this.props.accountHistory.length !== 0 && daysLeft <= 45 && daysLeft > 0 ?\n \n \n Your account will expire in {Math.floor(daysLeft)} days, please re-new your Narfo membership.\n \n \n : null\n }\n\n {partnerDaysLeft && this.props.accountHistory.length !== 0 && partnerDaysLeft <= 45 && partnerDaysLeft > 0 ?\n \n \n Your {this.props.memberData.store} membership will expire in {Math.floor(partnerDaysLeft)} days, please re-new.\n \n \n : null\n }\n\n { true?\n \n this.state.manualPayView ? \n \n {manualBlock}\n :\n this.state.payFastView || this.state.payFastMonthlyView? \n \n {payfastBlock}\n \n :\n \n {paymentBlock}\n :\n <>\n }\n { this.props.accountHistory.length > 0 &&\n \n }\n
\n \n
\n
\n \n \n Reset Password\n \n \n \n \n \n Current Password\n \n { passwordErrors.old &&\n \n {passwordErrors.old}\n \n }\n \n \n \n \n New Password\n \n { passwordErrors.new &&\n \n {passwordErrors.new}\n \n }\n \n \n \n \n Confirm New Password\n \n { passwordErrors.confirm &&\n \n {passwordErrors.confirm}\n \n }\n \n \n \n \n \n
\n
\n
\n );\n }\n}\n\nProfileAccountDetails.defaultProps = {\n accountStatus: {},\n accountHistory: [],\n printAccountTransactionCallback: (account) => account,\n resetPasswordCallback: (data) => Promise.resolve(data),\n};\n\nProfileAccountDetails.propTypes = {\n accountStatus: PropType.shape({\n status: PropType.string,\n inceptionDate: PropType.string,\n expiryDate: PropType.string,\n expiryISO: PropType.string\n }).isRequired,\n accountHistory: PropType.arrayOf(\n PropType.shape({\n paymentType: PropType.string,\n amountPaid: PropType.number,\n paymentDate: PropType.string,\n })).isRequired,\n printAccountTransactionCallback: PropType.func.isRequired,\n resetPasswordCallback: PropType.func.isRequired,\n};\n\nexport default (withStyles(styles)(ProfileAccountDetails));\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport axios from 'axios';\nimport { withStyles } from '@material-ui/core/styles';\nimport { ArrowBackIos } from '@material-ui/icons/';\nimport {\n Button,\n Grid,\n Typography\n} from '@material-ui/core/';\n\nimport API_URL from '../../services/apiUrl';\nimport SITE_URL from '../../services/siteURL';\nimport GenericTable from '../GenericTable/GenericTable';\n\n\nconst styles = () => ({\n heading: {\n marginBottom:'16px'\n },\n});\n\nconst formatAmount = item =>\n R {item};\n\nconst columns = [\n { field: 'service', headerName: 'Service' },\n { field: 'description', headerName: 'Description'},\n { field: 'amount', headerName: 'Amount', format: formatAmount},\n];\n\nclass PayfastBlock extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n itemName: '',\n merchantID: '',\n merchantKey: '',\n amount: 0,\n toMyAccount: false,\n dualPayment: false,\n membershipTypeId: this.props.membershipType ? this.props.membershipType.id : null,\n includesNarfoMembership: this.props.includeNarfoMembership == true ? 'true' : 'false'\n };\n }\n\n componentDidMount() {\n const Cryptr = require('cryptr');\n const cryptr = new Cryptr('myTotalySecretKey');\n\n axios.get(API_URL + '/PayFastDetails').then(res => {\n\n let storeId = this.props.memberData.storeId;\n const membershipType = this.props.membershipType;\n\n if(storeId > 0)\n {\n let payfastD = res.data.find(s => s.store?.storeId == storeId);\n\n if(this.props.membershipType){\n this.setState({\n itemName: payfastD.itemName,\n amount: Number(this.props.totalDue).toFixed(2),\n merchantID: cryptr.decrypt(payfastD.merchantId),\n merchantKey: cryptr.decrypt(payfastD.merchantKey) \n });\n\n return;\n }\n else if(payfastD != undefined || payfastD != null)\n {\n this.setState({\n itemName: payfastD.itemName,\n amount: this.props.totalDue ? this.props.totalDue : payfastD.amount,\n merchantID: cryptr.decrypt(payfastD.merchantId),\n merchantKey: cryptr.decrypt(payfastD.merchantKey) \n });\n }\n else\n {\n //Member's partner has no amount in payfast table \n this.setState({\n itemName: res.data[0].itemName,\n amount: res.data[0].amount,\n merchantID: cryptr.decrypt(res.data[0].merchantId),\n merchantKey: cryptr.decrypt(res.data[0].merchantKey) \n });\n }\n }\n else{\n //Default Narfo details\n this.setState({\n itemName: res.data[0].itemName,\n amount: res.data[0].amount,\n merchantID: cryptr.decrypt(res.data[0].merchantId),\n merchantKey: cryptr.decrypt(res.data[0].merchantKey) \n });\n }\n });\n }\n\n render() {\n const {classes} = this.props; \n const _itemName = `${this.props.memberData.firstname} ${this.props.memberData.surname} ${new Date().getFullYear() + 1} Membership Fee`;\n const rows = [\n {service: 'Membership',\n // description: 'Narfo 12-month membership subscription.',\n description: this.state.itemName,\n amount: this.state.amount}\n ];\n return (\n \n \n \n this.props.back()}/>\n Payfast Payment\n \n \n\n \n \n
\n
\n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n \n \n\n \n \n {}}\n >\n Proceed to Payfast\n \n \n
\n\n \n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n memberData: state.ProfileReducer.memberData,\n});\n\nexport default connect(mapStateToProps, null)(withStyles(styles)(PayfastBlock));","import React, {useEffect, useState} from 'react';\nimport {\n Grid,\n Typography\n} from '@material-ui/core/';\nimport { connect } from 'react-redux';\nimport axios from 'axios';\nimport { ArrowBackIos } from '@material-ui/icons/';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { BASE} from \"../../../API/APIendpoint\";\nconst useStyles = makeStyles((theme) => ({\n heading: {\n marginBottom:'10px'\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n paddingBottom: '8px',\n textAlign: 'justify'\n }\n}));\n\nfunction ManualPayment(props) {\nconst [paymentAmount,] = useState(props.totalDue);\n useEffect(()=>{\n\n //make API call to get the payment amount \n // axios.get(BASE + \"api/PayFastDetails\")\n // .then((response) => {\n // let storeId = props?.memberData?.storeId;\n\n // if(storeId > 0)\n // {\n // let payfastD = response.data.find(s => s.store?.storeId == storeId);\n \n // if(payfastD != undefined || payfastD != null)\n // {\n // if(props.membershipType)\n // setPaymentAmount(props.membershipType.fee);\n // else \n // setPaymentAmount(payfastD.amount);\n // }\n // else\n // setPaymentAmount(response.data[0].amount)\n // }\n // else{\n // setPaymentAmount(response.data[0].amount)\n // }\n \n // })\n // .catch((error)=>{\n // console.log(\"Payfast Error\",error);\n // })\n },[]);\n \n const classes = useStyles();\n const ManualPaymentInstruction = (\n \n \n \n props.back()}/>\n Manual Payment\n \n \n \n \n \n You have chosen to do a manual payment for your membership.\n \n \n Once you have made a payment of R{paymentAmount}, please email the proof of payment to us at info@narfo.co.za.\n Once we receive your proof of payment we will\n activate your account.\n \n \n Bank Details:\n
\n
    \n
  • Bank: First National Bank (FNB)
  • \n
  • Account Number: 62833054117
  • \n
  • Branch Code: 250655
  • \n
\n
\n \n When paying please ensure you use {props.memberNumber} as reference\n \n
\n
\n
\n );\n \n return (\n \n {ManualPaymentInstruction}\n \n );\n}\n\nconst mapStateToProps = (state) => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n memberData: state.ProfileReducer.memberData,\n});\n\nexport default connect(mapStateToProps, null)(ManualPayment);","import jsPDF from 'jspdf';\nimport 'jspdf-autotable';\nimport {DateTime} from 'luxon';\n\nimport {\n formatISODateToLocaleString,\n getDedicatedStatusNumberFromMember,\n todaysDate, \n DateFind\n} from './helpers';\n\nexport const printCard = (memberData, dedHunterNo, dedStatusNo, narfoLogo, wildmanImage, qrCode) => {\n let pdf = new jsPDF('p', 'mm', 'a4');\n pdf.line(55, 70, 165, 70);\n pdf.line(55, 125, 55, 70);\n pdf.line(165, 125, 165, 70);\n pdf.addImage(narfoLogo, 'JPEG', 67, 76, 20, 15);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(5);\n pdf.text('Responsible Firearm Ownership', 64, 95);\n pdf.text('info@narfo.co.za | www.narfo.co.za', 62.5, 97);\n pdf.setTextColor(0, 0, 0);\n \n pdf.setFont(\"style\",\"bold\");\n pdf.text(`Date: ${todaysDate.toLocaleString()}`, 69, 99);\n pdf.setFontSize(11);\n pdf.text('Membership Card', 94, 80);\n pdf.setFont(\"style\",\"normal\");\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(8);\n pdf.text(`${memberData.firstname} ${memberData.surname}`, 94, 85);\n pdf.setFontSize(5);\n pdf.text('Identity Number:', 96, 90);\n pdf.setTextColor(50, 205, 50);\n pdf.text(memberData.idno, 109, 90);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Member Number:', 96, 93);\n pdf.setTextColor(50, 205, 50);\n pdf.text(memberData.memNo, 110, 93);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Member Inception Date:', 96, 96);\n pdf.setTextColor(50, 205, 50);\n pdf.text(memberData.inceptionDate.split('T')[0], 115, 96);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Member Expiry Date:', 96, 99);\n pdf.setTextColor(50, 205, 50);\n pdf.text(memberData.expiryDate.split('T')[0], 113, 99);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Membership Type:', 96, 102);\n pdf.setTextColor(50, 205, 50);\n pdf.text(memberData.memType, 111, 102);\n let yOffset = 0;\n if (dedHunterNo) {\n pdf.setTextColor(126, 126, 126);\n pdf.text('Dedicated Hunter Status Number:', 96, 105);\n pdf.setTextColor(50, 205, 50);\n pdf.text(dedHunterNo, 123, 105);\n yOffset = 3;\n }\n if (dedStatusNo) {\n pdf.setTextColor(126, 126, 126);\n pdf.text('Dedicated Sports Shooter Status Number:', 96, 105 + yOffset);\n pdf.setTextColor(50, 205, 50);\n pdf.text(dedStatusNo, 129.5, 105 + yOffset);\n }\n pdf.setTextColor(126, 126, 126);\n pdf.text('Accreditation:Hunting - FAR: 1300135 |Sports Shooting:-FAR: 1300134', 84, 120);\n pdf.line(55, 125, 165, 125);\n pdf.addImage(qrCode, 'JPEG', 139, 78, 23, 18);\n pdf.line(165, 183, 165, 128);\n pdf.line(55, 128, 165, 128);\n pdf.line(55, 183, 55, 128);\n pdf.addImage(wildmanImage, 'JPEG', 55.4, 128.5, 109.1, 54);\n pdf.line(55, 183, 165, 183);\n pdf.save('NARFO Membership Card.pdf');\n};\n\nexport const printCardWhatsAPP = (memberData, dedHunterNo, dedStatusNo, narfoLogo, wildmanImage, qrCode) => {\n let pdf = new jsPDF('p', 'mm', 'a4');\n pdf.line(55, 70, 165, 70);\n pdf.line(55, 125, 55, 70);\n pdf.line(165, 125, 165, 70);\n pdf.addImage(narfoLogo, 'JPEG', 67, 76, 20, 15);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(5);\n pdf.text('Responsible Firearm Ownership', 64, 95);\n pdf.text('info@narfo.co.za | www.narfo.co.za', 62.5, 97);\n pdf.setTextColor(0, 0, 0);\n \n pdf.setFont(\"style\",\"bold\");\n pdf.text(`Date: ${todaysDate.toLocaleString()}`, 69, 99);\n pdf.setFontSize(11);\n pdf.text('Membership Card', 94, 80);\n pdf.setFont(\"style\",\"normal\");\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(8);\n pdf.text(`${memberData.firstname} ${memberData.surname}`, 94, 85);\n pdf.setFontSize(5);\n pdf.text('Identity Number:', 96, 90);\n pdf.setTextColor(50, 205, 50);\n pdf.text(memberData.idno, 109, 90);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Member Number:', 96, 93);\n pdf.setTextColor(50, 205, 50);\n pdf.text(memberData.memNo, 110, 93);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Member Inception Date:', 96, 96);\n pdf.setTextColor(50, 205, 50);\n pdf.text(memberData.inceptionDate.split('T')[0], 115, 96);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Member Expiry Date:', 96, 99);\n pdf.setTextColor(50, 205, 50);\n pdf.text(memberData.expiryDate.split('T')[0], 113, 99);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Membership Type:', 96, 102);\n pdf.setTextColor(50, 205, 50);\n pdf.text(memberData.memType, 111, 102);\n let yOffset = 0;\n if (dedHunterNo) {\n pdf.setTextColor(126, 126, 126);\n pdf.text('Dedicated Hunter Status Number:', 96, 105);\n pdf.setTextColor(50, 205, 50);\n pdf.text(dedHunterNo, 123, 105);\n yOffset = 3;\n }\n if (dedStatusNo) {\n pdf.setTextColor(126, 126, 126);\n pdf.text('Dedicated Sports Shooter Status Number:', 96, 105 + yOffset);\n pdf.setTextColor(50, 205, 50);\n pdf.text(dedStatusNo, 129.5, 105 + yOffset);\n }\n pdf.setTextColor(126, 126, 126);\n pdf.text('Accreditation:Hunting - FAR: 1300135 |Sports Shooting:-FAR: 1300134', 84, 120);\n pdf.line(55, 125, 165, 125);\n pdf.addImage(qrCode, 'JPEG', 139, 78, 23, 18);\n pdf.line(165, 183, 165, 128);\n pdf.line(55, 128, 165, 128);\n pdf.line(55, 183, 55, 128);\n pdf.addImage(wildmanImage, 'JPEG', 55.4, 128.5, 109.1, 54);\n pdf.line(55, 183, 165, 183);\n // pdf.html('NARFO Membership Card.pdf');\n pdf.output('blob');\n};\n\nexport const printCertificate = (memberData, narfoLogo, qrCode, signature, stamp) => {\n\n let pdf = new jsPDF('p', 'mm', 'a4');\n let isActiveDH = {active : false}; //variable to check is dedicated status is active or not \n let isActiveDSS = {active :false}; //variable to check is dedicated status is active or not \n \n //check dedicated status \n if(memberData.dedicatedStatus?.length > 0)\n {\n //check if there's an active status \n memberData.dedicatedStatus.forEach(ds => {\n if(ds.status == \"Approved\" && ds.dstype == \"Dedicated Hunter\")\n isActiveDH = {active: true, dsNo: ds.dsno};\n else if(ds.status == \"Approved\" && ds.dstype == \"Dedicated Sports Person\")\n isActiveDSS = {active: true, dsNo: ds.dsno};\n });\n\n }\n\n pdf.rect(2, 2, 205, 294);\n pdf.addImage(qrCode, 'JPEG', 15, 255, 40, 35);\n pdf.addImage(narfoLogo, 'JPEG', 10, 12);\n pdf.setTextColor(126, 126, 126);\n pdf.setFont('times');\n pdf.setFontSize(10);\n pdf.text('NARFO Pty (Ltd) 2012/086864/07', 10, 60);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont('times');\n pdf.setFontSize(14);\n pdf.text('National Association of Responsible Firearm Owners', 80, 18);\n pdf.setFontSize(10);\n pdf.text('of South Africa', 120, 25);\n pdf.line(70, 30, 150, 30);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(10);\n \n pdf.setFont(\"style\",\"italic\");\n pdf.text('SAPS Accredited Association', 85, 37);\n pdf.setFont(\"style\",\"normal\");\n pdf.text('Hunting Association', 70, 45);\n pdf.setTextColor(0, 0, 0);\n pdf.text('FAR-1300135', 110, 45);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Sport Shooting', 70, 50);\n pdf.setTextColor(0, 0, 0);\n pdf.text('FAR-1300134', 110, 50);\n pdf.text('http://www.narfo.co.za', 70, 55);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Email:', 110, 55);\n pdf.setTextColor(0, 0, 0);\n pdf.text('info@narfo.co.za', 120, 55);\n pdf.line(70, 60, 150, 60);\n pdf.setFontSize(8);\n pdf.setTextColor(126, 126, 126);\n pdf.text('14 Phesante Close, Graanendal', 156, 32);\n pdf.text('Durbanville', 156, 38);\n pdf.text('7551', 156, 44);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(20);\n pdf.text('Certificate of Membership', 66, 70);\n pdf.line(10, 75, 200, 75);\n pdf.setFont(\"style\",\"normal\");\n pdf.setFontSize(14);\n pdf.text('To whom it may concern', 10, 85);\n pdf.text('This is to certify that', 10, 95);\n pdf.text('Name:', 10, 105);\n pdf.text('Address:', 10, 115);\n pdf.text('ID No:', 10, 125);\n pdf.text('Membership Number:', 10, 135);\n pdf.text('Membership Type:', 10, 145);\n pdf.text('Dedicated Hunter:', 10, 155);\n pdf.text('Dedicated Sports Shooter:', 10, 165);\n pdf.text(\n 'has been member in good standing of the association since',\n 10,\n 175\n );\n pdf.text('Current membership is valid until', 10, 185);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(40, 105, memberData.firstname + ' ' + memberData.surname);\n pdf.text(\n `${memberData.physicalAddress}, ${memberData.suburb}, ${memberData.city}, ${memberData.postalCode}`,\n 40, 115\n );\n\n pdf.text(memberData.idno, 40, 125);\n pdf.text(memberData.memNo, 60, 135);\n pdf.text(memberData.memType, 60, 145);\n pdf.text(isActiveDH.active ? isActiveDH.dsNo + \" (Active)\" : \"Not Active\", 60, 155);\n pdf.text(isActiveDSS.active ? isActiveDSS.dsNo + \" (Active)\" : \"Not Active\", 70, 165);\n pdf.text(memberData.inceptionDate.split('T')[0], 130, 175, );\n pdf.text(memberData.expiryDate.split('T')[0], 80, 185);\n pdf.addImage(signature, 'JPEG', 17, 190, 60, 45);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"style\",\"normal\");\n pdf.text('Executive Member', 28, 250);\n pdf.addImage(stamp, 'JPEG', 115, 178);\n pdf.text(136, 250, formatISODateToLocaleString(todaysDate));\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(10);\n pdf.text(\n 'This document only provides proof of membership and cannot be used to provide proof of',\n 55,\n 275\n );\n pdf.text(\n 'dedicated hunter or sports person status. These can only be verified by the approved dedicated',\n 55,\n 280\n );\n pdf.text(\n 'certificates which complies stipulations of Section 16(2) of the Firearms Control Act 60 of 2000',\n 55,\n 285\n );\n pdf.setFontSize(18);\n pdf.setFont(\"style\",\"bold\");\n pdf.setTextColor(31, 78, 121);\n pdf.text('Firearm Ownership is a Fulltime Responsibility', 55, 295);\n pdf.save('NARFO Proof Of Membership.pdf');\n};\n\nexport const printPCOASACertificate = (memberData, partnerLogo, qrCode, signature, stamp) => {\n\n let pdf = new jsPDF('p', 'mm', 'a4');\n pdf.rect(2, 2, 205, 294);\n pdf.rect(5, 5, 199, 289);\n pdf.addImage(qrCode, 'JPEG', 15, 255, 40, 35);\n pdf.addImage(partnerLogo, 'JPEG', 80, 40);\n pdf.setTextColor(126, 126, 126);\n pdf.setFont('times');\n pdf.setFontSize(10);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont('times');\n pdf.setFontSize(30);\n pdf.text('Professional Culling Operators', 45, 18);\n pdf.text('Association of South Africa', 50, 30);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(15);\n pdf.setFont(\"style\",\"italic\");\n pdf.text('https://www.pcoasa.co.za - admin@pcoasa.co.za', 50, 40);\n\n pdf.line(10, 85, 200, 85);\n pdf.setFontSize(8);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(20);\n pdf.text('Certificate of Membership', 70, 95);\n\n pdf.line(10, 100, 200, 100);\n pdf.setFont(\"style\",\"normal\");\n pdf.setFontSize(14);\n pdf.text('HEREWITH IS CERTIFIED THAT', 70, 110);\n\n pdf.setFontSize(18);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(15, 120, memberData.firstname + ' ' + memberData.surname);\n \n pdf.setFont(\"style\",\"normal\");\n pdf.setFontSize(16);\n pdf.text(memberData.idno, 15, 135);\n pdf.text(\n `${memberData.physicalAddress}, ${memberData.suburb}, ${memberData.city}, ${memberData.postalCode}`,\n 15, 145\n );\n\n pdf.setFontSize(14);\n pdf.text('Has been an active member since:', 15, 165);\n pdf.setFont(\"style\",\"bold\")\n pdf.text(memberData.inceptionDate.split('T')[0], 90, 165, );\n pdf.setFont(\"style\",\"italic\");\n pdf.setFontSize(12);\n pdf.text('AND IS REGISTERED AS AN INDUSTRY CULLER WHEREBY HE / SHE HAS COMPLIED', 15, 180);\n pdf.text('WITH ALL REQUIREMENTS NEEDED FOR MEMBERSHIP APPROVAL AND', 15, 190);\n pdf.text('COMMITTED TO ADHERE TO ALL REQUIREMENTS CONTAINED IN THE CONSTITUTION', 15, 200);\n pdf.text('AND RULES OF PCOASA', 15, 210);\n\n pdf.addImage(signature, 'JPEG', 17, 211, 50, 35);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(12);\n pdf.text('Duly Authorised - PCOASA Secratary',17, 250);\n\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(12);\n pdf.text('Printed Date:',120, 230);\n pdf.text(155, 230, formatISODateToLocaleString(todaysDate));\n\n pdf.setFont(\"style\",\"normal\");\n pdf.setFontSize(12);\n pdf.text('Expiry Date:',120, 240);\n pdf.text(memberData.expiryDate.split('T')[0], 155, 240);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(10);\n pdf.text(\n 'This document provides proof of membership and professional culler status and connot be used',55, 265);\n pdf.text(\n ' to verify dedicated status. These can only be verified by the approved dedicated',55, 270);\n pdf.text(\n 'certificates which complies stipulations of Section 16(2) of the Firearms Control Act 60 of 2000.',55,275);\n pdf.text(\n 'Scan the QR code to verify membersip status',55,280);\n pdf.setFontSize(18);\n pdf.setFont(\"style\",\"bold\");\n pdf.setTextColor(31, 78, 121);\n pdf.text('Sustainable Utilisation - Concervation', 75, 290);\n pdf.save('PCOASA Proof Of Membership.pdf');\n};\n\nexport const printGOSACertificate = (memberData, partnerLogo, membershipType) => {\n let pdf = new jsPDF('L', 'mm', 'a4');\n let imageWidth = 297; // mm\n let imageHeight = 210; // mm\n let membername = (memberData.firstname + ' ' + memberData.surname)\n \n pdf.addImage(partnerLogo, 'PNG', 0, 0, imageWidth, imageHeight);\n pdf.setTextColor(126, 126, 126);\n pdf.setFont('times');\n pdf.setFontSize(10);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont('times');\n\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(15);\n pdf.setFont(\"style\",\"italic\");\n pdf.text('https://www.gosaonline.co.za', 120, 40);\n \n pdf.setFontSize(8);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(20);\n pdf.text(membername, 70, 95);\n \n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(8);\n pdf.setFont(\"style\",\"italic\");\n pdf.text('Has been an active member since:', 180, 110);\n pdf.setFont(\"style\",\"bold\")\n pdf.text(memberData.inceptionDate.split('T')[0], 220, 110, );\n \n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(10);\n pdf.setFont(\"style\",\"italic\");\n pdf.text('Duly Authorised',60, 165);\n \n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(12);\n pdf.text('Printed Date:',190, 175);\n pdf.text(formatISODateToLocaleString(todaysDate), 220, 175);\n \n pdf.setFontSize(8);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(15);\n pdf.text(memberData.memNo, 65, 120, );\n \n pdf.setFontSize(8);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(15);\n pdf.text(memberData.partnerExpiryDate.split('T')[0], 200, 120);\n \n\n pdf.save(`GOSA ${membershipType} Proof Of Membership.pdf`);\n};\n\nexport const printAccountTransaction = (account, memberDetails, narfoLogo, pdflogo) => {\n let pdf = new jsPDF('p', 'mm', 'a4');\n pdf.addImage(narfoLogo, 'JPEG', 32, 30, 40, 30);\n pdf.setTextColor(126, 126, 126);\n pdf.setFont('times');\n pdf.setFontSize(10);\n pdf.text('NARFO Pty (Ltd) 2012/086864/07', 25, 65);\n pdf.text('VAT No: 4700300611', 25, 70);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont('times');\n pdf.setFontSize(14);\n \n pdf.setFont(\"style\",\"bold\");\n pdf.text('NARFO', 122, 35);\n pdf.setFontSize(12);\n pdf.text('National Association for Responsible Firearm Owners', 87, 43);\n pdf.setFont(\"style\",\"normal\");\n pdf.setFontSize(11);\n pdf.text('14 Phesante Close, Graanendal', 137, 60);\n pdf.text('Durbanville', 137, 66);\n pdf.text('7551', 137, 72);\n pdf.text('email: info@narfo.co.za', 137, 80);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(20);\n pdf.text('Invoice', 89, 80);\n pdf.line(18, 84, 190, 84);\n pdf.setFontSize(12);\n pdf.text('Member No:', 18, 91);\n pdf.setFont(\"style\",\"normal\");\n pdf.text(account.memNo ,43, 91);\n pdf.setFont(\"style\",\"bold\");\n pdf.text('Invoice No:', 150, 91);\n pdf.setFont(\"style\",\"normal\");\n pdf.text(account.invoiceNumber.toString() , 173, 91);\n pdf.line(18, 95, 190, 95);\n pdf.line(18, 96, 190, 96);\n pdf.setFontSize(11);\n pdf.text( `${memberDetails.firstname.toUpperCase()} ${memberDetails.surname.toUpperCase()}`, 22, 102);\n pdf.text(memberDetails.physicalAddress.toUpperCase(), 22, 107);\n pdf.text(memberDetails.city.toUpperCase(), 22, 112);\n pdf.text(memberDetails.province.toUpperCase(), 22, 117);\n pdf.text(memberDetails.postalCode.toUpperCase(), 22, 122);\n pdf.setFont(\"style\",\"bold\");\n pdf.text('Payment Date', 22, 130);\n pdf.text('Description', 50, 130);\n pdf.text('Payment Method', 95, 130);\n pdf.text('Transaction No', 135, 130);\n pdf.text('Amount', 170, 130);\n pdf.line(18, 133, 190, 133);\n pdf.setFont(\"style\",\"normal\");\n pdf.text(formatISODateToLocaleString(account.paymentDate.split('T')[0]), 22, 139);\n pdf.text(account.paymentType, 50, 139);\n // pdf.text(account.year, 80, 139);\n pdf.text(account.paymentMethod, 95, 139);\n pdf.text(account.transactionNo, 135, 139);\n pdf.text(`R ${account.amountPaid}`, 170, 139);\n\n //Newline item\n pdf.text(formatISODateToLocaleString(account.paymentDate.split('T')[0]), 22, 145);\n pdf.text(\"Wildland Subscription\", 50, 145);\n pdf.text('-', 95, 145);\n pdf.text('-', 135, 145);\n pdf.text(`R ${0}`, 170, 145);\n\n \n\n pdf.line(18, 149, 190, 148);\n\n pdf.setFont(\"style\",\"bold\");\n pdf.text(135, 154, 'Amount(Exc VAT)');  \n pdf.text(`R ${ (Math.round((account.amountPaid - account.vatAmount) * 100) / 100).toFixed(2)}`, 170, 154);\n\n  pdf.text(135, 160, 'VAT @ ' + (account.vatPercentage * 100) + '%' );  \n pdf.text(`R ${account.vatAmount}`, 170, 160);\n\n  pdf.line(170, 163, 190, 163);\n\n  pdf.text(135, 168, 'Total Paid');  \n pdf.text(`R ${account.amountPaid}`, 170, 168);    \n\n pdf.line(170, 170, 190, 170);\n  pdf.text('Thank you for your payment', 22, 168);\n  pdf.addImage(pdflogo, 'PNG', 145, 175, 40, 40);\n  pdf.line(18, 270, 190, 270);\n  pdf.save('NARFO Fee Receipt.pdf');\n};\n\nconst printLandscapeHeader = (identifier, narfoLogo, memberDetails, dedHunterNo, dedSportsNo) => {\n const pdf = new jsPDF('l', 'mm', [310, 210]);\n pdf.autoTable({\n html: identifier, \n horizontalPageBreak: true,\n });\n \n pdf.addImage(narfoLogo, 'JPEG', 20, 22);\n pdf.setTextColor(126, 126, 126);\n pdf.setFont('times');\n pdf.setFontSize(10);\n pdf.text('NARFO Pty (Ltd) 2012/086864/07', 15, 60);\n \n pdf.setFontSize(14);\n pdf.text('National Association of Responsible Firearm Owners', 100, 18);\n pdf.text('of South Africa', 140, 25);\n pdf.line(70, 30, 295, 30);\n pdf.setTextColor(126, 126, 126);\n pdf.setFontSize(10);\n pdf.setFont(\"style\",\"italic\");\n pdf.text('SAPS Accredited Association', 90, 37);\n pdf.setFont(\"style\",\"normal\");\n pdf.text('Hunting Association', 75, 45);\n pdf.setTextColor(0, 0, 0);\n pdf.text('FAR-1300135', 115, 45);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Sport Shooting', 75, 51);\n pdf.setTextColor(0, 0, 0);\n pdf.text('FAR-1300134', 115, 51);\n pdf.text('http://www.narfo.co.za', 75, 57);\n pdf.setTextColor(126, 126, 126);\n pdf.text('Email:', 115, 57);\n pdf.setTextColor(0, 0, 0);\n pdf.text('info@narfo.co.za', 125, 57);\n pdf.setFontSize(8);\n pdf.setTextColor(126, 126, 126);\n pdf.text('14 Phesante Close, Graanendal', 164, 37);\n pdf.text('Durbanville', 164, 41);\n pdf.text('7551', 164, 45);\n pdf.setTextColor(0, 0, 0);\n pdf.setFontSize(11);\n pdf.text(`${memberDetails.firstname} ${memberDetails.surname}` ,220, 37);\n pdf.text(220, 41, `Identity Number: ${memberDetails.idno}`);\n pdf.text(220, 45, `Member Number: ${memberDetails.memNo.toUpperCase()}`);\n pdf.text(220, 49, `Member Status: ${memberDetails.status}`);\n pdf.line(70, 62, 295, 62);\n let yOffset = 0;\n if(dedHunterNo) {\n pdf.text(`Dedicated Hunter Number: ${dedHunterNo}`, 220, 53);\n yOffset = 4;\n }\n if(dedSportsNo) {\n pdf.text(`Dedicated Sports Person Number: ${dedSportsNo}`, 220, 53 + yOffset);\n }\n return pdf;\n};\n\nexport const printSalesCommission = (commission, memberDetails, narfoLogo, identifier) => {\n const firstCommission = commission.commissions[0];\n const totalCommission = commission.commissions.reduce((total, v) => total + v.comission, 0);\n\n const pdf = printLandscapeHeader(identifier, narfoLogo, memberDetails);\n const finalY = pdf.previousAutoTable.finalY;\n pdf.setTextColor(0, 0, 0);\n pdf.setFontSize(14);\n pdf.setFontSize(12);\n pdf.text('Bank Name', 20, 70);\n \n pdf.setFont(\"style\",\"bold\");\n pdf.text(firstCommission.bankName, 70, 70);\n pdf.setFont(\"style\",\"normal\");\n pdf.text('Account Number', 20, 75);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(firstCommission.accountNo, 70, 75);\n pdf.setFont(\"style\",\"normal\");\n pdf.text('Payment Method', 20, 80);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(firstCommission.paymentMethod, 70, 80);\n pdf.setFont(\"style\",\"normal\");\n pdf.text('Account Type', 20, 85);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(firstCommission.accountType, 70, 85);\n pdf.setFont(\"style\",\"normal\");\n pdf.text('Transaction Number', 20, 90);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(firstCommission.paymentTransNo, 70, 90);\n pdf.setFont(\"style\",\"normal\");\n pdf.setFontSize(14);\n pdf.text('Payment Date', 235, 90);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(firstCommission.paymentDate.split('T')[0], 268, 90);\n pdf.setTextColor(0, 0, 0);\n pdf.setFont('times');\n \n pdf.setFont(\"style\",\"normal\");\n pdf.setFont('times');\n \n pdf.setFontSize(14);\n pdf.text('Branch', 120, 70);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(firstCommission.branch , 140, 70);\n pdf.setFont(\"style\",\"normal\");\n pdf.text(firstCommission.comType, 225, 70);\n pdf.setFont(\"style\",\"bold\");\n pdf.text(`R${totalCommission}`, 275, 70);\n pdf.setTextColor(0, 0, 0);\n pdf.setFontSize(20);\n pdf.text('Commission Remmitance', 120, 90);\n pdf.autoTable({\n startY: finalY + 80,\n head: [\n [\n 'Date Joined',\n 'Member Number',\n 'Firstname',\n 'Surname',\n 'Commission'\n ]\n ],\n body: commission.commissions.map((v) => [\n v.inceptionDate ? v.inceptionDate.split('T')[0] : 'null',\n v.memNo || 'null',\n v.firstname || 'null',\n v.surname || 'null',\n v.comission ? `R${v.comission}` : 'null',\n ]),\n footStyles: { fillColor: [255, 255, 255], textColor: [0, 0, 0] },\n showFoot: 'lastPage',\n foot: [\n [\n '',\n '',\n '',\n '',\n `R${totalCommission}`\n ]\n ]\n });\n pdf.save('Commission.pdf');\n};\n\nexport const printActivities = (activities, dedHunterNo, dedSportsNo, identifier, narfoLogo, memberDetails) => {\n const pdf = printLandscapeHeader(identifier, narfoLogo, memberDetails, dedHunterNo, dedSportsNo);\n const finalY = pdf.previousAutoTable.finalY;\n console.log(\"JJJ\",activities)\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(20);\n pdf.text('Member Activities', 130, 70);\n pdf.setFont(\"style\",\"bold\");\n pdf.autoTable({\n startY: finalY + 60,\n head: [\n [\n 'Activity Type',\n 'Description',\n 'Fiream Type',\n 'Activity Date',\n 'Caliber',\n 'Status'\n ]\n ],\n body: activities.map((v) => [\n v.activityType || 'null',\n v.activityDescription || 'null',\n v.firearmType || 'null',\n v.activityDate ? v.activityDate.substring(0, 10) : 'null',\n v.caliber ? v.caliber.toString() : 'N/A',\n v.status || 'null',\n ]),\n });\n pdf.save('Activities.pdf');\n};\n\nexport const printEndorsement = (memberData, endorsementData, narfoLogo, qrCode, signature, stamp, commAuthSign) => {\n let pdf = new jsPDF('p', 'mm', 'a4');\n \n pdf.setFont('times');\n\n pdf.addImage(qrCode, 'JPEG', 70, 240, 40, 35);\n pdf.addImage(narfoLogo, 'JPEG', 80, 10);\n pdf.addImage(stamp, 'JPEG', 125, 180, 55, 55);\n pdf.addImage(commAuthSign, 'JPEG', 25, 240, 30, 30);\n pdf.addImage(signature, 'JPEG', 42, 176, 40, 25);\n\n pdf.setFontSize(14);\n pdf.setFont(\"style\",\"bold\");\n pdf.setFont('times');\n pdf.text('National Association of Responsible Firearm Owners', 50, 55,);\n\n pdf.setFont(\"style\",\"normal\");\n pdf.text('South Africa',90, 65);\n\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(20);\n pdf.text('Endorsement Of Motivation', 65, 75);\n\n pdf.setFontSize(12);\n pdf.setFont(\"style\",\"normal\");\n pdf.text(\n 'I, the undersigned, Johann Scheffer, ID: 6509285076083, in my capacity as executive and appointed',\n 20,\n 85\n );\n pdf.text('responsible person of the association, hereby solemnly declare that', 20, 90,);\n pdf.text('We have examined the motivation of the application for the following firearm for the purpose of', 20, 100);\n pdf.text(endorsementData.applicationType, 20, 105);\n\n pdf.setFont(\"style\",\"bold\");\n pdf.text(\n endorsementData.fireArmType +\n '-' +\n endorsementData.actionType +\n '-' +\n endorsementData.make +\n '-' +\n endorsementData.model +\n '-' +\n endorsementData.caliber +\n '-' +\n endorsementData.serialNumber,\n 20,\n 110\n );\n\n pdf.setFont(\"style\",\"normal\");\n pdf.text(\n 20,\n 115,\n 'applied for under ' +\n endorsementData.section +\n ' of the Firearms Control Act and based on the information of the'\n );\n pdf.text(\n 20,\n 120,\n 'motivation we find the firearm suitable for the stated use'\n );\n pdf.text(20, 130, 'Member Names:');\n pdf.text(20, 135, 'Member Number:');\n pdf.text(20, 140, 'ID Number:');\n pdf.text(20, 145, 'Dedicated Status:');\n\n pdf.setFont(\"style\",\"bold\");\n pdf.text(memberData.firstname + ' ' + memberData.surname, 60, 130);\n pdf.text(60, 135, memberData.memNo);\n pdf.text(60, 140, memberData.idno);\n pdf.text(60, 145, 'Dedicated Type');\n pdf.text(105, 145, 'Status Number');\n\n pdf.setFont(\"style\",\"normal\");\n pdf.text(60, 150, 'Dedicated Hunter');\n pdf.text(60, 155, 'Dedicated Sports Person');\n\n pdf.setFont(\"style\",\"normal\");\n pdf.text(\n getDedicatedStatusNumberFromMember(\n memberData.dedicatedStatus,\n 'Dedicated Hunter'\n ),\n 105,\n 150\n );\n pdf.text(\n getDedicatedStatusNumberFromMember(\n memberData.dedicatedStatus,\n 'Dedicated Sports Person'\n ),\n 105,\n 155 \n );\n pdf.text(20, 160, 'Endorsement Number:');\n\n pdf.setFont(\"style\",\"bold\");\n pdf.text(60, 160, endorsementData.endorsementNo);\n\n pdf.setFont(\"style\",\"normal\");\n pdf.text(20, 170, 'who is a member of the association since');\n\n pdf.setFont(\"style\",\"bold\");\n pdf.text(91, 170, formatISODateToLocaleString(memberData.inceptionDate.split('T')[0]));\n\n pdf.setFont(\"style\",\"normal\");\n pdf.text(20, 175, 'and whose membership is valid until');\n\n pdf.setFont(\"style\",\"bold\");\n pdf.text(83, 175, formatISODateToLocaleString(memberData.expiryDate.split('T')[0]));\n pdf.text(128, 240, 'Printed On:');\n const todaysDate = DateTime.now();\n pdf.text(152, 240, formatISODateToLocaleString(todaysDate));\n pdf.text(40, 205, 'Johann Heinrich Scheffer');\n pdf.text(45, 210, 'Executive Member');\n pdf.text(37, 215, 'Approved on:');\n pdf.text(63, 215, formatISODateToLocaleString(endorsementData.approvalDate.split('T')[0]));\n pdf.setFontSize(9);\n pdf.text(35, 220, 'I declare that judgement was made based');\n pdf.text(35, 225, 'on collective experience of the executive');\n pdf.text(35, 230, 'team and the material facts provided in the');\n pdf.text(35, 235, 'motivation submitted by the applicant');\n \n pdf.rect(135, 267, 55, 11);\n pdf.text(138, 252, 'Hunting Association :');\n pdf.text(142, 257, 'Sport Shooting :');\n\n pdf.setFont(\"style\",\"normal\");\n pdf.text(168, 252, 'FAR-1300135');\n pdf.text(165, 257, 'FAR-1300134');\n\n pdf.setFontSize(11);\n pdf.text(140, 274, 'SAPS Accredited Association');\n\n pdf.setTextColor(126, 126, 126);\n pdf.text('14 Phesante Close, Graanendal, Durbanville, 7551', 20, 280);\n pdf.text('http://www.narfo.co.za' ,20, 285);\n\n pdf.setTextColor(0, 0, 0);\n pdf.text('NARFO Pty (Ltd) 2012/086864/07', 135, 285);\n\n endorsementData.applicationType === 'Hunting'\n ? pdf.save('Narfo Hunting Endorsement.pdf')\n : pdf.save('Narfo Sport Shooting Endorsement.pdf');\n};\n\nexport const printLicenseReminders = (licenseReminders, dedHunterNo, dedSportsNo, identifier, narfoLogo, memberDetails) => {\n const pdf = printLandscapeHeader(identifier, narfoLogo, memberDetails, dedHunterNo, dedSportsNo);\n const finalY = pdf.previousAutoTable.finalY;\n \n pdf.setFont(\"style\",\"bold\"); \n pdf.setFontSize(20);\n pdf.text(115, 70, 'Member Firearm Licenses');\n pdf.autoTable({\n startY: finalY + 60,\n head: [\n [\n 'License Number',\n 'Serial Number',\n 'Firearm',\n 'Caliber',\n 'Make',\n 'Model',\n 'Section',\n 'Issue Date',\n 'Expiry Date'\n ]\n ],\n body: licenseReminders.map(a => [\n a.licenseNo || 'null',\n a.serialNumber || 'null',\n a.firearm || 'null',\n a.caliber || 'null',\n a.make || 'null',\n a.model || 'null',\n a.section || 'null',\n a.issueDate ? a.issueDate.substring(0, 10) : 'null',\n a.expiryDate ? a.expiryDate.substring(0, 10) : 'null'\n ])\n });\n pdf.save('Licenses.pdf');\n};\n\nexport const printDedicatedStatus = (memberData, dedicatedStatus, narfoLogo, qrCode, signature, stamp, commAuthSign,dsSportsShooter,dsHunter) => {\n let pdf = new jsPDF('p', 'mm', [300, 220]);\n\n // pdf.setLineWidth(2);\n pdf.rect(2, 2, 216, 296);\n\n pdf.addImage(qrCode, 'JPEG', 70, 240, 40, 35);\n pdf.addImage(narfoLogo, 'JPEG', 80, 10);\n pdf.addImage(signature, 'PNG', 40, 175, 40, 25);\n pdf.addImage(stamp, 'PNG', 140, 180, 45, 45);\n pdf.addImage(commAuthSign, 'PNG', 30, 240, 30, 30);\n\n pdf.setFont('times');\n pdf.setFontSize(14);\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(20);\n pdf.text(\n 30,\n 55,\n 'National Association of Responsible Firearm Owners'\n );\n pdf.setFont(\"style\",\"normal\");\n pdf.text(90, 65, 'South Africa');\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(20);\n dedicatedStatus.dstype === 'Dedicated Hunter' || dedicatedStatus.dstype === 'DH'\n ? pdf.text(80, 75, 'Dedicated Hunter')\n : pdf.text(70, 75, 'Dedicated Sport Person');\n pdf.setFontSize(12);\n pdf.setFont(\"style\",\"normal\");\n pdf.text(\n 20,\n 85,\n 'I, the undersigned, Johann Scheffer, ID: 6509285076083, duly appointed by the board of NARFO in'\n );\n\n pdf.text(\n 20,\n 92,\n 'terms of resolution RL-2018-002, past on 18/04/2018 in my capacity as the Chairman of the association,'\n );\n pdf.text(\n 78,\n 100,\n 'hereby solemnly declare that'\n );\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(24);\n pdf.setTextColor(255, 0, 0);\n dedicatedStatus.dstype === 'Dedicated Hunter' || dedicatedStatus.dstype === 'DH'\n ? pdf.text(60, 110, 'Dedicated Hunter Status')\n : pdf.text(51, 110, 'Dedicated Sport Person Status');\n pdf.setFont(\"style\",\"normal\");\n pdf.setFontSize(12);\n pdf.setTextColor(0, 0, 0);\n dedicatedStatus.dstype === 'Dedicated Hunter' || dedicatedStatus.dstype === 'DH'\n ? pdf.text(65, 117, 'Dedicated Hunter No:')\n : pdf.text(60, 117, 'Dedicated Sport Person No:');\n pdf.setFont(\"style\",\"bold\");\n dedicatedStatus.dstype === 'Dedicated Hunter' || dedicatedStatus.dstype === 'DH'\n ? pdf.text(105, 117, dedicatedStatus.dsno)\n : pdf.text(110, 117, dedicatedStatus.dsno);\n\n dedicatedStatus.dstype === 'Dedicated Hunter' || dedicatedStatus.dstype === 'DH'\n ? pdf.addImage(dsHunter, 'PNG', 5, 105,60, 45)\n : pdf.addImage(dsSportsShooter, 'PNG', 5, 105,60, 45);\n\n pdf.setFont(\"style\",\"normal\");\n pdf.text(76, 125, 'has been awarded to:');\n pdf.text(60, 130, 'Member Names:');\n pdf.text(60, 135, 'Member Number:');\n pdf.text(60, 140, 'ID Number:');\n pdf.setFont(\"style\",\"bold\");\n pdf.text(\n 95,\n 130,\n memberData.firstname + ' ' + memberData.surname\n );\n pdf.text(95, 135, dedicatedStatus.memNo);\n pdf.text(95, 140, memberData.idno);\n pdf.setFont(\"style\",\"bold\");\n pdf.setFont(\"style\",\"normal\");\n pdf.setFontSize(10);\n pdf.text(\n 18,\n 150,\n 'who is a member in good standing of the association at the date of print and as per the FCA 60 of 2000 Regulation 4(1)(e)(i)'\n );\n pdf.text(\n 18,\n 155,\n 'and complied with the provisions in terms of, Regulation 4(1)(b)(i)(ii).'\n );\n pdf.text(\n 18,\n 163,\n 'The validity of this certifcate is subject to the maintenance of the awarded status in terms of the provisions set out in'\n );\n pdf.text(\n 18,\n 168,\n 'Annexure (D) of the National Association of Responsible Firearm Owners Rules and Regulations guide in line with the'\n );\n pdf.text(\n 18,\n 173,\n 'provisions of Regualtion 4(1)(c)(ii) of the Firearms Control Act 60 of 2000'\n );\n \n pdf.text(40, 200, 'Johann Heinrich Scheffer');\n pdf.text(45, 205, 'Executive Member');\n pdf.text(25, 210, '(Executive Member and Responsible Person)');\n pdf.setFontSize(9);\n pdf.text(\n 20,\n 215,\n 'Duly appointed by the board in terms of resolution RL-2017-001'\n );\n pdf.text(\n 20,\n 220,\n 'passed on 23/01/2017. The deponent acknowledges that he'\n );\n pdf.text(\n 20,\n 225,\n 'understands and knows the contents of this solemn declaration'\n );\n pdf.text(\n 20,\n 230,\n 'and that he has no objection in taking the declaration and that he'\n );\n pdf.text(\n 20,\n 235,\n 'considers the declaration binding to his conscience'\n );\n pdf.setFont(\"style\",\"bold\");\n pdf.text(138, 230, 'Status awarded on:');\n pdf.text(148, 235, 'Printed:');\n pdf.text(165, 230, DateFind(dedicatedStatus.approvalDate));\n pdf.text(160, 235, DateFind(new Date()));\n pdf.rect(135, 265, 55, 11);\n pdf.text(138, 252, 'Hunting Association :');\n pdf.text(142, 257, 'Sport Shooting :');\n pdf.setFont(\"style\",\"normal\");\n pdf.text(168, 252, 'FAR-1300135');\n pdf.text(165, 257, 'FAR-1300134');\n pdf.setFontSize(11);\n pdf.text(140, 272, 'SAPS Accredited Association');\n pdf.setTextColor(126, 126, 126);\n pdf.text(20, 280, '14 Phesante Close, Graanendal, Durbanville, 7551');\n pdf.text(20, 285, 'http://www.narfo.co.za');\n pdf.setTextColor(0, 0, 0);\n pdf.text(135, 285, 'NARFO Pty (Ltd) 2012/086864/07');\n dedicatedStatus.dstype === 'Dedicated Hunter' || dedicatedStatus.dstype === 'DH'\n ? pdf.save('Narfo Dedicated Hunter Status.pdf')\n : pdf.save('Narfo Dedicated Sport Shooter Status.pdf');\n};\n\nexport const printCourseCertificate = (memberData, courseTitle, narfoLogo, signature, stamp) => {\n let member = memberData;\n const pdf = new jsPDF('p', 'mm', [270, 220]);\n \n\n pdf.addImage(narfoLogo, 'JPEG', 85, 12);\n pdf.addImage(signature, 'JPEG', 26, 165, 60, 45);\n pdf.addImage(stamp, 'JPEG', 135, 165, 50, 50);\n\t\t\t\n pdf.setTextColor(0, 0, 0);\n pdf.setFont(\"style\",\"bold\");\n pdf.setFontSize(14);\n pdf.text(53, 60, 'National Association of Responsible Firearm Owners');\n pdf.setTextColor(0, 102, 51);\n pdf.setFontSize(28);\n pdf.text(27, 80, 'CERTIFICATE OF ACHIEVEMENT');\n pdf.setTextColor(0, 0, 0);\n pdf.setFontSize(20);\n pdf.text(83, 95, 'This certifies that');\n pdf.setTextColor(0, 0, 255);\n pdf.setFontSize(14);\n pdf.text(70, 110, 'Member Names:');\n pdf.text(70, 115, 'ID No:');\n pdf.setFont(\"style\",\"bold\");\n pdf.text(\n 120,\n 110,\n member.firstname + ' ' + member.surname\n );\n pdf.text(120, 115, member.idno);\n pdf.setTextColor(0, 0, 0);\n pdf.setFontSize(20);\n pdf.text(35, 135, 'Has successfully completed the following course');\n pdf.setTextColor(0, 51, 102);\n pdf.setFontSize(30);\n courseTitle === 'Dedicated Hunter Assessment Modules'\n ? pdf.text(65, 150, courseTitle.substring(9, 27))\n : pdf.text(45, 150, courseTitle.substring(9, 34));\n \n pdf.setFontSize(8);\n pdf.setTextColor(0, 0, 0);\n pdf.text(36, 210, 'Printed on:');\n pdf.text(50, 210, DateFind(new Date));\n pdf.setTextColor(126, 126, 126);\n pdf.text(30, 220, '14 Phesante Close, Graanendal, Durbanville, 7551');\n pdf.text(30, 225, 'http://www.narfo.co.za');\n pdf.setTextColor(0, 0, 0);\n pdf.text(140, 225, 'NARFO Pty (Ltd) 2012/086864/07');\n pdf.save(\n courseTitle === 'Dedicated Hunter Assessment Modules'\n ? 'HunterAssesement.pdf'\n : 'SportShooterAssessment.pdf'\n );\n};","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { SubtitleBar,IconLabelButton } from '../index';\nimport { \n Grid, Typography\n} from '@material-ui/core';\nimport { label } from '../../shared/helpers';\nimport { format } from 'date-fns';\nimport MemberService from '../../services/member.service';\nimport { printDedicatedStatus } from '../../shared/pdfHelpers';\nimport { FRONT } from \"../../../API/APIendpoint\";\nimport GenericTable from '../GenericTable/GenericTable';\n\nconst columns = [\n { field: 'date', headerName: 'Date' },\n { field: 'status', headerName: localStorage.getItem('isMobile') === 'true' ? 'Status' : 'Application Status' },\n { field: 'reason', headerName: 'Comment'}\n];\n\nclass ViewDedicatedStatusDetails extends Component {\n constructor(props) {\n super(props);\n this.memberService = MemberService(this.props.token);\n\n //Get Date time \n this.timelineDetails = this.props.dedicatedStatusRecord.dedicatedStatusTimelines;\n this.timelineDetails.sort(function(a,b){return new Date(b.date) - new Date(a.date)});\n\n this.timelineDetails = this.timelineDetails.map(x => {\n return ({date :new Date(x.date).toLocaleString(),\n status :x.status,\n reason : x.reason})\n });\n }\n\n downloadDedicatedStatus = (dedicatedStatusRecord) => {\n const memberId = this.props.memNo;\n return this.memberService.getMemberQRCode(memberId)\n .then((resp) => {\n const base64QRCode = `data:image/jpeg;base64,${resp.data.base64QRString}`;\n return this.memberService.getAllImages().then((images) =>\n printDedicatedStatus(\n this.props.memberData, \n dedicatedStatusRecord, \n images.data.nnfo, \n base64QRCode,\n images.data.pdfSign,\n images.data.pdflogo, \n images.data.signature2,\n images.data.dsSportsShooter,\n images.data.dsHunter\n )\n );\n });\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n this.downloadDedicatedStatus(this.props.dedicatedStatusRecord, '#auto-table')}\n \n />\n
\n \n {label('Dedicated Status No', this.props.dedicatedStatusRecord.dsno, false, isMobile)}\n {label('Application Type', this.props.dedicatedStatusRecord.dstype, false, isMobile)}\n {label('Application Date', format(\n new Date(this.props.dedicatedStatusRecord.applicationDate),\n 'yyyy/MM/dd'), false, isMobile)}\n {label('Status', this.props.dedicatedStatusRecord.status, false, isMobile)}\n {label('Approval Date', this.props.dedicatedStatusRecord.approvalDate ? format(\n new Date(this.props.dedicatedStatusRecord.approvalDate),\n 'yyyy/MM/dd') : \"-\", false, isMobile)}\n {label('Motivation', this.props.dedicatedStatusRecord.motivation, true, isMobile)}\n \n
\n {this.props.dedicatedStatusRecord.proffessionalHunter.length > 0 ?\n
\n Has a proffessional hunter status with other association\n
\n \n {label(\n 'Association Name', \n this.props.dedicatedStatusRecord.proffessionalHunter[0].association, \n this.props.dedicatedStatusRecord.proffessionalHunter[0].association.length > 7 \n ? true : \n false)}\n {label('Registration No', this.props.dedicatedStatusRecord.proffessionalHunter[0].regNo, false, isMobile)}\n {label('Province Aquired', this.props.dedicatedStatusRecord.proffessionalHunter[0].province, false, isMobile)}\n {label('Expiry Date', format(\n new Date(this.props.dedicatedStatusRecord.proffessionalHunter[0].expiryDate.split('T')[0]), \n 'yyyy/MM/dd'), false, isMobile)}\n {label('Downloadable', \n \n Document\n \n , false, isMobile)}\n \n
\n
\n : null}\n {this.props.dedicatedStatusRecord.otherDedicatedStatus.length > 0 ?\n
\n Has a dedicated status with other association\n
\n \n {label(\n 'Association Name', \n this.props.dedicatedStatusRecord.otherDedicatedStatus[0].associationName, \n this.props.dedicatedStatusRecord.otherDedicatedStatus[0].associationName.length > 7 \n ? true : \n false)}\n {label('Dedicated Status No', this.props.dedicatedStatusRecord.otherDedicatedStatus[0].dsNo, false, isMobile)}\n {label('Association Far No', this.props.dedicatedStatusRecord.otherDedicatedStatus[0].farNo, false, isMobile)}\n {label('Expiry Date', format(\n new Date(this.props.dedicatedStatusRecord.otherDedicatedStatus[0].expiryDate.split('T')[0]),\n 'yyyy/MM/dd'), false, isMobile)}\n {label('Downloadable', \n \n Document\n \n , false, isMobile)}\n \n
\n
\n : null}\n\n
\n Status timeline\n
\n {this.props.dedicatedStatusRecord.dedicatedStatusTimelines.length !== 0 ?\n : null}\n
\n \n {/* Implement Re-application */}\n {this.props.dedicatedStatusRecord.status === \"Declined\" || this.props.dedicatedStatusRecord.status === \"Terminated\" ? this.props.reApplayCallBack(this.props.dedicatedStatusRecord.dstype)}\n dsApplications\n />\n : null}\n
\n
\n );\n }\n}\nconst mapStateToProps = state => ({\n token: state.AuthReducer.token,\n memberData: state.ProfileReducer.memberData,\n memNo: state.AuthReducer.memNo,\n dedicatedStatusRecord: state.nDedicatedStatusReducer.dedicatedStatusRecord\n});\n\nexport default connect(mapStateToProps)(ViewDedicatedStatusDetails);","import axios from 'axios';\nimport API_URL from './apiUrl';\n\nconst getMemberDedicatedStatusType = headers => id => axios\n .get(`${API_URL}/DedicatedStatus/DedicatedType/${id}`, { headers });\n\nconst getApprovedDedicatedStatus = headers => id => axios\n .get(`${API_URL}/DedicatedStatus/approvedDS/${id}`, { headers });\n\nconst getDedicatedStatusActivities = headers => id => axios\n .get(`${API_URL}/Member/getLoggedInMember/${id}`, { headers })\n .then((res) => res.data.dedicatedStatus);\n\nconst getAllMemberDeducatedStatuses = headers => memNo => axios\n .get(`${API_URL}/DedicatedStatus/GetAllMemberDedicatedStatuses?memNo=${memNo}`, { headers });\n\nconst getAllDeducatedStatuses = headers => data => axios\n .post(`${API_URL}/DedicatedStatus/post/Dedicatedfind`, data, { headers });\n\nconst addNewApplication = headers => data => axios({\n url: `${API_URL}/DedicatedStatus/new/`,\n method: 'post',\n data: data,\n headers: headers\n});\n\nconst getDSApllicationRequirements = headers => (dsType, memNo) => axios({\n url: `${API_URL}/DedicatedStatus/DSApplicationRequirements/${dsType}/${memNo}`,\n method: 'get',\n headers: headers\n})\n\nconst getDedicatedSatusApllicationRequirements = headers => (dsType, memNo) => axios({\n url: `${API_URL}/DedicatedStatus/ApplicationRequirements?dsType=${dsType}&memNo=${memNo}`,\n method: 'get',\n headers: headers\n})\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n getMemberDedicatedStatusType: getMemberDedicatedStatusType(headers),\n getApprovedDedicatedStatus: getApprovedDedicatedStatus(headers),\n getDedicatedStatusActivities: getDedicatedStatusActivities(headers),\n getAllDeducatedStatuses: getAllDeducatedStatuses(headers),\n getAllMemberDeducatedStatuses: getAllMemberDeducatedStatuses(headers),\n addNewApplication: addNewApplication(headers),\n \tgetDSApllicationRequirements: getDSApllicationRequirements(headers),\n getDedicatedSatusApllicationRequirements: getDedicatedSatusApllicationRequirements(headers)\n };\n}\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n editableCalendarConfig,\n editableTextInputConfig,\n dsApplicationsResponses\n} from '../../shared/constants';\nimport SubtitleBar from '../SubtitleBar/SubtitleBar';\nimport { \n Typography,\n Grid,\n Divider, \n Checkbox\n} from '@material-ui/core';\nimport { Alert, AlertTitle } from '@material-ui/lab';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport {\n EditableGridLabel,\n IconLabelButton,\n Loader\n} from '../index';\nimport MappedInput from '../MappedInput/MappedInput';\nimport { checkValidity, updateObject, initSelect, initCheckbox } from '../../shared/utility';\nimport { Attachment, SystemUpdateAlt } from '@material-ui/icons';\nimport { saProvinces } from '../../shared/constants';\nimport API_URL from '../../services/apiUrl';\nimport SITE_URL from '../../services/siteURL';\nimport DedicatedStatusService from '../../services/dedicatedstatus.service';\nimport { toast } from 'react-toastify';\n\ntoast.configure();\n\nconst columns = [\n { field: 'applicationDate', headerName: 'Date' },\n { field: 'dstype', headerName: localStorage.getItem('isMobile') === 'true' ? 'Type' : 'Application Type' },\n { field: 'status', headerName: localStorage.getItem('isMobile') === 'true' ? 'Status' : 'Application Status' }\n];\nclass DedicatedStatusApplications extends Component {\n \n constructor(props) {\n super(props);\n\n\t this.dedicatedStatusService = DedicatedStatusService(this.props.token)\n this.state = {\n controls: this.initControls(),\n requireCourse:true,\n isReApplication:false,\n selectedRadio1: dsApplicationsResponses.NO,\n selectedRadio2: dsApplicationsResponses.NO,\n selectedRadio3: dsApplicationsResponses.NO,\n selectedRadio4: dsApplicationsResponses.NO,\n selectedRadio5: dsApplicationsResponses.NO,\n selectedRadio6: dsApplicationsResponses.NO,\n selectedRadio7: dsApplicationsResponses.NO,\n selectedRadio8: dsApplicationsResponses.NO,\n dsApplication: {\n Ph: '',\n Ods: '',\n PhRegNo: '',\n PhAssociation: ' ',\n PhProvince: ' ',\n PhExpiryDate: new Date(),\n PhAttachment: ' ',\n dsType: ' ',\n OdsAssociationName: ' ',\n OdsFarNo: ' ',\n OdsDsNo: ' ',\n OdsExpiryDate: new Date(),\n Motivation: ' ',\n NonParticipationReason: ' ',\n applicationStatus: ' ',\n OdsAttachment: {},\n declaration: ' '\n },\n radioGroupConfig: {\n elementType: 'radioGroup',\n elementConfig: {\n direction: 'row',\n radios: [\n { value: dsApplicationsResponses.NO, label: 'No' },\n { value: dsApplicationsResponses.YES, label: 'Yes' }\n ]\n }\n },\n loading: false,\n formHasErrors: true,\n attachmentOds: {},\n attachmentPh: {},\n showFilePickerOds: false,\n showFilePickerPh: false,\n fileCheckOds: false,\n fileCheckPh: false,\n canSubmit: false,\n\t _assessmentAverage: 0,\n\t _practicalAtivities: 0,\n hasPassedAssessmentAverage : false,\n showExtraInfo:true,\n failureReasons:[]\n\n };\n this.fileOdsRef = React.createRef();\n this.filePhRef = React.createRef();\n }\n\n componentDidMount() {\n\t this.applyCheck(this.props.dedicatedType, this.props.memNo)\n\n let _application = this.props.rejectedApplications.filter(ds => ds.dstype === this.props.dedicatedType)[0];\n //TODO: Check if is hunter or sports shooter\n\n if(_application){\n //Check if is dedicated status transfer \n let isDedicatedTranfer = _application.otherDedicatedStatus.length > 0 ? true : false;\n \n //TODO:\n let attachmentPh = {};\n //Handle If is a tranfer from another association\n if(isDedicatedTranfer){\n attachmentPh = {\n result: isDedicatedTranfer.link, \n name: isDedicatedTranfer.link\n };\n \n let _otherAssociation = _application.otherDedicatedStatus[0];\n \n this.setState({ \n //Other status application\n isReApplication: true,\n selectedRadio1: dsApplicationsResponses.YES,\n dsApplication: {\n OdsAssociationName: _otherAssociation?.associationName ? _otherAssociation.associationName :'',\n OdsFarNo: _otherAssociation?.farNo ? _otherAssociation.farNo :'',\n OdsDsNo: _otherAssociation?.dsNo ? _otherAssociation.dsNo :'',\n OdsExpiryDate: _otherAssociation?.expiryDate ? _otherAssociation.expiryDate : new Date(),\n Ods: dsApplicationsResponses.YES,\n Motivation: _application?.motivation ? _application.motivation :'',\n },\n })\n }\n \n }\n }\n\n applyCheck = (dsType, memNo) => {\n\tthis.dedicatedStatusService.getDedicatedSatusApllicationRequirements(dsType, memNo)\n\t .then(res =>{ \n this.setState({\n requireCourse: res.data.hasPassedAllModules && res.data.hasPassedAssessmentAverage && res.data.hasCompletedPracticals? false : true,\n hasPassedAssessmentAverage : res.data.hasPassedAssessmentAverage,\n failureReasons: res.data.failureReasons,\n _assessmentAverage: res.data.assessmentAverage,\n _practicalAtivities: res.data.practicalAtivities})\n })\n\t .catch(() => this.setState({\n\t\t_assessmentAverage: 0,\n\t\t_practicalAtivities: 0\n\t }))\n }\n\n initControls = () => ({\n Ph: {...editableTextInputConfig},\n Ods: {...editableTextInputConfig},\n PhRegNo: {...editableTextInputConfig},\n PhAssociation: {...editableTextInputConfig},\n PhProvince: initSelect(saProvinces),\n PhExpiryDate: {...editableCalendarConfig},\n PhAttachment: {...editableTextInputConfig},\n dsType: {...editableTextInputConfig},\n OdsAssociationName: {...editableTextInputConfig},\n OdsFarNo: {...editableTextInputConfig},\n OdsDsNo: {...editableTextInputConfig},\n OdsExpiryDate: {...editableCalendarConfig},\n Motivation: {...editableTextInputConfig},\n NonParticipationReason: {...editableTextInputConfig},\n applicationStatus: {...editableTextInputConfig},\n declaration: initCheckbox('I understand and wish to proceed')\n })\n\n handleRadioChange1 = event => {\n const value = event.target.value;\n this.setState({ \n selectedRadio1: value,\n showExtraInfo: value == 'Yes' ? false : true,\n dsApplication: {\n ...this.state.dsApplication,\n Ods: value\n },\n controls: this.initControls()\n });\n }\n\n handleRadioChange2 = event => {\n const value = event.target.value;\n this.setState({ \n selectedRadio2: value,\n dsApplication: {\n ...this.state.dsApplication,\n Ph: value\n },\n controls: this.initControls()\n });\n }\n\n handleRadioChange3 = event => {\n const value = event.target.value;\n this.setState({ \n selectedRadio3: value,\n controls: this.initControls()\n });\n }\n\n handleRadioChange4 = event => {\n const value = event.target.value;\n this.setState({ \n selectedRadio4: value,\n controls: this.initControls()\n });\n }\n\n handleRadioChange5 = event => {\n const value = event.target.value;\n this.setState({ \n selectedRadio5: value,\n controls: this.initControls()\n });\n }\n\n handleRadioChange6 = event => {\n const value = event.target.value;\n this.setState({ \n selectedRadio6: value,\n controls: this.initControls()\n });\n }\n\n handleRadioChange7 = event => {\n const value = event.target.value;\n this.setState({ \n selectedRadio7: value,\n controls: this.initControls()\n });\n }\n\n handleRadioChange8 = event => {\n const value = event.target.value;\n this.setState({ \n selectedRadio8: value,\n controls: this.initControls()\n });\n }\n\n handleLabelChange = controlName => event => {\n let value = event;\n if(event?.target) {\n value = event.target.value;\n }\n value = typeof value === 'number' ? value.toString() : value;\n const validity = checkValidity(value === ' ' ? '' : value, this.state.controls[controlName].config.validate);\n const updatedControls = updateObject(this.state.controls[controlName], {\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n let formHasErrors = false;\n const controls = {\n ...this.state.controls,\n [controlName]: updatedControls,\n };\n Object.keys(controls).forEach(key => {\n if(!controls[key].config.valid) {\n formHasErrors = true;\n }\n });\n\n this.setState({\n controls,\n dsApplication: {\n ...this.state.dsApplication,\n [controlName]: value,\n },\n formHasErrors\n });\n };\n\n label = (title, name, fullWidth,validate) => (\n \n \n \n )\n\n handleFileUploadOds = (e) => {\n e.preventDefault();\n let file = e.target.files[0];\n let attachmentOds = this.state.attachmentOds;\n attachmentOds = {\n result: file, \n name: file.name\n };\n this.setState({\n attachmentOds, \n showFilePickerOds: false,\n fileCheckPh: false\n });\n };\n\n handleFileUploadPh = (e) => {\n e.preventDefault();\n let file = e.target.files[0];\n let attachmentPh = this.state.attachmentPh;\n attachmentPh = {\n result: file, \n name: file.name\n };\n this.setState({\n attachmentPh, \n showFilePickerPh: false,\n fileCheckOds: false\n });\n };\n\n handleChangeDeclAccept = () => {\n // if(this.state.dsApplication.Motivation?.length > 5)\n \n this.setState({ canSubmit: !this.state.canSubmit});\n };\n\n hadleGoToCourses = () => {\n this.props.history.push(\"/member/courses\");\n }\n\n submitHandler = () => {\n\n if(this.state.dsApplication.Motivation?.length < 5)\n {\n toast.error(\"Motivation is required\");\n return;\n }\n\n let _noFileAttached = false;\n this.setState({ loading: true });\n\n const dsApplications = {...this.state.dsApplication};\n let data = new FormData();\n \n let formHasErrors = false;\n let controls = {...this.state.controls};\n\n if(this.state.selectedRadio1 === 'Yes') {\n if(Object.keys(this.state.attachmentOds).length === 0) {\n this.setState({ fileCheckOds: true });\n _noFileAttached = true;\n } else {\n Object.keys(dsApplications).forEach(key => {\n \n let value = dsApplications[key];\n\n if(key === 'OdsAssociationName' ||\n key === 'OdsFarNo' ||\n key === 'OdsDsNo' ||\n key === 'OdsExpiryDate') {\n value = typeof value === 'number' ? value.toString() : value;\n const validity = checkValidity( \n value === ' ' ? '' : value,\n controls[key].config.validate\n );\n const updatedControls = updateObject(controls[key], {\n config: updateObject(controls[key].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n controls = {\n ...controls,\n [key]: updatedControls,\n };\n if (value === ' ') {\n formHasErrors = true;\n }\n\n this.setState({\n controls,\n dsApplication: {\n ...this.state.dsApplication,\n [key]: value,\n },\n formHasErrors\n });\n }\n });\n }\n } else if(this.state.selectedRadio2 === 'Yes') {\n if(Object.keys(this.state.attachmentPh).length === 0) {\n this.setState({ fileCheckPh: true });\n _noFileAttached = true;\n } else {\n Object.keys(dsApplications).forEach(key => {\n \n let value = dsApplications[key];\n\n if(key === 'PhRegNo' ||\n key === 'PhAssociation' ||\n key === 'PhProvince') {\n value = typeof value === 'number' ? value.toString() : value;\n const validity = checkValidity( \n value === ' ' ? '' : value,\n controls[key].config.validate\n );\n const updatedControls = updateObject(controls[key], {\n config: updateObject(controls[key].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n controls = {\n ...controls,\n [key]: updatedControls,\n };\n if (value.length === ' ') {\n formHasErrors = true;\n }\n\n this.setState({\n controls,\n dsApplication: {\n ...this.state.dsApplication,\n [key]: value,\n },\n formHasErrors\n });\n }\n });\n }\n }\n \n if(_noFileAttached) {\n this.setState({ loading: false });\n return;\n } \n\n if(!formHasErrors) {\n dsApplications.OdsAttachment = this.state.attachmentOds.result;\n dsApplications.dsType = this.props.dedicatedType;\n \n if (this.props.dedicatedType === 'Dedicated Hunter') {\n dsApplications.PhAttachment = this.state.attachmentPh.result;\n data.append('PhRegNo', dsApplications.PhRegNo);\n data.append('PhAssociation', dsApplications.PhAssociation);\n data.append('PhProvince', dsApplications.PhProvince);\n data.append('PhExpiryDate', new Date(dsApplications.PhExpiryDate).toDateString());\n data.append('PhAttachment', dsApplications.PhAttachment);\n }\n data.append('MemNo', this.props.memNo);\n data.append('DsType', dsApplications.dsType);\n data.append('Motivation', dsApplications.Motivation);\n data.append('NonParticipationReason', dsApplications.NonParticipationReason);\n data.append('OdsAssociationName', dsApplications.OdsAssociationName);\n data.append('OdsFarNo', dsApplications.OdsFarNo);\n data.append('OdsDsNo', dsApplications.OdsDsNo);\n data.append('OdsExpiryDate', new Date(dsApplications.OdsExpiryDate).toDateString());\n data.append('Ods', dsApplications.Ods);\n data.append('Ph', dsApplications.Ph);\n data.append('OdsAttachment', dsApplications.OdsAttachment);\n data.append('BaseURL', SITE_URL);\n\n this.props.addNewApplicationCallBack(data)\n .then(() =>{\n this.setState({ loading: false });\n toast.success(\"Application submitted\");\n this.props.loadDSCallBack();\n this.props.goBack();\n })\n .catch((error) => {\n console.log(\"DS Application - \", data);\n console.log(\"DS ERROR\", error);\n toast.error(\"Could not submit - \" + error.statusText);\n });\n }\n \n this.setState({ loading: false });\n \n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n \n
\n \n Step 1: Details\n \n \n \n
\n \n Do you currently hold a {this.props.dedicatedType} status with any other accredited association?\n \n
\n \n
\n {this.state.selectedRadio1 === 'Yes' ?\n
\n \n {this.label('Association Name', 'OdsAssociationName')}\n {this.label('Association Far Number', 'OdsFarNo')}\n {this.label('Dedicated Status Number', 'OdsDsNo')}\n {this.label('Expiry Of Membership', 'OdsExpiryDate')}\n \n \n \n \n {!this.state.showFilePickerOds && }\n callBack={() => this.setState({showFilePickerOds: true})}\n />}\n {this.state.showFilePickerOds && \n
\n }\n callBack={() => this.fileOdsRef.current.click()}\n />\n
}\n {Object.keys(this.state.attachmentOds).length > 0 ? \n \n {this.state.attachmentOds.name || 'file'}\n : this.state.fileCheckOds ? \n Please add document : \n null}\n
\n
\n
\n : null}\n {this.props.dedicatedType === 'Dedicated Hunter' ?\n \n \n Are you or have you been registered as a Proffesional Hunter?\n \n
\n \n
\n {this.state.selectedRadio2 === 'Yes' ?\n
\n \n {this.label('Association Name', 'PhAssociation')}\n {this.label('Registration Number', 'PhRegNo')}\n {this.label('Province in which you may operate', 'PhProvince')}\n {this.label('Expiry date of your permmit', 'PhExpiryDate')}\n \n \n \n \n {!this.state.showFilePickerPh && }\n callBack={() => this.setState({showFilePickerPh: true})}\n />}\n {this.state.showFilePickerPh && \n
\n }\n callBack={() => this.filePhRef.current.click()}\n />\n
}\n \n {Object.keys(this.state.attachmentPh).length > 0 ? \n \n {this.state.attachmentPh.name || 'file'}\n : this.state.fileCheckPh ? \n Please add document : \n null}\n
\n
\n
\n : null}\n
\n : null}\n \n
\n
\n
\n \n \n \n
\n );\n }\n}\n\nconst mapStateToProps = state => ({\n\ttoken: state.AuthReducer.token,\n\tmemNo: state.AuthReducer.memNo\n});\n\nexport default connect(mapStateToProps ,null)(DedicatedStatusApplications);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n SubtitleBar,\n Overview,\n IconLabelButton\n} from '../index';\nimport { Grid, Typography, Button, Icon, Link } from '@material-ui/core';\nimport GenericTable from '../GenericTable/GenericTable';\nimport Loader from '../Loader/Loader';\nimport ViewDedicatedStatusDetails from './ViewDedicatedStatusDetails';\nimport { UPDATE_DEDICATED_STATUS_RECORD } from '../../store/DedicatedStatus/types';\nimport DedicatedStatusApplications from './DedicatedStatusApplications';\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\n\nconst columns = [\n { field: 'applicationDate', headerName: 'Date' },\n { field: 'dstype', headerName: localStorage.getItem('isMobile') === 'true' ? 'Type' : 'Application Type' },\n { field: 'status', headerName: localStorage.getItem('isMobile') === 'true' ? 'Status' : 'Application Status' }\n];\n\nclass MyDedicatedStatusDetails extends Component {\n constructor(props) {\n super(props);\n this.dedicatedStatusService = this.props.dedicatedStatusService;\n this.state = {\n loading: false,\n viewDStatus: false,\n dsApplications: false,\n _dedicatedType: '',\n\t sportShooterCount: this.props.sportShooterCount,\n\t hunterCount: this.props.hunterCount,\n\t _dedicatedStatusList: this.props.dedicatedStatusList,\n rejectedApplications: this.props.dedicatedStatusList?.filter(ds => ds.status === \"Declined\")\n };\n }\n\n loadDSCallBack = () =>{\n this.dedicatedStatusService.getAllDeducatedStatuses({memNo: this.props.memNo})\n .then((resp) => {\n let props = this.getDerivedStateFromProps(resp.data.dedicated);\n this.setState({...this.state,_dedicatedStatusList: props._dedicatedStatusList,\n sportShooterCount : props.sportShooterCount, hunterCount: props.hunterCount})\n });\n }\n \n reApplayCallBack = (data) =>{\n this.setState({dsApplications: true, _dedicatedType: data})\n }\n getDerivedStateFromProps = (dedicatedStatusList)=>{\n let __dedicatedStatusList = [];\n let __sportShooterCount = 0;\n let __hunterCount = 0;\n __dedicatedStatusList = dedicatedStatusList;\n if(__dedicatedStatusList.length !== 0) {\n __dedicatedStatusList.map((item) => {\n if(item.dstype === 'Dedicated Sports Person') {\n __sportShooterCount = __sportShooterCount + 1;\n }\n if(item.dstype === 'Dedicated Hunter') {\n __hunterCount = __hunterCount + 1;\n }\n item.applicationDate = new Date(item.applicationDate.split('T')[0]).toLocaleDateString();\n\n if(localStorage.getItem('isMobile') === 'true') {\n if(item.dstype === 'Dedicated Sports Person') {\n item.dstype = 'DSS';\n }\n if(item.dstype === 'Dedicated Hunter') {\n item.dstype = 'DH';\n }\n }\n });\n } \n \n return { \n _dedicatedStatusList: __dedicatedStatusList,\n sportShooterCount: __sportShooterCount,\n hunterCount: __hunterCount\n };\n }\n \n applicationRequiredCheck = (shooter, hunter) => (\n
\n \n {shooter === 0 && hunter === 0 ? \n 'You currently have no applications.' : \n shooter === 0 && hunter > 0 ?\n 'You currently do not have a sports shooter application' :\n shooter > 0 && hunter === 0 ?\n 'You currently do not have a dedicated hunter application' :\n null}\n \n \n Apply for:\n \n \n {shooter === 0 ?\n this.setState({\n dsApplications: true,\n _dedicatedType: 'Dedicated Sports Person'\n })}\n icon={}\n textMobileAlt={true}\n titleAlt=\"DSS\"\n /> : null}\n {shooter > 0 || hunter > 0 ?\n null : \n }\n {hunter === 0 ?\n this.setState({\n dsApplications: true,\n _dedicatedType: 'Dedicated Hunter'\n })}\n icon={}\n textMobileAlt={true}\n titleAlt=\"DH\"\n /> : null}\n \n
\n )\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n const assessmentTarget = 'https://portal.narfo.co.za//uploads/2020/05/NARFO%20Dedicated%20Assessment%20Target%20A4-Dedicated%20Status.pdf';\n\n const dsDocument = 'https://portal.narfo.co.za//uploads/2020/05/NARFO%20Dedicated%20Status%20Process%20(D)-Dedicated%20Status.pdf';\n\n return(\n this.state.loading && ||\n this.state.viewDStatus && !this.state.dsApplications && this.setState({ viewDStatus: false })}\n // reApplayCallBack={()=> this.setState({dsApplications: true})}\n reApplayCallBack={this.reApplayCallBack}\n /> ||\n this.state.dsApplications && this.setState({ dsApplications: false })}\n loadDSCallBack={this.loadDSCallBack}\n dedicatedType={this.state._dedicatedType}\n addNewApplicationCallBack={this.props.addNewApplicationCallBack}\n memNo={this.props.memNo}\n history = {this.props.history}\n rejectedApplications = {this.state.rejectedApplications}\n /> ||\n \n \n \n Before applying for your dedicated status, please read through the NARFO Dedicated Status Process (D) and the NARFO Declaration of Dedicated Status (K) document from the downloads section in your member profile.\n You can only be awarded a dedicated status in two ways, either through Recognition of Prior Learning (RPL) or to follow the NARFO process of completing a practical and theoretical assessment. \n Based on the sucessful completion and submission, your application will be considered and is subject to approval.\n Your application will not be considered if you merely want to own more firearms. Becoming a dedicated member means you actively want to participate in hunting or sportshooting and must submit proof of this to maintain your status. Failing to do so could result in the termination of your status.\n \n
\n\n \n \n \n \n \n \n\n \n \n \n \n\n\n \n\n {this.state.sportShooterCount > 0 && this.state.hunterCount > 0 ? null : \n (this.applicationRequiredCheck(\n this.state.sportShooterCount,\n this.state.hunterCount\n ))}\n\n {this.state._dedicatedStatusList.length !== 0 ?\n {\n this.setState({ loading: true });\n this.props.onDedicatedRecordUpdate(this.state._dedicatedStatusList.filter(element =>\n element.dedicatedId === item.dedicatedId)[0]);\n this.setState({ \n viewDStatus:true, \n loading: false \n });\n }}\n /> : null}\n
\n
\n
\n );\n }\n}\n\nconst mapDispatchToProps = dispatch => ({\n onDedicatedRecordUpdate: record => \n dispatch({ \n type: UPDATE_DEDICATED_STATUS_RECORD, \n payload: record \n })\n});\n\nexport default connect(null, mapDispatchToProps)(MyDedicatedStatusDetails);","export const UPDATE_DEDICATED_STATUS_LIST = 'UPDATE_DEDICATED_STATUS_LIST';\nexport const UPDATE_DEDICATED_STATUS_LIST_ERROR ='UPDATE_DEDICATED_STATUS_LIST_ERROR';\nexport const UPDATE_DEDICATED_STATUS_RECORD = 'UPDATE_DEDICATED_STATUS_RECORD';","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { \n Typography,\n Grid,\n Divider\n} from '@material-ui/core';\nimport {\n UPDATE_SECTION_TITLE,\n UPDATE_ASSESMENT,\n UPDATE_QUIZZES,\n UPDATE_LESSON,\n TRACK_CURRENT_MODULE_ID,\n UPDATE_COURSE_MODULE_NAME,\n UPDATE_CURRENT_LMS_TAB\n} from '../../store/LearningManagement/actionTypes';\n\nclass DisplayCourseMaterial extends Component {\n constructor(props) {\n super(props);\n this.state = {\n toMaterialSelect: false \n };\n }\n\n getMemberResultForThisCourse = id => {\n const quiz = this.props.quizCompletion.find(q => q.courseMaterialId === id);\n return quiz ? quiz.completion : 0;\n };\n\n handleAssementClick = assesment => {\n this.props.onAssesmentChange(assesment);\n this.props.onCurrentLMSTabChange(1);\n };\n\n handleLessonClick = lesson => {\n this.props.getQuestionByIdCallBack(lesson.pkCourseId)\n .then(res => {\n const questions = Array.from(res.data.data);\n this.props.onQuizzesChange(questions);\n this.props.onLessonChange(lesson);\n this.props.onCurrentLMSTabChange(2);\n this.props.getCourseMaterialByIdCallBack(lesson.pkCourseId)\n .then(res => {\n this.props.onModuleIdTrack(res.data.moduleId);\n this.props.getCourseModuleNameByIdCallBack(res.data.moduleId)\n .then(resp => {\n this.props.onCourseModeleNameUpdate(resp.data.moduleName);\n });\n });\n })\n .catch(() => {\n this.props.onQuizzesChange([]);\n });\n }\n displayLessons = (assesmnetId, isMobile) => {\n const _sectionTitle = this.props.sectionTitle;\n if (_sectionTitle === 'Course Learning Material') {\n var list = this.props.lessonList.filter(lesson => lesson.assesmnetId === assesmnetId);\n return (\n
\n {list.map((assesment, index) => (\n \n
{\n this.handleAssementClick(assesment);\n }}\n style={{ cursor: 'pointer' }}\n >\n
\n
\n
\n \n
{isMobile ? assesment.title : `${assesment.title} Course Material`}
\n View\n
\n
\n
\n
\n
\n
))}\n
\n );\n } else if (this.props.sectionTitle === 'Course Assessment Quizzes') {\n var secondList = this.props.lessonList.filter(lesson => lesson.assesmnetId === assesmnetId);\n return (\n \n {secondList.map((lesson, index) => (\n \n
this.getMemberResultForThisCourse(lesson.pkCourseId) < 60 ? this.handleLessonClick(lesson) : \"\"}\n style={{ cursor: this.getMemberResultForThisCourse(lesson.pkCourseId) < 60 ? 'pointer': 'not-allowed' }}\n >\n \n
\n
\n
\n \n \n
{`${this.getMemberResultForThisCourse(lesson.pkCourseId)} %`}
\n
\n \n
{isMobile ? lesson.title.split('Quiz') : `${lesson.title.split('Quiz')} Quiz`}
\n
\n \n
\n {this.getMemberResultForThisCourse(lesson.pkCourseId) === 0 ?\n Take quiz :\n this.getMemberResultForThisCourse(lesson.pkCourseId) >= 60 ?\n Completed :\n Resume}\n
\n
\n \n
\n
\n
\n
\n
))}\n
\n );\n }\n };\n typedList = () => {\n let list = this.props.assesmentList;\n if (this.props.sectionTitle === 'Course Learning Material') {\n list = list.filter(l => l.type === 2);\n } else {\n list = list.filter(l => l.type === 1);\n }\n list = list.filter(l => l.hasChildren);\n return list;\n }\n gridCourseMaterial = (isMobile) => (\n \n {this.typedList().map((assesment, index) => (\n \n \n {this.props.sectionTitle === 'Course Learning Material' ? \n \n {isMobile ? assesment.title.split('Course Modules')[0] : assesment.title}\n \n : {isMobile ? assesment.title.split('Assessment Modules')[0] : `${assesment.title.replace('Course', ' ')} Quizzes`}}\n \n \n \n {this.displayLessons(assesment.assesmentId, isMobile)}\n \n \n ))}\n \n );\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n {this.gridCourseMaterial(isMobile)}\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n lessonList: state.nLearningManagementReducer.lessons,\n assesmentList: state.nLearningManagementReducer.assesments,\n sectionTitle: state.nLearningManagementReducer.sectionTitle,\n assesmentCompletion: state.nLearningManagementReducer.assesmentCompletion,\n quizCompletion: state.nLearningManagementReducer.quizCompletion\n});\n\nconst mapDispatchToProps = dispatch => ({\n onSectionTitleChange: newSectionTitle =>\n dispatch({\n type: UPDATE_SECTION_TITLE,\n sectionTitle: newSectionTitle\n }),\n onAssesmentChange: newAssesment =>\n dispatch({\n type: UPDATE_ASSESMENT,\n assesment: newAssesment\n }),\n onQuizzesChange: newQuizzes =>\n dispatch({\n type: UPDATE_QUIZZES,\n quizzes: newQuizzes\n }),\n onLessonChange: newLesson =>\n dispatch({\n type: UPDATE_LESSON,\n lesson: newLesson\n }),\n onModuleIdTrack: newModuleId =>\n dispatch({\n type:TRACK_CURRENT_MODULE_ID,\n moduleId: newModuleId\n }),\n onCourseModeleNameUpdate: newCourseName =>\n dispatch({\n type:UPDATE_COURSE_MODULE_NAME,\n courseModuleName: newCourseName\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n })\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DisplayCourseMaterial);","export const UPDATE_ASSESMENT_COMPLETION = 'UPDATE_ASSESMENT_COMPLETION';\nexport const UPDATE_COURSES = 'UPDATE_COURSES';\nexport const UPDATE_COURSE = 'UPDATE_COURSE';\nexport const UPDATE_IS_ADD_NEW_COURSE = 'UPDATE_IS_ADD_NEW_COURSE';\nexport const UPDATE_QUIZZES = 'UPDATE_QUIZZES';\nexport const UPDATE_CURRENT_LMS_TAB = 'UPDATE_CURRENT_LMS_TAB';\nexport const UPDATE_ASSESMENTS = 'UPDATE_ASSESMENTS';\nexport const UPDATE_ASSESMENT = 'UPDATE_ASSESMENT';\nexport const UPDATE_LESSONS = 'UPDATE_LESSONS';\nexport const UPDATE_LESSON = 'UPDATE_LESSON';\nexport const UPDATE_ADMIN_PAGE_ITERATOR = 'UPDATE_ADMIN_PAGE_ITERATOR';\nexport const UPDATE_CURRENT_QUESTION = 'UPDATE_CURRENT_QUESTION';\nexport const UPDATE_QUIZ = 'UPDATE_QUIZ';\nexport const UPDATE_OPTIONS = 'UPDATE_OPTIONS';\nexport const UPDATE_QUESTION_TYPE = 'UPDATE_QUESTION_TYPE';\nexport const UPDATE_SELECTED_ANSWER = 'UPDATE_SELECTED_ANSWER';\nexport const UPDATE_CURRENT_QUIZ_INDEX = 'UPDATE_CURRENT_QUIZ_INDEX';\nexport const UPDATE_SCORE = 'UPDATE_SCORE';\nexport const UPDATE_NEXT = 'UPDATE_NEXT';\nexport const UPDATE_PREVIOUS = 'UPDATE_PREVIOUS';\nexport const UPDATE_SECTION_TITLE = 'UPDATE_SECTION_TITLE';\nexport const UPDATE_RESULTS_RECORD = 'UPDATE_RESULTS_RECORD';\nexport const UPDATE_MEMBER_COURSES = 'UPDATE_MEMBER_COURSES';\nexport const UPDATE_QUIZ_COMPLETION = 'UPDATE_QUIZ_COMPLETION';\nexport const UPDATE_CURRENT_ASSESSMENT_TAB = 'UPDATE_CURRENT_ASSESSMENT_TAB';\nexport const UPDATE_CERTIFICATES = 'UPDATE_CERTIFICATES';\nexport const UPDATE_COURSE_MODULE_NAME = 'UPDATE_COURSE_MODULE_NAME';\nexport const TRACK_CURRENT_MODULE_ID = 'TRACK_CURRENT_MODULE_ID';\nexport const UPDATE_PROGRESS_ARRAY = 'UPDATE_PROGRESS_ARRAY';","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { \n Grid\n} from '@material-ui/core';\nimport { isMobile } from 'react-device-detect';\n\nclass DisplayCourseMaterialSelect extends Component {\n constructor(props) {\n super(props);\n this.state = {\n toDisplayMaterial: false\n };\n\n if(isMobile){\n let newContent = this.props.assesment.content; \n this.props.assesment.content = newContent.replaceAll('width=\"', 'width=\"100%\" originalWidth=\"')\n .replaceAll('height=\"', 'height=\"100%\" originalHeight=\"');\n }\n }\n\n render() {\n return(\n \n \n \n \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n assesment: state.nLearningManagementReducer.assesment\n});\n\nexport default connect(mapStateToProps)(DisplayCourseMaterialSelect);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport SubtitleBar from '../SubtitleBar/SubtitleBar';\nimport { \n Typography,\n Grid,\n Divider\n} from '@material-ui/core';\nimport {\n ArrowBack,\n} from '@material-ui/icons';\nimport {\n UPDATE_SECTION_TITLE,\n UPDATE_CURRENT_LMS_TAB\n} from '../../store/LearningManagement/actionTypes';\nimport ProgressBar from '@ramonak/react-progress-bar';\nimport DisplayCourseMaterialOrQuiz from './DisplayCourseMaterialOrQuiz';\nimport DisplayCourseMaterialSelect from './DisplayCourseMaterialSelect';\nimport MemberService from '../../services/member.service';\nimport { printCourseCertificate } from '../../shared/pdfHelpers';\nimport Loader from '../Loader/Loader';\n\nclass LearningMaterial extends Component {\n constructor(props) {\n super(props);\n this.memberService = MemberService(this.props.token);\n }\n\n componentDidMount() {\n this.props.onSectionTitleChange('Course Learning Material')\n\tthis.props.onCurrentLMSTabChange(0);\n }\n\n displayCourseProgress = (dsType, isMobile) => {\n let divs = [];\n let assComp = this.props.assesmentCompletion;\n Object.keys(assComp).forEach((_key, index) => {\n const assesment = Array.from(assComp[_key]);\n let total = assesment.length - 1;\n total = total ? total : 1;\n const progress = assesment.reduce((a, b) => {\n if (typeof b !== 'string') {\n return a + b;\n }\n return a;\n }, 0);\n let assesmentName;\n assesmentName = assesment[0];\n divs.push(\n
\n
\n
\n \n
{isMobile ? assesmentName.split('Assessment Modules') : assesmentName.split('Modules')}
\n {`${progress / total} %`}\n
\n {this.Bar(progress / total)}\n
\n
\n
\n );\n });\n if(dsType === 'dh') {\n return divs[0];\n } else {\n return divs[1]; \n }\n };\n\n Bar = (percent) => \n ;\n\n downloadCourseCertificate = courseTitle => {\n this.memberService.getAllImages()\n .then((images) => {\n printCourseCertificate(\n this.props.memberData, courseTitle, images.data.nnfo, images.data.pdfSign, images.data.pdflogo\n );\n });\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n \n {!this.props.progressArr === true && ||\n\t\t\t\t!this.props.progressArr === false &&\n
\n {this.props.currentLMSpage === 0 &&\n \n = 70}\n downloadDSSCourseCertificateCallback={() => this.downloadCourseCertificate('Dedicated Sport Shooter Assessment Modules')}\n showDownloadDHCourseCertificate={this.props.progressArr[0] >= 70}\n downloadDHCourseCertificateCallBack={() => this.downloadCourseCertificate('Dedicated Hunter Assessment Modules')}\n />\n
\n {this.displayCourseProgress('dh', isMobile)}\n {this.displayCourseProgress('dss', isMobile)}\n
\n \n
|| this.props.currentLMSpage === 1 &&\n \n \n this.props.onCurrentLMSTabChange(0)}/>\n \n \n \n }\n
\n }\n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n assesmentCompletion: state.nLearningManagementReducer.assesmentCompletion,\n currentLMSpage: state.nLearningManagementReducer.currLmsTab,\n memberData: state.ProfileReducer.memberData,\n memNo: state.AuthReducer.memNo,\n progressArr: state.nLearningManagementReducer.progressArr,\n});\n\nconst mapDispatchToProps = dispatch => ({\n onSectionTitleChange: newSectionTitle =>\n dispatch({\n type: UPDATE_SECTION_TITLE,\n sectionTitle: newSectionTitle\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n })\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(LearningMaterial);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n UPDATE_CURRENT_LMS_TAB\n} from '../../store/LearningManagement/actionTypes';\nimport CheckCircleOutline from '@material-ui/icons/CheckCircleOutline';\nimport HighlightOff from '@material-ui/icons/HighlightOff';\nimport { SubtitleBar } from '..';\n\nexport class ViewResults extends Component {\n render() {\n return (\n
\n \n this.props.onCurrentLMSTabChange(0)} \n />\n
\n
\n
\n
\n {this.props.resultsRecord.map((value, index) => (\n
\n
Question {value.question}
\n
\n {value.score < 75 ? (\n \n ) : (\n \n )}\n
\n \n
\n ))}\n
\n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => ({\n memberNumber: state.AuthReducer.memNo,\n oneLesson: state.nLearningManagementReducer.lesson,\n resultsRecord: state.nLearningManagementReducer.resultsRecord\n});\n\nconst mapDispatchToProps = dispatch => ({\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n })\n});\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ViewResults);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport SubtitleBar from '../SubtitleBar/SubtitleBar';\nimport {\n UPDATE_SECTION_TITLE\n} from '../../store/LearningManagement/actionTypes';\nimport { \n Typography\n} from '@material-ui/core';\nimport DisplayCourseMaterialOrQuiz from './DisplayCourseMaterialOrQuiz';\nimport { TakeQuiz } from '..';\nimport { QuizResults } from '..';\nimport ViewResults from './ViewResults';\n\nclass Assessments extends Component {\n constructor(props) {\n super(props);\n }\n\n componentDidMount() {\n this.props.onSectionTitleChange('Course Assessment Quizzes');\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n \n
\n \n By completing this selected quizzes, I declare the following:I confirm that I as the registered member, \n am completing the online assessment in my personal capacity with no assistance from any third party. I acknowledge \n that it is an offence to provide false information and accept that should this be the case, my results could be \n revoked and I stand to be disqualified from taking this course again. I further acknowledge that this course is an \n integral part of obtaining my dedicated status and as a result of my assessment being revoked, I also stand the chance of \n losing my dedicated status.\n \n
\n
\n {this.props.currentLMSpage === 0 &&\n \n \n || this.props.currentLMSpage === 2 &&\n \n \n || this.props.currentLMSpage === 3 &&\n\t\t || this.props.currentLMSpage === 4 &&\n\t\t }\n
\n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n currentLMSpage: state.nLearningManagementReducer.currLmsTab\n});\n\nconst mapDispatchToProps = dispatch => ({\n onSectionTitleChange: newSectionTitle =>\n dispatch({\n type: UPDATE_SECTION_TITLE,\n sectionTitle: newSectionTitle\n })\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Assessments);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n UPDATE_QUIZZES,\n UPDATE_SCORE,\n UPDATE_RESULTS_RECORD,\n UPDATE_QUIZ_COMPLETION,\n UPDATE_CURRENT_LMS_TAB\n} from '../../store/LearningManagement/actionTypes';\nimport { calculateScore, showOption } from '../../shared/utility';\nimport { HighlightOff, PlayCircleOutline } from '@material-ui/icons';\nimport {\n IconLabelButton\n} from '../index';\nimport { Grid, Typography } from '@material-ui/core';\nimport ProgressBar from '@ramonak/react-progress-bar';\n\nexport class TakeQuiz extends Component {\n constructor(props) {\n super(props);\n this.state = {\n takeCourse: true,\n time: {},\n seconds: 599,\n next: 'Next',\n previous: 'Previous',\n isQuizExist: false,\n start: false,\n numberOfQuestions: 0,\n currentQuestion: 0,\n questions: [],\n emailParam: {\n toEmail: this.props.altMemberDetails.email,\n Subject: '',\n Body: null,\n Firstname: this.props.altMemberDetails.firstname,\n Surname:this.props.altMemberDetails.surname\n }\n };\n this.timer = 0;\n this.startTimer = this.startTimer.bind(this);\n this.countDown = this.countDown.bind(this);\n this.score = {\n scoreIndex: -1,\n scoreArrayIndex: [],\n scoreArrayValues: []\n };\n this.scoring = [];\n this.submit = false;\n }\n\n componentDidMount() {\n const questions = this.props.questions;\n if (questions.length > 0) {\n this.setState({\n isQuizExist: true,\n numberOfQuestions: questions.length,\n questions: questions,\n next: questions.length <= 1 ? 'Submit' : 'Next'\n });\n if (questions.length <= 1) {\n this.submit = true;\n }\n } else {\n this.setState({\n isQuizExist: false,\n questions: []\n });\n }\n }\n\n UNSAFE_componentWillMount() {\n let timeLeftVar = this.secondsToTime(this.state.seconds);\n this.setState({\n time: timeLeftVar\n });\n }\n\n secondsToTime(secs) {\n let hours = Math.floor(secs / (60 * 60));\n let divisor_for_minutes = secs % (60 * 60);\n let minutes = Math.floor(divisor_for_minutes / 60);\n let divisor_for_seconds = divisor_for_minutes % 60;\n let seconds = Math.ceil(divisor_for_seconds);\n let obj = {\n h: hours,\n m: minutes,\n s: seconds\n };\n return obj;\n }\n\n startTimer() {\n if (this.timer === 0 && this.state.seconds > 0) {\n this.timer = setInterval(this.countDown, 1000);\n }\n }\n\n countDown() {\n let seconds = this.state.seconds - 1;\n this.setState({\n time: this.secondsToTime(seconds),\n seconds: seconds\n });\n if (seconds === 0) {\n clearInterval(this.timer);\n }\n }\n\n componentWillUnmount() {\n clearInterval(this.timer);\n }\n\n titleTimer = (isMobile) => (\n \n this.props.onCurrentLMSTabChange(0)} \n />\n\t \n\t\t{`${this.props.oneLesson.title.split(', Quiz')}`}\n\t\t{`0${this.state.time.m} : ${this.state.time.s}`}\n\t \n \n );\n\n isBeginQuiz = () => (\n
\n
\n {this.state.isQuizExist ? (\n
\n }\n callBack={() => {\n this.setState({ start: true });\n this.startTimer();\n }}\n />\n
\n ) : (\n
\n
\n
\n
There is currently no questions for this quiz.
\n
\n
\n
\n )}\n
\n
\n );\n\n progressBar = () => (\n
\n \n \n \n {`Question ${this.state.currentQuestion + 1} / ${this.state.numberOfQuestions}`}\n \n \n
\n )\n\n postResults = () => {\n const results = {\n completion: this.props.score,\n courseMaterialId: this.props.oneLesson.pkCourseId,\n memNo: this.props.memNo\n };\n this.props.postMemberAssessmentCallBack(JSON.stringify(results))\n .then(() => {\n this.props.getMemberAssessmentsByMemberNo(this.props.memNo)\n .then(res => {\n this.props.onQuizCompletionChange(res.data.data);\n });\n });\n };\n \n navigateButtons = () => (\n
\n \n \n {this.state.currentQuestion > 0 ? (\n {\n const current = this.state.currentQuestion - 1;\n this.setState({\n currentQuestion: current,\n next:\n current + 1 >= this.state.numberOfQuestions\n ? 'Submit'\n : 'Next'\n });\n }}\n />\n ) : null}\n \n \n {\n const question = this.state.questions[this.state.currentQuestion];\n const options = question.questionOptions;\n this.scoring[\n this.state.currentQuestion\n ] = this.calculatePercentage(\n question.type,\n question.totalScore,\n options\n );\n this.score = {\n scoreIndex: -1,\n scoreArrayIndex: [],\n scoreArrayValues: []\n };\n if (this.submit) {\n this.props\n .onScoreChange(\n parseInt(\n (this.scoring.reduce((a, b) => a + b, 0) * 100) /\n this.state.numberOfQuestions\n )\n )\n .then(() => {\n this.postResults();\n\t\t\t\t\tthis.props.onCurrentLMSTabChange(3)\n });\n this.props.onResultsRecordChange(\n this.scoring.map((percentage, index) => ({\n question: index + 1,\n score: percentage * 100\n }))\n );\n }\n const current =\n (this.state.currentQuestion + 1) % this.state.numberOfQuestions;\n this.setState({\n currentQuestion: current,\n next:\n current + 1 >= this.state.numberOfQuestions\n ? 'Submit'\n : 'Next'\n });\n if (current + 1 >= this.state.numberOfQuestions) {\n this.submit = true;\n }\n }}\n />\n \n \n
\n );\n\n calculatePercentage(questionType, actualScore, options) {\n switch (questionType) {\n case 0:\n return (\n calculateScore(\n questionType,\n options.map(opt => opt.score),\n this.score.scoreIndex\n ) / actualScore\n );\n case 1:\n return (\n calculateScore(\n questionType,\n options.map(opt => opt.score),\n this.score.scoreArrayIndex\n ) / actualScore\n );\n case 2:\n case 3:\n return calculateScore(\n questionType,\n options.map(opt => opt.score),\n this.score.scoreArrayValues\n ) === actualScore\n ? 1\n : 0;\n default:\n return 0;\n }\n }\n\n showQuestion = (isMobile) => {\n const question = this.state.questions[this.state.currentQuestion];\n const options = question.questionOptions;\n const questionPic = question.questionPictures;\n return (\n
\n {question.questionTitle}\n {questionPic ? (\n
\n \"Sorry\"\n
\n ) : null}\n
\n {options.map((opt, index) =>\n showOption(\n question.type,\n opt.description,\n index,\n question.questionOptions.length,\n question.questionId,\n this.score,\n question.totalScore\n )\n )}\n
\n
\n );\n };\n\n isTimeUp = (isMobile) => {\n if (this.state.seconds === 0) {\n return (\n \n Time is up\n
\n );\n }\n if (!this.state.start) {\n return this.isBeginQuiz();\n } else {\n return (\n
\n {this.progressBar()}\n {this.showQuestion(isMobile)}\n {this.navigateButtons()}\n
\n );\n }\n };\n\n render() {\n\tconst isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n
\n {this.state.takeCourse &&\n \n {this.titleTimer(isMobile)}\n {this.isTimeUp(isMobile)}\n }\n
\n );\n }\n}\n\nconst mapStateToProps = state => ({\n memNo: state.AuthReducer.memNo,\n oneLesson: state.nLearningManagementReducer.lesson,\n questions: state.nLearningManagementReducer.quizzes,\n score: state.nLearningManagementReducer.score,\n courseDedicatedStatusType: state.nLearningManagementReducer.courseModuleName,\n altMemberDetails: state.ProfileReducer.memberData\n});\n\nconst mapDispatchToProps = dispatch => ({\n onQuizzesChange: newQuiz =>\n dispatch({\n type: UPDATE_QUIZZES,\n quizzes: newQuiz\n }),\n onScoreChange: newScore => {\n dispatch({\n type: UPDATE_SCORE,\n score: newScore\n });\n return Promise.resolve();\n },\n onResultsRecordChange: newResultsRecord =>\n dispatch({\n type: UPDATE_RESULTS_RECORD,\n resultsRecord: newResultsRecord\n }),\n onQuizCompletionChange: newQuizCompletion =>\n dispatch({\n type: UPDATE_QUIZ_COMPLETION,\n quizCompletion: newQuizCompletion\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n })\n});\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(TakeQuiz);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n UPDATE_CURRENT_LMS_TAB,\n UPDATE_SCORE,\n UPDATE_ASSESMENT\n} from '../../store/LearningManagement/actionTypes';\nimport { VictoryPie, VictoryLabel } from 'victory';\n\nexport class QuizResults extends Component {\n render() {\n return (\n
\n
\n
\n
\n {this.props.score < 60 ? (\n
\n
\n Sorry, you failed the quiz! You need at least 60% to succeed.\n
\n
\n Here are your results\n
\n
\n ) : (\n
\n
\n Congratulations you have passed!\n
\n
\n Here are your results\n
\n
\n )}\n\n
\n \n }\n width={500}\n height={500}\n data={[\n { key: '', y: this.props.score },\n { key: '', y: 100 - this.props.score }\n ]}\n innerRadius={125}\n colorScale={[`${this.props.score >= 60?'green':'red'}`, 'black']}\n />\n = 60?'green':'red'}` }}\n x={250}\n y={250}\n text={this.props.score + '%'}\n />\n \n
\n
\n
\n
\n\n {this.props.score < 60 ? (\n
\n
\n
\n
\n
\n this.props.onCurrentLMSTabChange(2)}\n >\n Restart Quiz\n \n
\n
\n {\n this.props.onCurrentLMSTabChange(4);\n }}\n >\n View Results\n \n
\n
\n {\n this.props.onCurrentLMSTabChange(0);\n }}\n >\n Back to Quizzes\n \n
\n
\n
\n
\n
\n ) : (\n
\n
\n
\n
\n
\n {\n this.props.onCurrentLMSTabChange(4);\n }}\n >\n View Results\n \n
\n
\n {\n this.props.onCurrentLMSTabChange(0);\n }}\n >\n Back to Quizzes\n \n
\n
\n
\n
\n
\n )}\n
\n );\n }\n}\n\nconst mapStateToProps = state => ({\n score: state.nLearningManagementReducer.score,\n oneAssesment: state.nLearningManagementReducer.assesment,\n memberName: state.ProfileReducer.memberData.firstname,\n oneLesson: state.nLearningManagementReducer.lesson\n});\n\nconst mapDispatchToProps = dispatch => ({\n onScoreChange: newScore =>\n dispatch({ type: UPDATE_SCORE, score: newScore }),\n onAssesmentChange: newAssesment =>\n dispatch({\n type: UPDATE_ASSESMENT,\n assesment: newAssesment\n }),\n onCurrentLMSTabChange: newCurrentLmsTab =>\n dispatch({\n type: UPDATE_CURRENT_LMS_TAB,\n currLmsTab: newCurrentLmsTab\n })\n});\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(QuizResults);\n","import API_URL from './apiUrl';\nimport axios from 'axios';\n\nconst sendVerificationCode = header => email => axios.\n post(`${API_URL}/AutomatedEmail/SendVerificationCode?email=`+email, {header});\n\n const verifyMemberEmail = header => (email, code) => axios.\n post(`${API_URL}/Member/VerifyAccount?email=${email}&code=${code}`, {header});\n \n const isValidMember = header => (email,username) => axios.\n post(`${API_URL}/Member/IsValidMember?email=${email}&username=${username}`, {header});\n\n const isValidCode = header => (email,code) => axios.\n post(`${API_URL}/Member/IsValidCode?email=${email}&code=${code}`, {header});\n\n const checkIDNo = header => (idNo) => axios.\n get(`${API_URL}/Member/CheckIDNo?idNo=${idNo}`, {header});\n\n const signup = header => formValues=> axios.\n post(`${API_URL}/Member/post/set`,formValues, {header});\n\n\n // axios.post(`${API_URL}/Member/post/set`, formValues, {headers})\n // .then(response => {\n // localStorage.setItem('memNo', response.data.message.memNo);\n // localStorage.setItem('email', response.data.message.email);\n // dispatch(signupSuccess(response.data.message.memNo, response.data.message.email));\n // })\n // .catch(err => {\n // dispatch(signupFail(err.response));\n // });\n\n function registerNewUser (newMember){\n let formValues = new FormData();\n formValues.append('sex', newMember.gender);\n formValues.append('Nickname', newMember.nickname);\n formValues.append('firstname', newMember.firstName);\n formValues.append('surname', newMember.surname);\n formValues.append('cellNo', newMember.cellphoneNumber);\n formValues.append('idNo', newMember.idNumber);\n formValues.append('occupation', newMember.occupation);\n formValues.append('ethinicity', newMember.ethnicity);\n formValues.append('physicalAddress', newMember.physicalAddress);\n formValues.append('suburb', newMember.suburb);\n formValues.append('city', newMember.city);\n formValues.append('province', newMember.province);\n formValues.append('postalCode', newMember.postalCode);\n formValues.append('FireArmControl', (newMember.fireArmsControlAct === 'true'));\n formValues.append('FireArmsStorage', (newMember.fireArmsUseStorage === 'true'));\n formValues.append('Criminal', (newMember.criminalOffense === 'true'));\n formValues.append('CodeOfConduct', (newMember.declareCodeOfConduct === 'true'));\n formValues.append('DisciplinaryConduct', (newMember.declareDisciplinaryCode === 'true'));\n formValues.append('CorrectInfo', (newMember.declareValidInfo === 'true'));\n formValues.append('ElectronicComms', (newMember.declareElectronicPolicy === 'true'));\n formValues.append('DeclarationAcceptance', (newMember.declareValidElectronicTrue === 'true'));\n formValues.append('salesRep', newMember.salesReferral);\n formValues.append('store', newMember.partnerReferral);\n formValues.append('CurrentAssociation', (newMember.associationAffiliation === 'true'));\n formValues.append('email', newMember.email);\n formValues.append('username', newMember.username);\n formValues.append('password', newMember.password);\n // formValues.append('code',newMember.code);\n\n return this.signup(formValues)\n }\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n sendVerificationCode: sendVerificationCode(headers),\n isValidCode: isValidCode(headers),\n isValidMember: isValidMember(headers),\n signup: signup(headers),\n registerNewUser:registerNewUser,\n verifyMemberEmail: verifyMemberEmail(headers),\n checkIDNo: checkIDNo(headers)\n };\n}\n","import React, { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { connect } from \"react-redux\";\nimport * as actionTypes from '../../../store/actions/actionTypes';\nimport {\n AppBar,\n Button,\n Collapse,\n Drawer,\n Grid,\n Hidden,\n IconButton,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n Tabs,\n Tab,\n Toolbar,\n useMediaQuery,\n Dialog,\n DialogTitle,\n DialogActions,\n DialogContentText,\n DialogContent,\n TextField\n} from '@material-ui/core/';\nimport CloseIcon from '@material-ui/icons/Close';\nimport DashboardIcon from '@material-ui/icons/Dashboard';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport {DateTime} from 'luxon';\n\nimport CommissionsService from \"../../services/commissions.service\";\n\nimport {\n Assessment,\n Assignment,\n Book,\n ChromeReaderMode,\n ExpandLess,\n ExpandMore,\n Home,\n Menu,\n MonetizationOn,\n Notifications,\n Public,\n Person,\n PowerSettingsNew,\n Stars,\n Subscriptions,\n SupervisorAccount,\n BookmarkRounded,\n Email,\n CloudDownload\n} from '@material-ui/icons';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport MuiAlert from '@material-ui/lab/Alert';\n\nimport logo from '../../assets/narfoLogo.jpg';\nimport {AuthAvatar} from '../../components';\nimport { Alert, AlertTitle } from '@material-ui/lab';\nimport EmailVerificationService from '../../services/emailVerification.service'\nconst drawerWidth = 240;\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n },\n appBar: {\n zIndex: theme.zIndex.drawer + 1,\n },\n drawerClosed: {\n width: 0\n },\n drawerOpen: {\n [theme.breakpoints.up('md')]: {\n width: drawerWidth,\n flexShrink: 0,\n },\n },\n toolbarMargin: {\n ...theme.mixins.toolbar,\n [theme.breakpoints.up('lg')]: {\n marginBottom: '10px',\n },\n [theme.breakpoints.up('xl')]: {\n marginBottom: '20px',\n }\n },\n sideBarListMargin: {\n ...theme.mixins.toolbar,\n [theme.breakpoints.up('md')]: {\n marginBottom: '25px',\n },\n [theme.breakpoints.up('lg')]: {\n marginBottom: '35px',\n },\n [theme.breakpoints.up('xl')]: {\n marginBottom: '40px',\n }\n },\n drawerPaper: {\n width: drawerWidth,\n },\n backdrop: {\n background: theme.palette.common.white2,\n [theme.breakpoints.up('md')]: {\n background: theme.palette.navBarBackdrop.background,\n }\n },\n navTab: {\n ...theme.typography.nav,\n fontFamily: theme.typography.fontFamily,\n minWidth: '8px',\n },\n logoContainer: {\n padding: '0px',\n '&:hover': {\n backgroundColor: 'transparent',\n }\n },\n navBarLogo: {\n width: '100%',\n [theme.breakpoints.up('xs')]: {\n height: '40px',\n width: 'auto',\n },\n [theme.breakpoints.up('sm')]: {\n height: '50px',\n width: 'auto',\n },\n [theme.breakpoints.up('md')]: {\n height: '60px',\n width: 'auto',\n },\n [theme.breakpoints.up('xl')]: {\n height: '75px',\n width: 'auto',\n }\n },\n sideBarLogo: {\n width: '100%',\n },\n buttonText: {\n color: theme.palette.buttonPrimary,\n [theme.breakpoints.up('md')]: {\n color: theme.palette.buttonContrast.main,\n }\n },\n listParent: {\n width: '100%',\n '& .MuiListItem-root.Mui-selected': {\n backgroundColor: theme.palette.primary.light,\n }\n },\n listSelected: {\n borderRadius: '10px',\n '& .MuiListItemText-root': {\n opacity: 1\n }\n },\n avatarLabel: {\n fontSize: theme.typography.nav.fontSize,\n \n fontWeight: 'bold',\n fontFamily: theme.typography.fontFamily,\n color: theme.palette.secondary.contrastText,\n [theme.breakpoints.up('md')]: {\n color: theme.palette.primary.contrastText,\n }\n },\n menuButton: {\n padding: '0px'\n }\n}));\n\nfunction NavBar(props) {\n const theme = useTheme();\n const classes = useStyles();\n const [navIndex, setNavIndex] = useState('home');\n const [sideIndex, setSideIndex] = useState(false);\n const [mobileOpen, setMobileOpen] = useState(false);\n const [webListOpen, setWebListOpen] = useState(false);\n const [memberListOpen, setMemberListOpen] = useState(false);\n const [hasSalesReps, setHasSalesReps] = useState(false);\n const [_isSalesRep, setIsSalesRep] = useState(false);\n const [dialogOpen, setDialogOpen] = useState(false);\n const [open, setOpen] = React.useState(false); // Snackbar 1\n const [openVerify, setOpenVerify] = React.useState(false); // Snackbar 2\n const [openVerifyError, setOpenVerifyError] = React.useState(false);\n \n const [code, setCode] = useState(null);\n const matches = useMediaQuery(theme.breakpoints.down(\"md\"));\n const _adminLevel = props.adminLevel\n const _partnerLevel = props.partnerLevel\n const _salesRepLevel = props.salesRepLevel\n const expiryDate = DateTime.fromISO(props.memberData.expiryDate);\n const daysLeft = expiryDate.diffNow('days').days;\n const commisionService = CommissionsService(props.token);\n const emailVerificationService = EmailVerificationService(props.token);\n /**/\n const [value, setValue] = useState(0);\n /**/\n\n const breakpointMatch = useMediaQuery(theme.breakpoints.up('md'));\n\n const handleChangeSideIndex = (e, sideIndex) => {\n\tsetMobileOpen(!mobileOpen);\n setSideIndex(sideIndex);\n setNavIndex(false);\n };\n\n const handleChangeNavIndex = (e, navIndex) => {\n setMobileOpen(!mobileOpen);\n setNavIndex(navIndex);\n setSideIndex(false);\n };\n\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const handleMemberToggle = () => {\n setMemberListOpen(!memberListOpen);\n };\n \n /**/\n const handleChange = (event, value) => {\n\tsetValue(value);\n\ttoOverviewPageDefaulter(value);\n\tprops.onLandingPageContentToggle(value);\n\tif(window.location.pathname.split('/')[1] !== 'LandingPage') {\n\t\twindow.location = '/LandingPage';\n\t}\n };\n\n const toOverviewPageDefaulter = (value) => {\n\tif (value === 1) {\n\t\tprops.onFirearmOwnersToggle(0)\n\t} else if (value === 2) {\n\t\tprops.onHuntingToggle(0)\n\t} else if (value === 3) {\n\t\tprops.onSportShootingToggle(0)\n\t}\n }\n\n useEffect(() => {\n\n const status = window.localStorage.getItem(\"verified\");\n\n if(props.memberData.status == 9){\n expiredProfileRoutes.push({ name: 'License Portal', link: '/member/license-reminders', value: 'license-reminders', icon: });\n }\n\n if(status === 'true')\n {\n openSnackbarVerify();\n window.localStorage.setItem(\"verified\", false);\n }\n let __isSalesRep = false;\n let __hasSalesReps = false;\n\n if(props.salesReps.length !== 0){\n __hasSalesReps = true;\n props.salesReps.map(item => {\n if(item.memNo === props.memNo)\n commisionService.getAllSalesCommissions(props.memNo).then(response =>{\n if(response.data?.repsMemComm.length > 0)\n {\n __isSalesRep = true;\n setIsSalesRep(true);\n }\n else{\n __isSalesRep = false;\n setIsSalesRep(__isSalesRep);\n }\n });\n })\n }\n else\n {\n setIsSalesRep(__isSalesRep);\n }\n\n setHasSalesReps(__hasSalesReps);\n\n \n });\n\n {/* Navbar tabs */}\n // const tabs = [\"HOME\"]\n\n const navRoutes = [\n { name: 'Home', link: '/', value: 'LandingPage', icon: },\n { name: 'Target Downloads', link: '/target-downloads', value: 'TargetDownloads' , icon: },\n ];\n\n const profileRoutes = [\n { name: 'My Profile', link: '/member/my-profile', value: 'my-profile', icon: },\n { name: 'Sales Commission', link: '/member/sales-commission', value: 'sales-commission', icon: },\n { name: 'Activities', link: '/member/activities', value: 'activities', icon: },\n { name: 'Reports Portal', link: '/member/reports-download', value: 'reports-download', icon: },\n { name: 'Endorsements', link: '/member/endorsements', value: 'endorsements', icon: },\n { name: 'License Portal', link: '/member/license-reminders', value: 'license-reminders', icon: },\n { name: 'Documents', link: '/member/documents', value: 'documents', icon: },\n { name: 'Learning Portal', link: '/member/courses', value: 'courses', icon: },\n { name: 'Dedicated Status', link: '/member/dedicated-status', value: 'dedicated-status', icon: },\n { name: 'Subscriptions', link: '/member/subscriptions', value: 'subscriptions', icon: },\n // { name: 'NewsLetter', link: '/member/newsLetter', value: 'newsLetter', icon: },\n { name: 'Emails', link: '/member/member-emails', value: 'member-emails', icon: },\n\n ];\n\n //Currently showing\n const nonSalesRepsProfileRoutes = [\n { name: 'My Profile', link: '/member/my-profile', value: 'my-profile', icon: },\n { name: 'Activities', link: '/member/activities', value: 'activities', icon: },\n { name: 'Reports Portal', link: '/member/reports-download', value: 'reports-download', icon: },\n { name: 'Endorsements', link: '/member/endorsements', value: 'endorsements', icon: },\n { name: 'License Portal', link: '/member/license-reminders', value: 'license-reminders', icon: },\n { name: 'Documents', link: '/member/documents', value: 'documents', icon: },\n { name: 'Learning Portal', link: '/member/courses', value: 'courses', icon: },\n { name: 'Dedicated Status', link: '/member/dedicated-status', value: 'dedicated-status', icon: },\n { name: 'Subscriptions', link: '/member/subscriptions', value: 'subscriptions', icon: },\n // { name: 'NewsLetter', link: '/member/newsLetter', value: 'newsLetter', icon: },\n { name: 'Emails', link: '/member/member-emails', value: 'member-emails', icon: },\n ];\n\n const expiredProfileRoutes = [\n { name: 'My Profile', link: '/member/my-profile', value: 'my-profile', icon: },\n ]\n\n //Partner Imported Members \n const partnerImportedMembersRoute = [\n { name: 'My Profile', link: '/member/my-profile', value: 'my-profile', icon: },\n { name: 'License Portal', link: '/member/license-reminders', value: 'license-reminders', icon: },\n { name: 'Reports Portal', link: '/member/reports-download', value: 'reports-download', icon: },\n ];\n\n const partnerRoute = [\n { name: 'Partner Dashboard', link: '/member/partner-dashboard', value: 'partner-dashboard', icon: }\n ];\n\n const salesRepRoute = [\n { name: 'Sales Rep Dashboard', link: '/member/sales-rep-dashboard', value: 'sales-rep-dashboard', icon: }\n ];\n\n const adminRoutes = [\n { name: 'Admin Portal', link: '/admin/MainAdmin', value: 'admin-dashboard', icon: }\n ];\n\n const logoutRoutes = [\n { name: 'Logout', link: '/logout', value: 'logout', icon: },\n ];\n\n const profileList = (\n \n {daysLeft <= 1\n ? \n // Here we check if it's a GOSA member and not have paid yet and normal expired membership \n (\n // props.memberData.status == 1 && props.memberData.store == \"GOSA\" ? \n props.memberData.status == 9 ? \n partnerImportedMembersRoute.map((route) => (\n handleChangeSideIndex(event, route.value)}\n classes={{ selected: classes.listSelected }}\n >\n {route.icon}\n {route.name}\n \n ))\n :\n expiredProfileRoutes.map((route) => (\n handleChangeSideIndex(event, route.value)}\n classes={{ selected: classes.listSelected }}\n >\n {route.icon}\n {route.name}\n \n ))\n )\n \n\n\n\n : !hasSalesReps || !_isSalesRep\n ? nonSalesRepsProfileRoutes.map((route) => (\n handleChangeSideIndex(event, route.value)}\n classes={{ selected: classes.listSelected }}\n >\n {route.icon}\n {route.name}\n \n ))\n : profileRoutes.map((route) => (\n handleChangeSideIndex(event, route.value)}\n classes={{ selected: classes.listSelected }}\n >\n {route.icon}\n {route.name}\n \n ))}\n \n );\n\n // if((this?.props?.memberData?.status == 5)){\n // this.props.history.push('/member/profile-completion');\n // alert(\"redirect\")\n // }\n\n const partnerList = (\n \n {partnerRoute.map(route => (\n {\n\t\t\tprops.onMemberStateChange(true, \"isPartner\");\n\t\t\tprops.onToggleHamburgerChange(true);\n\t\t }}\n classes={{ selected: classes.listSelected }}\n >\n {route.icon}\n {route.name}\n \n ))}\n \n );\n\n const salesRepList = (\n \n {salesRepRoute.map(route => (\n {\n\t\t\tprops.onMemberStateChange(true, \"isSalesRep\");\n\t\t\tprops.onToggleHamburgerChange(true);\n\t\t }}\n classes={{ selected: classes.listSelected }}\n >\n {route.icon}\n {route.name}\n \n ))}\n \n );\n \n const adminList = (\n \n {adminRoutes.map(route => (\n handleChangeSideIndex(event, route.value)}\n\t\t to={route.link}\n\t\t onClick={() => {\n\t\t\tprops.onMemberStateChange(true, \"isAdmin\");\n\t\t\tprops.onToggleHamburgerChange(true);\n\t\t }}\n classes={{ selected: classes.listSelected }}\n >\n {route.icon}\n {route.name}\n \n ))}\n \n );\n\n const logoutList = (\n \n {logoutRoutes.map(route => (\n handleChangeSideIndex(event, route.value)}\n classes={{ selected: classes.listSelected }}\n >\n {route.icon}\n {route.name}\n \n ))}\n \n );\n\n const appBarTabs = (\n \n\t {matches ? null : \n \n }\n \n );\n\n const mobileDrawer = (\n \n \n \"NARFO\n\n {!props.isAuth || (props.memberData.status == 5) ? <> :\n \n \n \n \n \n \n {memberListOpen ? : }\n \n \n {profileList}\n \n \n }\n\n {props.isAuth && _adminLevel && !(props.memberData.status == 5) ? adminList : <>}\n \n {props.isAuth && _partnerLevel && !(props.memberData.status == 5) ? partnerList : <>}\n\n {props.isAuth && _salesRepLevel && !_partnerLevel && !(props.memberData.status == 5) ? salesRepList : <>}\n \n\n {props.isAuth ? logoutList : <>}\n \n \n );\n\n const desktopDrawer = (\n \n {!props.isAuth ? <> :\n \n
\n \n {!(props.memberData?.status == 5) && \n \n \n \n \n \n {memberListOpen ? : }\n \n \n {profileList}\n \n }\n \n {props.isAuth && _adminLevel && !(props.memberData.status == 5) ? adminList : <>}\n \n {props.isAuth && _partnerLevel && !(props.memberData.status == 5) ? partnerList : <>}\n \n {props.isAuth && _salesRepLevel && !_partnerLevel && !(props.memberData.status == 5) ? salesRepList : <>}\n\n {logoutList}\n \n \n }\n \n \n );\n\n useEffect(() => {\n [...navRoutes].forEach(route => {\n switch (window.location.pathname) {\n case `${route.link}`:\n if (navIndex !== route.value) {\n setNavIndex(route.value);\n }\n break;\n default:\n break;\n }\n });\n }, [navIndex, navRoutes]);\n\n useEffect(() => {\n [...profileRoutes].forEach(route => {\n switch (window.location.pathname) {\n case `${route.link}`:\n if (sideIndex !== route.value) {\n setSideIndex(route.value);\n }\n break;\n default:\n break;\n }\n });\n }, [sideIndex, profileRoutes]);\n \n useEffect(() => {\n [...nonSalesRepsProfileRoutes].forEach(route => {\n switch (window.location.pathname) {\n case `${route.link}`:\n if (sideIndex !== route.value) {\n setSideIndex(route.value);\n }\n break;\n default:\n break;\n }\n });\n }, [sideIndex, nonSalesRepsProfileRoutes]);\n\nconst sendVerificationCode =(email,resend)=>{\n emailVerificationService.sendVerificationCode(email).then(res => {\n if(resend)\n openSnackbar();\n });\n\n if(!dialogOpen)\n setDialogOpen(true)\n}\n\n\nconst onCodeChange =(e)=> {\n e.preventDefault();\n setCode(e.target.value );\n }\n\n // For snack bar \n const openSnackbar = () => {\n setOpen(true);\n \n };\n\n const openSnackbarVerify = () => {\n setDialogOpen(false);\n setOpenVerify(true);\n };\n \n const handleClose = (event, reason) => {\n if (reason === 'clickaway') {\n return;\n }\n\n setOpen(false);\n setOpenVerify(false);\n setOpenVerifyError(false);\n };\n\n const verifyEmail = (event, reason) => {\n // Send API Request \n emailVerificationService.verifyMemberEmail(props.memberData.email, code).then(response =>{\n window.localStorage.setItem(\"verified\", true);\n window.location.reload();\n })\n .catch((error) =>{\n setOpenVerifyError(true);\n console.log(\"Verification Failed\", error);\n });\n\n };\n\n return (\n
\n \n \n \n \n setNavIndex(\"home\")}\n disableRipple\n >\n \n \n\n {window.location.href='https://narfo.co.za/'}}\n variant=\"outlined\"\n color=\"primary\"\n >\n Narfo Web\n \n \n\n {breakpointMatch ? appBarTabs : <>}\n\n \n\n\n\n \n \n \n \n \n \n \n \n \n {props.isAuth && !props.memberData.verified && (\n \n \n To unlock all features please verify your email{\" \"}\n \n {\" \"}\n {props.memberData.email}\n sendVerificationCode(props.memberData.email, false)}\n variant=\"outlined\"\n style={{ marginLeft: \"3rem\" }}\n color=\"inherit\"\n size=\"small\"\n >\n Verify\n \n \n \n \n )}\n\n \n \n setDialogOpen(false)}\n >\n \n \n \n \n {\" \"}\n Verify email\n \n \n \n \n \n We've sent verification code to your email
\n {props.memberData.email}\n
\n
\n
\n\n
\n onCodeChange(e)}\n />\n \n\n sendVerificationCode(props.memberData.email, true)}\n variant=\"outlined\"\n color=\"primary\"\n >\n Resend code\n \n \n \n Verification code for email {props.memberData.email} has been\n sent successfully\n \n \n
\n \n \n \n verifyEmail()}\n variant=\"contained\"\n color=\"primary\"\n >\n Verify\n \n \n\n \n \n \n \n \n Congratulations your account is verified\n \n \n \n \n \n \n Verification failed. Invalid code.\n \n \n
\n \n
\n );\n}\n\nconst mapStateToProps = (state) => ({\n\tadminLevel: state.loginReducer.userProfileDetails.adminLevel,\n\tpartnerLevel: state.loginReducer.userProfileDetails.partnerLevel,\n\tsalesRepLevel: state.loginReducer.userProfileDetails.salesRepLevel,\n\tsalesReps: state.nCommissionReducer.salesReps,\n\tmemNo: state.AuthReducer.memNo,\n\ttoken: state.AuthReducer.token\n});\n\nconst mapDispatchToProps = dispatch => {\n\treturn {\n\t onMemberStateChange: (value, vname) =>\n\t\tdispatch({\n\t\t type: actionTypes.UPDATE_MEMBER_STATE,\n\t\t varName: vname,\n\t\t varValue: value\n\t\t}),\n\t onToggleHamburgerChange: toggle =>\n dispatch({\n type: actionTypes.TOGGLE_HAMBURGER,\n toggleHamburger: toggle\n }),\n\t onLoginPageChange: loginToRessetPassword =>\n\t dispatch({ \n\t\t type: actionTypes.UPDATE_LOGIN_PAGE_TOGGLER, \n\t\t loginToRessetPassword: loginToRessetPassword \n\t }),\n \t onLandingPageContentToggle: currTab =>\n\t dispatch({ \n\t\t type: actionTypes.UPDATE_LANDING_PAGE_CONTENT, \n\t\t landingPageContentToggle: currTab \n\t }),\n\t onFirearmOwnersToggle: currTab =>\n\t dispatch({ \n\t\t type: actionTypes.UPDATE_FIREARM_OWNERS_CONTENT, \n\t\t fireararmOwwners: currTab \n\t }),\n\t onHuntingToggle: currTab =>\n\t dispatch({ \n\t\t type: actionTypes.UPDATE_HUNTING_CONTENT, \n\t\t huntingTab: currTab \n\t }),\n\t onSportShootingToggle: currTab =>\n\t dispatch({ \n\t\t type: actionTypes.UPDATE_SPORT_SHOOTING_CONTENT, \n\t\t sportShooting: currTab \n\t })\n\t };\n };\n \n export default connect(mapStateToProps, mapDispatchToProps)(NavBar);","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport { membershipExpired } from \"../main/MembersArea\";\nimport \"./qrLink.css\";\nclass MemberQRDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n memDetails: [],\n dedicatedStatus: [],\n membershipExpiryDate: \"\"\n };\n }\n componentDidMount() {\n const Cryptr = require(\"cryptr\");\n const cryptr = new Cryptr(\"ewfWE@#%$rfdsefgdsf\");\n const decryptedString = cryptr.decrypt(this.props.snippedUrl);\n Axios({\n url: BASE + \"api/Member/getLoggedInMember/\" + decryptedString,\n method: \"get\",\n headers: {\n \"content-type\": \"application/json\"\n }\n }).then(res =>\n this.setState({\n memDetails: res.data.member,\n dedicatedStatus: res.data.member.dedicatedStatus,\n membershipExpiryDate: res.data.member.expiryDate\n })\n );\n }\n render() {\n const memQRD = (name, value) => (\n
\n
{name}
\n
{value}
\n
\n );\n if(!membershipExpired(this.state.membershipExpiryDate)) {\n return (\n
\n \n
{memQRD(\"Name\", this.state.memDetails.firstname)}
\n
{memQRD(\"Last Name\", this.state.memDetails.surname)}
\n
{memQRD(\"ID Number\", this.state.memDetails.idno)}
\n
\n {memQRD(\"Membership Type\", this.state.memDetails.memType)}\n
\n
\n {memQRD(\"Address\", this.state.memDetails.physicalAddress)}\n
\n
\n {memQRD(\"Member Since Date\", this.state.memDetails.inceptionDate.substring(0, 10))}\n
\n
\n {memQRD(\"Member Expiry Date\", this.state.memDetails.expiryDate.substring(0, 10))}\n
\n
{memQRD(\"Email\", this.state.memDetails.email)}
\n {this.state.dedicatedStatus.map((content, index) => {\n return this.state.dedicatedStatus.status === \"Approved\" ? (\n
\n
{memQRD(content.dstype, content.dedicatedId)}
\n
\n ) : null;\n })}\n
\n );\n } else {\n return (\n
\n \n
\n Membership Expired\n
\n
\n )\n }\n }\n}\nexport default MemberQRDetails;\n","import axios from \"axios\";\nimport * as Types from \"./storelocatorActionTypes\";\nimport { BASE, GET_STORE_LIST } from \"../../API/APIendpoint\";\n\nconst getBranchesAPI = () => {\n const config = {\n url: BASE + GET_STORE_LIST,\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n },\n method: \"get\"\n };\n return axios(config);\n};\n\nexport const SL_GET_BRANCHES_START = \"SL_GET_BRANCHES_START\",\n SL_GET_BRANCHES_FAILED = \"SL_GET_BRANCHES_FAILED\",\n SL_GET_BRANCHES_SUCCESS = \"SL_GET_BRANCHES_SUCCESS\",\n SL_UPDATE_SEARCH_STRING = \"SL_UPDATE_SEARCH_STRING\",\n SL_UPDATE_SEARCH_URL = \"SL_UPDATE_SEARCH_URL\",\n SL_UPDATE_BRANCHES = \"SL_UPDATE_BRANCHES\";\n\nexport const getBranchesBeginAC = () => {\n return {\n type: Types.SL_GET_BRANCHES_START,\n storeLocatorState: {\n loading: true,\n error: null\n }\n };\n};\n\nexport const getBranchesFailedAC = error => {\n return {\n type: Types.SL_GET_BRANCHES_FAILED,\n storeLocatorState: {\n loading: false,\n error\n }\n };\n};\n\nexport const getBranchesSuccessAC = branches => {\n return {\n type: Types.SL_GET_BRANCHES_SUCCESS,\n storeLocatorState: {\n loading: false,\n error: null,\n branches\n }\n };\n};\n\nexport const getBranches = () => async dispatch => {\n dispatch(getBranchesBeginAC());\n try {\n const response = await getBranchesAPI();\n dispatch(getBranchesSuccessAC(response.data));\n } catch (error) {\n dispatch(getBranchesFailedAC(error));\n }\n};\n\nexport const updateSearchString = (url, city) => {\n return {\n type: Types.SL_UPDATE_SEARCH_STRING,\n storeLocatorState: {\n url,\n city\n }\n };\n};\n","export const SL_GET_BRANCHES_START = \"SL_GET_BRANCHES_START\",\n SL_GET_BRANCHES_FAILED = \"SL_GET_BRANCHES_FAILED\",\n SL_GET_BRANCHES_SUCCESS = \"SL_GET_BRANCHES_SUCCESS\",\n SL_UPDATE_SEARCH_STRING = \"SL_UPDATE_SEARCH_STRING\",\n SL_UPDATE_SEARCH_URL = \"SL_UPDATE_SEARCH_URL\",\n SL_UPDATE_BRANCHES = \"SL_UPDATE_BRANCHES\";\n","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { bindActionCreators } from \"redux\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport * as StoreLocatorActions from \"../storeLocator/storeLocatorActions\";\nclass ShootingRange extends Component {\n constructor(props) {\n super(props);\n this.state = {\n shootingRangesList: []\n };\n }\n handleSelectChange = e => {\n let city = e.target.value;\n let url = this.props.storeLocatorState.url.replace(\n this.props.storeLocatorState.city,\n city\n );\n this.props.StoreLocatorActions.updateSearchString(url, city);\n };\n componentDidMount() {\n Axios.get(BASE + \"api/ShootingRanges\",\n {headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }}).then(res => {\n this.setState({\n shootingRangesList: res.data\n });\n });\n }\n render() {\n return (\n
\n
\n \n
\n
\n

\n Find shooting ranges near you to practice or do an activity.\n

\n
\n

\n Choose Shooting Range\n

\n
\n
\n this.handleSelectChange(e)}\n >\n \n {this.state.shootingRangesList.map((branch, index) => (\n \n ))}\n \n
\n
\n
\n \n
\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n storeLocatorState: state.storeLocatorState\n };\n};\nconst mapActionsToProps = dispatch => ({\n StoreLocatorActions: bindActionCreators(StoreLocatorActions, dispatch)\n});\nexport default connect(\n mapStateToProps,\n mapActionsToProps\n)(ShootingRange);\n","import React, { Component } from \"react\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport axios from \"axios\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport { STATUS } from \"../../store/constantFile/ConstFile\"\nclass StatusView extends Component {\n constructor(props) {\n super(props);\n this.state = {\n key: this.props.match.params.key,\n DedicatedStatusApplication: {}\n };\n }\n\n componentDidMount() {\n let keyValue = { QR: this.state.key };\n axios\n .post(BASE + \"api/QR/post/key\",keyValue,\n {headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }})\n .then(res => {\n this.setState({ DedicatedStatusApplication: res.data.dedicated });\n })\n .catch(function(error) {});\n }\n render() {\n return (\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n {this.state.DedicatedStatusApplication.status ===\n STATUS.Approved && (\n \n )}\n {this.state.DedicatedStatusApplication.status ===\n STATUS.Pending && (\n \n )}\n {this.state.DedicatedStatusApplication.status ===\n STATUS.Declined && (\n \n )}\n {this.state.DedicatedStatusApplication.status ===\n STATUS.Terminated && (\n \n )}\n \n \n \n {this.state.DedicatedStatusApplication.dateApproved ===\n null && }\n {this.state.DedicatedStatusApplication.dateApproved !==\n null && (\n \n )}\n \n\n {this.state.DedicatedStatusApplication.status ===\n STATUS.Declined && (\n \n \n\n \n \n )}\n \n {this.state.DedicatedStatusApplication.status ===\n STATUS.Terminated && (\n \n \n\n \n \n )}\n \n
Member No: \n {this.state.DedicatedStatusApplication.memNo}\n
DSS No: \n {this.state.DedicatedStatusApplication.dsno}\n
Discipline:\n {this.state.DedicatedStatusApplication.dstype}\n
Status: \n {this.state.DedicatedStatusApplication.status}\n \n {this.state.DedicatedStatusApplication.status}\n \n {this.state.DedicatedStatusApplication.status}\n \n {this.state.DedicatedStatusApplication.status}\n
Approval Date-\n {\" \"}\n {this.state.DedicatedStatusApplication.dateApproved}\n
Refusal Reason\n {this.state.DedicatedStatusApplication.refusalReason}\n
Termination Reason\n {this.state.DedicatedStatusApplication.terminationReason}\n
\n
\n
\n );\n }\n}\nexport default StatusView;\n","import React, { Component } from \"react\";\n\nclass CodeOfConduct extends Component {\n render() {\n return (\n
\n
\n

\n Code of Conduct\n

\n
\n

\n The National Association of Responsible Firearm Owners (NARFO)\n promotes the responsible, legal and safe use of firearms and\n follows this code of conduct listed below.\n

\n
\n
\n
    \n
  1. Any firearm in your possession must be licenced
  2. \n
  3. \n All firearms, regardless, must always be handled in a safe and\n responsible manner\n
  4. \n
  5. \n All firearms must only be handled in places where it is safe to\n do so\n
  6. \n
  7. \n All firearms, when transported or carried on the person, should\n be concealed\n
  8. \n
  9. \n Never point a firearm at any person unless you are compelled to\n do so within the framework of the law\n
  10. \n
  11. \n All firearms, when not in use, should be stored in the\n prescribed safe place\n
  12. \n
  13. \n Never carry a firearm in a place which is declared as a “gun\n free zone”\n
  14. \n
  15. Always carry your firearm license with you
  16. \n
  17. \n When loading, or unloading your firearm, do so in a safe place\n with a muzzle pointing in a safe direction. Special attention\n should be given if, in the unfortunate event of an accidental\n discharge, that deflection or ricochets are minimised and that\n care is taken that nothing that is out of sight could be hit\n
  18. \n
  19. \n Always keep your finger off the trigger when handling a firearm\n until you are ready and sure of the shot\n
  20. \n
  21. \n Never hand someone a loaded firearm, always make sure it is\n unloaded and safe to do so\n
  22. \n
  23. \n When receiving a firearm, always assume it is loaded and treat\n it as such\n
  24. \n
  25. \n When firing you’re firearm, always be sure of your target and\n what could be beyond your target\n
  26. \n
  27. \n Always use the correct ammunition in the firearm it is intended\n for\n
  28. \n
  29. \n Where possible, always use eye and ear protection. The noise\n produced by a firearm can cause permanent ear damage. Any debris\n caused by the firing of a firearm can cause damage to the eyes\n
  30. \n
  31. \n Never place any foreign object in the barrel of a firearm.\n Always make sure that when you load or unload your firearm, it\n is clear of any foreign objects.\n
  32. \n
  33. \n Never perform any alterations to any firearm unless it is done\n by a professional qualified to do so\n
  34. \n
  35. Any repairs should always be done by a qualified person
  36. \n
  37. \n Never tamper with the trigger mechanism, it may result in a\n accidental discharge\n
  38. \n
  39. \n Make sure you know the mechanics of your firearm in terms of,\n safety, dismantling and cleaning, loading and unloading, removal\n and insertion of any cartridge holder or magazine\n
  40. \n
  41. \n You are always responsible for your firearm, it is a fulltime\n job\n
  42. \n
  43. \n Never give someone else access to the safe storage of your\n firearm\n
  44. \n
  45. \n You may not use or be in possession of someone else’s firearm\n unless the person who holds the license is in arm’s length\n
  46. \n
  47. \n You may not let someone use your firearm if you are not in arm’s\n length\n
  48. \n
  49. \n You may only have in your possession a maximum of 200 rounds per\n firearm unless you have a dedicated status\n
  50. \n
  51. \n You should not have in your possession any ammunition, firearms\n or parts thereof if you do not have the prescribed license for\n such items\n
  52. \n
  53. \n You may never use your firearm to conduct or participate in any\n illegal activities\n
  54. \n
  55. \n It is your duty as a responsible firearm owner to report to the\n authorities any illegal activities which specifically involves\n the use of firearms, both legal and illegal\n
  56. \n
  57. \n It is your duty to promote these codes of conduct to fellow\n firearm owners and the general public\n
  58. \n
\n
\n
\n
\n );\n }\n}\nexport default CodeOfConduct;\n","import React, { Component } from \"react\";\n\nclass Aims extends Component {\n render() {\n return (\n
\n
\n

\n In this section you can find additional details of NARFO, what our aims are, who our partners are,\n the code of conduct we need our members to sunscribe to, and our general contact form.\n

\n
\n

\n Our Aims\n

\n
\n

\n The National Association of Responsible Firearm Owners (NARFO) is\n committed to work with its clients and members, authorities and\n government departments, other associations, anti-firearm community,\n national and international bodies to promote the use of legal firearms in\n a responsible manner for hunting, sport shooting and self-defence or any \n other legal application.\n Our aim is to educate and create awareness on the application of\n firearms for the intended use.\n

\n
\n
\n

\n The National Association of Responsible Firearm Owners (NARFO) has\n a partner program with the Wildman and Outdoor Group to afford members a\n broader range of benefits and a customer experience though the full\n value chain of owning a firearm. We also have selected partnership \n programs with other service providers. See our parner page for more details.\n This includes access to training facilities for competencies, assistance with \n your application process, enjoy the benefits of the My Bonus scheme and the\n discounts, opt in to the RifleSure insurance product or you can\n finance your dream firearm through Peerfin. \n

\n
\n
\n

\n NARFO is an Accredited Hunting and Sports Shooting Association in\n terms of the Firearms Control Act 60 of 2000 and can award it's members \n dedicated hunters or sports persons status and we can endorse your motivations.\n We are a non politcal firearm owner association that strives to promote and protect the\n right of legal possession, safe and responsible use of firearms by\n any law abiding South African citizen for the purpose of\n self-protection, sport shooting, hunting or recreational use,\n conducting of business or being a collector or manufacturer.\n

\n
\n\n
\n

\n The Executive team has been involved in the industry for the last 30\n years and with more than 50 consultants within the partner program and Wildman Group.\n You have access to experts and a wealth of knowledge to engage with\n you through the full value chain of owning a firearm. Contact Any\n partner or Wildman today and speak to a representative.\n

\n
\n
\n

\n The NARFO also has international affiliation with the following\n Associations: NFA – The Canadian National Firearm Association NRA –\n National Rifle Association of America SCI – Safari Club\n International\n

\n
\n

\n

\n );\n }\n}\nexport default Aims;\n","import React, { Component } from \"react\";\n\nclass DiciplinaryCode extends Component {\n render() {\n return (\n
\n

\n Diciplinary Code\n

\n

\n Every member of the association shall be bound to the code of conduct,\n subscribe to the policies and objectives and or any other by-laws of\n the association.\n

\n
    \n
  1. \n Any contravention of the codes or policies shall lead to the\n immediate termination of membership without compensation or refund\n of membership fees or any other fees that have been paid.{\" \"}\n
  2. \n
  3. \n On termination of membership, all support, negotiations,\n applications and endorsement processes shall be ceased.\n
  4. \n
  5. \n On termination of membership, the association has the right and duty\n to inform any of the authorities of the change in membership and\n provide all necessary proof and documentation in support of the\n termination.\n
  6. \n
  7. \n The following actions are seen in a serious light and will\n subsequently also lead to the immediate termination of membership\n
  8. \n
\n
    \n
  • \n No member shall act in any way that could discredit the association\n
  • \n
  • \n No member shall breach and/or contravene any provision of The\n Constitution of the Republic of South Africa Act 108 of 1996, a\n National Act or Provincial Act of the Republic of South Africa,\n FIREARMS CONTROL ACT, 2000 or any Regulations promulgated there\n under, or any Provincial Ordinance, where such breach and/or\n contravention is relevant to any of the policies and objectives of\n the Association\n
  • \n
  • \n No member shall provide any false information relating to any\n relevant information required to obtain, apply for or use any fire\n arm or provide false information during the application process of\n becoming a member\n
  • \n
  • No member shall falsify any document of the association
  • \n
  • \n A member shall at all times disclose any change in material facts\n during the period of membership Any criminal record\n
  • \n
  • \n The decision to terminate the membership of any member is at the\n sole discretion of the board of directors of the association and is\n deemed to be final.\n
  • \n
\n
\n );\n }\n}\nexport default DiciplinaryCode;\n","import React, { Component } from \"react\";\n\nclass Policy extends Component {\n render() {\n return (\n
\n
\n

\n Privacy Policy\n

\n

\n National Association or Responsible Firearm Owners (NARFO) Privacy Policy.\n

\n
\n

\n 1.Context\n

\n

1.1.This Privacy Policy describes how your personal information is collected, used, stored and shared when you visit Www.narfo.co.za (the “Site”) and your personal online profile.

\n

1.2.In order for an association to obtain and maintain their accreditation with theSouth African Police Services (SAPS), more specific with the Central Firearms Registry (CFR), the association, National Association or Responsible Firearm Owners (\"NARFO\"), must comply with the stipulations of Regulation 2(7), 2(8), and 4(2)(a) of the Regulations (2004) of the Firearms Control Act, 2000 (Act 60 of 2000 as amended).

\n

1.3.These regulations require that NARFO must collect and maintain information about a certain category of members throughout the lifespan of such a member.

\n

1.4.NARFO membership is done through an electronic online platform with no paper-based record keeping mechanism. Information stored on the NARFO system is supplied by the member.

\n

2.Security of your personal data

\n

2.1.We will take reasonable technical and organizational precautions to prevent the loss, misuse or alteration of your personal information.

\n

2.2.We will store all the personal information you provide on servers provided by our webhosting provider.

\n

2.3.Data transmission over the internet is inherently insecure, and we cannot guarantee the security of data sent over the internet.

\n

2.4.Data that is submitted by members is encrypted using secure socket layer technology (SSL).

\n

2.5.NARFO constantly evaluates the security and protection of personal information that is located in a secure members area.

\n

2.6.It is know that any website on the world wide web can be subject to cyber attack andNARFO has no control over such attacks.

\n

2.7.NARFO will never unintentionally disclose or expose any personal informationof it’s members.

\n

2.8.Members are responsible for keeping passwords and user login details confidential and NARFO cannot be held liable if the member allows this and provide access to personal information to third parties.

\n

2.9.NARFO will not ask you for your password.


\n

3.PERSONAL INFORMATION WE COLLECT, STORE AND MAINTAIN

\n

3.1.When you visit the Site, we may collect certain information about your device, including information about your web browser, IP address, time zone and location.

\n

3.2.Additionally, when you join and make use of the payment gateway, we collect certain information from you, including your name and surname, address, email address, ID number, ethnicity and gender, username and password. Your password is stored as an encrypted string.

\n

3.3.We do not store any of your payment method details like credit card or bank details. This is done through a South African Secure Payment Gateway.

\n

3.4.When we talk about “Personal Information” in this Privacy Policy, we are talking about Information you would be required to supply depending on\nyour requirements in terms of applying for membership, dedicated status, submitting an activity, making use of the license reminder system and applying for an endorsement.

\n

4.HOW DO WE USE YOUR PERSONAL INFORMATION?

\n

4.1.Your personal information is used to communicate with you, Name and surname and email address.

\n

4.2.Personal information is also used on the certificates and documents you generate from the system.

\n

4.3.Documents include but not limited to: Proof of membership, Membership Card, Dedicated Person Certificate, Endorsements, Activity Register, License Reminder Report, Payment Receipts and various Emails used for communication purposes.

\n

5.SHARING YOUR PERSONAL INFORMATION

\n

5.1.Personal Information that is shared with third parties are Name, Surname and Email address, for the sole purpose of making use of bulk mail systems to communicate NARFO related information.

\n

5.2.Your personal information will never be sold, distributed, traded or otherwise made available to any other third party for whatever other reason.

\n

5.3.We may also share your Personal Information to comply with applicable laws and regulations, to respond to a subpoena, search warrant or other lawful request for information we receive, or to otherwise protect our rights and comply with related laws, bi laws, acts and regulations related to your membership.

\n

6.DATA RETENTION


\n

6.1.All information you supply as a result of your membership will be stored in our databases even if you terminate your membership.

\n

6.2.Members can change some personal information linked to their profile when personal circumstances change.

\n

6.3.NARFO may make use of data centers or servers that reside out side the borders of South Africa for data storage or backups of data.

\n

7.CHANGES

\n

7.1.We may update this privacy policy from time to time in order to reflect, for example, changes to our practices or for other operational, legal or regulatory reasons.

\n
\n
\n );\n }\n}\nexport default Policy;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { bindActionCreators } from \"redux\";\nimport * as StoreLocatorActions from \"./storeLocatorActions\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\n\nclass StoreLocator extends Component {\n constructor(props) {\n super(props);\n\n this.handleSelectChange = this.handleSelectChange.bind(this);\n }\n\n componentDidMount() {\n this.props.StoreLocatorActions.getBranches();\n }\n\n handleSelectChange = e => {\n let city = e.target.value;\n let url = this.props.storeLocatorState.url.replace(\n this.props.storeLocatorState.city,\n city\n );\n this.props.StoreLocatorActions.updateSearchString(url, city);\n };\n\n render() {\n if (this.props.storeLocatorState.loading)\n return (\n
\n \n
\n );\n return (\n \n

\n Partners\n

\n
\n

\n Find a partners near you that offers competency training, shooting range, gunsmith, rifle sure, finance, loyalty progrmas, motivations,\n sports shooting activities, hunting opertunities and more.\n

\n
\n

\n Choose City\n

\n
\n
\n this.handleSelectChange(e)}\n >\n \n {this.props.storeLocatorState.branches.map((branch, index) => (\n \n ))}\n \n
\n
\n
\n \n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n storeLocatorState: state.storeLocatorState\n };\n};\n\nconst mapActionsToProps = dispatch => ({\n StoreLocatorActions: bindActionCreators(StoreLocatorActions, dispatch)\n});\n\nexport default connect(\n mapStateToProps,\n mapActionsToProps\n)(StoreLocator);\n","import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport \"./MainAbout.css\";\nimport { toast } from 'react-toastify';\ntoast.configure();\nclass ContactUs extends Component {\n constructor(props) {\n super(props);\n this.state = {\n submitted: false,\n Name: \"\",\n Email: \"\",\n Subject: \"\",\n Message: \"\",\n _invalidName: \"\",\n _invalidEmail: \"\",\n _invalidSubject: \"\",\n _invalidMessage: \"\",\n validEmailTester: /^[a-zA-Z0-9]+@((\\[([0-9]{1,3}\\.){3}[0-9]{1,3}\\])|(([\\w\\-]+\\.)+)([a-zA-Z]{2,4}))$/\n }\n }\n checkForm = e => {\n e.preventDefault();\n if(this.state.Name.length === 0)\n this.setState({_invalidName: \"Please enter name\"})\n if(!(this.state.validEmailTester.test(this.state.Email)))\n this.setState({_invalidEmail: \"Please enter valid email\"})\n if(this.state.Subject.length=== 0)\n this.setState({_invalidSubject: \"Please enter Subject\"})\n if(this.state.Message.length === 0)\n this.setState({_invalidMessage: \"Please enter Message\"})\n if(this.state.Name.length !== 0 && this.state.validEmailTester.test(this.state.Email) &&\n this.state.Subject !== 0 && !this.state.Message !== 0){\n this.handleSubmit();\n }\n }\n handleSubmit = () => {\n const details = {\n fromEmail: this.state.Email,\n SenderName: this.state.Name,\n Subject: this.state.Subject,\n Content: this.state.Message\n };\n axios({\n url: `${BASE}api/AutomatedEmail/post/ContactUsQueryMailToAdmin`,\n data: details,\n method: \"post\"\n })\n .then(res => {\n if (res.data.status === \"success\") {\n this.setState({\n submitted: true\n })\n } else {\n toast.warning(\"Something went wrong please try again\");\n }\n });\n }\n render() {\n return(\n
\n {!this.state.submitted ?\n
\n

\n Contact Us\n

\n
\n The responsibility lies with you\n
\n
Enter Your Name
\n {\n this.setState({\n Name: a.target.value\n });\n }}\n />\n {this.state.Name.length === 0 ? \n
{this.state._invalidName}
: null}\n
Enter Your Email
\n {\n this.setState({\n Email: a.target.value\n });\n }}\n />\n {!(this.state.validEmailTester.test(this.state.Email)) ? \n
{this.state._invalidEmail}
: null}\n
Enter Subject
\n {\n this.setState({\n Subject: a.target.value\n });\n }}\n />\n {this.state.Subject.length === 0 ? \n
{this.state._invalidSubject}
: null}\n
Enter Your Message
\n {\n this.setState({\n Message: a.target.value\n });\n }}\n rows=\"6\"\n />\n {this.state.Message.length === 0 ? \n
{this.state._invalidMessage}
: null}\n
\n \n
\n
:\n
\n Thank You for subitting a request. Someone from our team will be in contact soon.\n
}\n
\n );\n }\n}\nexport default ContactUs;\n","import React from \"react\";\nimport ContactUs from \"./ContactUs\";\nimport StoreLocator from \"../../storeLocator/StoreLocator\";\nimport Aims from \"./Aims\";\nimport CodeOfConduct from \"./CodeOfConduct\";\nimport DiciplinaryCode from \"./DiciplinaryCode\";\nimport Policy from \"./Policy\";\n\nfunction AboutContent(props) {\n return (\n
\n \n \n {props.isLoggedIn ? : null}\n \n {props.isLoggedIn ? : null}\n
\n \n
\n
\n );\n}\n\nexport default AboutContent;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Tabs from \"@material-ui/core/Tabs\";\nimport Tab from \"@material-ui/core/Tab\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport CodeOfConduct from \"./CodeOfConduct\";\nimport Aims from \"./Aims\";\nimport DisciplinaryCodes from \"./DiciplinaryCode\";\nimport Policy from \"./Policy\";\nimport Partners from \"../../storeLocator/StoreLocator\";\nimport ContactUs from \"./ContactUs\";\nimport AboutContent from \"./AboutContent\";\nimport \"./MainAbout.css\"\n\nconst styles = theme => ({\n root: {\n flexGrow: 1,\n width: \"100%\",\n backgroundColor: theme.palette.background.paper\n }\n});\nclass ScrollableTabsButtonAuto extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n value: 0\n };\n }\n handleChange = (event, value) => {\n this.setState({ value });\n };\n render() {\n const { classes } = this.props;\n const { value } = this.state;\n return (\n
\n {this.props.userDetails.isLoggedIn ? (\n
\n \n
\n About\n
\n \n \n \n \n \n \n \n \n \n \n {value === 0 && (\n \n )}\n {value === 1 && }\n {value === 2 && }\n {value === 3 && }\n {value === 4 && }\n {value === 5 && }\n {value === 6 && }\n
\n ) : (\n
\n \n
\n About\n
\n \n \n \n \n \n \n \n \n {value === 0 && (\n \n )}\n {value === 1 && }\n {value === 2 && }\n {value === 3 && }\n {value === 4 && }\n
\n )}\n
\n );\n }\n}\nScrollableTabsButtonAuto.propTypes = {\n classes: PropTypes.object.isRequired\n};\nconst mapStateToProps = state => {\n return {\n userDetails: state.loginReducer.userProfileDetails\n };\n};\nexport default connect(\n mapStateToProps,\n null\n)(withStyles(styles)(ScrollableTabsButtonAuto));\n","import React, { Component } from 'react';\nimport ScrollableTabsButtonAuto from \"../staticPages/aboutPage/AboutTabbedPane\";\nimport {connect} from \"react-redux\";\nimport StoreLocator from \"./StoreLocator\";\n\nclass StoreLocatorContent extends Component {\n render() {\n return (\n
\n \n \n
\n )\n }\n}\nconst mapStateToProps = state => {\n return {\n userDetails: state.loginReducer.userProfileDetails\n };\n };\n \n export default connect(\n mapStateToProps,\n null\n )(StoreLocatorContent);","import {\n MenuItem, Select,\n TextField} from \"@material-ui/core/\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport FadeLoader from \"react-spinners/FadeLoader\";\nimport { BASE, GET_ALL_MEMBERS_DEDICATED, GET_USER_BY_FILFTER, GET_USER_BY_STATUS } from \"../../API/APIendpoint\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport MemberCard from \"./MemberCard\";\nimport { viewAllMemberStyles } from \"./styles/styles\";\n\nconst userStatus = Object.freeze({ \"Approved\": 1, \"Pending\": 2, \"Rejected\": 3, \"Renewing\": 4 })\nclass ViewAllMember extends Component {\n constructor(props) {\n super(props)\n this.state = {\n searchText: \"\",\n MemberList: [],\n filtertext: \"All\"\n }\n\n }\n onChangeText = (event) => {\n this.setState({ searchText: event });\n }\n\n onchangeFilter(event) {\n this.setState({ filtertext: event });\n axios.post(BASE + GET_USER_BY_STATUS + \"/\" + userStatus[event],\n {\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n }).then(res => {\n this.setState({ MemberList: res.data })\n this.props.onMemberViewListChange(res.data);\n });\n }\n\n componentDidMount() {\n axios.get(BASE + GET_ALL_MEMBERS_DEDICATED,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n }).then(res => {\n const MemberList = res.data;\n this.props.onMemberViewListChange(MemberList);\n });\n this.props.onMemberStateChange(true, \"isAdmin\");\n }\n\n resetFilters = () => {\n this.props.onAdminActivityTypeFilterChange(\"Activity Type\");\n this.props.onAdminActivityStatusFilterChange(\"Status\");\n };\n\n showFilterBar = () => {\n this.setState({ searchToggle: !this.state.searchToggle })\n }\n\n getFilteredMembers = (event) => {\n if (event.key == \"Enter\" || event.key == 13) {\n axios.post(BASE + GET_USER_BY_FILFTER + \"/\" + this.state.searchText,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,\n }\n }).then(res => {\n this.setState({ MemberList: res.data })\n this.props.onMemberViewListChange(res.data);\n });\n this.props.onMemberStateChange(true, \"isAdminMemView\");\n }\n\n };\n render() {\n let MemberV = this.props.MemberList;\n let lastLetter = \"\";\n let currentLetter;\n let displayLetter = false;\n MemberV.sort((a, b) => (a.firstname > b.firstname ? 1 : -1));\n return (\n
\n this.showFilterBar()}\n />\n\n
\n
\n
User status
\n \n this.onchangeFilter(event.target.value)\n }\n defaultValue=\"Activity Type\"\n inputProps={{\n name: \"Activity Type\",\n id: \"ActivityTypeSelector\"\n }}\n >\n \n All\n \n Approved\n Pending\n Rejected\n Renewing\n \n
\n this.onChangeText(event.target.value)}\n onKeyDown={(event) => this.getFilteredMembers(event)}\n variant=\"outlined\"\n />\n
\n {Array.isArray(MemberV) && MemberV.length === 0 ? (\n
\n \n
\n ) : (\n
\n {this.state.MemberList.map((MemberMap, index) => {\n currentLetter = MemberMap.firstname\n .trim()\n .toLowerCase()\n .substring(0, 1);\n\n if (currentLetter !== lastLetter) {\n displayLetter = MemberMap.firstname\n .trim()\n .toUpperCase()\n .substring(0, 1);\n } else {\n displayLetter = \"\";\n }\n\n lastLetter = currentLetter;\n return (\n \n );\n })}\n
\n )}\n
\n );\n }\n}\nViewAllMember.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails,\n MemberDetails: state.MemberViewReducer.MemberView,\n MemberList: state.MemberViewReducer.MemberList,\n showActFilterBar: state.MemberViewReducer.showFilterBar,\n MemSearch: state.MemberViewReducer.Search\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberViewListChange: newUserMemberArray =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW_LIST,\n payload: newUserMemberArray\n }),\n onMemberStateChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_STATE,\n varName: vname,\n varValue: value\n }),\n\n onShowFilterBarToggle: () =>\n dispatch({ type: actionTypes.TOGGLE_SHOW_FILTER_BAR }),\n\n onAdminActivityTypeFilterChange: newAdminActivityTypeFilter =>\n dispatch({\n type: actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_ACTIVITY_TYPE_FILTER,\n payload: newAdminActivityTypeFilter\n }),\n onAdminActivityStatusFilterChange: newAdminActivityStatusFilter =>\n dispatch({\n type: actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_ACTIVITY_STATUS_FILTER,\n payload: newAdminActivityStatusFilter\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(viewAllMemberStyles)(ViewAllMember));\n","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE } from \"../../API/APIendpoint\";\nimport GenericHeader from \"../../utils/GenericHeader\";\nimport { toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { Form, InputGroup } from \"react-bootstrap\";\nimport DateRange from \"@material-ui/icons/DateRange\";\ntoast.configure();\nclass ProcessMemberPayment extends Component {\n constructor(props) {\n super(props);\n this.state = {\n PaymentMethod: \"\",\n AmountPaid: \"\",\n CostCode: \"\",\n Email: \"\",\n MemNo: \"\",\n TransactionNumber: \"\",\n PaymentDate: \"\"\n };\n this._submitForm = React.createRef();\n }\n _clickSubmitButton = e => {\n e.preventDefault();\n this._submitForm.current.click();\n }\n handleSubmit = async e => {\n e.preventDefault();\n let yearInt = parseInt(new Date().getFullYear(), 10) + 1;\n const accountInfo = {\n PaymentType: \"Membership Fees \" + yearInt,\n PaymentMethod: this.state.PaymentMethod,\n AmountPaid: this.state.AmountPaid,\n Email: this.state.Email,\n CostCode: this.state.CostCode,\n Paid: true,\n MemNo: this.state.MemNo,\n TransactionNo: this.state.TransactionNumber,\n PaymentDate: this.state.PaymentDate\n };\n Axios({\n url: `${BASE}api/Member/ApproveNewMember/${this.state.MemNo}/1`,\n data: accountInfo,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n toast.success(res.data.status)\n })\n };\n render() {\n const info = (row1, row2) => (\n \n \n {row1}\n \n {row2}\n \n \n );\n return (\n
\n
\n
\n \n
\n \n {info(\"Member Number\", \n {\n this.setState({\n MemNo: a.target.value\n });\n }}\n />\n )}\n {info(\"Payment Method\", \n {\n this.setState({\n PaymentMethod: a.target.value\n });\n }}\n />\n )}\n {info(\"Amount Paid\", \n {\n this.setState({\n AmountPaid: a.target.value\n });\n }}\n />\n )}\n {info(\"Cost Code\", \n {\n this.setState({\n CostCode: a.target.value\n });\n }}\n />\n )}\n {info(\"Transaction Number\", \n {\n this.setState({\n TransactionNumber: a.target.value\n });\n }}\n />\n )}\n {info(\"PaymentDate\", \n \n \n \n \n \n \n {\n this.setState({\n PaymentDate: a.target.value\n });\n }}\n />\n \n )}\n this.handleSubmit(e)}\n ref={this._submitForm}\n />\n
\n
\n
\n
\n \n
\n
\n
\n );\n }\n}\nexport default ProcessMemberPayment;\n","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { Form, InputGroup } from \"react-bootstrap\";\nimport DateRange from \"@material-ui/icons/DateRange\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\ntoast.configure();\nclass StoreOwnerCommission extends Component {\n constructor(props) {\n super(props);\n this.state = {\n PaymentDate: \"\",\n PaymentMethod: \"\", \n AccountType: \"\",\n Branch: \"\",\n Paid: \"\",\n PaymentTransNo: \"\"\n };\n this._submitForm = React.createRef();\n }\n _clickSubmitButton = e => {\n e.preventDefault();\n this._submitForm.current.click();\n }\n handleSubmit = async e => {\n e.preventDefault();\n const accountInfo = {\n ComissionId: this.props.commInfo.commissionID,\n PaymentDate: this.state.PaymentDate,\n PaymentMethod: this.state.PaymentMethod,\n Branch: this.props.commInfo.branchName,\n RepNo: this.props.commInfo.repNum,\n Paid: 1\n };\n if( this.props.commCategory.frequency === \"M\" && this.props.commCategory.commType === \"Owner Commission\") {\n Axios({\n url: `${BASE}api/commission/post/monthly/CommissionPaymentOC`,\n data: accountInfo,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n this.props.onCommissionGet(\n this.props.commissionRecord.filter(element => \n element.commissionID !== this.props.commInfo.commissionID)\n )\n toast.success(res.data.message);\n this.props.backFunction();\n })\n } else if(this.props.commCategory.frequency === \"A\" && this.props.commCategory.commType === \"Owner Commission\") {\n Axios({\n url: `${BASE}api/commission/post/yearly/CommissionPaymentOC`,\n data: accountInfo,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n this.props.onCommissionGet(\n this.props.commissionRecord.filter(element => \n element.commissionID !== this.props.commInfo.commissionID)\n )\n toast.success(res.data.message);\n this.props.backFunction();\n })\n } else if(this.props.commCategory.frequency === \"M\" && this.props.commCategory.commType === \"Sales Rep Commission\") {\n Axios({\n url: `${BASE}api/commission/post/monthly/CommissionPaymentSR`,\n data: accountInfo,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n this.props.onCommissionGet(\n this.props.commissionRecord.filter(element => \n element.commissionID !== this.props.commInfo.commissionID)\n )\n toast.success(res.data.message);\n this.props.backFunction();\n }) \n } else if(this.props.commCategory.frequency === \"A\" && this.props.commCategory.commType === \"Sales Rep Commission\") {\n Axios({\n url: `${BASE}api/commission/post/yearly/CommissionPaymentSR`,\n data: accountInfo,\n method: \"post\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n this.props.onCommissionGet(\n this.props.commissionRecord.filter(element => \n element.commissionID !== this.props.commInfo.commissionID)\n )\n toast.success(res.data.message);\n this.props.backFunction();\n }) \n }\n };\n render() {\n const info = (row1, row2) => (\n \n \n {row1}\n \n {row2}\n \n \n );\n return (\n
\n
\n
\n this.props.backFunction()}\n />\n
\n \n {info(\"Branch\", this.props.commInfo.branchName)}\n {info(\"Rep Number\", this.props.commInfo.repNum)}\n {info(\"Comm Amount\", this.props.commInfo.comission)}\n {info(\"Financial Year\", parseInt(new Date().getFullYear(), 10) + 1)}\n {info(\"PaymentDate\", \n \n \n \n \n \n \n {\n this.setState({\n PaymentDate: a.target.value\n });\n }}\n />\n \n )}\n {info(\"Payment Method\", \n {\n this.setState({\n PaymentMethod: a.target.value\n });\n }}\n />\n )}\n this.handleSubmit(e)}\n ref={this._submitForm}\n />\n
\n
\n
\n
\n \n
\n
\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n commInfo: state.CommissionReducer.commInfo,\n commissionRecord: state.CommissionReducer.commissionRecord,\n commCategory: state.CommissionCategoryReducer.commCategory\n };\n };\n \n const mapDispatchToProps = dispatch => {\n return {\n onCommissionPay: repNum =>\n dispatch({\n type: actionTypes.UPDATE_REP_NUM,\n repNum: repNum\n }),\n onCommissionGet: commRecord => \n dispatch({\n type: actionTypes.ON_COMMISSION_REC_UPDATE,\n ownerCommission: commRecord\n })\n };\n };\n \n export default connect(\n mapStateToProps,\n mapDispatchToProps\n )(StoreOwnerCommission);\n","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { toast } from 'react-toastify';\nimport StoreOwnerCommission from './StoreOwnerCommission';\n\nclass CommissionTemplate extends Component {\n constructor(props){\n super(props);\n this.state = {\n Commission: [],\n showStoreOwnerCommission:false\n }\n }\n loadCommissions =()=> {\n if(this.props.commCategory.frequency === \"M\" && this.props.commCategory.commType === \"Owner Commission\") {\n Axios({\n url: `${BASE}api/commission/GetMontlyDueCommissionOC`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({\n Commission: res.data\n })\n this.props.onCommissionGet(res.data);\n })\n } else if(this.props.commCategory.frequency === \"A\" && this.props.commCategory.commType === \"Owner Commission\") {\n Axios({\n url: `${BASE}api/commission/GetYearlyDueCommissionOC`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({\n Commission: res.data\n })\n this.props.onCommissionGet(res.data);\n })\n } else if(this.props.commCategory.frequency === \"M\" && this.props.commCategory.commType === \"Sales Rep Commission\") {\n Axios({\n url: `${BASE}api/commission/GetMontlyDueCommissionSR`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({\n Commission: res.data\n })\n this.props.onCommissionGet(res.data);\n })\n } else if(this.props.commCategory.frequency === \"A\" && this.props.commCategory.commType === \"Sales Rep Commission\") {\n Axios({\n url: `${BASE}api/commission/GetYearlyDueCommissionSR`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({\n Commission: res.data\n })\n this.props.onCommissionGet(res.data);\n })\n }\n }\n\n componentDidMount() {\n this.loadCommissions();\n }\n\n backFunction = () =>{\n this.loadCommissions();\n this.setState({showStoreOwnerCommission:false});\n }\n \n render() {\n const _commRecord = this.state.Commission;\n const _freq = this.props.commCategory.frequency === \"M\" ? \"Monthly\" : \"Yearly\"\n return (\n !this.state.showStoreOwnerCommission ?
\n
\n this.props.backFunction()}\n \n />\n
\n {_commRecord.length === 0 ?

{`No Outstanding ${_freq} ${this.props.commCategory.commType}s`}

:\n
\n

{`${_freq} ${this.props.commCategory.commType}`}

\n \n \n \n \n \n \n \n \n \n \n \n {_commRecord.map((ocom, index) =>\n \n \n \n \n \n \n \n \n \n )}\n \n
RepNo
Firstname
Surname
Branch
ComType
Commission
{ocom.repNo}{ocom.firstName}{ocom.surname}{ocom.branch}{ocom.comType}{ocom.comission}\n \n
\n
}\n\n
\n : \n this.state.showStoreOwnerCommission && \n );\n }\n}\nconst mapStateToProps = state => {\n return {\n commissionRecord: state.CommissionReducer.commissionRecord,\n commCategory: state.CommissionCategoryReducer.commCategory\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCommissionPay: (repNum, branchName, comission, commissionID) =>\n dispatch({\n type: actionTypes.UPDATE_REP_NUM,\n commInfo: {\n repNum: repNum,\n branchName: branchName,\n comission: comission,\n commissionID: commissionID\n }\n }),\n onCommissionGet: commRecord => \n dispatch({\n type: actionTypes.ON_COMMISSION_REC_UPDATE,\n commissionRecord: commRecord\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(CommissionTemplate);","import React, { Component } from \"react\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { Form, InputGroup } from \"react-bootstrap\";\nimport DateRange from \"@material-ui/icons/DateRange\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport Axios from \"axios\";\nimport { toast } from 'react-toastify';\nimport Radio from \"@material-ui/core/Radio\";\nimport CommissionTemplate from './CommissionTemplate';\n\ntoast.configure();\nclass ProcessCommissionPayment extends Component {\n constructor(props){\n super(props);\n this.state = {\n showCommissionTemplate:false,\n frequency: \"\",\n commType: \"\",\n _invalidCommissionTypeSelectMsg: \"\",\n _invalidFrequencySelectMsg: \"\",\n _invalidComDateSelectMsg: \"\",\n _comDate: \"\",\n _Commissions: [],\n _printCommissionSelect: false,\n _processCommissionSelect: true,\n _comDateTrack: \"\"\n }\n }\n componentWillUnmount() {\n this.props.onMemberStateChange(false, \"isAdminMemView\");\n }\n updateCommissionCategory = e => {\n e.preventDefault();\n if(this.state.frequency === \"\")\n this.setState({_invalidFrequencySelectMsg: \"Please select Commission frequency\"})\n if(this.state.commType === \"\")\n this.setState({_invalidCommissionTypeSelectMsg: \"Please select commission type\"})\n if(this.state.frequency !== \"\" && this.state.commType !== \"\") {\n this.props.onCommissionCategorySelect(this.state.commType, this.state.frequency);\n this.setState({\n _invalidFrequencySelectMsg: \"\",\n _invalidCommissionTypeSelectMsg: \"\",\n showCommissionTemplate:true\n })\n }\n }\n \n backFunction = () =>{\n this.setState({showCommissionTemplate:false});\n }\n onCommissionsGet = e => {\n e.preventDefault();\n this.setState({_invalidComDateSelectMsg: \"\"})\n if(this.state._comDateTrack === \"\")\n this.setState({_invalidComDateSelectMsg: \"Please Select Commission Date\"})\n Axios({\n url: `${BASE}api/commission/GetCommissionByDate/${this.state._comDateTrack}`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n })\n .then(res => {\n if(res.data.message){\n toast.success(\"Commissions Found\")\n this.props.onMothlyCommissionGet(res.data.repsMemComm);\n this.props.history.push(\"/MainSalesCommission\");\n this.setState({\n _invalidComDateSelectMsg: \"\"\n })\n } else {\n toast.warning(\"No Commissions Found\")\n }\n });\n }\n render() {\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n return (\n
\n
\n \n
\n \n {!this.state.showCommissionTemplate &&
\n
Choose Commission Action
\n this.setState({_processCommissionSelect: true, _printCommissionSelect: false})}\n />\n Process Commission Payments\n this.setState({_printCommissionSelect: true, _processCommissionSelect: false})}\n />\n Print Commissions\n
}\n\n {!this.state.showCommissionTemplate &&
\n {this.state._processCommissionSelect ? (\n
\n {info(\"Choose Commission Frequency\",\n {\n this.setState({\n frequency: a.target.value,\n _invalidFrequencySelectMsg: \"\"\n });\n }}\n >\n \n \n \n \n )}\n
{this.state._invalidFrequencySelectMsg}
\n {info(\"Choose Commission Type\",\n {\n this.setState({\n commType: a.target.value,\n _invalidCommissionTypeSelectMsg: \"\"\n });\n }}\n >\n \n \n \n \n )}\n
{this.state._invalidCommissionTypeSelectMsg}
\n
\n \n
\n
\n ) : (\n
\n
Select Month of Commissions
\n \n \n \n \n \n \n \n this.setState({_comDateTrack: event.target.value})\n }\n />\n \n
{this.state._invalidComDateSelectMsg}
\n
\n \n
\n
\n )}\n
}\n\n {/* Commission template */}\n { this.state.showCommissionTemplate && }\n
\n );\n }\n}\nconst mapStateToProps = state => {\n return {\n ownerCommission: state.CommissionReducer.ownerCommission,\n isAdmin: state.loginReducer.memberState.isAdmin\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberStateChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_STATE,\n varName: vname,\n varValue: value\n }),\n onMothlyCommissionGet: mCom =>\n dispatch({ \n type: actionTypes.MONTHLY_COMMISSION, \n monthlyCommission: mCom \n }),\n onCommissionTabChange: newComTab =>\n dispatch({ \n type: actionTypes.UPDATE_COMMISSION_TAB, \n currentCommissionTab: newComTab \n }),\n onCommissionCategorySelect: (commType, frequency) =>\n dispatch({\n type: actionTypes.UPDATE_COMMISSION_CATEGORY,\n commCategory: {\n commType: commType,\n frequency: frequency\n }\n }),\n onCommissionGet: commRecord => \n dispatch({\n type: actionTypes.ON_COMMISSION_REC_UPDATE,\n ownerCommission: commRecord\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ProcessCommissionPayment);","import React, { Component } from \"react\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport axios from \"axios\";\nimport { BASE } from \"../../../API/APIendpoint\";\nclass MemberCounts extends Component {\n constructor(props) {\n super(props);\n this.state = {\n typeFilter: \"\",\n title: \"\",\n partnerList: [],\n salesRepList: [],\n selectedPartner: \"\",\n selectedConsultant: \"\",\n selectedProvince: \"\",\n titleFilter: \"\",\n isGetRejected: true,\n _count: 0\n }\n }\n componentDidMount() {\n axios({\n url: `${BASE}api/Stores`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({\n partnerList: res.data\n })\n })\n axios({\n url: `${BASE}api/admin/sales`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({\n salesRepList: res.data\n })\n })\n }\n getMembers = e => {\n e.preventDefault();\n if(this.state.typeFilter === \"1\") {\n axios({\n url: `${BASE}api/Member/getByPartner/${this.state.selectedPartner}`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({\n _count: res.data.length,\n typeFilter: \"\"\n })\n })\n } else if(this.state.typeFilter === \"2\") {\n axios({\n url: `${BASE}api/Member/getByConsultant/${this.state.selectedConsultant}`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({\n _count: res.data.length,\n typeFilter: \"\"\n })\n })\n } else if(this.state.typeFilter === \"3\") {\n axios({\n url: `${BASE}api/Member/getByDemographicArea/${this.state.selectedProvince}`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({\n _count: res.data.length,\n typeFilter: \"\"\n })\n })\n } else if(this.state.typeFilter === \"4\") {\n axios({\n url: `${BASE}api/Member/getTerminatedMembers`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({\n _count: res.data.length,\n isGetRejected: false\n })\n })\n }\n }\n render() {\n const info = (row1, row2) => (\n
\n
{row1}
\n
{row2}
\n
\n );\n return(\n
\n \n {info(\"Choose Type Filter\",\n {\n this.setState({\n typeFilter: a.target.value,\n isGetRejected: true\n });\n }}\n >\n \n \n \n \n \n \n )}\n {this.state.typeFilter === \"1\" ? \n
\n {info(\"Members Per Partner\", \n {\n this.setState({\n selectedPartner: a.target.value,\n title: a.target.value,\n isGetRejected: true\n });\n }}\n >\n \n {this.state.partnerList.map((part, index) => (\n \n ))}\n )}\n
\n \n
\n
\n : this.state.typeFilter === \"2\" ?\n
\n {info(\"Members Per Consultant\", \n {\n this.setState({\n selectedConsultant: a.target.value.split(\" \")[0],\n title: a.target.value.substring(a.target.value.indexOf(\" \")),\n isGetRejected: true\n });\n }}\n >\n \n {this.state.salesRepList.map(name => (\n \n ))}\n )}\n
\n \n
\n
: this.state.typeFilter === \"3\" ?\n
\n {info(\"Members Per Province\", \n {\n this.setState({\n selectedProvince: a.target.value,\n title: a.target.value,\n isGetRejected: true\n });\n }}\n >\n \n \n \n \n \n \n \n \n \n \n )}\n
\n \n
\n
: this.state.typeFilter === \"4\" && this.state.isGetRejected ?\n
\n
Get Rejected Members
\n \n
: null}\n
\n )\n }\n}\nexport default MemberCounts;","import Axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { BASE } from \"../../../API/APIendpoint\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport { toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport ReactExport from \"react-export-excel\";\nimport { YearPicker } from 'react-dropdown-date';\nimport FadeLoader from \"react-spinners/FadeLoader\";\n\nconst ExcelFile = ReactExport.ExcelFile;\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\n\ntoast.configure();\nclass DSNonComplianceList extends Component {\n constructor(props) {\n super(props);\n this.state = {\n nonCompliancelist: [],\n nonCompliancelistPrior: [],\n priorYearList: false,\n selectedYear: \"\",\n isYearlyRecordsLoaded: false,\n loading: false\n };\n }\n\n getCurrenYearList = () => {\n this.setState({ loading: true });\n Axios({\n url: `${BASE}api/DedicatedStatus/DHYearlyReport`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n this.setState({isYearlyRecordsLoaded : true});\n this.setState({ loading: false });\n res.data.forEach(element => {\n this.state.nonCompliancelist.push({\n name: element.firstName,\n surname: element.surname,\n idNo: element.idNo,\n dstype: element.dsType,\n remarks: element.remarks\n })\n });\n })\n }\n\n getPriorYearNonComplianceList = _date => {\n Axios({\n url: `${BASE}api/DedicatedStatus/GetNonComplianceListByDate/${_date}`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n if(res.data.recordsFound){\n this.setState({\n nonCompliancelistPrior: res.data.dsNonCompliances\n })\n this.setState({priorYearList: true});\n toast.success(res.data.message)\n } else {\n toast.warning(res.data.message);\n }\n })\n setInterval(() => {\n this.setState({\n priorYearList: false,\n nonCompliancelistPrior: []\n });\n }, 8000);\n }\n \n render() {\n if (this.state.loading) {\n return (\n
\n
\n \n
\n
\n

Loading files. Please wait ...

\n
\n
\n );\n }\n return (\n
\n \n
\n \n
\n { this.state.isYearlyRecordsLoaded ? \n \n \n \n \n \n \n \n \n \n \n \n
Current Year Non Compliance List
{this.state.priorYearList?
{`${this.state.selectedYear} Non Compliance List`}
:
Non Compliance History (Choose year)
}
\n \n \n \n \n \n \n \n \n \n \n \n \n \n {this.state.priorYearList ? \n \n \n \n \n \n \n \n \n \n \n \n :\n {this.getPriorYearNonComplianceList(year);\n this.setState({selectedYear: year});\n }}\n />}\n
:\n null\n } \n
\n );\n }\n}\nexport default DSNonComplianceList;\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport \"./styles.css\";\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport axios from 'axios';\nimport { BASE, FRONT } from '../../API/APIendpoint';\nimport { \n\tButton\n } from '@material-ui/core';\nimport { toast } from 'react-toastify';\ntoast.configure();\nclass ForgotEmail extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isActive: false,\n emailRetrieved: false,\n _invalidIdNumber: \"\",\n Email: \"\"\n };\n }\n componentDidMount(){\n this.props.onResetPassDetailsChange(\"\", \"identityNumber\");\n }\n checkIdAndGetEmail = e => {\n e.preventDefault();\n if(this.props.resetPassDetails.identityNumber.length === 0 || this.props.resetPassDetails.identityNumber.length > 13)\n this.setState({_invalidIdNumber: \"Please enter a valid identity number\"})\n else {\n axios({\n url: `${BASE}api/Member/getEmailAddressByID/${this.props.resetPassDetails.identityNumber}`,\n method: \"get\",\n headers: {\n 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n }\n }).then(res => {\n if(res.data.status === true){\n toast.success(res.data.message);\n this.setState({\n emailRetrieved: true,\n Email: res.data.email\n })\n this.props.onResetPassDetailsChange(res.data.email, \"email\")\n setTimeout(() => {\n this.props.history.push(\"/Login/ResetPassword\")\n }, 3000);\n } else {\n toast.error(res.data.message)\n }\n })\n }\n }\n activateButton = () => {\n this.setState({isActive: true})\n }\n deactivateButton = () => {\n this.setState({isActive: false})\n }\n render() {\n return (\n
\n {this.state.emailRetrieved === false ?\n
\n

Get Your Email

\n
\n

\n

Before we give you your email, we need to varify that
\n you are the owner of the email sent.\n

\n

\n
Enter Your Identity Number
\n
\n
\n {\n this.setState({\n Email: a.target.value\n });\n this.props.onResetPassDetailsChange(a.target.value, \"identityNumber\")\n }}\n />\n
\n
\n
\n\t\t\t\t\t\n\t\t\t\t
\n
\n \n
\n
:\n
\n Verification successful, your email address is
\n {this.props.resetPassDetails.email}\n
}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n resetPassDetails: state.loginReducer.resetPassDetails,\n recatchaKey: state.RecaptchaKeyReducer\n };\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onResetPassDetailsChange: (value, vname) => dispatch({ type: actionTypes.UPDATE_RESET_DETAILS, varValue: value, varName: vname })\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)((ForgotEmail));","import {\n FETCH_MEMBER_DATA_ERROR,\n SET_MEMBER_DATA,\n SET_MEMBER_PROFILE_PICTURE,\n SET_MEMBER_DEDICATED_STATUS,\n SET_MEMBER_LOYALTY_DAYS,\n SET_MEMBER_ACCOUNT_HISTORY,\n SET_MEMBER_DEDICATED_STATUS_ACTIVITIES,\n SET_PAYFAST_DETAILS,\n EMAIL_SET_MEMBER_DATA_2,\n EMAIL_FETCH_MEMBER_DATA_ERROR_2\n} from './types';\n\nconst fetchMemberData = service => id => dispatch => service.getMember(id)\n .then(response => dispatch({ type: SET_MEMBER_DATA, payload: response.data }))\n .catch(error => dispatch({ type: FETCH_MEMBER_DATA_ERROR, payload: error.message }));\n\nconst fetchMemberProfilePicture = service => id => dispatch => service.getMemberProfilePicture(id)\n .then(response => dispatch({ type: SET_MEMBER_PROFILE_PICTURE, payload: response.data[0].profilePicture }))\n .catch(() => dispatch({ type: SET_MEMBER_PROFILE_PICTURE, payload: '' }));\n\nconst fetchMemberDedicatedStatus = service => id => dispatch => service.getMemberDedicatedStatusType(id)\n .then(response => dispatch({ type: SET_MEMBER_DEDICATED_STATUS, payload: response.data }))\n .then(() => service.getDedicatedStatusActivities(id))\n .then(response => dispatch({ type: SET_MEMBER_DEDICATED_STATUS_ACTIVITIES, payload: response }))\n .catch(() => dispatch({ type: SET_MEMBER_DEDICATED_STATUS, payload: '' }));\n\nconst fetchMemberLoyaltyDays = service => id => dispatch => service.getMemberLoyaltyDays(id)\n .then(response => dispatch({\n type: SET_MEMBER_LOYALTY_DAYS,\n payload: response.data}))\n .catch(() => dispatch({ type: SET_MEMBER_LOYALTY_DAYS, payload: { daysEarned: {}, loyaltyHistory: [] } }));\n\nconst fetchMemberAccountHistory = service => id => dispatch => service.getMemberAccountHistory(id)\n .then(response => dispatch({ type: SET_MEMBER_ACCOUNT_HISTORY, payload: response.data }))\n .catch(() => dispatch({ type: SET_MEMBER_ACCOUNT_HISTORY, payload: [] }));\n\nconst fetchPayfastDetails = service => dispatch => service.getPayfastDetails()\n .then(response => dispatch({ type: SET_PAYFAST_DETAILS, payload: response.data }))\n .catch(() => dispatch({ type: SET_PAYFAST_DETAILS, payload: [] }));\n\nconst fetchMemberDetailsByEmail = service => memEmail => dispatch => service.getMemberDetailsByEmail(memEmail)\n .then(response => dispatch({ type: EMAIL_SET_MEMBER_DATA_2, payload: response.data }))\n .catch(() => dispatch({ type: EMAIL_FETCH_MEMBER_DATA_ERROR_2, payload: {} }));\n\nexport default function(memberService, dedicatedStatusService) {\n return {\n fetchMemberData: fetchMemberData(memberService),\n fetchMemberProfilePicture: fetchMemberProfilePicture(memberService),\n fetchMemberDedicatedStatus: fetchMemberDedicatedStatus(dedicatedStatusService),\n fetchMemberLoyaltyDays: fetchMemberLoyaltyDays(memberService),\n fetchMemberAccountHistory: fetchMemberAccountHistory(memberService),\n fetchPayfastDetails: fetchPayfastDetails(memberService),\n fetchMemberDetailsByEmail: fetchMemberDetailsByEmail(memberService)\n };\n}\n","export const FETCH_MEMBER_DATA_SUCCESSFUL = 'FETCH_MEMBER_DATA_SUCCESSFUL';\nexport const FETCH_MEMBER_DATA_ERROR = 'FETCH_MEMBER_DATA_ERROR';\nexport const SET_MEMBER_DATA = 'SET_MEMBER_DATA';\nexport const SET_MEMBER_PROFILE_PICTURE = 'SET_MEMBER_PROFILE_PICTURE';\nexport const SET_MEMBER_DEDICATED_STATUS = 'SET_MEMBER_DEDICATED_STATUS';\nexport const SET_MEMBER_LOYALTY_DAYS = 'SET_MEMBER_LOYALTY_DAYS';\nexport const SET_MEMBER_ACCOUNT_HISTORY = 'SET_MEMBER_ACCOUNT_HISTORY';\nexport const SET_MEMBER_DEDICATED_STATUS_ACTIVITIES = 'SET_MEMBER_DEDICATED_STATUS_ACTIVITIES';\nexport const SET_PAYFAST_DETAILS = 'SET_PAYFAST_DETAILS';\nexport const EMAIL_SET_MEMBER_DATA_2 = 'EMAIL_SET_MEMBER_DATA_2';\nexport const EMAIL_FETCH_MEMBER_DATA_ERROR_2 = 'EMAIL_FETCH_MEMBER_DATA_ERROR_2'; \n","import React from 'react';\nimport {\n // Paper,\n Snackbar, Typography,\n} from '@material-ui/core';\nimport {\n makeStyles,\n useTheme,\n} from '@material-ui/core/styles';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nconst useStyles = makeStyles(() => ({\n success: {\n backgroundColor: '#4caf50'\n },\n info: {\n backgroundColor: '#2196f3'\n },\n warning: {\n backgroundColor: '#ff9800'\n },\n error: {\n backgroundColor: '#f44336'\n }\n}));\n\nconst Container = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.up('sm'));\n localStorage.setItem('isMobile', `${!matches}`);\n return (\n \n \n {/* */}\n
{props.message}
\n {/*
*/}\n
\n
\n
\n {props.title}\n
\n {props.children}\n
\n
\n );\n};\n\nexport default Container;","import {\n SET_EVENT_LOOKUP,\n SET_DISCIPLINES,\n SET_FIREARM_TYPES,\n SET_FIREARM_TYPES_LOOKUP,\n SET_OPTICS_LOOKUP,\n SET_ACTIVITY_TYPE,\n SET_ACTION_TYPE,\n SET_SECTION_LOOKUP,\n SET_PURPOSE_LOOKUP,\n SET_SPECIE_TYPE\n} from './types';\n\nconst fetchEventLookups = service => () => dispatch => service\n .fetchEventLookups()\n .then((res) => dispatch({ type: SET_EVENT_LOOKUP, payload: res.data }))\n .catch(() => dispatch({ type: SET_EVENT_LOOKUP, payload: [] }));\n\nconst fetchDisciplines = service => () => dispatch => service\n .fetchDisciplines()\n .then((res) => dispatch({ type: SET_DISCIPLINES, payload: res.data }))\n .catch(() => dispatch({ type: SET_DISCIPLINES, payload: [] }));\n\nconst fetchFirearmType = service => () => dispatch => service\n .fetchFirearmType()\n .then((res) => dispatch({ type: SET_FIREARM_TYPES, payload: res.data }))\n .catch(() => dispatch({ type: SET_FIREARM_TYPES, payload: [] }));\n \n const fetchFirearmTypeLookup = service => () => dispatch => service\n .fetchFirearmTypeLookup()\n .then((res) => dispatch({ type: SET_FIREARM_TYPES_LOOKUP, payload: res.data }))\n .catch(() => dispatch({ type: SET_FIREARM_TYPES_LOOKUP, payload: [] }));\n\n \nconst fetchOpticsLookup = service => () => dispatch => service\n .fetchOpticsLookup()\n .then((res) => dispatch({ type: SET_OPTICS_LOOKUP, payload: res.data }))\n .catch(() => dispatch({ type: SET_OPTICS_LOOKUP, payload: [] }));\n\nconst fetchActivityType = service => () => dispatch => service\n .fetchActivityType()\n .then((res) => dispatch({ type: SET_ACTIVITY_TYPE, payload: res.data }))\n .catch(() => dispatch({ type: SET_ACTIVITY_TYPE, payload: [] }));\n\nconst fetchSpecieType = service => () => dispatch => service\n .fetchSpecieType()\n .then((res) => dispatch({ type: SET_SPECIE_TYPE, payload: res.data }))\n .catch(() => dispatch({ type: SET_SPECIE_TYPE, payload: [] }));\n\nconst fetchFirearmActions = service => () => dispatch => service\n .fetchFirearmActions()\n .then((res) => dispatch({ type: SET_ACTION_TYPE, payload: res.data }))\n .catch(() => dispatch({ type: SET_ACTION_TYPE, payload: [] }));\n\nconst fetchSections = service => () => dispatch => service\n .fetchSections()\n .then((res) => dispatch({ type: SET_SECTION_LOOKUP, payload: res.data }))\n .catch(() => dispatch({ type: SET_SECTION_LOOKUP, payload: [] }));\n\nconst fetchEndorsementPurposes = service => () => dispatch => service\n .fetchEndorsementPurposes()\n .then((res) => dispatch({ type: SET_PURPOSE_LOOKUP, payload: res.data }))\n .catch(() => dispatch({ type: SET_PURPOSE_LOOKUP, payload: [] }));\n\nexport default function(lookupService) {\n return {\n fetchEventLookups: fetchEventLookups(lookupService),\n fetchDisciplines: fetchDisciplines(lookupService),\n fetchFirearmType: fetchFirearmType(lookupService),\n fetchFirearmTypeLookup: fetchFirearmTypeLookup(lookupService),\n fetchOpticsLookup: fetchOpticsLookup(lookupService),\n fetchActivityType: fetchActivityType(lookupService),\n fetchSpecieType: fetchSpecieType(lookupService),\n fetchFirearmActions: fetchFirearmActions(lookupService),\n fetchSections: fetchSections(lookupService),\n fetchEndorsementPurposes: fetchEndorsementPurposes(lookupService)\n };\n}\n","export const SET_EVENT_LOOKUP = 'SET_EVENT_LOOKUP';\nexport const SET_DISCIPLINES = 'SET_DISCIPLINES';\nexport const SET_FIREARM_TYPES = 'SET_FIREARM_TYPES';\nexport const SET_FIREARM_TYPES_LOOKUP = 'SET_FIREARM_TYPES_LOOKUP';\nexport const SET_OPTICS_LOOKUP = 'SET_OPTICS_LOOKUP';\nexport const SET_ACTIVITY_TYPE = 'SET_ACTIVITY_TYPE';\nexport const SET_SPECIE_TYPE = 'SET_SPECIE_TYPE';\nexport const SET_DOCUMENT_TYPE = 'SET_DOCUMENT_TYPE';\nexport const SET_ACTION_TYPE = 'SET_ACTION_TYPE';\nexport const SET_ENDORSEMENT_APPLICATION_TYPE = 'SET_ENDORSEMENT_APPLICATION_TYPE';\nexport const SET_SECTION_LOOKUP = 'SET_SECTION_LOOKUP';\nexport const SET_PURPOSE_LOOKUP = 'SET_PURPOSE_LOOKUP';","import API_URL from './apiUrl';\nimport axios from 'axios';\n\nconst fetchEventLookups = (headers) => () => axios.\n get(`${API_URL}/ActivityEventLookups`, {headers});\n\nconst fetchDisciplines = (headers) => () => axios.\n get(`${API_URL}/ActivityDisciplines`, {headers});\n\nconst fetchFirearmType = (headers) => () => axios.\n get(`${API_URL}/fireArmTypes/FireArmTypes`, {headers});\n\n const fetchFirearmTypeLookup = (headers) => () => axios.\n get(`${API_URL}/FireArmTypeLookups`, {headers});\n\nconst fetchOpticsLookup = (headers) => () => axios.\n get(`${API_URL}/OpticsLookups/get/`, {headers});\n\nconst fetchActivityType = (headers) => () => axios.\n get(`${API_URL}/ActivityLookups`, {headers});\n\nconst fetchSpecieType = (headers) => () => axios.\n get(`${API_URL}/SpecieLookups`, {headers});\n \nconst fetchFirearmActions = (headers) => () => axios.\n get(`${API_URL}/Actions`, {headers});\n\nconst fetchSections = (headers) => () => axios.\n get(`${API_URL}/SectionLookups`, {headers});\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n fetchEventLookups: fetchEventLookups(headers),\n fetchDisciplines: fetchDisciplines(headers),\n fetchFirearmType: fetchFirearmType(headers),\n fetchFirearmTypeLookup: fetchFirearmTypeLookup(headers),\n fetchOpticsLookup: fetchOpticsLookup(headers),\n fetchActivityType: fetchActivityType(headers),\n fetchSpecieType: fetchSpecieType(headers),\n fetchFirearmActions: fetchFirearmActions(headers),\n fetchSections: fetchSections(headers)\n };\n}\n","import {\n UPDATE_DEDICATED_STATUS_LIST,\n UPDATE_DEDICATED_STATUS_LIST_ERROR\n} from './types';\n\nconst fetchDedicatedStatusList = service => data => dispatch => service.getAllDeducatedStatuses(data)\n .then(response => dispatch({ type: UPDATE_DEDICATED_STATUS_LIST, payload: response.data.dedicated }))\n .catch(() => dispatch({ type: UPDATE_DEDICATED_STATUS_LIST_ERROR, payload: 'Dedicated Status Not Found' }));\n\nexport default function(dedicatedStatusService) {\n return {\n fetchDedicatedStatusList: fetchDedicatedStatusList(dedicatedStatusService)\n };\n}","import React, { Component } from 'react';\nimport {\n labelHtml\n} from '../../shared/helpers';\n\nimport Container from '../../hoc/Container';\n\nimport {\n GoogleApiWrapper,\n Map,\n InfoWindow, \n Marker } from 'google-maps-react';\n// import MAP_API from '../../../../services/mapApi';\nimport MAP_API from '../../services/mapApi';\nimport {SubtitleBar, Loader} from '../../components/index'\nimport { withStyles } from '@material-ui/core/styles';\nimport Grid from '@material-ui/core/Grid';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport ButtonBase from '@material-ui/core/ButtonBase';\nimport EmailIcon from '@material-ui/icons/Email';\nimport LanguageIcon from '@material-ui/icons/Language';\nimport StoreIcon from '@material-ui/icons/Store';\nimport axios from 'axios';\nimport { BASE } from '../../../API/APIendpoint';\nimport { add, parse } from 'date-fns';\n\n//Converted MakeStyles to WithStyles \nconst styles = theme => ({\n root: {\n flexGrow: 1,\n },\n partnerSection:{\n marginBottom:'7%',\n },\n paper: {\n padding: theme.spacing(2),\n margin: 'auto',\n // maxWidth: 500,\n },\n image: {\n // width: 380,\n // height: 540,\n marginBottom:'10px',\n paddingRight:'30px'\n },\n img: {\n margin: 'auto',\n display: 'block',\n maxWidth: '100%',\n maxHeight: '100px',\n },\n \n heading: {\n lineHeight: '1',\n fontSize: theme.typography.h1.fontSize,\n fontWeight: 'bold',\n background: '#F0F0F0',\n textAlign: 'center',\n padding: '60px',\n marginTop: '-6px',\n [theme.breakpoints.down('sm')]: {\n fontSize: theme.typography.h6.fontSize\n }\n },\n caption: {\n fontSize: theme.typography.h6.fontSize,\n color: '#6E6983',\n paddingLeft: '0',\n lineHeight: '1.5',\n margin: '10px 0'\n },\n \n formControl: {\n margin: theme.spacing(1),\n minWidth: 120,\n },\n\n paper: {\n boxShadow: 'none',\n padding: '40px 0 178px',\n },\n\n \n});\n\n\nclass MemberPartnerDetails extends Component {\n constructor(props) {\n super(props);\n this.state = { \n partners:[],\n partnerLocations:[],\n memberPartner:{},\n address: '',\n // showingInfoWindow: false,\n // activeMarker: {},\n selectedPlace: {},\n mapCenter: null,\n bounds: null,\n selectOptions : []\n };\n }\n\n componentDidMount(){\n\n //Get All the partners \n axios({\n url: `${BASE}api/Stores`,\n method: 'get',\n }).then(res => {\n \n let memberPartner = null;\n let mapCenter = {}\n\n let partnerLocations = res.data.map(address =>{\n if(address.store == this.props.memberData.store){\n memberPartner = address;\n\n mapCenter = {\n lat: parseFloat(address.lat), \n lng: parseFloat(address.long)\n }\n \n console.log(mapCenter);\n \n return \n\n }\n } );\n \n this.setState({mapCenter:mapCenter,partners:res.data, partnerLocations:partnerLocations, memberPartner:memberPartner});\n })\n }\n\n state = {\n showingInfoWindow: false,\n activeMarker: {},\n selectedPlace: {},\n };\n \n onMarkerClick = (props, marker, e) =>\n this.setState({\n selectedPlace: props,\n activeMarker: marker,\n showingInfoWindow: true\n });\n \n onMapClicked = (props) => {\n // alert(\"loop\");\n if (this.state.showingInfoWindow) {\n this.setState({\n showingInfoWindow: false,\n activeMarker: null\n })\n }\n };\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n const { classes } = this.props;\n const containerStyle = {\n // position: 'relative', \n width: '71%',\n height: '60%',\n borderRadius:'10px',\n padding:'30px',\n }\n const containerStyleMobile = {\n // position: 'relative', \n width: '340px',\n height: '200px',\n borderRadius:'10px',\n }\n\n const iconColor = {\n color:'#4F36A6',\n margin:'0px',\n marginRight:'5px'\n }\n\n // var bounds = new this.props.google.maps.LatLngBounds();\n // // bounds.extend({lat: -33.843223, lng: 18.6748262});\n // console.log(this.state.mapCenter);\n // let lat = this.state.mapCenter?.lat ?? 0;\n // let long = this.state.mapCenter?.long ?? 0;\n\n // for (var i = 0; i < 3; i++) {\n // let point = {lat: lat + (i/70), lng: long + (i/70)};\n // bounds.extend(point);\n // }\n \n return (\n
\n \n\n \n
\n \n \n \n
\n \"PartnerLogo\"\n
\n
\n\n \n {this.state.memberPartner?.store}
\n {this.state.memberPartner?.website}
\n {this.state.memberPartner?.email}\n
\n
\n\n {/* Don't load the map until points are loaded */}\n {this.state.mapCenter && \n \n\n {this.state?.partnerLocations ?? []}\n \n
\n

{this.state.selectedPlace?.name}

\n
\n
\n
\n
}\n
\n
\n \n
\n \n
\n
\n\n \n {labelHtml('Nick Name', this.props.personalAssisstant?.nickname, isMobile)}\n {labelHtml('First Name', this.props.personalAssisstant?.firstname, isMobile)}\n {labelHtml('Surname', this.props.personalAssisstant?.surname, isMobile)}\n {labelHtml('WhatsApp Only',this.props.personalAssisstant?.cellNo, isMobile)}\n {labelHtml('Email Address', this.props.personalAssisstant?.email, isMobile)}\n \n
\n
\n
\n );\n }\n}\n\nconst LoadingContainer = (props) => (\n \n)\n\nexport default GoogleApiWrapper({ \n apiKey: (`${MAP_API}`),\n LoadingContainer: LoadingContainer\n})(withStyles(styles, { withTheme: true })(MemberPartnerDetails));\n","let MAP_API = 'AIzaSyBib6CAqY9NS0sTy3BuaaXkZYuJtdH08bQ'; \nexport default MAP_API;\n\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {DateTime} from 'luxon';\nimport JWT from 'jwt-decode';\nimport axios from 'axios';\nimport API_URL from '../../services/apiUrl';\nimport MemberActions from '../../store/Profile/actions';\nimport LicenceActions from '../../store/Licence/actions';\nimport {\n AccountDetails,\n LoyaltyProgramme,\n ProfileDetails,\n TabGroup,\n Notifications\n} from '../../components';\nimport {\n currentYear,\n getMemberStatusFromInt,\n getDedicatedStatusTextFromStatusObject,\n formatISODateToLocaleString,\n getDedicatedStatusFromActivities,\n labelHtml\n} from '../../shared/helpers';\nimport {\n printCard,\n printCertificate,\n printAccountTransaction,\n} from '../../shared/pdfHelpers';\nimport MemberService from '../../services/member.service';\nimport LicenceService from '../../services/licence.service';\nimport DedicatedService from '../../services/dedicatedstatus.service';\nimport {\n MEMBER_STATUS,\n} from '../../shared/constants';\nimport Container from '../../hoc/Container';\nimport LookupActions from '../../store/Lookup/actions';\nimport LookupService from '../../services/lookup.service';\nimport DedicatedStatusActions from '../../store/DedicatedStatus/actions';\nimport {SubtitleBar} from '../../components/index'\n\nimport { withStyles } from '@material-ui/core/styles';\nimport Grid from '@material-ui/core/Grid';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport ButtonBase from '@material-ui/core/ButtonBase';\nimport MemberPartnerDetails from '../../components/Profile/MemberPartnerDetails';\n\n\n//Converted MakeStyles to WithStyles \nconst styles = theme => ({\n root: {\n flexGrow: 1,\n },\n paper: {\n padding: theme.spacing(2),\n margin: 'auto',\n // maxWidth: 500,\n },\n image: {\n width: 128,\n height: 128,\n },\n img: {\n margin: 'auto',\n display: 'block',\n maxWidth: '100%',\n maxHeight: '100%',\n },\n});\n\n\nclass Profile extends Component {\n constructor(props) {\n super(props);\n this.memberService = MemberService(this.props.token);\n this.licenceService = LicenceService(this.props.token);\n this.dedicatedService = DedicatedService(this.props.token);\n this.memberActions = this.props.memberActions(this.memberService, this.dedicatedService);\n this.licenceActions = this.props.licenceActions(this.licenceService);\n this.lookupService = LookupService(this.props.token);\n this.lookupActions = this.props.lookupActions(this.lookupService);\n this.dedicatedStatusAction = this.props.dedicatedStatusActions(this.dedicatedService);\n\n this.state = {\n loading: false,\n isNewMember: false,\n memberStatus: null,\n membershipTypes: [],\n accountRecords: [],\n membershipType: null\n };\n }\n\n componentDidMount() {\n this.setState({loading: true});\n\n //Check if user is new \n this.memberService.getMemberByMemNo(this.props.memNo).then(response=>{\n\n //Check if user is on status 5(New) Ferox user \n if(response.data.status == 5 || response.data.status == 8)\n this.props.history.push('/member/profile-completion');\n\n if(response.data.status == 2)\n this.setState({isNewMember:true});\n this.setState({memberStatus:response.data.status})\n });\n\n this.getMembershipTypes();\n \n const id = this.props.memNo;\n const user = { memNo: id };\n\n this.memberActions.fetchMemberData(id)\n .then(() => this.memberActions.fetchMemberDedicatedStatus(id))\n .then(() => this.memberActions.fetchMemberAccountHistory(id))\n .then(() => this.memberActions.fetchMemberLoyaltyDays(id))\n .then(() => this.licenceActions.fetchFirearmLicenceStatus(id))\n .then(() => this.licenceActions.fetchMemberLicenseReminders(id))\n .then(() => this.lookupActions.fetchFirearmActions())\n .then(() => this.lookupActions.fetchSections())\n .then(() => this.dedicatedStatusAction.fetchDedicatedStatusList(user))\n .finally(() => {\n this.setState({loading: false});\n this.memberActions.fetchMemberProfilePicture(id);\n });\n\n this.refreshMemberAccountHistory();\n }\n\n memberDataToDetails = () => ({\n nickName: this.props.memberData.nickname,\n firstName: this.props.memberData.firstname,\n surname: this.props.memberData.surname,\n occupation: this.props.memberData.occupation,\n identityNumber: this.props.memberData.idno,\n cellNumber: this.props.memberData.cellNo,\n emailAddress: this.props.memberData.email,\n streetAddress: this.props.memberData.physicalAddress,\n suburb: this.props.memberData.suburb,\n postalCode: this.props.memberData.postalCode,\n city: this.props.memberData.city,\n province: this.props.memberData.province,\n personalAssisstant:this.props.personalAssisstant\n });\n\n memberDataToStatus = () => ({\n currentYear: currentYear,\n membership: this.props.memberData.memType,\n status: getMemberStatusFromInt(this.props.memberData.status),\n inceptionDate: formatISODateToLocaleString(this.props.memberData.inceptionDate),\n expiryDate: formatISODateToLocaleString(this.props.memberData.expiryDate),\n approvalDate: formatISODateToLocaleString(this.props.memberData.approvalDate),\n dedicatedSportsStatus: getDedicatedStatusFromActivities(this.props.dedicatedActivities.dedicatedShooter,this.props.dedicatedStatus.sport),\n dedicatedHunterStatus: getDedicatedStatusFromActivities(this.props.dedicatedActivities.dedicatedHunter,this.props.dedicatedStatus.hunting),\n loyaltyDays: (() => {\n const daysEarned = this.props.loyaltyProgram.daysAdded;\n return daysEarned?.dedicatedStatusDays + daysEarned?.courseDays +\n daysEarned?.endorsementDays + daysEarned?.generalActivityDays;\n })(),\n expiredFirearms: this.props.licenceStatus.expired,\n firearmsToBeRenewed: this.props.licenceStatus.toBeRenewed,\n firearms: this.props.licenceStatus.firearms,\n });\n\n memberDataToAccountStatus = () => ({\n status: getDedicatedStatusTextFromStatusObject(this.props.dedicatedStatus),\n inceptionDate: formatISODateToLocaleString(this.props.memberData.inceptionDate),\n expiryDate: formatISODateToLocaleString(this.props.memberData.expiryDate),\n expiryISO: this.props.memberData.expiryDate\n });\n\n getMembershipTypes = () => {\n this.memberService.getMembershipTypes(this.props.memberData.storeId).then(response=>{\n this.setState({membershipTypes:response.data})\n \n return response.data;\n })\n .catch(error=>{\n console.log(\"Error retrieving Membership types \", error)\n this.setState({membershipTypes:[]})\n });\n };\n\n\ngroupAccountData = (data)=> {\n return data.reduce((result, currentItem) => {\n const key = currentItem.transactionNo;\n\n if (!result[key]) {\n result[key] = [];\n }\n\n result[key].push(currentItem);\n\n return result;\n}, {});\n}\n\nrefreshMemberAccountHistory =()=>{\n let id = this.props.memberData.memNo;\n //Get history of accounts \n axios.get(API_URL + \"/account/member/\" + id, {\n headers: { 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`, }\n }).then(res => {\n var data = this.groupAccountData(res.data);\n var _records = this.memberAccountToAccountHistory(data);\n this.setState({accountRecords: _records.reverse()})\n // if(res.data.length > this.props.accountHistory.length){\n // }\n // else\n // {\n // var data = this.groupAccountData(this.props.accountHistory);\n // var _records = this.memberAccountToAccountHistory(data);\n // this.setState({accountRecords: _records.reverse()})\n // }\n }\n );\n}\n\n memberAccountToAccountHistory = (groupedData) => {\n const groupedArray = Object.values(groupedData);\n\n const dd = groupedArray.map((accountData) => ({\n paymentDate: accountData[0].paymentDate,\n paymentType: accountData.length > 1 ? accountData[1].paymentType : accountData[0].paymentType,\n amountPaid: accountData.length > 1 ? accountData[0].amountPaid + accountData[1].amountPaid: accountData[0].amountPaid,\n data:[...accountData],\n invoiceDate: formatISODateToLocaleString(accountData[0].invoiceDate),\n }));\n \n return dd.map((accountData) => ({\n ...accountData,\n invoiceDate: formatISODateToLocaleString(accountData.invoiceDate),\n }));\n\n };\n\n memberDataToLoyaltyDays = () => {\n if(!this.props.loyaltyProgram) {\n return [];\n }\n return {\n daysEarned: this.props.loyaltyProgram.daysAdded,\n loyaltyHistory: this.props.loyaltyProgram.daysHistory?.map(h => ({...h, date: formatISODateToLocaleString(h.date)})),\n daysList: this.props.loyaltyProgram?.daysList\n }\n };\n\n downloadMemberCard = () => {\n const memberId = this.props.memberData.memNo;\n return this.memberService.getMemberQRCode(memberId)\n .then((resp) => {\n const base64QRCode = `data:image/jpeg;base64,${resp.data.base64QRString}`;\n return this.dedicatedService.getApprovedDedicatedStatus(memberId)\n .then((res) => {\n let dsHunter = res.data\n .find(ds => ds.dstype.toLowerCase().includes('hunter') && ds.status === MEMBER_STATUS.APPROVED) || {};\n let dsSports = res.data\n .find(ds => ds.dstype.toLowerCase().includes('sport') && ds.status === MEMBER_STATUS.APPROVED) || {};\n return { dsHunter, dsSports };\n }).then(({ dsHunter, dsSports }) => this.memberService.getAllImages().then((images) =>\n\n // getPartnerLogo(this.props.memberData.storeId) call this service to retrieve partner logo based on partnerId \n printCard(this.props.memberData, dsHunter.dsno, dsSports.dsno,\n images.data.narfo, images.data.pdflogo, base64QRCode)\n ));\n });\n }\n\n downloadAccountTransaction = (account) => this.memberService.getAllImages()\n .then((images) => printAccountTransaction(\n account, this.props.memberData, images.data.nnfo, images.data.pdflogo\n ));\n\n\n downloadMemberCertificate = () => {\n const memberId = this.props.memberData.memNo;\n return this.memberService.getMemberQRCode(memberId)\n .then((resp) => {\n const base64QRCode = `data:image/jpeg;base64,${resp.data.base64QRString}`;\n return this.memberService.getAllImages().then((images) =>\n printCertificate(\n this.props.memberData, images.data.nnfo, base64QRCode,\n images.data.pdfSign, images.data.pdflogo\n )\n );\n });\n }\n\n uploadProfilePicture = (result) => {\n const memberId = this.props.memberData.memNo;\n this.memberService.uploadProfilePicture(memberId, result)\n .then(() => this.memberActions.fetchMemberProfilePicture(memberId));\n }\n\n partnerInformation =()=>{\n var currentMembership = this.state.membershipTypes.find(m => m.id == this.props.memberData.membershipTypeId)\n var showPartnerMembership = this.state.membershipTypes?.length > 0 ? true : false;\n \n if(!currentMembership)\n return {\n membershipType : '-',\n PartnerName : this.props.memberData.store,\n PartnerExpiryDate : \"-\"\n }\n\n return {\n showPartnerMembership,\n membershipType : currentMembership?.name || '-',\n PartnerName : this.props.memberData.store,\n PartnerExpiryDate : formatISODateToLocaleString(this.props.memberData.partnerExpiryDate) || \"-\"\n }\n }\n \n\n tabViews = (isMobile) => [\n {\n label: isMobile ? 'Details' : 'My Details',\n view:this.props.daysLeft <= 1 && this.props.memberData.status != 9? \n \n Your membership is not currently active, please complete the payment process on the Accounts page to continue\n :\n \n },\n {\n label: isMobile ? 'Account' :'Account Details',\n view: \n },\n {\n label: isMobile ? 'Loyalty' : 'Loyalty Programme',\n view:this.props.daysLeft <= 1 ?\n \n Your membership is not currently active, please complete the payment process on the Accounts page to continue\n : \n \n },\n ];\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n const { classes } = this.props;\n return (\n
\n {/* Partner information section */}\n \n\n \n {!this.state.loading && }\n {!this.state.loading && }\n \n
\n );\n }\n}\n\nconst mapStateToProps = state => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n memberData: state.ProfileReducer.memberData,\n profilePicture: state.ProfileReducer.profilePicture,\n dedicatedStatus: state.ProfileReducer.dedicatedStatus,\n dedicatedActivities: state.ProfileReducer.dedicatedStatusActivities,\n loyaltyProgram: state.ProfileReducer.loyaltyProgram,\n accountHistory: state.ProfileReducer.accountHistory,\n licenceStatus: state.LicenceReducer.firearmLicenceStatus,\n assesmentCompletion: state.nLearningManagementReducer.assesmentCompletion,\n memberData2: state.ProfileReducer.memberData2,\n personalAssisstant: state.ProfileReducer.personalAssisstant,\n daysLeft: DateTime.fromISO(state.ProfileReducer.memberData.expiryDate).diffNow('days').days,\n});\n\nconst initialiseMemberActions = dispatch => (memberService, dedicatedStatusService) => {\n const action = MemberActions(memberService, dedicatedStatusService);\n return {\n fetchMemberData: (id) => dispatch(action.fetchMemberData(id)),\n fetchMemberProfilePicture: (id) => dispatch(action.fetchMemberProfilePicture(id)),\n fetchMemberDedicatedStatus: (id) => dispatch(action.fetchMemberDedicatedStatus(id)),\n fetchMemberLoyaltyDays: (id) => dispatch(action.fetchMemberLoyaltyDays(id)),\n fetchMemberAccountHistory: (id) => dispatch(action.fetchMemberAccountHistory(id)),\n fetchMemberDetailsByEmail: (mail) => dispatch(action.fetchMemberDetailsByEmail(mail))\n };\n};\n\nconst initialiseLicenceActions = dispatch => (licenceService) => {\n const action = LicenceActions(licenceService);\n return {\n fetchFirearmLicenceStatus: (id) => dispatch(action.fetchFirearmLicenceStatus(id)),\n fetchMemberLicenseReminders: (id) => dispatch(action.fetchMemberLicenseReminders(id))\n };\n};\n\nconst initLookupActions = dispatch => lookupService => {\n const actions = LookupActions(lookupService);\n return {\n fetchFirearmActions: () => dispatch(actions.fetchFirearmActions()),\n fetchSections: () => dispatch(actions.fetchSections()),\n };\n};\n\nconst initDedicatedStatusActions = dispatch => dedicatedStatusService => {\n const actions = DedicatedStatusActions(dedicatedStatusService);\n return {\n fetchDedicatedStatusList: data => dispatch(actions.fetchDedicatedStatusList(data))\n };\n};\n\nconst mapDispatchToProps = dispatch => ({\n memberActions: initialiseMemberActions(dispatch),\n licenceActions: initialiseLicenceActions(dispatch),\n lookupActions: initLookupActions(dispatch),\n dedicatedStatusActions: initDedicatedStatusActions(dispatch)\n});\n\nexport default connect(mapStateToProps ,mapDispatchToProps)(withStyles(styles, { withTheme: true })(Profile));\n","import React from 'react';\n\nexport const electronicCommunicationPolicy = (\n \"NARFO South Africa embraces the digital age and encourages members to have some form of online \\\n device to connect to our platform to enjoy the services we provide. Although you can visit any \\\n of our partners or speak to a representative, our services are digitised. These includes end to \\\n end administration of your profile and general communication. Our only form of communication is \\\n electronic interaction through the platform, emails and through our social media platform.\\\n \\\n By continuing, you agree to the terms as stated above and give your consent to hold your personal\\\n data in order for us to provide you with the services our platform provides. You also agree that we\\\n may engage with you through electronic means and keep you informed about relevant information, \\\n news and topics of interest.\"\n);\n\nexport const electronicDeclaration = (\n 'I hereby declare that the information furnished above is true and correct to the best\\\n of my knowledge and I undertake to inform NARFO of any changes herein by either \\\n updating my profile electronically or by informing NARFO of changes by email. In the \\\n event that the information is found to be false or misleading or misrepresenting, I am\\\n aware that my membership may be cancelled.'\n);\n\n\nexport const genderConfig = {\n config: {\n elementType: 'radioGroup',\n elementConfig: {\n direction: 'row',\n placeholder: 'Gender',\n radios: [\n { value: 'male', label: 'Male'},\n { value: 'female', label: 'Female'},\n ]\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const firstNameConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Full Name',\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const surnameConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Surname',\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const nicknameConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Nickname',\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const idNumberConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'ID Number',\n },\n validate: {\n required: true,\n minLength: 13,\n maxLength: 13\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const cellphoneNumberConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Cellphone Number',\n },\n validate: {\n required: true,\n\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const occupationConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Occupation',\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const ethnicityConfig = {\n config: {\n elementType: 'select',\n elementConfig: {\n type: 'select',\n placeholder: 'Ethnicity',\n options: [\n {value: 'black', label: 'Black'},\n {value: 'coloured', label: 'Coloured'},\n {value: 'indian', label: 'Indian'},\n {value: 'white', label: 'White'},\n {value: 'other', label: 'Other'}\n ],\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: '-'\n};\n\nexport const titleConfig = {\n config: {\n elementType: 'select',\n elementConfig: {\n type: 'select',\n placeholder: 'Title',\n options: [\n {value: 'mr', label: 'Mr'},\n {value: 'ms', label: 'Ms'},\n {value: 'mrs', label: 'Mrs'},\n {value: 'dr', label: 'DR'},\n ],\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: '-'\n};\n\nexport const physicalAddressConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Street Address',\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const suburbConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Suburb',\n },\n validate: {\n required: false,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const cityConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'City',\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const provinceConfig = {\n config: {\n elementType: 'select',\n elementConfig: {\n type: 'select',\n placeholder: 'Province',\n options: [\n {value: 'Eastern Cape', label: 'Eastern Cape'},\n {value: 'Free State', label: 'Free State'},\n {value: 'Gauteng', label: 'Gauteng'},\n {value: 'KwaZulu Natal', label: 'KwaZulu Natal'}, \n {value: 'Limpopo', label: 'Limpopo'},\n {value: 'Mpumalanga', label: 'Mpumalanga'},\n {value: 'Northern Cape', label: 'Northern Cape'},\n {value: 'North West', label: 'North West'},\n {value: 'Western Cape', label: 'Western Cape'}\n ],\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: '-'\n};\n\nexport const postalCodeConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'number',\n placeholder: 'Postal Code',\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const fireArmsControlActConfig = {\n config: {\n elementType: 'radioGroup',\n elementConfig: {\n type: 'text',\n placeholder: 'Are you well acquainted with the current Firearms Control Act?',\n direction: 'row',\n radios: [\n { value: 'true', label: 'Yes'},\n { value: 'false', label: 'No'}\n ]\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const fireArmsUseStorageConfig = {\n config: {\n elementType: 'radioGroup',\n elementConfig: {\n type: 'text',\n placeholder: 'Are you well acquainted with the use and storage of your Firearm?',\n direction: 'row',\n radios: [\n { value: 'true', label: 'Yes'},\n { value: 'false', label: 'No'}\n ]\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const criminalOffenseConfig = {\n config: {\n elementType: 'radioGroup',\n elementConfig: {\n type: 'text',\n placeholder: 'Have you ever been found guilty of any criminal or firearm related offence where your fingerprints were taken?',\n direction: 'row',\n radios: [\n { value: 'true', label: 'Yes'},\n { value: 'false', label: 'No'}\n ]\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const declareCodeOfConductConfig = {\n config: {\n elementType: 'checkBox',\n elementConfig: {\n type: 'checkBox',\n placeholder: \n
\n I hereby declare that I fully understand and abide by the \n \n Code of Conduct\n \n
,\n accept: {value: 'true', label: 'Yes'}\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const declareDisciplinaryCodeConfig = {\n config: {\n elementType: 'checkBox',\n elementConfig: {\n type: 'checkBox',\n placeholder: \n
\n I hereby declare that I fully understand and abide by the \n \n Disciplinary Code\n \n
,\n accept: {value: 'true', label: 'Yes'}\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const declareValidInformationConfig = {\n config: {\n elementType: 'checkBox',\n elementConfig: {\n type: 'checkBox',\n placeholder: 'I hereby declare that all information in this document is true',\n accept: {value: 'true', label: 'Yes'}\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const declareElectronicPolicyConfig = {\n config: {\n elementType: 'checkBox',\n elementConfig: {\n type: 'checkBox',\n placeholder: 'I hereby accept the Electronic Communication Policy',\n accept: {value: 'true', label: 'Yes'}\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n message: electronicCommunicationPolicy,\n value: ''\n};\n\nexport const declareValidElectronicTrueConfig = {\n config: {\n elementType: 'checkBox',\n elementConfig: {\n type: 'checkBox',\n placeholder: 'By checking this option, I hereby accept the above declaration',\n accept: {value: 'true', label: 'Yes'}\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n message: electronicDeclaration,\n value: ''\n};\n\nexport const salesReferralConfig = {\n config: {\n elementType: 'radioGroup',\n elementConfig: {\n type: 'text',\n direction: 'row',\n placeholder: 'Were you referred by a sales representative?',\n radios: [\n { value: 'Yes', label: 'Yes'},\n { value: 'NM-0011', label: 'No'}\n ]\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const partnerReferralConfig = {\n config: {\n elementType: 'radioGroup',\n elementConfig: {\n type: 'text',\n direction: 'row',\n placeholder: 'Were you referred by a partner?',\n radios: [\n { value: 'Yes', label: 'Yes'},\n { value: 'Narfo Head Office', label: 'No'}\n ]\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const associationAffiliationConfig = {\n config: {\n elementType: 'radioGroup',\n elementConfig: {\n type: 'text',\n direction: 'row',\n placeholder: 'Are you affiliated with another association?',\n radios: [\n { value: 'true', label: 'Yes'},\n { value: 'false', label: 'No'}\n ]\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const salesRepresentativesConfig = {\n config: {\n elementType: 'select',\n elementConfig: {\n type: 'select',\n placeholder: 'Sales Rep',\n options: [\n {value: '', label: ''},\n ],\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const partnersConfig = {\n config: {\n elementType: 'select',\n elementConfig: {\n type: 'select',\n placeholder: 'Partner',\n options: [\n {value: '', label: ''},\n ],\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const emailConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'email',\n placeholder: 'Email Address',\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const usernameConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Username',\n },\n validate: {\n required: true,\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const passwordConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'password',\n placeholder: 'Password',\n },\n validate: {\n required: true,\n minLength: 8\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n\nexport const confirmPasswordConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'password',\n placeholder: 'Confirm Password',\n },\n validate: {\n required: true,\n minLength: 8\n },\n valid: true,\n errors: [],\n touched: false,\n width: 'full',\n },\n value: ''\n};\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { DateTime } from \"luxon\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport JWT from \"jwt-decode\";\nimport axios from 'axios';\nimport { Redirect } from 'react-router-dom';\nimport {\n fireArmsControlActConfig,\n fireArmsUseStorageConfig,\n criminalOffenseConfig,\n declareCodeOfConductConfig,\n declareDisciplinaryCodeConfig,\n declareValidInformationConfig,\n declareElectronicPolicyConfig,\n declareValidElectronicTrueConfig,\n associationAffiliationConfig,\n genderConfig,\n provinceConfig,\n ethnicityConfig,\n titleConfig\n} from \"../../components/Auth/Signup/controls\";\nimport MemberActions from \"../../store/Profile/actions\";\nimport MemberService from \"../../services/member.service\";\nimport Container from \"../../hoc/Container\";\nimport { checkValidity, updateObject} from '../../shared/utility';\nimport {\n Button,\n CircularProgress,\n FormControl,\n FormHelperText,\n Grid,\n Typography,\n} from \"@material-ui/core/\";\nimport { MappedInput } from \"../../components\";\nimport {\n editableTextInputConfig\n} from '../../shared/constants';\nimport API_URL from \"../../services/apiUrl\";\nimport {EditableGridLabel, SubtitleBar,Overview} from \"../../components/index\"\n\nconst styles = (theme) => ({\n paper: {\n marginTop: theme.spacing(8),\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n },\n form: {\n width: \"100%\",\n marginTop: theme.spacing(1),\n },\n backButton: {\n margin: theme.spacing(2),\n },\n nextButton: {\n margin: theme.spacing(2),\n },\n formHeading: {\n ...theme.typography.h1,\n // fontSize: '1.2rem',\n color: theme.palette.text.secondary,\n borderBottom: \"1px solid\",\n marginTop: theme.spacing(4),\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: \"0\",\n textAlign: \"justify\",\n },\n errorPadding: {\n padding: theme.spacing(4),\n },\n submitErrorPadding: {\n padding: theme.spacing(4),\n },\n mobileMargin: {\n marginTop: \"25px\",\n [theme.breakpoints.up(\"md\")]: {\n marginTop: 0,\n },\n },\n});\n\nclass ProfileCompletion extends Component {\n constructor(props) {\n super(props);\n this.memberService = MemberService(this.props.token);\n this.state = {\n //For declarations\n declarationControls: this.initDeclarationControls(),\n electronicControls: this.initElectronicControls(),\n associationControls : this.initAssociationControls(),\n submitError: \"\",\n nextError: \"\",\n errorMessage: \"\",\n loading:false,\n isDisabled:true,\n\n //For Profile\n myDetails: {},\n editDetails: true,\n controls: this.initControls(),\n formHasErrors: true,\n };\n\n axios.get(`${API_URL}/Member/getMemByMemNo/${this.props.memNo}`,{\n headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}\n }).then(res => {\n\n if(res.data.status !== 5 && res.data.status !== 8) \n this.props.history.push('/member/my-profile');\n\n let member = {\n nickName: res.data.nickname,\n firstName: res.data.firstname,\n surname: res.data.surname,\n occupation: res.data.occupation,\n identityNumber: res.data.idno,\n cellNumber: res.data.cellNo,\n emailAddress: res.data.email,\n streetAddress: res.data.physicalAddress,\n postalCode: res.data.postalCode,\n city: res.data.city,\n province: res.data.province,\n suburb: res.data.suburb,\n };\n\n this.setState({myDetails:member});\n\n\n });\n }\n\n initDeclarationControls = () => ({\n fireArmsControlAct: { ...fireArmsControlActConfig },\n fireArmsUseStorage: { ...fireArmsUseStorageConfig },\n criminalOffense: { ...criminalOffenseConfig },\n declareCodeOfConduct: { ...declareCodeOfConductConfig },\n declareDisciplinaryCode: { ...declareDisciplinaryCodeConfig },\n declareValidInfo: { ...declareValidInformationConfig },\n \n });\n\n inputChangeAssociationHandler = (event, controlName) => {\n const validity = checkValidity(\n event.target.value, \n this.state.associationControls[controlName].config.validate,\n this.state.associationControls[controlName].config.elementConfig.type\n );\n\n const updatedControls = updateObject(this.state.associationControls, {\n [controlName]: updateObject(this.state.associationControls[controlName], {\n value: event.target.value,\n config: updateObject(this.state.associationControls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true\n })\n })\n });\n\n this.setState({associationControls:updatedControls});\n }\n\n inputChangeOtherControlsHandler = (event, controlName) => {\n\n console.log(\"Change \" , event.target.value)\n console.log(\"Change Name\" , controlName)\n const validity = checkValidity(\n event.target.value, \n this.state.controls[controlName].config.validate,\n this.state.controls[controlName].config.elementConfig.type\n );\n\n const updatedControls = updateObject(this.state.controls, {\n [controlName]: updateObject(this.state.controls[controlName], {\n value: event.target.value,\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true\n })\n })\n });\n\n this.setState({controls:updatedControls});\n }\n\n inputChangeDeclarationHandler = (event, controlName) => {\n\n //Radio buttons works but they don't keep the checkbox checked\n const validity = checkValidity(\n event.target.value, \n this.state.declarationControls[controlName].config.validate,\n this.state.declarationControls[controlName].config.elementConfig.type\n );\n\n //For radio buttons get value from event.target but for checkboxes get value from toggled input \n let radioButtons = ['fireArmsControlAct','fireArmsUseStorage','criminalOffense'];\n\n const updatedControls = updateObject(this.state.declarationControls, {\n [controlName]: updateObject(this.state.declarationControls[controlName], {\n // value: this.state.declarationControls[controlName].value != '' ? !this.state.declarationControls[controlName].value : true ,\n value: radioButtons.includes(controlName) ? event.target.value : this.state.declarationControls[controlName].value != '' ? !this.state.declarationControls[controlName].value : true,\n config: updateObject(this.state.declarationControls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true\n })\n })\n });\n\n //check if isDisabled \n let isDisabled = this.state.electronicControls.declareElectronicPolicy.value == true && \n this.state.electronicControls.declareValidElectronicTrue.value == true &&\n updatedControls.declareValidInfo?.value == true &&\n updatedControls.declareDisciplinaryCode?.value == true &&\n updatedControls.declareCodeOfConduct?.value == true &&\n updatedControls.fireArmsControlAct.value.length > 3 &&\n updatedControls.fireArmsUseStorage.value.length > 3 &&\n updatedControls.criminalOffense.value == 'false' && updatedControls.criminalOffense.value.length > 3\n\n this.setState({declarationControls:updatedControls, isDisabled : !isDisabled});\n }\n\n initElectronicControls = () => ({\n declareElectronicPolicy: { ...declareElectronicPolicyConfig },\n declareValidElectronicTrue: { ...declareValidElectronicTrueConfig },\n });\n \n initAssociationControls = () => ({\n associationAffiliation: {...associationAffiliationConfig}\n });\n\n inputChangeElectronicHandler = (event, controlName) => {\n const validity = checkValidity(\n event.target.value, \n this.state.electronicControls[controlName].config.validate,\n this.state.electronicControls[controlName].config.elementConfig.type\n );\n\n const updatedControls = updateObject(this.state.electronicControls, {\n [controlName]: updateObject(this.state.electronicControls[controlName], {\n value: this.state.electronicControls[controlName].value != '' ? !this.state.electronicControls[controlName].value : true ,\n config: updateObject(this.state.electronicControls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true\n })\n })\n });\n\n //check if isDisabled \n let isDisabled = updatedControls.declareElectronicPolicy?.value == true && \n updatedControls.declareValidElectronicTrue?.value == true &&\n this.state.declarationControls?.declareValidInfo?.value == true &&\n this.state.declarationControls?.declareDisciplinaryCode?.value == true &&\n this.state.declarationControls?.declareCodeOfConduct?.value == true &&\n this.state.declarationControls?.fireArmsControlAct.value.length > 3 &&\n this.state.declarationControls?.fireArmsUseStorage.value.length > 3 &&\n this.state.declarationControls?.criminalOffense.value == 'false' && this.state.declarationControls?.criminalOffense.value.length > 3\n\n this.setState({electronicControls:updatedControls, isDisabled : !isDisabled});\n }\n\n editableGridLabel = (title, name, isMobile) => (\n \n );\n\n handleLabelChange = controlName => event => {\n\n const newValue = event.target.value;\n const validity = checkValidity (newValue, this.state.controls[controlName].config.validate);\n const updatedControls = updateObject(this.state.controls[controlName], {\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n let formHasErrors = false;\n const controls = {\n ...this.state.controls,\n [controlName]: updatedControls,\n };\n Object.keys(controls).forEach(key => {\n if(!controls[key].config.valid) {\n formHasErrors = true;\n }\n });\n this.setState({\n controls,\n myDetails: {\n ...this.state.myDetails,\n [controlName]: newValue\n },\n formHasErrors,\n });\n };\n\n initControls = () => ({\n nickName: {...editableTextInputConfig},\n firstName: {...editableTextInputConfig, editable: false},\n surname: {...editableTextInputConfig, editable: false},\n // sex: {...editableTextInputConfig},\n // ethnicity: {...editableTextInputConfig},\n identityNumber: {...editableTextInputConfig, editable: false},\n cellNumber: {...editableTextInputConfig},\n emailAddress: {...editableTextInputConfig,editable: false},\n streetAddress: {...editableTextInputConfig},\n postalCode: {...editableTextInputConfig},\n city: {...editableTextInputConfig},\n // province: {...editableTextInputConfig},\n suburb: {...editableTextInputConfig},\n associationAffiliation: {...associationAffiliationConfig},\n \n title: {...titleConfig},\n ethnicity: {...ethnicityConfig},\n province: {...provinceConfig},\n gender: {...genderConfig},\n });\n\n handleSaveChanges = () =>{\n\n let payload = {\n //For declarations \n MemNo: this.props.memNo,\n FireArmsControl: this.state.declarationControls.fireArmsControlAct.value == 'true',\n UseStorage: this.state.declarationControls.fireArmsUseStorage.value == 'true',\n Criminal: this.state.declarationControls.criminalOffense.value == 'true',\n CodeOfConduct: this.state.declarationControls.declareCodeOfConduct.value,\n DisciplinaryConduct: this.state.declarationControls.declareDisciplinaryCode.value,\n CorrectInfo: this.state.declarationControls.declareValidInfo.value,\n ElectronicComms: this.state.electronicControls.declareElectronicPolicy.value,\n DeclarationAcceptance: this.state.electronicControls.declareValidElectronicTrue.value,\n\n memNoNavigation: {\n title : this.state.controls.title.value, //dropdown\n currentAssociation: this.state.associationControls.associationAffiliation.value,\n firstname: this.state.myDetails.firstName,\n surname: this.state.myDetails.surname,\n nickname: this.state.myDetails.nickName,\n cellNo: this.state.myDetails.cellNumber,\n idno: this.state.myDetails.identityNumber,\n ethinicity: this.state.controls.ethnicity.value, //dropdown\n \n physicalAddress: this.state.myDetails.streetAddress,\n sex: this.state.controls.gender.value, // Dropdown\n province: this.state.controls.province.value, //dropdown\n suburb: this.state.myDetails.suburb,\n city: this.state.myDetails.city,\n postalCode: this.state.myDetails.postalCode,\n\n }\n }\n\n const requiredFields = this.checkRequired(payload.memNoNavigation);\n \n if(!requiredFields) {\n const message = 'Please complete all of the fields before submitting the application';\n this.setState({submitError:message});\n return;\n }\n \n this.setState({loading:true, isDisabled:true});\n\n axios.post(`${API_URL}/Member/completeProfile`, payload)\n .then(_ => {\n this.props.history.push('/member/my-profile');\n })\n .catch(err => {\n console.error(err.response);\n this.setState({loading:false, isDisabled:false});\n alert(\"Error saving declarations please logout and login\")\n });\n }\n\n checkRequired = regInfo => {\n for (var obj in regInfo) {\n if (regInfo[obj] === '' || regInfo[obj] === '-') {\n return false;\n }\n }\n\n return true;\n };\n\n render() {\n const { classes } = this.props;\n const declarationElementArray = [];\n const electronicElementArray = [];\n const associationElementArray = [];\n const provinceElementArray = [];\n const dropdownsArray = [];\n \n let loadingBlock = null;\n let signupRedirect = null;\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n for (let key in this.state.declarationControls) {\n declarationElementArray.push({\n id: key,\n config: this.state.declarationControls[key].config,\n value: this.state.declarationControls[key].value,\n });\n }\n\n for (let key in this.state.electronicControls) {\n electronicElementArray.push({\n id: key,\n config: this.state.electronicControls[key].config,\n value: this.state.electronicControls[key].value,\n message: this.state.electronicControls[key].message,\n });\n }\n\n for (let key in this.state.associationControls) {\n associationElementArray.push({\n id: key,\n config: this.state.associationControls[key].config,\n value: this.state.associationControls[key].value,\n message: this.state.associationControls[key].message,\n });\n }\n\n for (let key in this.state.controls) {\n let _keys = ['gender','ethnicity', 'title'];\n\n if(_keys.includes(key))\n dropdownsArray.push({\n id: key,\n config: this.state.controls[key].config,\n value: this.state.controls[key].value,\n message: this.state.controls[key].message,\n });\n\n if(key == 'province')\n provinceElementArray.push({\n id: key,\n config: this.state.controls[key].config,\n value: this.state.controls[key].value,\n message: this.state.controls[key].message,\n });\n }\n\n let additionalDieldsForm = dropdownsArray.map(formElement => (\n\n \n {\n \n this.inputChangeOtherControlsHandler(event, formElement.id)} \n />\n\n \n }\n \n ));\n\n let ProvinceForm = provinceElementArray.map(formElement => (\n\n \n {\n \n this.inputChangeOtherControlsHandler(event, formElement.id)} \n />\n\n \n }\n \n ));\n\n let declarationForm = declarationElementArray.map((formElement) => (\n \n \n \n this.inputChangeDeclarationHandler(event, formElement.id)\n }\n />\n \n {formElement.config.errors\n ? formElement.config.errors[0]\n : \"Input is invalid\"}\n \n \n \n ));\n\n if (this.state.loading) {\n loadingBlock = \n \n \n ;\n } \n \n const submitError = (\n \n {this.state.submitError}\n \n );\n \n if (this.state.signupSuccess) {\n signupRedirect = ;\n }\n\n let electronicForm = electronicElementArray.map((formElement) => (\n \n \n

{formElement.message}

\n
\n \n \n \n this.inputChangeElectronicHandler(event, formElement.id)\n }\n />\n \n {formElement.config.errors\n ? formElement.config.errors[0]\n : \"Input is invalid\"}\n \n \n \n
\n ));\n\n let associationForm = associationElementArray.map(formElement => (\n \n {\n \n this.inputChangeAssociationHandler(event, formElement.id)} \n />\n \n {formElement.config.errors ? formElement.config.errors[0] : 'Input is invalid'}\n \n \n }\n \n ));\n\n return (\n \n \n \n \n \n You have signed up as a NARFO member through one of our partners. To activate your profile, you need to supply some basic information and you are all set to go.\n
\n
\n
\n
\n
\n\n \n Member Details\n \n
\n\n \n
\n \n \n {this.editableGridLabel('Nick Name', 'nickName', isMobile)}\n {this.editableGridLabel('First Name', 'firstName', isMobile)}\n {this.editableGridLabel('Surname', 'surname', isMobile)}\n {this.editableGridLabel('Identification Number', 'identityNumber', isMobile)}\n {/* {this.editableGridLabel('Title', 'title', isMobile)} */}\n {/* {this.editableGridLabel('Sex', 'sex', isMobile)} */}\n {/* {this.editableGridLabel('Ethnicity', 'ethnicity', isMobile)} */}\n {/* {additionalDieldsForm} */}\n \n \n {additionalDieldsForm}\n \n \n \n \n {this.editableGridLabel('Cell Number', 'cellNumber', isMobile)}\n {this.editableGridLabel('Email Address', 'emailAddress', isMobile)}\n \n \n \n {this.editableGridLabel('Street Address', 'streetAddress', isMobile)}\n {this.editableGridLabel('suburb', 'suburb', isMobile)}\n {this.editableGridLabel('Postal Code', 'postalCode', isMobile)}\n {this.editableGridLabel('City', 'city', isMobile)}\n {ProvinceForm}\n \n
\n
\n
\n\n \n \n \n Declarations\n \n \n\n \n {declarationForm}\n \n\n \n {associationForm}\n {electronicForm}\n {submitError}\n \n \n {loadingBlock}\n \n \n \n Save changes\n \n \n \n \n \n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n});\n\nconst initialiseMemberActions =\n (dispatch) => (memberService, dedicatedStatusService) => {\n const action = MemberActions(memberService, dedicatedStatusService);\n return {\n fetchMemberData: (id) => dispatch(action.fetchMemberData(id)),\n };\n };\n\nconst mapDispatchToProps = (dispatch) => ({\n memberActions: initialiseMemberActions(dispatch),\n});\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(ProfileCompletion));\n","import {\n SET_COMMISSIONS,\n SET_BANKING_DETAILS,\n} from './types';\nimport {\n getUniqueValuesfromObjectArray,\n} from '../../shared/helpers';\n\nconst fetchSalesCommissions = service => (id, year, type) => dispatch => service\n .getSalesCommissions(id, year, type)\n .then((res) => {\n const comms = res.data.repsMemComm;\n const result = [];\n if(comms.length > 0) {\n const uniqueCommissionNumbers = getUniqueValuesfromObjectArray(comms, 'paymentTransNo');\n uniqueCommissionNumbers.forEach(commNumber => {\n const filteredCommissions = comms.filter(com => com.paymentTransNo === commNumber);\n result.push({\n commissions: filteredCommissions,\n commissionNumber: commNumber,\n paymentDate: filteredCommissions[0].paymentDate,\n amountTotal: filteredCommissions[0].commissionTotal,\n type: filteredCommissions[0].comType,\n });\n });\n }\n\n return result;\n })\n .then((res) => dispatch({ type: SET_COMMISSIONS, payload: res }))\n .catch(() => dispatch({ type: SET_COMMISSIONS, payload: [] }));\n\n //Fetch all sales commission for all the financial years\n const fetchAllSalesCommissions = service => (id, type) => dispatch => service\n .getAllSalesCommissions(id,type)\n .then((res) => {\n const comms = res.data.repsMemComm;\n const result = [];\n if(comms.length > 0) {\n const uniqueCommissionNumbers = getUniqueValuesfromObjectArray(comms, 'paymentTransNo');\n uniqueCommissionNumbers.forEach(commNumber => {\n const filteredCommissions = comms.filter(com => com.paymentTransNo === commNumber);\n result.push({\n commissions: filteredCommissions,\n commissionNumber: commNumber,\n paymentDate: filteredCommissions[0].paymentDate,\n amountTotal: filteredCommissions[0].commissionTotal,\n type: filteredCommissions[0].comType,\n });\n });\n }\n\n return result;\n })\n .then((res) => dispatch({ type: SET_COMMISSIONS, payload: res }))\n .catch(() => dispatch({ type: SET_COMMISSIONS, payload: [] }));\n\nconst fetchBankingDetails = service => id => dispatch => service\n .getUserRoles(id)\n .then((res) => {\n const userRoles = res.data || [];\n const repBankDetails = userRoles.find(bank =>\n bank.memType ? bank.memType.toLowerCase().includes('sale') : false);\n const partnerBankDetails = userRoles.find(bank =>\n bank.memType ? bank.memType.toLowerCase().includes('partner') : false);\n return { repDetails: repBankDetails || {}, partnerDetails: partnerBankDetails || {} };\n })\n .then((res) => dispatch({ type: SET_BANKING_DETAILS, payload: res }))\n .catch(() => dispatch({ \n type: SET_BANKING_DETAILS,\n payload: { repDetails: {}, partnerDetails: {} } \n }));\n\nexport default function(commissionService) {\n return {\n fetchSalesCommissions: fetchSalesCommissions(commissionService),\n fetchAllSalesCommissions: fetchAllSalesCommissions(commissionService),\n fetchBankingDetails: fetchBankingDetails(commissionService),\n };\n}\n","export const SET_COMMISSIONS = 'SET_COMMISSIONS';\nexport const SET_BANKING_DETAILS = 'SET_BANKING_DETAILS';\nexport const SET_SALES_REPS = 'SET_SALES_REPS';\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n AllCommissions,\n BankDetails,\n TabGroup\n} from '../../components';\nimport Container from '../../hoc/Container';\nimport CommissionsService from '../../services/commissions.service';\nimport CommissionsActions from '../../store/SalesCommissions/actions';\nimport { printSalesCommission } from '../../shared/pdfHelpers';\nimport { getMemberStatusFromInt } from '../../shared/helpers';\nimport { financialYear} from '../../shared/helpers';\nimport MemberService from '../../services/member.service';\n\nexport class SalesCommission extends Component {\n constructor(props) {\n super(props);\n this.commissionsService = CommissionsService(this.props.token);\n this.memberService = MemberService(this.props.token);\n this.commissionsActions = this.props.commissionsActions(this.commissionsService);\n }\n componentDidMount() {\n\n // let financialYear = new Date().getFullYear(); //Used current year instead of finacial year\n // this.commissionsActions.fetchSalesCommissions(this.props.memNo, financialYear)\n // .then(() => this.commissionsActions.fetchBankingDetails(this.props.memNo));\n this.commissionsActions.fetchAllSalesCommissions(this.props.memNo)\n .then(() => this.commissionsActions.fetchBankingDetails(this.props.memNo));\n }\n\n downloadCommission = (comm, identifier) => {\n this.memberService.getAllImages()\n .then((images) => printSalesCommission(\n comm, { \n ...this.props.memberDetails,\n status: getMemberStatusFromInt(this.props.memberDetails.status),\n },\n images.data.narfo,\n identifier,\n ));\n };\n\n updateAccountDetails = (data) => this.commissionsService\n .updateBankingDetails(data)\n .then(() => this.commissionsActions.fetchBankingDetails(this.props.memNo));\n\n filterCommissions = (result) => this.commissionsActions\n .fetchSalesCommissions(\n this.props.memNo,\n result['year'] || financialYear,\n result['commissionType']\n );\n \n tabViews = (isMobile) => [\n {\n label: isMobile ? 'Commissions' : 'All commission',\n view: \n },\n {\n label: 'Bank Details',\n view: \n }\n ];\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n \n \n );\n }\n}\n\nconst mapStateToProps = state => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n commissions: state.nCommissionReducer.commissions,\n bankingDetails: state.nCommissionReducer.bankingDetails,\n memberDetails: state.ProfileReducer.memberData,\n});\n\nconst initCommissionsActions = dispatch => salesCommissionsService => {\n const actions = CommissionsActions(salesCommissionsService);\n return {\n fetchSalesCommissions: (id, year, type) => dispatch(actions.fetchSalesCommissions(id, year, type)),\n fetchAllSalesCommissions: (id, type) => dispatch(actions.fetchAllSalesCommissions(id, type)),\n fetchBankingDetails: (id) => dispatch(actions.fetchBankingDetails(id)),\n };\n};\n\nconst mapDispatchToProps = dispatch => ({\n commissionsActions: initCommissionsActions(dispatch),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SalesCommission);\n","import {\n SET_ACTIVITIES, \n SET_ACTIVITY_MATRIX,\n SET_ACTIVITY_RANKING\n} from './types';\n\nconst fetchActivities = service => id => dispatch => service\n .getMemberActivities(id)\n .then((res) => dispatch({\n type: SET_ACTIVITIES,\n payload: res.data.map(activity => ({\n ...activity,\n score: parseInt(activity.score),\n })),\n }));\n\nconst fetchMatrix = service => id => dispatch => service\n .getActivityMatrix(id)\n .then((res) => dispatch({\n type: SET_ACTIVITY_MATRIX,\n payload: res.data.map(matrixItem => ({\n ...matrixItem\n })),\n }));\n\nconst fetchRanking = service => id => dispatch => service\n .getActivityRanking(id)\n .then((res) => dispatch({\n type: SET_ACTIVITY_RANKING,\n payload: res.data,\n }));\n\nexport default function(activityService) {\n return {\n fetchActivities: fetchActivities(activityService),\n fetchMatrix: fetchMatrix(activityService),\n fetchRanking : fetchRanking(activityService),\n };\n}\n","export const SET_ACTIVITIES = 'SET_ACTIVITIES';\nexport const SET_ACTIVITY_MATRIX = 'SET_ACTIVITY_MATRIX';\nexport const SET_ACTIVITY_RANKING = 'SET_ACTIVITY_RANKING';\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\n\nimport {\n MyActivities,\n TabGroup,\n AddActivity,\n ActivityRanking,\n ActivityMatrix,\n FireArmTypes\n} from '../../components';\nimport Container from '../../hoc/Container';\nimport ActivityActions from '../../store/Activities/actions';\nimport LookupActions from '../../store/Lookup/actions';\nimport ActivityService from '../../services/activities.service';\nimport LookupService from '../../services/lookup.service';\nimport MemberService from '../../services/member.service';\nimport DedicatedService from '../../services/dedicatedstatus.service';\nimport { printActivities } from '../../shared/pdfHelpers';\nimport { MEMBER_STATUS } from '../../shared/constants';\nimport { getMemberStatusFromInt } from '../../shared/helpers';\nimport SITE_URL from '../../services/siteURL';\nimport data from './countries.json';\n\nexport class Activities extends Component {\n constructor(props) {\n super(props);\n this.activityService = ActivityService(this.props.token);\n this.lookupService = LookupService(this.props.token);\n this.memberService = MemberService(this.props.token);\n this.dedicatedService = DedicatedService(this.props.token);\n this.activityActions = this.props.activityActions(this.activityService);\n this.lookupActions = this.props.lookupActions(this.lookupService);\n\n this.state = {\n loading: false,\n addActivity: false,\n countries : [],\n provinces : [],\n spiciesSorted : this.props.specieType.sort((a, b) =>\n a.specie > b.specie ? 1 : b.specie > a.specie ? -1 : 0\n )\n };\n }\n\n componentDidMount() {\n let _countries = data.countries.map(item => ({\n value: item.country,\n label: item.country,\n states: item.states\n }));\n\n this.setState({loading:true, countries: _countries});\n this.activityActions.fetchActivities(this.props.memNo)\n .finally(() => this.setState({loading:false}));\n this.lookupActions.fetchEventLookups();\n this.lookupActions.fetchDisciplines();\n this.lookupActions.fetchFirearmType();\n this.lookupActions.fetchFirearmTypeLookup();\n this.lookupActions.fetchOpticsLookup();\n this.lookupActions.fetchActivityType();\n this.lookupActions.fetchSpecieType();\n this.activityActions.fetchMatrix(this.props.memNo);\n this.activityActions.fetchRanking(this.props.memNo);\n\n }\n\n downloadActivities = (activities,identifier) => this.dedicatedService\n .getApprovedDedicatedStatus(this.props.memNo)\n .then((res) => {\n let dsHunter = res.data\n .find(ds => ds.dstype.toLowerCase().includes('hunter') &&\n ds.status === MEMBER_STATUS.APPROVED) || {};\n let dsSports = res.data\n .find(ds => ds.dstype.toLowerCase().includes('sport') &&\n ds.status === MEMBER_STATUS.APPROVED) || {};\n return this.memberService.getAllImages()\n .then((images) => printActivities(\n activities,\n dsHunter.dsno,\n dsSports.dsno,\n identifier,\n images.data.narfo,\n { \n ...this.props.memberDetails,\n status: getMemberStatusFromInt(this.props.memberDetails.status)\n },\n ));\n });\n\n submitActivity = (activityData) => {\n const formData = new FormData();\n formData.append('ActivityType', activityData.activityType);\n formData.append('MemNo', this.props.memNo);\n formData.append('ActivityDate', activityData.activityDate.toISOString());\n formData.append('FirearmType', activityData.firearmType);\n formData.append('FireArmTypeLookups', activityData.firearmTypeLookup);\n formData.append('Caliber', activityData.caliber);\n formData.append('Score', activityData.score.toString());\n formData.append('Optics', activityData.optics);\n formData.append('ActivityEvent', activityData.activityEvent);\n formData.append('Association', activityData.association);\n formData.append('BaseURL', SITE_URL );\n formData.append('ActivityDescription', activityData.activityDescription);\n formData.append('ActivityNotes', activityData.activityNotes);\n\n formData.append('Country', activityData.country);\n formData.append('Province', activityData.province);\n formData.append('FarmName', activityData.farmName);\n formData.append('Specie', activityData.specie);\n formData.append('AddToGallery', activityData.addToGallery);\n\n\n activityData.attachments.forEach((file, i) => {\n formData.append(`attachment${i + 1}`, file.result);\n });\n\n this.activityService.submitActivity(formData)\n .then(() => this.activityActions.fetchActivities(this.props.memNo));\n };\n\n onViewMyActivities = () => this.setState({addActivity: false});\n\n tabViews = (isMobile) => [\n {\n label: isMobile ? 'Activities' : 'My Activities',\n view: this.state.addActivity && ({\n value: e.activityEvent,\n label: e.activityEvent,\n ranking: e.ranking,\n fireArmTypeLookupID : e.fireArmTypeLookupID,\n }))}\n firearmTypes={this.props.firearmTypes.map(f => ({\n value: f.fireArmType1,\n label: f.fireArmType1,\n fireArmTypeId : f.fireArmID,\n }))}\n firearmTypeLookup={this.props.firearmTypeLookup.map(f => ({\n value: f.fireArmType,\n label: f.fireArmType,\n fireArmID :f.fireArmID,\n fireArmTypeId:f.fireArmTypeId,\n \n }))}\n activityDisciplines={this.props.disciplineTypes.map(d => ({\n value: d.discipline,\n label: d.discipline,\n }))}\n opticsLookup={this.props.opticsLookup.map(o => ({\n value: o.optics,\n label: o.optics,\n }))}\n activityTypeLookup={this.props.activityType.map(o => ({\n value: o.activity,\n label: o.activity,\n activityLookupId:o.activityLookupId\n }))}\n\n countryLookup={this.state.countries}\n\n specieLookup={this.state.spiciesSorted.map(s => ({\n value: s.specie,\n label: s.specie,\n specieLookupId: s.specieLookupId\n }))}\n\n submitActivity={(activity) => this.submitActivity(activity)}\n backCallback={this.onViewMyActivities}\n /> ||\n this.setState({addActivity: true})}\n getActivityCallback={this.activityService.getActivityByID}\n disciplineFilterItems={{\n eventTypes: this.props.eventLookup.map(e => ({\n value: e.activityEvent,\n label: e.activityEvent,\n })),\n disciplineTypes: this.props.disciplineTypes.map(d => ({\n value: d.discipline,\n label: d.discipline,\n })),\n }}\n />\n },\n {\n label: isMobile ? 'Ranking' : 'Activity Ranking',\n view: ({\n value: e.activityEvent,\n label: e.activityEvent,\n ranking: e.ranking,\n association: \"Narfo\"\n }))}\n\n activityDiscipline = {this.props.disciplineTypes.map(e => ({\n value: e.discipline,\n label: e.discipline,\n association: 'Other'\n }))}\n\n token = {this.props.token}\n memNo={this.props.memNo} \n />\n },\n {\n label: isMobile ? 'Matrix' : 'Activity Matrix',\n view: \n },\n {\n label: isMobile ? 'Target' :
Target Download
,\n view: \n },\n ];\n\n \n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n\ttoken: state.AuthReducer.token,\n\tmemNo: state.AuthReducer.memNo,\n\tactivities: state.nActivitiesReducer.activities,\n\teventLookup: state.nLookupReduder.eventLookup,\n\tfirearmTypes: state.nLookupReduder.firearmTypes,\n\tfirearmTypeLookup: state.nLookupReduder.firearmTypeLookup,\n\tdisciplineTypes: state.nLookupReduder.disciplines,\n\topticsLookup: state.nLookupReduder.opticsLookup,\n\tactivityType: state.nLookupReduder.activityType,\n\tspecieType: state.nLookupReduder.specieType,\n\tmemberDetails: state.ProfileReducer.memberData,\n\tactivityMatrix: state.nActivitiesReducer.activityMatrix,\n\tactivityRanking: state.nActivitiesReducer.activityRanking\n});\n\nconst initActivityActions = dispatch => activityService => {\n const actions = ActivityActions(activityService);\n return {\n fetchActivities: (id) => dispatch(actions.fetchActivities(id)),\n fetchMatrix: (id) => dispatch(actions.fetchMatrix(id)),\n fetchRanking: (id) => dispatch(actions.fetchRanking(id)),\n };\n};\n\nconst initLookupActions = dispatch => lookupService => {\n const actions = LookupActions(lookupService);\n return {\n fetchEventLookups: () => dispatch(actions.fetchEventLookups()),\n fetchDisciplines: () => dispatch(actions.fetchDisciplines()),\n fetchFirearmType: () => dispatch(actions.fetchFirearmType()),\n fetchFirearmTypeLookup: () => dispatch(actions.fetchFirearmTypeLookup()),\n fetchOpticsLookup: () => dispatch(actions.fetchOpticsLookup()),\n fetchActivityType: () => dispatch(actions.fetchActivityType()),\n fetchSpecieType: () => dispatch(actions.fetchSpecieType()),\n \n };\n};\n\n\nconst mapDispatchToProps = dispatch => ({\n activityActions: initActivityActions(dispatch),\n lookupActions: initLookupActions(dispatch)\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Activities);\n","\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\n\nimport {\n Loader,\n AddEndorsement,\n MyEndorsements,\n} from '../../components';\nimport Container from '../../hoc/Container';\nimport {printEndorsement} from '../../shared/pdfHelpers';\nimport MemberActions from '../../store/Profile/actions';\nimport EndorsementActions from '../../store/Endorsements/actions';\nimport DedicatedService from '../../services/dedicatedstatus.service';\nimport EndorsementService from '../../services/endorsements.service';\nimport MemberService from '../../services/member.service';\n\nclass Endorsements extends Component {\n constructor(props) {\n super(props);\n this.endorsementService = EndorsementService(this.props.token);\n this.endorsementActions = this.props.endorsementActions(this.endorsementService);\n this.dedicatedService = DedicatedService(this.props.token);\n this.memberService = MemberService(this.props.token);\n this.memberActions = this.props.memberActions(this.memberService, this.dedicatedService);\n \n\n this.state = {\n loading: false,\n addEndorsement: false\n };\n }\n\n componentDidMount() {\n const memberId = this.props.memNo;\n\n this.setState({loading: true});\n this.endorsementActions.fetchEndorsements(memberId)\n .finally(() => this.setState({loading:false}));\n this.memberActions.fetchMemberData(memberId)\n .then(() => this.memberActions.fetchMemberDedicatedStatus(memberId))\n .finally(() => {\n this.setState({loading: false});\n });\n }\n\n downloadMemberEndorsement = (endorsementData) => {\n const memberId = this.props.memNo;\n return this.memberService.getMemberQRCode(memberId)\n .then((resp) => {\n const base64QRCode = `data:image/jpeg;base64,${resp.data.base64QRString}`;\n return this.memberService.getAllImages().then((images) =>\n printEndorsement(\n this.props.memberData, endorsementData, images.data.nnfo, base64QRCode,\n images.data.pdfSign, images.data.pdflogo, images.data.signature2\n )\n );\n });\n }\n\n addEndorsement = () => {\n this.setState({addEndorsement: true});\n }\n\n onViewMyEndorsements = () => {\n this.setState({addEndorsement: false});\n this.endorsementActions.fetchEndorsements(this.props.memNo);\n }\n \n render() {\n return (\n \n {this.state.loading && ||\n this.state.addEndorsement && ({\n value: e.action1,\n label: e.action1\n }))}\n firearmTypes={this.props.firearmActionTypeLookup['fireArmTypes'].map(f => ({\n value: f.type,\n label: f.type\n }))}\n sectionTypes={this.props.sectionLookup.map(g => ({\n value: g.section,\n label: g.section\n })).filter(function(obj) {\n if (\n obj.label === 'Section 13' || obj.label === 'Section 15' || obj.label === 'Section 16'\n ){\n return obj;\n }\n })\n }\n applicationTypes={this.props.applicationTypeLookup.map(h => ({\n value: h.applicationType,\n label: h.applicationType\n }))}\n endorsementPurposeType={this.props.endorsementPurposeType.map(h => ({\n value: h.purposeType,\n label: h.purposeType\n }))}\n >\n\n ||\n \n }\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n endorsements: state.nEndorsementReducer.endorsements,\n memberData: state.ProfileReducer.memberData,\n dedicatedStatus: state.ProfileReducer.dedicatedStatus,\n firearmActionTypeLookup: state.nLookupReduder.firearmActionType,\n sectionLookup: state.nLookupReduder.sectionLookup,\n applicationTypeLookup: state.nLookupReduder.endorsementApplicationType,\n endorsementPurposeType: state.nLookupReduder.endorsementPurposeType\n});\n\nconst initEndorsementActions = dispatch => endorsementService => {\n const actions = EndorsementActions(endorsementService);\n return {\n fetchEndorsements: (id) => dispatch(actions.fetchEndorsements(id))\n };\n};\n\nconst initialiseMemberActions = dispatch => (memberService, dedicatedStatusService) => {\n const action = MemberActions(memberService, dedicatedStatusService);\n return {\n fetchMemberData: (id) => dispatch(action.fetchMemberData(id)),\n fetchMemberDedicatedStatus: (id) => dispatch(action.fetchMemberDedicatedStatus(id)),\n };\n};\n\nconst mapDispatchToProps = dispatch => ({\n endorsementActions: initEndorsementActions(dispatch),\n memberActions: initialiseMemberActions(dispatch)\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Endorsements);","import {\n SET_ENDORSEMENTS\n} from './actionTypes';\n\nconst fetchEndorsements = service => id => dispatch => service\n .getMemberEndorsements(id)\n .then((res) => dispatch({\n type: SET_ENDORSEMENTS,\n payload: res.data.map(endorsement => ({\n ...endorsement\n })),\n }));\n \nexport default function(endorsementService) {\n return {\n fetchEndorsements: fetchEndorsements(endorsementService)\n };\n}","import API_URL from './apiUrl';\nimport axios from 'axios';\n\nconst getDocuments = (headers) => () => axios.\n get(`${API_URL}/downloads/all`, {headers});\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n getDocuments: getDocuments(headers)\n };\n}","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\n\nimport {\n MyDocuments,\n Loader,\n} from '../../components';\nimport Container from '../../hoc/Container';\nimport DocumentsActions from '../../store/Documents/actions';\nimport DocumentsService from '../../services/documents.service';\n\nclass Documents extends Component {\n constructor(props) {\n super(props);\n this.documentsService = DocumentsService(this.props.token);\n this.documentsActions = this.props.documentsActions(this.documentsService);\n\n this.state = {\n loading: false,\n };\n }\n componentDidMount() {\n this.setState({loading: true});\n this.documentsActions.fetchDocuments()\n .finally(() => this.setState({loading:false}));\n }\n render() {\n return (\n \n {this.state.loading && ||\n ({\n value: e.documentType,\n label: e.documentType,\n })),\n }}\n />}\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n token: state.AuthReducer.token,\n documents: state.nDocumentsReducer.documents,\n documentTypeLookup: state.nLookupReduder.documentTypes\n});\n\nconst initDocumentsActions = dispatch => documentsService => {\n const actions = DocumentsActions(documentsService);\n return {\n fetchDocuments: (id) => dispatch(actions.fetchDocuments(id)),\n };\n};\n\nconst mapDispatchToProps = dispatch => ({\n documentsActions: initDocumentsActions(dispatch)\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Documents);","import {\n SET_DOCUMENTS\n} from './actionTypes';\n\nconst fetchDocuments = service => () => dispatch => service\n .getDocuments()\n .then((res) => dispatch({\n type: SET_DOCUMENTS,\n payload: res.data.map(documents => ({\n ...documents\n })),\n }));\n\nexport default function(documentsService) {\n return {\n fetchDocuments: fetchDocuments(documentsService)\n };\n}","export const SET_DOCUMENTS = 'SET_ENDORSEMENTS';","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n SubtitleBar\n} from '../index';\nimport { Grid, Typography, Button } from '@material-ui/core';\nimport GenericTable from '../GenericTable/GenericTable';\nimport { withStyles } from '@material-ui/core/styles';\nimport Interweave from 'interweave';\n\nconst styles = (theme) => ({\n thumbNail: {\n cursor: 'pointer',\n },\n img: {\n width: \"170px\",\n height: \"200px\",\n borderRadius: \"5px\",\n padding: \"0px\",\n },\n imageTextPadding: {\n paddingTop: \"2em\"\n }\n});\n\nconst columns = [\n { field: 'dateSent', headerName: 'Date sent' },\n { field: 'subject', headerName: 'Subject'}\n];\n\nclass SingleEmail extends Component {\n constructor(props) {\n super(props);\n this.state = {\n emailList: props.emailList,\n };\n\n }\n\n render() {\n // const isMobile = localStorage.getItem('isMobile') === 'true';\n // const { classes } = this.props;\n\n return(\n \n \n \n \n );\n }\n}\n\n\nexport default connect(null, null)(withStyles(styles)(SingleEmail));","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n SubtitleBar\n} from '../index';\nimport { Grid, Typography, Button } from '@material-ui/core';\nimport GenericTable from '../GenericTable/GenericTable';\nimport { withStyles } from '@material-ui/core/styles';\nimport Interweave from 'interweave';\nimport SingleEmail from './SingleEmail';\n\nconst styles = (theme) => ({\n thumbNail: {\n cursor: 'pointer',\n },\n img: {\n width: \"170px\",\n height: \"200px\",\n borderRadius: \"5px\",\n padding: \"0px\",\n },\n imageTextPadding: {\n paddingTop: \"2em\"\n }\n});\n\nconst columns = [\n { field: 'dateSent', headerName: 'Date sent' },\n { field: 'subject', headerName: 'Subject'}\n];\n\nclass ViewEmail extends Component {\n constructor(props) {\n super(props);\n this.state = {\n emailList: props.emailList,\n viewEmails: true,\n selectedEmail: null\n };\n\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n const { classes } = this.props;\n\n return(\n \n {\n this.state.viewEmails ?<>\n {/* */}\n {this.props.emailList.length !== 0 ?\n {\n this.setState({ \n viewEmails: !this.state.viewEmails,\n selectedEmail : item\n });\n }}\n /> : null}\n : \n this.setState({ viewEmails: true })}\n />\n }\n\n \n );\n }\n}\n\n\nexport default connect(null, null)(withStyles(styles)(ViewEmail));","import API_URL from './apiUrl';\nimport axios from 'axios';\n\nconst getEmailHistory = headers => () => axios({\n\turl: `${API_URL}/AutomatedEmail/GetBulkEmails`,\n\tmethod: \"get\",\n\theaders: headers\n });\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n getEmailHistory: getEmailHistory(headers)\n };\n}\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport ViewEmail from '../../components/MemberEmails/ViewEmail';\nimport Container from '../../hoc/Container';\nimport EmailService from '../../services/email.service';\nimport { format } from 'date-fns';\nconst month = [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\n\nclass MemberEmails extends Component {\n constructor(props) {\n super(props);\n this.EmailService = EmailService(this.props.token);\n \tthis.state = {\n emailList: []\n }\n }\n\n componentDidMount() {\n this.EmailService.getEmailHistory().then(resp =>{\n // this.setState({emailList : resp.data.reverse(), loading:false});\n\n let emails =[];\n \n resp.data.forEach(email => {\n email.body = email.body.replace(/ /g,'').replace(/<\\/p>/gm,'

'); \n emails.push(email);\n });\n \n this.setState({ loading: false,emailList: emails.reverse()});\n\n })\n .catch(ex =>{\n console.log(ex);\n })\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n {!this.state.loading && {\n let date = new Date(item.dateSent);\n item.dateSent = date.getDay() +\" \" + month[date.getMonth()] +\" \" + date.getFullYear()\n return item;\n })}\n memNo={this.props.memNo}\n isMobile={isMobile}\n history = {this.props.history}\n /> }\n \n );\n }\n}\n\nexport default connect(null,null)(MemberEmails);","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport SubtitleBar from '../SubtitleBar/SubtitleBar';\nimport { \n SET_FIREARM_LICENCE_APPLICATION_LIST\n} from '../../store/Licence/types';\nimport { Grid, Typography } from '@material-ui/core';\nimport {\n GenericTable,\n IconLabelButton,\n Loader,\n} from '../index';\nimport {\n checkValidity,\n updateObject,\n initSelect\n} from '../../shared/utility';\nimport {\n editableTextInputConfig\n} from '../../shared/constants';\nimport PropType from 'prop-types';\nimport EditableGridLabel from '../EditableGridLabel/EditableGridLabel';\nimport { connect } from 'react-redux';\nimport { toast } from 'react-toastify';\nimport { format } from 'date-fns';\nimport 'react-toastify/dist/ReactToastify.css';\n\n\nconst columns = [\n { field: 'statusDate', headerName: 'Status Date' },\n { field: 'status', headerName: 'Status' },\n { field: 'statusDescription', headerName: 'Status Description' },\n];\n\ntoast.configure();\nclass ViewLicenseApplications extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n licenseApplication: props.licenseApplication,\n controls: this.initControls()\n };\n }\n\n editableGridLable = (title, name, stretch, isMobile) => (\n \n );\n\n initControls = () => ({\n referenceNumber: {...editableTextInputConfig},\n serialNumber: {...editableTextInputConfig},\n applicationType: {...editableTextInputConfig},\n make: {...editableTextInputConfig},\n applicationNumber: {...editableTextInputConfig},\n idorInstNumber: {...editableTextInputConfig},\n caliber: {...editableTextInputConfig},\n statusDate: {...editableTextInputConfig},\n status: {...editableTextInputConfig},\n statusDescription: {...editableTextInputConfig},\n nextStep: {...editableTextInputConfig},\n });\n\n handleSubmit = () => {\n const data = {\n firearm: this.state.licenseReminder.firearm,\n serialNumber: this.state.licenseReminder.serialNumber,\n issued: this.state.licenseReminder.issued,\n make: this.state.licenseReminder.make,\n licenseNo: this.state.licenseReminder.licenseNo,\n expiryDate: this.state.licenseReminder.expiryDate,\n caliber: this.state.licenseReminder.caliber,\n section: this.state.licenseReminder.section,\n description: this.state.licenseReminder.description\n };\n this.setState({ loading: true, editDetails: false });\n this.props.updateLicenseReminderCallback(data)\n .then(res => this.props.onLicenseRecordUpdate(res.data))\n .finally(() => this.setState({loading: false}));\n }\n\n render() {\n\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n {\n this.props.deleteLicenseApplicationCallback(this.state.licenseApplication.referenceNumber)\n .then(res => {\n if(res.data.isFound){\n this.props.onLicenseApplicationRecordListUpdate(\n this.props.firearmLicenseApplications.filter(element => element.referenceNumber !== this.state.licenseApplication.referenceNumber)\n ); \n toast.success(res.data.message);\n } else {\n toast.error(res.data.message);\n }\n })\n .finally(this.props.backCallback(this.state.licenseApplication));\n }}\n />\n \n {this.props.licenseApplication &&
\n \n {this.editableGridLable('Reference Number', 'referenceNumber', false, isMobile)}\n {this.editableGridLable('Serial Number', 'serialNumber', false, isMobile)}\n {this.editableGridLable('Application Type', 'applicationType', false, isMobile)}\n {this.editableGridLable('Application Number', 'applicationNumber',false, isMobile)}\n {this.editableGridLable('Make', 'make', false, isMobile)}\n {this.editableGridLable('ID/Inst Number', 'idorInstNumber', false, isMobile)}\n {this.editableGridLable('Calibre', 'calibre', false, isMobile)}\n {this.editableGridLable('Status Date', 'statusDate', false, isMobile)}\n {this.editableGridLable('Status', 'status', true, isMobile)}\n {this.editableGridLable('Status Description', 'statusDescription', true, isMobile)}\n {this.editableGridLable('Next Step', 'nextStep', true, isMobile)}\n \n \n
}\n \n\n {this.state.loading && }\n \n
\n Status timeline\n
\n {this.props.licenseApplication.licenseApplicationStatusTimelines?.length !== 0 ?\n : null}\n
\n
\n\n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n firearmLicenseApplications: state.LicenceReducer.firearmLicenseApplications,\n});\n\nconst mapDispatchToProps = dispatch => ({\n onLicenseApplicationRecordListUpdate: newList => dispatch({ type: SET_FIREARM_LICENCE_APPLICATION_LIST, payload: newList })\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ViewLicenseApplications);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { \n Typography,\n Grid \n} from '@material-ui/core';\nimport LicenceService from '../../services/licence.service';\nimport LicenceActions from '../../store/Licence/actions';\nimport SubtitleBar from '../SubtitleBar/SubtitleBar';\nimport {\n editableTextUnvalidatedInputConfig,\n} from '../../shared/constants';\nimport {\n EditableGridLabel,\n IconLabelButton,\n Loader\n} from '../index';\nimport { checkValidity, updateObject } from '../../shared/utility';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = (theme) =>({\n paper: {\n marginTop: theme.spacing(8),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n form: {\n width: '100%',\n marginTop: theme.spacing(1),\n },\n backButton: {\n margin: theme.spacing(2),\n },\n nextButton: {\n margin: theme.spacing(2),\n },\n stepperRoot: {\n paddingLeft: '0',\n paddingRight: '0'\n },\n stepperLabel: {\n '& .MuiStepLabel-alternativeLabel':{\n fontSize: theme.typography.nav.fontSize,\n marginTop: '0',\n }\n },\n formHeading: {\n ...theme.typography.h6,\n fontSize: '1.2rem',\n color: theme.palette.text.secondary,\n borderBottom: '1px solid',\n marginTop: theme.spacing(4)\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n errorPadding: {\n padding: theme.spacing(4)\n },\n submitErrorPadding: {\n padding: theme.spacing(4)\n },\n mobileMargin: {\n marginTop: '25px',\n [theme.breakpoints.up('md')]: {\n marginTop: 0\n }\n }\n});\n\nclass AddLicenseApplication extends Component {\n constructor(props) {\n super(props);\n this.licenceService = LicenceService(this.props.token);\n this.licenceActions = this.props.licenceActions(this.licenceService);\n this.state = {\n showError:false,\n errorMessage:\"\",\n controls: this.initControls(),\n _memNo: this.props.memNo,\n licenseApplicationRecord: {\n referenceNumber:'',\n serialNumber:'',\n idorInstNumber:''\n },\n loading: false,\n formHasErrors: true,\n isDisabled:false\n };\n }\n\n initControls = () => ({\n referenceNumber: {...editableTextUnvalidatedInputConfig,},\n serialNumber: {...editableTextUnvalidatedInputConfig},\n idorInstNumber: {...editableTextUnvalidatedInputConfig},\n })\n\n handleRadioChange = event => {\n const value = event.target.value;\n this.setState({ \n selectedRadio: value,\n controls: this.initControls()\n });\n }\n\n handleLabelChange = controlName => event => {\n let value = event;\n if(event?.target) {\n value = event.target.value;\n }\n\n let tempApp = {...this.state.licenseApplicationRecord,\n [controlName]: value,\n }\n\n this.isValidForm(tempApp);\n\n const validity = checkValidity(value === '-' ? '' : value, this.state.controls[controlName].config.validate);\n const updatedControls = updateObject(this.state.controls[controlName], {\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true,\n })\n });\n let formHasErrors = false;\n const controls = {\n ...this.state.controls,\n [controlName]: updatedControls,\n };\n\n this.setState({\n controls,\n licenseApplicationRecord: {\n ...this.state.licenseApplicationRecord,\n [controlName]: value,\n },\n formHasErrors\n });\n };\n\n label = (title, name, fullWidth) => (\n \n \n \n )\n\n handleSubmit = async () => {\n this.setState({ loading: true });\n let memNo = this.props.memNo; \n\n const licenseApplicationRecord = {memNumber:memNo,...this.state.licenseApplicationRecord};\n\n await this.props.addLicenseApplicationCallback(licenseApplicationRecord)\n .then((res) => {\n this.licenceActions.fetchMemberLicenseApplications(memNo)\n this.setState({errorMessage:\"\"});\n this.props.backCallback(res.data);\n })\n .catch(error =>{\n this.setState({errorMessage:\"Could not find existing application with SAPS, please contact your DFO where your application was submitted\"});\n console.log(\"error adding new application\", error)\n });\n this.setState({ loading: false });\n }\n\n isValidForm =(tempApp) => {\n let value = false;\n //Check all the combinations required \n if (tempApp.referenceNumber.length > 2 && tempApp.idorInstNumber.length > 2)\n value = true;\n else if (tempApp.serialNumber.length > 2 && tempApp.idorInstNumber.length > 2)\n value = true;\n else if (tempApp.serialNumber.length > 2 && tempApp.referenceNumber.length > 2)\n value = true;\n else\n value = false;\n \n this.setState({isDisabled:value});\n }\n\n \n handleCloseErrorDialog = () => {\n this.setState({openErrorDialog:false,errorMessage:''});\n };\n render() {\n const {classes} = this.props;\n const submitError = (\n \n {this.state.errorMessage}\n \n );\n\n return (\n \n \n\n
\n \n \n {this.label('ID Number or Institution Number', 'idorInstNumber')}\n\n {this.label('Reference Number', 'referenceNumber')}\n\n {this.label('Serial Number', 'serialNumber')}\n \n \n
\n {submitError}\n
\n {!this.state.loading && }\n {this.state.loading && }\n\n
\n
\n );\n }\n}\n\nconst initialiseLicenceActions = dispatch => (licenceService) => {\n const action = LicenceActions(licenceService);\n return {\n fetchMemberLicenseApplications: (id) => dispatch(action.fetchMemberLicenseApplications(id))\n };\n};\n\nconst mapStateToProps = state => ({\n firearmLicenseApplications: state.LicenceReducer.firearmLicenseApplications,\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo\n});\n\nconst mapDispatchToProps = dispatch => ({\n licenceActions: initialiseLicenceActions(dispatch),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(AddLicenseApplication));\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport {\n Typography\n} from '@material-ui/core';\nimport {\n SubtitleBar,\n Overview\n} from '../index';\nimport GenericTable from '../GenericTable/GenericTable';\nimport Loader from '../Loader/Loader';\nimport ViewLicenseApplications from './ViewLicenseApplications';\nimport LicenceActions from '../../store/Licence/actions';\nimport licenceService from '../../services/licence.service';\nimport AddLicenseApplication from './AddLicenseApplication';\nimport { PersonAddDisabledOutlined } from '@material-ui/icons';\n\nconst columns = [\n // { field: 'referenceNumber', headerName: 'Reference Number' },\n { field: 'applicationType', headerName: 'Application Type' },\n { field: 'serialNumber', headerName: 'Serial Number' },\n { field: 'applicationNumber', headerName: 'Application Number' },\n // { field: 'idorInstNumber', headerName: 'ID/Inst Number' },\n // { field: 'calibre', headerName: 'Calibre' },\n // { field: 'make', headerName: 'Make' },\n { field: 'statusDate', headerName: 'Status Date' },\n { field: 'status', headerName: 'Status' },\n { field: 'statusDescription', headerName: 'Status Description' },\n { field: 'nextStep', headerName: 'Next Step' }\n];\n\nconst columnsMobile = [\n { field: 'serialNumber', headerName: 'Serial Number' },\n { field: 'status', headerName: 'Status' },\n];\n\nclass LicenseApplicationDetails extends Component {\n constructor(props) {\n super(props);\n this.licenceService = licenceService(this.props.token);\n this.licenceActions = this.props.licenceActions(this.licenceService);\n\n this.state = {\n ViewLicenseApplication: false,\n addLicense: false,\n addLicenseApplication: false,\n licenseApplication: {},\n firearmLicenseApplications: [],\n loading: false\n };\n }\n \n backCallback(application){\n\n if(application){\n const updatedApplication = [...this.state.firearmLicenseApplications];\n \n updatedApplication.push(application)\n \n this.setState({firearmLicenseApplications: updatedApplication, addLicenseApplication: false})\n }\n else\n this.setState({licenseApplication:{}, addLicenseApplication: false})\n\n }\n\n deleteCallback(application){\n const updatedApplication = this.state.firearmLicenseApplications.filter(app => app.applicationNumber !== application.applicationNumber);\n this.setState({firearmLicenseApplications: updatedApplication, ViewLicenseApplication: false})\n\n }\n componentDidMount(){\n \n this.props.getFirearmsLicenceApplication.then((response) =>{\n \n this.setState({firearmLicenseApplications : response.data});\n });\n }\n \n static getDerivedStateFromProps(nextProps) {\n let _firearmLicenseApplications = [];\n _firearmLicenseApplications = nextProps.firearmLicenseApplications;\n\n if(_firearmLicenseApplications?.length > 0)\n return { firearmLicenseApplications: _firearmLicenseApplications };\n else\n return null;\n \n }\n\n render() {\n return (\n this.state.loading && ||\n this.state.ViewLicenseApplication && this.setState({ViewLicenseApplication:false})}\n licenseApplication={this.state.licenseApplication}\n timeline={[]}\n deleteLicenseApplicationCallback={this.props.deleteLicenseApplicationCallback}\n /> || \n \n \n this.state.addLicenseApplication && this.backCallback(app)}\n addLicenseApplicationCallback={this.props.addLicenseApplicationCallback}\n memNo={this.props.memNo}\n getFirearmsLicenceApplication={this.props.getFirearmsLicenceApplication}\n /> ||\n
\n \n \n

For any enquiries regarding the status of your firearm application or renewal please complete the following:

\n
\n

  - If you have received a reference number allocated to your application / renewal, please provide Reference Number and ID/Institution Number OR

\n\n

  - If you want to refine your search, please provide your firearm serial number and Reference Number OR

\n\n

  - If you did not recieve a reference number per sms when you applied or renewed your license, please provide your ID/Institution Number as well as your firearm serial number.

\n
\n

\n
\n
\n this.setState({ addLicenseApplication: true })}\n />\n\n {\n this.setState({ ViewLicenseApplication: true, licenseApplication: item});\n }}\n />\n
\n
\n );\n }\n}\n\nconst initialiseLicenceActions = dispatch => (licenceService) => {\n const action = LicenceActions(licenceService);\n return {\n fetchMemberLicenseApplications: (memNo) => dispatch(action.fetchMemberLicenseApplications(memNo))\n };\n};\n \nconst mapDispatchToProps = dispatch => ({\n licenceActions: initialiseLicenceActions(dispatch),\n});\n\nconst mapStateToProps = state => ({\n\ttoken: state.AuthReducer.token,\n\t// firearmLicenseApplications: state.LicenceReducer.firearmLicenseApplications,\n\tmemNo: state.AuthReducer.memNo\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(LicenseApplicationDetails);\n","import React, { Component } from 'react';\nimport LicenseRemindersDetails from '../../components/LicenseReminders/LicenseRemindersDetails';\nimport LicenseApplicationDetails from '../../components/LicenseApplications/LicenseApplicationDetails';\nimport Container from '../../hoc/Container';\nimport { connect } from 'react-redux';\nimport LicenseRemindersServices from '../../services/licence.service';\nimport { printLicenseReminders } from '../../shared/pdfHelpers';\nimport DedicatedService from '../../services/dedicatedstatus.service';\nimport MemberService from '../../services/member.service';\nimport { MEMBER_STATUS } from '../../shared/constants';\nimport { getMemberStatusFromInt } from '../../shared/helpers';\nimport {TabGroup} from '../../components'\nclass LicenseRemiders extends Component {\n constructor(props) {\n super(props);\n this.licenseRemindersService = LicenseRemindersServices(this.props.token);\n this.dedicatedService = DedicatedService(this.props.token);\n this.memberService = MemberService(this.props.token);\n this.state = {\n _firearmLicence: []\n };\n }\n\n downloadLicenseReminders = (licenseReminders, identifier) => this.dedicatedService\n .getApprovedDedicatedStatus(this.props.memNo)\n .then((res) => {\n let dsHunter = res.data\n .find(ds => ds.dstype.toLowerCase().includes('hunter') &&\n ds.status === MEMBER_STATUS.APPROVED) || {};\n let dsSports = res.data\n .find(ds => ds.dstype.toLowerCase().includes('sport') &&\n ds.status === MEMBER_STATUS.APPROVED) || {};\n return this.memberService.getAllImages()\n .then((images) => printLicenseReminders(\n licenseReminders,\n dsHunter.dsno,\n dsSports.dsno,\n identifier,\n images.data.narfo,\n { \n ...this.props.memberDetails,\n status: getMemberStatusFromInt(this.props.memberDetails.status)\n },\n ));\n });\n\n tabViews = (isMobile) => [\n {\n label: isMobile ? 'Reminders' : 'License reminders',\n view: \n },\n {\n label: isMobile ? 'Applications' : 'License application tracking',\n view: \n },\n ];\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return (\n \n \n\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n memberDetails: state.ProfileReducer.memberData,\n});\n\nexport default connect(mapStateToProps)(LicenseRemiders);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport MyDedicatedStatusDetails from '../../components/MyDedicatedStatus/MyDedicatedStatusDetails';\nimport Container from '../../hoc/Container';\nimport DedicatedStatusService from '../../services/dedicatedstatus.service';\nimport DedicatedStatusActions from '../../store/DedicatedStatus/actions';\n\nclass MyDedicatedStatus extends Component {\n constructor(props) {\n super(props);\n this.dedicatedStatusService = DedicatedStatusService(this.props.token);\n this.dedicatedStatusAction = this.props.dedicatedStatusActions(this.dedicatedStatusService);\n\tthis.state = {\n\t\t_dedicatedStatusList: [],\n\t\tsportShooterCount: 0,\n \thunterCount: 0,\n\t}\n \n }\n componentDidMount() {\n this.setState({loading: true});\n const user = { memNo: this.props.memNo };\n this.dedicatedStatusAction.fetchDedicatedStatusList(user)\n .then((response)=> {\n this.setState({...this.state,_dedicatedStatusList: response.payload,loading: false})\n })\n .catch((error)=>{\n this.setState({_dedicatedStatusList: []})\n this.setState({loading: false});\n })\n }\n\n static getDerivedStateFromProps(nextProps) {\n let __dedicatedStatusList = [];\n let __sportShooterCount = 0;\n let __hunterCount = 0;\n __dedicatedStatusList = nextProps.dedicatedStatusList;\n if(__dedicatedStatusList.length !== 0) {\n __dedicatedStatusList.map((item) => {\n if(item.dstype === 'Dedicated Sports Person' || item.dstype === 'DSS') {\n __sportShooterCount = __sportShooterCount + 1;\n }\n if(item.dstype === 'Dedicated Hunter' || item.dstype === 'DH') {\n __hunterCount = __hunterCount + 1;\n }\n // item.applicationDate = new Date(item.applicationDate.split('T')[0]).toLocaleDateString();\n\n if(localStorage.getItem('isMobile') === 'true') {\n if(item.dstype === 'Dedicated Sports Person') {\n item.dstype = 'DSS';\n }\n if(item.dstype === 'Dedicated Hunter') {\n item.dstype = 'DH';\n }\n }\n });\n } \n\n return { \n _dedicatedStatusList: __dedicatedStatusList,\n sportShooterCount: __sportShooterCount,\n hunterCount: __hunterCount\n };\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n {!this.state.loading && }\n \n );\n }\n\n}\nconst initDedicatedStatusActions = dispatch => dedicatedStatusService => {\n const actions = DedicatedStatusActions(dedicatedStatusService);\n return {\n fetchDedicatedStatusList: data => dispatch(actions.fetchDedicatedStatusList(data))\n };\n};\n\nconst mapStateToProps = state => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n dedicatedStatusList: state.nDedicatedStatusReducer.dedicatedStatusList\n});\n\nconst mapDispatchToProps = dispatch => ({\n dedicatedStatusActions: initDedicatedStatusActions(dispatch)\n});\n\nexport default connect(mapStateToProps,mapDispatchToProps)(MyDedicatedStatus);","import axios from 'axios';\nimport API_URL from './apiUrl';\n\nconst getCourseModules = headers => () => axios\n .get(`${API_URL}/CourseModule/withChildren`, { headers });\n\n// const getCourseModules = headers => () => axios\n// .get(`${API_URL}/CourseModule/GetCourseModules`, { headers });\n\n\nconst getMemberAssessments = headers => memNo => axios\n .get(`${API_URL}/MemberAssesments/${memNo}`, { headers });\n\nconst getQuestionById = headers => id => axios\n .get(`${API_URL}/question/${id}`, { headers });\n\nconst getCourseMaterialById = headers => id => axios\n .get(`${API_URL}/CourseMaterial/getModuleID/${id}`, { headers });\n\nconst getCourseModuleNameById = headers => id => axios\n .get(`${API_URL}/CourseModule/getModuleName/${id}`, { headers });\n\nconst postMemberAssessment = headers => data => axios({\n method: 'post',\n url: `${API_URL}/MemberAssesments`,\n data: data,\n headers: headers\n});\n\nconst getMemberAssessmentsByMemberNo = headers => memNo => axios\n .get(`${API_URL}/MemberAssesments/${memNo}`, { headers });\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`\n };\n\n const typedHeaders = {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json'\n };\n\n return {\n getCourseModules: getCourseModules(headers),\n getMemberAssessments: getMemberAssessments(headers),\n getQuestionById: getQuestionById(headers),\n getCourseMaterialById: getCourseMaterialById(headers),\n getCourseModuleNameById: getCourseModuleNameById(headers),\n postMemberAssessment: postMemberAssessment(typedHeaders),\n getMemberAssessmentsByMemberNo: getMemberAssessmentsByMemberNo(headers)\n };\n}","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Assessments, LearningMaterial, TabGroup } from '../../components';\nimport Container from '../../hoc/Container';\nimport LMSService from '../../services/learningManagement.service';\nimport {\n UPDATE_LESSONS,\n UPDATE_ASSESMENTS,\n UPDATE_QUIZ_COMPLETION,\n UPDATE_ASSESMENT_COMPLETION,\n UPDATE_PROGRESS_ARRAY\n} from '../../store/LearningManagement/actionTypes';\n\nclass Courses extends Component {\n constructor(props) {\n super(props);\n this.lmsService = LMSService(this.props.token);\n\n this.state = {\n loading: false,\n cachedCourses: []\n };\n }\n\n componentDidMount() {\n this.setState({loading: true});\n this.loadCourseProgressContent();\n // this.writeCourseMaterialToIndexDB();\n \n\n this.setState({loading: false});\n }\n\n writeCourseMaterialToIndexDB = async (data) =>{\n\n console.log(\"##Writing\")\n const dbName = 'courseDatabase';\n const dbVersion = 1;\n const request = indexedDB.open(dbName, dbVersion);\n\n\n // Handle database creation or version change\n request.onupgradeneeded = function (event) {\n const db = event.target.result;\n\n // Create an object store\n const objectStore = db.createObjectStore('courseModules', { keyPath: 'courseModuleId' });\n\n // Define the structure of the stored data\n objectStore.createIndex('index', 'index', { unique: false });\n objectStore.createIndex('name', 'name', { unique: false });\n objectStore.createIndex('type', 'type', { unique: false });\n // Add other fields as needed\n\n console.log('Database setup complete');\n };\n\n // Handle successful database opening\n request.onsuccess = function (event) {\n const db = event.target.result;\n\n try {\n // Start a transaction and get the object store\n const transaction = db.transaction(['courseModules'], 'readwrite');\n const objectStore = transaction.objectStore('courseModules');\n \n // Add each course module to the object store\n data.forEach((courseModule) => {\n const addRequest = objectStore.add(courseModule);\n \n addRequest.onsuccess = function () {\n console.log('Course module added successfully');\n };\n \n addRequest.onerror = function (error) {\n console.error('Error adding course module:', error);\n };\n });\n \n // Close the transaction when done\n transaction.oncomplete = function () {\n console.log('Transaction completed');\n };\n \n transaction.onerror = function (error) {\n console.error('Transaction error:', error);\n };\n } catch (error) {\n \n console.log(\"[Error writing to DB]\", error)\n }\n };\n\n // Handle errors during database opening\n request.onerror = function (event) {\n console.error('Error opening database:', event.target.error);\n };\n\n\n }\n\n readCoursesFromIndexDB = async () => {\n \n return new Promise((resolve, reject) => {\n // Open (or create) a database\n const dbName = 'courseDatabase';\n const dbVersion = 1;\n const request = indexedDB.open(dbName, dbVersion);\n \n // Handle successful database opening\n request.onsuccess = function (event) {\n\n try {\n console.log(\"##readCoursesFromIndexDB:114\");\n const db = event.target.result;\n \n // Start a transaction and get the object store\n const transaction = db.transaction(['courseModules'], 'readonly');\n const objectStore = transaction.objectStore('courseModules');\n \n // Open a cursor to iterate through all records\n const cursorRequest = objectStore.openCursor();\n const _courseRecords = [];\n console.log(\"##readCoursesFromIndexDB:114\");\n \n cursorRequest.onsuccess = function (event) {\n const cursor = event.target.result;\n \n if (cursor) {\n // Access the current record in the cursor\n _courseRecords.push(cursor.value);\n // Move to the next record in the cursor\n cursor.continue();\n } else {\n // No more records\n console.log('All records retrieved', _courseRecords);\n resolve(_courseRecords);\n }\n };\n \n cursorRequest.onerror = function (error) {\n console.error('Cursor request error:', error);\n reject(error);\n };\n \n // Close the transaction when done\n transaction.oncomplete = function () {\n console.log('Transaction completed');\n };\n \n transaction.onerror = function (error) {\n console.error('Transaction error:', error);\n reject(error);\n };\n } catch (error) {\n \n console.log(\"[Reading courses error]\", error)\n\n indexedDB.deleteDatabase(dbName);\n resolve([]);\n } \n\n };\n \n // Handle errors during database opening\n request.onerror = function (event) {\n console.error('Error opening database:', event.target.error);\n reject(event.target.error);\n };\n });\n };\n \n loadCourseProgressContent = async () => {\n \n var courseRecords = await this.readCoursesFromIndexDB();\n\n if(courseRecords.length > 0)\n {\n const modules = courseRecords;\n console.log(\"courseRecords DB\",courseRecords)\n\n const assessments = modules.map(mod => {\n const material = mod.courseMaterial;\n return {\n assesmentId: mod.courseModuleId,\n title: mod.name,\n grade: 'O',\n type: mod.type,\n hasChildren: material ? material.length > 0 : false\n };\n });\n this.props.onAssesmentsChange(assessments);\n const material = modules.map(mod => [...mod.courseMaterial]);\n let lessons = [];\n material.forEach(mat => {\n mat.forEach(_lesson => {\n lessons.push({\n pkCourseId: _lesson.courseMaterialId,\n title: _lesson.name,\n content: _lesson.content,\n assesmnetId: _lesson.courseModuleId,\n type: _lesson.type\n });\n });\n });\n this.props.onLessonsChange(lessons);\n \n let _progresArr = [];\n await this.lmsService.getMemberAssessments(this.props.memNo)\n .then(res => {\n this.props.onQuizCompletionChange(res.data.data);\n let certificates = {};\n this.props.assesmentList.map(ass => {\n if (ass.hasChildren && ass.type === 1) {\n return certificates[`${ass.assesmentId}`] = [ass.title];\n }\n return null;\n });\n this.props.lessonList.map(lesson => {\n let arr = certificates[`${lesson.assesmnetId}`];\n if (arr) {\n const score = res.data.data.find(\n d => d.courseMaterialId === lesson.pkCourseId\n );\n arr.push(parseInt(score ? score.completion : 0));\n return certificates[`${lesson.assesmnetId}`] = arr;\n }\n return null;\n });\n this.props.onAssCompletionChange(certificates);\n Object.keys(certificates).forEach((_key) => {\n const assesment = Array.from(certificates[_key]);\n let total = assesment.length - 1;\n total = total ? total : 1;\n const progress = assesment.reduce((a, b) => {\n if (typeof b !== 'string') {\n return a + b;\n }\n return a;\n }, 0);\n _progresArr.push((progress / total));\n });\n this.props.onProgressArrayUpdate(_progresArr);\n });\n }\n else{\n //Make a call to the database and cache the data \n await this.lmsService.getCourseModules()\n .then(res => {\n console.log(\"No DB\")\n\n const modules = res.data;\n this.writeCourseMaterialToIndexDB(modules);\n const assessments = modules.map(mod => {\n const material = mod.courseMaterial;\n return {\n assesmentId: mod.courseModuleId,\n title: mod.name,\n grade: 'O',\n type: mod.type,\n hasChildren: material ? material.length > 0 : false\n };\n });\n this.props.onAssesmentsChange(assessments);\n const material = modules.map(mod => [...mod.courseMaterial]);\n let lessons = [];\n material.forEach(mat => {\n mat.forEach(_lesson => {\n lessons.push({\n pkCourseId: _lesson.courseMaterialId,\n title: _lesson.name,\n content: _lesson.content,\n assesmnetId: _lesson.courseModuleId,\n type: _lesson.type\n });\n });\n });\n this.props.onLessonsChange(lessons);\n })\n .then(async () => {\n let _progresArr = [];\n await this.lmsService.getMemberAssessments(this.props.memNo)\n .then(res => {\n this.props.onQuizCompletionChange(res.data.data);\n let certificates = {};\n this.props.assesmentList.map(ass => {\n if (ass.hasChildren && ass.type === 1) {\n return certificates[`${ass.assesmentId}`] = [ass.title];\n }\n return null;\n });\n this.props.lessonList.map(lesson => {\n let arr = certificates[`${lesson.assesmnetId}`];\n if (arr) {\n const score = res.data.data.find(\n d => d.courseMaterialId === lesson.pkCourseId\n );\n arr.push(parseInt(score ? score.completion : 0));\n return certificates[`${lesson.assesmnetId}`] = arr;\n }\n return null;\n });\n this.props.onAssCompletionChange(certificates);\n Object.keys(certificates).forEach((_key) => {\n const assesment = Array.from(certificates[_key]);\n let total = assesment.length - 1;\n total = total ? total : 1;\n const progress = assesment.reduce((a, b) => {\n if (typeof b !== 'string') {\n return a + b;\n }\n return a;\n }, 0);\n _progresArr.push((progress / total));\n });\n this.props.onProgressArrayUpdate(_progresArr);\n });\n });\n }\n\n // OLD PROCESS \n\n // await this.lmsService.getCourseModules()\n // .then(res => {\n // const modules = res.data;\n\n // this.writeCourseMaterialToIndexDB(modules);\n\n // console.log(\"TS COURSE\",modules)\n\n // const assessments = modules.map(mod => {\n // const material = mod.courseMaterial;\n // return {\n // assesmentId: mod.courseModuleId,\n // title: mod.name,\n // grade: 'O',\n // type: mod.type,\n // hasChildren: material ? material.length > 0 : false\n // };\n // });\n // this.props.onAssesmentsChange(assessments);\n // const material = modules.map(mod => [...mod.courseMaterial]);\n // let lessons = [];\n // material.forEach(mat => {\n // mat.forEach(_lesson => {\n // lessons.push({\n // pkCourseId: _lesson.courseMaterialId,\n // title: _lesson.name,\n // content: _lesson.content,\n // assesmnetId: _lesson.courseModuleId,\n // type: _lesson.type\n // });\n // });\n // });\n // this.props.onLessonsChange(lessons);\n // })\n // .then(async () => {\n // let _progresArr = [];\n // await this.lmsService.getMemberAssessments(this.props.memNo)\n // .then(res => {\n // this.props.onQuizCompletionChange(res.data.data);\n // let certificates = {};\n // this.props.assesmentList.map(ass => {\n // if (ass.hasChildren && ass.type === 1) {\n // return certificates[`${ass.assesmentId}`] = [ass.title];\n // }\n // return null;\n // });\n // this.props.lessonList.map(lesson => {\n // let arr = certificates[`${lesson.assesmnetId}`];\n // if (arr) {\n // const score = res.data.data.find(\n // d => d.courseMaterialId === lesson.pkCourseId\n // );\n // arr.push(parseInt(score ? score.completion : 0));\n // return certificates[`${lesson.assesmnetId}`] = arr;\n // }\n // return null;\n // });\n // this.props.onAssCompletionChange(certificates);\n // Object.keys(certificates).forEach((_key) => {\n // const assesment = Array.from(certificates[_key]);\n // let total = assesment.length - 1;\n // total = total ? total : 1;\n // const progress = assesment.reduce((a, b) => {\n // if (typeof b !== 'string') {\n // return a + b;\n // }\n // return a;\n // }, 0);\n // _progresArr.push((progress / total));\n // });\n // this.props.onProgressArrayUpdate(_progresArr);\n // });\n // });\n }\n\n tabViews = (isMobile) => [\n {\n label: isMobile ? 'Material' : 'Course learning material',\n view: \n },\n {\n label: isMobile ? 'Quizzes' : 'Course assessment quizzes',\n\n view: \n }\n ];\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n \n \n );\n }\n}\n\nconst mapStateToProps = state => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n assesmentList: state.nLearningManagementReducer.assesments,\n lessonList: state.nLearningManagementReducer.lessons,\n});\n\nconst mapDispatchToProps = dispatch => ({\n onQuizCompletionChange: newQuizCompletion =>\n dispatch({\n type: UPDATE_QUIZ_COMPLETION,\n quizCompletion: newQuizCompletion\n }),\n onAssCompletionChange: assesmentCompletion =>\n dispatch({\n type: UPDATE_ASSESMENT_COMPLETION,\n assesmentCompletion: assesmentCompletion\n }),\n onLessonsChange: newLessons => \n dispatch({\n type: UPDATE_LESSONS,\n lessons: newLessons\n }),\n onAssesmentsChange: newAssesments =>\n dispatch({\n type: UPDATE_ASSESMENTS,\n assesments: newAssesments\n }),\n onProgressArrayUpdate: _progressArr =>\n dispatch({\n type: UPDATE_PROGRESS_ARRAY,\n progressArr: _progressArr\n })\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Courses);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n SubtitleBar\n} from '../index';\nimport { Grid, Typography, Button } from '@material-ui/core';\nimport { withStyles} from '@material-ui/core/styles';\nimport Paper from '@material-ui/core/Paper';\n\nconst columns = [\n { field: 'thumbnail', headerName: 'Thumbnail'},\n];\n\nconst styles = (theme) => ({\n thumbNail: {\n cursor: 'pointer',\n },\n img: {\n width: \"170px\",\n height: \"200px\",\n borderRadius: \"5px\",\n padding: \"0px\",\n },\n imageTextPadding: {\n paddingTop: \"2em\"\n },\n root: {\n flexGrow: 1,\n },\n paper: {\n padding: theme.spacing(2),\n textAlign: 'center',\n color: theme.palette.text.secondary,\n },\n});\n\nclass ViewSubscriptions extends Component {\n constructor(props) {\n super(props);\n this.state = {\n subscriptionList: props.subscriptionList,\n };\n }\n\n updateSubscriptionList=(value)=>{\n\n if(this.props.subscriptionList?.length > 0 && value != '')\n {\n let filteredSubscriptions = this.props.subscriptionList.filter(item => item.type == value);\n this.setState({subscriptionList : filteredSubscriptions});\n }\n else\n {\n this.setState({subscriptionList : this.props.subscriptionList});\n }\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n const { classes } = this.props;\n return(\n \n <>\n
\n \n {\n this.state.subscriptionList.length !== 0 ?\n \n <>\n \n {\n this.state.subscriptionList.map(item =>{\n return (\n \n \n \n \n \"image\n \n
\n\n Date: {item.date}\n
\n
\n
\n )\n })\n }\n \n
\n \n : null}\n \n
\n \n
\n );\n }\n}\n\n\nexport default connect(null, null)(withStyles(styles)(ViewSubscriptions));","import API_URL from './apiUrl';\nimport axios from 'axios';\n\nconst GetllSubscription = headers => () => axios({\n\turl: `${API_URL}/Subscription/GetllSubscription`,\n\tmethod: \"get\",\n\theaders: headers\n });\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n GetllSubscription: GetllSubscription(headers)\n };\n}\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport ViewSubscriptions from '../../components/Subscriptions/ViewSubscriptions';\nimport Container from '../../hoc/Container';\nimport SubscriptionService from '../../services/subscription.service';\n\nclass Subscriptions extends Component {\n constructor(props) {\n super(props);\n this.SubscriptionService = SubscriptionService(this.props.token);\n \tthis.state = {\n loading : true,\n\t\tsubscriptionList: [],\n providers:[]}\n }\n\n componentDidMount() {\n\n this.SubscriptionService.GetllSubscription().then(resp =>{\n //Set type \n const providers = [...new Set(resp.data.subscriptions.map(item => item.type))];\n this.setState({subscriptionList : resp.data.subscriptions.reverse(), providers: providers, loading : false});\n })\n .catch(ex =>{\n console.log(ex);\n this.setState({loading : false});\n })\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n {!this.state.loading && }\n \n );\n }\n}\n\nexport default connect(null,null)(Subscriptions);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n SubtitleBar,\n IconLabelButton\n} from '../index';\nimport { Grid, Typography} from '@material-ui/core';\nimport { CloudDownload } from '@material-ui/icons';\nimport DedicatedService from '../../services/dedicatedstatus.service';\nimport {\n printCard,\n printCertificate,\n printGOSACertificate,\n printPCOASACertificate\n} from '../../shared/pdfHelpers';\nimport MemberService from '../../services/member.service';\nimport {\n MEMBER_STATUS,\n} from '../../shared/constants';\nimport MemberActions from '../../store/Profile/actions';\nimport CircularProgress from '@material-ui/core/CircularProgress';\n\nclass MembershipReports extends Component {\n constructor(props) {\n super(props);\n this.memberService = MemberService(this.props.token);\n this.dedicatedService = DedicatedService(this.props.token);\n this.memberActions = this.props.memberActions(this.memberService, this.dedicatedService);\n this.state = {\n report : null,\n storeName: '',\n isDownloading: false,\n }\n }\n \n componentDidMount(){\n \n this.memberService.getPartnerReport(this.props.memberData.storeId)\n .then(reports =>{\n\n const report = reports.data.length > 1 ? reports.data.find(r => r.type == this.props.memberData.membershipTypeId.toString()) : reports.data?.[0];\n this.setState({report: report, storeName: report?.store?.store});\n\n \n })\n }\n downloadMemberCard = () => {\n const memberId = this.props.memberData.memNo;\n return this.memberService.getMemberQRCode(memberId)\n .then((resp) => {\n const base64QRCode = `data:image/jpeg;base64,${resp.data.base64QRString}`;\n return this.dedicatedService.getApprovedDedicatedStatus(memberId)\n .then((res) => {\n let dsHunter = res.data\n .find(ds => ds.dstype.toLowerCase().includes('hunter') && ds.status === MEMBER_STATUS.APPROVED) || {};\n let dsSports = res.data\n .find(ds => ds.dstype.toLowerCase().includes('sport') && ds.status === MEMBER_STATUS.APPROVED) || {};\n return { dsHunter, dsSports };\n }).then(({ dsHunter, dsSports }) => this.memberService.getAllImages().then((images) =>\n printCard(this.props.memberData, dsHunter.dsno, dsSports.dsno,\n images.data.narfo, images.data.wildman, base64QRCode)\n ));\n });\n }\n\n downloadMemberCertificate = () => {\n const memberId = this.props.memberData.memNo;\n return this.memberService.getMemberQRCode(memberId)\n .then((resp) => {\n const base64QRCode = `data:image/jpeg;base64,${resp.data.base64QRString}`;\n return this.memberService.getAllImages().then((images) =>\n printCertificate(\n this.props.memberData, images.data.nnfo, base64QRCode,\n images.data.pdfSign, images.data.pdflogo\n )\n );\n });\n }\n\n downloadMemberPartnerCertificate =()=>{\n this.setState({isDownloading:true});\n const memberId = this.props.memberData.memNo;\n return this.memberService.getMemberQRCode(memberId)\n .then((resp) => {\n const base64QRCode = `data:image/jpeg;base64,${resp.data.base64QRString}`;\n const storeId = this.props.memberData.storeId;\n \n return this.memberService.getPartnerLogo(storeId,this.state.report.logo).then((images) =>{\n switch (this.props.memberData.store) {\n case 'GOSA':\n printGOSACertificate(this.props.memberData, images.data.pdflogo, this.state.report.name)\n this.setState({isDownloading:false});\n break;\n case 'PCOASA':\n printPCOASACertificate(this.props.memberData, images.data.pdflogo, base64QRCode,images.data.pdfSignature, images.data.pdflogo)\n this.setState({isDownloading:false});\n break;\n \n default:\n console.log(\"Invalid Member store Name \", this.props.memberData.store);\n alert(\"error downloading report\")\n this.setState({isDownloading:false});\n break;\n } \n }\n ).catch(err =>{\n alert(\"error downloading report\")\n console.log(\"Error downloading Report \", err);\n this.setState({isDownloading:false});\n });\n });\n }\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n
\n \n\n \n \n Narfo Membership Card\n \n \n }\n full\n callBack={() => this.downloadMemberCard()}\n />\n \n\n \n Narfo Membership Certificate\n \n \n }\n full\n callBack={() => this.downloadMemberCertificate()}\n />\n \n\n {/* For different Partner */}\n { this.state.report && (this.props.memberData.partnerExpiryDate || (this.props.memberData?.storeId == this.state.report?.storeId))&& <> \n {this.state.storeName} {this.state.report.name}\n \n\n \n : }\n full\n callBack={() => this.downloadMemberPartnerCertificate()}\n />\n \n }\n \n\n \n\n
\n
\n );\n }\n}\n\nconst mapStateToProps = state => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n memberData: state.ProfileReducer.memberData,\n});\n\nconst initialiseMemberActions = dispatch => (memberService, dedicatedStatusService) => {\n const action = MemberActions(memberService, dedicatedStatusService);\n return {\n fetchMemberData: (id) => dispatch(action.fetchMemberData(id)),\n };\n};\n\nconst mapDispatchToProps = dispatch => ({\n memberActions: initialiseMemberActions(dispatch),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MembershipReports);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n SubtitleBar,\n IconLabelButton\n} from '../index';\nimport { Grid, Typography, Button, Paper } from '@material-ui/core';\nimport { CloudDownload } from '@material-ui/icons';\nimport { printDedicatedStatus } from '../../shared/pdfHelpers';\nimport DedicatedStatusService from '../../services/dedicatedstatus.service';\nimport DedicatedStatusActions from '../../store/DedicatedStatus/actions';\nimport MemberService from '../../services/member.service';\n\nclass DedicatedStatusReports extends Component {\n constructor(props) {\n super(props);\n this.dedicatedStatusService = DedicatedStatusService(this.props.token);\n this.dedicatedStatusAction = this.props.dedicatedStatusActions(this.dedicatedStatusService);\n this.memberService = MemberService(this.props.token);\n }\n \n downloadDedicatedStatus = (dedicatedStatusRecord) => {\n return this.memberService.getMemberQRCode(this.props.memNo)\n .then((resp) => {\n const base64QRCode = `data:image/jpeg;base64,${resp.data.base64QRString}`;\n return this.memberService.getAllImages().then((images) =>\n printDedicatedStatus(\n this.props.memberData, \n dedicatedStatusRecord, \n images.data.nnfo, \n base64QRCode,\n images.data.pdfSign,\n images.data.pdflogo, \n images.data.signature2,\n images.data.dsSportsShooter,\n images.data.dsHunter\n )\n );\n });\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n const DH = this.props.dedicatedStatusList?.find(d => d.dstype == 'Dedicated Hunter');\n const DS = this.props.dedicatedStatusList?.find(d => d.dstype == 'Dedicated Sports Person');\n\n return(\n \n
\n \n\n \n \n Dedicated Hunter\n \n { \n DH != null ?\n \n }\n full\n callBack={() => this.downloadDedicatedStatus(DH)}\n />\n \n :\n \n Report not found\n \n }\n\n \n Dedicated Sports Shooter\n \n \n {\n DS != null?\n \n }\n full\n callBack={() => this.downloadDedicatedStatus(DS)}\n />\n \n :\n \n Report not found\n }\n \n \n\n
\n
\n );\n }\n}\n\nconst initDedicatedStatusActions = dispatch => dedicatedStatusService => {\n const actions = DedicatedStatusActions(dedicatedStatusService);\n return {\n fetchDedicatedStatusList: data => dispatch(actions.fetchDedicatedStatusList(data))\n };\n };\n \n const mapStateToProps = state => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n dedicatedStatusList: state.nDedicatedStatusReducer.dedicatedStatusList,\n memberData: state.ProfileReducer.memberData,\n });\n \n const mapDispatchToProps = dispatch => ({\n dedicatedStatusActions: initDedicatedStatusActions(dispatch)\n });\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DedicatedStatusReports);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n SubtitleBar,\n Overview,\n IconLabelButton\n} from '../index';\nimport { Grid, Typography, Button, Paper } from '@material-ui/core';\nimport GenericTable from '../GenericTable/GenericTable';\nimport Loader from '../Loader/Loader';\nimport { UPDATE_DEDICATED_STATUS_RECORD } from '../../store/DedicatedStatus/types';\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\nimport { CloudDownload } from '@material-ui/icons';\nimport ActivityActions from '../../store/Activities/actions';\nimport DedicatedService from '../../services/dedicatedstatus.service';\nimport ActivityService from '../../services/activities.service';\nimport MemberService from '../../services/member.service';\nimport { getMemberStatusFromInt } from '../../shared/helpers';\nimport { printActivities } from '../../shared/pdfHelpers';\nimport { MEMBER_STATUS } from '../../shared/constants';\n\nconst columns = [\n { field: 'applicationDate', headerName: 'Date' },\n { field: 'dstype', headerName: localStorage.getItem('isMobile') === 'true' ? 'Type' : 'Application Type' },\n { field: 'status', headerName: localStorage.getItem('isMobile') === 'true' ? 'Status' : 'Application Status' }\n];\n\nclass ActivitiesReports extends Component {\n constructor(props) {\n super(props);\n this.dedicatedService = DedicatedService(this.props.token);\n this.activityService = ActivityService(this.props.token);\n this.memberService = MemberService(this.props.token);\n }\n \n // componentDidMount(){\n // console.log(\"Reports\", this.props.activities)\n // }\n\n downloadActivities = (activities,identifier) => this.dedicatedService\n .getApprovedDedicatedStatus(this.props.memNo)\n .then((res) => {\n let dsHunter = res.data\n .find(ds => ds.dstype.toLowerCase().includes('hunter') &&\n ds.status === MEMBER_STATUS.APPROVED) || {};\n let dsSports = res.data\n .find(ds => ds.dstype.toLowerCase().includes('sport') &&\n ds.status === MEMBER_STATUS.APPROVED) || {};\n return this.memberService.getAllImages()\n .then((images) => printActivities(\n activities,\n dsHunter.dsno,\n dsSports.dsno,\n identifier,\n images.data.narfo,\n { \n ...this.props.memberDetails,\n status: getMemberStatusFromInt(this.props.memberDetails.status)\n },\n ));\n });\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n
\n \n\n \n \n Activities\n \n \n {\n this.props.activities.length > 0?\n \n }\n full\n callBack={() => this.downloadActivities(this.props.activities.filter(a => a.status == \"Approved\"),'#auto-table')}\n />\n \n\n :\n \n Report not found\n }\n \n\n
\n
\n );\n }\n}\n\nActivitiesReports.defaultProps = {\nactivities: [],\ndownloadActivityCallback: () => Promise.resolve(null),\n};\n\nconst mapStateToProps = (state) => ({\n\ttoken: state.AuthReducer.token,\n\tmemNo: state.AuthReducer.memNo,\n\tactivities: state.nActivitiesReducer.activities,\n memberDetails: state.ProfileReducer.memberData,\n});\n\nconst initActivityActions = dispatch => activityService => {\n const actions = ActivityActions(activityService);\n return {\n fetchActivities: (id) => dispatch(actions.fetchActivities(id)),\n };\n };\nconst mapDispatchToProps = dispatch => ({\n activityActions: initActivityActions(dispatch),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ActivitiesReports);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport {\n SubtitleBar,\n Overview,\n IconLabelButton\n} from '../index';\nimport { Grid, Typography, Button, Paper } from '@material-ui/core';\nimport GenericTable from '../GenericTable/GenericTable';\nimport Loader from '../Loader/Loader';\nimport { UPDATE_DEDICATED_STATUS_RECORD } from '../../store/DedicatedStatus/types';\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\nimport LicenceActions from '../../store/Licence/actions';\nimport LicenseRemindersServices from '../../services/licence.service';\nimport { printLicenseReminders } from '../../shared/pdfHelpers';\nimport DedicatedService from '../../services/dedicatedstatus.service';\nimport MemberService from '../../services/member.service';\nimport { MEMBER_STATUS } from '../../shared/constants';\nimport { getMemberStatusFromInt } from '../../shared/helpers';\nimport { CloudDownload } from '@material-ui/icons';\n\nconst columns = [\n { field: 'applicationDate', headerName: 'Date' },\n { field: 'dstype', headerName: localStorage.getItem('isMobile') === 'true' ? 'Type' : 'Application Type' },\n { field: 'status', headerName: localStorage.getItem('isMobile') === 'true' ? 'Status' : 'Application Status' }\n];\n\nclass LicenseReports extends Component {\n constructor(props) {\n super(props);\n this.licenseRemindersService = LicenseRemindersServices(this.props.token);\n this.dedicatedService = DedicatedService(this.props.token);\n this.memberService = MemberService(this.props.token);\n }\n \n downloadLicenseReminders = (licenseReminders, identifier) => this.dedicatedService\n .getApprovedDedicatedStatus(this.props.memNo)\n .then((res) => {\n let dsHunter = res.data\n .find(ds => ds.dstype.toLowerCase().includes('hunter') &&\n ds.status === MEMBER_STATUS.APPROVED) || {};\n let dsSports = res.data\n .find(ds => ds.dstype.toLowerCase().includes('sport') &&\n ds.status === MEMBER_STATUS.APPROVED) || {};\n return this.memberService.getAllImages()\n .then((images) => printLicenseReminders(\n licenseReminders,\n dsHunter.dsno,\n dsSports.dsno,\n identifier,\n images.data.narfo,\n { \n ...this.props.memberDetails,\n status: getMemberStatusFromInt(this.props.memberDetails.status)\n },\n ));\n });\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n
\n \n\n \n \n License\n \n {\n this.props.firearmLicenceList.length > 0 ?\n \n }\n full\n callBack={() => this.downloadLicenseReminders(this.props.firearmLicenceList, '#auto-table')}\n />\n \n :\n \n Report not found\n \n }\n \n\n
\n
\n );\n }\n}\n\nconst initialiseLicenceActions = dispatch => (licenceService) => {\n const action = LicenceActions(licenceService);\n return {\n fetchMemberLicenseReminderRecord: (id) => dispatch(action.fetchMemberLicenseReminderRecord(id))\n };\n };\n \n const mapDispatchToProps = dispatch => ({\n licenceActions: initialiseLicenceActions(dispatch),\n });\n \n const mapStateToProps = state => ({\n token: state.AuthReducer.token,\n firearmLicenceList: state.LicenceReducer.firearmLicence,\n sectionLookup: state.nLookupReduder.sectionLookup,\n memNo: state.AuthReducer.memNo,\n memberDetails: state.ProfileReducer.memberData,\n });\n\nexport default connect(mapStateToProps, mapDispatchToProps)(LicenseReports);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport Container from '../../hoc/Container';\nimport { Overview } from '../../components';\nimport { Typography } from '@material-ui/core';\nimport MembershipReports from '../../components/Reports/MembershipReports';\nimport DedicatedStatusReports from '../../components/Reports/DedicatedStatusReports';\nimport ActivitiesReports from '../../components/Reports/ActivitiesReports';\nimport LicenseReports from '../../components/Reports/LicenseReports';\nclass ReportsDownload extends Component {\n constructor(props) {\n super(props);\n \n }\n\n componentDidMount() {\n\n }\n\n \n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n \n \n \n Use this reports section to download all the reports available on NARFO.\n \n \n\n \n\n \n\n \n\n \n \n );\n }\n}\n\nexport default connect(null,null)(ReportsDownload);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {DateTime} from 'luxon';\nimport JWT from 'jwt-decode';\nimport axios from 'axios';\nimport MemberActions from '../../store/Profile/actions';\nimport LicenceActions from '../../store/Licence/actions';\nimport {\n currentYear,\n getMemberStatusFromInt,\n formatISODateToLocaleString,\n getDedicatedStatusFromActivities,\n} from '../../shared/helpers';\nimport {\n printCard,\n printCardWhatsAPP,\n printCertificate,\n printAccountTransaction,\n} from '../../shared/pdfHelpers';\nimport MemberService from '../../services/member.service';\nimport LicenceService from '../../services/licence.service';\nimport DedicatedService from '../../services/dedicatedstatus.service';\nimport {\n MEMBER_STATUS,\n} from '../../shared/constants';\nimport LookupActions from '../../store/Lookup/actions';\nimport LookupService from '../../services/lookup.service';\nimport DedicatedStatusActions from '../../store/DedicatedStatus/actions';\nimport SITE_URL from '../../services/siteURL';\nimport { withStyles } from '@material-ui/core/styles';\nconst GET_TOKEN = () =>{\n return 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2ZDA2YmNkMC02YWU1LTRkZmItODc0OS1mNTYwMGUzZjJhNGYiLCJlbWFpbCI6IndoYXRzYXBwQG5hcmZvLmNvLnphIiwianRpIjoiZDA5Y2Y3YTEtNmRkZS00Y2MzLWFiOGQtNjNkMjI4MmNkZjE3IiwiZ2l2ZW5fbmFtZSI6IldoYXRzQVBQIiwiZXhwIjoxOTgzNzY2Nzk5LCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjUyMDI2LyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6NTIwMjYvIn0.JqMSZpeAqwZbIa5qrhtq51-AkgY5ljfSBA7pd3f-U7c';\n }\n \nconst TOKEN = GET_TOKEN();\n\n\n//Converted MakeStyles to WithStyles \nconst styles = theme => ({\n root: {\n flexGrow: 1,\n },\n paper: {\n padding: theme.spacing(2),\n margin: 'auto',\n // maxWidth: 500,\n },\n image: {\n width: 128,\n height: 128,\n },\n img: {\n margin: 'auto',\n display: 'block',\n maxWidth: '100%',\n maxHeight: '100%',\n },\n});\n\n\nclass WhatsAppDocuments extends Component {\n constructor(props) {\n super(props);\n this.memberService = MemberService(TOKEN);\n this.licenceService = LicenceService(TOKEN);\n this.dedicatedService = DedicatedService(TOKEN);\n this.memberActions = this.props.memberActions(this.memberService, this.dedicatedService);\n this.licenceActions = this.props.licenceActions(this.licenceService);\n this.lookupService = LookupService(TOKEN);\n this.lookupActions = this.props.lookupActions(this.lookupService);\n this.dedicatedStatusAction = this.props.dedicatedStatusActions(this.dedicatedService);\n\n this.state = {\n loading: false,\n isNewMember: false,\n memberStatus: null\n };\n }\n\n //Get Query parameters\n parseUrlQuery = (value) => {\n var urlParams = new URL(value).searchParams\n return Array.from(urlParams.keys()).reduce((acc, key) => {\n acc[key] = urlParams.getAll(key)\n return acc\n }, {})\n }\n\n componentDidMount() {\n const {idNo, doctype} = this.parseUrlQuery(window.location);\n\n this.memberService.getMemNoByIdNo(idNo)\n .then(resp =>{\n const memNo = resp.data;\n\n //Check if user is new \n this.memberService.getMemberByMemNo(memNo).then(response=>{\n \n if(response.data.status == 2)\n this.setState({isNewMember:true});\n \n this.setState({memberStatus:response.data.status})\n });\n\n //Redux stuff\n const user = { memNo: memNo };\n\n this.memberActions.fetchMemberData(memNo)\n .then(() => this.memberActions.fetchMemberDedicatedStatus(memNo))\n .then(() => this.memberActions.fetchMemberAccountHistory(memNo))\n .then(() => this.memberActions.fetchMemberLoyaltyDays(memNo))\n .then(() => this.licenceActions.fetchFirearmLicenceStatus(memNo))\n .then(() => this.licenceActions.fetchMemberLicenseReminders(memNo))\n .then(() => this.lookupActions.fetchFirearmActions())\n .then(() => this.lookupActions.fetchSections())\n .then(() => this.dedicatedStatusAction.fetchDedicatedStatusList(user))\n .finally(() => {\n this.setState({loading: false});\n this.memberActions.fetchMemberProfilePicture(memNo);\n });\n })\n\n //Document selected\n if(doctype == 11)\n this.downloadMemberCard(doctype);\n else if(doctype == 12)\n this.downloadMemberCertificate(doctype);\n\n }\n\n memberDataToDetails = () => ({\n nickName: this.props.memberData.nickname,\n firstName: this.props.memberData.firstname,\n surname: this.props.memberData.surname,\n occupation: this.props.memberData.occupation,\n identityNumber: this.props.memberData.idno,\n cellNumber: this.props.memberData.cellNo,\n emailAddress: this.props.memberData.email,\n streetAddress: this.props.memberData.physicalAddress,\n suburb: this.props.memberData.suburb,\n postalCode: this.props.memberData.postalCode,\n city: this.props.memberData.city,\n province: this.props.memberData.province,\n personalAssisstant:this.props.personalAssisstant\n });\n\n memberDataToStatus = () => ({\n currentYear: currentYear,\n membership: this.props.memberData.memType,\n status: getMemberStatusFromInt(this.props.memberData.status),\n inceptionDate: formatISODateToLocaleString(this.props.memberData.inceptionDate),\n expiryDate: formatISODateToLocaleString(this.props.memberData.expiryDate),\n approvalDate: formatISODateToLocaleString(this.props.memberData.approvalDate),\n dedicatedSportsStatus: getDedicatedStatusFromActivities(this.props.dedicatedActivities.dedicatedShooter,this.props.dedicatedStatus.sport),\n dedicatedHunterStatus: getDedicatedStatusFromActivities(this.props.dedicatedActivities.dedicatedHunter,this.props.dedicatedStatus.hunting),\n loyaltyDays: (() => {\n const daysEarned = this.props.loyaltyProgram.daysAdded;\n return daysEarned?.dedicatedStatusDays + daysEarned?.courseDays +\n daysEarned?.endorsementDays + daysEarned?.generalActivityDays;\n })(),\n expiredFirearms: this.props.licenceStatus.expired,\n firearmsToBeRenewed: this.props.licenceStatus.toBeRenewed,\n firearms: this.props.licenceStatus.firearms,\n });\n\n downloadMemberCard = (docType) => {\n const memberId = this.props.memberData.memNo;\n return this.memberService.getMemberQRCode(memberId)\n .then((resp) => {\n const base64QRCode = `data:image/jpeg;base64,${resp.data.base64QRString}`;\n return this.dedicatedService.getApprovedDedicatedStatus(memberId)\n .then((res) => {\n let dsHunter = res.data\n .find(ds => ds.dstype.toLowerCase().includes('hunter') && ds.status === MEMBER_STATUS.APPROVED) || {};\n let dsSports = res.data\n .find(ds => ds.dstype.toLowerCase().includes('sport') && ds.status === MEMBER_STATUS.APPROVED) || {};\n return { dsHunter, dsSports };\n }).then(({ dsHunter, dsSports }) => this.memberService.getAllImages().then((images) =>{\n let pdf = printCardWhatsAPP(this.props.memberData, dsHunter.dsno, dsSports.dsno,images.data.narfo, images.data.wildman, base64QRCode)\n\n var formData = new FormData();\n let apiURL = \"\";\n //Send API yo save the document \n formData.append(`file`, pdf); //single file upload \n var url = `https://apiqa.narfo.co.za/api/Document/UploadBlobDocument?memberNo=${memberId}&docType=${docType}&baseURL=${SITE_URL}`;\n axios.post(url,\n formData,\n {\n headers: {\n 'Content-Type': 'multipart/form-data'\n }\n })\n .then(success => {\n console.log(\"Success\",success.data.location)\n\n window.open(success.data.location,'_self'); //open document in new tab \n\n })\n .catch(error => console.log(error));\n\n //window.open(pdf); //open document in new tab \n \n // window.open(pdf,'_self'); open document in same tab\n\n // window.navigator.msSaveBlob(pdf, \"testfile\");\n }));\n });\n }\n\n downloadAccountTransaction = (account) => this.memberService.getAllImages()\n .then((images) => printAccountTransaction(\n account, this.props.memberData, images.data.nnfo, images.data.pdflogo\n ));\n\n\n downloadMemberCertificate = () => {\n const memberId = this.props.memberData.memNo;\n return this.memberService.getMemberQRCode(memberId)\n .then((resp) => {\n const base64QRCode = `data:image/jpeg;base64,${resp.data.base64QRString}`;\n return this.memberService.getAllImages().then((images) =>\n printCertificate(\n this.props.memberData, images.data.nnfo, base64QRCode,\n images.data.pdfSign, images.data.pdflogo\n )\n );\n });\n }\n\n render() {\n return (\n
\n {/*Automatic download of Membership Documents*/}\n \n
\n );\n }\n}\n\n\nconst mapStateToProps = state => ({\n token: state.AuthReducer.token,\n memNo: state.AuthReducer.memNo,\n memberData: state.ProfileReducer.memberData,\n profilePicture: state.ProfileReducer.profilePicture,\n dedicatedStatus: state.ProfileReducer.dedicatedStatus,\n dedicatedActivities: state.ProfileReducer.dedicatedStatusActivities,\n loyaltyProgram: state.ProfileReducer.loyaltyProgram,\n accountHistory: state.ProfileReducer.accountHistory,\n licenceStatus: state.LicenceReducer.firearmLicenceStatus,\n assesmentCompletion: state.nLearningManagementReducer.assesmentCompletion,\n memberData2: state.ProfileReducer.memberData2,\n personalAssisstant: state.ProfileReducer.personalAssisstant,\n daysLeft: DateTime.fromISO(state.ProfileReducer.memberData.expiryDate).diffNow('days').days,\n});\n\nconst initialiseMemberActions = dispatch => (memberService, dedicatedStatusService) => {\n const action = MemberActions(memberService, dedicatedStatusService);\n return {\n fetchMemberData: (id) => dispatch(action.fetchMemberData(id)),\n fetchMemberProfilePicture: (id) => dispatch(action.fetchMemberProfilePicture(id)),\n fetchMemberDedicatedStatus: (id) => dispatch(action.fetchMemberDedicatedStatus(id)),\n fetchMemberLoyaltyDays: (id) => dispatch(action.fetchMemberLoyaltyDays(id)),\n fetchMemberAccountHistory: (id) => dispatch(action.fetchMemberAccountHistory(id)),\n fetchMemberDetailsByEmail: (mail) => dispatch(action.fetchMemberDetailsByEmail(mail))\n };\n};\n\nconst initialiseLicenceActions = dispatch => (licenceService) => {\n const action = LicenceActions(licenceService);\n return {\n fetchFirearmLicenceStatus: (id) => dispatch(action.fetchFirearmLicenceStatus(id)),\n fetchMemberLicenseReminders: (id) => dispatch(action.fetchMemberLicenseReminders(id))\n };\n};\n\nconst initLookupActions = dispatch => lookupService => {\n const actions = LookupActions(lookupService);\n return {\n fetchFirearmActions: () => dispatch(actions.fetchFirearmActions()),\n fetchSections: () => dispatch(actions.fetchSections()),\n };\n};\n\nconst initDedicatedStatusActions = dispatch => dedicatedStatusService => {\n const actions = DedicatedStatusActions(dedicatedStatusService);\n return {\n fetchDedicatedStatusList: data => dispatch(actions.fetchDedicatedStatusList(data))\n };\n};\n\nconst mapDispatchToProps = dispatch => ({\n memberActions: initialiseMemberActions(dispatch),\n licenceActions: initialiseLicenceActions(dispatch),\n lookupActions: initLookupActions(dispatch),\n dedicatedStatusActions: initDedicatedStatusActions(dispatch)\n});\n\nexport default connect(mapStateToProps ,mapDispatchToProps)(withStyles(styles, { withTheme: true })(WhatsAppDocuments));\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n SubtitleBar\n} from '../index';\nimport { Grid, Typography, Button } from '@material-ui/core';\nimport GenericTable from '../GenericTable/GenericTable';\nimport { withStyles } from '@material-ui/core/styles';\nimport Interweave from 'interweave';\n\nconst styles = (theme) => ({\n thumbNail: {\n cursor: 'pointer',\n },\n img: {\n width: \"170px\",\n height: \"200px\",\n borderRadius: \"5px\",\n padding: \"0px\",\n },\n imageTextPadding: {\n paddingTop: \"2em\"\n }\n});\n\nconst columns = [\n { field: 'date', headerName: 'Date' },\n { field: 'title', headerName: 'Title'}\n];\n\nclass Article extends Component {\n constructor(props) {\n super(props);\n this.state = {\n newsLetterList: props.newsLetterList,\n };\n\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n const { classes } = this.props;\n\n return(\n \n {/* \n */}\n \n \n \n );\n }\n}\n\n\nexport default connect(null, null)(withStyles(styles)(Article));","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport {\n SubtitleBar\n} from '../index';\nimport { Grid, Typography, Button } from '@material-ui/core';\nimport GenericTable from '../GenericTable/GenericTable';\nimport { withStyles } from '@material-ui/core/styles';\nimport Interweave from 'interweave';\nimport Article from './Article';\n\nconst styles = (theme) => ({\n thumbNail: {\n cursor: 'pointer',\n },\n img: {\n width: \"170px\",\n height: \"200px\",\n borderRadius: \"5px\",\n padding: \"0px\",\n },\n imageTextPadding: {\n paddingTop: \"2em\"\n }\n});\n\nconst columns = [\n { field: 'date', headerName: 'Date' },\n { field: 'title', headerName: 'Title'}\n];\n\nclass ViewNewsLetter extends Component {\n constructor(props) {\n super(props);\n this.state = {\n newsLetterList: props.newsLetterList,\n viewArticles: true,\n selectedArticle: null\n };\n\n console.log(props.newsLetterList);\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n const { classes } = this.props;\n\n return(\n \n {\n this.state.viewArticles ?<>\n {/* */}\n {this.props.newsLetterList.length !== 0 ?\n {\n this.setState({ \n viewArticles: !this.state.viewArticles,\n selectedArticle : item\n });\n }}\n /> : null}\n : \n
this.setState({ viewArticles: true })}\n />\n }\n\n \n );\n }\n}\n\n\nexport default connect(null, null)(withStyles(styles)(ViewNewsLetter));","import API_URL from './apiUrl';\nimport axios from 'axios';\n\nconst getAllNewsLetter = headers => () => axios({\n\turl: `${API_URL}/NewsArticles/GetAllNewsByTheLatest`,\n\tmethod: \"get\",\n\theaders: headers\n });\n\nexport default function(token) {\n const headers = {\n Authorization: `Bearer ${token}`,\n };\n\n return {\n getAllNewsLetter: getAllNewsLetter(headers)\n };\n}\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport ViewNewsLetter from '../../components/NewsLetter/ViewNewsLetter';\nimport Container from '../../hoc/Container';\nimport NewsLetterService from '../../services/newsLetter.service';\nimport { format } from 'date-fns';\nconst month = [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\n\nclass NewsLetter extends Component {\n constructor(props) {\n super(props);\n this.NewsLetterService = NewsLetterService(this.props.token);\n \tthis.state = {\n newsLetterList: []}\n }\n\n componentDidMount() {\n this.NewsLetterService.getAllNewsLetter().then(resp =>{\n this.setState({newsLetterList : resp.data});\n })\n .catch(ex =>{\n console.log(ex);\n })\n }\n\n render() {\n const isMobile = localStorage.getItem('isMobile') === 'true';\n return(\n \n {!this.state.loading && {\n let date = new Date(item.date);\n item.date = date.getDay() +\" \" + month[date.getMonth()] +\" \" + date.getFullYear()\n return item;\n })}\n memNo={this.props.memNo}\n isMobile={isMobile}\n history = {this.props.history}\n /> }\n \n );\n }\n}\n\nexport default connect(null,null)(NewsLetter);","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport GenericTable from '../GenericTable/GenericTable';\nimport { Grid, Typography } from '@material-ui/core';\nimport { ArrowBack } from '@material-ui/icons';\n\n\nconst columns = [\n { field: 'memNo', headerName: 'Member No' },\n { field: 'inceptionDate', headerName: 'Inception Date'},\n { field: 'firstname', headerName: 'Name'},\n { field: 'surname', headerName: 'Surname'},\n { field: 'paymentDate', headerName: 'PaymentDate'},\n { field: 'comission', headerName: 'Amount(R)'},\n { field: 'frequency', headerName: 'Frequency'},\n { field: 'comType', headerName: 'Type'},\n\n];\n\nclass CardCommission extends Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return(\n \n {\n \n \n {this.props.back &&\n \n this.props.back()} />\n Commission Due\n \n }\n\n \n \n }\n\n \n );\n }\n}\n\n\nexport default connect(null, null)(CardCommission);","import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Card from '@material-ui/core/Card';\nimport CardActionArea from '@material-ui/core/CardActionArea';\nimport CardActions from '@material-ui/core/CardActions';\nimport CardContent from '@material-ui/core/CardContent';\nimport CardMedia from '@material-ui/core/CardMedia';\nimport Button from '@material-ui/core/Button';\nimport Typography from '@material-ui/core/Typography';\nimport { Box, CircularProgress, Grid } from '@material-ui/core';\nimport ArrowForwardTwoToneIcon from '@material-ui/icons/ArrowForwardTwoTone';\nimport GroupAddOutlinedIcon from '@material-ui/icons/GroupAddOutlined';\nimport BusinessCenterOutlinedIcon from '@material-ui/icons/BusinessCenterOutlined';\nimport MonetizationOnOutlinedIcon from '@material-ui/icons/MonetizationOnOutlined';\nimport { Skeleton } from '@material-ui/lab';\nimport Avatar from 'react-avatar-edit';\n\nexport default function PartnerCard(props) {\n\n const ChooseIcon =(iconName)=>{\n switch (iconName)\n {\n case \"commission\":\n return \n case \"reps\":\n return \n case \"members\":\n return \n\n }\n }\n return (\n \n
\n
\n
\n {ChooseIcon(props.icon)}\n\n
\n
\n {props.title}
\n\n {props.isloading \n ? \n \n \n \n \n :

{props.subTitle} : {props.subTitle === 'Amount due' ? 'R' : ''}\n \n {props.subTitleValue}\n

\n }\n
\n \n
\n
\n );\n} ","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport GenericTable from '../GenericTable/GenericTable';\nimport { Grid, Typography } from '@material-ui/core';\nimport { ArrowBack } from '@material-ui/icons';\n\n\nconst columns = [\n { field: 'memNo', headerName: 'Member No' },\n { field: 'inceptionDate', headerName: 'Inception Date'},\n { field: 'firstname', headerName: 'Name'},\n { field: 'surname', headerName: 'Surname'},\n { field: 'email', headerName: 'Email Address'},\n { field: 'cellNo', headerName: 'CellNo'},\n { field: 'noOfMembers', headerName: 'No Of Members'},\n\n];\n\nclass CardSalesRep extends Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return(\n \n {\n \n \n {this.props.back &&\n \n this.props.back()} />\n Sales Reps\n \n }\n\n \n \n }\n\n \n );\n }\n}\n\n\nexport default connect(null, null)(CardSalesRep);","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { connect } from \"react-redux\";\nimport Card from \"@material-ui/core/Card\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport Typography from \"@material-ui/core/Typography\";\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport { Link } from \"react-router-dom\";\nimport axios from \"axios\";\nimport { BASE } from \"../../../API/APIendpoint\";\n\nimport { styles } from \"./styles/styles\";\nimport dpicUser from \"./dProfile.jpg\";\nimport { format } from \"date-fns\";\n\nclass MemberCard extends Component {\n constructor(props) {\n super(props);\n\n this.state = { addPadding: \"0px\", profilePic: null };\n }\n // componentWillMount() {\n\n // // axios.get(BASE + \"api/MemberProfilePictures/getMemId/\" + this.props.MemberArray.memNo, {\n // // headers: {\n // // \"Content-type\": \"application/json\",\n // // 'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`\n // // }\n // // })\n // // .then(res => {\n // // this.setState({ profilePic: res.data[0].profilePicture }); \n\n // // })\n // }\n componentDidMount() {\n if (this.props.firstLetter !== \"\") {\n this.setState({ addPadding: \"30px\" });\n }\n\n }\n handleSubmit = e => {\n this.props.onMemberViewChange(this.props.MemberArray);\n\n this.props.ShowMemberProfile();\n };\n\n getDateFormat =(field) => {\n let inceptionDate = new Date(field);\n if (inceptionDate)\n return format(new Date(field.split('T')[0]),'yyyy/MM/dd');\n\n return field;\n }\n\n render() {\n const { classes } = this.props;\n return (\n \n \n {Array.isArray(this.props.MemberArray) ||\n this.props.MemberArray.length === 0 ? (\n \"Please wait while members still loading...\"\n ) : (\n
    \n {\n this.handleSubmit(this.props.MemberArray);\n }}\n >\n
    \n
    \n
    {this.props.firstLetter}
    \n \n \"Gun\"\n
    \n
    \n
    \n {this.props.MemberArray.firstname\n ? `${this.props.MemberArray.firstname + \" \" + this.props.MemberArray.surname}`\n : null}\n
    \n \n Member Number: {this.props.MemberArray.memNo}\n \n
    \n InceptionDate: {this.getDateFormat(this.props.MemberArray.inceptionDate)}
    \n Email: {this.props.MemberArray.email}\n
    \n\n {/* TODO: show only when you wants to show dedicated statuses as\n well, uncomment */}\n {this.props.MemberArray.dedicatedStatus.map((status, i) => (\n
    \n \n {status.status} {status.dstype}
    \n
    \n
    \n ))}\n
    \n
    \n
    \n
\n \n )}\n \n
\n );\n }\n}\n\nMemberCard.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n member: state.MemberViewReducer.MemberView,\n currLicenseTab: state.licensesReducer.currentLicenseTab\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n onCurrentMemberTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n }),\n onMemberViewChange: newMemberView =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW,\n MemberView: newMemberView\n }),\n\n onCurrentLicenseTabChange: (value, variableName) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBERS_AREA,\n varValue: value,\n varName: variableName\n })\n };\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(MemberCard));\n","export const styles = {\n card: {\n // minWidth: 500\n },\n root: {\n flex: 1,\n flexDirection: \"col\",\n borderBottom: \"1.5px solid #D8D8D8\"\n },\n title: {\n display: \"inline-block\",\n fontSize: 15,\n width: \"20%\",\n paddingRight: 20,\n paddingLeft: 20,\n color: \"black\"\n },\n content: {\n display: \"inline-block\",\n fontSize: 14,\n color: \"black\"\n },\n subHeader: {\n boxShadow: \"0px 2px 4px red\",\n borderBottom: \"2px solid red\",\n margin: \"0 auto\",\n marginBottom: \"10px\"\n }\n};\n\nexport const viewAllMemberStyles = {\n root: {\n backgroundColor: \"white\",\n width: \"100%\",\n height: \"80vh\",\n overflow: \"auto\"\n }\n};\n","import { MenuItem, Select, TextField, Grid,Typography } from \"@material-ui/core/\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\n\nimport TabPane from \"../../../components/adminPortal/TabPane\";\n\nimport * as actionTypes from \"../../../store/actions/actionTypes\";\nimport GenericHeader from \"../../../utils/GenericHeader\";\nimport MemberCard from \"./MemberCard\";\nimport { viewAllMemberStyles } from \"./styles/styles\";\n\nconst userStatus = Object.freeze({\n Approved: 1,\n Pending: 2,\n Rejected: 3,\n Renewing: 4,\n});\n\nclass CardMembers extends Component {\n constructor(props) {\n super(props);\n this.state = {\n searchText: \"\",\n MemberList: [],\n filtertext: \"All\",\n showProfile: false\n };\n }\n onChangeText = (event) => {\n this.setState({ searchText: event });\n };\n\n onchangeFilter(event) {\n this.setState({ filtertext: event });\n \n if(!userStatus[event]){\n this.setState({ MemberList: this.props.partnerMembers});\n this.props.onMemberViewListChange(this.props.partnerMembers);\n }\n else\n {\n const data = this.props.partnerMembers.filter(p => p.status === userStatus[event]);\n this.setState({ MemberList: data});\n this.props.onMemberViewListChange(data);\n }\n\n }\n\n componentDidMount() {\n\n this.setState({ MemberList: this.props.partnerMembers });\n this.props.onMemberViewListChange(this.props.partnerMembers);\n this.props.onMemberStateChange(true, \"isAdmin\");\n }\n\n resetFilters = () => {\n this.props.onAdminActivityTypeFilterChange(\"Activity Type\");\n this.props.onAdminActivityStatusFilterChange(\"Status\");\n };\n\n showFilterBar = () => {\n this.setState({ searchToggle: !this.state.searchToggle });\n };\n\n ShowMemberProfile =() =>{\n this.setState({showProfile: true})\n }\n\n HideMemberProfile =() =>{\n this.setState({showProfile: false})\n}\n\n getFilteredMembers = (event) => {\n\n //If it's partner \n if (event.key == \"Enter\" || event.key == 13) {\n \n const data = this.props.partnerMembers.filter(x => x.idno.includes(this.state.searchText) || x.surname.includes(this.state.searchText) || x.email.includes(this.state.searchText) || x.memNo.includes(this.state.searchText));\n \n this.setState({ MemberList: data });\n this.props.onMemberViewListChange(data);\n this.props.onMemberStateChange(true, \"isAdminMemView\");\n }\n \n };\n\n render() {\n let MemberV = this.props.MemberList;\n let lastLetter = \"\";\n let currentLetter;\n let displayLetter = false;\n MemberV.sort((a, b) => (a.firstname > b.firstname ? 1 : -1));\n return (\n \n\n {/* List of members */}\n {!this.state.showProfile && \n this.showFilterBar()}\n />\n\n
\n
\n
User status
\n this.onchangeFilter(event.target.value)}\n defaultValue=\"Activity Type\"\n inputProps={{\n name: \"Activity Type\",\n id: \"ActivityTypeSelector\",\n }}\n >\n \n All\n \n Approved\n Pending\n Rejected\n Renewing\n \n
\n this.onChangeText(event.target.value)}\n onKeyDown={(event) => this.getFilteredMembers(event)}\n variant=\"outlined\"\n />\n
\n\n {Array.isArray(MemberV) && MemberV.length === 0 ? (\n
\n Members not found\n \n
\n ) : (\n //List of members container\n
\n {this.state.MemberList.map((MemberMap, index) => {\n currentLetter = MemberMap.firstname\n .trim()\n .toLowerCase()\n .substring(0, 1);\n\n if (currentLetter !== lastLetter) {\n displayLetter = MemberMap.firstname\n .trim()\n .toUpperCase()\n .substring(0, 1);\n } else {\n displayLetter = \"\";\n }\n\n lastLetter = currentLetter;\n return (\n \n );\n })}\n
\n )}\n
}\n\n\n {this.state.showProfile && }\n\n
\n );\n }\n}\nCardMembers.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nconst mapStateToProps = (state) => {\n return {\n userProfileDetails: state.loginReducer.userProfileDetails,\n MemberDetails: state.MemberViewReducer.MemberView,\n MemberList: state.MemberViewReducer.MemberList,\n showActFilterBar: state.MemberViewReducer.showFilterBar,\n MemSearch: state.MemberViewReducer.Search,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n onMemberViewListChange: (newUserMemberArray) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_VIEW_LIST,\n payload: newUserMemberArray,\n }),\n onMemberStateChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_STATE,\n varName: vname,\n varValue: value,\n }),\n\n onShowFilterBarToggle: () =>\n dispatch({ type: actionTypes.TOGGLE_SHOW_FILTER_BAR }),\n\n onAdminActivityTypeFilterChange: (newAdminActivityTypeFilter) =>\n dispatch({\n type: actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_ACTIVITY_TYPE_FILTER,\n payload: newAdminActivityTypeFilter,\n }),\n onAdminActivityStatusFilterChange: (newAdminActivityStatusFilter) =>\n dispatch({\n type: actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_ACTIVITY_STATUS_FILTER,\n payload: newAdminActivityStatusFilter,\n }),\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(viewAllMemberStyles)(CardMembers));\n","import axios from 'axios';\nimport JWT from 'jwt-decode';\n\nimport API_URL from '../../../services/apiUrl';\nimport * as actionTypes from './actionTypes';\n\nexport const authStart = () => ({\n type: actionTypes.AUTH_START\n});\n\nexport const authSuccess = (authToken, userId) => ({\n type: actionTypes.AUTH_SUCCESS,\n token: authToken,\n memNo: userId\n});\n\nexport const authFail = (error) => ({\n type: actionTypes.AUTH_FAIL,\n error: error\n});\n\nexport const logout = () => {\n localStorage.removeItem('token');\n sessionStorage.removeItem('tokenKey');\n localStorage.removeItem('expirationDate');\n localStorage.removeItem('memNo');\n// updateIsLoggedIn();\n return {\n type: actionTypes.AUTH_LOGOUT\n };\n};\n\nexport const updateIsLoggedIn = dispatch => {\n dispatch({\n\ttype: actionTypes.UPDATE_USER_DETAILS,\n\tvarValue: false,\n\tvarName: \"isLoggedIn\"\n })\n}\n\nexport const checkAuthTimeout = (expirationTime) => dispatch => {\n setTimeout(() => {\n dispatch(logout());\n }, expirationTime);\n};\n\nexport const auth = (email, password) => dispatch => {\n\n dispatch(authStart());\n const authData = {\n email: email,\n password: password,\n username: email\n };\n axios.post(`${API_URL}/Member/post/login`, authData)\n .then(response => {\n\n const decodedToken = JWT(response.data.token);\n // convert unix timestamp to an actual datestring, needs milliseconds not seconds\n const tokenExpirationDate = new Date(decodedToken.exp * 1000);\n // convert the datestring to a number of seconds until token expires\n const tokenExpiryTime = tokenExpirationDate - new Date();\n\n localStorage.setItem('token', response.data.token);\n\t sessionStorage.setItem(\"tokenKey\", response.data.token);\n\t sessionStorage.setItem(\"reload\", \"true\");\n localStorage.setItem('expirationDate', tokenExpirationDate);\n localStorage.setItem('memNo', response.data.memNo);\n dispatch(authSuccess(response.data.token, response.data.memNo));\n dispatch(checkAuthTimeout(tokenExpiryTime));\n\t dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: true,\n varName: \"isLoggedIn\"\n });\n\t dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: decodedToken.nameid === \"True\",\n varName: 'adminLevel',\n })\n\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: response.data.roles.isPartner,\n varName: 'partnerLevel',\n })\n\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: response.data.roles.isSalesRep,\n varName: 'salesRepLevel'\n })\n\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: response.data.roles.isPartner ? response.data.roles.partnerId : -1,\n varName: 'partnerId'\n })\n\n })\n .catch(err => {\n dispatch(authFail(err.response));\n });\n};\n\nexport const updateRole = (isSalesRep,isPartner,partnerId) => dispatch => {\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: isPartner,\n varName: 'partnerLevel',\n })\n\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: isSalesRep,\n varName: 'salesRepLevel'\n })\n\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: isPartner ? partnerId : -1,\n varName: 'partnerId'\n })\n};","export const AUTH_START = 'AUTH_START';\nexport const AUTH_SUCCESS = 'AUTH_SUCCESS';\nexport const AUTH_FAIL = 'AUTH_FAIL';\nexport const AUTH_LOGOUT = 'AUTH_LOGOUT';\n\nexport const SET_AUTH_REDIRECT_PATH = 'SET_AUTH_REDIRECT_PATH';\nexport const UPDATE_USER_DETAILS = 'UPDATE_USER_DETAILS';","import { Grid } from '@material-ui/core';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport CardCommission from '../../components/PartnerDashboard/CardCommission';\nimport Container from '../../hoc/Container';\nimport EmailService from '../../services/email.service';\nimport PartnerCard from './PartnerCard';\nimport CommissionsService from '../../services/commissions.service';\nimport CardSalesRep from '../../components/PartnerDashboard/CardSalesRep';\nimport CardMembers from '../../components/PartnerDashboard/CardMembers';\nimport * as actions from '../../store/Auth/Login/actions'\n\n\nclass PartnerDashboard extends Component {\n constructor(props) {\n super(props);\n this.CommissionsService = CommissionsService(this.props.token)\n \tthis.state = {\n commissionList: [],\n salesRepList: [],\n partnerMembers: [],\n amountDue:0,\n showCommissions:false,\n showSalesReps:false,\n showMembers:false,\n commissonIsloading: true,\n repsIsloading: true,\n memIsloading: true,\n }\n\n }\n\n componentDidMount() {\n this.CommissionsService.getMemberRoles(this.props.memNo).then(resp =>{\n this.props.onUpdate(resp.data.roles.isSalesRep,resp.data.roles.isPartner,resp.data.roles.partnerId);\n\n\n if(!resp.data.roles.isPartner)\n this.props.history.push(\"/my-profile\");\n\n this.CommissionsService.getSalesRepsByPartnerId(resp.data.roles.partnerId).then(resp =>{\n this.setState({salesRepList: resp.data})\n\n this.setState({repsIsloading: false})\n })\n .catch(ex =>{\n console.log(ex);\n\n this.setState({repsIsloading: false})\n })\n\n console.log(\"Started loading memebers\", new Date())\n this.CommissionsService.getMembersByPartnerId(resp.data.roles.partnerId).then(resp =>{\n this.setState({partnerMembers: resp.data})\n this.setState({memIsloading: false})\n\n console.log(\"Done loading memebers\", new Date())\n })\n .catch(ex =>{\n console.log(ex);\n this.setState({memIsloading: false})\n console.log(\"Done with error loading memebers\")\n })\n\n })\n .catch(err =>{\n console.error(\"Error retriving Roles\", err);\n })\n\n this.CommissionsService.getCommissionDue(this.props.memNo).then(resp =>{\n this.setState({commissionList: resp.data.repsMemComm, amountDue: resp.data.amountDue || \"0.00\"})\n this.setState({commissonIsloading: false})\n })\n .catch(ex =>{\n console.log(ex);\n this.setState({commissonIsloading: false})\n })\n \n }\n\n back = ()=>{\n this.setState({showCommissions:false,showMembers:false,showSalesReps:false});\n }\n\n render() {\n return(\n \n \n \n this.setState({showCommissions:true,showSalesReps:false,showMembers:false})} subTitle=\"Amount due\" subTitleValue={this.state.amountDue} color={this.state.showCommissions ? \"secondary\":\"info\"} icon=\"commission\"/>\n \n\n \n this.setState({showSalesReps:true,showCommissions:false,showMembers:false})} subTitle=\"Number of Sales Reps\" subTitleValue={this.state.salesRepList.length} color={this.state.showSalesReps ? \"secondary\":\"success\"} icon=\"reps\"/>\n \n\n \n this.setState({showMembers:true,showSalesReps:false,showCommissions:false,})} subTitle=\"Number of Members\" subTitleValue={this.state.partnerMembers.length} black color={this.state.showMembers ? \"secondary\":\"warning\"} icon=\"members\"/>\n \n \n\n {this.state.showCommissions && }\n\n {this.state.showSalesReps && }\n\n {this.state.showMembers && }\n\n \n );\n }\n}\n\nconst mapDispatchToProps = dispatch => ({\n onUpdate: (isSalesRep,isPartner,partnerId)=> dispatch(actions.updateRole(isSalesRep, isPartner, partnerId))\n});\n\nconst mapStateToProps = (state) => ({\n\tadminLevel: state.loginReducer.userProfileDetails.adminLevel,\n\tpartnerLevel: state.loginReducer.userProfileDetails.partnerLevel,\n\tpartnerId: state.loginReducer.userProfileDetails.partnerId,\n\tsalesRepLevel: state.loginReducer.userProfileDetails.salesRepLevel,\n\tmemNo: state.AuthReducer.memNo,\n\ttoken: state.AuthReducer.token,\n});\n\nexport default connect(mapStateToProps,mapDispatchToProps)(PartnerDashboard);","import { Grid } from '@material-ui/core';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport CardCommission from '../../components/PartnerDashboard/CardCommission';\nimport Container from '../../hoc/Container';\nimport CommissionsService from '../../services/commissions.service';\nimport CardMembers from '../../components/PartnerDashboard/CardMembers';\nimport PartnerCard from '../PartnerDashboard/PartnerCard';\nimport * as actions from '../../store/Auth/Login/actions'\n\nclass SalesRepDashboard extends Component {\n constructor(props) {\n super(props);\n this.CommissionsService = CommissionsService(this.props.token)\n \tthis.state = {\n commissionList: [],\n salesRepList: [],\n partnerMembers: [],\n amountDue:0,\n showCommissions:false,\n showSalesReps:false,\n showMembers:false,\n commissonIsloading: true,\n repsIsloading: true,\n memIsloading: true,\n }\n }\n\n componentDidMount() {\n\n this.CommissionsService.getMemberRoles(this.props.memNo).then(resp =>{\n this.props.onUpdate(resp.data.roles.isSalesRep,resp.data.roles.isPartner,resp.data.roles.partnerId);\n\n if(resp.data.roles.isPartner)\n this.props.history.push(\"/my-profile\");\n\n this.CommissionsService.getMembersBySalesRepMemNo(this.props.memNo).then(resp =>{\n this.setState({partnerMembers: resp.data})\n this.setState({memIsloading: false})\n })\n .catch(ex =>{\n console.log(ex);\n this.setState({memIsloading: false})\n })\n })\n .catch(err =>{\n console.error(\"Error retriving Roles\", err);\n })\n\n this.CommissionsService.getAllSalesRepCommission(this.props.memNo).then(resp =>{\n this.setState({commissionList: resp.data.repsMemComm, amountDue: resp.data.amountDue || \"0.00\"})\n this.setState({commissonIsloading: false})\n })\n .catch(ex =>{\n console.log(ex);\n this.setState({commissonIsloading: false})\n })\n }\n\n back = ()=>{\n this.setState({showCommissions:false,showMembers:false,showSalesReps:false});\n }\n\n render() {\n return(\n !this.props.partnerLevel && \n \n \n this.setState({showCommissions:true,showSalesReps:false,showMembers:false})} subTitle=\"Amount due\" subTitleValue={this.state.amountDue} color={this.state.showCommissions ? \"secondary\":\"info\"} icon=\"commission\"/>\n \n\n \n this.setState({showMembers:true,showSalesReps:false,showCommissions:false,})} subTitle=\"Number of Members\" subTitleValue={this.state.partnerMembers.length} black color={this.state.showMembers ? \"secondary\":\"warning\"} icon=\"members\"/>\n \n \n\n {this.state.showCommissions && }\n\n {this.state.showMembers && }\n\n \n );\n }\n}\n\nconst mapDispatchToProps = dispatch => ({\n onUpdate: (isSalesRep,isPartner,partnerId)=> dispatch(actions.updateRole(isSalesRep, isPartner, partnerId))\n});\n\nconst mapStateToProps = (state) => ({\n\tadminLevel: state.loginReducer.userProfileDetails.adminLevel,\n\tpartnerLevel: state.loginReducer.userProfileDetails.partnerLevel,\n\tpartnerId: state.loginReducer.userProfileDetails.partnerId,\n\tsalesRepLevel: state.loginReducer.userProfileDetails.salesRepLevel,\n\tmemNo: state.AuthReducer.memNo,\n\ttoken: state.AuthReducer.token,\n});\n\nexport default connect(mapStateToProps,mapDispatchToProps)(SalesRepDashboard);","export const emailUsernameConfig = {\n config: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Email Address',\n },\n validate: {\n required: true,\n minLength: 2\n },\n valid: true,\n errors: [],\n touched: false,\n },\n value: ''\n};\n\nexport const passwordConfig = {\n config: {\n elementType: 'password',\n elementConfig: {\n type: 'password',\n placeholder: 'Password',\n },\n validate: {\n required: true,\n minLength: 8\n },\n valid: true,\n errors: [],\n touched: false,\n },\n value: ''\n};","import React, { Component } from 'react';\nimport { Redirect,Link } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { withStyles } from '@material-ui/core/styles';\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport { FRONT } from '../../../../API/APIendpoint';\nimport {\n Avatar,\n Button,\n CircularProgress,\n FormControl,\n FormHelperText,\n Grid,\n Typography,\n} from '@material-ui/core/';\nimport { LockOutlined } from '@material-ui/icons';\n\nimport * as actions from '../../../store/Auth/Login/actions';\nimport { \n updateObject, \n checkValidity\n} from '../../../shared/utility';\nimport { MappedInput } from '../../../components';\nimport { \n emailUsernameConfig,\n passwordConfig\n} from '../../../components/Auth/Login/controls';\nimport JWT from 'jwt-decode';\nimport MemberService from '../../../services/member.service';\n\nconst styles = (theme) => ({\n paper: {\n marginTop: theme.spacing(8),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n avatar: {\n margin: theme.spacing(3),\n backgroundColor: theme.palette.primary.main,\n },\n form: {\n width: '100%',\n marginTop: theme.spacing(1),\n },\n submit: {\n margin: theme.spacing(4, 0, 4),\n },\n linkFont: {\n fontSize: '0.8rem',\n marginTop:'1.0em'\n },\n errorPadding: {\n padding: theme.spacing(2)\n }\n});\n\nclass Login extends Component {\n constructor(props){\n super(props);\n\n this.state = {\n showPassword: false,\n controls: this.initControls(),\n isActive:false\n\n };\n\t this.memberService = MemberService(this.props.token);\n this.showHide = this.showHide.bind(this);\n }\n \n initControls = () => ({\n email: {...emailUsernameConfig},\n password: {...passwordConfig}\n });\n\n showHide(e){\n e.preventDefault();\n e.stopPropagation();\n this.setState({\n showPassword: !this.state.showPassword,\n });\n }\n\n inputChangeHandler = (event, controlName) => {\n const validity = checkValidity(\n event.target.value, \n this.state.controls[controlName].config.validate,\n this.state.controls[controlName].config.elementConfig.type\n );\n const updatedControls = updateObject(this.state.controls, {\n [controlName]: updateObject(this.state.controls[controlName], {\n value: event.target.value,\n config: updateObject(this.state.controls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true\n })\n })\n });\n this.setState({controls:updatedControls});\n }\n\n submitHandler = (event) => {\n event.preventDefault();\n this.props.onAuth(this.state.controls.email.value, this.state.controls.password.value);\n // localStorage.setItem(\"sendLoginEmail\", true);\n }\n activateButton = () => {\n this.setState({\n ...this.state,\n isActive:true\n });\n}\n\ndeactivateButton = () => {\n this.setState({\n ...this.state,\n isActive:false\n});\n}\n\n render() {\n const {classes} = this.props;\n const formElementsArray = [];\n\n let authRedirect = null;\n let errorMessage = null;\n\n for (let key in this.state.controls) {\n formElementsArray.push( {\n id: key,\n config: this.state.controls[key].config,\n value: this.state.controls[key].value\n });\n }\n\n let form = formElementsArray.map( formElement => (\n \n this.inputChangeHandler(event, formElement.id)} \n showHide={formElement.id !== 'password' ? null : this.showHide}\n showPassword={formElement.id !== 'password' ? null : this.state.showPassword}\n />\n \n {formElement.config.errors ? formElement.config.errors[0] : 'Input is invalid'}\n \n \n ));\n\n if (this.props.error) {\n errorMessage = (\n \n {this.props.error.data.message}\n \n );\n }\n\n if (this.props.isAuthenticated ) {\n const decode = JWT(this.props.token);\n // const emailData = {\n // Firstname: decode.given_name,\n // Surname: decode.family_name,\n // toEmail: decode.email\n // }\n // const sendLoginEmail = localStorage.getItem(\"sendLoginEmail\");\n \n //send email to the user \n // if(sendLoginEmail)\n // {\n // this.memberService.sendLoginEmail(emailData)\n // localStorage.setItem(\"sendLoginEmail\", false); //Reset email sending\n // }\n\n this.memberService.getMemberDetailsByEmail(decode.email)\n authRedirect = (this?.props?.member?.status == 5 || this?.props?.member?.status == 8) ? : ;\n }\n\n return (\n \n \n
\n \n \n \n \n \n Sign in\n \n\n {authRedirect}\n {errorMessage}\n\n
\n {form}\n
\n \n
\n \n Sign In\n \n \n\n \n \n \n \n \n\n \n \n \n \n\n
\n
\n
\n );\n }\n}\n\nconst mapStatetoProps = state => ({\n\tloading: state.AuthReducer.loading,\n\terror: state.AuthReducer.error,\n\tisAuthenticated: state.AuthReducer.token !== null,\n\tauthRedirectPath: state.AuthReducer.authRedirectPath,\n\ttoken: state.AuthReducer.token,\n recatchaKey: state.RecaptchaKeyReducer,\n member: state.ProfileReducer.memberData\n});\n\nconst mapDispatchToProps = dispatch => ({\n onAuth: (email, password) => dispatch(actions.auth(email, password))\n});\n\nexport default connect(mapStatetoProps, mapDispatchToProps)(withStyles(styles)(Login));","import React, { Component } from 'react';\nimport { Redirect } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport * as actionTypes from '../../../store/Auth/Login/actionTypes';\n\nimport * as actions from '../../../store/Auth/Login/actions';\n\nclass Logout extends Component {\n componentDidMount () {\n this.props.onLogout();\n\tthis.props.onUpdateIsloggedIn();\n }\n render () {\n \n return ;\n \n }\n}\n\nconst mapDispatchToProps = dispatch => ({\n onLogout: () => dispatch(actions.logout()),\n onUpdateIsloggedIn: () => dispatch({\n\ttype: actionTypes.UPDATE_USER_DETAILS,\n\tvarValue: false,\n\tvarName: \"isLoggedIn\"\n })\n});\n\nexport default connect(null, mapDispatchToProps)(Logout);","import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Icon from '@material-ui/core/Icon';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport { isMobile } from \"react-device-detect\";\nconst styles = (theme) => ({\n thumbNail: {\n cursor: 'pointer',\n },\n img: {\n width: \"170px\",\n height: \"200px\",\n borderRadius: \"5px\",\n padding: \"0px\",\n },\n imageTextPadding: {\n paddingTop: \"2em\"\n },\n dialog: {\n backgroundImage: \"url(https://portal.narfo.co.za/Images/notification.png)\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"500px 500px\",\n backgroundPosition:'center',\n backgroundColor:'transparent',\n boxShadow: 'none',\n zIndex:'1000',\n },\n dialogMobile: {\n backgroundImage: \"url(https://portal.narfo.co.za/Images/notification.png)\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"300px 300px\",\n backgroundPosition:'center',\n backgroundColor:'transparent',\n boxShadow: 'none',\n zIndex:'1000',\n },\n dialogContent:{\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n textSlign: \"justify\",\n textJustify: \"inter-word\",\n transform: \"translate(-50%, -50%)\",\n color:\"white\",\n }\n});\n\nclass DialogNotification extends Component {\n constructor(props) {\n super(props);\n this.classes = styles();\n this.state = {\n open:props.show,\n }\n }\n\n handleClose = () => {\n this.setState({open:false});\n this.props.handleCloseErrorDialog();\n };\n\n render() {\n const { classes } = this.props;\n const showCustomizedDialogOnMobile = this.props.message?.length < 134; // if it's less then show customized dialog\n return(\n \n \n \n \n \n
\n
\n \n \n \n warning\n \n \n {/* {this.props.message} */}\n \n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n );\n }\n}\n\nexport default (withStyles(styles)(DialogNotification));\n","import React, { Component } from 'react';\nimport { Redirect } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { withStyles } from '@material-ui/core/styles';\nimport {Button,CircularProgress,FormControl,FormHelperText,Grid,Step,StepLabel,Stepper,Typography} from '@material-ui/core/';\nimport { toast } from 'react-toastify';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport * as actions from '../../../store/Auth/Signup/actions';\nimport TextField from '@material-ui/core/TextField';\nimport Alert from '@material-ui/lab/Alert';\nimport { checkValidity, updateObject,initSignupSelect} from '../../../shared/utility';\nimport {MappedInput, SignupHeader } from '../../../components';\nimport {salesDetailMessage,loginDetailMessage} from '../../../components/Auth/Signup/SignUpText';\nimport CommissionsService from '../../../services/commissions.service'; \nimport EmailVerificationService from '../../../services/emailVerification.service'; \nimport {genderConfig,firstNameConfig,surnameConfig,nicknameConfig,idNumberConfig,cellphoneNumberConfig,occupationConfig,ethnicityConfig,physicalAddressConfig,\n suburbConfig,cityConfig,provinceConfig,postalCodeConfig,fireArmsControlActConfig,fireArmsUseStorageConfig,criminalOffenseConfig,\n declareCodeOfConductConfig,declareDisciplinaryCodeConfig,declareValidInformationConfig,declareElectronicPolicyConfig,declareValidElectronicTrueConfig,\n salesReferralConfig,partnerReferralConfig,associationAffiliationConfig,emailConfig,usernameConfig,passwordConfig,confirmPasswordConfig,salesRepresentativesConfig,\npartnersConfig} from '../../../components/Auth/Signup/controls';\nimport DialogNotification from '../../../components/DialogNotification/DialogNotification'\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { ContactSupport } from '@material-ui/icons';\n\nconst styles = (theme) =>({\n paper: {\n marginTop: theme.spacing(8),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n form: {\n width: '100%',\n marginTop: theme.spacing(1),\n },\n backButton: {\n margin: theme.spacing(2),\n },\n nextButton: {\n margin: theme.spacing(2),\n },\n stepperRoot: {\n paddingLeft: '0',\n paddingRight: '0'\n },\n stepperLabel: {\n '& .MuiStepLabel-alternativeLabel':{\n fontSize: theme.typography.nav.fontSize,\n marginTop: '0',\n }\n },\n formHeading: {\n ...theme.typography.h6,\n fontSize: '1.2rem',\n color: theme.palette.text.secondary,\n borderBottom: '1px solid',\n marginTop: theme.spacing(4)\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n errorPadding: {\n padding: theme.spacing(4)\n },\n submitErrorPadding: {\n padding: theme.spacing(4)\n },\n mobileMargin: {\n marginTop: '25px',\n [theme.breakpoints.up('md')]: {\n marginTop: 0\n }\n }\n});\ntoast.configure();\nclass Signup extends Component {\n constructor(props){\n super(props);\n this.commissionService = CommissionsService(this.props.token);\n this.emailVerificationService = EmailVerificationService(this.props.token);\n this.state = {\n activeStep: 0,\n personalControls: this.initPersonalControls(),\n residentialControls: this.initResidentialControls(),\n declarationControls: this.initDeclarationControls(),\n electronicControls: this.initElectronicControls(),\n salesControls: this.initSalesControls(),\n loginControls: this.initLoginControls(),\n submitError: '',\n nextError: '',\n salesReps: [],\n partners: [],\n partnersDropdown: [],\n hasSalesRep :false,\n open:false,\n openErrorDialog:false,\n errorMessage:\"\",\n memberWaitingVerification:null,\n code:null,\n signupSuccess:true,\n isLoading: false,\n };\n \n //allow binding of \"this\" inside the state handler\n this.handleNext = this.handleNext.bind(this);\n this.handleBack = this.handleBack.bind(this);\n\n }\n\n componentDidMount() {\n this.commissionService.getSalesReps().then(res => {\n \n this.setState({salesReps:res.data})\n });\n \n this.commissionService.getPartners().then(res =>{\n const partners = res.data.map(item => {\n return {value: item.store, label: item.store}\n });\n this.setState({partners:res.data, partnersDropdown: this.initSalesControls2(partners)})\n });\n }\n\n handleCloseErrorDialog = () => {\n this.setState({openErrorDialog:false,errorMessage:''});\n };\n\n\n initPersonalControls = () => ({\n gender: {...genderConfig},\n firstName: {...firstNameConfig},\n surname: {...surnameConfig},\n nickname: {...nicknameConfig},\n idNumber: {...idNumberConfig},\n cellphoneNumber: {...cellphoneNumberConfig},\n occupation: {...occupationConfig},\n ethnicity: {...ethnicityConfig}\n });\n\n initResidentialControls = () => ({\n physicalAddress: {...physicalAddressConfig},\n suburb: {...suburbConfig},\n city: {...cityConfig},\n province: {...provinceConfig},\n postalCode: {...postalCodeConfig}\n });\n\n initDeclarationControls = () => ({\n fireArmsControlAct: {...fireArmsControlActConfig},\n fireArmsUseStorage: {...fireArmsUseStorageConfig},\n criminalOffense: {...criminalOffenseConfig},\n declareCodeOfConduct: {...declareCodeOfConductConfig},\n declareDisciplinaryCode: {...declareDisciplinaryCodeConfig},\n declareValidInfo: {...declareValidInformationConfig},\n });\n\n initElectronicControls = () => ({\n declareElectronicPolicy: {...declareElectronicPolicyConfig},\n declareValidElectronicTrue: {...declareValidElectronicTrueConfig},\n });\n\n initSalesControls = () => ({\n partnerReferral: {...partnerReferralConfig},\n partnersSelect: initSignupSelect(this.props.partners, partnersConfig),\n // salesReferral: {...salesReferralConfig},//Referral\n salesRepSelect: initSignupSelect([], salesRepresentativesConfig),//Drop down\n associationAffiliation: {...associationAffiliationConfig}\n })\n\n\n // Currently using this one \n initSalesControls2 = (partners) => ({\n partnerReferral: {...partnerReferralConfig},\n partnersSelect: initSignupSelect(partners, partnersConfig),\n // salesReferral: {...salesReferralConfig},//Referral\n salesRepSelect: initSignupSelect([], salesRepresentativesConfig),//Drop down\n associationAffiliation: {...associationAffiliationConfig}\n })\n\n \n initLoginControls = () => ({\n email: {...emailConfig},\n username: {...usernameConfig},\n password: {...passwordConfig},\n confirmPassword: {...confirmPasswordConfig}\n })\n\n async handleNext() {\n const newMember = {\n gender: this.state.personalControls.gender.value,\n firstName: this.state.personalControls.firstName.value,\n surname: this.state.personalControls.surname.value,\n nickname: this.state.personalControls.nickname.value,\n cellphoneNumber: this.state.personalControls.cellphoneNumber.value,\n idNumber: this.state.personalControls.idNumber.value,\n occupation: this.state.personalControls.occupation.value,\n ethnicity: this.state.personalControls.ethnicity.value,\n\n physicalAddress: this.state.residentialControls.physicalAddress.value,\n suburb: this.state.residentialControls.suburb.value,\n city: this.state.residentialControls.city.value,\n province: this.state.residentialControls.province.value,\n postalCode: this.state.residentialControls.postalCode.value,\n\n fireArmsControlAct: this.state.declarationControls.fireArmsControlAct.value,\n fireArmsUseStorage: this.state.declarationControls.fireArmsUseStorage.value,\n criminalOffense: this.state.declarationControls.criminalOffense.value,\n declareCodeOfConduct: this.state.declarationControls.declareCodeOfConduct.value,\n declareDisciplinaryCode: this.state.declarationControls.declareDisciplinaryCode.value,\n declareValidInfo: this.state.declarationControls.declareValidInfo.value,\n\n };\n \n const errors = [];\n for (var obj in newMember) {\n if (newMember[obj] === '' && obj !== 'suburb') {\n obj = obj + \" field is required \"\n errors.push(obj)\n }\n }\n\n if (errors.length != 0) {\n this.setState({ nextError: errors.toString() });\n }\n\n\n if (errors.length === 0) {\n this.setState({isLoading:true});\n \n await this.emailVerificationService.checkIDNo(newMember.idNumber).then(res => {\n if(res.data.valid){\n this.setState({ nextError: \"\" });\n this.setState((prevState) => ({activeStep: prevState.activeStep + 1}));\n this.setState({isLoading: false});\n }\n else{\n let errorMessage = `A profile with the ID number already exists on our system.\n We have sent an email to the email address associated with this profile and ID.\n Please check your emails for further instructions.\n If you did not receive a mail, check your spam folders or email support: webadmin@narfo.co.za`;\n // Trigger popupn\n this.setState({errorMessage:errorMessage,openErrorDialog:true, isLoading: false});\n }\n })\n .catch(err =>{\n console.log(\"Error verifying ID number\", err);\n this.setState({isLoading: false});\n })\n // .finally( this.setState({isLoading: false}));\n }\n }\n\n handleBack() {\n this.setState((prevState) => ({\n activeStep: prevState.activeStep - 1\n }));\n }\n\n handleReset() {\n this.setState({\n activeStep: 0,\n });\n }\n\n inputChangePersonalHandler = (event, controlName) => {\n const validity = checkValidity(\n event.target.value, \n this.state.personalControls[controlName].config.validate,\n this.state.personalControls[controlName].config.elementConfig.type\n );\n const updatedControls = updateObject(this.state.personalControls, {\n [controlName]: updateObject(this.state.personalControls[controlName], {\n value: event.target.value,\n config: updateObject(this.state.personalControls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true\n })\n })\n });\n this.setState({personalControls:updatedControls});\n }\n\n inputChangeResidentialHandler = (event, controlName) => {\n const validity = checkValidity(\n event.target.value, \n this.state.residentialControls[controlName].config.validate,\n this.state.residentialControls[controlName].config.elementConfig.type\n );\n const updatedControls = updateObject(this.state.residentialControls, {\n [controlName]: updateObject(this.state.residentialControls[controlName], {\n value: event.target.value,\n config: updateObject(this.state.residentialControls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true\n })\n })\n });\n this.setState({residentialControls:updatedControls});\n }\n\n inputChangeDeclarationHandler = (event, controlName) => {\n const validity = checkValidity(\n event.target.value, \n this.state.declarationControls[controlName].config.validate,\n this.state.declarationControls[controlName].config.elementConfig.type\n );\n const updatedControls = updateObject(this.state.declarationControls, {\n [controlName]: updateObject(this.state.declarationControls[controlName], {\n value: event.target.value,\n config: updateObject(this.state.declarationControls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true\n })\n })\n });\n this.setState({declarationControls:updatedControls});\n }\n\n inputChangeElectronicHandler = (event, controlName) => {\n const validity = checkValidity(\n event.target.value, \n this.state.electronicControls[controlName].config.validate,\n this.state.electronicControls[controlName].config.elementConfig.type\n );\n const updatedControls = updateObject(this.state.electronicControls, {\n [controlName]: updateObject(this.state.electronicControls[controlName], {\n value: event.target.value,\n config: updateObject(this.state.electronicControls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true\n })\n })\n });\n this.setState({electronicControls:updatedControls});\n }\n\n inputChangeSalesHandler = (event, controlName) => {\n const validity = checkValidity(\n event.target.value, \n this.state.salesControls[controlName].config.validate,\n this.state.salesControls[controlName].config.elementConfig.type\n );\n\n const updatedControls = updateObject(this.state.salesControls, {\n [controlName]: updateObject(this.state.salesControls[controlName], {\n value: event.target.value,\n config: updateObject(this.state.salesControls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true\n })\n })\n });\n\n if(controlName == 'partnersSelect'){\n //Find the Store \n let partner = this.findObjectByValue(event.target.value,this.state.partners);\n\n let _salesReps = this.state.salesReps.filter((rep) => rep.storeID == partner.storeId)\n let salesRepsOptions = [];\n \n _salesReps.map(item => {\n salesRepsOptions.push({value: item.memNo, label: item.memNoNavigation.firstname + \" \" + item.memNoNavigation.surname});\n })\n \n updatedControls.salesRepSelect = initSignupSelect(salesRepsOptions, salesRepresentativesConfig);\n this.setState({salesControls:updatedControls,hasSalesRep: salesRepsOptions.length > 0 ? true:false});\n }\n else\n this.setState({salesControls:updatedControls});\n }\n\n findObjectByValue = (value,array) => {\n for (let i = 0; i < array?.length; i++) \n if (array[i]?.store === value) \n return array[i];\n return {};\n }\n\n inputChangeLoginHandler = (event, controlName) => {\n const validity = checkValidity(\n event.target.value, \n this.state.loginControls[controlName].config.validate,\n this.state.loginControls[controlName].config.elementConfig.type\n );\n const updatedControls = updateObject(this.state.loginControls, {\n [controlName]: updateObject(this.state.loginControls[controlName], {\n value: event.target.value,\n config: updateObject(this.state.loginControls[controlName].config, {\n valid: validity.isValid,\n errors: validity.errors,\n touched: true\n })\n })\n });\n this.setState({loginControls:updatedControls});\n }\n\n inputConfirmPasswordHandler = (event, controlName) => {\n const validity = checkValidity(\n event.target.value, \n this.state.loginControls[controlName].config.validate, \n this.state.loginControls[controlName].config.elementConfig.type\n );\n const matchPassword = (event.target.value === this.state.loginControls.password.value);\n const updatedControls = updateObject(this.state.loginControls, {\n [controlName]: updateObject(this.state.loginControls[controlName], {\n value: event.target.value,\n config: updateObject(this.state.loginControls[controlName].config, {\n valid: (matchPassword ? validity.isValid : false),\n errors: (matchPassword ? validity.errors : ['Passwords do not match']),\n touched: true\n })\n })\n });\n this.setState({loginControls:updatedControls});\n }\n\n checkRequired = regInfo => {\n for (var obj in regInfo) {\n if (regInfo[obj] === '' && obj !== 'suburb') {\n return false;\n }\n }\n\n if (regInfo.idNumber.length !== 13) \n return false;\n\n return true;\n };\n\n submitHandler = (event) => {\n \n event.preventDefault();\n this.setState({submitError:''});\n\n //check sales rep \n let salesRep = this.state.salesControls.salesRepSelect.value === \"\" || this.state.salesControls.salesRepSelect.value === \"-\" ? 'NM-0011' : this.state.salesControls.salesRepSelect.value;\n\n const newMember = {\n gender: this.state.personalControls.gender.value,\n firstName: this.state.personalControls.firstName.value,\n surname: this.state.personalControls.surname.value,\n nickname: this.state.personalControls.nickname.value,\n cellphoneNumber: this.state.personalControls.cellphoneNumber.value,\n idNumber: this.state.personalControls.idNumber.value,\n occupation: this.state.personalControls.occupation.value,\n ethnicity: this.state.personalControls.ethnicity.value,\n \n physicalAddress: this.state.residentialControls.physicalAddress.value,\n suburb: this.state.residentialControls.suburb.value,\n city: this.state.residentialControls.city.value,\n province: this.state.residentialControls.province.value,\n postalCode: this.state.residentialControls.postalCode.value,\n\n fireArmsControlAct: this.state.declarationControls.fireArmsControlAct.value,\n fireArmsUseStorage: this.state.declarationControls.fireArmsUseStorage.value,\n criminalOffense: this.state.declarationControls.criminalOffense.value,\n declareCodeOfConduct: this.state.declarationControls.declareCodeOfConduct.value,\n declareDisciplinaryCode: this.state.declarationControls.declareDisciplinaryCode.value,\n declareValidInfo: this.state.declarationControls.declareValidInfo.value,\n\n declareElectronicPolicy: this.state.electronicControls.declareElectronicPolicy.value,\n declareValidElectronicTrue: this.state.electronicControls.declareValidElectronicTrue.value,\n\n partnerReferral: this.state.salesControls.partnerReferral.value == 'Narfo Head Office' ? this.state.salesControls.partnerReferral.value: this.state.salesControls.partnersSelect.value,\n salesReferral: this.state.salesControls.partnerReferral.value != 'Narfo Head Office' ? salesRep : 'NM-0011',\n \n associationAffiliation: this.state.salesControls.associationAffiliation.value,\n \n email: this.state.loginControls.email.value,\n username: this.state.loginControls.username.value,\n password: this.state.loginControls.password.value,\n confirmPassword: this.state.loginControls.confirmPassword.value\n };\n\n const requiredFields = this.checkRequired(newMember);\n \n if(!requiredFields) {\n const message = 'Please complete all of the required fields before submitting the application';\n this.setState({submitError:message});\n \n } else if(\n newMember.fireArmsControlAct === 'false' ||\n newMember.fireArmsUseStorage === 'false' ||\n newMember.declareCodeOfConduct === 'false' ||\n newMember.declareDisciplinaryCode === '' ||\n newMember.declareValidInfo === '' ||\n newMember.declareElectronicPolicy === '' ||\n newMember.declareValidElectronicTrue === '' ){\n\n const message = 'All declarations need to be accepted before you can sign up with NARFO';\n this.setState({submitError:message});\n\n } else if(newMember.criminalOffense === 'true'){\n\n const message = 'You can not become a member of NARFO if you have been found criminal of any firearm related offense';\n this.setState({submitError:message});\n } else {\n\n //Save user data \n this.emailVerificationService.registerNewUser(newMember)\n .then(response =>{\n\n if(response.data.status !== 200){\n \n this.setState({errorMessage:response.data.error,openErrorDialog:true});\n }\n else{\n this.emailVerificationService.isValidMember(newMember.email,newMember.username).then(res => {\n this.sendVerificationCode(this.state.loginControls.email.value);\n // this.setState({open:true,memberWaitingVerification:newMember});\n })\n .catch(error =>{\n console.log(\"inside \", error);\n this.setState({errorMessage:'Email already exists',openErrorDialog:true});\n });\n \n this.setState({shouldRedirect:true});\n }\n })\n .catch(err=>{\n console.log(\"main \", err)\n \n this.setState({errorMessage:err.message,openErrorDialog:true});\n });\n\n // try {\n // const response = await this.emailVerificationService.registerNewUser(newMember);\n \n // console.log(\"Approved \", response);\n // if(response.data.status !== 200){\n\n // }\n\n // this.setState({ shouldRedirect: true });\n // } catch (err) {\n // console.log(\"main \", err);\n // this.setState({ errorMessage: err.message, openErrorDialog: true });\n // }\n \n }\n };\n\n onCodeChange(e) {\n e.preventDefault();\n this.setState({ code: e.target.value });\n }\n\n sendVerificationCode =(email,resend)=>{\n this.emailVerificationService.sendVerificationCode(email).then(res => {\n if(resend)\n toast.success(\"Verification code for email \"+ email + \" has been sent successfully\");\n });\n }\n\n checkIDNo = async (idNo)=>{\n await this.emailVerificationService.checkIDNo(idNo).then(res => {\n if(!res.data.valid){\n return false;\n }\n return res.data.valid;\n })\n .catch(err =>{\n console.log(\"Error verifying ID number\", err);\n return false;\n });\n }\n\n Signup =(code)=>{\n let newMember = this.state.memberWaitingVerification; \n\n if(!code)\n newMember.code = this.state.code;\n else\n newMember.code = code;\n\n //check if code is valid \n this.emailVerificationService.isValidCode(newMember.email,newMember.code).then(res => {\n // this.props.onSignup(newMember);\n //Signup member\n this.emailVerificationService.registerNewUser(newMember).then(response =>{\n this.setState({shouldRedirect:true});\n })\n .catch((err)=>{\n console.log(err)\n console.log(\"TDDDDD 549\", err.message);\n\n this.setState({errorMessage:'Error saving member',openErrorDialog:true});\n });\n })\n .catch(error =>{\n console.log(\"TDDDDD 549\", error.message);\n this.setState({errorMessage:'Invalid code',openErrorDialog:true});\n });\n }\n \n render() {\n \n function getStepContent(stepIndex) {\n switch (stepIndex) {\n case 0:\n return personalDetailsPage ;\n\n case 1:\n return accountInformationPage;\n \n default:\n return 'Unknown stepIndex';\n }\n }\n\n if(this.state.partners == 0)\n {\n this.commissionService.getPartners().then(res =>{\n const partners = res.data.map(item => {\n return {value: item.store, label: item.store}\n });\n console.log(res.data)\n this.setState({salesControls: this.initSalesControls2(partners)});\n // this.setState({salesControls: this.initSalesControls()});\n })\n }\n\n const {classes} = this.props;\n const personalElementArray = [];\n const residentialElementArray = [];\n const declarationElementArray = [];\n const electronicElementArray = [];\n const salesElementArray = [];\n const loginElementArray = [];\n const salesRepElemtArray = [];\n\n const stepperLabels = [\n { name: 'Personal Details'},\n { name: 'Account Information'}\n ];\n\n let signupRedirect = null;\n let postError = null;\n let loadingBlock = null;\n\n for (let key in this.state.personalControls) {\n personalElementArray.push( {\n id: key,\n config: this.state.personalControls[key].config,\n value: this.state.personalControls[key].value,\n });\n }\n\n for (let key in this.state.residentialControls) {\n residentialElementArray.push( {\n id: key,\n config: this.state.residentialControls[key].config,\n value: this.state.residentialControls[key].value\n });\n }\n\n for (let key in this.state.declarationControls) {\n declarationElementArray.push( {\n id: key,\n config: this.state.declarationControls[key].config,\n value: this.state.declarationControls[key].value\n });\n }\n\n for (let key in this.state.electronicControls) {\n electronicElementArray.push( {\n id: key,\n config: this.state.electronicControls[key].config,\n value: this.state.electronicControls[key].value,\n message: this.state.electronicControls[key].message\n });\n }\n\n for (let key in this.state.salesControls) {\n salesElementArray.push( {\n id: key,\n config: this.state.salesControls[key].config,\n value: this.state.salesControls[key].value\n });\n }\n\n for (let key in this.state.saleRepControl) {\n salesRepElemtArray.push( {\n id: key,\n config: this.state.saleRepControl[key].config,\n value: this.state.saleRepControl[key].value\n });\n }\n\n for (let key in this.state.loginControls) {\n loginElementArray.push( {\n id: key,\n config: this.state.loginControls[key].config,\n value: this.state.loginControls[key].value\n });\n }\n\n let personalForm = personalElementArray.map( formElement => (\n \n \n this.inputChangePersonalHandler(event, formElement.id)} \n showHide={formElement.id !== 'password' ? null : this.showHide}\n showPassword={formElement.id !== 'password' ? null : this.state.showPassword}\n />\n \n {formElement.config.errors ? formElement.config.errors[0] : 'Input is invalid'}\n \n \n \n \n ));\n\n let residentialForm = residentialElementArray.map( formElement => (\n \n \n this.inputChangeResidentialHandler(event, formElement.id)} \n showHide={formElement.id !== 'password' ? null : this.showHide}\n showPassword={formElement.id !== 'password' ? null : this.state.showPassword}\n />\n \n {formElement.config.errors ? formElement.config.errors[0] : 'Input is invalid'}\n \n \n \n ));\n\n let declarationForm = declarationElementArray.map(formElement => (\n \n \n this.inputChangeDeclarationHandler(event, formElement.id)} \n />\n \n {formElement.config.errors ? formElement.config.errors[0] : 'Input is invalid'}\n \n \n \n ));\n\n let electronicForm = electronicElementArray.map(formElement => (\n \n \n

\n {formElement.message}\n

\n
\n \n \n this.inputChangeElectronicHandler(event, formElement.id)} \n />\n \n {formElement.config.errors ? formElement.config.errors[0] : 'Input is invalid'}\n \n \n \n
\n ));\n \n let salesForm = salesElementArray.map(formElement => (\n \n {\n formElement.id === 'salesRepSelect' ?\n this.state.salesControls.partnerReferral.value === 'Yes' && this.state.salesControls.partnersSelect.value !== '' && this.state.hasSalesRep?\n \n this.inputChangeSalesHandler(event, formElement.id)} \n />\n \n {formElement.config.errors ? formElement.config.errors[0] : 'Input is invalid'}\n \n : null\n \n :\n formElement.id === 'partnersSelect' ?\n this.state.salesControls.partnerReferral.value === 'Yes' ?\n \n this.inputChangeSalesHandler(event, formElement.id)} \n />\n \n {formElement.config.errors ? formElement.config.errors[0] : 'Input is invalid'}\n \n \n : null\n :\n \n this.inputChangeSalesHandler(event, formElement.id)} \n />\n \n {formElement.config.errors ? formElement.config.errors[0] : 'Input is invalid'}\n \n \n }\n \n ));\n\n\n let loginForm = loginElementArray.map(formElement => (\n \n \n this.inputChangeLoginHandler(event, formElement.id) :\n (event) => this.inputConfirmPasswordHandler(event, formElement.id)\n } \n />\n \n {formElement.config.errors ? formElement.config.errors[0] : 'Input is invalid'}\n \n \n \n ));\n\n \n if (this.props.loading) {\n loadingBlock = \n \n \n ;\n } \n\n const submitError = (\n \n {this.state.submitError}\n \n );\n \n const nextError = (\n \n {this.state.nextError}\n \n );\n\n if (this.state.signupSuccess && this.state.shouldRedirect) {\n signupRedirect = ;\n }\n\n const personalDetailsPage = (\n \n \n \n \n Personal Details\n \n \n {personalForm}\n \n \n Residential\n \n \n {residentialForm}\n \n \n Declaration\n \n \n {declarationForm}\n \n );\n\n const accountInformationPage = (\n \n \n \n Join the National Association of Responsible Firearm Owners\n \n \n \n \n \n {postError}\n {signupRedirect}\n \n \n \n\n \n {submitError}\n {nextError}\n\n \n \n {this.state.activeStep === stepperLabels.length - 1 ? 'Go to LogIn' : 'Proceed to Account Details'}\n \n {this.state.isLoading && }\n \n\n\n {/* Verifiy Email before continuing */}\n \n \n this.setState({open:false})}>\n \n \n\n \n Verify email\n \n \n We've sent verification code to your email
\n {this.state.memberWaitingVerification?.email}\n
\n
\n\n
\n this.onCodeChange(e)}\n />\n\n \n \n \n\n
\n \n \n \n\n \n \n\n \n

OR

\n
\n \n \n \n \n
\n \n
\n
\n
\n\n \n\n \n {/* */}\n \n \n \n );\n }\n}\n\nconst mapStatetoProps = state => ({\n loading: state.nSignupReducer.loading,\n // error: state.nSignupReducer.error,\n signupSuccess: state.nSignupReducer.signupSuccess,\n signupRedirectPath: state.nSignupReducer.signupRedirectPath,\n isAuthenticated: state.AuthReducer.token !== null,\n salesReps: state.nSignupReducer.salesReps,\n // partners: state.nSignupReducer.partners\n});\n\nexport default connect(mapStatetoProps, null)(withStyles(styles)(Signup));","\nexport const salesDetailMessage = (\n 'We are almost done. In order to effectively provide you with the necessary assistance\\\n and support, please select one of our partners and the representative who assisted you. \\\n If no one personally attended to you or you did not join through one of our partners, \\\n keep the selections as \"No\".'\n);\n\nexport const loginDetailMessage = (\n 'For your registration to be successful and use the online platform, we require a unique \\\n email address and username. Also, please provide a password that you will use to log in \\\n once your profile is activated. NEVER give your login details and password to anyone, this \\\n will compromise the security of your personal information. After completing this step, you \\\n will be redirected to the secure online payment platform. This is a third party service \\\n provider. They will store your email address and username to identify the transaction. If \\\n the payment is successful, your profile will be activated. If you do not complete the \\\n online transaction, your profile will only be activated once payment has been verified.'\n);","import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport {\n Button,\n Grid,\n Typography\n} from '@material-ui/core/';\n\nimport { withRouter,Redirect } from 'react-router-dom';\nimport { connect } from 'react-redux';\n\nconst styles = (theme) => ({\n root: {\n paddingTop: '100px'\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n paddingBottom: '8px',\n textAlign: 'justify'\n },\n offlineButton: {\n marginTop: theme.spacing(4),\n },\n});\n\nclass Return extends Component {\n \n handleSubmit = () => {\n \n // this.props.history.push('/member/my-profile');\n // window.location.reload();\n\n\n };\n render() {\n const {classes} = this.props; \n return (\n \n \n \n \n Payment processed successfully\n \n \n An email will be sent confirming the approval of your application.\n Thank you for joining!\n \n {/* \n Back to profile\n */}\n \n\n \n \n \n );\n }\n}\nReturn.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStatetoProps = state => ({\n\tauthRedirectPath: state.AuthReducer.authRedirectPath,\n\ttoken: state.AuthReducer.token,\n recatchaKey: state.RecaptchaKeyReducer,\n member: state.ProfileReducer.memberData\n});\n\nexport default connect(mapStatetoProps, null)(withStyles(styles)(withRouter(Return)));","import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport {\n Button,\n Grid,\n Typography\n} from '@material-ui/core/';\nimport { withRouter } from 'react-router-dom';\n\nconst styles = (theme) => ({\n root: {\n paddingTop: '100px'\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n paddingBottom: '8px',\n textAlign: 'justify'\n },\n offlineButton: {\n marginTop: theme.spacing(4),\n },\n});\n\nclass Cancel extends Component {\n handleSubmit = () => {\n this.props.history.push('/login');\n window.location.reload();\n };\n render() {\n const {classes} = this.props; \n return (\n \n \n \n \n You cancelled the payment process.\n \n \n You may login and try paying again below\n \n \n Login and Continue\n \n \n \n \n );\n }\n}\nCancel.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\n\nexport default withStyles(styles)(withRouter(Cancel));","import { createTheme } from '@material-ui/core/styles';\n\nconst theme = createTheme({\n palette: {\n primary: {\n light: '#E3DFF0',\n main: '#4F36A6',\n contrastText: '#FFFFFF',\n },\n secondary: {\n main: '#151515',\n light: '#4F4F4F',\n contrastText: '#483C9E',\n },\n common: {\n white2: {\n main: '#FAFAFA',\n },\n white3: {\n main: '#F9F9F9',\n },\n },\n action: {\n hover: '#DADADAAB',\n active: '#4F36A6',\n },\n buttonPrimary: {\n main: '#483C9E',\n },\n buttonSecondary: {\n main: '#E3DFF0',\n },\n buttonContrast: {\n main: '#FFFFFF',\n contrastText: '#E3DFF0'\n },\n tableLabelColor: {\n main: '#898989',\n },\n tableBackgroundColor: {\n main: '#EDEDED',\n },\n text: {\n primary: '#4F4F4F',\n secondary: '#483C9E',\n },\n navBarBackdrop: {\n background: 'linear-gradient(150deg, #FFFFFF 70%, #4F36A6 70%)',\n },\n footerBackdrop: {\n background: '#F0F0F0',\n },\n mainBackground: {\n backgroundColor: '#EEEDF0',\n }\n },\n typography: {\n fontFamily: '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif\"',\n fontSize: 16,\n lineHeight: '1.375rem',\n button: {\n fontSize: '1rem',\n lineHeight: '1.375rem',\n },\n h1: {\n fontWeight: 800,\n fontSize: '1.875rem',\n color: '#4F4F4F',\n lineHeight: '2.0625rem',\n },\n h4: {\n fontWeight: 800,\n fontSize: '1.5rem',\n lineHeight: '2rem',\n },\n h5: {\n fontWeight: 800,\n fontSize: '1.25rem',\n lineHeight: '1.6rem',\n },\n h6: {\n fontWeight: 800,\n fontSize: '1rem',\n lineHeight: '1.375rem',\n },\n subtitle1: {\n fontSize: '1.875rem',\n color: '#483C9E',\n lineHeight: '2.0625rem',\n fontWeight: 'lighter',\n },\n subtitle2: {\n fontSize: '1.5rem',\n color: '#483C9E',\n lineHeight: '2.0625rem',\n fontWeight: 'lighter',\n },\n body1: {\n fontSize: '1rem',\n lineHeight: '1.375rem',\n },\n body2: {\n fontSize: '1.5rem',\n lineHeight: '2rem',\n },\n nav: {\n fontSize: '0.9375rem',\n color: '#1A1630',\n lineHeight: '1.277rem',\n fontWeight: 'medium',\n\n },\n paragraph: {\n fontSize: '0.9375rem',\n color: '#000000',\n lineHeight: '1.2rem',\n fontWeight: 'normal'\n },\n icons: {\n fontSize: '1.625rem'\n },\n },\n overrides: {\n MuiDivider: {\n root: {\n margin: '5px 0',\n },\n },\n MuiTypography: {\n root: {\n paddingLeft: '10px',\n }\n },\n MuiTabs: {\n flexContainer: {\n padding: '5px',\n },\n },\n MuiTableRow: {\n root: {\n backgroundColor: '#EDEDED',\n },\n head: {\n backgroundColor: 'transparent'\n }\n },\n MuiTable: {\n root: {\n borderCollapse: 'separate',\n borderSpacing: '0 2px',\n }\n },\n MuiTableCell: {\n root: {\n fontSize: '1rem',\n lineHeight: '2.4rem',\n padding: '0 8px',\n maxWidth: '250px',\n },\n body: {\n color: '#898989',\n }\n },\n MuiButton: {\n containedSecondary: {\n color: '#483C9E',\n backgroundColor: '#E3DFF0',\n '&:hover': {\n color: '#FAFAFA',\n backgroundColor: '#7867b1'\n }\n },\n },\n MuiRadio: {\n colorSecondary: {\n color: '#4F36A6',\n '&.Mui-checked': {\n color: '#4F36A6',\n }\n },\n },\n actionbutton: {\n backgroundColor: '#ffffff',\n color: '#4F36A6',\n padding: '15px',\n border: '1px solid #EEEDF0',\n boxShadow: 'none',\n borderRadius: '0',\n borderTop: '0',\n fontWeight: 'bold',\n '&:hover': {\n backgroundColor: 'transparent',\n boxShadow: '0px 2px 2px 0px rgb(0 0 0 / 14%), 0px 1px 5px 0px rgb(0 0 0 / 12%)'\n }\n },\n sectionHeading: {\n fontSize: '1.5rem',\n fontWeight: '500',\n color: '#4F36A6',\n borderBottom: '1px solid #EEEDF0',\n padding: '15px'\n },\n },\n zIndex: {\n mobileStepper: 1000,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500,\n },\n mixins: {\n toolbar: {\n minHeight: 56,\n '@media(min - width: 0px) and(orientation: landscape)': {\n minHeight: 48\n },\n '@media(min - width: 600px)': {\n minHeight: 64\n },\n },\n },\n breakpoints: {\n values: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n },\n },\n spacing: (factor) => `${factor * 4}px`,\n targetList: {\n fontWeight: 800,\n fontSize: '1.25rem',\n lineHeight: '1.6rem',\n },\n})\n\nexport default theme;\n","import { createTheme } from '@material-ui/core/styles';\nimport grey from '@material-ui/core/colors/grey';\nimport lightGreen from '@material-ui/core/colors/lightGreen';\n\nconst arcBlue = \"#0B7289\";\nconst arcOrange = \"#FFBA60\";\nconst _grey = \"#808080\";\nconst _white = \"#FFFFFF\"\nconst _purple = \"#4738a0\";\nconst _lightGrey = \"#F0F0F0\";\n\nconst theme = createTheme({\n palette: {\n common: {\n blue: `${arcBlue}`,\n orange: `${arcOrange}`,\n grey: `${_grey}`,\n lightGrey: `${_lightGrey}`\n },\n primary: {\n main: `${_white}`,\n },\n secondary: {\n main:`${_purple}`\n }\n },\n typography: {\n h4: {\n fontWeight: 700,\n fontFamily: 'calibri'\n },\n h5: {\n fontWeight: 600,\n },\n h6: {\n fontWeight: 600,\n fontFamily: 'calibri'\n },\n useNextVariants: true,\n },\n});\n\nexport default theme;","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { Link } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport List from \"@material-ui/core/List\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ArrowBack from \"@material-ui/icons/ArrowBackIos\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport { withRouter } from \"react-router-dom\";\nimport \"./customList.css\";\n\nconst styles = theme => ({\n root: {\n width: \"100%\",\n maxWidth: 360\n },\n button: {\n margin: \"0px\"\n },\n link: {\n textDecoration: \"none\",\n color: \"black\",\n fontWeight: theme.typography.fontWeightRegular\n },\n list: {\n margin: 0\n }\n});\n\nclass CustomList extends Component {\n logoutMember = () => {\n this.props.onUserDetailsChange(\"\", \"email\");\n this.props.onUserDetailsChange(\"\", \"username\");\n this.props.onUserDetailsChange(\"\", \"cellNo\");\n this.props.onUserDetailsChange(\"\", \"physicalAddress\");\n this.props.onUserDetailsChange(\"\", \"memberNumber\");\n this.props.onUserDetailsChange(\"\", \"expiryDate\");\n this.props.onLoginDetailsChange(\"\", \"email\");\n this.props.onLoginDetailsChange(\"\", \"password\");\n sessionStorage.removeItem(\"member\");\n this.props.onMemberActiveStatusChange({});\n sessionStorage.removeItem(\"activeStatus\");\n sessionStorage.removeItem(\"tokenKey\");\n localStorage.removeItem(\"tokenKey\");\n this.props.onUserDetailsChange(false, \"isLoggedIn\");\n this.props.onUserDetailsChange(false, \"adminLevel\");\n this.props.history.push(\"/\");\n };\n render() {\n const { classes } = this.props;\n return (\n
\n \n
\n \n \n \n {this.props.heading}\n \n \n
\n {this.props.listOfButtons.map((text, index) => (\n
\n {text === \"Logout\" ? (\n \n ) : (\n \n \n {text}\n \n \n )}\n
\n ))}\n
\n
\n );\n }\n}\n\nCustomList.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onMemberActiveStatusChange: newActiveStatus =>\n dispatch({\n type: actionTypes.UPDATE_ACTIVE_STATUS,\n activeStatus: newActiveStatus\n }),\n\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname\n }),\n onLoginDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_LOGIN_DETAILS,\n varValue: value,\n varName: vname\n })\n };\n};\n\nexport default connect(\n null,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(CustomList)));\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport SwipeableDrawer from \"@material-ui/core/SwipeableDrawer\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport MenuIcon from \"@material-ui/icons/Menu\";\nimport CustomList from \"./CustomList\";\nimport { connect } from \"react-redux\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nconst styles = {\n list: {\n width: 250\n },\n fullList: {\n width: \"auto\"\n }\n};\n\nclass HamburgerMenu extends React.Component {\n state = {\n HamburgerToggled: false\n };\n\n toggleDrawer = open => () => {\n this.setState({\n HamburgerToggled: open\n });\n };\n\n render() {\n const headings = this.props.toggleHamburger\n ? [\n \"Members\",\n \"Admin Management\",\n \"Course Management\",\n \"Dropdown Management\",\n \"Emails\",\n \"News\",\n \"Notifications\",\n \"Uploads\"\n ]\n : [\"About\", \"Firearm Owners\", \"Hunting\", \"Sport Shooting\", \"View All News\"];\n\n const headings2 = this.props.toggleHamburger\n ? [\n \"Members\",\n \"Admin Management\",\n \"Course Management\",\n \"Dropdown Management\",\n \"Emails\",\n \"News\",\n \"Notifications\",\n \"Uploads\",\n \"Configure Payfast\",\n \"Update Loyalty Days\",\n \"Process Commission Payment\",\n \"Process Member Payment\",\n \"DS NonCompliance List\",\n \"Logout\"\n ]\n : [\"About\", \"Firearm Owners\", \"Hunting\", \"Sport Shooting\", \"View All News\", \"Logout\"];\n\n const { classes } = this.props;\n const sideList = (\n
\n \n
\n );\n\n return (\n
\n \n \n \n \n \n {sideList}\n
\n \n
\n );\n }\n}\n\nHamburgerMenu.propTypes = {\n classes: PropTypes.object.isRequired\n};\nconst mapStateToProps = state => {\n return {\n toggleHamburger: state.mainReducer.toggleHamburger,\n userDetails: state.loginReducer.userProfileDetails\n };\n};\nexport default connect(\n mapStateToProps,\n null\n)(withStyles(styles)(HamburgerMenu));\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { alpha } from \"@material-ui/core/styles/colorManipulator\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Button from \"@material-ui/core/Button\";\nimport HamburgerMenu from \"./HamburgerMenu\";\nimport theme from \"../../materialUI/NarfoTheme\";\nimport * as actionTypes from \"../../store/actions/actionTypes\";\nimport JWT from \"jwt-decode\";\nimport narfoLogo from \"../qrLinkToMember/qrImages/narfoLogo.jpg\";\nimport \"./customList.css\";\nconst styles = {\n root: {\n flexGrow: 1,\n backgroundColor: \"#FFF\",\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0\n },\n grow: {\n flexGrow: 1\n },\n menuButton: {\n marginLeft: -12,\n marginRight: 20\n },\n search: {\n position: \"relative\",\n borderRadius: theme.shape.borderRadius,\n backgroundColor: alpha(theme.palette.common.white, 0.15),\n \"&:hover\": {\n backgroundColor: alpha(theme.palette.common.white, 0.25)\n },\n marginLeft: 0,\n width: \"100%\",\n [theme.breakpoints.up(\"sm\")]: {\n marginLeft: theme.spacing.unit,\n width: \"100%\"\n }\n },\n searchIcon: {\n width: 30,\n height: \"100%\",\n position: \"absolute\",\n pointerEvents: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n linkLeft: {\n textDecoration: \"none\",\n color: \"#6BC20A\",\n fontWeight: theme.typography.fontWeightRegular\n },\n inputRoot: {\n color: \"inherit\",\n width: \"10%\"\n },\n inputInput: {\n paddingTop: theme.spacing.unit,\n paddingRight: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n paddingLeft: 30,\n transition: theme.transitions.create(\"width\"),\n width: \"auto\",\n [theme.breakpoints.up(\"sm\")]: {\n width: \"auto\",\n \"&:focus\": {\n width: \"25%\"\n }\n }\n }\n};\n\nfunction ButtonAppBar(props) {\n const { classes } = props;\n function loginCheck() {\n if (!props.isLoggedIn) {\n let TokenStored = localStorage.getItem(\"tokenKey\");\n if (!TokenStored) {\n TokenStored = sessionStorage.getItem(\"tokenKey\");\n }\n if (TokenStored) {\n var decode = JWT(TokenStored);\n props.onUserDetailsChange(decode.email, \"email\");\n props.onUserDetailsChange(decode.sub, \"username\");\n props.onUserDetailsChange(decode.azp, \"cellNo\");\n props.onUserDetailsChange(decode.acr, \"physicalAddress\");\n props.onUserDetailsChange(decode.amr, \"memberNumber\");\n props.onUserDetailsChange(decode.nbf, \"occupation\");\n props.onUserDetailsChange(decode.prn, \"expiryDate\");\n props.onMainDetailsChange(false, \"isAdmin\");\n props.onUserDetailsChange(decode.nameid === \"True\", \"adminLevel\");\n props.onUserDetailsChange(true, \"isLoggedIn\");\n\n if (sessionStorage.getItem(\"member\") !== \"undefined\") {\n props.onGetLoggedInMemberChange(\n JSON.parse(sessionStorage.getItem(\"member\"))\n );\n if (sessionStorage.getItem(\"activeStatus\") !== \"undefined\") {\n props.onMemberActiveStatusChange(\n JSON.parse(sessionStorage.getItem(\"activeStatus\"))\n );\n }\n }\n }\n }\n }\n\n function showLoggedInButtons() {\n return props.isLoggedIn ? (\n
\n {\n props.onMemberStateChange(false, \"isAdmin\");\n props.onToggleHamburgerChange(false);\n }}\n to=\"/admin/MembersArea\"\n color=\"inherit\"\n >\n
\n {\" \"}\n {props.username}{\" \"}\n
\n \n {props.adminLevel ? (\n {\n props.onMemberStateChange(true, \"isAdmin\");\n props.onToggleHamburgerChange(true);\n }}\n color=\"inherit\"\n >\n \n Admin Portal\n
\n\n \n Admin\n
\n \n ) : null}\n
\n ) : (\n
\n props.onMemberStateChange(false, \"isAdmin\")}\n color=\"inherit\"\n >\n Login\n \n \n Join\n \n
\n );\n }\n\n function showLoggedInButtonsMobile() {\n var size = `8px`;\n\n return props.isLoggedIn ? (\n
\n {\n props.onMemberStateChange(false, \"isAdmin\");\n props.onToggleHamburgerChange(false);\n }}\n to=\"/admin/MembersArea\"\n color=\"inherit\"\n style={{ fontSize: { size } }}\n >\n
\n {\" \"}\n {props.username}{\" \"}\n
\n \n {props.adminLevel ? (\n {\n props.onMemberStateChange(true, \"isAdmin\");\n props.onToggleHamburgerChange(true);\n }}\n color=\"inherit\"\n style={{ fontSize: { size } }}\n >\n \n Admin Portal\n
\n\n \n Admin\n
\n \n ) : null}\n
\n ) : (\n
\n props.onMemberStateChange(false, \"isAdmin\")}\n color=\"inherit\"\n style={{ fontSize: { size } }}\n >\n Login\n \n \n Join\n \n
\n );\n }\n function logoRender() {\n return (\n \n );\n }\n if (window.location.href.includes(\"?\") && !window.location.href.includes(\"?=\")) {\n return logoRender();\n } \n else {\n return (\n \n \n \n \n \n {\n props.onToggleHamburgerChange(false);\n }}\n >\n NARFO\n \n \n \n
\n
\n {showLoggedInButtonsMobile()}{\" \"}\n
\n
{showLoggedInButtons()}
\n \n \n );\n }\n}\n\nButtonAppBar.propTypes = {\n classes: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = state => {\n return {\n adminLevel: state.loginReducer.userProfileDetails.adminLevel,\n partnerLevel: state.loginReducer.userProfileDetails.partnerLevel,\n salesRepLevel: state.loginReducer.userProfileDetails.salesRepLevel,\n isLoggedIn: state.loginReducer.userProfileDetails.isLoggedIn,\n username: state.loginReducer.userProfileDetails.username,\n isAdminPortal: state.loginReducer.memberState.isAdmin\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onGetLoggedInMemberChange: newGetLoggedInMember =>\n dispatch({\n type: actionTypes.UPDATE_GET_LOGGED_IN_MEMBER,\n getLoggedInMember: newGetLoggedInMember\n }),\n\n onMemberActiveStatusChange: newActiveStatus =>\n dispatch({\n type: actionTypes.UPDATE_ACTIVE_STATUS,\n activeStatus: newActiveStatus\n }),\n\n onToggleHamburgerChange: toggle =>\n dispatch({\n type: actionTypes.TOGGLE_HAMBURGER,\n toggleHamburger: toggle\n }),\n onUserDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_USER_DETAILS,\n varValue: value,\n varName: vname\n }),\n onLoginDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_LOGIN_DETAILS,\n varValue: value,\n varName: vname\n }),\n onMainDetailsChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MAIN_DETAILS,\n varName: vname,\n varValue: value\n }),\n onMemberStateChange: (value, vname) =>\n dispatch({\n type: actionTypes.UPDATE_MEMBER_STATE,\n varName: vname,\n varValue: value\n })\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(ButtonAppBar));\n","const aux = ( props ) => props.children;\n\nexport default aux;","import React, { useEffect, useState } from \"react\";\nimport { Gallery } from \"react-grid-gallery\";\nimport Lightbox from \"react-image-lightbox\";\nimport \"react-image-lightbox/style.css\";\nimport SITE_URL from \"../../services/siteURL\";\nimport Axios from \"axios\";\nimport API_URL from \"../../services/apiUrl\";\nimport dataCountries from \"../Activities/countries.json\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Grid from '@material-ui/core/Grid';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport Box from '@material-ui/core/Box';\nimport CircularProgress from '@material-ui/core/CircularProgress';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n margin:'3px'\n },\n paper: {\n padding: theme.spacing(2),\n textAlign: 'center',\n color: theme.palette.text.secondary,\n },\n}));\n\nexport default function HuntingGallery() {\n const [index, setIndex] = useState(-1);\n const [Images, setImages] = useState([]);\n const [defaultImages, setDefaultImages] = useState([]);\n const [species, setSpecies] = useState([]);\n const [defaultFarms, setDefaultFarms] = useState([]);\n const [defaultSpecies, setDefaultSpecies] = useState([]);\n const [tempFarmImages, setTempFarmImages] = useState([]);\n const [tempSpecieImages, setTempSpecieImages] = useState([]);\n const [farms, setFarms] = useState([]);\n const [isLoading, setIsLoading] = useState(true);\n const classes = useStyles();\n const currentImage = Images[index];\n const nextIndex = (index + 1) % Images.length;\n const nextImage = Images[nextIndex] || currentImage;\n const prevIndex = (index + Images.length - 1) % Images.length;\n const prevImage = Images[prevIndex] || currentImage;\n const handleClick = (index, item) => setIndex(index);\n const handleClose = () => setIndex(-1);\n const handleMovePrev = () => setIndex(prevIndex);\n const handleMoveNext = () => setIndex(nextIndex);\n\n useEffect(() => {\n // call the function\n setIsLoading(true);\n fetchData()\n .then(_ =>{\n // console.log(\"Fetch DATA\", data) NB!!!!! bring this back if images are not loading\n setIsLoading(false);\n })\n // make sure to catch any error\n .catch(console.error);\n\n }, []);\n\n\n const fetchData = async () => {\n await getGalleryActivityItem().then(data =>{\n })\n .catch(error =>{\n console.log(\"Error\", error)\n });\n }\n \n const getHeightAndWidthFromDataUrl = async (dataURL) => {\n const img = new Image();\n img.src = dataURL;\n try \n {\n await img.decode();\n }\n catch(ex){\n console.log(\"Cannot decode Image\", ex)\n console.log(\"Image \" + dataURL)\n return {\n height: 0,\n width: 0,\n };\n }\n\n return {\n height: img.height,\n width: img.width,\n };\n };\n \n const objectExistsInArray = (array, obj)=> {\n for (let i = 0; i < array.length; i++) {\n if (JSON.stringify(array[i]) === JSON.stringify(obj)) {\n return true;\n }\n }\n return false;\n }\n \n const getGalleryActivityItem = async () => {\n const response = await Axios.get(`${API_URL}/Gallery/GetGalleryData`);\n const farmsData = [];\n const speciesResponse = await Axios.get(`${API_URL}/SpecieLookups`);\n const speciesData = speciesResponse.data;\n const mappedImages = await Promise.all(response.data.map(async (item) => {\n\n let _farm = { name: item.farmName, id: item.farmName };\n\n if(!objectExistsInArray(farmsData,_farm))\n farmsData.push(_farm);\n \n const nickName = item.nickName;\n \n //Build image url\n let imageUrl = SITE_URL.includes(\"portal.narfo.co.za\")\n ? SITE_URL + item.url\n : \"https://qaportal.narfo.co.za/\" + item.url;\n \n const { height, width } = await getHeightAndWidthFromDataUrl(imageUrl);\n \n if(height == 0 && width == 0)\n {\n console.log(\"Error decoding image\", item);\n }\n\n return {\n src: imageUrl,\n original: imageUrl,\n width,\n height,\n tags: [\n { title: \"NickName\", value: nickName },\n { title: \"Location\", value: item.country + \", \" + item.state },\n { title: \"farmName \", value: \"Farm name - \" + item.farmName },\n { title: \"specie\", value: item.specie },\n ],\n };\n \n }));\n \n setImages(mappedImages);\n setDefaultImages(mappedImages);\n setFarms(farmsData);\n setDefaultFarms(farmsData);\n setSpecies(speciesData);\n setDefaultSpecies(speciesData);\n };\n \n const handleSearch = (tags, option) => {\n let results = [];\n\n switch (option) {\n case 0:\n results = searchByTags(tags);\n let _farms = defaultFarms;\n\n if (results.length > 0 && tags.length > 0) {\n //Filter farms based on country\n _farms = filterFarmsDropDownlist(results);\n setFarms(_farms);\n setTempFarmImages(results);\n }\n else if(tags.length > 0) setFarms([]);\n else setFarms(_farms);\n\n break;\n\n case 1:\n\n if(tags.length === 0){\n //Set species dropdown to default\n results = tempFarmImages;\n\n //We all the results and base of the country \n setSpecies(defaultSpecies);\n\n break;\n }\n results = searchByFarmTags(tags);\n\n let _species = defaultSpecies;\n\n if (results.length > 0 && tags.length > 0) {\n //Filter species based on farms\n _species = filterSpecieDropDownlist(results); //Also filer based on country \n setSpecies(_species);\n setTempSpecieImages(results);\n }\n else if(tags.length > 0) \n setSpecies([]);\n\n break;\n\n case 2:\n if(tags.length) \n results = searchBySpecieTags(tags);\n else \n results = tempSpecieImages;\n break;\n }\n\n setImages(results || []);\n };\n\n const searchByTags = (tagValues) => {\n return defaultImages.filter((item) => {\n return tagValues.every((tagValue) => {\n return item.tags.some((tag) => {\n return tag.value.split(\",\")[0] === tagValue.country;\n });\n });\n });\n };\n\n const searchByFarmTags = (tagValues) => {\n return defaultImages.filter((item) => {\n return tagValues.every((tagValue) => {\n return item.tags.some((tag) => {\n return tag.value.replace(\"Farm name - \", \"\") === tagValue.name;\n });\n });\n });\n };\n\n const searchBySpecieTags = (tagValues) => {\n return defaultImages.filter((item) => {\n return tagValues.every((tagValue) => {\n return item.tags.some((tag) => {\n return tag.value === tagValue.specie;\n });\n });\n });\n };\n\n // Filter Dropdown based on country selected\n const filterFarmsDropDownlist = (imageList) => {\n let _farmList = [];\n\n imageList.map((image) => {\n _farmList.push({ name: image.tags[2].value.replace(\"Farm name - \", \"\"), id: image.tags[2].value});\n });\n\n return _farmList;\n };\n\n const filterSpecieDropDownlist = (imageList) => {\n let _species = [];\n\n imageList.map((image) => {\n _species.push({ specie: image.tags[3].value, id: image.tags[3].value});\n });\n\n return _species;\n };\n\n return (\n \n
\n \n {/* Search Bar for countries*/}\n \n \n option.country}\n onChange={(e, value) => handleSearch(value, 0)}\n renderInput={(params) => (\n \n )}\n />\n \n \n {/* Search Bar for Farm name*/}\n option.name}\n onChange={(e, value) => handleSearch(value, 1)}\n renderInput={(params) => (\n \n )}\n />\n \n \n {/* Search Bar for species name*/}\n option.specie}\n onChange={(e, value) => handleSearch(value, 2)}\n renderInput={(params) => (\n \n )}\n />\n \n \n \n \n\n {!isLoading && }\n\n
\n {isLoading && }\n
\n\n {!!currentImage && (\n \n )}\n
\n );\n}\n","import { makeStyles } from '@material-ui/styles';\n\n// import sportShootingImg1BackgroundImg from \"../assetsNew/dedicatedSportsShooter.png\"\n// import spApplicationImg from \"../assetsNew/spApplicationImg.jpg\";\nimport rulesBackgroundImg from \"../assetsNew/rulesBackgroundImg.png\";\n// import applicationsBackgroundImg from \"../assetsNew/applicationsBackgroundImg.png\";\nimport targetsDownloadImg from \"../assetsNew/target.png\";\n\nexport const useStylesSportShooting = makeStyles(theme => ({\n container:{\n marginTop:'-22px'\n },\n SportShootingContainer: {\n paddingLeft: '3.5em', \n paddingRight: '3.5em',\n marginTop: '3em',\n marginBottom: '3em',\n width: '100%',\n height: '100%'\n },\n SportShootingContainerMobile: {\n padding: '2em', \n },\n \n \n rulesBackground: {\n backgroundImage: `url(${rulesBackgroundImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n height: '70%',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n height: '400px'\n },\n [theme.breakpoints.down('sm')]: {\n height: '300px'\n }\n },\n\n targetsDownloadBackground: {\n backgroundImage: `url(${targetsDownloadImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n // height: '100%',\n // width: '100%',\n // [theme.breakpoints.down('md')]: {\n // height: '400px'\n // },\n // [theme.breakpoints.down('sm')]: {\n // height: '300px'\n // }\n },\n\n overviewContainer: {\n height: '500px'\n },\n overviewContainerMobile: {\n height: '400px'\n },\n overviewContainerMobileSmall: {\n height: '300px'\n },\n overviewText: {\n color: 'white',\n textShadow: '1px 2px black',\n marginLeft: '14em',\n marginTop: '9em',\n marginBottom: '0.5em'\n },\n overviewTextMobile: {\n color: 'white',\n textShadow: '1px 2px black',\n marginLeft: '0.5em',\n marginTop: '5em',\n marginBottom: '0.5em'\n },\n headerSpacing: {\n marginBottom: '0.5em'\n },\n listContainer: {\n marginLeft: '2.5em',\n marginBottom: '1em'\n },\n anchorPoint: {\n position: 'absolute'\n },\n downloadText: {\n color: '#4F36A6',\n textDecoration: 'underline'\n },\n spanText: {\n color: '#4F36A6'\n },\n targetDownloadsContainer: {\n paddingLeft:\"2em\", \n paddingRight:\"2em\",\n marginBottom:\"2em\"\n }\n}))","import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { targetDownsLoadLevels } from '../../shared/constants';\nimport { connect } from 'react-redux';\nimport {\n SubtitleBar\n} from '../../components/index';\nimport {\n Grid,\n Typography,\n Card,\n CardContent,\n Divider\n} from '@material-ui/core';\nimport SITE_URL from '../../services/siteURL';\nimport { SET_ACTIVITY_LOOKUP } from '../../store/FireArmType/actionType';\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\n\nconst styles = (theme) => ({\n root: {\n width: '100%',\n backgroundColor: theme.palette.common.white2.main,\n boxShadow: 'inset 0px 2px 6px rgba(0, 0, 0, 0.15)',\n borderRadius: '10px',\n marginBottom: \"3em\"\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n thumbNail: {\n cursor: 'pointer',\n paddingRight: \"2em\"\n },\n img: {\n width: \"170px\",\n height: \"200px\"\n },\n imageTextPadding: {\n paddingTop: \"2em\"\n }\n});\n\nclass ViewEventRules extends Component {\n\n constructor(props) {\n super(props);\n }\n\n goBack = () => {\n this.props.isActivityLookup(this.props.activatyLookups);\n };\n\n render() {\n const { classes } = this.props;\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n return (\n \n {this.props.level === targetDownsLoadLevels.EVENT_RULES && ()}\n \n {this.props.level === targetDownsLoadLevels.EVENT_RULES && (\n {this.props.eventRules.length === 0 ? No event rules available : null}\n {this.props.eventRules.map((item, index) => (\n \n \n \n \n \n \n Event\n \n \n \n \n {this.props.eventName}\n \n \n \n \n \n \n \n Firearm Type\n \n \n \n \n {item.firearmType}\n \n \n \n \n \n \n \n Sport Shooting\n \n \n \n \n {item.sportshooting === false ? 'No' : 'Yes'}\n \n \n \n \n \n \n \n Distance\n \n \n \n \n {item.distance}\n \n \n \n \n \n \n \n Shots\n \n \n \n \n {item.shots}\n \n \n \n \n \n \n \n Target\n \n \n \n \n \n {GetFilename(SITE_URL + item.target)}\n \n Press image to download \n \n \n \n \n \n \"image\n \n \n \n \n \n \n \n \n Purpose\n \n \n \n \n {item.purpose}\n \n \n \n \n \n \n \n Rules\n \n \n \n \n {item.rules}\n \n \n \n \n \n \n \n Scoring\n \n \n \n \n {item.scoring}\n \n \n \n \n \n \n ))}\n )}\n \n \n );\n }\n}\n\nfunction GetFilename(url) {\n if (url) {\n return url.substring(url.lastIndexOf('/') + 1, url.lastIndexOf('.'));\n }\n return '';\n}\n\nconst mapStateToProps = state => ({\n level: state.fireArmTypeTargets.level,\n fireArmTypesLookups: state.fireArmTypeTargets.fireArmTypesLookups,\n activatyLookups: state.fireArmTypeTargets.activatyLookups,\n eventRules: state.fireArmTypeTargets.eventRules,\n eventName: state.fireArmTypeTargets.eventName\n});\n\nconst mapDispatchToProps = dispatch => ({\n isActivityLookup: (activityLookup) =>\n dispatch({\n type: SET_ACTIVITY_LOOKUP,\n payload: activityLookup\n }),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ViewEventRules));","import React, { Component } from 'react';\nimport { SET_EVENT_RULES, SET_FIREARM_TYPES_LOOKUP, SET_EVENT_NAME } from '../../store/FireArmType/actionType';\nimport { connect } from 'react-redux';\nimport FireArmAction from '../../store/FireArmType/actions';\nimport FireArmTypeService from '../../services/firearmType.service';\nimport { targetDownsLoadLevels } from '../../shared/constants';\nimport {\n SubtitleBar,\n Loader\n} from '../../components/index';\nimport {\n Card,\n CardContent,\n Grid,\n Typography\n} from '@material-ui/core';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport ViewEventRules from './WPViewEventRules';\n\nconst styles = (theme) => ({\n root: {\n width: '100%',\n backgroundColor: theme.palette.common.white2.main,\n boxShadow: 'inset 0px 2px 6px rgba(0, 0, 0, 0.15)',\n borderRadius: '10px',\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n pointer: {\n cursor: 'pointer'\n },\n});\n\nclass ActivityEventLookup extends Component {\n constructor(props) {\n super(props);\n this.fireArmTypeService = FireArmTypeService();\n this.eventRulesActions_ = this.props._eventRulesActions(this.fireArmTypeService);\n this.state = {\n isEventRules: false,\n isLoader: false\n };\n }\n\n goBack = () => {\n this.props.isFirearmTypeLookup(this.props.fireArmTypesLookups);\n };\n\n onViewEvent = (eventName) => {\n this.props.onEventNameUpdate(eventName);\n this.setState({ isEventRules: true, isLoader: false })\n };\n\n render() {\n const { classes } = this.props;\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n return (\n \n {this.props.level === targetDownsLoadLevels.ACTIVITY_LOOK_UP && ()}\n {this.state.isLoader && ()}\n \n {this.props.level === targetDownsLoadLevels.ACTIVITY_LOOK_UP && (\n {this.props.activatyLookups.length === 0 ? No activity event available : null}\n {this.props.activatyLookups.map((item, index) => (\n item.ranking == true && \n \n \n \n \n \n {item.activityEvent}\n \n \n \n {\n this.setState({ isLoader: true });\n this.eventRulesActions_.fetchEventByActivityID(item.activityEventId).then(() => this.onViewEvent(item.activityEvent));\n }}\n >\n VIEW\n \n \n \n \n \n \n ))}\n )}\n \n {this.state.isEventRules && ()}\n \n );\n }\n}\n\nconst initialiseEventRulesActions = dispatch => (fireArmTypeService) => {\n const action = FireArmAction(fireArmTypeService);\n return {\n fetchEventByActivityID: (id) => dispatch(action.fetchEventByActivityID(id)),\n };\n};\n\n\nconst mapStateToProps = state => ({\n level: state.fireArmTypeTargets.level,\n fireArmTypesLookups: state.fireArmTypeTargets.fireArmTypesLookups,\n activatyLookups: state.fireArmTypeTargets.activatyLookups,\n eventRules: state.fireArmTypeTargets.eventRules,\n});\n\nconst mapDispatchToProps = dispatch => ({\n onEventUpdate: (eventRules) =>\n dispatch({\n type: SET_EVENT_RULES,\n payload: eventRules\n }),\n _eventRulesActions: initialiseEventRulesActions(dispatch),\n isFirearmTypeLookup: (fireArmTypesLookup) =>\n dispatch({\n type: SET_FIREARM_TYPES_LOOKUP,\n payload: fireArmTypesLookup\n }),\n onEventNameUpdate: (eventName) =>\n dispatch({\n type: SET_EVENT_NAME,\n payload: eventName\n }),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ActivityEventLookup));","import React, { Component } from 'react';\nimport { SET_ACTIVITY_LOOKUP, SET_TARGET_FIREARM_TYPES } from '../../store/FireArmType/actionType';\nimport { connect } from 'react-redux';\nimport FireArmAction from '../../store/FireArmType/actions';\nimport FireArmTypeService from '../../services/firearmType.service';\nimport { targetDownsLoadLevels } from '../../shared/constants';\nimport {\n SubtitleBar,\n Loader\n} from '../../components/index';\nimport {\n Card,\n CardContent,\n Grid,\n Typography\n} from '@material-ui/core';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport ActivityEventLookup from './WPActivityEventLookup';\n\nconst styles = (theme) => ({\n root: {\n width: '100%',\n backgroundColor: theme.palette.common.white2.main,\n boxShadow: 'inset 0px 2px 6px rgba(0, 0, 0, 0.15)',\n borderRadius: '10px',\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n pointer: {\n cursor: 'pointer'\n },\n});\n\nclass FireArmTypeLookup extends Component {\n constructor(props) {\n super(props);\n this.fireArmTypeService = FireArmTypeService();\n this.activityLookUpActions_ = this.props._activityLookUpActions(this.fireArmTypeService);\n this.state = {\n fireArmLookups: this.props.fireArmTypesLookups,\n isActivityLookup: false,\n isGoBack: false,\n isLoader: false\n };\n }\n\n goBack = () => {\n this.props.isFirearmTypes(this.props.fireArmTypes);\n };\n\n render() {\n const { classes } = this.props;\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n return (\n \n {this.props.level === targetDownsLoadLevels.FIREARM_LOOK_UP && ()}\n {this.state.isLoader && ()}\n \n {this.props.level === targetDownsLoadLevels.FIREARM_LOOK_UP && (\n {this.props.fireArmTypesLookups.length === 0 ? No firearm types lookup available : null}\n {this.props.fireArmTypesLookups.map((item, index) => (\n \n \n \n \n \n \n {item.fireArmType}\n \n \n \n {\n this.setState({isLoader:true});\n this.activityLookUpActions_.fetchActivityLookupByFireArmTypeID(item.fireArmTypeId).then(() => this.setState({ isActivityLookup: true, isLoader:false}));\n }}\n >\n VIEW\n \n \n \n \n \n \n ))}\n )}\n \n {this.state.isActivityLookup && ()}\n \n );\n }\n}\n\nconst initialiseActivityEventLookUpActions = dispatch => (fireArmTypeService) => {\n const action = FireArmAction(fireArmTypeService);\n return {\n fetchActivityLookupByFireArmTypeID: (id) => dispatch(action.fetchActivityLookupByFireArmTypeID(id)),\n };\n};\n\nconst mapStateToProps = state => ({\n level: state.fireArmTypeTargets.level,\n fireArmTypesLookups: state.fireArmTypeTargets.fireArmTypesLookups,\n activatyLookups: state.fireArmTypeTargets.activatyLookups,\n fireArmTypes: state.fireArmTypeTargets.fireArmTypes,\n});\n\nconst mapDispatchToProps = dispatch => ({\n onActivityEventLookUp: (fireArmLookUp) =>\n dispatch({\n type: SET_ACTIVITY_LOOKUP,\n payload: fireArmLookUp,\n }),\n _activityLookUpActions: initialiseActivityEventLookUpActions(dispatch),\n isFirearmTypes: (fireArmTypes) =>\n dispatch({\n type: SET_TARGET_FIREARM_TYPES,\n payload: fireArmTypes\n }),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FireArmTypeLookup));","import React, { Component } from 'react';\nimport { SET_FIREARM_TYPES_LOOKUP, SET_TARGET_FIREARM_TYPES} from '../../store/FireArmType/actionType';\nimport { connect } from 'react-redux';\nimport FireArmAction from '../../store/FireArmType/actions';\nimport FireArmTypeService from '../../services/firearmType.service';\nimport { targetDownsLoadLevels } from '../../shared/constants';\nimport {\n SubtitleBar,\n Loader\n} from '../../components/index';\nimport {\n Card,\n CardContent,\n Grid,\n Typography\n} from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport FireArmTypeLookup from './WPFireArmTypeLookup';\n\nconst styles = (theme) => ({\n root: {\n width: '100%',\n backgroundColor: theme.palette.common.white2.main,\n boxShadow: 'inset 0px 2px 6px rgba(0, 0, 0, 0.15)',\n borderRadius: '10px',\n },\n paragraph: {\n ...theme.typography.paragraph,\n paddingLeft: '0',\n textAlign: 'justify'\n },\n pointer: {\n cursor: 'pointer'\n }\n});\n\nclass WPFireArmTypes extends Component {\n constructor(props) {\n super(props);\n this.fireArmTypeService = FireArmTypeService();\n this.fireArmLookUpActions_ = this.props._fireArmLookUpActions(this.fireArmTypeService);\n this.state = {\n fireArmTypes: props.fireArmTypes,\n isFireArmTypeLookup: false,\n activatyLookups: this.props.activatyLookups,\n isLoader: false\n };\n }\n\n componentDidMount() {\n this.props.isFirearmTypes(this.state.fireArmTypes);\n this.fireArmLookUpActions_.fetchFireArmTypes(this.state.fireArmTypes);\n }\n\n render() {\n const { classes } = this.props;\n const isMobile = localStorage.getItem('isMobile') === 'true';\n\n return (\n \n {this.props.level === targetDownsLoadLevels.FIREARM_TYPES && ()}\n {this.state.isLoader && ()}\n \n {this.props.level === targetDownsLoadLevels.FIREARM_TYPES && (\n {this.props.fireArmTypes.length === 0 ? No firearm types available : null}\n {this.props.fireArmTypes.map((item, index) => (\n \n \n \n \n \n \n {item.fireArmType1}\n \n \n \n {\n this.setState({isLoader:true});\n this.fireArmLookUpActions_.fetchFireArmTypesLookUpById(item.fireArmID).then(() => this.setState({ isFireArmTypeLookup: true, isLoader:false }));\n }}\n >\n VIEW\n \n \n \n \n \n \n ))}\n )}\n \n {this.state.isFireArmTypeLookup && ()}\n \n );\n }\n}\n\nconst initialiseFireArmLookUpActions = dispatch => (fireArmTypeService) => {\n const action = FireArmAction(fireArmTypeService);\n return {\n fetchFireArmTypesLookUpById: (id) => dispatch(action.fetchFireArmTypesLookUpById(id)),\n fetchFireArmTypes: (firearmTypes) => dispatch(action.fetchFireArmTypes(firearmTypes)),\n };\n};\n\n\nconst mapStateToProps = state => ({\n activatyLookups: state.fireArmTypeTargets.activatyLookups,\n fireArmTypes: state.fireArmTypeTargets.fireArmTypes,\n level: state.fireArmTypeTargets.level,\n fireArmTypesLookups: state.fireArmTypeTargets.fireArmTypesLookups\n});\n\nconst mapDispatchToProps = dispatch => ({\n onFireArmLookUp: (fireArmLookUp) =>\n dispatch({\n type: SET_FIREARM_TYPES_LOOKUP,\n payload: fireArmLookUp,\n }),\n _fireArmLookUpActions: initialiseFireArmLookUpActions(dispatch),\n isFirearmTypes: (fireArmTypes) =>\n dispatch({\n type: SET_TARGET_FIREARM_TYPES,\n payload: fireArmTypes\n }),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(WPFireArmTypes));","import React,{useEffect,useState} from 'react';\nimport { useStylesSportShooting } from \"../../../stylesNew/SportShootingStyles\";\nimport Grid from '@material-ui/core/Grid';\nimport WPFireArmTypes from './WPFireArmTypes';\nimport FirearmTypeService from '../../services/firearmType.service'; \n\n//For wordpress \nfunction TargetsDownload(props) {\n const classesSportShooting = useStylesSportShooting();\n const firearmTypeService = FirearmTypeService();\n const [backgroundImage,] = useState(useStylesSportShooting().targetsDownloadBackground); \n const [firearmTypesList,setFirearmTypesList] = useState(null); \n\n useEffect(() => {\n //Load firearm types \n firearmTypeService.getFireArmTypes().then(response =>{\n setFirearmTypesList( response.data);\n })\n .catch(error => {\n alert(\"an error occured\")\n });\n\n if(props.changeBacgroundImage)\n props.changeBacgroundImage(null)\n }, []);\n\n return (\n \n \n \n\n \n \n \n \n {firearmTypesList &&}\n \n \n \n \n );\n}\n\nexport default TargetsDownload","import React, { Component } from 'react';\nimport {Map, InfoWindow, Marker, GoogleApiWrapper} from 'google-maps-react';\nimport axios from 'axios';\nimport { BASE } from '../../../API/APIendpoint';\n\nexport class MapsContainer extends Component {\n\n constructor(props)\n {\n super(props);\n }\n\n componentDidMount(){\n const Geocoder = new this.props.google.maps.Geocoder();\n\n this.props.partners.forEach(element => {\n if(element.lat == null || element.long == null)\n Geocoder.geocode( { 'address': element.adress}, function(results, status) {\n if (status == 'OK') {\n const location = results[0]?.geometry?.location;\n\n let _address = {\n \"shootingRangeId\": element.shootingRangeId,\n \"lat\": location.lat(),\n \"long\": location.lng()\n }\n\n axios.post(`${BASE}api/ShootingRanges/updateShootingRangeLatAndLong`,\n _address,\n {headers: {'Authorization': `Bearer ${sessionStorage.getItem(\"tokenKey\")}`,}});\n\n } else {\n // alert(\"failed\")\n console.log('Geocode was not successful for the following reason: ' + status);\n }\n });\n });\n }\n\n state = {\n showingInfoWindow: false,\n activeMarker: {},\n selectedPlace: {},\n };\n \n onMarkerClick = (props, marker, e) =>\n this.setState({\n selectedPlace: props,\n activeMarker: marker,\n showingInfoWindow: true\n });\n \n onMapClicked = (props) => {\n if (this.state.showingInfoWindow) {\n this.setState({\n showingInfoWindow: false,\n activeMarker: null\n })\n }\n };\n \n render() {\n return (\n \n zoom={this.props.zoom || 5.8}>\n {\n this.props.partners.map(address =>{\n return \n } )\n }\n\n \n
\n {this.state.selectedPlace.name}\n
\n \n \n
\n )\n }\n }\n \nexport default GoogleApiWrapper({\n apiKey: (\"AIzaSyBib6CAqY9NS0sTy3BuaaXkZYuJtdH08bQ\")\n})(MapsContainer)","import React, { useState, useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { withRouter } from \"react-router-dom\";\nimport axios from 'axios';\nimport { BASE } from '../../../API/APIendpoint';\nimport Grid from '@material-ui/core/Grid';\nimport { isMobile } from \"react-device-detect\";\nimport MapsContainer from \"../MapsContainer/MapsContainer\"\n\nfunction ShootingRangeLocations() {\n const [shootingRanges, setShootingRanges] = useState([]);\n useEffect(() => {\n axios({\n url: `${BASE}api/ShootingRanges`,\n method: 'get'\n }).then(res => {\n setShootingRanges(res.data)\n })\n }, [])\n return (\n\n \n \n \n \n \n \n );\n}\nexport default connect(\n null,\n null\n)(withRouter(ShootingRangeLocations));","import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { connect } from 'react-redux';\nimport { withRouter } from \"react-router-dom\";\nimport { useTheme } from '@material-ui/core/styles';\nimport { isMobile } from \"react-device-detect\";\n//Create a MapsContainer in the v3 directory\nimport MapsContainer from \"../MapsContainer/MapsContainer\"\nimport API_URL from '../../../v3/services/apiUrl';\n\nimport Grid from '@material-ui/core/Grid';\n\nfunction PartnersLocation(props) {\n\tconst [partners, setPartners] = useState([])\n useEffect(() => {\n axios({\n url: `${API_URL}/Stores`,\n method: 'get',\n }).then(res => {\n setPartners(res.data)\n })\n }, [])\n\n return (\n \n \n \n \n \n );\n}\nexport default connect(\n null,\n null\n)(withRouter(PartnersLocation));","import { makeStyles } from '@material-ui/styles';\nimport firearmOwnerBackgroundImg from \"../assetsNew/riffle1Dark.png\";\nimport firearmCategoryBackgroundImg from \"../assetsNew/licenseGun.jpg\";\nimport firearmCompetencyBackgroundImg from \"../assetsNew/competencyImg.png\";\nimport firearmLicenseBackgroundImg from \"../assetsNew/licenseRifleImg.png\";\nimport selfDefenseBackgroundImg from \"../assetsNew/selfDefenseImg.png\";\nimport motivationBackgroundImg from \"../assetsNew/reviewTargetMobile.jpg\";\n\nexport const useStylesFirearmOwners = makeStyles(theme => ({\n container:{\n marginTop:'-22px'\n },\n aboutUsContentContainer: {\n paddingLeft: '9em', \n paddingRight: '9em', \n marginTop: '3em', \n marginBottom: '3em'\n },\n firearmOwnersContainer: {\n paddingLeft: '15em', \n paddingRight: '25em',\n marginBottom: '3em'\n },\n firearmOwnersContainerMobile: {\n paddingLeft: '1em',\n paddingRight: '1em' \n },\n background: {\n backgroundImage: `url(${firearmOwnerBackgroundImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n height: '70%',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n height: '200px'\n },\n [theme.breakpoints.down('sm')]: {\n height: '300px'\n },\n },\n CategoriesBackground: {\n backgroundImage: `url(${firearmCategoryBackgroundImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n height: '70%',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n height: '400px'\n },\n [theme.breakpoints.down('sm')]: {\n height: '300px'\n }\n },\n LicenseApplicationBackground: {\n backgroundImage: `url(${firearmLicenseBackgroundImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n height: '70%',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n height: '400px'\n },\n [theme.breakpoints.down('sm')]: {\n height: '300px'\n }\n },\n motivationApplicationBackground: {\n backgroundImage: `url(${motivationBackgroundImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n height: '70%',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n height: '400px'\n },\n [theme.breakpoints.down('sm')]: {\n height: '300px'\n },\n },\n SelfDefenseApplicationBackground: {\n backgroundImage: `url(${selfDefenseBackgroundImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n height: '70%',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n height: '400px'\n },\n [theme.breakpoints.down('sm')]: {\n height: '300px'\n },\n },\n competencyBackground: {\n backgroundImage: `url(${firearmCompetencyBackgroundImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n height: '70%',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n height: '400px'\n },\n [theme.breakpoints.down('sm')]: {\n height: '300px'\n },\n },\n overviewContainer: {\n height: '500px'\n },\n overviewContainerMobile: {\n height: '300px'\n },\n overviewText: {\n color: 'white',\n textShadow: '1px 2px black',\n marginLeft: '24em',\n marginTop: '9em',\n marginBottom: '0.5em'\n },\n overviewTextMobile: {\n color: 'white',\n textShadow: '1px 2px black',\n marginLeft: '0.5em',\n marginTop: '5em',\n paddingBottom: '2em'\n },\n headerSpacing: {\n marginBottom: '0.5em'\n },\n subheaderSpacing: {\n marginBottom: '1em',\n marginTop:'0.5em'\n },\n listContainer: {\n marginLeft: '2.5em',\n marginBottom: '1em'\n },\n guidelinesContainer: {\n width: \"520px\",\n height: \"315px\",\n marginTop:'0.5em'\n },\n anchorPoint: {\n position: 'absolute'\n }\n}))","import { makeStyles } from '@material-ui/styles';\n\nimport huntingInDesertBackgroundImg from \"../assetsNew/huntingInDesert.jpg\";\nimport desertBackgroundImg from \"../assetsNew/hunterDesert.png\"\nimport huntingInDeserLightBackgroundImg from \"../assetsNew/huntingInDesert1.jpg\";\nimport huntingAssessmentBackgroundImg from \"../assetsNew/sportShootingImg1_.jpg\";\nimport protectSectionBackgroundImg from \"../assetsNew/Protect_section.jpg\";\n\nexport const useStylesFirearmsGuardians = makeStyles(theme => ({\n container:{\n // marginTop:'-22px'\n },\n huntingContainer: {\n paddingLeft: '3.5em', \n paddingRight: '3.5em',\n marginTop: '3em',\n marginBottom: '3em',\n width: '100%',\n height: '100%'\n },\n background: {\n backgroundImage: `url(${huntingInDesertBackgroundImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n height: '70%',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n height: '400px'\n },\n },\n backgroundDesert: {\n backgroundImage: `url(${desertBackgroundImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n height: '70%',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n height: '400px'\n },\n },\n dedicatedHunterBackground: {\n backgroundImage: `url(${huntingInDeserLightBackgroundImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n height: '70%',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n height: '400px'\n },\n },\n huntingAssessmentBackground: {\n backgroundImage: `url(${huntingAssessmentBackgroundImg})`,\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n height: '70%',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n height: '400px'\n },\n },\n overviewContainer: {\n height: '500px'\n },\n overviewContainerMobile: {\n height: '400px'\n },\n overviewText: {\n color: 'white',\n textShadow: '1px 2px black',\n marginLeft: '13em',\n marginTop: '9em'\n },\n overviewTextMobile: {\n color: 'white',\n textShadow: '1px 2px black',\n marginLeft: '0.5em',\n marginTop: '3em'\n },\n headerSpacing: {\n marginBottom: '0.5em'\n },\n listContainer: {\n marginLeft: '2.5em'\n },\n anchorPoint: {\n position: 'absolute'\n },\n buttonSize: {\n width: '200px'\n },\n todayContainer: {\n marginBottom: '2em'\n },\n imgMobile :{\n margin: 'auto',\n width:\"45%\",\n },\n wrapMobile:{\n marginLeft:'-5px'\n },\n img :{\n width:\"30%\"\n },\n wrap:{\n margin: 'auto',\n width:\"40%\",\n },\n header:{\n marginTop:'50px',\n boxSizing: \"border-box\",\n color: '#525A64',\n display: \"block\",\n fontFamily: \"museo-sans sans-serif\",\n fontSize: \"50px\",\n fontWeight: 600,\n height: \"70px\",\n lineHeight: \"35px\",\n textAlign: \"center\",\n },\n subHeader:{\n boxSizing: \"border-box\",\n color: '#525A64',\n display: \"block\",\n fontFamily: \"museo-sans sans-serif\",\n fontSize: \"40px\",\n fontWeight: 600,\n height: \"70px\",\n lineHeight: \"35px\",\n textAlign: \"center\",\n },\n headerMobile:{\n boxSizing: \"border-box\",\n color: '#525A64',\n display: \"block\",\n fontFamily: \"museo-sans sans-serif\",\n fontSize: \"25px\",\n fontWeight: 600,\n height: \"70px\",\n lineHeight: \"35px\",\n textAlign: \"center\",\n },\n videoSection:{\n backgroundColor:'#D8D8D8',\n padding:'50px'\n },\n videoSectionMobile:{\n backgroundColor:'#D8D8D8',\n paddingTop:'30px',\n paddingBottom:'30px'\n },\n centerContent:{\n textAlign:'center',\n display:\"block\",\n margin: \"auto\",\n padding:\"0px\"\n },\n offersAndLegal:{\n backgroundColor:\"#1b2530\",\n color:'white',\n fontFamily: \"Sans-serif, museo-sans\",\n fontWeight:400, \n fontSize:\"70px\",\n padding:\"20px\"\n },\n offersAndLegalMobile:{\n backgroundColor:\"#1b2530\",\n color:'white',\n fontFamily: \"Sans-serif,museo-sans\",\n fontWeight:400,\n fontSize:\"70px\",\n padding:\"20px\"\n },\n lisItem:{\n padding:'0px'\n },\n columnSapcing:{\n paddingRight:'30px'\n },\n protectHeader:{\n marginTop:\"50px\",\n boxSizing: \"border-box\",\n color: '#FFFFFF',\n display: \"block\",\n fontFamily: \"museo-sans sans-serif\",\n fontSize: \"50px\",\n fontWeight: 600,\n height: \"70px\",\n lineHeight: \"35px\",\n textAlign: \"center\",\n },\n protectHeaderMobile:{\n boxSizing: \"border-box\",\n color: '#FFFFFF',\n display: \"block\",\n fontFamily: \"museo-sans sans-serif\",\n fontSize: \"25px\",\n fontWeight: 600,\n height: \"70px\",\n lineHeight: \"35px\",\n textAlign: \"center\",\n\n },\n protectSection:{\n padding:'50px',\n backgroundImage: `url(${protectSectionBackgroundImg})`, \n height: \"300px\",\n overflow: \"hidden\",\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n backgroundColor: `rgba(0,0,0,0.5)`,\n backgroundBlendMode: 'multiply'\n },\n protectSectionMobile:{\n backgroundColor:'#D8D8D8',\n paddingTop:'30px',\n paddingBottom:'30px',\n backgroundImage: `url(${protectSectionBackgroundImg})`,\n overflow: \"hidden\",\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n backgroundColor: `rgba(0,0,0,0.5)`,\n backgroundBlendMode: 'multiply'\n },\n coverHeader:{\n boxSizing: \"border-box\",\n color: '#64724F',\n display: \"block\",\n fontFamily: \"museo-sans sans-serif\",\n fontSize: \"35px\",\n fontWeight: 600,\n height: \"70px\",\n lineHeight: \"35px\",\n textAlign: \"center\",\n padding:'50px'\n },\n coverText:{\n color:'#525A64',\n fontFamily: \"museo-sans Sans-serif\",\n fontSize: \"20px\",\n fontWeight: \"normal\",\n boxSizing: \"border-box\",\n color: `rgb(82, 90, 100)`,\n display: `inline`,\n fontStyle: \"italic\",\n height: \"auto\",\n lineHeight: \"24px\",\n width: \"auto\",\n },\n coverHeaderMobile:{\n boxSizing: \"border-box\",\n color: '#64724F',\n display: \"block\",\n fontFamily: \"museo-sans sans-serif\",\n fontSize: \"25px\",\n fontWeight: 600,\n height: \"70px\",\n lineHeight: \"35px\",\n textAlign: \"center\",\n padding:'30px'\n },\n accordionAfter:{\n textAlign:'center',\n paddingTop: '50px',\n fontSize:\"18px\"\n },\n outlinedButton:{\n backgroundColor: \"#64724F\",\n },\n coverPremiumOptions: {\n backgroundColor:'#2F3945',\n height: \"500px\",\n color:'white',\n \"&:hover\": {\n background: \"#1b2530\"\n }\n },\n coverImageContainer:{\n height: \"500px\",\n objectFit:'cover'\n },\n coverImageContainer: {\n color: 'rgb(82, 90, 100)',\n display: 'block',\n height: \"500px\",\n width: \"464px\",\n marginTop:'-8px',\n },\n coverPremiumMobile:{\n marginBottom:'-10px'\n },\n joinSectionImage:{\n margin: 'auto',\n width:\"250px\",\n },\n joinSectionTitle:{\n boxSizing: \"border-box\",\n color: '#64724F',\n display: \"block\",\n fontFamily: \"museo-sans sans-serif\",\n fontSize: \"35px\",\n fontWeight: 600,\n height: \"70px\",\n lineHeight: \"35px\",\n // textAlign: \"center\",\n },\n joinSectionContent:{\n margin: 'auto',\n textAlign:'center',\n width:\"100%\",\n },\n joinText:{\n color:'#525A64',\n fontFamily: \"museo-sans\",\n fontWeight:400,\n boxSizing: \"border-box\",\n color: `rgb(82, 90, 100)`,\n fontSize:\"16px\",\n display: `inline`,\n fontStyle: \"italic\",\n height: \"auto\",\n lineHeight: \"24px\",\n width: \"auto\",\n },\n setp1Section:{\n color:'#525A64',\n },\n formSection:{\n paddingTop:\"30px\"\n },\n textColor:{\n color:'#525A64',\n },\n insuresense:{\n backgroundColor:'#D7D7D7',\n color:'#525A64',\n fontFamily:\"museo-sans Sans-serif\",\n fontWeight:500\n },\n insuresenseMobile:{\n backgroundColor:'#D7D7D7',\n color:'#525A64',\n fontFamily:\"museo-sans Sans-serif\",\n fontWeight:500,\n padding:'20px',\n marginTop:'20px',\n },\n genericSection:{\n backgroundColor:'#E1E1E1',\n color:'#525A64',\n fontFamily:\"museo-sans Sans-serif\",\n fontWeight:100,\n fontSize:'16px',\n padding:'20px'\n },\n genericSectionMobile:{\n backgroundColor:'#E1E1E1',\n color:'#525A64',\n fontFamily:\"museo-sans Sans-serif\",\n fontWeight:100,\n fontSize:'16px',\n padding:'20px',\n paddingBottom:'60px'\n }\n}))","import { makeStyles } from '@material-ui/styles';\nimport safety from \"../assetsNew/narfo_safety.jpg\";\n\nexport const useStyles = makeStyles(theme => ({\n staticPageLayout: {\n paddingTop: \"100px\",\n paddingBottom: \"100px\",\n paddingLeft: \"12%\",\n paddingRight: \"12%\",\n backgroundColor: \"#F9F9F9\"\n },\n staticHeaderContainer: {\n backgroundColor: '#F7F7F7', \n paddingLeft: '9em', \n paddingTop: '1.5em',\n paddingBottom: '3em'\n },\n staticHeaderContainerMobile: {\n paddingTop: '1.5em',\n\t\tmarginBottom: '1em'\n },\n learnMoreButton: {\n width: '100%',\n height: '45px',\n fontWeight: 700\n },\n servicesContainer: {\n paddingBottom: '1em',\n paddingTop: '1em'\n },\n\tinitiativesContainer: {\n backgroundColor: \"#F9F9F9\",\n paddingBottom: '1em',\n paddingTop: '1em'\n },\n servicesContainerMobile: {\n padding: '2em'\n },\n servicesContainerChild1: {\n paddingTop: \"70px\",\n paddingLeft: \"12%\",\n },\n\tinitiativeChild: {\n paddingTop: \"70px\",\n paddingLeft: \"12%\",\n backgroundColor: \"#F9F9F9\"\n },\n opaqueOverlay: {\n backgroundImage: `url(\"${safety}\")`, \n backgroundPosition: 'center', \n backgroundSize: 'cover',\n paddingTop: \"70px\",\n paddingLeft: \"12%\",\n backgroundColor: \"#F9F9F9\",\n position:'relative',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n backgroundColor: 'rgba(0,0,0,0.25)'\n }\n },\n\n exploreContainerChild1: {\n paddingTop: \"70px\",\n paddingLeft: \"12%\",\n },\n\n servicesContainerChild2: {\n paddingLeft: '20px',\n paddingRight: '20px',\n paddingBottom: '70px',\n },\n servicesContainerChildMobile: {\n paddingTop: \"1em\",\n paddingLeft: '1em',\n paddingRight: '1em'\n },\n communityContainer: {\n paddingLeft: '20px',\n paddingRight: '20px',\n paddingBottom: \"70px\", \n },\n exploreContainer: {\n paddingBottom: \"70px\",\n },\n\tblueButton: {\n\t\tpadding: '10px',\n\t\tmargin: '20px 0',\n\t\tcolor: 'white',\n\t\tbackground: '#4F36A6',\n\t\twidth: '100%'\n\t},\n\tgrayButton: {\n\t\tpadding: '10px',\n\t\tmarginTop: '20px',\n\t\tcolor: 'white',\n\t\tbackground: '#343a40',\n\t\twidth: '200px'\n\t}\n}))","import React from 'react';\nimport { Link } from \"react-router-dom\";\n// import { useStyles } from '../../../stylesNew/StaticPageStyles';\n\nimport { useStyles } from '../../stylesNew/StaticPageStyles';\n\n\nimport Typography from '@material-ui/core/Typography';\nimport Grid from '@material-ui/core/Grid';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { useTheme } from '@material-ui/core/styles';\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\n\nexport default function StaticPageHeader(props) {\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const classes = useStyles();\n return (\n \n {matches || window.location.pathname.split('/')[1] === 'LandingPage' ? null :\n \n \n \n {props.currPage}\n \n \n }\n \n {matches ? \n \n \n : null}\n {props.tile}\n \n \n );\n}","import { useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n \nexport default function GoToTop() {\n const routePath = useLocation();\n const onTop = () => {\n window.scrollTo(0, 0);\n }\n useEffect(() => {\n onTop()\n }, [routePath]);\n \n return null;\n}","import React from 'react';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { useTheme } from '@material-ui/core/styles';\nimport {\n ListItem,\n ListItemIcon,\n ListItemText,\n } from \"@material-ui/core\";\n\nexport default function ListItemWithIcon(props) {\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.down(\"sm\"));\n return (\n \n \n \n \n\n \n \n );\n}","import React from 'react';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { useTheme } from '@material-ui/core/styles';\nimport {\n ListItem,\n ListItemIcon,\n ListItemText,\n } from \"@material-ui/core\";\n\nexport default function ListItemWithLists(props) {\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.down(\"sm\"));\n return (\n \n \n o\n \n\n \n \n );\n}","import React, { useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Grid from \"@material-ui/core/Grid\";\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport { FRONT } from \"../../../API/APIendpoint\";\nimport axios from \"axios\";\nimport { BASE,FIREARMS_GUARDIAN_NEW_APPLICATION} from \"../../../API/APIendpoint\";\nimport {\n useTheme,\n withStyles,\n makeStyles,\n} from \"@material-ui/core/styles\";\nimport { Alert, AlertTitle } from '@material-ui/lab';\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { useStylesFirearmOwners } from \"../../../stylesNew/FirearmOwnersStyles\";\nimport { useStylesFirearmsGuardians } from \"../../../stylesNew/FirearmsGuardianStyles\";\nimport StaticPageHeader from \"../../components/StaticPageHeader\";\nimport Button from \"@material-ui/core/Button\";\nimport FirearmsGuardianImage from \"../../../assetsNew/firearms-guardian.png\";\nimport insuresense from \"../../../assetsNew/insuresense.png\";\nimport FirearmsGuardianImageSmall from \"../../../assetsNew/firearms-guardian-small.png\";\nimport coverPremium from \"../../../assetsNew/premium.jpg\";\nimport GenericImage from \"../../../assetsNew/genric-logo.png\";\nimport Accordion from \"@material-ui/core/Accordion\";\nimport AccordionSummary from \"@material-ui/core/AccordionSummary\";\nimport AccordionDetails from \"@material-ui/core/AccordionDetails\";\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\nimport Link from \"@material-ui/core/Link\";\nimport TextField from '@material-ui/core/TextField';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport {\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n} from \"@material-ui/core\";\nimport { toast } from 'react-toastify';\nimport Brightness1Icon from \"@material-ui/icons/Brightness1\";\nimport Divider from \"@material-ui/core/Divider\";\nimport GoToTop from \"../../components/GoToTop\";\nimport ListItemWithIcon from \"./ListItemWithIcon\";\nimport ListItemWithLists from \"./ListItemWithLists\";\nfunction getSteps() {\n return ['Step 1', 'Step 2'];\n}\n\n\nconst firstAgreementText = (\"I hereby request and authorise Insuresense Consultants (Pty) Ltd or its agent/s to draw against my bank account as indicated herein each month / year and to debit my account with the amount equivalent to the service and administration fee due by me to Insuresense Consultants (Pty) Ltd for membership of Insuresense Consultants (Pty) Ltd, until cancelled by me in writing. In the event of an increase of service fees, Insuresense Consultants (Pty) Ltd or its agent/s have my authority to deduct from my account all such fees in payment as indicated herein. All such debits against my account\" + \n\"shall be treated as though I have signed and done them personally. If, in the event of payment from my bank account, such payment day falls on a Sunday or recognized South African public holiday, the payment day will automatically be the preceding or following ordinary business day. I further authorize that, if there are insufficient funds in my nominated bank account, the debit order system tracks my account and re-present the instruction for payment as soon as sufficient funds are available in my account.\");\nconst secondAgreementText = (\"I, the undersigned hereby apply for a policy in accordance with all applicable terms and conditions. The application form is completed in my presence and signed by me. I acknowledge that payment of premiums on the due dates is my responsibility. I warrant that all information given in this application form whether in my handwriting or not is true and complete. I understand and accept the implications of this application and I accept that this application together with the applicable terms and conditions represent the agreement between myself and GENRIC Insurance Company Limted.\");\nconst thirdAgreementText = (\"Declaration and informed Consent in terms of the Protection of Personal Information Act 4, of 2013 (POPIA). We at GENRIC Insurance Company Limited (GENRIC) and Insuresense Consultants (Pty) Ltd (Insuresense) respect your right to privacy. We need to collect and process some of your personal information in terms of various Privacy and Data Management laws and are bound by the terms and provisions of the Protection of Personal Information Act, regarding the acquisition, usage, retention, transmission and deletion of your personal information.\" +\n\"All information obtained or acquired from /about you shall remain confidential unless you provide written consent, or unless we are required by law to disclose such information. Your personal information collected is for the primary purpose of providing you with insurance cover and for all other activities and processes incidental to and relevant to this purpose. As this information forms the basis of our assessment and terms, we offer you, it must be correct, complete, and up to date. We will always comply with all relevant regulations in dealing with your information \" +\n\" and keep it secure and confidential at all times. Your information shall be kept confidential; however, we shall disclose it to certain third parties as required and other insurers for the specific purpose of insurance and to reduce and prevent any form of fraudulent activity. We may disclose your personal information to our service providers who are involved in the delivery of products or services to you. We have agreements in place to ensure that they comply with the privacy requirements as required by the Protection of Personal Information Act. When we contract with third parties \" +\n\" we impose appropriate security, privacy and confidentiality obligations on them to ensure that personal information that we remain responsible for, is kept secure. We will ensure that anyone to whom we pass your personal information agrees to treat your information with the same level of protection as we are obliged to do. We may also disclose your information: • Where we have a duty or a right to disclose in terms of law or industry codes; • Where we believe it is necessary to protect our rights. You have the right to ask us to update, correct or delete your personal information.\" +\n\" Should you decide not to accept the proposal, the information collected, will be de-identified and only used for statistical and research purposes. Should you decide to cancel this insurance contract you further consent to GENRIC and Insuresense, in retaining the information in line with the legally permitted retention period, for statistical and reporting purposes only. Our Privacy Notice and POPIA Policy provides the details of how we deal with the personal information of our clients, and it is available on our website at the following address: https://www.genric.co.za. \" + \n\" I hereby voluntary consent to GENRIC processing my Personal Information. I understand the purposes for which my Personal Information is required and for which it will be used. I give GENRIC permission to process my Personal Information as provided above.\");\n\nconst ColorButton = withStyles((theme) => ({\n root: {\n color: theme.palette.getContrastText(\"#64724F\"),\n backgroundColor: \"#64724F\",\n \"&:hover\": {\n backgroundColor: \"#64724F\",\n },\n borderRadius: \"7px\",\n },\n}))(Button);\n\nconst useStyles = makeStyles((theme) => ({\n margin: {\n margin: theme.spacing(1),\n },\n topSpacing: {\n marginTop: \"30px\",\n },\n heading: {\n fontSize: theme.typography.pxToRem(15),\n fontWeight: theme.typography.fontWeightRegular,\n },\n}));\n\nconst scroll = () => {\n const section = document.querySelector( '#divApplication' );\n section.scrollIntoView( { behavior: 'smooth', block: 'start' } );\n};\n\nfunction FirearmsGuardian(props) {\n const classesFirearmsGuardian = useStylesFirearmsGuardians();\n const classesFirearmOwners = useStylesFirearmOwners();\n const theme = useTheme();\n const classes = useStyles();\n const [activeStep, setActiveStep] = React.useState(0);\n const [isActive, setIsActive] = React.useState(false);\n const steps = getSteps();\n const [isCompleted, setIsCompleted] = React.useState(false);\n\n\n const matches = useMediaQuery(theme.breakpoints.down(\"md\"));\n const matchesMD = useMediaQuery(theme.breakpoints.down(\"md\"));\n const matchesSM = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const matchesXS = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const [country, setCountry] = useState(\"South Africa\");\n const [name, setName] = useState(\"\");\n const [lastname, setLastName] = useState(\"\");\n const [idNo, setIdNo] = useState(\"\");\n const [cellNumber, setCellNumber] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [address1, setAddress1] = useState(\"\");\n const [address2, setAddress2] = useState(\"\");\n const [city, setCity] = useState(\"\");\n const [province, setProvince] = useState(\"\");\n const [postalCode, setPostalCode] = useState(\"\");\n \n const [accountHolder, setAccountHolder] = useState(\"\");\n const [bankName, setBankName] = useState(\"\");\n const [accountNumber, setAccountNumber] = useState(\"\");\n const [accountType, setAccountType] = useState(\"Current(Cheque)\");\n\n const [contractAmount, setContractAmount] = useState(\"Firearms Guardian - Option 1 : R135.00 p/m\");\n const [debitOrderDate, setDebitOrderDate] = useState(\"1st\");\n \n const [firstAgreement, setFirstAgreement] = useState(false);\n const [secondAgreement, setSecondAgreement] = useState(false);\n const [thirdAgreement, setThirdAgreement] = useState(false);\n const [promoCode, setPromoCode] = useState(\"\");\n\n\n const handleCountrySelect=(e)=>{\n setCountry(e.target.value)\n }\n\n const handleContractAmountChange=(e)=>{\n setContractAmount(e.target.value)\n } \n \n const handleDebitOrderDateChange=(e)=>{\n setDebitOrderDate(e.target.value)\n }\n\n const handleAccountType=(e)=>{\n setAccountType(e.target.value)\n }\n\n const activateButton = () => {\n setIsActive(true);\n }\n\n const deactivateButton = () => {\n setIsActive(false);\n}\n\n const resetApplication=()=>{\n handleBack();\n setAccountHolder(\" \")\n setAccountNumber(\"\")\n setAccountType(\"\")\n setAddress1(\"\")\n setAddress2( \"\")\n setFirstAgreement( false)\n setSecondAgreement( false)\n setThirdAgreement( false)\n setBankName( \"\")\n setCellNumber( \"\")\n setCity( \"\")\n setContractAmount( \"\")\n setCountry(\"South Africa\")\n setDebitOrderDate( \"\")\n setEmail( \"\")\n setIdNo( \"\")\n setName( \"\")\n setPostalCode( \"\")\n setPromoCode( false)\n setProvince( \"\")\n setLastName( \"\")\n \n }\n\n const handleNext = (activeStep) => {\n\n //Step 1 checks - Do checks before moving on to the next step\n\n //Do control checks here \n if((activeStep + 1) >= steps.length)\n {\n \n let application = {\n \"email\": email,\n \"cellNo\": cellNumber,\n \"idNo\": idNo,\n \"surname\": lastname,\n \"name\": name,\n \"memno\": localStorage.getItem(\"memNo\"),\n \"accountHolder\": accountHolder,\n \"bankName\": bankName,\n \"accountNumber\": accountNumber,\n \"accountType\": accountType,\n \"contractType\": contractAmount,\n \"debitDate\": debitOrderDate,\n \"promoCode\": promoCode,\n \"agreementOne\": firstAgreement,\n \"agreementTwo\": secondAgreement,\n \"agreementThree\": thirdAgreement,\n \"addressLine1\": address1,\n \"addressLine2\": address2,\n \"city\": city,\n \"province\": province,\n \"postalCode\": postalCode,\n \"country\": country\n }\n\n //Check if All fields have values \n if(!fieldValidation(application))\n {\n toast.error(\"Fields marked with * are required.\");\n return;\n }\n\n axios.post(BASE+ FIREARMS_GUARDIAN_NEW_APPLICATION ,application).then(res => {\n setIsCompleted(true)\n resetApplication();\n })\n .catch(error =>{\n console.log(\"Error sending application\",error);\n toast.error(\"Error sending application.\" + error.message);\n });\n\n }\n else\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n };\n\n const fieldValidation =(application) =>{\n if(application.email.length == 0) return false;\n if(application.cellNo.length == 0) return false;\n if(application.idNo.length == 0) return false;\n if(application.surname.length == 0) return false;\n if(application.name.length == 0) return false;\n if(application.accountHolder.length == 0) return false;\n if(application.bankName.length == 0) return false;\n if(application.accountNumber.length == 0) return false;\n if(application.addressLine1.length == 0) return false;\n if(application.city.length == 0) return false;\n if(application.province.length == 0) return false;\n if(application.postalCode.length == 0) return false;\n\n return true;\n }\n\n const handleBack = () => {\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n };\n\n return (\n isCompleted ?\n \n \n
\n {matches && }\n
\n \n\n \n

\n \n Thank you for signing up\n

\n Please check your email for the registration details.
\n Remember that Your Guardian policy will only become active once the first debit order is received.

\n \n\n

\n\n \n \n\n {\n window.location = \"/\";\n e.preventDefault();\n }}\n size=\"large\"\n style={{\n borderColor: \"#64724F\",\n color: \"black\",\n }}\n variant=\"outlined\"\n color=\"primary\"\n >\n Close\n \n \n
\n\n \n :\n \n \n
\n {matches && }\n
\n \n\n \n \n {\" \"}\n What is Firearms Guardian?\n \n\n

\n Have you ever thought of the legal support you might need as a result\n of using your legally owned firearm in cases such as defending\n yourself, your family or property by using your firearm?\n

\n
\n

\n Or as a result of an accident on the shooting range or a hunting trip?\n

\n
\n

\n Firearms Guardian is there to protect you as a{\" \"}\n lawfully armed citizen in South Africa, to provide\n you with some piece of mind when using your licenced firearm for\n self-defence, sport shooting or hunting.\n

\n
\n

\n Expert legal and liability cover when you need it\n most.\n

\n
\n

\n Firearms Guardian is a ground-breaking legal protection insurance\n package for lawfully armed citizens as a result of any Firearms\n Control Act related prosecution, whether for self-defence, accidental\n discharge, hunting accidents and more.{\" \"}\n

\n
\n\n

\n Firearms Guardian provides exactly that from as little as R135.00 p/m.\n Depending on the option that you choose, you’ll get comprehensive\n legal cover up to R300 000 per case and liability cover up to R300 000\n per annum.\n

\n\n
\n

\n Firearms Guardian has got you covered! 24/7/365\n

\n
\n\n \n \n {\" \"}\n WATCH: Why you should join Firearms Guardian?{\" \"}\n \n
\n \n \n\n
\n \n \n

\n Firearms Guardian offers comprehensive legal & liability\n protection:\n

\n\n scroll()}\n >\n Join Today!\n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n
\n\n \n \n Protecting you in order to Protect your Family{\" \"}\n \n
\n \n\n \n \n COVER AND BENEFITS\n \n\n

\n The benefits covered are limited to incidents relating to the\n Insured’s ownership, possession and/or use of the his/her licensed\n firearm.\n

\n\n
\n \n }\n aria-controls=\"panel1a-content\"\n id=\"panel1a-header\"\n >\n \n 1. Legal Assistance Cover\n \n \n \n \n You are covered for legal expenses in respect of legal services,\n including legal advice, legal representation and litigation\n services, pertaining to the following and subject to the policy\n terms and conditions:\n \n \n\n \n \n General\n \n \n\n \n \n Administrative assistance related to a firearm licence, Civil claims instituted by and against the Insured and criminal prosecution of the Insured, regarding the matters as set out below.\n \n \n\n \n \n Firearm Related Matters\n \n \n\n \n \n 1.1 Administrative Problems\n \n \n\n \n \n \n \n \n \n \n\n\n \n \n 1.2 Criminal Prosecution / Defence\n \n \n\n \n \n General\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n Specific transgressions in terms of the Firearms Control Act 60 of 2000\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n 1.3 Civil Law Matters Related to the Use of a Firearm\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n General Civil Law Matters\n \n \n\n \n \n The Insured is further covered for the legal expenses in respect of the following civil law matters in addition to the above-mentioned matters:\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n Motor Related Matters – limited to hunting expeditions, sport shooting events and firearm training sessions.\n \n \n\n\n \n \n \n \n \n \n \n \n \n\n \n \n\n \n }\n aria-controls=\"panel1a-content\"\n id=\"panel1a-header\"\n >\n \n 2. Firearm Liability Cover\n \n \n \n

\n You are covered for damages (monetary valued claim) that you shall become liable to pay consequent to the death of, or bodily injury to, a third party, or loss or damage to tangible movable or immovable property, which occurs in connection with your use of the firearm of which you are the licenced owner and which results in a claim or claims.\n

\n
\n \n

\n All uses of a are covered, including:\n

\n
\n \n \n \n\n \n\n \n \n \n \n \n\n \n }\n aria-controls=\"panel1a-content\"\n id=\"panel1a-header\"\n >\n \n 3. Additional Value-added Services: (Costs for the account of\n the Insured)\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n }\n aria-controls=\"panel1a-content\"\n id=\"panel1a-header\"\n >\n Exclusions\n \n \n \n In respect of the Legal Assistance Cover as well as the Liability Cover, this Policy further excludes:\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n\n \n \n \n \n In respect of the Legal Assistance Cover, this Policy further excludes:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n In respect of the Firearm Liability Cover, this Policy further excludes any loss or damage caused by:\n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
\n For inquiries send us an email to\n {\n window.location = \"mailto:guardian@narfo.co.za\";\n e.preventDefault();\n }}\n >\n {\" \"}\n guardian@narfo.co.za.\n \n
\n\n {\n window.location = \"mailto:guardian@narfo.co.za\";\n e.preventDefault();\n }}\n size=\"large\"\n style={{\n borderColor: \"#64724F\",\n color: \"black\",\n marginTop: \"20px\",\n }}\n variant=\"outlined\"\n color=\"primary\"\n >\n Talk to us\n \n \n
\n \n\n {/* Premium information starts */}\n \n \n \n \n \n \n

Option 1:


\n

Monthly premium:

\n

R135.00 p/m


\n\n

This includes:

\n
R100 000 legal cover
\n
R100 000 liability cover
\n\n scroll()}\n className={classes.margin}\n >\n Click here to join\n \n \n
Our premiums are reviewed annually.
\n
\n\n \n

Option 2:


\n

Monthly premium:

\n

R245.00 p/m


\n\n

This includes:

\n
R300 000 legal cover
\n
R300 000 liability cover
\n\n scroll()}\n >\n Click here to join\n \n \n
Our premiums are reviewed annually.
\n
\n
\n {/* Premium info ends */}\n \n \n \n Join today!\n \n\n
\n We understand how busy you are so we have made it as simple as possible to join Firearms Guardian.\n
\n
\n

\n *Policyholders are registered immediately after the application form is completed and submitted. The policyholder will get confirmation via email or SMS.\n
\n
\n Your Guardian policy will only become active once the first debit order is received.\n

\n\n\n\n {/* Step 1 start */}\n \n {/* Step 1 end */}\n\n {/* Step 2 beginin */}\n \n {/* Step 2 end */}\n \n \n \n \n Previous\n \n \n\n \n\n handleNext(activeStep)}\n fullWidth\n type='submit'\n align=\"center\"\n variant=\"contained\"\n color=\"primary\"\n disableRipple\n className={classes.margin}\n disabled={ activeStep == 1 ? !isActive : false}\n >\n {activeStep === steps.length - 1 ? 'I accept the agreement' : 'Next'}\n \n\n \n \n \n \n \n\n {/* Insurense banner */}\n \n \n \n \n \n \n Insuresense Consultants (Pty) Ltd is an authorised financial services provider FSP 47115\n \n\n \n Tel: 012 665 2500 | Mobile: 082 377 9172
\n 1524 Swart Renoster Street | The Wilds | De Villebois Road | Pretoriuspark | Pretoria\n
\n
\n {/* Insurense banna ends */}\n\n {/* Generic banner */}\n \n \n \n \n \n \n Firearms Guardian is a Short-Term insurance product, administered by Insuresense Consultants (Pty) Ltd, an Authorised Financial Services Provider (FSP 47115), Underwritten by GENRIC Insurance Company Limited (GENRIC), (FSP 43638), an Authorised Financial Services Provider and Licenses non-life Insurer.\n \n \n {/* Generic banna ends */}\n \n );\n}\n\nconst mapStatetoProps = state => ({\n recatchaKey: state.RecaptchaKeyReducer\n});\n\n\nexport default connect(mapStatetoProps, null)(withRouter(FirearmsGuardian));","import React, { useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { Button, Grid, Typography, Avatar, TextField } from \"@material-ui/core\";\nimport Backdrop from \"@material-ui/core/Backdrop\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport axios from \"axios\";\nimport { BASE, GOSA_HEADER } from \"../../../API/APIendpoint\";\nimport { Alert, AlertTitle } from \"@material-ui/lab\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n flexWrap: \"wrap\",\n },\n textField: {\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1),\n width: \"25ch\",\n },\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: \"#007bff\",\n },\n alert: {\n width: \"100%\",\n \"& > * + *\": {\n marginTop: theme.spacing(2),\n },\n },\n}));\n\nexport default function GosaForm() {\n const classes = useStyles();\n const [name, setName] = useState(\"\");\n const [lastName, setLastName] = useState(\"\");\n const [idNo, setIdNo] = useState(\"\");\n const [contactNo, setContactNo] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [successMessage, setSuccessMessage] = useState(false);\n const [isValid, setIsValid] = useState(false);\n const [open, setOpen] = React.useState(false);\n const [idNoError, setIdNoError] = useState('');\n const [emailError, setEmailError] = useState('');\n\n const handleChange = (name, event) => {\n // event.preventDefault();\n switch (name) {\n case \"name\":\n setName(event.target.value);\n break;\n\n case \"lastName\":\n setLastName(event.target.value);\n break;\n\n case \"idNo\":\n setIdNo(event.target.value);\n break;\n\n case \"contactNo\":\n setContactNo(event.target.value);\n break;\n\n case \"email\":\n setEmail(event.target.value);\n break;\n default:\n break;\n }\n\n validate();\n };\n\n const onSubmit = (event) => {\n setOpen(!open);\n setErrorMessage(false);\n setSuccessMessage(false);\n\n //TODO: Hardcode Partner ID based on Environments\n const partnerID = BASE.includes(\"apiqa\") ? 57 : 66;\n\n const salesRepMemNo = BASE.includes(\"apiqa\") ? 'NM-1100022' : 'NM-1009507';\n let payload = {\n firstname: name,\n surname: lastName,\n cellNo: contactNo,\n idno: idNo,\n email: email,\n storeId: partnerID,\n salesRepMemNo: salesRepMemNo,\n };\n\n axios({url: `${BASE}api/Partners/ImportmMembership`, method: \"post\", data: payload, \n headers: {\n 'Authorization': `Bearer ${GOSA_HEADER}`,\n }})\n .then(() => {\n setSuccessMessage(true);\n setErrorMessage(false);\n setOpen(false);\n setErrorMessage(\"\");\n })\n .catch((err) => {\n setSuccessMessage(false);\n setErrorMessage(err?.response?.data);\n console.log(\"Registration Error \", err?.response?.data);\n setOpen(false);\n });\n };\n\n const handleIDChange = (field, event) => {\n const value = event.target.value;\n \n // Validate idNo field\n\n if (value.length === 13) {\n setIdNoError('');\n } else {\n setIdNoError('ID number must be 13 characters');\n }\n\n // Set the state\n if (value.length <= 13) {\n setIdNo(value);\n } else {\n // Handle other fields if needed\n }\n };\n\n \n const validate = () => {\n\n if (\n name.length > 1 &&\n lastName.length > 1 &&\n idNo.length == 13 &&\n contactNo.length > 1 &&\n email.length > 1\n )\n setIsValid(true);\n else setIsValid(false);\n };\n\n return (\n
\n
\n \n \n
\n \n app_registration\n \n\n \n Please Enter your details\n \n\n handleChange(\"name\", e)}\n variant=\"outlined\"\n />\n\n handleChange(\"lastName\", e)}\n variant=\"outlined\"\n />\n handleIDChange(\"idNo\", e)}\n variant=\"outlined\"\n />\n\n handleChange(\"contactNo\", e)}\n variant=\"outlined\"\n />\n\n handleChange(\"email\", e)}\n variant=\"outlined\"\n />\n\n \n Register\n \n
\n {/* */}\n \n \n \n
\n {errorMessage?.length > 1 && \n Error registration\n

{errorMessage}

\n
}\n\n {successMessage && \n Registration Success\n

Congratulations your details has been captured we've sent email to {email} for next steps

\n
}\n
\n
\n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { Button, Grid, Typography, Avatar, TextField } from \"@material-ui/core\";\nimport Backdrop from \"@material-ui/core/Backdrop\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport axios from \"axios\";\nimport { BASE, GOSA_HEADER } from \"../../../API/APIendpoint\";\nimport { Alert, AlertTitle } from \"@material-ui/lab\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n flexWrap: \"wrap\",\n },\n textField: {\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1),\n width: \"25ch\",\n },\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: \"#007bff\",\n },\n alert: {\n width: \"100%\",\n \"& > * + *\": {\n marginTop: theme.spacing(2),\n },\n },\n}));\n\nexport default function PcoasaForm() {\n const classes = useStyles();\n const [name, setName] = useState(\"\");\n const [lastName, setLastName] = useState(\"\");\n const [idNo, setIdNo] = useState(\"\");\n const [contactNo, setContactNo] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [successMessage, setSuccessMessage] = useState(false);\n const [isValid, setIsValid] = useState(false);\n const [open, setOpen] = React.useState(false);\n const [idNoError, setIdNoError] = useState('');\n const [emailError, setEmailError] = useState('');\n\n const handleChange = (name, event) => {\n // event.preventDefault();\n switch (name) {\n case \"name\":\n setName(event.target.value);\n break;\n\n case \"lastName\":\n setLastName(event.target.value);\n break;\n\n case \"idNo\":\n setIdNo(event.target.value);\n break;\n\n case \"contactNo\":\n setContactNo(event.target.value);\n break;\n\n case \"email\":\n setEmail(event.target.value);\n break;\n default:\n break;\n }\n\n validate();\n };\n\n const onSubmit = (event) => {\n setOpen(!open);\n setErrorMessage(false);\n setSuccessMessage(false);\n\n //TODO: Hardcode Partner ID based on Environments\n const partnerID = BASE.includes(\"apiqa\") ? 58 : 68;\n\n const salesRepMemNo = BASE.includes(\"apiqa\") ? 'NM-1100022' : 'NM-1006938';\n\n let payload = {\n firstname: name,\n surname: lastName,\n cellNo: contactNo,\n idno: idNo,\n email: email,\n storeId: partnerID,\n salesRepMemNo: salesRepMemNo,\n };\n\n axios({url: `${BASE}api/Partners/ImportmMembership`, method: \"post\", data: payload, \n headers: {\n 'Authorization': `Bearer ${GOSA_HEADER}`,\n }})\n .then(() => {\n setSuccessMessage(true);\n setErrorMessage(false);\n setOpen(false);\n setErrorMessage(\"\");\n })\n .catch((err) => {\n setSuccessMessage(false);\n setErrorMessage(err?.response?.data);\n console.log(\"Registration Error \", err?.response?.data);\n setOpen(false);\n });\n };\n\n const handleIDChange = (field, event) => {\n const value = event.target.value;\n \n // Validate idNo field\n\n if (value.length === 13) {\n setIdNoError('');\n } else {\n setIdNoError('ID number must be 13 characters');\n }\n\n // Set the state\n if (value.length <= 13) {\n setIdNo(value);\n } else {\n // Handle other fields if needed\n }\n };\n\n \n const validate = () => {\n\n if (\n name.length > 1 &&\n lastName.length > 1 &&\n idNo.length == 13 &&\n contactNo.length > 1 &&\n email.length > 1\n )\n setIsValid(true);\n else setIsValid(false);\n };\n\n return (\n
\n
\n \n \n
\n \n app_registration\n \n\n \n Please Enter your details\n \n\n handleChange(\"name\", e)}\n variant=\"outlined\"\n />\n\n handleChange(\"lastName\", e)}\n variant=\"outlined\"\n />\n handleIDChange(\"idNo\", e)}\n variant=\"outlined\"\n />\n\n handleChange(\"contactNo\", e)}\n variant=\"outlined\"\n />\n\n handleChange(\"email\", e)}\n variant=\"outlined\"\n />\n\n \n Register\n \n
\n {/* */}\n \n \n \n
\n {errorMessage?.length > 1 && \n Error registration\n

{errorMessage}

\n
}\n\n {successMessage && \n Registration Success\n

Congratulations your details has been captured we've sent email to {email} for next steps

\n
}\n
\n
\n
\n
\n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { Button, Grid, Typography, Avatar, TextField } from \"@material-ui/core\";\nimport Backdrop from \"@material-ui/core/Backdrop\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport axios from \"axios\";\nimport { BASE, GOSA_HEADER } from \"../../../API/APIendpoint\";\nimport { Alert, AlertTitle } from \"@material-ui/lab\";\nimport API_URL from \"../../services/apiUrl\";\nimport Select from \"@material-ui/core/Select\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n flexWrap: \"wrap\",\n },\n textField: {\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1),\n width: \"25ch\",\n },\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: \"#007bff\",\n },\n alert: {\n width: \"100%\",\n \"& > * + *\": {\n marginTop: theme.spacing(2),\n },\n selectEmpty: {\n marginTop: theme.spacing(2),\n },\n },\n}));\n\nexport default function PartnerForm() {\n const classes = useStyles();\n const [name, setName] = useState(\"\");\n const [lastName, setLastName] = useState(\"\");\n const [idNo, setIdNo] = useState(\"\");\n const [contactNo, setContactNo] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [successMessage, setSuccessMessage] = useState(false);\n const [isValid, setIsValid] = useState(false);\n const [open, setOpen] = React.useState(false);\n const [idNoError, setIdNoError] = useState(\"\");\n const [contactNoError, setcontactNoError] = useState(\"\");\n const [nameError, setNameError] = useState(\"\");\n const [lastNameError, setLastNameError] = useState(\"\");\n const [emailError, setEmailError] = useState(\"\");\n const [salesReps, setSalesReps] = useState(\"\");\n const [selectedRep, setSelectedRep] = useState(\"\");\n const [partnerId, setPartnerId] = useState(\"\");\n const [partnerLogo, setPartnerLogo] = useState(\"\");\n \n const handleChange = (name, event) => {\n // event.preventDefault();\n switch (name) {\n case \"name\":\n setName(event.target.value);\n break;\n\n case \"lastName\":\n setLastName(event.target.value);\n break;\n\n case \"idNo\":\n setIdNo(event.target.value);\n break;\n\n case \"contactNo\":\n setContactNo(event.target.value);\n break;\n\n case \"email\":\n setEmail(event.target.value);\n break;\n default:\n break;\n }\n\n validate();\n };\n\n const handleRepChange = (event) => {\n setSelectedRep(event.target.value);\n };\n\n useEffect(() => {\n getSalesReps();\n }, []);\n\n const getSalesReps = () => {\n const params = new URLSearchParams(new URL(window.location).search);\n const partnerId = params.get('partnerId');\n setPartnerId(partnerId);\n\n axios.get(API_URL + \"/salesReps/GetSalesRepsByPartnerId/\" + partnerId).then((res) => {\n setSalesReps(res.data);\n });\n\n //Get Partner logo \n axios.get(API_URL + \"/Stores/GetStoreById?id=\" + partnerId).then((res) => {\n setPartnerLogo(res.data.logo)\n });\n };\n\n const onSubmit = (event) => {\n setErrorMessage(false);\n setSuccessMessage(false);\n\n if (idNo.length === 13) {\n setIdNoError(\"\");\n } else {\n setIdNoError(\"ID number must be 13 characters\");\n }\n\n if (lastName.length > 1) {\n setLastNameError(\"\");\n } else {\n setLastNameError(\"Last name is required\");\n }\n\n if (name.length > 1) {\n setNameError(\"\");\n } else {\n setNameError(\"Member name is required\");\n }\n\n if (email.length > 1 && email.includes('@')) {\n setEmailError(\"\");\n } else {\n setEmailError(\"Valid email is required\");\n }\n\n if (contactNo.length > 1) {\n setcontactNoError(\"\");\n } else {\n setcontactNoError(\"Contact number is required\");\n }\n\n if (\n name.length > 1 &&\n lastName.length > 1 &&\n idNo.length == 13 &&\n contactNo.length > 1 &&\n email.length > 1 && email.includes('@')\n )\n setIsValid(true);\n else return;\n\n \n\n let payload = {\n firstname: name,\n surname: lastName,\n cellNo: contactNo,\n idno: idNo,\n email: email,\n storeId: partnerId,\n salesRepMemNo: selectedRep,\n };\n \n console.log(\"Payload\", payload)\n \n setOpen(!open);\n\n axios({\n url: `${BASE}api/Partners/ImportmMembership`,\n method: \"post\",\n data: payload,\n headers: {\n Authorization: `Bearer ${GOSA_HEADER}`,\n },\n })\n .then(() => {\n setSuccessMessage(true);\n setErrorMessage(false);\n setOpen(false);\n setErrorMessage(\"\");\n\n setName(\"\");\n setLastName(\"\");\n setIdNo(\"\");\n setContactNo(\"\");\n setEmail(\"\");\n\n })\n .catch((err) => {\n setSuccessMessage(false);\n setErrorMessage(err?.response?.data);\n console.log(\"Registration Error \", err?.response?.data);\n setOpen(false);\n });\n };\n\n const handleIDChange = (field, event) => {\n const value = event.target.value;\n // Set the state\n if (value.length <= 13) {\n setIdNo(value);\n } else {\n // Handle other fields if needed\n }\n };\n\n const validate = () => {\n };\n\n return (\n
\n
\n \n \n \n
\n \n Please Enter your details\n \n\n handleChange(\"name\", e)}\n variant=\"outlined\"\n />\n\n handleChange(\"lastName\", e)}\n variant=\"outlined\"\n />\n handleIDChange(\"idNo\", e)}\n variant=\"outlined\"\n />\n\n handleChange(\"contactNo\", e)}\n variant=\"outlined\"\n />\n\n handleChange(\"email\", e)}\n variant=\"outlined\"\n />\n\n \n \n Select sales rep\n \n {salesReps && salesReps.map((item) => (\n \n {item.firstname} {item.surname}\n \n ))}\n \n\n \n Register\n \n
\n {/* */}\n \n \n \n
\n {errorMessage?.length > 1 && (\n \n Error registration\n

{errorMessage}

\n
\n )}\n\n {successMessage && (\n \n Registration Success\n

\n Congratulations your details has been captured we've sent\n email to {email} for next steps\n

\n
\n )}\n
\n
\n
\n
\n
\n );\n}\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { withStyles } from '@material-ui/core/styles';\nimport {withRouter} from 'react-router-dom';\n\nimport {NavBar} from '../../containers/index';\nimport NavBar_ from '../../../components/navBar/NavBar';\nimport Aux from '../AuxHelper/AuxHelper';\nimport MainAdmin from '../../../components/adminPortal/MainAdmin';\nimport { ThemeProvider } from '@material-ui/styles';\nimport theme from '../../../materialUI/NarfoTheme';\nimport CommissionsService from '../../services/commissions.service';\nimport { SET_SALES_REPS } from '../../store/SalesCommissions/types';\nimport HuntingGallery from '../../containers/Gallery/HuntingGallery'\nimport TargetDownloads from '../../containers/TargetDownloads/TargetDownloads';\nimport ShootingRangeLocations from '../../containers/ShootingRangeLocations/ShootingRangeLocations';\nimport PartnersLocation from '../../containers/PartnersLocation/PartnersLocation';\nimport FirearmsGuardian from '../../containers/FirearmsGuardian/FirearmsGuardian';\nimport { Alert } from 'react-bootstrap';\nimport GosaForm from '../../containers/WordPressForms/GosaForm';\nimport PcoasaForm from '../../containers/WordPressForms/PcoasaForm';\nimport PartnerForm from '../../containers/WordPressForms/PartnerForm';\n\nconst drawerWidth = 240;\nconst styles = (theme) => ({\n drawerMargin: {\n flexShrink: 0,\n [theme.breakpoints.up('md')]: {\n marginLeft: drawerWidth,\n\n },\n },\n drawerClosed: {\n flexShrink: 0,\n marginLeft: 0,\n minHeight: '60vh'\n },\n});\n\nclass Layout extends Component {\n constructor(props) {\n\tsuper(props);\n\tthis.commissionService = CommissionsService(this.props.token)\n }\n\n componentDidMount() {\n\tthis.commissionService.getSalesReps()\n\t .then(res => {\n\t\t this.props.onSalesRepsGet(res.data)\n\t })\n }\n\n render () {\n const {classes} = this.props;\n let path = this.props.location.pathname;\n\n return (\n \n\t\t{\n\t\t path.includes('/hunting-gallery') || path.includes('/wp-gosa-member-application') || path.includes('/online-member-application') || path.includes('/wp-pcoasa-member-application') || path.includes('/wp-target-downloads') || path.includes('/wp-shooting-ranges') || path.includes('/wp-partner-locations') || path.includes('/wp-firearms-guardian')? \n\n\t\tpath === '/hunting-gallery' && \n\t\t\t\n\t\t \n\t\t \n\t||\n\n\tpath === '/wp-gosa-member-application' && \n\t\t\t\n\t\t\n\n||\n\npath === '/online-member-application' && \n\t\t\n\t\n\n||\n\npath === '/wp-pcoasa-member-application' && \n\t\t\n\t\n\n\n ||\n\n\tpath === '/wp-firearms-guardian' && \n\t\n\t\n||\n\t\tpath === '/wp-target-downloads' && \n\t\t\t\t\n\t\t\t\t\n\t||\n\t\tpath === '/wp-shooting-ranges' && \n\t\t\t\t\n\t\t\t\t\n\t||\n\tpath === '/wp-partner-locations' && \n\t\t\t\n\t\t\t\n\t\t :\n\t\t <> \n\t\t {path.includes('/MainAdmin') ?\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t :\n\t\t\n\t\t {path.includes('admin/') ?\n\t\t \n\t\t\t \n\t\t :\n\t\t\t\n\t\t }\n\t\t \n\t\t
\n\t\t {this.props.children}\n\t\t
\n\t\t
}\n\t\t \n\t\t}\n\t\t\n
\n );\n }\n}\n\nconst mapStateToProps = state => ({\n isAuthenticated: state.AuthReducer.token !== null,\n memberData: state.ProfileReducer.memberData,\n profilePicture: state.ProfileReducer.profilePicture,\n isMemberExpired: state.ProfileReducer.isMemberExpired\n});\n\nconst mapDispatchToProps = dispatch => ({\n\tonSalesRepsGet: salesReps => \n\t\tdispatch({\n\t\ttype: SET_SALES_REPS,\n\t\tpayload: salesReps\n\t})\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(withRouter(Layout)));","import { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { faUpload } from \"@fortawesome/free-solid-svg-icons\";\nimport React, { Component } from \"react\";\n//import { BrowserRouter as Router, Redirect, Route, Switch } from \"react-router-dom\";\n\nimport \"./App.css\";\nimport AdminDownloads from \"./components/AdminDownloads/AdminDownloadList\";\nimport test from \"./components/AdminDownloads/test\";\nimport Uploads from \"./components/AdminDownloads/uploads/Uploads\";\nimport adminHandler from \"./components/adminHandler/adminHandler\";\nimport AdminNewsPage from \"./components/adminNews/AdminNewsPage\";\nimport EditNews from \"./components/adminNews/EditNews\";\nimport ApproveEndorsementDashboard from \"./components/adminPortal/Approvals/ApproveDashboardEndors\";\nimport ApprovePendingDedicatedStatus from \"./components/adminPortal/Approvals/ApproveDedicatedStatus\";\nimport ApproveMembershipRenewal from \"./components/adminPortal/Approvals/ApproveMembershipRenewal\";\nimport ApproveNewMembers from \"./components/adminPortal/Approvals/ApproveNewMembers\";\nimport ApprovePendingActivities from \"./components/adminPortal/Approvals/ApprovePendingActivities\";\nimport DedicatedHunterMembers from \"./components/adminPortal/DedicatedHunterMembers\";\nimport UpdateLoyaltyDays from \"./components/adminPortal/loyaltyDays/UpdateLoyaltyDays\";\nimport MainAdmin from \"./components/adminPortal/MainAdmin\";\nimport MembershipRenewal from \"./components/adminPortal/Pending/MembershipRenewal\";\nimport PendingActivityApplication from \"./components/adminPortal/Pending/PendingActivityApplication\";\nimport PendingDedicatedHunter from \"./components/adminPortal/Pending/PendingDedicatedHunter\";\nimport PendingEndorsementApplication from \"./components/adminPortal/Pending/PendingEndorsementApplication\";\nimport PendingNewMembers from \"./components/adminPortal/Pending/PendingNewMembers\";\nimport PaymentRenewal from \"./components/adminPortal/Reciept/PaymentMembershipRenewal\";\nimport PaymentNewMember from \"./components/adminPortal/Reciept/PaymentNewMember\";\nimport UploadProfilePicture from \"./components/adminPortal/UploadProfilPicture\";\nimport ActivityDetails from \"./components/adminUser/activitiesTab/ActivityDetails\";\nimport AdminUserApproveAct from \"./components/adminUser/activitiesTab/ApprovePendingActivities\";\nimport MainActivities from \"./components/adminUser/activitiesTab/MainActivities\";\nimport AdminUserMainAct from \"./components/adminUser/activitiesTab/PendingActivityApplication\";\nimport AdminEndorsementView from \"./components/adminUser/adminEndorsement/AdminEndorsementView\";\nimport AdminEndorsementDetails from \"./components/adminUser/adminEndorsement/EndorsementDetails\";\nimport EditDropDown from \"./components/adminUser/EditDropDowns/EditDropDown\";\nimport AccountsView from \"./components/adminViewMemberAreaPage/AccountsView\";\nimport AccountViewAll from \"./components/adminViewMemberAreaPage/AccountViewAll\";\nimport ChangePassword from \"./components/editMemberDetails/ChangePassword\";\nimport EditMemberDetails from \"./components/editMemberDetails/EditMemberDetails\";\nimport NewsArticle from \"./components/homePage/newsFeed/NewsArticle\";\nimport ViewAllNews from \"./components/homePage/newsFeed/ViewAllNews\";\nimport LMSNavigator from \"./components/learningManagementSystem/CourseComponents/LMSNavigator\";\nimport CheckoutPage from \"./components/loggeddInUser/account/CheckoutPage\";\nimport Leave from \"./components/loggeddInUser/account/Leave\";\nimport ManualPay from \"./components/loggeddInUser/account/ManualPay\";\nimport Notify from \"./components/loggeddInUser/account/Notify\";\nimport PayfastDetails from \"./components/loggeddInUser/account/PayFastDetails\";\nimport PaymentView from \"./components/loggeddInUser/account/PaymentView\";\nimport AvatarProfile from \"./components/loggeddInUser/avatarProfile\";\nimport EndorsementApplicationDeatails from \"./components/loggeddInUser/endorsement/EndorsementApplicationDeatails\";\nimport EndorsementApplicationDeclaration from \"./components/loggeddInUser/endorsement/EndorsementApplicationDeclaration\";\nimport EndorsementApplicationDone from \"./components/loggeddInUser/endorsement/EndorsementApplicationDone\";\nimport EndorsementApplicationFirearm from \"./components/loggeddInUser/endorsement/EndorsementApplicationFirearm\";\nimport EndorsementApplicationView from \"./components/loggeddInUser/endorsement/EndorsementApplicationView\";\nimport MainEndorsement from \"./components/loggeddInUser/endorsement/MainEndorsement\";\nimport LicensedFireArms from \"./components/loggeddInUser/LicensedFireArm/LicensedFireArms\";\nimport UserDetails from \"./components/loggeddInUser/userProfile/UserDetails\";\nimport LoginHandler from \"./components/loginPage/LoginHandler\";\nimport ResetPassword from \"./components/loginPage/ResetPassword\";\nimport ResetRedirect from \"./components/loginPage/ResetRedirect\";\nimport ResetResponse from \"./components/loginPage/ResetResponse\";\nimport AdminMembersArea from \"./components/main/AdminMembersArea\";\nimport MembersArea from \"./components/main/MembersArea\";\nimport News from \"./components/main/News\";\nimport Notifications from \"./components/main/Notifications\";\nimport Emails from \"./components/main/Emails\";\nimport Register from \"./components/main/Register\";\nimport Declaration from \"./components/memberApplication/Declaration\";\nimport LoginDetails from \"./components/memberApplication/LoginDetails\";\nimport MemberAddress from \"./components/memberApplication/MemberAddress\";\nimport MemberDetails from \"./components/memberApplication/MemberDetails\";\nimport SalesDetails from \"./components/memberApplication/SalesDetails\";\nimport PendingMemberView from \"./components/membersAreaPage/PendingMemberView\";\nimport DedicatedSportHunterNR from \"./components/nationalRanking/DedicatedSportHunterNR\";\nimport NationalRanking from \"./components/nationalRanking/NationalRanking\";\nimport OccasionalHunterNR from \"./components/nationalRanking/OccasionalHunterNR\";\nimport NavBar from \"./v3/containers/NavBar/Navbar\";\nimport MemberQRDetails from \"./components/qrLinkToMember/MemberQRDetails\";\nimport ShootingRange from \"./components/shootingRangeLocator/ShootingRange\";\nimport StatusView from \"./components/statusView/statusView\";\nimport StoreLocatorContent from \"./components/storeLocator/StoreLocatorContent\";\nimport ViewAllMember from \"./components/viewAllMember/ViewAllMember\";\nimport ProcessMemberPayment from \"./components/navBar/ProcessMemberPayment\";\nimport ProcessCommissionPayment from \"./components/navBar/commissions/ProcessCommissionPayment\";\nimport StoreOwnerCommission from \"./components/navBar/commissions/StoreOwnerCommission\"\nimport CommissionTemplate from \"./components/navBar/commissions/CommissionTemplate\";\nimport MainSalesCommission from \"./components/loggeddInUser/salesCommission/MainSalesCommission\";\nimport CommissionPaymentDetails from \"./components/loggeddInUser/salesCommission/CommissionPaymentDetails\";\nimport MemberCounts from \"./components/adminPortal/memberCounts/MemberCounts\";\nimport CommissionSelect from \"./components/loggeddInUser/salesCommission/CommissionSelect\";\nimport EditPaymentDetails from \"./components/loggeddInUser/salesCommission/EditPaymentDetails\";\nimport DSNonComplianceList from \"./components/navBar/reports/DSNonComplianceList\";\nimport ForgotEmail from './components/loginPage/ForgotEmail'\n\n/*\n#####################################################\n*/\nimport {\n\tActivities,\n\tCancel,\n\tDocuments,\n\tEndorsements, \n\tLogin,\n\tLogout,\n\tProfile,\n WhatsAppDocuments,\n ProfileCompletion,\n\tSales,\n\tSignup,\n\tReturn,\n MemberEmails,\n\tLicenseRemiders,\n\tMyDedicatedStatus,\n Subscriptions,\n ReportsDownload,\n NewsLetter,\n Courses,\n PartnerDashboard,\n SalesRepDashboard\n } from './v3/containers/index';\nimport theme from './v3/theme/theme';\nimport themev1 from './materialUI/NarfoTheme';\nimport {\n\tBrowserRouter, \n\tRedirect,\n\tRoute, \n\tSwitch\n} from 'react-router-dom';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport { ThemeProvider } from '@material-ui/styles';\nimport Paper from '@material-ui/core/Paper';\nimport Layout from './v3/hoc/Layout/Layout';\nimport { withStyles } from '@material-ui/styles';\nimport { connect } from 'react-redux';\n\n//More info\nimport HuntingGallery from \"./v3/containers/Gallery/HuntingGallery\";// For Wordpress \nimport TargetDownloads from './v3/containers/TargetDownloads/TargetDownloads' // For Wordpress \nimport PartnersLocation from \"./v3/containers/PartnersLocation/PartnersLocation\";\nimport ShootingRangeLocations from \"./v3/containers/ShootingRangeLocations/ShootingRangeLocations\";\nimport FirearmsGuardian from \"./v3/containers/FirearmsGuardian/FirearmsGuardian\";\nimport { Alert } from \"@material-ui/lab\";\nimport GosaForm from \"./v3/containers/WordPressForms/GosaForm\";\nimport PartnerForm from \"./v3/containers/WordPressForms/PartnerForm\";\n\nimport PcoasaForm from \"./v3/containers/WordPressForms/PcoasaForm\";\n//TODO: check if the links to wordpress sites is working \n\nlibrary.add(faUpload);\n\nconst styles = () => ({\n\tapp: {\n\t\tflexShrink: 0,\n\t\theight: '100%',\n\t\tminHeight: '100vh'\n\t},\n});\n\nclass App extends Component {\n constructor(props) {\n super(props);\n this.state = {\n toggle: this.props.snippedUrl\n };\n\n //Refresh the session token\n if(sessionStorage.getItem(\"tokenKey\") == null)\n sessionStorage.setItem(\"tokenKey\", localStorage.getItem('token'));\n\n }\n render() {\n\tconst { classes } = this.props;\n\tconst ProtectedRoute = ({ component: Component, ...rest }) => (\n\t\t (\n\t\t this.props.isAuthenticated === true\n\t\t\t? \n\t\t\t: \n\t\t)} />\n\t );\n return (\n\t\n\t\t\n\t\t\n\t\t\t\n \n \n \n \n {this.state.toggle.substring(this.state.toggle.indexOf(\"?\"), 1) === '?' && this.state.toggle.substring(this.state.toggle.indexOf(\"?\"), 2) !== '?=' ?\n :\n this.state.toggle.substring(this.state.toggle.indexOf(\"?\"), 2) === '?=' ?\n :\n }\n\n\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n \n \n \n \n \n \n\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n \n \n \n {/* TODO: subscription */}\n \n \n \n\n\n\n\n\t\t\t{/**VERSION 2 PUBLIC PAGES\n\t\t\t */}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {}\n \n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\t\t\t\n
\n\t\t\n\t\t\n\t\n );\n }\n}\n\nconst mapStateToProps = state => ({\n\tisAuthenticated: state.AuthReducer.token !== null,\n});\n\nexport default connect(mapStateToProps, null)(withStyles(styles)(App));","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === \"localhost\" ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === \"[::1]\" ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener(\"load\", () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n \"This web app is being served cache-first by a service \" +\n \"worker. To learn more, visit http://bit.ly/CRA-PWA\"\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === \"installed\") {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n \"New content is available and will be used when all \" +\n \"tabs for this page are closed. See http://bit.ly/CRA-PWA.\"\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log(\"Content is cached for offline use.\");\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error(\"Error during service worker registration:\", error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get(\"content-type\");\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n \"No internet connection found. App is running in offline mode.\"\n );\n });\n}\n\nexport function unregister() {\n if (\"serviceWorker\" in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n addActivityDetails: {\n ActivityType: \"\",\n MemNo: \"\",\n ActivityDate: null,\n ActivityDescription: \"\",\n DateSubmitted: null,\n FirearmType: \"\",\n Caliber: \"\",\n PostalShoot: 0,\n Score: 0,\n MemNoNavigation: null,\n FileUploadStatus: \"Idle\",\n FilesCount: 0,\n Status: \"\"\n },\n approvedMemActivities: [],\n adminViewActivityDetails: {},\n activityTypeFilter: \"\",\n activityDateFilter: \"\",\n showActivityFilterBar: false,\n userActivities: [],\n activityAdminTypeFilter: \"\",\n activityAdminStatusFilter: \"Status\",\n showAdminActivityFilterBar: false,\n adminActivities: []\n};\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.APPROVED_MEMBER_ACTIVITY:\n return {\n ...state,\n approvedMemActivities: action.approvedMemActivities\n };\n case actionTypes.ACTIVITY_ACTIONS.UPDATE_ADD_ACTIVITY_DETAILS:\n const newActivityDetails = {\n ...state.addActivityDetails,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n addActivityDetails: newActivityDetails\n };\n case actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_VIEW_ACTIVITY_DETAILS:\n const newAddAdminViewActivityDetails = {\n ...state.addAdminViewActivityDetails,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n addAdminViewActivityDetails: newAddAdminViewActivityDetails\n };\n case actionTypes.ACTIVITY_ACTIONS.SET_ADMIN_VIEW_ACTIVITY_DETAILS:\n return {\n ...state,\n adminViewActivityDetails: { ...action.payload }\n };\n case actionTypes.ACTIVITY_ACTIONS.UPDATE_ACTIVITY_TYPE_FILTER:\n return {\n ...state,\n activityTypeFilter: action.payload\n };\n case actionTypes.ACTIVITY_ACTIONS.UPDATE_ACTIVITY_DATE_FILTER:\n return {\n ...state,\n activityDateFilter: action.payload\n };\n case actionTypes.ACTIVITY_ACTIONS.TOGGLE_SHOW_ACTIVITY_FILTER_BAR:\n return {\n ...state,\n showActivityFilterBar: !state.showActivityFilterBar\n };\n case actionTypes.ACTIVITY_ACTIONS.UPDATE_USER_ACTIVITIES:\n return {\n ...state,\n userActivities: action.payload\n };\n case actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_ACTIVITY_TYPE_FILTER:\n return {\n ...state,\n activityAdminTypeFilter: action.payload\n };\n case actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_ACTIVITY_STATUS_FILTER:\n return {\n ...state,\n activityAdminStatusFilter: action.payload\n };\n case actionTypes.ACTIVITY_ACTIONS.TOGGLE_SHOW_ADMIN_ACTIVITY_FILTER_BAR:\n return {\n ...state,\n showAdminActivityFilterBar: !state.showAdminActivityFilterBar\n };\n case actionTypes.ACTIVITY_ACTIONS.UPDATE_ADMIN_ACTIVITIES:\n return {\n ...state,\n adminActivities: action.payload\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n contactUs: {\n name: \"\",\n email: \"\",\n subject: \"\",\n message: \"\"\n }\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_CONTACT_US_DETAILS:\n const ContactUsDetails = {\n ...state.contactUs,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n contactUs: ContactUsDetails\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actyionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n dedicatedStatus: {\n Title: \"Dedicated Status\",\n Page: \"Home\",\n Application: [],\n DedicatedStatusApplication: {},\n rejectType: \"\"\n }\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actyionTypes.REDIRECT_TO_DS_LIST:\n return {\n ...state,\n ...action.dedicatedStatusReducer\n };\n case actyionTypes.UPDATE_DEDICATED_STATUS:\n const newDedicatedStatus = {\n ...state.dedicatedStatus,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n dedicatedStatus: newDedicatedStatus\n };\n case actyionTypes.REJECT_DS_TYPE:\n return {\n ...state,\n rejectType: !action.rejectType?null:action.rejectType\n }\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n downloads: {\n isPdf: false,\n pdfLink: \"\",\n ListState: [],\n FileUploadStatus: \"Idle\",\n }\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_DOWNLOADS:\n const newDownloads = {\n ...state.downloads,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n downloads: newDownloads\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions//actionTypes\";\n\nconst initialState = {\n licence: {\n Firearm: \"\",\n Make: \"\",\n Model: \"\",\n Caliber: \"\",\n SerialNumber: \"\",\n LicenseName:\"\",\n LicenseType: \"\",\n Description:\"\",\n LicenseNo: \"\",\n Code:\"\",\n Section: \"\",\n FirstIssueDate:\"\",\n IssueDate: \"\",\n ExpiryDate: \"\",\n show:\"\",\n Issued:\"\",\n Custom:\"\",\n MemNo:\"\"\n },\n LicenceList: []\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_LICENCE:\n const newLicence = {\n ...state.licence,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n licence: newLicence\n };\n case actionTypes.UPDATE_LICENCE_LIST:\n return {\n ...state,\n LicenceList: action.payload\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n MemberView: {},\n getLoggedInMember: {},\n activityTypeFilter: \"Activity Type\",\n activityDateFilter: \"2019-01-01\",\n showFilterBar: false,\n Search: \"\",\n MemberList: [],\n ActivityList: [],\n activeStatus: {},\n currAccountViewTab: 0\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_GET_LOGGED_IN_MEMBER:\n return {\n ...state,\n getLoggedInMember: action.getLoggedInMember\n };\n case actionTypes.UPDATE_ACTIVE_STATUS:\n return {\n ...state,\n activeStatus: action.activeStatus\n };\n case actionTypes.UPDATE_CURRENT_ACCOUNT_VIEW_TAB:\n return {\n ...state,\n currAccountViewTab: action.currAccountViewTab\n };\n\n case actionTypes.UPDATE_MEMBER_VIEW:\n return {\n ...state,\n MemberView: action.MemberView\n };\n\n case actionTypes.UPDATE_MEMBER_VIEW_LIST:\n return {\n ...state,\n MemberList: action.payload\n };\n case actionTypes.TOGGLE_SHOW_FILTER_BAR:\n return {\n ...state,\n showFilterBar: !state.showFilterBar\n };\n\n case actionTypes.SEARCH:\n return {\n ...state,\n Search: action.payload\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n ActivityView: {\n ActivityType: \"\",\n MemNo: \"\",\n ActivityDate: null,\n ActivityDescription: \"\",\n DateSubmitted: null,\n FirearmType: \"\",\n Caliber: \"\",\n PostalShoot: 0,\n Score: 0,\n MemNoNavigation: null\n },\n activityTypeFilter: \"Activity Type\",\n activityDateFilter: \"2019-01-01\",\n showActivityFilterBar: false,\n userActivities: []\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_ADD_MEMBER_VIEW_DETAILS:\n const newActivityDetails = {\n ...state.ActivityView,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n ActivityView: newActivityDetails\n };\n case actionTypes.UPDATE_MEMBER_VIEW_ACTIVITY_TYPE_FILTER:\n return {\n ...state,\n activityTypeFilter: action.payload\n };\n case actionTypes.UPDATE_MEMBER_VIEW_ACTIVITY_DATE_FILTER:\n return {\n ...state,\n activityDateFilter: action.payload\n };\n case actionTypes.TOGGLE_MEMBER_VIEW_SHOW_ACTIVITY_FILTER_BAR:\n return {\n ...state,\n showActivityFilterBar: !state.showActivityFilterBar\n };\n case actionTypes.UPDATE_MEMBER_VIEW_ACTIVITIES:\n return {\n ...state,\n userActivities: action.payload\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n ViewLicence: {\n Firearm: \"\",\n Make: \"\",\n Model: \"\",\n Caliber: \"\",\n SerialNumber: \"\",\n LicenseName: \"\",\n LicenseType: \"\",\n LicenseNo: \"\",\n Code: \"\",\n Section: \"\",\n FirstIssueDate: \"\",\n IssueDate: \"\",\n ExpiryDate: \"\",\n show: \"\",\n Issued: \"\",\n Custom: \"\",\n MemNo: \"\"\n },\n LicenceList: []\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_VIEW_LICENCE:\n const newLicence = {\n ...state.ViewLicence,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n ViewLicence: newLicence\n };\n case actionTypes.UPDATE_VIEW_LICENCE_LIST:\n return {\n ...state,\n LicenceList: action.payload\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import { LMS_ACTIONS } from \"../actions/actionTypes\";\n\nconst initialState = {\n courses: [],\n lessons: [],\n lesson: {},\n assesments: [],\n assesment: {},\n course: {},\n quizzes: [],\n resultsRecord: [],\n isAddNewCourse: false,\n currLmsTab: 0,\n lmsAdminPageIterator: 0,\n //take quiz\n currentQuestion: [],\n quiz: {},\n options: [],\n questionType: \"singleChoice\",\n selectedAnswer: \"\",\n currentQuizIndex: 0,\n score: 0,\n next: \"Next\",\n previous: \"Previous\",\n sectionTitle: \"No title\",\n memberCourses: [],\n quizCompletion: [],\n currAssessmentTab: 0,\n certificates: [],\n assesmentCompletion: {},\n courseModuleName: \"\",\n moduleId: \"\"\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case LMS_ACTIONS.UPDATE_CURRENT_ASSESSMENT_TAB:\n return {\n ...state,\n currAssessmentTab: action.currAssessmentTab\n };\n case LMS_ACTIONS.UPDATE_QUIZ_COMPLETION:\n return {\n ...state,\n quizCompletion: action.quizCompletion\n };\n case LMS_ACTIONS.UPDATE_MEMBER_COURSES:\n return {\n ...state,\n memberCourses: action.memberCourses\n };\n case LMS_ACTIONS.UPDATE_RESULTS_RECORD:\n return {\n ...state,\n resultsRecord: action.resultsRecord\n };\n case LMS_ACTIONS.UPDATE_SECTION_TITLE:\n return {\n ...state,\n sectionTitle: action.sectionTitle\n };\n case LMS_ACTIONS.UPDATE_ADMIN_PAGE_ITERATOR:\n return {\n ...state,\n lmsAdminPageIterator: action.lmsAdminPageIterator\n };\n case LMS_ACTIONS.UPDATE_NEXT:\n return {\n ...state,\n next: action.next\n };\n case LMS_ACTIONS.UPDATE_PREVIOUS:\n return {\n ...state,\n previous: action.previous\n };\n case LMS_ACTIONS.UPDATE_CURRENT_QUESTION:\n return {\n ...state,\n currentQuestion: action.currentQuestion\n };\n\n case LMS_ACTIONS.UPDATE_QUIZ:\n return {\n ...state,\n quiz: action.quiz\n };\n case LMS_ACTIONS.UPDATE_OPTIONS:\n return {\n ...state,\n options: action.options\n };\n case LMS_ACTIONS.UPDATE_QUESTION_TYPE:\n return {\n ...state,\n questionType: action.questionType\n };\n case LMS_ACTIONS.UPDATE_SELECTED_ANSWER:\n return {\n ...state,\n selectedAnswer: action.selectedAnswer\n };\n case LMS_ACTIONS.UPDATE_CURRENT_QUIZ_INDEX:\n return {\n ...state,\n currentQuizIndex: action.currentQuizIndex\n };\n case LMS_ACTIONS.UPDATE_SCORE:\n return {\n ...state,\n score: action.score\n };\n //--\n case LMS_ACTIONS.UPDATE_COURSE:\n return {\n ...state,\n course: action.course\n };\n case LMS_ACTIONS.UPDATE_COURSES:\n return {\n ...state,\n courses: action.courses\n };\n case LMS_ACTIONS.UPDATE_QUIZZES:\n return {\n ...state,\n quizzes: action.quizzes\n };\n case LMS_ACTIONS.UPDATE_IS_ADD_NEW_COURSE:\n return {\n ...state,\n isAddNewCourse: action.isAddNewCourse\n };\n case LMS_ACTIONS.UPDATE_CURRENT_LMS_TAB:\n return {\n ...state,\n currLmsTab: action.currLmsTab\n };\n case LMS_ACTIONS.UPDATE_LESSONS:\n return {\n ...state,\n lessons: action.lessons\n };\n case LMS_ACTIONS.UPDATE_LESSON:\n return {\n ...state,\n lesson: action.lesson\n };\n\n case LMS_ACTIONS.UPDATE_ASSESMENTS:\n return {\n ...state,\n assesments: action.assesments\n };\n\n case LMS_ACTIONS.UPDATE_ASSESMENT:\n return {\n ...state,\n assesment: action.assesment\n };\n\n case LMS_ACTIONS.UPDATE_ASSESMENT_COMPLETION:\n return {\n ...state,\n assesmentCompletion: action.assesmentCompletion\n };\n\n case LMS_ACTIONS.UPDATE_CERTIFICATES:\n return {\n ...state,\n certificates: action.certificates\n }\n\n case LMS_ACTIONS.UPDATE_COURSE_MODULE_NAME:\n return {\n ...state,\n courseModuleName: action.courseModuleName\n }\n\n case LMS_ACTIONS.TRACK_CURRENT_MODULE_ID:\n return {\n ...state,\n moduleId: action.moduleId\n }\n\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n loginDetails: {\n email: \"\",\n password: \"\",\n userName: \"\"\n },\n resetPassDetails: {\n email: \"\",\n password: \"\",\n confirmPassword: \"\",\n identityNumber: \"\"\n },\n userProfileDetails: {\n username: \"\",\n email: \"\",\n idno: \"\",\n cellNo: \"\",\n physicalAddress: \"\",\n city: \"\",\n province: \"\",\n postalCode: \"\",\n memberNumber: \"\",\n occupation: \"\",\n userStatus:\"\",\n suburb: \"\",\n inceptionDate: \"\",\n expiryDate: \"\",\n isLoggedIn: false,\n adminLevel: false,\n partnerLevel:false,\n salesRepLevel:false,\n partnerId:-1\n },\n memberState: {\n isAdmin: false,\n isAdminMemView: false\n },\n memberObject: {\n firstname: \"\",\n surname: \"\",\n username: \"\",\n email: \"\",\n idno: \"\",\n cellNo: \"\",\n password: \"\",\n physicalAddress: \"\",\n suburb: \"\",\n city: \"\",\n suburb: \"\",\n province: \"\",\n postalCode: \"\",\n memberNumber: \"\",\n occupation: \"\",\n inceptionDate: \"\",\n expiryDate: \"\"\n },\n city: \"\"\n};\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_LOGIN_DETAILS:\n const newLoginDetails = {\n ...state.loginDetails,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n loginDetails: newLoginDetails\n };\n case actionTypes.UPDATE_MEMBER_DETAILS_2:\n const newObj = {\n ...state.memberObject,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n memberObject: newObj\n };\n case actionTypes.UPDATE_RESET_DETAILS:\n const newResetDetails = {\n ...state.resetPassDetails,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n resetPassDetails: newResetDetails\n };\n case actionTypes.UPDATE_USER_DETAILS:\n const newUserDetails = {\n ...state.userProfileDetails,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n userProfileDetails: newUserDetails\n };\n case actionTypes.UPDATE_MEMBER_STATE:\n const newMemberState = {\n ...state.memberState,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n memberState: newMemberState\n };\n case actionTypes.UPDATE_MEMBER_CITY:\n return {\n ...state,\n city: action.city\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions//actionTypes\";\n\nconst initialState = {\n membersArea: {\n memberName: \"\",\n dedicatedHunterStatus: \"\",\n dedicatedSportShooterStatus: \"\",\n currentActivityTab: \"0\",\n currentLicenseTab: \"0\",\n currLmsTab: \"0\",\n src: \"\",\n activityDocuments: [],\n profilePicture: null,\n updateText: \"Approve\",\n rejectText: \"Reject\",\n viewedActivity: {\n activityType: \"\",\n activityDate: \"\",\n status: \"\",\n activityId: \"\",\n activityDescription: \"\",\n firearmType: \"\",\n caliber: \"\",\n association: \"\"\n }\n }\n};\n\nconst reducer = (state = initialState, action) => {\n let newMembersArea;\n switch (action.type) {\n case actionTypes.UPDATE_MEMBERS_AREA:\n newMembersArea = {\n ...state.membersArea,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n membersArea: newMembersArea\n };\n case actionTypes.RESET_MEMBERS_VIEWED_ACTIVITY:\n newMembersArea = {\n ...state.membersArea,\n viewedActivity: {\n activityType: \"\",\n activityDate: \"\",\n status: \"\",\n activityId: \"\",\n activityDescription: \"\",\n firearmType: \"\",\n caliber: \"\",\n association: \"\"\n },\n profilePicture: null,\n updateText: \"Approve\",\n rejectText: \"Reject\"\n };\n return {\n ...state,\n membersArea: newMembersArea\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"./../actions/actionTypes\";\n\nconst initialState = {\n signupDetails:{\n CellNo: null,\n City: null,\n CoC: null,\n CriminalRecord: null,\n CurrentMember_Associaton: null,\n DC: null,\n declaractionAcceptance: null,\n DocTrue: null,\n ElectronicComms: null,\n Email: null,\n Ethinicity: null,\n FireArmStorage: null,\n FireArms_Control:null,\n Firstname: null,\n IDNo: null,\n Occupation: null,\n Password: null,\n PasswordConfirm: null,\n PhysicalAddress: null,\n PostalCode: null,\n Province: null,\n SalesRep: null,\n Sex: null,\n Store: null,\n Suburb:null,\n Surname: null,\n Username: null\n },\n onSumbitError: null\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_SIGNUP_DETAILS:\n const newMemberDetails = {\n ...state.signupDetails,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n signupDetails: newMemberDetails\n };\n\n case actionTypes.UPDATE_SIGNUP_DETAILS_FROM_DB:\n return {\n ...state,\n signupDetails: action.payload\n }\n case actionTypes.UPDATE_REG_SUBMIT_ERROR_MESSAGE:\n return {\n ...state,\n onSumbitError: action.value\n }\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n account: {\n paymentType: \"\",\n recieptNo: \"\",\n invoiceNo: \"\",\n paymentDate: \"\",\n year: \"\",\n paymentMethod: \"\",\n amountPaid: \"\",\n email: \"\",\n currentAccountTab: \"\"\n },\n PaymentObject: {},\n recentAccountEntry: {}, \n accountList: [],\n memViewAccountDet: []\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_ACCOUNT:\n const newAccount = {\n ...state.account,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n account: newAccount\n };\n\n case actionTypes.UPDATE_RECENT_ACCOUNT_ENTRY:\n return {\n ...state,\n recentAccountEntry: action.recentAccountEntry\n };\n case actionTypes.UPDATE_ACCOUNT_LIST:\n return {\n ...state,\n accountList: action.payload\n };\n case actionTypes.MEM_VIEW_ACCT_DET:\n return {\n ...state,\n memViewAccountDet: action.memViewAccountDet\n };\n case actionTypes.MEMBER_PAYMENT_ADD:\n return {\n ...state,\n PaymentObject: action.PaymentObject\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n mainDetails: {\n memberNumber: \"\",\n isVisitor: false,\n isMember: false,\n isAdmin: false\n },\n showAdminHamburger: true,\n toggleHamburger: false\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.TOGGLE_HAMBURGER:\n return {\n ...state,\n toggleHamburger: action.toggleHamburger\n };\n case actionTypes.UPDATE_MAIN_DETAILS:\n const newMainDetails = {\n ...state.mainDetails,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n mainDetails: newMainDetails\n };\n case actionTypes.TOGGLE_SHOW_ADMIN_HAMBURGER:\n return {\n ...state,\n showAdminHamburger: state.showAdminHamburger\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n adminPortal: {\n currentActivityTab: \"0\",\n currentLicenseTab: \"0\",\n currLmsTab: \"0\",\n currentAdminEndorsementTab: \"0\",\n preview: \"\",\n userEndorsementList: [],\n src: \"\"\n },\n currActivityTab:0\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_CURRENT_ADMIN_ACTIVITY_TAB2:\n return {\n ...state,\n currActivityTab: action.currActivityTab\n };\n case actionTypes.UPDATE_CURRENT_ADMIN_ACTIVITY_TAB:\n return {\n ...state,\n currentActivityTab: action.currTab\n };\n case actionTypes.UPDATE_CURRENT_ACTIVITY_TAB:\n return {\n ...state,\n adminPortal: action.currTab\n };\n\n case actionTypes.UPDATE_ADMIN_PORTAL:\n const newAdminPortal = {\n ...state.adminPortal,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n adminPortal: newAdminPortal\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n article: {\n currentNewsTab: \"\",\n id: \"\",\n title: \"\",\n content: \"\"\n },\n articles: []\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_ARTICLE:\n return {\n ...state,\n article: action.article\n };\n case actionTypes.UPDATE_ARTICLES:\n return {\n ...state,\n articles: action.articles\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n notification: {\n currentNotificationTab: \"\",\n id: \"\",\n title: \"\",\n content: \"\",\n date: null\n },\n notifications: []\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_NOTIFICATION:\n return {\n ...state,\n notification: action.notification\n };\n case actionTypes.UPDATE_NOTIFICATIONS:\n return {\n ...state,\n notifications: action.notifications\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n activityMemberNumber: null,\n activityID: null,\n renderPracticalActivityDetails: false\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_ACTIVITY_PARAMETERS:\n return {\n ...state,\n activityMemberNumber: action.activityMemberNumber,\n activityID: action.activityID,\n renderPracticalActivityDetails: action.renderPracticalActivityDetails\n };\n default:\n return state\n }\n}\n\nexport default reducer;","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n memberDetails: {\n memNo: \"\",\n username: \"\",\n firstname: \"\",\n surname: \"\",\n title: \"\",\n Approved: \"\",\n DSType: \"\",\n IDNo: \"\",\n Email: \"\",\n CellNo: \"\",\n PhysicalAddress: \"\",\n suburb: \"\",\n city: \"\",\n postalCode: \"\",\n Sex: \"\",\n Ethinicity: \"\",\n MemType: \"\",\n InceptionDate: \"\",\n ExpiryDate: \"\",\n SalesReps: \"\",\n Store: \"\",\n ActivityType: \"Activity Type\",\n ActivityDate: null,\n ActivityDescription: \"\",\n DateSubmitted: null,\n FirearmType: \"\",\n Caliber: \"\",\n PostalShoot: 0,\n Score: 0,\n },\n activityTypeFilter: \"Activity Type\",\n activityDateFilter: \"2019-01-01\",\n showActivityFilterBar: false,\n MemberList: [],\n ActivityList: []\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_MEMBER_DETAILS:\n const newMemberDetails = {\n ...state.MemberDetails,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n MemberDetails: newMemberDetails\n };\n case actionTypes.UPDATE_MEMBER_DETAILS_LIST:\n return {\n ...state,\n MemberList: action.payload\n };\n default:\n return state;\n }\n};\n\nexport default reducer ","import * as actionTypes from \"../actions/actionTypes\";\nconst initialState = {\n files: [],\n name: \"\",\n documentType: \"General\"\n}\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.CHANGE_DOCUMENT_TYPE:\n return {\n ...state.documentType,\n [action.varName]: action.varValue\n }\n case actionTypes.UPDATE_FILES_TO_UPLOAD:\n return {\n ...state,\n files: action.payload,\n name: action.varName\n }\n case actionTypes.UPDATE_FILES_TO_UPLOAD_RESET:\n return {\n ...state,\n files: [],\n name: \"\"\n }\n default:\n return state;\n };\n};\nexport default reducer;","import * as Types from \"./storelocatorActionTypes\";\n\nconst storeLocatorState = {\n branches: [],\n url:\n \"https://www.google.com/maps/embed/v1/search?q= CITY &key=AIzaSyBib6CAqY9NS0sTy3BuaaXkZYuJtdH08bQ\",\n searchString: \"\",\n city: \"CITY\"\n};\n\nconst reducer = (state = storeLocatorState, action) => {\n switch (action.type) {\n case Types.SL_GET_BRANCHES_START:\n case Types.SL_GET_BRANCHES_FAILED:\n case Types.SL_GET_BRANCHES_SUCCESS:\n case Types.SL_UPDATE_BRANCHES:\n case Types.SL_UPDATE_SEARCH_STRING:\n case Types.SL_UPDATE_SEARCH_URL:\n return {\n ...state,\n ...action.storeLocatorState\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n Options: {\n Section: \"\",\n ActivityType: \"\",\n FireArmType: \"\",\n Optics: \"\",\n Activity_Event: \"\",\n Store: \"\",\n ShootingRange: \"\",\n SRAddress: \"\",\n Adress: \"\",\n Act_Disc: \"\",\n\n DeleteSection: \"\",\n DeleteKey: \"\",\n DeleteActKey: \"\",\n DeleteFireKey: \"\",\n DeleteOpticsKey: \"\",\n DeleteActEventKey: \"\",\n DeleteSRangeKey: \"\",\n DeleteStoreKey: \"\",\n DeleteActDiscKey: \"\",\n show: \"\"\n }\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_OPTIONS:\n const newOptions = {\n ...state.Options,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n Options: newOptions\n };\n default:\n return state;\n }\n};\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n _application: {},\n pendingAE: {},\n pendingDS: {\n pendingDS: [],\n dsCount: 0\n },\n membersDSS: {},\n membersDH: {},\n membersPending: {},\n membersRenewal: {},\n totalMembers: {},\n pendings: [],\n activities: {\n pendingCount: 0,\n activities: []\n },\n newMembers: {\n pendingNMCount: 0,\n newMembers: []\n },\n newRenewals: {\n pendingNRCount: 0,\n newRenewals: []\n },\n endorsements: {\n pendingEndorsementCount: 0,\n pendingEndorsements: [],\n allEndorsements: [],\n }\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.DASHBOARD_ACTIONS.UPDATE_PENDING_ENDORSEMENTS: //remove this\n return {\n ...state,\n endorsements: action.endorsements //wrong\n };\n case actionTypes.DASHBOARD_ACTIONS.UPDATE_ACTIVITY_OBJECT:\n return {\n ...state,\n activities: action.activities\n };\n case actionTypes.DASHBOARD_ACTIONS.UPDATE_DS_APPLICATIONS:\n return {\n ...state,\n _application: action._pending\n };\n case actionTypes.DASHBOARD_ACTIONS.GET_ALL_ENDORSEMENTS_URL:\n return {\n ...state,\n endorsements: action.endorsements\n };\n case actionTypes.DASHBOARD_ACTIONS.UPDATE_PENDING_MEMBERS:\n return {\n ...state,\n membersPending: action.membersPending\n };\n case actionTypes.DASHBOARD_ACTIONS.UPDATE_RENEWAL_MEMBERS:\n return {\n ...state,\n membersRenewal: action.membersRenewal\n };\n case actionTypes.DASHBOARD_ACTIONS.UPDATE_DH_MEMBERS:\n return {\n ...state,\n membersDH: action.membersDH\n };\n case actionTypes.DASHBOARD_ACTIONS.UPDATE_DSS_MEMBERS:\n return {\n ...state,\n membersDSS: action.membersDSS\n };\n case actionTypes.DASHBOARD_ACTIONS.UPDATE_AE_PENDINGS:\n return {\n ...state,\n pendingAE: action.pendingAE\n };\n case actionTypes.DASHBOARD_ACTIONS.GET_ACTIVITIES:\n return {\n ...state,\n activities: action.activities\n };\n case actionTypes.DASHBOARD_ACTIONS.UPDATE_DS_PENDINGS:\n return {\n ...state,\n pendingDS: action.pendingDS\n // pendingDS: !action.pendingDS ? null : action.pendingDS\n };\n case actionTypes.DASHBOARD_ACTIONS.UPDATE_PENDING:\n return {\n ...state,\n pending: action.pending\n };\n case actionTypes.DASHBOARD_ACTIONS.UPDATE_TOTAL_MEMBERS:\n return {\n ...state,\n totalMembers: action.totalMembers\n };\n case actionTypes.DASHBOARD_ACTIONS.GET_ALL_RENEWAL_MEMEBRS_URL:\n return {\n ...state,\n newRenewals: action.newRenewals\n };\n case actionTypes.DASHBOARD_ACTIONS.GET_ALL_PENDING_MEMBERS_URL:\n return {\n ...state,\n newMembers: action.newMembers\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\nconst initialState = {\n profilePicture: \"\",\n memberID: \"\",\n isExist: \"\"\n};\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.GET_MEMBER_PROFILE_PICTURE:\n return {\n ...state,\n profilePicture: action.profilePicture,\n memberID: action.memberID\n };\n case actionTypes.UPDATE_MEMBER_PROFILE_PICTURE:\n return {\n ...state,\n profilePicture: action.profilePicture\n };\n case actionTypes.MEMBER_PP_RECORD_EXISTS:\n return {\n ...state,\n isExist: action.isExist\n };\n default:\n return state;\n }\n};\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n applications: [],\n appication: {},\n appication_post: {},\n certificate: {},\n membersArea: {\n memberName: \"\",\n dedicatedHunterStatus: \"\",\n dedicatedSportShooterStatus: \"\",\n currentActivityTab: \"0\",\n currentLicenseTab: \"0\",\n currLmsTab: \"0\",\n currentEndorsementTab: \"0\",\n currentAdminEndorsementTab: \"0\"\n },\n\n addEndorsementDetails: {\n userEndorsementList: [],\n ApplicationType: \"\",\n ApplicationTitle: \"\",\n ApplicationDate: \"\",\n Status: \"\",\n ApprovalDate: \"\",\n EndorsementNo: \"\",\n FirearmType: \"\",\n ActionType: \"\",\n Make: \"\",\n Model: \"\",\n Section: \"\",\n SerialNumber: \"\",\n CertificateUrl: \"\",\n Caliber: \"\",\n FirearmPurpose: \"\",\n AccurateDeclaration: \"\",\n EndorsementTYpe: \"\",\n Motivation: \"\"\n },\n\n Caliber: \"\",\n SerialNo: \"\",\n FirearmPurpose: \"\",\n EndorsementTYpe: \"\",\n title: \"\"\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CERTIFICATE:\n return {\n ...state,\n certificate: action.certificate\n };\n case actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATION:\n return {\n ...state,\n application: action.application\n };\n case actionTypes.UPDATE_APPLICATION_POST:\n return {\n ...state,\n application_post: action.application_post\n };\n case actionTypes.ENDORSEMENT_ACTIONS.UPDATE_APPLICATIONS:\n return {\n ...state,\n applications: action.applications\n };\n case actionTypes.ENDORSEMENT_ACTIONS.UPDATE_ADD_ENDORSEMENT_DETAILS:\n const newEndorsementDetails = {\n ...state.addEndorsementDetails,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n addEndorsementDetails: newEndorsementDetails\n };\n case actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_PAGE:\n return {\n ...state,\n currentPage: action.currPage\n };\n case actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ENDORSEMENT_TAB:\n return {\n ...state,\n currentEndorsementTab: action.currTab\n };\n\n case actionTypes.ENDORSEMENT_ACTIONS.UPDATE_CURRENT_ADMIN_ENDORSEMENT_TAB:\n return {\n ...state,\n currentAdminEndorsementTab: action.currTab\n };\n\n case actionTypes.ENDORSEMENT_ACTIONS.UPDATE_USER_ENDORSEMENT:\n return {\n ...state,\n endorsements: action.payload\n };\n case actionTypes.ENDORSEMENT_ACTIONS.UPDATE_ADMIN_ENDORSEMENT:\n return {\n ...state,\n updateAdminEndorsement: action.payload\n };\n case actionTypes.ENDORSEMENT_ACTIONS.RESET_APPLICATION:\n return initialState;\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions//actionTypes\";\n\nconst initialState = {\n rankByYear:{},\n rankByActivity:{},\n rankByAssociation:{},\n rankByFirearmType:{},\n nationalRanking: {\n Rank: \"\",\n Score: \"0\",\n SportShooter: {},\n Year: \"\",\n Association: \"\",\n FirearmType: \"\",\n ActivityType: \"\",\n currentNationalRankingTab: \"0\",\n MemNo: \"\"\n },\n\n NationalRankingList: []\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_RANK_BY_YEAR:\n return {\n ...state,\n rankByYear: action.rankByYear\n };\n case actionTypes.UPDATE_RANK_BY_ACTIVITY:\n return {\n ...state,\n rankByActivity: action.rankByActivity\n };\n case actionTypes.UPDATE_RANK_BY_FIREARMTYPE:\n return {\n ...state,\n rankByFirearmType: action.rankByFirearmType\n };\n case actionTypes.UPDATE_RANK_BY_ASSOCIATION:\n return {\n ...state,\n rankByAssociation: action.rankByAssociation\n };\n case actionTypes.UPDATE_NATIONAL_RANK:\n const newNationalRanking = {\n ...state.licence,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n nationalRanking: newNationalRanking\n };\n case actionTypes.UPDATE_NATIONAL_RANK_LIST:\n return {\n ...state,\n NationalRankingList: action.payload\n };\n\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import { CHECKOUT_DETAILS_ACTIONS } from \"../actions/actionTypes\";\n\nconst initialState = {\n payfastObj: {},\n payFastDetails: {\n PAY_FAST_URL: \"\",\n merchantId: \"\",\n merchantKey: \"\",\n amount: \"\",\n itemName: \"\"\n }\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case CHECKOUT_DETAILS_ACTIONS.UPDATE_PAY_FAST_DETAILS:\n return {\n ...state,\n payfastObj: action.payfastObj\n };\n case CHECKOUT_DETAILS_ACTIONS.UPDATE_PAY_FAST_URL:\n return {\n ...state,\n PAY_FAST_URL: action.PAY_FAST_URL\n };\n case CHECKOUT_DETAILS_ACTIONS.UPDATE_MERCHANT_ID:\n return {\n ...state,\n merchantId: action.merchantId\n };\n case CHECKOUT_DETAILS_ACTIONS.UPDATE_MERCHANT_KEY:\n return {\n ...state,\n merchantKey: action.merchantKey\n };\n case CHECKOUT_DETAILS_ACTIONS.UPDATE_AMOUNT:\n return {\n ...state,\n amount: action.amount\n };\n case CHECKOUT_DETAILS_ACTIONS.UPDATE_ITEM_NAME:\n return {\n ...state,\n itemName: action.itemName\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n documents: {\n ListState: [],\n name: \"\",\n link: \"\",\n downloadId: \"\",\n discription: \"\"\n }\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_DOWNLOADS:\n const newDownloads = {\n ...state.documents,\n [action.varName]: action.varValue\n };\n return {\n ...state,\n documents: newDownloads\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import {\n FETCH_COURSE_MODULES_WITH_CHILDREN_BEGIN,\n FETCH_COURSE_MODULES_WITH_CHILDREN_SUCCESS,\n FETCH_COURSE_MODULES_WITH_CHILDREN_FAILURE,\n TOGGLE_SHOW_CHILDREN\n} from \"../actions/lmsActionTypes\";\n\nconst initialState = {\n error: null,\n loading: null,\n payload: []\n}\n\nconst reducer = (state = initialState, action) => {\n switch(action.type){\n case FETCH_COURSE_MODULES_WITH_CHILDREN_BEGIN:\n return {\n ...state,\n loading: true\n }\n case FETCH_COURSE_MODULES_WITH_CHILDREN_SUCCESS:\n return {\n ...state,\n loading: false,\n payload: [...action.payload]\n }\n case FETCH_COURSE_MODULES_WITH_CHILDREN_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.error\n }\n case TOGGLE_SHOW_CHILDREN:\n const id = action.payload;\n let modules = [...state.payload];\n modules.some(mod => {\n if(mod.courseModuleId === id){\n mod.showChildren = !mod.showChildren;\n return null;\n }\n return null;\n });\n return {\n ...state,\n payload: [...modules]\n }\n default:\n return state;\n }\n}\n\nexport default reducer;\n","import {\n POPULATION_WEEK_DATA,\n POPULATION_MONTH_DATA,\n POPULATION_YEAR_DATA\n} from \"../actions/lmsActionTypes\";\n\nconst initialState = {\n weekData: [],\n monthData: [],\n yearData: []\n}\n\nfunction isLoadWhenExisting(dataArray, key, data){\n const array = dataArray;\n const index = array.findIndex(element => element.key === key);\n\n if(index > 0){\n array[index] = {\n key: key,\n data: data\n }\n } else {\n array.push({\n key: key,\n data: data\n })\n }\n return Array.from(array);\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case POPULATION_WEEK_DATA:\n return {\n ...state,\n weekData: isLoadWhenExisting(state.weekData, action.key, action.payload)\n }\n case POPULATION_MONTH_DATA:\n return {\n ...state,\n monthData: isLoadWhenExisting(state.monthData, action.key, action.payload)\n }\n case POPULATION_YEAR_DATA:\n return {\n ...state,\n yearData: isLoadWhenExisting(state.yearData, action.key, action.payload)\n }\n default:\n return state;\n }\n}\n\nexport default reducer;","import * as Types from \"./NewActivityActionTypes\";\n\nconst newActivityState = {\n isNarfoEvent: true,\n activityEvent: null,\n memberNumber: null,\n fileInputOpen: false,\n eventType: null,\n eventDescription: '',\n activityType: null,\n date: null,\n score: 0,\n caliber: null,\n firearm: null,\n optics: null,\n association: 'NARFO',\n documents: [],\n\n eventTypes: [],\n uploadStatus: {\n loading: null,\n response: null,\n error: null\n },\n\n activityTypes: [],\n getActivityStatus: {\n loading: null,\n response: null,\n error: null\n },\n\n opticsList: [],\n getOpticsStatus: {\n loading: null,\n response: null,\n error: null\n },\n\n firearmTypes: [],\n getFirearmTypesStatus: {\n loading: null,\n response: null,\n error: null\n },\n\n associationsList: [],\n getAssociationsStatus: {\n loading: null,\n response: null,\n error: null\n },\n\n activityEventList: [],\n getActivityEventsStatus: {\n loading: null,\n response: null,\n error: null\n },\n\n};\n\nconst reducer = (state = newActivityState, action) => {\n switch (action.type) {\n case Types.NEW_ACT_ACTIVITY_EVENT:\n case Types.NEW_ACT_RESET:\n return {\n ...state,\n isNarfoEvent: true,\n activityEvent: null,\n memberNumber: null,\n fileInputOpen: false,\n eventType: null,\n eventDescription: '',\n activityType: null,\n date: null,\n score: 0,\n caliber: null,\n firearm: null,\n optics: null,\n association: 'NARFO',\n documents: [],\n\n };\n case Types.NEW_ACT_ADD_FILE:\n case Types.NEW_ACT_REMOVE_FILE:\n case Types.NEW_ACT_SET_DATE:\n case Types.NEW_ACT_TOGGLE_NARFO_EVENT:\n case Types.NEW_ACT_SET_ASSOCIATION:\n case Types.NEW_ACT_SET_MEMBER_NUMBER:\n case Types.NEW_ACT_SET_ACTIVITY_EVENT:\n case Types.NEW_ACT_SET_EVENT_DESCRIPTION:\n case Types.NEW_ACT_SET_ACTIVITY_TYPE:\n case Types.NEW_ACT_SET_FIREARM_TYPE:\n case Types.NEW_ACT_SET_OPTICS:\n case Types.NEW_ACT_SET_CALIBER:\n case Types.NEW_ACT_SET_SCORE:\n case Types.NEW_ACT_UPLOAD_BEGIN:\n case Types.NEW_ACT_UPLOAD_FAILURE:\n case Types.NEW_ACT_UPLOAD_SUCCESS:\n case Types.NEW_ACT_GET_ACTIVITIES_BEGIN:\n case Types.NEW_ACT_GET_ACTIVITIES_FAILURE:\n case Types.NEW_ACT_GET_ACTIVITIES_SUCCESS:\n case Types.NEW_ACT_GET_OPTICS_BEGIN:\n case Types.NEW_ACT_GET_OPTICS_FAILURE:\n case Types.NEW_ACT_GET_OPTICS_SUCCESS:\n case Types.NEW_ACT_GET_FIREARM_TYPES_BEGIN:\n case Types.NEW_ACT_GET_FIREARM_TYPES_FAILURE:\n case Types.NEW_ACT_GET_FIREARM_TYPES_SUCCESS:\n case Types.NEW_ACT_GET_ASSOCIATIONS_BEGIN:\n case Types.NEW_ACT_GET_ASSOCIATIONS_FAILURE:\n case Types.NEW_ACT_GET_ASSOCIATIONS_SUCCESS:\n case Types.NEW_ACT_GET_ACTIVITY_EVENT_BEGIN:\n case Types.NEW_ACT_GET_ACTIVITY_EVENT_FAILURE:\n case Types.NEW_ACT_GET_ACTIVITY_EVENT_SUCCESS:\n return {\n ...state,\n ...action.newActivityState,\n };\n case Types.NEW_ACT_TOGGLE_FILE_INPUT:\n return {\n ...state,\n fileInputOpen: !state.fileInputOpen\n };\n default:\n return state;\n }\n};\n\nexport default reducer;","import * as Types from \"./FilterActionTypes\";\n\nconst activityFilterState = {\n filterCategory: null, //'Hunting' or 'Sport Shooting'\n startDate: null,\n endDate: null,\n unfilteredActivities: null,\n};\n\nconst reducer = (state = activityFilterState, action) => {\n switch (action.type) {\n case Types.RESET_ACTIVITY_FILTER:\n return {\n ...state,\n ...activityFilterState\n }\n case Types.SET_FILTER_CATEGOTY:\n case Types.SET_FILTER_START_DATE:\n case Types.SET_FILTER_END_DATE:\n return {\n ...state,\n ...action.activityFilterState,\n };\n default:\n return state;\n }\n};\n\nexport default reducer;","import * as Types from \"./PendingActivityActionTypes\";\n\nconst pendingActivityState = {\n approvalStatus: {\n loading: null,\n response: null,\n error: null\n },\n member: null,\n activity: null,\n};\n\nconst reducer = (state = pendingActivityState, action) => {\n switch (action.type) {\n case Types.APPROVE_PENDING_BEGIN:\n case Types.APPROVE_PENDING_ERROR:\n case Types.SET_MEMBER_ACTIVITY:\n case Types.APPROVE_PENDING_SUCCESS:\n return {\n ...state,\n ...action.pendingActivityState\n };\n default:\n return state;\n }\n};\n\nexport default reducer;","import * as Types from \"./ApproveNewMemberActionTypes\";\n\nconst approveNewMemberState = {\n approvalStatus: {\n loading: null,\n response: null,\n error: null\n },\n accountUpdateStatus: {\n loading: null,\n response: null,\n error: null\n },\n receiptNo: null,\n invoiceNo: null,\n paymentDate: null,\n year: null,\n paymentMethod: null,\n amount: null,\n costCode: null,\n paid: null\n};\n\nconst reducer = (state = approveNewMemberState, action) => {\n switch (action.type) {\n case Types.APPROVE_MEMBER_BEGIN:\n case Types.APPROVE_MEMBER_ERROR:\n case Types.APPROVE_MEMBER_SUCCESS:\n case Types.UPDATE_ACCOUNT_BEGIN:\n case Types.UPDATE_ACCOUNT_ERROR:\n case Types.UPDATE_ACCOUNT_SUCCESS:\n case Types.SET_RECEIPT_NO:\n case Types.SET_INVOICE_NO:\n case Types.SET_PAYMENT_DATE:\n case Types.SET_YEAR:\n case Types.SET_PAYMENT_METHOD:\n case Types.SET_AMOUNT:\n return {\n ...state,\n ...action.approveNewMemberState\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","export const APPROVE_MEMBER_ERROR = \"APPROVE_MEMBER_ERROR\",\n APPROVE_MEMBER_BEGIN = \"APPROVE_MEMBER_BEGIN\",\n APPROVE_MEMBER_SUCCESS = \"APPROVE_MEMBER_SUCCESS\",\n UPDATE_ACCOUNT_BEGIN = \"UPDATE_ACCOUNT_BEGIN\",\n UPDATE_ACCOUNT_ERROR = \"UPDATE_ACCOUNT_ERROR\",\n UPDATE_ACCOUNT_SUCCESS = \"UPDATE_ACCOUNT_SUCCESS\",\n SET_RECEIPT_NO = \"SET_RECEIPT_NO\",\n SET_INVOICE_NO = \"SET_INVOICE_NO\",\n SET_PAYMENT_DATE = \"SET_PAYMENT_DATE\",\n SET_YEAR = \"SET_YEAR\",\n SET_PAYMENT_METHOD = \"SET_PAYMENT_METHOD\",\n SET_AMOUNT = \"SET_AMOUNT\";\n","import * as Types from \"./ApproveNewEndorsementsActionTypes\";\n\nconst approveNewEndorsementsState = {\n approvalStatus: {\n loading: null,\n response: null,\n error: null\n },\n emailStatus: {\n loading: null,\n response: null,\n error: null\n },\n reason: \"\",\n application: null\n};\n\nconst reducer = (state = approveNewEndorsementsState, action) => {\n switch (action.type) {\n case Types.APPROVE_ENDORSEMENT_BEGIN:\n case Types.APPROVE_ENDORSEMENT_ERROR:\n case Types.APPROVE_ENDORSEMENT_SUCCESS:\n case Types.EMAIL_BEGIN:\n case Types.EMAIL_ERROR:\n case Types.EMAIL_SUCCESS:\n case Types.SET_CURRENT_ENDORSEMENT:\n case Types.SET_REASON:\n return {\n ...state,\n ...action.approveNewEndorsementsState\n };\n default:\n return state;\n }\n};\n\nexport default reducer;","import * as Types from \"./ApproveNewDSActionTypes\";\n\nconst approveNewDSState = {\n approvalStatus: {\n loading: null,\n response: null,\n error: null\n },\n emailStatus: {\n loading: null,\n response: null,\n error: null\n },\n reason: \"\",\n application: null,\n user: null\n};\n\nconst reducer = (state = approveNewDSState, action) => {\n switch (action.type) {\n case Types.APPROVE_DS_BEGIN:\n case Types.APPROVE_DS_ERROR:\n case Types.APPROVE_DS_SUCCESS:\n case Types.EMAIL_BEGIN:\n case Types.EMAIL_ERROR:\n case Types.EMAIL_SUCCESS:\n case Types.SET_CURRENT_DS_APPLICATION:\n return {\n ...state,\n ...action.approveNewDSState\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as Types from \"./DedicatedStatusApplicationActionTypes\";\n\nconst DSApplicationState = {\n applicationStatus: {\n loading: null,\n response: null,\n error: null,\n DS: false,\n DH: false,\n DS_DH: false\n },\n currentStep: 1,\n dsType: \"Dedicated Sports Person\",\n DS: false,\n DH: false,\n DS_DH: false,\n validationError: true,\n canSubmit: false,\n PhRegNo: \"\",\n PhAssociation: \"\",\n PhProvince: \"\",\n PhExpiryDate: \"\",\n PhAttachment: null,\n OdsAttachment: null,\n OdsExpiryDate: \"\",\n OdsDsNo: \"\",\n OdsFarNo: \"\",\n OdsAssociationName:\"\",\n NonParticipationReason: \"\",\n Motivation: \"\",\n Participation: \"\",\n Assessments: \"\",\n Ods: \"\",\n Ph: \"\",\n detailsError: null,\n motivationError: null,\n declarationError: null,\n showModal: false\n};\n\nconst reducer = (state = DSApplicationState, action) => {\n switch (action.type) {\n case Types.APPLICATION_BEGIN:\n case Types.APPLICATION_ERROR:\n case Types.APPLICATION_SUCCESS:\n case Types.CHANGE_STEP:\n case Types.TOGGLE_DS_TYPE:\n case Types.SET_DS_VARIABLES:\n case Types.SET_VALIDATION_ERRORS:\n return {\n ...state,\n ...action.DSApplicationState\n };\n case Types.CLEAR_STATE:\n return {\n ...state,\n Ods: \"\",\n Ph: \"\",\n NonParticipationReason: \"\",\n Motivation: null,\n Participation: null,\n Assessments: null,\n currentStep: 1,\n PhRegNo: \"\",\n PhAssociation: \"\",\n PhProvince: \"\",\n PhExpiryDate: \"\",\n PhAttachment: null,\n OdsAttachment: null,\n OdsExpiryDate: \"\",\n OdsDsNo: \"\",\n OdsFarNo: \"\",\n OdsAssociationName: \"\"\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\nconst initialState = {\n loyaltyDaysObject: {},\n currentLoyaltyDaysTab: \"0\",\n loyaltyRecord: {},\n loyaltyRecordArray: []\n };\n const reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.GET_LOYALTY_DAYS:\n return {\n ...state,\n loyaltyDaysObject: action.loyaltyDaysObject\n }\n case actionTypes.UPDATE_LOYALTY_DAYS_TAB:\n return {\n ...state,\n currentLoyaltyDaysTab: action.currentLoyaltyDaysTab\n }\n case actionTypes.GET_MEM_LOYALTY_RECORD:\n return {\n ...state,\n loyaltyRecord: action.loyaltyRecord\n }\n case actionTypes.GET_LOYALTY_DAYS_ARRAY:\n return {\n ...state,\n loyaltyRecordArray: action.loyaltyRecordArray\n }\n default:\n return state;\n }\n };\n export default reducer;","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n commInfo: {},\n currentCommissionTab: \"0\",\n commissionRecord: []\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_REP_NUM:\n return {\n ...state,\n commInfo: action.commInfo\n };\n case actionTypes.ON_COMMISSION_REC_UPDATE:\n return {\n ...state,\n commissionRecord: action.commissionRecord\n };\n case actionTypes.UPDATE_COMMISSION_TAB:\n return {\n ...state,\n currentCommissionTab: action.currentCommissionTab\n }\n default:\n return state;\n }\n};\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n commCategory: {},\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_COMMISSION_CATEGORY:\n return {\n ...state,\n commCategory: action.commCategory\n };\n default:\n return state;\n }\n};\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n monthlyCommission: [],\n bankingDetails: [],\n bankEditObject: {},\n isPartner: false,\n bankDetailsViewObj: {}\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.MONTHLY_COMMISSION:\n if(!action.monthlyCommission) {\n return state;\n } else {\n return {\n ...state,\n monthlyCommission: action.monthlyCommission\n };\n }\n case actionTypes.BANKING_DETAILS_UPDATE:\n if(!action.bankingDetails){\n return state;\n } else {\n return {\n ...state,\n bankingDetails: action.bankingDetails\n };\n }\n case actionTypes.BANKING_DETAILS_EDIT:\n if(!action.bankEditObject){\n return state;\n } else {\n return {\n ...state,\n bankEditObject: action.bankEditObject\n };\n }\n case actionTypes.IS_PARTNER_UPDATE:\n if(!action.isPartner){\n return state;\n } else {\n return {\n ...state,\n isPartner: action.isPartner\n };\n }\n case actionTypes.UPDATE_BANKING_DETAILS_VIEW:\n if(!action.bankDetailsViewObj){\n return state;\n } else {\n return {\n ...state,\n bankDetailsViewObj: action.bankDetailsViewObj\n };\n }\n default:\n return state;\n }\n};\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n base64Images: {}\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.GET_BASE64_IMAGES:\n if(!action.base64Images){\n return state;\n } else {\n return {\n ...state,\n base64Images: action.base64Images\n };\n }\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n EndorsementPurpose: \"\"\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.CHANGE_ENDORSEMENT_PURPOSE:\n return {\n ...state.EndorsementPurpose,\n [action.varName]: action.varValue\n }\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n localHostKey: \"6LeKvckZAAAAACCxLi8-Wg3AhTzYMPTeHru4I4up\",\n narfoQAKey: \"6Lf60s0ZAAAAAE_KPf2TBKeenBTp91Q2q4WQ3AKu\",\n narfoProductionKey: \"6LfhXZQlAAAAAEUWghq6reTKn4MEBVlXA4ewp9kx\"\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n default:\n return state;\n }\n};\nexport default reducer;","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n endorsementSection: '',\n endorsementApplicationType: ''\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_VALIDATE_SECTION:\n return {\n ...state,\n endorsementSection: action.endorsementSection\n };\n case actionTypes.UPDATE_VALIDATE__APPLICATION_TYPE:\n return {\n ...state,\n endorsementApplicationType: action.endorsementApplicationType\n };\n default:\n return state;\n }\n};\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n selectedActivityDescription: '',\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_SELECTED_ACTIVITY_DESCRIPTION:\n if(!action.selectedActivityDescription) {\n return state;\n } else {\n return {\n ...state,\n selectedActivityDescription: action.selectedActivityDescription\n };\n }\n default:\n return state;\n }\n};\nexport default reducer;\n","/* eslint-disable no-unused-vars */\nimport * as actionTypes from './actionTypes';\nimport { updateObject } from '../../../shared/utility';\n\nconst initialState = {\n token: null,\n memNo: null,\n error: null,\n loading: false,\n authRedirectPath: '/member/my-profile'\n};\n\nconst authStart = (state, action) => updateObject( \n state, \n { \n error: null, \n loading: true \n }\n);\n\nconst authSuccess = (state, action) => updateObject (\n state, \n {\n token: action.token,\n memNo: action.memNo,\n error: null,\n loading: false\n }\n);\n\nconst authFail = (state, action) => updateObject( \n state, \n {\n error: action.error,\n loading: false\n }\n);\n\nconst authLogout = (state, action) => updateObject(\n state, \n { \n token: null, \n memNo: null \n }\n);\n\nconst setAuthRedirectPath = (state, action) => updateObject(\n state, \n { \n authRedirectPath: action.path \n }\n);\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.AUTH_START: return authStart(state, action);\n case actionTypes.AUTH_SUCCESS: return authSuccess(state, action);\n case actionTypes.AUTH_FAIL: return authFail(state, action);\n case actionTypes.AUTH_LOGOUT: return authLogout(state, action);\n case actionTypes.SET_AUTH_REDIRECT_PATH: return setAuthRedirectPath(state, action);\n default:\n return state;\n }\n};\n\nexport default reducer;","import {\n FETCH_MEMBER_DATA_ERROR,\n SET_MEMBER_PROFILE_PICTURE,\n SET_MEMBER_DATA,\n SET_MEMBER_DEDICATED_STATUS,\n SET_MEMBER_LOYALTY_DAYS,\n SET_MEMBER_ACCOUNT_HISTORY,\n SET_MEMBER_DEDICATED_STATUS_ACTIVITIES,\n EMAIL_SET_MEMBER_DATA_2,\n EMAIL_FETCH_MEMBER_DATA_ERROR_2\n} from './types';\n\nconst INITIAL_STATE = {\n memberData: {},\n errorMessage: '',\n dedicatedStatus: '',\n dedicatedStatusActivities: {},\n loyaltyProgram: {\n daysEarned: {},\n loyaltyHistory: [],\n },\n accountHistory: [],\n profilePicture: '',\n memberData2: {},\n isMemberExpired: false,\n};\n\nconst reducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case FETCH_MEMBER_DATA_ERROR:\n return {\n ...state,\n memberData: {},\n errorMessage: action.payload,\n };\n\n case SET_MEMBER_DATA:\n return {\n ...state,\n memberData: action.payload.members,\n isMemberExpired: action.payload.isMemberExpired,\n personalAssisstant: action.payload.personalAssisstant,\n errorMessage: '',\n };\n \n case SET_MEMBER_PROFILE_PICTURE:\n return {\n ...state,\n profilePicture: action.payload,\n };\n\n case SET_MEMBER_DEDICATED_STATUS:\n return {\n ...state,\n dedicatedStatus: action.payload,\n };\n\n case SET_MEMBER_LOYALTY_DAYS:\n return {\n ...state,\n loyaltyProgram: action.payload,\n };\n\n case SET_MEMBER_ACCOUNT_HISTORY:\n return {\n ...state,\n accountHistory: action.payload,\n };\n \n case SET_MEMBER_DEDICATED_STATUS_ACTIVITIES:\n return {\n ...state,\n dedicatedStatusActivities: action.payload,\n };\n\n case EMAIL_FETCH_MEMBER_DATA_ERROR_2:\n return {\n ...state,\n memberData2: {},\n };\n\n case EMAIL_SET_MEMBER_DATA_2:\n return {\n ...state,\n memberData2: action.payload\n };\n\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import {\n SET_NOTIFICATIONS\n } from './types';\n \n const INITIAL_STATE = {\n notifications: []\n };\n \n export default (state = INITIAL_STATE, { type, payload }) => {\n switch (type) {\n \n case SET_NOTIFICATIONS:\n return { ...state, notifications: payload };\n\n default:\n return state;\n }\n };\n \n ","import {\n SET_FIREARM_LICENCE_STATUS,\n SET_FIREARM_LICENCE_LIST,\n SET_FIREARM_LICENCE_RECORD,\n SET_FIREARM_LICENCE_APPLICATION_LIST\n} from './types';\n\nconst INITIAL_STATE = {\n firearmLicenceStatus: {},\n firearmLicence: [],\n firearmLicenceRecord: {},\n firearmLicenseApplications : []\n};\n\n\nconst reducer = (state = INITIAL_STATE, action) => {\n switch(action.type) {\n case SET_FIREARM_LICENCE_STATUS:\n return {\n ...state,\n firearmLicenceStatus: action.payload,\n };\n case SET_FIREARM_LICENCE_LIST:\n return {\n ...state,\n firearmLicence: action.payload\n };\n case SET_FIREARM_LICENCE_RECORD:\n return {\n ...state,\n firearmLicenceRecord: action.payload\n };\n\n case SET_FIREARM_LICENCE_APPLICATION_LIST:\n return {\n ...state,\n firearmLicenseApplications: action.payload\n };\n\n default:\n return state;\n }\n};\n\nexport default reducer;","import {\n SET_COMMISSIONS,\n SET_BANKING_DETAILS,\n SET_SALES_REPS\n} from './types';\n\nconst INITIAL_STATE = {\n commissions: [],\n bankingDetails: {\n repDetails: {},\n partnerDetails: {},\n },\n salesReps: []\n};\n\nexport default (state = INITIAL_STATE, { type, payload }) => {\n switch (type) {\n \n case SET_COMMISSIONS:\n return { ...state, commissions: payload };\n\n case SET_BANKING_DETAILS:\n return { ...state, bankingDetails: payload };\n\n case SET_SALES_REPS:\n\treturn { ...state, salesReps: payload };\n\n default:\n return state;\n }\n};\n\n","import {\n SET_ACTIVITIES,\n SET_ACTIVITY_MATRIX,\n SET_ACTIVITY_RANKING\n} from './types';\n\nconst INITIAL_STATE = {\n activities: [],\n activityMatrix: [],\n activityRanking: []\n};\n\nexport default (state = INITIAL_STATE, { type, payload }) => {\n switch (type) {\n\n case SET_ACTIVITIES:\n return { ...state, activities: payload };\n \n case SET_ACTIVITY_MATRIX:\n return {...state, activityMatrix: payload };\n \n case SET_ACTIVITY_RANKING:\n return {...state, activityRanking: payload };\n\n default:\n return state;\n }\n};\n","import {\n SET_ACTIVITY_TYPE,\n SET_DISCIPLINES,\n SET_DOCUMENT_TYPE,\n SET_EVENT_LOOKUP,\n SET_FIREARM_TYPES,\n SET_FIREARM_TYPES_LOOKUP,\n SET_OPTICS_LOOKUP,\n SET_ACTION_TYPE,\n SET_ENDORSEMENT_APPLICATION_TYPE,\n SET_SECTION_LOOKUP,\n SET_PURPOSE_LOOKUP,\n SET_SPECIE_TYPE\n} from './types';\n\nconst INITIAL_STATE = {\n eventLookup: [],\n disciplines: [],\n firearmTypes: [],\n firearmTypeLookup: [],\n opticsLookup: [],\n activityType: [],\n specieType:[],\n firearmActionType: [],\n sectionLookup: [],\n documentTypes: [\n {\n documentLookupId: 0,\n documentType: 'General'\n },\n {\n documentLookupId: 1,\n documentType: 'Narfo'\n },\n {\n documentLookupId: 2,\n documentType: 'Dedicated Status'\n },\n {\n documentLookupId: 3,\n documentType: 'Hunting'\n },\n {\n documentLookupId: 4,\n documentType: 'Member'\n },\n {\n documentLookupId: 5,\n documentType: 'Target'\n },\n ],\n endorsementApplicationType: [\n {\n applicationTypeLookupId: 0,\n applicationType: 'Self Defence'\n },\n {\n applicationTypeLookupId: 1,\n applicationType: 'Hunting'\n },\n {\n applicationTypeLookupId: 2,\n applicationType: 'Sports Shooting'\n }\n ],\n endorsementPurposeType: [\n {\n purposeTypeLookupId: 0,\n purposeType: 'New Lisence'\n },\n {\n purposeTypeLookupId: 1,\n purposeType: 'Renewal'\n },\n ]\n};\n\nexport default (state = INITIAL_STATE, { type, payload }) => {\n switch (type) {\n\n case SET_DISCIPLINES:\n return { ...state, disciplines: payload };\n\n case SET_EVENT_LOOKUP:\n return { ...state, eventLookup: payload };\n\n case SET_FIREARM_TYPES:\n return {...state, firearmTypes: payload};\n\n case SET_FIREARM_TYPES_LOOKUP:\n return {...state, firearmTypeLookup: payload};\n \n case SET_OPTICS_LOOKUP:\n return {...state, opticsLookup: payload};\n\n case SET_ACTIVITY_TYPE:\n return {...state, activityType: payload};\n \n case SET_SPECIE_TYPE:\n return {...state, specieType: payload};\n\n case SET_DOCUMENT_TYPE:\n return {...state, documentTypes: payload};\n\n case SET_ACTION_TYPE:\n return {...state, firearmActionType: payload};\n \n case SET_ENDORSEMENT_APPLICATION_TYPE:\n return {...state, endorsementApplicationType: payload};\n\n case SET_SECTION_LOOKUP:\n return {...state, sectionLookup: payload};\n \n case SET_PURPOSE_LOOKUP:\n return {...state, endorsementPurposeType: payload};\n\n default:\n return state;\n }\n};\n","import { SET_ENDORSEMENTS } from './actionTypes';\n\nconst INITIAL_STATE = {\n endorsements: [],\n};\n\nexport default (state = INITIAL_STATE, {type, payload }) => {\n switch(type) {\n \n case SET_ENDORSEMENTS:\n return {\n ...state,\n endorsements: payload\n };\n default:\n return state;\n }\n};","import { SET_DOCUMENTS } from './actionTypes';\n\nconst INITIAL_STATE = {\n documents: [],\n};\n\nexport default (state = INITIAL_STATE, {type, payload }) => {\n switch(type) {\n \n case SET_DOCUMENTS:\n return {\n ...state,\n documents: payload\n };\n default:\n return state;\n }\n};","import {\n UPDATE_DEDICATED_STATUS_LIST,\n UPDATE_DEDICATED_STATUS_LIST_ERROR,\n UPDATE_DEDICATED_STATUS_RECORD\n} from './types';\n\nconst INITIAL_STATE = {\n dedicatedStatusList: [],\n erroMessage: '',\n dedicatedStatusRecord: {}\n};\n\nconst reducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case UPDATE_DEDICATED_STATUS_LIST:\n return {\n ...state,\n dedicatedStatusList: action.payload,\n erroMessage: ''\n };\n \n case UPDATE_DEDICATED_STATUS_LIST_ERROR:\n return {\n ...state,\n dedicatedStatusList: [],\n erroMessage: action.payload\n };\n case UPDATE_DEDICATED_STATUS_RECORD:\n return {\n ...state,\n dedicatedStatusRecord: action.payload\n };\n default:\n return state;\n }\n};\n\nexport default reducer;","import {\n UPDATE_ASSESMENT_COMPLETION,\n UPDATE_COURSES,\n UPDATE_COURSE,\n UPDATE_IS_ADD_NEW_COURSE,\n UPDATE_QUIZZES,\n UPDATE_CURRENT_LMS_TAB,\n UPDATE_ASSESMENTS,\n UPDATE_ASSESMENT,\n UPDATE_LESSONS,\n UPDATE_LESSON,\n UPDATE_ADMIN_PAGE_ITERATOR,\n UPDATE_CURRENT_QUESTION,\n UPDATE_QUIZ,\n UPDATE_OPTIONS,\n UPDATE_QUESTION_TYPE,\n UPDATE_SELECTED_ANSWER,\n UPDATE_CURRENT_QUIZ_INDEX,\n UPDATE_SCORE,\n UPDATE_NEXT,\n UPDATE_PREVIOUS,\n UPDATE_SECTION_TITLE,\n UPDATE_RESULTS_RECORD,\n UPDATE_MEMBER_COURSES,\n UPDATE_QUIZ_COMPLETION,\n UPDATE_CURRENT_ASSESSMENT_TAB,\n UPDATE_CERTIFICATES,\n UPDATE_COURSE_MODULE_NAME,\n TRACK_CURRENT_MODULE_ID,\n UPDATE_PROGRESS_ARRAY\n} from './actionTypes';\n\nconst INITIAL_STATE = {\n courses: [],\n lessons: [],\n lesson: {},\n assesments: [],\n assesment: {},\n course: {},\n quizzes: [],\n resultsRecord: [],\n isAddNewCourse: false,\n currLmsTab: 0,\n lmsAdminPageIterator: 0,\n currentQuestion: [],\n quiz: {},\n options: [],\n questionType: 'singleChoice',\n selectedAnswer: '',\n currentQuizIndex: 0,\n score: 0,\n next: 'Next',\n previous: 'Previous',\n sectionTitle: 'No title',\n memberCourses: [],\n quizCompletion: [],\n currAssessmentTab: 0,\n certificates: [],\n assesmentCompletion: {},\n courseModuleName: '',\n moduleId: '',\n};\n\nconst reducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case UPDATE_CURRENT_ASSESSMENT_TAB:\n return {\n ...state,\n currAssessmentTab: action.currAssessmentTab\n };\n case UPDATE_QUIZ_COMPLETION:\n return {\n ...state,\n quizCompletion: action.quizCompletion\n };\n case UPDATE_MEMBER_COURSES:\n return {\n ...state,\n memberCourses: action.memberCourses\n };\n case UPDATE_RESULTS_RECORD:\n return {\n ...state,\n resultsRecord: action.resultsRecord\n };\n case UPDATE_SECTION_TITLE:\n return {\n ...state,\n sectionTitle: action.sectionTitle\n };\n case UPDATE_ADMIN_PAGE_ITERATOR:\n return {\n ...state,\n lmsAdminPageIterator: action.lmsAdminPageIterator\n };\n case UPDATE_NEXT:\n return {\n ...state,\n next: action.next\n };\n case UPDATE_PREVIOUS:\n return {\n ...state,\n previous: action.previous\n };\n case UPDATE_CURRENT_QUESTION:\n return {\n ...state,\n currentQuestion: action.currentQuestion\n };\n\n case UPDATE_QUIZ:\n return {\n ...state,\n quiz: action.quiz\n };\n case UPDATE_OPTIONS:\n return {\n ...state,\n options: action.options\n };\n case UPDATE_QUESTION_TYPE:\n return {\n ...state,\n questionType: action.questionType\n };\n case UPDATE_SELECTED_ANSWER:\n return {\n ...state,\n selectedAnswer: action.selectedAnswer\n };\n case UPDATE_CURRENT_QUIZ_INDEX:\n return {\n ...state,\n currentQuizIndex: action.currentQuizIndex\n };\n case UPDATE_SCORE:\n return {\n ...state,\n score: action.score\n };\n case UPDATE_COURSE:\n return {\n ...state,\n course: action.course\n };\n case UPDATE_COURSES:\n return {\n ...state,\n courses: action.courses\n };\n case UPDATE_QUIZZES:\n return {\n ...state,\n quizzes: action.quizzes\n };\n case UPDATE_IS_ADD_NEW_COURSE:\n return {\n ...state,\n isAddNewCourse: action.isAddNewCourse\n };\n case UPDATE_CURRENT_LMS_TAB:\n return {\n ...state,\n currLmsTab: action.currLmsTab\n };\n case UPDATE_LESSONS:\n return {\n ...state,\n lessons: action.lessons\n };\n case UPDATE_LESSON:\n return {\n ...state,\n lesson: action.lesson\n };\n\n case UPDATE_ASSESMENTS:\n return {\n ...state,\n assesments: action.assesments\n };\n\n case UPDATE_ASSESMENT:\n return {\n ...state,\n assesment: action.assesment\n };\n\n case UPDATE_ASSESMENT_COMPLETION:\n return {\n ...state,\n assesmentCompletion: action.assesmentCompletion\n };\n\n case UPDATE_CERTIFICATES:\n return {\n ...state,\n certificates: action.certificates\n };\n\n case UPDATE_COURSE_MODULE_NAME:\n return {\n ...state,\n courseModuleName: action.courseModuleName\n };\n\n case TRACK_CURRENT_MODULE_ID:\n return {\n ...state,\n moduleId: action.moduleId\n };\n\n case UPDATE_PROGRESS_ARRAY:\n return {\n ...state,\n progressArr: action.progressArr\n };\n\n\t\t\n\n default:\n return state;\n }\n};\n\nexport default reducer;\n","/* eslint-disable no-unused-vars */\nimport * as actionTypes from './actionTypes';\nimport { updateObject } from '../../../shared/utility';\n\nconst initialState = {\n memNo: null,\n email: null,\n error: null,\n loading: false,\n signupRedirectPath: '/login',\n signupSuccess: null,\n salesReps: [],\n partners: [],\n};\n\nconst signupStart = (state, action) => updateObject(\n state,\n {\n error: null,\n loading: true,\n }\n);\n\nconst signupSuccess = (state, action) => updateObject (\n state,\n {\n memNo: action.memNo,\n email: action.email,\n error: null,\n loading: false,\n signupSuccess: true,\n }\n);\n\nconst signupFail = (state, action) => updateObject(\n state,\n {\n error: action.error,\n loading: false,\n signupSuccess: false,\n }\n);\n\nconst setSignupRedirectPath = (state, action) => updateObject(\n state, \n { \n signupRedirectPath: action.path \n }\n);\n\nconst setSalesRep = (state, action) => updateObject(\n state,\n {\n salesReps: action.salesReps\n }\n);\n\nconst setPartners = (state, action) => updateObject(\n state,\n {\n partners: action.partners\n }\n);\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SIGNUP_START: return signupStart(state, action);\n case actionTypes.SIGNUP_SUCCESS: return signupSuccess(state, action);\n case actionTypes.SIGNUP_FAIL: return signupFail(state, action);\n case actionTypes.SET_SIGNUP_REDIRECT_PATH: return setSignupRedirectPath(state, action);\n case actionTypes.SET_SALES_REPRESENTATIVES: return setSalesRep(state, action);\n case actionTypes.SET_PARTNERS: return setPartners(state, action);\n default:\n return state;\n }\n};\n\nexport default reducer;","export const SIGNUP_START = 'SIGNUP_START';\nexport const SIGNUP_SUCCESS = 'SIGNUP_SUCCESS';\nexport const SIGNUP_FAIL = 'SIGNUP_FAIL';\n\nexport const SET_SIGNUP_REDIRECT_PATH = 'SETP_SIGNUP_REDIRECT_PATH';\n\nexport const SET_SALES_REPRESENTATIVES = 'SET_SALES_REPRESENTATIVES';\nexport const SET_PARTNERS = 'SET_PARTNERS';","import {\n SET_TARGET_FIREARM_TYPES,\n SET_FIREARM_TYPES_LOOKUP,\n SET_ACTIVITY_LOOKUP,\n SET_EVENT_RULES,\n SET_EVENT_NAME\n} from './actionType';\n\nimport { targetDownsLoadLevels } from '../../shared/constants';\n\nconst INITIAL_STATE = {\n fireArmTypes: [],\n fireArmTypesLookups: [],\n activatyLookups: [],\n eventRules: [],\n downloads: [],\n level: '',\n eventName: '',\n};\n\nexport default (state = INITIAL_STATE, { type, payload}) => {\n switch (type) {\n \n case SET_TARGET_FIREARM_TYPES:\n return { ...state, fireArmTypes: payload, level: targetDownsLoadLevels.FIREARM_TYPES};\n\n case SET_FIREARM_TYPES_LOOKUP:\n return { ...state, fireArmTypesLookups: payload, level: targetDownsLoadLevels.FIREARM_LOOK_UP};\n\n case SET_ACTIVITY_LOOKUP:\n return { ...state, activatyLookups: payload, level: targetDownsLoadLevels.ACTIVITY_LOOK_UP};\n\n case SET_EVENT_RULES:\n return { ...state, eventRules: payload, level: targetDownsLoadLevels.EVENT_RULES};\n \n case SET_EVENT_NAME:\n return {...state, eventName: payload}\n\n default:\n return state;\n }\n};","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n loginToRessetPassword: \"1\",\n landingPageContentToggle: 0,\n aboutUsToggler: 0\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_LOGIN_PAGE_TOGGLER:\n return {\n ...state,\n loginToRessetPassword: action.loginToRessetPassword\n };\n case actionTypes.UPDATE_LANDING_PAGE_CONTENT:\n return {\n ...state,\n landingPageContentToggle: action.landingPageContentToggle\n };\n case actionTypes.UPDATE_ABOUT_US_CONTENT:\n return {\n ...state,\n aboutUsToggler: action.aboutUsToggler\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n currentNewsId: '0'\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_NEWS_ID:\n if(!action.currentNewsId) {\n return state;\n } else {\n return {\n ...state,\n currentNewsId: action.currentNewsId\n };\n }\n default:\n return state;\n }\n};\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n aboutUsToggler: 0,\n fireararmOwwners: 0,\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_ABOUT_US_CONTENT:\n return {\n ...state,\n aboutUsToggler: action.aboutUsToggler\n };\n case actionTypes.UPDATE_FIREARM_OWNERS_CONTENT:\n return {\n ...state,\n fireararmOwwners: action.fireararmOwwners\n };\n default:\n return state;\n }\n};\n\nexport default reducer;","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n pageOneToPageTwoSignUp: false\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_PAGE_ONE:\n return {\n ...state,\n pageOneToPageTwoSignUp: action.loginToRessetPassword === undefined ? false : action.loginToRessetPassword\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n huntingTab: 0,\n sportShooting: 0\n};\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_HUNTING_CONTENT:\n return {\n ...state,\n huntingTab: action.huntingTab\n };\n case actionTypes.UPDATE_SPORT_SHOOTING_CONTENT:\n return {\n ...state,\n sportShooting: action.sportShooting\n };\n default:\n return state;\n }\n};\nexport default reducer;","import * as actionTypes from \"../actions/actionTypes\";\n\nconst initialState = {\n sportShooting: 0\n};\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.UPDATE_SPORT_SHOOTING_CONTENT:\n return {\n ...state,\n sportShooting: action.sportShooting\n };\n default:\n return state;\n }\n};\nexport default reducer;","import \"react-app-polyfill/ie11\";\nimport \"react-app-polyfill/stable\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { createStore, combineReducers, applyMiddleware } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport { composeWithDevTools } from \"redux-devtools-extension\";\nimport { Provider } from \"react-redux\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport activitiesReducer from \"./store/reducers/activities\";\nimport contactUsReducer from \"./store/reducers/contactUs\";\nimport dedicatedStatusReducer from \"./store/reducers/dedicatedStatus\";\nimport downloadsReducer from \"./store/reducers/downloads\";\nimport licensesReducer from \"./store/reducers/licenses\";\nimport MemberViewReducer from \"./store/reducers/viewMember\";\nimport ActivityViewReducer from \"./store/reducers/ViewActivities\";\nimport LisenceViewReducer from \"./store/reducers/ViewLicence\";\nimport lmsReducer from \"./store/reducers/lms\";\nimport loginReducer from \"./store/reducers/login\";\nimport membersAreaReducer from \"./store/reducers/membersArea\";\nimport registrationReducer from \"./store/reducers/registration\";\nimport accountReducer from \"./store/reducers/account\";\nimport mainReducer from \"./store/reducers/main\";\nimport adminPortalReducer from \"./store/reducers/adminPortal\";\nimport articlesReducer from \"./store/reducers/articles\";\nimport notificationsReducer from \"./store/reducers/notifications\";\nimport activitiesParametersReducer from \"./store/reducers/activityParameters\";\nimport memberDetailsReducer from \"./store/reducers/loggedInMember\";\nimport fileUploaderReducer from \"./store/reducers/fileUploader\";\nimport storeLocatorReducer from \"./components/storeLocator/storeLocatorReducer\";\nimport DropDownReducer from \"./store/reducers/DropDowns\";\nimport dashBoardReducer from \"./store/reducers/dashBoard\";\nimport memberProfilePictureReducer from \"./store/reducers/memberProfilePicture\";\nimport endorsementReducer from \"./store/reducers/endorsements\";\nimport nationalRankingReducer from \"./store/reducers/nationalRanking\";\nimport { MuiThemeProvider } from \"@material-ui/core/styles\";\nimport theme from \"./materialUI/NarfoTheme\";\nimport checkoutDefaultsReducer from \"./store/reducers/checkoutDefaults\";\nimport documentReducer from \"./store/reducers/document\";\nimport lmsCourseModuleReducer from \"./store/lmsReducers/lmsCourseModule\";\nimport lmsStatistics from \"./store/lmsReducers/lmsStatistics\";\nimport NewActivityReducer from \"./components/loggeddInUser/activitiesPage/NewActivityReducer\";\nimport FilterReducer from \"./components/loggeddInUser/activitiesPage/Filter/FilterReducer\";\nimport PendingActivityReducer from \"./components/adminPortal/Approvals/PendingActivitySubComponents/PendingActivityReducer\";\nimport ApproveNewMemberReducer from \"./components/adminPortal/Approvals/ApproveNewMembers/ApproveNewMemberReducer\";\nimport ApproveNewEndorsementsReducer from \"./components/adminPortal/Approvals/ApproveNewEndorsements/ApproveNewEndorsementsReducer\";\nimport ApproveNewDSReducer from \"./components/adminPortal/Approvals/ApproveNewDS/ApproveNewDSReducer\";\nimport DSApplicationReducer from \"./components/dedicatedStatusApplication/DedicatedStatusApplicationReducer\";\nimport LoyaltyDaysReducer from \"./store/reducers/loyaltyDays\";\nimport CommissionReducer from \"./store/reducers/commission\";\nimport CommissionCategoryReducer from \"./store/reducers/commissionCategory\";\nimport CommissionRecordReducer from \"./store/reducers/commissionRecords\";\nimport Base64ImagesReducer from \"./store/reducers/base64Images\";\nimport EndorsementPurposeReducer from \"./store/reducers/endorsementPurpose\";\nimport RecaptchaKeyReducer from \"./store/reducers/recaptureKeys\";\nimport EndorsementApplReducer from './store/reducers/endorsementAppl';\nimport ActivityAprrovalReducer from './store/reducers/activityAproval';\n/*VERSION 3\n*/\nimport AuthReducer from './v3/store/Auth/Login/reducer';\nimport ProfileReducer from './v3/store/Profile/reducer';\nimport NotificationReducer from './v3/store/Notifications/reducer';\nimport LicenceReducer from './v3/store/Licence/reducer';\nimport nCommissionReducer from './v3/store/SalesCommissions/reducer';\nimport nActivitiesReducer from './v3/store/Activities/reducer';\nimport nLookupReduder from './v3/store/Lookup/reducer';\nimport nEndorsementReducer from './v3/store/Endorsements/reducer';\nimport nDocumentsReducer from './v3/store/Documents/reducer';\nimport nDedicatedStatusReducer from './v3/store/DedicatedStatus/reducer';\nimport nLearningManagementReducer from './v3/store/LearningManagement/reducer';\nimport nSignupReducer from './v3/store/Auth/Signup/reducer';\nimport fireArmTypeReducer from './v3/store/FireArmType/reducer';\n/*\n*/\n\n/*VERSION 2\n */\nimport GeneralPageTogglerReducer from './store/reducers/generalPageToggler';\nimport NewsIdReducer from './store/reducers/newsId';\nimport GenericTabbedPaneTogglerReducer from './store/reducers/genericTabbedPaneToggler';\nimport NextPageReducer from './store/reducers/nextPage';\nimport HuntingTogglerReducer from './store/reducers/huntingToggler';\nimport SportShootingToggleReducer from './store/reducers/sportShootingToggle';\n/*\n */\n\nfunction saveTolocalStorage(state) {\n try {\n const serializedState = JSON.stringify(state)\n localStorage.setItem(\"state\", serializedState)\n } catch (e) {\n console.log(e)\n }\n}\nfunction loadFromLocalStorage() {\n try {\n const serializedState = localStorage.getItem(\"state\")\n if (serializedState === null) return undefined\n return JSON.parse(serializedState)\n } catch (e) {\n console.log(e)\n return undefined;\n }\n}\nconst rootReducer = combineReducers({\n LoyaltyDaysReducer: LoyaltyDaysReducer,\n DropDownReducer: DropDownReducer,\n activitiesReducer: activitiesReducer,\n contactUsReducer: contactUsReducer,\n dedicatedStatusReducer: dedicatedStatusReducer,\n downloadsReducer: downloadsReducer,\n licensesReducer: licensesReducer,\n MemberViewReducer: MemberViewReducer,\n LisenceViewReducer: LisenceViewReducer,\n ActivityViewReducer: ActivityViewReducer,\n lmsReducer: lmsReducer,\n loginReducer: loginReducer,\n membersAreaReducer: membersAreaReducer,\n registrationReducer: registrationReducer,\n accountReducer: accountReducer,\n mainReducer: mainReducer,\n adminPortalReducer: adminPortalReducer,\n endorsementReducer: endorsementReducer,\n nationalRankingReducer: nationalRankingReducer,\n articlesReducer: articlesReducer,\n notificationsReducer: notificationsReducer,\n activitiesParametersReducer: activitiesParametersReducer,\n checkoutDefaultsReducer: checkoutDefaultsReducer,\n memberDetailsReducer: memberDetailsReducer,\n dashBoardReducer: dashBoardReducer,\n memberProfilePictureReducer: memberProfilePictureReducer,\n fileUploaderReducer: fileUploaderReducer,\n storeLocatorState: storeLocatorReducer,\n documentReducer: documentReducer,\n newActivityState: NewActivityReducer,\n pendingActivityState: PendingActivityReducer,\n lmsCourseModuleReducer: lmsCourseModuleReducer,\n lmsStatistics: lmsStatistics,\n activityFilterState: FilterReducer,\n approveNewMemberState: ApproveNewMemberReducer,\n approveNewEndorsementsState: ApproveNewEndorsementsReducer,\n approveNewDSState: ApproveNewDSReducer,\n DSApplicationState: DSApplicationReducer,\n CommissionReducer: CommissionReducer,\n CommissionCategoryReducer: CommissionCategoryReducer,\n CommissionRecordReducer: CommissionRecordReducer,\n Base64ImagesReducer: Base64ImagesReducer,\n EndorsementPurposeReducer: EndorsementPurposeReducer,\n RecaptchaKeyReducer: RecaptchaKeyReducer,\n EndorsementApplReducer: EndorsementApplReducer,\n ActivityAprrovalReducer: ActivityAprrovalReducer,\n\n /*VERSION 3*/\n AuthReducer: AuthReducer,\n ProfileReducer: ProfileReducer,\n NotificationReducer: NotificationReducer,\n LicenceReducer: LicenceReducer,\n nCommissionReducer: nCommissionReducer,\n nActivitiesReducer: nActivitiesReducer,\n nLookupReduder: nLookupReduder,\n nEndorsementReducer: nEndorsementReducer,\n nDocumentsReducer: nDocumentsReducer,\n nDedicatedStatusReducer: nDedicatedStatusReducer,\n nLearningManagementReducer: nLearningManagementReducer, \n nSignupReducer: nSignupReducer,\n fireArmTypeTargets: fireArmTypeReducer,\n /**/\n\n /*VERSION 2*/\n GeneralPageTogglerReducer: GeneralPageTogglerReducer,\n NewsIdReducer: NewsIdReducer,\n GenericTabbedPaneTogglerReducer: GenericTabbedPaneTogglerReducer,\n NextPageReducer: NextPageReducer,\n HuntingTogglerReducer: HuntingTogglerReducer,\n SportShootingToggleReducer: SportShootingToggleReducer\n /**/\n});\n\nconst persistedState = loadFromLocalStorage()\nconst store = createStore(\n rootReducer,\n persistedState,\n composeWithDevTools(applyMiddleware(thunk))\n);\nstore.subscribe(() => saveTolocalStorage(store.getState()));\n\nconst readUrl = window.location.href.substring(window.location.href.lastIndexOf(\"/\") + 1);\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\"),\n document.addEventListener(\"click\", function () {\n sessionStorage.setItem(\"event\", \"click\")\n }),\n document.addEventListener(\"scroll\", function () {\n sessionStorage.setItem(\"event\", \"scroll\")\n }),\n document.addEventListener(\"keypress\", function () {\n sessionStorage.setItem(\"event\", \"keypress\")\n })\n);\n\nserviceWorker.register({\n onUpdate: registration => {\n const waitingServiceWorker = registration.waiting\n if (waitingServiceWorker) {\n waitingServiceWorker.addEventListener(\"statechange\", event => {\n if (event.target.state === \"activated\") {\n window.location.reload();\n }\n });\n waitingServiceWorker.postMessage({ type: \"SKIP_WAITING\" });\n }\n }\n});","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/pp6.dfb6cee5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/narfoLogo.5df0498e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Protect_section.f65605da.jpg\";","module.exports = __webpack_public_path__ + \"static/media/firearms-guardian.d31e6028.png\";","module.exports = __webpack_public_path__ + \"static/media/NarfoLogo.36414a11.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxEHBhIQEA4NFQ8QEg4VDxANDQ8PDRAQFRUWFhURExUZHSggGBolGxUTITEhJSkuLi4uFx8zODctNyguLisBCgoKDQ0NDg0NDisZHxkrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK//AABEIAOEA4QMBIgACEQEDEQH/xAAaAAEBAQEBAQEAAAAAAAAAAAAABQQDAQIH/8QAMhABAAECAwUGBQMFAAAAAAAAAAECAwQRIQUSMVFxQWGBkbHREyIzNMEyguFSkqGi8f/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A/UQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHO7eptfqmOnb5A6Cfd2hM/pjLvq4+TJXequcap89PIFrPvgz74QhReEKKpjhM+EulGJro4Vz46+oLIn2doa5Vx4x7N8TnCD0AAAAAAAAAAAAAAAAAAGDaN/Xcj93sDzFY7OcqP7vZhmc5BQAAAAAAbLGO+Faindzy7d7+GMBvjaWutHlV/DZbuRdozjgiNWz73w7u7PCr17AVAEAAAAAAAAAAAAAAHlU7tMzyQ66t+qZnjM5q+MndwtXTLz0R1AAAAAAAAAAAAFqxc+LZieca9e10ZNm1Z4fLlM/iWtAAAAAAAAAAAAAABm2h9rPWPVKVdofaz1hKUAAAAAAAAAAAAUNlz8tUd8fluTtlz89XSFFAAAAAAAAAAAAAABm2h9rPh6pS1fo+LZmnnGnXsReCgAAAAAAAAAAADbsv6lXSPVRYdl0/JVPOYjy/63IAAAAAAAAAAAAAAPi7ci1RnM6JOKmKr8zTwnX3bNqfSp6/hOUAAAAAAAAAAHtFE11ZRxl4AtWLfwbUU8vV0Z8DVNeGjPszhoQAAAAAAAAAAAAAAZdo072G6TE/j8pa5co+JbmOcTCHMZSoAAAAAAAAAAA9op364jnMR5grYKndw1Pfr5u7yIyjLk9QAAAAAAAAAAAAAAEjHW9zEz36x48f8AOauAgjpiadzEVR3z5Tq5qAAAAAAAADvgaN/Ex3ay40RvVxHOYXcgAEAAAAAAAAAAAAAAAAGHaVrOIrjs0np2J65co36JieEwiVU7lUxPGJmFHgAAAAAAANezrW/d3uyn1U3HCW/h4eI7Z1nrLsgAAAAAAAAAAAAAAAAAAJO0Kd3Ez3xEqyXtKc8R0iPyDKAoAAAAERnI+rX1Y6x6gucAEAAAAAAAAAAAAAAAAAABGxVW/iKp78vLRQxOKizGUTnVy5dUpQAAAAAAInKcwBdpnejPm9TsFi4op3auHZPLulQic4QegAAAAAAAAAAAAADNextNvhrPdw80+9iar3GdOUaQDfextNvh8093DzYruLru9uUcqdHAUAAAAAAAAAAH3avVWv0zPTs8nwA3W9o/1U+NPs12sTRd4VRnynSUYBeEe1iq7XCdOU6w2WcfTV+qMp58YQbB5E5xnHDu4PQAAAAAYcXjcvlo8avYHfEYqmxpxq5R+U29iKr06zpyjSHKdZFAAAAAAAAAAAAAAAAAAAAHSzeqsz8s+HZLfYx1NelWk/6/wmALwkYbFTYnnTy9lWiqK6YmOE8EH0AD5u/SnpPohPQABQAAAAAAAAAAAAAAAAAAAAAAVsB9pT+71l6A7gIP/9k=\"","module.exports = __webpack_public_path__ + \"static/media/star.dc15a9c6.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gun.d48c9ae8.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAQAAABLCVATAAAAYUlEQVR4Ae3PoQ6AIAAA0UOdX2zXYHCzG000Es2/w0rnChv3AW87RqM+27kQ2igUHoLBFCLBYSaDSRYzG0x2mI/FYVaaOiwI7mpNojKzRSWTmiwqEizqtainghqok14ajX4yy0Klhp3/JQAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/nnfo - Copy.4628504f.jpg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxEHBhIQEA4NFQ8QEg4VDxANDQ8PDRAQFRUWFhURExUZHSggGBolGxUTITEhJSkuLi4uFx8zODctNyguLisBCgoKDQ0NDg0NDisZHxkrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK//AABEIAOEA4QMBIgACEQEDEQH/xAAaAAEBAQEBAQEAAAAAAAAAAAAABQQDAQIH/8QAMhABAAECAwUGBQMFAAAAAAAAAAECAwQRIQUSMVFxQWGBkbHREyIzNMEyguFSkqGi8f/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A/UQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHO7eptfqmOnb5A6Cfd2hM/pjLvq4+TJXequcap89PIFrPvgz74QhReEKKpjhM+EulGJro4Vz46+oLIn2doa5Vx4x7N8TnCD0AAAAAAAAAAAAAAAAAAGDaN/Xcj93sDzFY7OcqP7vZhmc5BQAAAAAAbLGO+Faindzy7d7+GMBvjaWutHlV/DZbuRdozjgiNWz73w7u7PCr17AVAEAAAAAAAAAAAAAAHlU7tMzyQ66t+qZnjM5q+MndwtXTLz0R1AAAAAAAAAAAAFqxc+LZieca9e10ZNm1Z4fLlM/iWtAAAAAAAAAAAAAABm2h9rPWPVKVdofaz1hKUAAAAAAAAAAAAUNlz8tUd8fluTtlz89XSFFAAAAAAAAAAAAAABm2h9rPh6pS1fo+LZmnnGnXsReCgAAAAAAAAAAADbsv6lXSPVRYdl0/JVPOYjy/63IAAAAAAAAAAAAAAPi7ci1RnM6JOKmKr8zTwnX3bNqfSp6/hOUAAAAAAAAAAHtFE11ZRxl4AtWLfwbUU8vV0Z8DVNeGjPszhoQAAAAAAAAAAAAAAZdo072G6TE/j8pa5co+JbmOcTCHMZSoAAAAAAAAAAA9op364jnMR5grYKndw1Pfr5u7yIyjLk9QAAAAAAAAAAAAAAEjHW9zEz36x48f8AOauAgjpiadzEVR3z5Tq5qAAAAAAAADvgaN/Ex3ay40RvVxHOYXcgAEAAAAAAAAAAAAAAAAGHaVrOIrjs0np2J65co36JieEwiVU7lUxPGJmFHgAAAAAAANezrW/d3uyn1U3HCW/h4eI7Z1nrLsgAAAAAAAAAAAAAAAAAAJO0Kd3Ez3xEqyXtKc8R0iPyDKAoAAAAERnI+rX1Y6x6gucAEAAAAAAAAAAAAAAAAAABGxVW/iKp78vLRQxOKizGUTnVy5dUpQAAAAAAInKcwBdpnejPm9TsFi4op3auHZPLulQic4QegAAAAAAAAAAAAADNextNvhrPdw80+9iar3GdOUaQDfextNvh8093DzYruLru9uUcqdHAUAAAAAAAAAAH3avVWv0zPTs8nwA3W9o/1U+NPs12sTRd4VRnynSUYBeEe1iq7XCdOU6w2WcfTV+qMp58YQbB5E5xnHDu4PQAAAAAYcXjcvlo8avYHfEYqmxpxq5R+U29iKr06zpyjSHKdZFAAAAAAAAAAAAAAAAAAAAHSzeqsz8s+HZLfYx1NelWk/6/wmALwkYbFTYnnTy9lWiqK6YmOE8EH0AD5u/SnpPohPQABQAAAAAAAAAAAAAAAAAAAAAAVsB9pT+71l6A7gIP/9k=\"","module.exports = __webpack_public_path__ + \"static/media/narfoLogo.5df0498e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/rulesBackgroundImg.134114d3.png\";","module.exports = __webpack_public_path__ + \"static/media/target.16881175.png\";","module.exports = __webpack_public_path__ + \"static/media/riffle1Dark.0bc28b0f.png\";","module.exports = __webpack_public_path__ + \"static/media/licenseGun.c07630a3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/competencyImg.6d1e840d.png\";","module.exports = __webpack_public_path__ + \"static/media/licenseRifleImg.b1b84afe.png\";","module.exports = __webpack_public_path__ + \"static/media/selfDefenseImg.d85ecaa9.png\";","module.exports = __webpack_public_path__ + \"static/media/reviewTargetMobile.84fcace8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/huntingInDesert.5e973b96.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hunterDesert.014ca1c0.png\";","module.exports = __webpack_public_path__ + \"static/media/huntingInDesert1.e8f7f5e5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sportShootingImg1_.b4dc7093.jpg\";","module.exports = __webpack_public_path__ + \"static/media/narfo_safety.2b66ed0c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/insuresense.24d43457.png\";","module.exports = __webpack_public_path__ + \"static/media/firearms-guardian-small.57e55547.png\";","module.exports = __webpack_public_path__ + \"static/media/premium.37a1efd4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/genric-logo.ea7b7b5a.png\";","module.exports = \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxEHBhIQEA4NFQ8QEg4VDxANDQ8PDRAQFRUWFhURExUZHSggGBolGxUTITEhJSkuLi4uFx8zODctNyguLisBCgoKDQ0NDg0NDisZHxkrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK//AABEIAOEA4QMBIgACEQEDEQH/xAAaAAEBAQEBAQEAAAAAAAAAAAAABQQDAQIH/8QAMhABAAECAwUGBQMFAAAAAAAAAAECAwQRIQUSMVFxQWGBkbHREyIzNMEyguFSkqGi8f/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A/UQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHO7eptfqmOnb5A6Cfd2hM/pjLvq4+TJXequcap89PIFrPvgz74QhReEKKpjhM+EulGJro4Vz46+oLIn2doa5Vx4x7N8TnCD0AAAAAAAAAAAAAAAAAAGDaN/Xcj93sDzFY7OcqP7vZhmc5BQAAAAAAbLGO+Faindzy7d7+GMBvjaWutHlV/DZbuRdozjgiNWz73w7u7PCr17AVAEAAAAAAAAAAAAAAHlU7tMzyQ66t+qZnjM5q+MndwtXTLz0R1AAAAAAAAAAAAFqxc+LZieca9e10ZNm1Z4fLlM/iWtAAAAAAAAAAAAAABm2h9rPWPVKVdofaz1hKUAAAAAAAAAAAAUNlz8tUd8fluTtlz89XSFFAAAAAAAAAAAAAABm2h9rPh6pS1fo+LZmnnGnXsReCgAAAAAAAAAAADbsv6lXSPVRYdl0/JVPOYjy/63IAAAAAAAAAAAAAAPi7ci1RnM6JOKmKr8zTwnX3bNqfSp6/hOUAAAAAAAAAAHtFE11ZRxl4AtWLfwbUU8vV0Z8DVNeGjPszhoQAAAAAAAAAAAAAAZdo072G6TE/j8pa5co+JbmOcTCHMZSoAAAAAAAAAAA9op364jnMR5grYKndw1Pfr5u7yIyjLk9QAAAAAAAAAAAAAAEjHW9zEz36x48f8AOauAgjpiadzEVR3z5Tq5qAAAAAAAADvgaN/Ex3ay40RvVxHOYXcgAEAAAAAAAAAAAAAAAAGHaVrOIrjs0np2J65co36JieEwiVU7lUxPGJmFHgAAAAAAANezrW/d3uyn1U3HCW/h4eI7Z1nrLsgAAAAAAAAAAAAAAAAAAJO0Kd3Ez3xEqyXtKc8R0iPyDKAoAAAAERnI+rX1Y6x6gucAEAAAAAAAAAAAAAAAAAABGxVW/iKp78vLRQxOKizGUTnVy5dUpQAAAAAAInKcwBdpnejPm9TsFi4op3auHZPLulQic4QegAAAAAAAAAAAAADNextNvhrPdw80+9iar3GdOUaQDfextNvh8093DzYruLru9uUcqdHAUAAAAAAAAAAH3avVWv0zPTs8nwA3W9o/1U+NPs12sTRd4VRnynSUYBeEe1iq7XCdOU6w2WcfTV+qMp58YQbB5E5xnHDu4PQAAAAAYcXjcvlo8avYHfEYqmxpxq5R+U29iKr06zpyjSHKdZFAAAAAAAAAAAAAAAAAAAAHSzeqsz8s+HZLfYx1NelWk/6/wmALwkYbFTYnnTy9lWiqK6YmOE8EH0AD5u/SnpPohPQABQAAAAAAAAAAAAAAAAAAAAAAVsB9pT+71l6A7gIP/9k=\""],"sourceRoot":""}