Viewing File: /home/ubuntu/misabloom-frontend-base/node_modules/.cache/.eslintcache
[{"/home/ubuntu/misabloom-frontend-base/src/index.js":"1","/home/ubuntu/misabloom-frontend-base/src/App.js":"2","/home/ubuntu/misabloom-frontend-base/src/reportWebVitals.js":"3","/home/ubuntu/misabloom-frontend-base/src/components/AgeVerification/AgeVerificationIndex.jsx":"4","/home/ubuntu/misabloom-frontend-base/src/components/Constant/constants.jsx":"5","/home/ubuntu/misabloom-frontend-base/src/components/Base/index.jsx":"6","/home/ubuntu/misabloom-frontend-base/src/components/store/index.jsx":"7","/home/ubuntu/misabloom-frontend-base/src/components/Helper/ToastNotification.jsx":"8","/home/ubuntu/misabloom-frontend-base/src/components/Helper/PageNotFound.jsx":"9","/home/ubuntu/misabloom-frontend-base/src/components/layouts/MainLayout.jsx":"10","/home/ubuntu/misabloom-frontend-base/src/components/layouts/EmptyLayout.jsx":"11","/home/ubuntu/misabloom-frontend-base/src/components/layouts/CheckoutLayout.jsx":"12","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/LandingPageIndex.jsx":"13","/home/ubuntu/misabloom-frontend-base/src/components/Cart/OrderPlaced.jsx":"14","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CartIndex.jsx":"15","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CheckOutOldIndex.jsx":"16","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CheckoutAddress.jsx":"17","/home/ubuntu/misabloom-frontend-base/src/components/Cart/OrderSummary.jsx":"18","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CheckoutPayment.jsx":"19","/home/ubuntu/misabloom-frontend-base/src/components/Product/ProductSearchIndex.jsx":"20","/home/ubuntu/misabloom-frontend-base/src/components/Product/SingleProductIndex.jsx":"21","/home/ubuntu/misabloom-frontend-base/src/components/Auth/LoginIndex.jsx":"22","/home/ubuntu/misabloom-frontend-base/src/components/Auth/ResetPassword.jsx":"23","/home/ubuntu/misabloom-frontend-base/src/components/Auth/RegisterIndex.jsx":"24","/home/ubuntu/misabloom-frontend-base/src/components/Auth/LogoutIndex.jsx":"25","/home/ubuntu/misabloom-frontend-base/src/components/Static/PrivacyPolicy.jsx":"26","/home/ubuntu/misabloom-frontend-base/src/components/Auth/ForgotPassword.jsx":"27","/home/ubuntu/misabloom-frontend-base/src/components/Static/StaticPage.jsx":"28","/home/ubuntu/misabloom-frontend-base/src/components/Profile/ProfileIndex.jsx":"29","/home/ubuntu/misabloom-frontend-base/src/components/Profile/MyOrder.jsx":"30","/home/ubuntu/misabloom-frontend-base/src/components/Profile/ManageAddress.jsx":"31","/home/ubuntu/misabloom-frontend-base/src/components/Profile/ChangePassword.jsx":"32","/home/ubuntu/misabloom-frontend-base/src/components/Profile/ProfileWallet.jsx":"33","/home/ubuntu/misabloom-frontend-base/src/components/Profile/DeleteAccount.jsx":"34","/home/ubuntu/misabloom-frontend-base/src/components/Profile/TwoStepAuthentication.jsx":"35","/home/ubuntu/misabloom-frontend-base/src/components/Profile/WalletWithdrawMoney.jsx":"36","/home/ubuntu/misabloom-frontend-base/src/components/Profile/MobileProfile.jsx":"37","/home/ubuntu/misabloom-frontend-base/src/components/Profile/PaymentMethod.jsx":"38","/home/ubuntu/misabloom-frontend-base/src/components/Profile/Withdraw.jsx":"39","/home/ubuntu/misabloom-frontend-base/src/components/Profile/WalletAddMoney.jsx":"40","/home/ubuntu/misabloom-frontend-base/src/components/Profile/OrderTrackingIndex.jsx":"41","/home/ubuntu/misabloom-frontend-base/src/components/Profile/OrderTransactions.jsx":"42","/home/ubuntu/misabloom-frontend-base/src/components/Contact/ContactUs.jsx":"43","/home/ubuntu/misabloom-frontend-base/src/components/WishList/WishListIndex.jsx":"44","/home/ubuntu/misabloom-frontend-base/src/components/Contact/AboutUs.jsx":"45","/home/ubuntu/misabloom-frontend-base/src/components/Verification/VerificationIndex.jsx":"46","/home/ubuntu/misabloom-frontend-base/src/components/Verification/AuthenticationIndex.jsx":"47","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/index.jsx":"48","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/index.jsx":"49","/home/ubuntu/misabloom-frontend-base/src/components/Transaction/SingleTransaction.jsx":"50","/home/ubuntu/misabloom-frontend-base/src/components/layouts/Footer/FooterIndex.jsx":"51","/home/ubuntu/misabloom-frontend-base/src/components/layouts/Header/EmptyHeader.jsx":"52","/home/ubuntu/misabloom-frontend-base/src/components/layouts/Footer/EmptyFooter.jsx":"53","/home/ubuntu/misabloom-frontend-base/src/components/layouts/Header/HeaderIndex.jsx":"54","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/HeroStaticProductIndex.jsx":"55","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/NewArrivalIndex.jsx":"56","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/LandingAboutIndex.jsx":"57","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/HomeBannerIndex.jsx":"58","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/FAQIndex.jsx":"59","/home/ubuntu/misabloom-frontend-base/src/components/Product/TopSellingProductIndex.jsx":"60","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/CustomerReviewIndex.jsx":"61","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/CartsAction.jsx":"62","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/ProductAction.jsx":"63","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoDataFound.jsx":"64","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CartItem.jsx":"65","/home/ubuntu/misabloom-frontend-base/src/components/Helper/CustomLazyLoad.jsx":"66","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/OrdersAction.jsx":"67","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoCartItems.jsx":"68","/home/ubuntu/misabloom-frontend-base/src/components/Helper/SomethingWrong.jsx":"69","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoOrdersFound.jsx":"70","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/DeliveryAction.jsx":"71","/home/ubuntu/misabloom-frontend-base/src/components/Cart/AddMoneyModal.jsx":"72","/home/ubuntu/misabloom-frontend-base/src/components/Cart/AddNewAddressPopUpModal.jsx":"73","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/WalletAction.jsx":"74","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoProductsFound.jsx":"75","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CheckoutWalletButton.jsx":"76","/home/ubuntu/misabloom-frontend-base/src/components/Product/ProductCard.jsx":"77","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/HomePageAction.jsx":"78","/home/ubuntu/misabloom-frontend-base/src/components/Product/WriteReviewModal.jsx":"79","/home/ubuntu/misabloom-frontend-base/src/components/Helper/SocialButton.js":"80","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoReviewsFound.jsx":"81","/home/ubuntu/misabloom-frontend-base/src/components/Product/ThcProgress.jsx":"82","/home/ubuntu/misabloom-frontend-base/src/components/Helper/CommonCenterLoader.jsx":"83","/home/ubuntu/misabloom-frontend-base/src/components/Environment.js":"84","/home/ubuntu/misabloom-frontend-base/src/components/Product/CbdProgress.jsx":"85","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/UserAction.jsx":"86","/home/ubuntu/misabloom-frontend-base/src/components/Helper/StaticPageLoader.jsx":"87","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoShippingAddressFound.jsx":"88","/home/ubuntu/misabloom-frontend-base/src/components/Profile/SingleAddressCard.jsx":"89","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/PageAction.jsx":"90","/home/ubuntu/misabloom-frontend-base/src/components/Profile/ProfileSideBar.jsx":"91","/home/ubuntu/misabloom-frontend-base/src/components/Profile/AddressSubmitForm.jsx":"92","/home/ubuntu/misabloom-frontend-base/src/components/Profile/SingleBillingAddressCard.jsx":"93","/home/ubuntu/misabloom-frontend-base/src/components/Profile/OrderReturnModal.jsx":"94","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoBillingAddressFound.jsx":"95","/home/ubuntu/misabloom-frontend-base/src/components/Profile/PaymentSection.jsx":"96","/home/ubuntu/misabloom-frontend-base/src/components/Helper/OrderDetailsNotFound.jsx":"97","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoWishListItemFound.jsx":"98","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/UserReducer.jsx":"99","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/CartsReducer.jsx":"100","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/OrdersReducer.jsx":"101","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/WalletReducer.jsx":"102","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/DeliveryReducer.jsx":"103","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/PageReducer.jsx":"104","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/HomePageReducer.jsx":"105","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/ProductReducer.jsx":"106","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/ReviewsReducer.jsx":"107","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/OrdersSaga.jsx":"108","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/DeliverySaga.jsx":"109","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/WalletSaga.jsx":"110","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/PageSaga.jsx":"111","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/UserSaga.jsx":"112","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/CartsSaga.jsx":"113","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/HomePageSaga.jsx":"114","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/productSaga.jsx":"115","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/ReviewsSaga.jsx":"116","/home/ubuntu/misabloom-frontend-base/src/components/Helper/BannerListLoader.jsx":"117","/home/ubuntu/misabloom-frontend-base/src/components/Helper/SearchSuggetion.jsx":"118","/home/ubuntu/misabloom-frontend-base/src/components/Profile/SingleCard.jsx":"119","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/ActionConstant.jsx":"120","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/ReviewsAction.jsx":"121","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoCardDetailsFound.jsx":"122","/home/ubuntu/misabloom-frontend-base/src/components/Profile/AddCardSection.jsx":"123","/home/ubuntu/misabloom-frontend-base/src/components/Profile/NewAddressForm.jsx":"124"},{"size":541,"mtime":1732690289619,"results":"125","hashOfConfig":"126"},{"size":3853,"mtime":1732722117352,"results":"127","hashOfConfig":"126"},{"size":362,"mtime":1732690289623,"results":"128","hashOfConfig":"126"},{"size":6460,"mtime":1732787836996,"results":"129","hashOfConfig":"126"},{"size":299,"mtime":1732866108490,"results":"130","hashOfConfig":"126"},{"size":12105,"mtime":1732690289615,"results":"131","hashOfConfig":"126"},{"size":604,"mtime":1732690289619,"results":"132","hashOfConfig":"126"},{"size":641,"mtime":1732690289615,"results":"133","hashOfConfig":"126"},{"size":242,"mtime":1732690289615,"results":"134","hashOfConfig":"126"},{"size":363,"mtime":1732690289619,"results":"135","hashOfConfig":"126"},{"size":301,"mtime":1732690289619,"results":"136","hashOfConfig":"126"},{"size":1182,"mtime":1732690289619,"results":"137","hashOfConfig":"126"},{"size":3676,"mtime":1732868780819,"results":"138","hashOfConfig":"126"},{"size":2354,"mtime":1742898070425,"results":"139","hashOfConfig":"126"},{"size":16837,"mtime":1732690289615,"results":"140","hashOfConfig":"126"},{"size":14238,"mtime":1732690289615,"results":"141","hashOfConfig":"126"},{"size":9331,"mtime":1732690289615,"results":"142","hashOfConfig":"126"},{"size":11104,"mtime":1742880033119,"results":"143","hashOfConfig":"126"},{"size":27612,"mtime":1743064357154,"results":"144","hashOfConfig":"126"},{"size":22082,"mtime":1732690289615,"results":"145","hashOfConfig":"126"},{"size":29995,"mtime":1732787836996,"results":"146","hashOfConfig":"126"},{"size":11159,"mtime":1732787836996,"results":"147","hashOfConfig":"126"},{"size":4288,"mtime":1733140177168,"results":"148","hashOfConfig":"126"},{"size":9594,"mtime":1743580858800,"results":"149","hashOfConfig":"126"},{"size":1094,"mtime":1732690289615,"results":"150","hashOfConfig":"126"},{"size":5664,"mtime":1732690289615,"results":"151","hashOfConfig":"126"},{"size":3078,"mtime":1732787836996,"results":"152","hashOfConfig":"126"},{"size":2627,"mtime":1732690289615,"results":"153","hashOfConfig":"126"},{"size":9110,"mtime":1732787836996,"results":"154","hashOfConfig":"126"},{"size":22361,"mtime":1743580858800,"results":"155","hashOfConfig":"126"},{"size":8131,"mtime":1732690289615,"results":"156","hashOfConfig":"126"},{"size":7854,"mtime":1732787836996,"results":"157","hashOfConfig":"126"},{"size":7185,"mtime":1732690289615,"results":"158","hashOfConfig":"126"},{"size":6968,"mtime":1732690289615,"results":"159","hashOfConfig":"126"},{"size":7830,"mtime":1732690289615,"results":"160","hashOfConfig":"126"},{"size":20845,"mtime":1732690289615,"results":"161","hashOfConfig":"126"},{"size":7036,"mtime":1732690289615,"results":"162","hashOfConfig":"126"},{"size":2372,"mtime":1732690289615,"results":"163","hashOfConfig":"126"},{"size":9778,"mtime":1732690289615,"results":"164","hashOfConfig":"126"},{"size":4380,"mtime":1732690289615,"results":"165","hashOfConfig":"126"},{"size":19908,"mtime":1732690289615,"results":"166","hashOfConfig":"126"},{"size":6195,"mtime":1732690289615,"results":"167","hashOfConfig":"126"},{"size":6675,"mtime":1732787836996,"results":"168","hashOfConfig":"126"},{"size":3283,"mtime":1732690289615,"results":"169","hashOfConfig":"126"},{"size":5036,"mtime":1732690289615,"results":"170","hashOfConfig":"126"},{"size":4644,"mtime":1732690289615,"results":"171","hashOfConfig":"126"},{"size":4610,"mtime":1732690289615,"results":"172","hashOfConfig":"126"},{"size":714,"mtime":1732690289619,"results":"173","hashOfConfig":"126"},{"size":661,"mtime":1732690289619,"results":"174","hashOfConfig":"126"},{"size":7903,"mtime":1743580858800,"results":"175","hashOfConfig":"126"},{"size":14641,"mtime":1737040565794,"results":"176","hashOfConfig":"126"},{"size":168,"mtime":1732690289619,"results":"177","hashOfConfig":"126"},{"size":162,"mtime":1732690289619,"results":"178","hashOfConfig":"126"},{"size":22425,"mtime":1732800290409,"results":"179","hashOfConfig":"126"},{"size":3929,"mtime":1732690289619,"results":"180","hashOfConfig":"126"},{"size":1812,"mtime":1732800290409,"results":"181","hashOfConfig":"126"},{"size":1344,"mtime":1732722117352,"results":"182","hashOfConfig":"126"},{"size":2314,"mtime":1732722117352,"results":"183","hashOfConfig":"126"},{"size":3380,"mtime":1732787836996,"results":"184","hashOfConfig":"126"},{"size":470,"mtime":1732690289615,"results":"185","hashOfConfig":"126"},{"size":6018,"mtime":1732722117352,"results":"186","hashOfConfig":"126"},{"size":2077,"mtime":1732690289619,"results":"187","hashOfConfig":"126"},{"size":3865,"mtime":1732690289619,"results":"188","hashOfConfig":"126"},{"size":226,"mtime":1732690289615,"results":"189","hashOfConfig":"126"},{"size":4212,"mtime":1732690289615,"results":"190","hashOfConfig":"126"},{"size":936,"mtime":1732690289615,"results":"191","hashOfConfig":"126"},{"size":5639,"mtime":1742898070425,"results":"192","hashOfConfig":"126"},{"size":231,"mtime":1732690289615,"results":"193","hashOfConfig":"126"},{"size":239,"mtime":1732690289615,"results":"194","hashOfConfig":"126"},{"size":230,"mtime":1732690289615,"results":"195","hashOfConfig":"126"},{"size":3412,"mtime":1732690289619,"results":"196","hashOfConfig":"126"},{"size":5174,"mtime":1732690289615,"results":"197","hashOfConfig":"126"},{"size":2216,"mtime":1737726617024,"results":"198","hashOfConfig":"126"},{"size":8032,"mtime":1732690289619,"results":"199","hashOfConfig":"126"},{"size":232,"mtime":1732690289615,"results":"200","hashOfConfig":"126"},{"size":4299,"mtime":1732690289615,"results":"201","hashOfConfig":"126"},{"size":6997,"mtime":1732690289615,"results":"202","hashOfConfig":"126"},{"size":2654,"mtime":1732690289619,"results":"203","hashOfConfig":"126"},{"size":5857,"mtime":1732690289615,"results":"204","hashOfConfig":"126"},{"size":342,"mtime":1732690289615,"results":"205","hashOfConfig":"126"},{"size":235,"mtime":1732690289615,"results":"206","hashOfConfig":"126"},{"size":5184,"mtime":1732690289615,"results":"207","hashOfConfig":"126"},{"size":1231,"mtime":1732690289615,"results":"208","hashOfConfig":"126"},{"size":2838,"mtime":1732866108490,"results":"209","hashOfConfig":"126"},{"size":4835,"mtime":1732690289615,"results":"210","hashOfConfig":"126"},{"size":7553,"mtime":1732690289619,"results":"211","hashOfConfig":"126"},{"size":606,"mtime":1732690289615,"results":"212","hashOfConfig":"126"},{"size":267,"mtime":1732690289615,"results":"213","hashOfConfig":"126"},{"size":3926,"mtime":1732690289615,"results":"214","hashOfConfig":"126"},{"size":458,"mtime":1732690289619,"results":"215","hashOfConfig":"126"},{"size":21525,"mtime":1732690289615,"results":"216","hashOfConfig":"126"},{"size":12922,"mtime":1737726617024,"results":"217","hashOfConfig":"126"},{"size":3868,"mtime":1732690289615,"results":"218","hashOfConfig":"126"},{"size":2298,"mtime":1732690289615,"results":"219","hashOfConfig":"126"},{"size":264,"mtime":1732690289615,"results":"220","hashOfConfig":"126"},{"size":2806,"mtime":1732690289615,"results":"221","hashOfConfig":"126"},{"size":254,"mtime":1732690289615,"results":"222","hashOfConfig":"126"},{"size":251,"mtime":1732690289615,"results":"223","hashOfConfig":"126"},{"size":17732,"mtime":1732690289619,"results":"224","hashOfConfig":"126"},{"size":4069,"mtime":1732690289619,"results":"225","hashOfConfig":"126"},{"size":12418,"mtime":1742898070425,"results":"226","hashOfConfig":"126"},{"size":17481,"mtime":1732690289619,"results":"227","hashOfConfig":"126"},{"size":7303,"mtime":1732690289619,"results":"228","hashOfConfig":"126"},{"size":929,"mtime":1732690289619,"results":"229","hashOfConfig":"126"},{"size":5249,"mtime":1732690289619,"results":"230","hashOfConfig":"126"},{"size":8598,"mtime":1732690289619,"results":"231","hashOfConfig":"126"},{"size":4304,"mtime":1732690289619,"results":"232","hashOfConfig":"126"},{"size":9032,"mtime":1742898070425,"results":"233","hashOfConfig":"126"},{"size":5770,"mtime":1732690289619,"results":"234","hashOfConfig":"126"},{"size":13392,"mtime":1732690289619,"results":"235","hashOfConfig":"126"},{"size":1009,"mtime":1732690289619,"results":"236","hashOfConfig":"126"},{"size":16252,"mtime":1732690289619,"results":"237","hashOfConfig":"126"},{"size":6981,"mtime":1732690289619,"results":"238","hashOfConfig":"126"},{"size":4358,"mtime":1732690289619,"results":"239","hashOfConfig":"126"},{"size":6984,"mtime":1732690289619,"results":"240","hashOfConfig":"126"},{"size":4750,"mtime":1732690289619,"results":"241","hashOfConfig":"126"},{"size":1353,"mtime":1732690289615,"results":"242","hashOfConfig":"126"},{"size":1448,"mtime":1732690289615,"results":"243","hashOfConfig":"126"},{"size":3443,"mtime":1732690289615,"results":"244","hashOfConfig":"126"},{"size":17305,"mtime":1742898070425,"results":"245","hashOfConfig":"126"},{"size":2128,"mtime":1732690289619,"results":"246","hashOfConfig":"126"},{"size":248,"mtime":1732690289615,"results":"247","hashOfConfig":"126"},{"size":3907,"mtime":1732690289615,"results":"248","hashOfConfig":"126"},{"size":19300,"mtime":1743580858800,"results":"249","hashOfConfig":"126"},{"filePath":"250","messages":"251","suppressedMessages":"252","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"z3cb56",{"filePath":"253","messages":"254","suppressedMessages":"255","errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"256"},{"filePath":"257","messages":"258","suppressedMessages":"259","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"260","messages":"261","suppressedMessages":"262","errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"263"},{"filePath":"264","messages":"265","suppressedMessages":"266","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"267","messages":"268","suppressedMessages":"269","errorCount":0,"fatalErrorCount":0,"warningCount":11,"fixableErrorCount":0,"fixableWarningCount":0,"source":"270"},{"filePath":"271","messages":"272","suppressedMessages":"273","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"274"},{"filePath":"275","messages":"276","suppressedMessages":"277","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"278","messages":"279","suppressedMessages":"280","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"281"},{"filePath":"282","messages":"283","suppressedMessages":"284","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"285"},{"filePath":"286","messages":"287","suppressedMessages":"288","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"289"},{"filePath":"290","messages":"291","suppressedMessages":"292","errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"293"},{"filePath":"294","messages":"295","suppressedMessages":"296","errorCount":0,"fatalErrorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"297"},{"filePath":"298","messages":"299","suppressedMessages":"300","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"301"},{"filePath":"302","messages":"303","suppressedMessages":"304","errorCount":0,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"305"},{"filePath":"306","messages":"307","suppressedMessages":"308","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"309"},{"filePath":"310","messages":"311","suppressedMessages":"312","errorCount":0,"fatalErrorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"313"},{"filePath":"314","messages":"315","suppressedMessages":"316","errorCount":0,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"317"},{"filePath":"318","messages":"319","suppressedMessages":"320","errorCount":0,"fatalErrorCount":0,"warningCount":29,"fixableErrorCount":0,"fixableWarningCount":0,"source":"321"},{"filePath":"322","messages":"323","suppressedMessages":"324","errorCount":0,"fatalErrorCount":0,"warningCount":14,"fixableErrorCount":0,"fixableWarningCount":0,"source":"325"},{"filePath":"326","messages":"327","suppressedMessages":"328","errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"329"},{"filePath":"330","messages":"331","suppressedMessages":"332","errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"333"},{"filePath":"334","messages":"335","suppressedMessages":"336","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"337"},{"filePath":"338","messages":"339","suppressedMessages":"340","errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"341","messages":"342","suppressedMessages":"343","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"344"},{"filePath":"345","messages":"346","suppressedMessages":"347","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"348","messages":"349","suppressedMessages":"350","errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"351"},{"filePath":"352","messages":"353","suppressedMessages":"354","errorCount":0,"fatalErrorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":"355"},{"filePath":"356","messages":"357","suppressedMessages":"358","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"359"},{"filePath":"360","messages":"361","suppressedMessages":"362","errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"363","messages":"364","suppressedMessages":"365","errorCount":0,"fatalErrorCount":0,"warningCount":17,"fixableErrorCount":0,"fixableWarningCount":0,"source":"366"},{"filePath":"367","messages":"368","suppressedMessages":"369","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"370"},{"filePath":"371","messages":"372","suppressedMessages":"373","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"374"},{"filePath":"375","messages":"376","suppressedMessages":"377","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"378"},{"filePath":"379","messages":"380","suppressedMessages":"381","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"382"},{"filePath":"383","messages":"384","suppressedMessages":"385","errorCount":0,"fatalErrorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":"386"},{"filePath":"387","messages":"388","suppressedMessages":"389","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"390"},{"filePath":"391","messages":"392","suppressedMessages":"393","errorCount":0,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"394"},{"filePath":"395","messages":"396","suppressedMessages":"397","errorCount":0,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"398"},{"filePath":"399","messages":"400","suppressedMessages":"401","errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"402"},{"filePath":"403","messages":"404","suppressedMessages":"405","errorCount":0,"fatalErrorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"406"},{"filePath":"407","messages":"408","suppressedMessages":"409","errorCount":0,"fatalErrorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":"410"},{"filePath":"411","messages":"412","suppressedMessages":"413","errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"414"},{"filePath":"415","messages":"416","suppressedMessages":"417","errorCount":0,"fatalErrorCount":0,"warningCount":11,"fixableErrorCount":0,"fixableWarningCount":0,"source":"418"},{"filePath":"419","messages":"420","suppressedMessages":"421","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"422"},{"filePath":"423","messages":"424","suppressedMessages":"425","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"426"},{"filePath":"427","messages":"428","suppressedMessages":"429","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"430"},{"filePath":"431","messages":"432","suppressedMessages":"433","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"434","messages":"435","suppressedMessages":"436","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"437","messages":"438","suppressedMessages":"439","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"440","messages":"441","suppressedMessages":"442","errorCount":0,"fatalErrorCount":0,"warningCount":11,"fixableErrorCount":0,"fixableWarningCount":5,"source":"443"},{"filePath":"444","messages":"445","suppressedMessages":"446","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"447","messages":"448","suppressedMessages":"449","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"450","messages":"451","suppressedMessages":"452","errorCount":0,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"453"},{"filePath":"454","messages":"455","suppressedMessages":"456","errorCount":0,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"457"},{"filePath":"458","messages":"459","suppressedMessages":"460","errorCount":0,"fatalErrorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"461"},{"filePath":"462","messages":"463","suppressedMessages":"464","errorCount":0,"fatalErrorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":"465"},{"filePath":"466","messages":"467","suppressedMessages":"468","errorCount":0,"fatalErrorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":"469"},{"filePath":"470","messages":"471","suppressedMessages":"472","errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"473"},{"filePath":"474","messages":"475","suppressedMessages":"476","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"477"},{"filePath":"478","messages":"479","suppressedMessages":"480","errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"481"},{"filePath":"482","messages":"483","suppressedMessages":"484","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"485","messages":"486","suppressedMessages":"487","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"488","messages":"489","suppressedMessages":"490","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"491"},{"filePath":"492","messages":"493","suppressedMessages":"494","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"495"},{"filePath":"496","messages":"497","suppressedMessages":"498","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"499"},{"filePath":"500","messages":"501","suppressedMessages":"502","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"503","messages":"504","suppressedMessages":"505","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"506"},{"filePath":"507","messages":"508","suppressedMessages":"509","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"510"},{"filePath":"511","messages":"512","suppressedMessages":"513","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"514"},{"filePath":"515","messages":"516","suppressedMessages":"517","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"518","messages":"519","suppressedMessages":"520","errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"521"},{"filePath":"522","messages":"523","suppressedMessages":"524","errorCount":0,"fatalErrorCount":0,"warningCount":19,"fixableErrorCount":0,"fixableWarningCount":0,"source":"525"},{"filePath":"526","messages":"527","suppressedMessages":"528","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"529","messages":"530","suppressedMessages":"531","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"532"},{"filePath":"533","messages":"534","suppressedMessages":"535","errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"536"},{"filePath":"537","messages":"538","suppressedMessages":"539","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"540"},{"filePath":"541","messages":"542","suppressedMessages":"543","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"544","messages":"545","suppressedMessages":"546","errorCount":0,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"547"},{"filePath":"548","messages":"549","suppressedMessages":"550","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"551","messages":"552","suppressedMessages":"553","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"554"},{"filePath":"555","messages":"556","suppressedMessages":"557","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"558"},{"filePath":"559","messages":"560","suppressedMessages":"561","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"562","messages":"563","suppressedMessages":"564","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"565","messages":"566","suppressedMessages":"567","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"568"},{"filePath":"569","messages":"570","suppressedMessages":"571","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"572","messages":"573","suppressedMessages":"574","errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"575"},{"filePath":"576","messages":"577","suppressedMessages":"578","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"579"},{"filePath":"580","messages":"581","suppressedMessages":"582","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"583"},{"filePath":"584","messages":"585","suppressedMessages":"586","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"587","messages":"588","suppressedMessages":"589","errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"590"},{"filePath":"591","messages":"592","suppressedMessages":"593","errorCount":0,"fatalErrorCount":0,"warningCount":14,"fixableErrorCount":0,"fixableWarningCount":0,"source":"594"},{"filePath":"595","messages":"596","suppressedMessages":"597","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"598"},{"filePath":"599","messages":"600","suppressedMessages":"601","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"602"},{"filePath":"603","messages":"604","suppressedMessages":"605","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"606"},{"filePath":"607","messages":"608","suppressedMessages":"609","errorCount":0,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"610"},{"filePath":"611","messages":"612","suppressedMessages":"613","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"614"},{"filePath":"615","messages":"616","suppressedMessages":"617","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"618"},{"filePath":"619","messages":"620","suppressedMessages":"621","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"622"},{"filePath":"623","messages":"624","suppressedMessages":"625","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"626","messages":"627","suppressedMessages":"628","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"629","messages":"630","suppressedMessages":"631","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"632"},{"filePath":"633","messages":"634","suppressedMessages":"635","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"636","messages":"637","suppressedMessages":"638","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"639","messages":"640","suppressedMessages":"641","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"642","messages":"643","suppressedMessages":"644","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"645","messages":"646","suppressedMessages":"647","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"648","messages":"649","suppressedMessages":"650","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"651"},{"filePath":"652","messages":"653","suppressedMessages":"654","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"655","messages":"656","suppressedMessages":"657","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"658","messages":"659","suppressedMessages":"660","errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"661"},{"filePath":"662","messages":"663","suppressedMessages":"664","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"665"},{"filePath":"666","messages":"667","suppressedMessages":"668","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"669"},{"filePath":"670","messages":"671","suppressedMessages":"672","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"673"},{"filePath":"674","messages":"675","suppressedMessages":"676","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"677","messages":"678","suppressedMessages":"679","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"680","messages":"681","suppressedMessages":"682","errorCount":0,"fatalErrorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"683"},{"filePath":"684","messages":"685","suppressedMessages":"686","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"687"},{"filePath":"688","messages":"689","suppressedMessages":"690","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"691"},{"filePath":"692","messages":"693","suppressedMessages":"694","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"695","messages":"696","suppressedMessages":"697","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"698","messages":"699","suppressedMessages":"700","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"701"},{"filePath":"702","messages":"703","suppressedMessages":"704","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"705"},{"filePath":"706","messages":"707","suppressedMessages":"708","errorCount":0,"fatalErrorCount":0,"warningCount":24,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"/home/ubuntu/misabloom-frontend-base/src/index.js",[],[],"/home/ubuntu/misabloom-frontend-base/src/App.js",["709","710","711","712"],[],"import \"./App.css\";\nimport Base from \"./components/Base\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport store from \"./components/store\";\nimport { Provider } from \"react-redux\";\nimport 'react-toastify/dist/ReactToastify.css';\nimport configuration from \"react-global-configuration\";\nimport { useEffect, useState } from \"react\";\nimport { apiConstants } from \"./components/Constant/constants\";\nimport { BrowserRouter } from 'react-router-dom';\nimport AgeVerificationIndex from \"./components/AgeVerification/AgeVerificationIndex\";\nimport { WagmiConfig, createClient, } from 'wagmi';\nimport { Buffer } from \"buffer\";\nimport { ConnectKitProvider, getDefaultClient } from \"connectkit\";\n\n\nconst alchemyId = process.env.ALCHEMY_ID; \n\nconst createWalletClient = () => {\n const avalancheChain = {\n id: Number(configuration.get(\"configData.chain_id\")),\n name: configuration.get(\"configData.chain_name\"),\n nativeCurrency: {\n decimals: configuration.get(\"configData.native_currency_decimals\"),\n name: configuration.get(\"configData.native_currency_name\"),\n symbol: configuration.get(\"configData.native_currency_symbol\"),\n },\n rpcUrls: {\n default: configuration.get(\"configData.rpc_url\"),\n },\n blockExplorers: {\n default: { name: \"Binance Test\", url: configuration.get(\"configData.block_explorer_url\") },\n // snowtrace: { name: \"SnowTrace\", url: \"https://testnet.bscscan.com\" },\n },\n testnet: true,\n };\n\n const chains = [avalancheChain];\n if (!window.Buffer) window.Buffer = Buffer;\n const client = createClient({\n ...getDefaultClient({\n appName: \"Your App Name\",\n alchemyId,\n chains,\n }),\n });\n return client;\n}\n\n\nfunction App() {\n\n const [client, setClient] = useState();\n\n const [ageVerification, setAgeVerification] = useState({\n isAgeVerified: localStorage.getItem(\"isAgeVerified\"),\n userAge: localStorage.getItem(\"userAge\"),\n });\n\n const [validateBtn, setValidateBtn] = useState({\n loading: false,\n buttonDisable: false,\n content: \"\",\n });\n\n const [isUserEligible, setIsUserEligible] = useState(true);\n\n const [configLoading, setConfigLoading] = useState(true);\n\n useEffect(() => {\n fetchConfig();\n }, []);\n\n const fetchConfig = async () => {\n try {\n const response = await fetch(apiConstants.settingsUrl);\n const configValue = await response.json();\n configuration.set({ configData: configValue.data }, { freeze: false });\n setClient(createWalletClient());\n setConfigLoading(false);\n } catch (error) {\n configuration.set({ configData: [] }, { freeze: false });\n setConfigLoading(false);\n }\n };\n\n const handleSubmit = (values) => {\n setIsUserEligible(true);\n setValidateBtn({\n ...validateBtn,\n loading: true,\n buttonDisable: true,\n content: \"Validating...\",\n });\n let bYear = values.year;\n let bDay = values.day;\n let bMonth = values.month;\n let userBirthday = bYear + '-' + bMonth + '-' + bDay\n const date = new Date();\n let current_Year = date.getFullYear();\n let current_Age = current_Year - bYear\n\n if (current_Age > 18) {\n localStorage.setItem(\"isAgeVerified\", true)\n localStorage.setItem(\"userAge\", current_Age)\n localStorage.setItem(\"userDOB\", userBirthday)\n setAgeVerification({\n ...ageVerification,\n isAgeVerified: true,\n userAge: current_Age,\n });\n } else {\n setIsUserEligible(false);\n }\n setValidateBtn({\n ...validateBtn,\n loading: false,\n buttonDisable: false,\n content: \"\",\n });\n };\n\n return (\n <Provider store={store}>\n {!configLoading && (\n <WagmiConfig client={client}>\n <ConnectKitProvider>\n <Base />\n </ConnectKitProvider>\n </WagmiConfig>\n )}\n </Provider>\n );\n}\n\nexport default App;\n","/home/ubuntu/misabloom-frontend-base/src/reportWebVitals.js",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/AgeVerification/AgeVerificationIndex.jsx",["713","714","715","716"],[],"import React from \"react\";\nimport \"./AgeVerification.css\";\nimport * as Yup from \"yup\";\nimport { Form, Image, Button } from \"react-bootstrap\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport { Link } from \"react-router-dom\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { getErrorNotificationMessage } from \"../Helper/ToastNotification\";\nimport { connect } from \"react-redux\";\nimport { useState } from \"react\";\nimport configuration from \"react-global-configuration\";\n\nconst maxYear = new Date().getFullYear();\n\nconst AgeVerificationIndex = (props) => {\n const validationSchema = Yup.object().shape({\n day: Yup.string().required(\"Required\").min(1, \"Minimum 2 digits!\").max(2, \"Invaid day\"),\n month: Yup.string().required(\"Required\").min(1, \"Minimum 2 digits!\"),\n year: Yup.string().required(\"Required\").min(4, \"Minimum 4 digits!\"),\n });\n\n return (\n <>\n <div className=\"age-verification-sec\">\n <div className=\"age-verification-header\">\n <div className=\"age-verification-logo\">\n <Image\n src={configuration.get(\"configData.site_logo\")}\n type=\"image/png\"\n />\n </div>\n </div>\n <div className=\"age-verification-welcome-sec\">\n <h2>Welcome To {configuration.get(\"configData.site_name\")}</h2>\n <p>\n {configuration.get(\"configData.site_name\")} only online retailer and wholesaler of legal\n recreational Fashion.\n </p>\n <h4>We only sell to adults age 19 years or older.</h4>\n <p>\n Please enter your birthdate to confirm you are at least 19 years of\n age.\n </p>\n </div>\n <div className=\"age-verification-form\">\n <div className=\"login-form\">\n <Formik\n initialValues={{\n day: \"\",\n month: \"\",\n year: \"\",\n }}\n onSubmit={(values) => props.handleSubmit(values)}\n validationSchema={validationSchema}\n >\n {({ touched, errors, values, setFieldValue }) => (\n <FORM>\n <h4>Date of Birth</h4>\n <div className=\"age-verification-input mb-3 \">\n <Form.Group>\n <Field\n type=\"number\"\n className=\"form-control\"\n name=\"day\"\n placeholder=\"DD\"\n min=\"1\"\n max=\"31\"\n onChange={e => {\n if (e.target.value !== \"\" && (e.target.value.length > 2 || e.target.value > 31 || e.target.value < 1))\n e.preventDefault();\n else\n setFieldValue(\"day\", e.target.value);\n }}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"day\"\n className=\"text-danger\"\n />\n </Form.Group>\n <Form.Group>\n <Field\n type=\"number\"\n className=\"form-control\"\n name=\"month\"\n placeholder=\"MM\"\n min=\"1\"\n max=\"12\"\n onChange={e => {\n if (e.target.value !== \"\" && (e.target.value.length > 2 || e.target.value > 12 || e.target.value < 1))\n e.preventDefault();\n else\n setFieldValue(\"month\", e.target.value);\n }}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"month\"\n className=\"text-danger\"\n />\n </Form.Group>\n <Form.Group>\n <Field\n type=\"number\"\n className=\"form-control\"\n name=\"year\"\n placeholder=\"YYYY\"\n onChange={e => {\n if (e.target.value !== \"\" && (e.target.value.length > 4 || e.target.value > maxYear || e.target.value < 1))\n e.preventDefault();\n else\n setFieldValue(\"year\", e.target.value);\n }}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"year\"\n className=\"text-danger\"\n />\n </Form.Group>\n </div>\n {!props.isUserEligible && (\n <div className=\"age-verification-note\">\n You need be over age 19 to be able to access {configuration.get(\"configData.site_name\")}.\n </div>\n )}\n <Button\n disabled={\n !values.day ||\n !values.month ||\n !values.year ||\n props.validateBtn.buttonDisable\n }\n type=\"submit\"\n className=\"subscribe-btn mt-3\"\n >\n {props.validateBtn.content\n ? props.validateBtn.content\n : \"Verify\"}\n </Button>\n </FORM>\n )}\n </Formik>\n </div>\n </div>\n <div className=\"age-verification-footer\">\n <h3>Fashion Made Clear</h3>\n <p>\n Get the facts about Fashion consumption, health effects and harm\n reduction.\n </p>\n {/* <div className=\"age-verification-footer-link\">\n <ul>\n <li>\n <Link to=\"\">Explore</Link>\n </li>\n <li>\n <Link to=\"\">Why Buy Legal</Link>\n </li>\n </ul>\n </div> */}\n </div>\n </div>\n </>\n );\n};\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\nexport default connect(mapDispatchToProps)(\n withTranslation(AgeVerificationIndex)\n);\n","/home/ubuntu/misabloom-frontend-base/src/components/Constant/constants.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Base/index.jsx",["717","718","719","720","721","722","723","724","725","726","727"],[],"import React, { useContext, useEffect, useRef, useState } from \"react\";\n// import { createBrowserHistory as createHistory } from \"history\";\nimport { Routes, Route, Navigate, BrowserRouter } from \"react-router-dom\";\nimport { Helmet } from \"react-helmet\";\nimport configuration from \"react-global-configuration\";\nimport EmptyLayout from \"../layouts/EmptyLayout\";\nimport CheckoutLayout from \"../layouts/CheckoutLayout\";\nimport MainLayout from \"../layouts/MainLayout\";\nimport LandingPageIndex from \"../landingPage/LandingPageIndex\";\nimport CartIndex from \"../Cart/CartIndex\";\nimport ProductSearchIndex from \"../Product/ProductSearchIndex\";\nimport LoginIndex from \"../Auth/LoginIndex\";\nimport SingleProductIndex from \"../Product/SingleProductIndex\";\nimport ResetPassword from \"../Auth/ResetPassword\";\nimport RegisterIndex from \"../Auth/RegisterIndex\";\nimport PrivacyPolicy from \"../Static/PrivacyPolicy\";\nimport ProfileIndex from \"../Profile/ProfileIndex\";\nimport MyOrder from \"../Profile/MyOrder\";\nimport ManageAddress from \"../Profile/ManageAddress\";\nimport ChangePassword from \"../Profile/ChangePassword\";\nimport DeleteAccount from \"../Profile/DeleteAccount\";\nimport TwoStepAuthentication from \"../Profile/TwoStepAuthentication\";\nimport PaymentMethod from \"../Profile/PaymentMethod\";\nimport ProfileWallet from \"../Profile/ProfileWallet\";\nimport WalletAddMoney from \"../Profile/WalletAddMoney\";\nimport WalletWithdrawMoney from \"../Profile/WalletWithdrawMoney\";\nimport ContactUs from \"../Contact/ContactUs\";\nimport CheckOutOldIndex from \"../Cart/CheckOutOldIndex\";\nimport AboutUs from \"../Contact/AboutUs\";\nimport OrderPlaced from \"../Cart/OrderPlaced\";\nimport MobileProfile from \"../Profile/MobileProfile\";\nimport WishListIndex from \"../WishList/WishListIndex\";\nimport VerificationIndex from \"../Verification/VerificationIndex\";\nimport AuthenticationIndex from \"../Verification/AuthenticationIndex\";\nimport StaticPage from \"../Static/StaticPage\";\nimport {\n setTranslations,\n setDefaultLanguage,\n translate,\n setLanguage,\n} from \"react-multi-lang\";\nimport en from \"../translations/en.json\";\nimport es from \"../translations/es.json\";\nimport LogoutIndex from \"../Auth/LogoutIndex\";\nimport ForgotPassword from \"../Auth/ForgotPassword\";\nimport { ToastContainer } from \"react-toastify\";\nimport PageNotFound from \"../Helper/PageNotFound\";\nimport Withdraw from \"../Profile/Withdraw\";\nimport CheckoutAddress from \"../Cart/CheckoutAddress\";\nimport OrderSummary from \"../Cart/OrderSummary\";\nimport CheckoutPayment from \"../Cart/CheckoutPayment\";\nimport OrderTrackingIndex from \"../Profile/OrderTrackingIndex\";\nimport SingleTransaction from \"../Transaction/SingleTransaction\";\nimport OrderTransactions from \"../Profile/OrderTransactions\";\nimport AgeVerificationIndex from \"../AgeVerification/AgeVerificationIndex\";\n\nsetTranslations({ en, es });\n\n// const history = createHistory();\nconst $ = window.$;\n\nconst AppRoute = ({\n component: Component,\n layout: Layout,\n screenProps: ScreenProps,\n ...rest\n}) => (\n <Layout screenProps={ScreenProps} {...rest}>\n <Component />\n </Layout>\n);\n\nconst PrivateRoute = ({\n component: Component,\n layout: Layout,\n screenProps: ScreenProps,\n ...rest\n}) => {\n let userId = localStorage.getItem(\"userId\");\n let accessToken = localStorage.getItem(\"accessToken\");\n let userLoginStatus = localStorage.getItem(\"userLoginStatus\");\n let authentication =\n userId && accessToken && userLoginStatus == \"true\" ? true : false;\n return authentication === true ? (\n <Layout screenProps={ScreenProps}>\n <Component authRoute={true} />\n </Layout>\n ) : (\n <Navigate to={{ pathname: \"/\" }} />\n );\n};\n\nconst App = () => {\n setLanguage(\"en\");\n // let userId = localStorage.getItem(\"userId\");\n // let accessToken = localStorage.getItem(\"accessToken\");\n // let userLoginStatus = localStorage.getItem(\"userLoginStatus\");\n\n const [loading, setLoading] = useState(true);\n\n const [configLoading, setConfigLoading] = useState(true);\n\n useEffect(() => {\n let userLanguage = localStorage.getItem(\"lang\")\n ? localStorage.getItem(\"lang\")\n : \"en\";\n localStorage.setItem(\"lang\", userLanguage);\n setLanguage(userLanguage);\n }, []);\n\n // const [authentication, setAuthntication] = useState(\n // userId && accessToken && userLoginStatus == \"true\" ? true : false\n // );\n\n // history.listen((location, action) => {\n // userId = localStorage.getItem(\"userId\");\n // accessToken = localStorage.getItem(\"accessToken\");\n // userLoginStatus = localStorage.getItem(\"userLoginStatus\");\n // setLoading(true);\n // setAuthntication(\n // userId && accessToken && userLoginStatus == \"true\" ? true : false\n // );\n // document.body.scrollTop = 0;\n // });\n\n return (\n <>\n <ToastContainer />\n <Helmet>\n <title>{configuration.get(\"configData.site_name\")}</title>\n <link\n rel=\"icon\"\n type=\"image/png\"\n href={configuration.get(\"configData.site_icon\")}\n />\n <script src={configuration.get(\"configData.head_scripts\")}></script>\n </Helmet>\n <BrowserRouter>\n <Routes>\n <Route\n path={\"/\"}\n element={\n <AppRoute component={LandingPageIndex} layout={MainLayout} />\n }\n />\n <Route\n path={\"/cart\"}\n element={<AppRoute component={CartIndex} layout={MainLayout} />}\n />\n <Route\n path={\"/shop\"}\n element={\n <AppRoute component={ProductSearchIndex} layout={MainLayout} />\n }\n />\n <Route\n path={\"/shop/:search\"}\n element={\n <AppRoute component={ProductSearchIndex} layout={MainLayout} />\n }\n />\n <Route\n exact\n path={\"/product/:productUniqueId\"}\n element={\n <AppRoute component={SingleProductIndex} layout={MainLayout} />\n }\n />\n <Route\n path={\"/login\"}\n element={<AppRoute component={LoginIndex} layout={EmptyLayout} />}\n />\n <Route\n path={\"/forgot-password\"}\n element={\n <AppRoute component={ForgotPassword} layout={EmptyLayout} />\n }\n />\n <Route\n path={\"/reset-password/:token\"}\n element={\n <AppRoute component={ResetPassword} layout={EmptyLayout} />\n }\n />\n <Route\n path={\"/register\"}\n element={\n <AppRoute component={RegisterIndex} layout={EmptyLayout} />\n }\n />\n <Route\n path={\"/privacy-policy\"}\n element={<AppRoute component={PrivacyPolicy} layout={MainLayout} />}\n />\n <Route\n path={\"/profile\"}\n element={\n <PrivateRoute component={ProfileIndex} layout={MainLayout} />\n }\n />\n <Route\n path={\"/orders\"}\n element={<PrivateRoute component={MyOrder} layout={MainLayout} />}\n />\n <Route\n path={\"/orders/:status\"}\n element={<PrivateRoute component={MyOrder} layout={MainLayout} />}\n />\n <Route\n path={\"/order-transactions\"}\n element={<PrivateRoute component={OrderTransactions} layout={MainLayout} />}\n />\n <Route\n path={\"/manage-address\"}\n element={\n <PrivateRoute component={ManageAddress} layout={MainLayout} />\n }\n />\n <Route\n path={\"/change-password\"}\n element={\n <PrivateRoute component={ChangePassword} layout={MainLayout} />\n }\n />\n <Route\n path={\"/delete-account\"}\n element={\n <PrivateRoute component={DeleteAccount} layout={MainLayout} />\n }\n />\n <Route\n path={\"/two-step-authentication\"}\n element={\n <PrivateRoute\n component={TwoStepAuthentication}\n layout={MainLayout}\n />\n }\n />\n <Route\n path={\"/payment-method\"}\n element={\n <PrivateRoute component={PaymentMethod} layout={MainLayout} />\n }\n />\n <Route\n path={\"/profile-wallet\"}\n element={\n <PrivateRoute component={ProfileWallet} layout={MainLayout} />\n }\n />\n <Route\n path={\"/withdraw\"}\n element={<PrivateRoute component={Withdraw} layout={MainLayout} />}\n />\n <Route\n path={\"/wallet-add-money\"}\n element={\n <PrivateRoute component={WalletAddMoney} layout={MainLayout} />\n }\n />\n <Route\n path={\"/orders/tracking/:orderUniqueId\"}\n element={\n <PrivateRoute component={OrderTrackingIndex} layout={MainLayout} />\n }\n />\n <Route\n path={\"/order-transactions/:orderUniqueId\"}\n element={\n <PrivateRoute component={SingleTransaction} layout={MainLayout} />\n }\n />\n <Route\n path={\"/wallet-withdraw-money\"}\n element={\n <PrivateRoute\n component={WalletWithdrawMoney}\n layout={MainLayout}\n />\n }\n />\n <Route\n path={\"/contact-us\"}\n element={<AppRoute component={ContactUs} layout={MainLayout} />}\n />\n <Route\n path={\"/checkout-old\"}\n element={\n <PrivateRoute component={CheckOutOldIndex} layout={EmptyLayout} />\n }\n />\n <Route\n path={\"/checkout-address\"}\n element={\n <PrivateRoute component={CheckoutAddress} layout={CheckoutLayout} />\n }\n />\n <Route\n path={\"/order-summary\"}\n element={\n <PrivateRoute component={OrderSummary} layout={CheckoutLayout} />\n }\n />\n <Route\n path={\"/checkout-payment\"}\n element={\n <PrivateRoute component={CheckoutPayment} layout={CheckoutLayout} />\n }\n />\n <Route\n path={\"/about-us\"}\n element={<AppRoute component={AboutUs} layout={MainLayout} />}\n />\n <Route\n path={\"/page/:static_page_unique_id\"}\n element={<AppRoute component={StaticPage} layout={MainLayout} />}\n />\n <Route\n path={\"/order-placed\"}\n element={\n <PrivateRoute component={OrderPlaced} layout={MainLayout} />\n }\n />\n <Route\n path={\"/mobile-profile\"}\n element={\n <PrivateRoute component={MobileProfile} layout={MainLayout} />\n }\n />\n <Route\n path={\"/wishlist\"}\n element={\n <PrivateRoute component={WishListIndex} layout={MainLayout} />\n }\n />\n <Route\n path={\"/verification\"}\n element={\n <AppRoute component={AuthenticationIndex} layout={EmptyLayout} />\n }\n />\n <Route\n path={\"/register-verification\"}\n element={\n <AppRoute component={VerificationIndex} layout={EmptyLayout} />\n }\n />\n <Route\n path={\"/logout\"}\n element={<PrivateRoute component={LogoutIndex} layout={EmptyLayout} />}\n />\n <Route\n path={\"/tracking/:orderUniqueId\"}\n element={<PrivateRoute component={OrderTrackingIndex} layout={EmptyLayout} />}\n />\n <Route\n path=\"*\"\n element={<AppRoute component={PageNotFound} layout={MainLayout} />}\n />\n </Routes>\n </BrowserRouter>\n </>\n );\n};\n\nexport default App;\n","/home/ubuntu/misabloom-frontend-base/src/components/store/index.jsx",["728"],[],"import { createStore, applyMiddleware, compose } from \"redux\";\nimport createSagaMiddleware from \"redux-saga\";\nimport logger from \"redux-logger\";\n\nimport reducer from \"./reducers\";\nimport mySaga from \"./sagas\";\n\nconst sagaMiddleware = createSagaMiddleware();\n\nconst middlewares = [sagaMiddleware];\n\nconst enhancers = [applyMiddleware(...middlewares)];\n\n// const store = createStore(reducer, compose(...enhancers , window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()));\nconst store = createStore(reducer, compose(...enhancers));\n\nsagaMiddleware.run(mySaga);\n\nexport default store;\n","/home/ubuntu/misabloom-frontend-base/src/components/Helper/ToastNotification.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Helper/PageNotFound.jsx",["729"],[],"import React from \"react\";\n\nconst PageNotFound = () => {\n return (\n <>\n <div className=\"not-found-page\">\n <img src={window.location.origin + \"/images/404-new.png\"} />\n </div>\n </>\n );\n};\n\nexport default PageNotFound;\n","/home/ubuntu/misabloom-frontend-base/src/components/layouts/MainLayout.jsx",["730"],[],"import React, { useState } from \"react\";\nimport FooterIndex from \"./Footer/FooterIndex\";\nimport HeaderIndex from \"./Header/HeaderIndex\";\n\nconst EmptyLayout = (props) => {\n window.scrollTo(0, 0);\n\n return (\n <>\n <HeaderIndex />\n <div className=\"main-wrapper\">{props.children}</div>\n <FooterIndex />\n </>\n );\n};\n\nexport default EmptyLayout;\n","/home/ubuntu/misabloom-frontend-base/src/components/layouts/EmptyLayout.jsx",["731"],[],"import React, { useState } from \"react\";\nimport EmptyFooter from \"./Footer/EmptyFooter\";\nimport EmptyHeader from \"./Header/EmptyHeader\";\n\nconst EmptyLayout = (props) => {\n\n return (\n <>\n <EmptyHeader/>\n {props.children}\n <EmptyFooter />\n </>\n );\n};\n\nexport default EmptyLayout;\n","/home/ubuntu/misabloom-frontend-base/src/components/layouts/CheckoutLayout.jsx",["732","733","734","735","736"],[],"import React, { useState } from \"react\";\nimport EmptyFooter from \"./Footer/EmptyFooter\";\nimport EmptyHeader from \"./Header/EmptyHeader\";\nimport {\n Navbar,\n Container,\n Image,\n} from \"react-bootstrap\";\nimport { Link, useNavigate, useLocation } from \"react-router-dom\";\nimport configuration from \"react-global-configuration\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\n\nconst CheckoutLayout = (props) => {\n\n\tconst navigate = useNavigate();\n\tconst t = useTranslation();\n\n\tconst redirectHome = () => {\n\t\tif (window.confirm(t('exit_checkout_confirmation'))) {\n\t\t\tconsole.log(\"truess\")\n\t\t\twindow.location.href = \"/\";\n\t\t}\n\t}\n\n return (\n <>\n <header className=\"header-nav-center\">\n <Navbar expand=\"lg\">\n <Container>\n <Link to=\"#\" className=\"navbar-brand\" onClick={redirectHome}>\n <Image\n className=\"lazyload logo\"\n src={configuration.get(\"configData.site_logo\")}\n type=\"image/png\"\n />\n </Link>\n </Container>\n </Navbar>\n </header>\n {props.children}\n <EmptyFooter />\n </>\n );\n};\n\nexport default CheckoutLayout;\n","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/LandingPageIndex.jsx",["737","738","739","740","741","742","743","744"],[],"import React, { useEffect, useState } from \"react\";\nimport { Navbar, Container, Image, Nav, Row, Col } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport HeroStaticProductIndex from \"./HeroStaticProductIndex\";\nimport HomeBannerIndex from \"./HomeBannerIndex\";\nimport \"./Landing.css\";\nimport NewArrivalIndex from \"./NewArrivalIndex\";\nimport TopSellingProductIndex from \"../Product/TopSellingProductIndex\";\nimport LandingAboutIndex from \"./LandingAboutIndex\";\nimport CustomerReviewIndex from \"./CustomerReviewIndex\";\nimport FAQIndex from \"./FAQIndex\";\nimport { connect } from \"react-redux\";\nimport { fetchProductListStart } from \"../store/actions/ProductAction\";\nimport {\n guestCartList,\n saveCartDetailsStart,\n} from \"../store/actions/CartsAction\";\nimport { t } from \"react-multi-lang\";\nimport Skeleton from \"react-loading-skeleton\";\nimport ContactUs from \"../Contact/ContactUs\";\n\nconst LandingPageIndex = (props) => {\n useEffect(() => {\n props.dispatch(\n fetchProductListStart({\n order_by: \"newest\",\n skip: 0,\n take: 8,\n })\n );\n }, []);\n\n useEffect(() => {\n if (!props.profile.loading && Object.keys(props.profile.data).length > 0) {\n if (props.guestCartList.length > 0) {\n props.dispatch(\n saveCartDetailsStart({\n carts: JSON.stringify(props.guestCartList),\n })\n );\n props.dispatch(guestCartList([]));\n localStorage.removeItem(\"carts\");\n }\n }\n }, [props.profile]);\n\n return (\n <>\n <div className=\"landing-page-sec\">\n <HomeBannerIndex />\n {/* <HeroStaticProductIndex /> */}\n {props.productList.loading ? (\n <div className=\"d-flex justify-content-between\">\n <Skeleton height={650} width={650} />\n <Skeleton height={650} width={850} />\n </div>\n ) : props.productList.data.products &&\n props.productList.data.products.length > 0 ? (\n <>\n <div className=\"top-selling-product-page\">\n <Container>\n <Row className=\"justify-content-center\">\n <Col md={7}>\n <div className=\"section-title-sec\">\n <h2 className=\"title-light\">{t(\"our_products\")}</h2>\n <h1 className=\"title-bold\">\n <span>{t(\"products_text\")}</span>\n </h1>\n </div>\n </Col>\n </Row>\n <Row>\n <Col md=\"12\">\n <TopSellingProductIndex\n products={props.productList.data.products}\n />\n </Col>\n </Row>\n </Container>\n </div>\n </>\n ) : null}\n <LandingAboutIndex />\n {props.productList.loading ? (\n <div className=\"d-flex justify-content-between\">\n <Skeleton height={650} width={650} />\n <Skeleton height={650} width={850} />\n </div>\n ) : props.productList.data.products &&\n props.productList.data.products.length > 0 ? (\n <>\n <NewArrivalIndex products={props.productList.data.products} />\n </>\n ) : null}\n \n <FAQIndex />\n <ContactUs />\n <CustomerReviewIndex />\n\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n productList: state.product.productList,\n profile: state.users.profile,\n guestCartList: state.carts.guestCartList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(mapStateToPros, mapDispatchToProps)(LandingPageIndex);\n","/home/ubuntu/misabloom-frontend-base/src/components/Cart/OrderPlaced.jsx",["745","746"],[],"import React, { useState, useEffect } from \"react\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { Image } from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { saveOrdersCartSuccess } from \"../store/actions/OrdersAction\";\n\nconst OrderPlaced = (props) => {\n const navigate = useNavigate();\n\n const [orderNumber, setOrderNumber] = useState(\"\");\n\n\n const t = useTranslation();\n\n // useEffect(() => {\n // if (Object.keys(props.ordersCheckout.data).length > 0) {\n // setOrderNumber(props.ordersCheckout.data.order_unique_id);\n // } else {\n // navigate(\"/\");\n // }\n // }, []);\n\n // useEffect(() => {\n // if (Object.keys(props.orderSaveCart.data).length > 0) {\n // setOrderNumber(props.orderSaveCart.data.order_unique_id);\n // } else {\n // navigate(\"/\");\n // }\n // }, []);\n\n useEffect(() => {\n if (Object.keys(props.orderStatus.data).length > 0 && Object.keys(props.orderStatus.data.data).length > 0) {\n setOrderNumber(props.orderStatus.data.data?.transaction?.order_id);\n } else {\n navigate(\"/\");\n }\n }, []);\n\n return (\n <>\n {orderNumber\n ? <div className=\"order-placed-sec\">\n <div className=\"order-placed-status\">\n <div className=\"order-placed-img\">\n <Image\n src={window.location.origin + \"/images/order-placed.svg\"}\n type=\"image/png\"\n />\n </div>\n <div className=\"order-placed-content text-center\">\n <h3>{t(\"order_placed_text\")}</h3>\n <p>{t(\"order_processed_text\")}</p>\n <h5>{t(\"order_number\")} {orderNumber}</h5>\n </div>\n <div className=\"order-placed-btn\">\n <Link to=\"/shop\" className=\"continue-shopping-btn\">\n {t(\"continue_shopping\")}\n </Link>\n </div>\n </div>\n </div>\n : null\n }\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n ordersCheckout: state.orders.ordersCheckout,\n orderSaveCart: state.orders.orderSaveCart,\n orderStatus: state.orders.orderStatus,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(OrderPlaced));\n","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CartIndex.jsx",["747","748","749","750","751","752","753"],[],"import React, { useState, useEffect } from \"react\";\nimport {\n Navbar,\n Container,\n Image,\n Nav,\n Row,\n Col,\n Button,\n} from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport \"./Cart.css\";\nimport NumericInput from \"react-numeric-input\";\nimport { connect } from \"react-redux\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { useNavigate } from \"react-router-dom\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport {\n fetchCartListStart,\n fetchGuestCartListStart,\n fetchGuestCartListSuccess,\n guestCartList,\n updateGuestCartListStart,\n} from \"../store/actions/CartsAction\";\nimport CartItem from \"./CartItem\";\nimport CustomLazyLoad from \"../Helper/CustomLazyLoad\";\nimport Skeleton from \"react-loading-skeleton\";\nimport NoOrdersFound from \"../Helper/NoOrdersFound\";\nimport NoCartItems from \"../Helper/NoCartItems\";\n\nconst CartIndex = (props) => {\n const navigate = useNavigate();\n const t = useTranslation();\n const [first, setFirst] = useState(true);\n useEffect(() => {\n if (localStorage.getItem(\"userId\")) props.dispatch(fetchCartListStart());\n else\n props.dispatch(\n guestCartList(\n localStorage.getItem(\"carts\")\n ? JSON.parse(localStorage.getItem(\"carts\"))\n : []\n )\n );\n }, []);\n useEffect(() => {\n if (props.guestCartList.length > 0) {\n if (first) {\n props.dispatch(\n fetchGuestCartListStart({\n carts: JSON.stringify(props.guestCartList),\n })\n );\n } else {\n props.dispatch(\n updateGuestCartListStart({\n carts: JSON.stringify(props.guestCartList),\n })\n );\n }\n } else {\n props.dispatch(fetchGuestCartListSuccess({}));\n }\n setFirst(false);\n }, [props.guestCartList]);\n\n const updateGuestCartQty = (productId, qty) => {\n const newCart = props.guestCartList.map((product) =>\n product.product_id !== productId\n ? product\n : { product_id: productId, quantity: qty }\n );\n localStorage.setItem(\"carts\", JSON.stringify(newCart));\n props.dispatch(guestCartList(newCart));\n };\n\n const removeGuestCart = (product_id) => {\n const newCart = props.guestCartList.filter(\n (product) => product.product_id !== product_id\n );\n localStorage.setItem(\"carts\", JSON.stringify(newCart));\n props.dispatch(guestCartList(newCart));\n };\n\n const placeOrder = (e) => {\n e.preventDefault();\n if (Object.keys(props.profile.data).length > 0) {\n navigate(\"/checkout-address\");\n } else {\n // localStorage.setItem('order', 'orderId')\n navigate(\"/login\");\n }\n };\n\n const wishListDirect = (e) => {\n e.preventDefault();\n if (Object.keys(props.profile.data).length > 0) {\n navigate(\"/wishlist\");\n } else {\n navigate(\"/login\");\n }\n }\n return (\n <>\n <div className=\"cart-sec\">\n <Container>\n <Row>\n <Col md={12}>\n <div className=\"section-title-sec\">\n <h3>{t(\"your_shopping_cart\")}</h3>\n </div>\n </Col>\n </Row>\n {localStorage.getItem(\"userId\") ? (\n <Row className=\"mt-3 gy-4 justify-content-center\">\n <Col xl={8} md={12}>\n <div className=\"cart-box\">\n <div className=\"cart-header-sec\">\n <h4>\n {t(\"product_details\")}{\" \"}\n <span>\n (\n {Object.keys(props.profile.data).length > 0\n ? props.profile.data.cart_count\n : 0}{\" \"}\n {t(\"items\")})\n </span>\n </h4>\n </div>\n <div className=\"cart-body-sec\">\n <div className=\"cart-list-item-box\">\n {props.cartList.loading ? (\n <Skeleton count={2} height={200} />\n ) : props.cartList.data.carts.length > 0 ? (\n props.cartList.data.carts.map((cart, i) => (\n <CartItem cart={cart} key={i} />\n ))\n ) : (\n <div className=\"text-center\">\n <NoCartItems />\n <div className=\"default-btn-sec\">\n <Link\n className=\"default-btn\"\n to=\"/shop\">\n Continue Shopping\n </Link>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n </Col>\n {props.cartList.loading ? (\n <Col xl={4} md={12}>\n <div className=\"cart-box\">\n <div className=\"cart-header-sec\">\n <h4>{t(\"price_details\")}</h4>\n </div>\n <Skeleton height={200} />\n </div>\n </Col>\n ) : props.cartList.data.carts.length > 0 ? (\n <Col xl={4} md={12}>\n <div className=\"cart-box\">\n <div className=\"cart-header-sec\">\n <h4>{t(\"price_details\")}</h4>\n </div>\n <div className=\"cart-body-sec\">\n <div className=\"cart-summary-info\">\n <div className=\"cart-summary-header\">\n <p>\n {t(\"cart_total\")}{\" \"}\n <span>\n {\n props.cartList.data.user_cart_amount\n .cart_total_amount\n }\n </span>\n </p>\n <p>\n {t(\"discount\")}{\" \"}\n <span>\n -\n {\n props.cartList.data.user_cart_amount\n .cart_discount_amount\n }\n </span>\n </p>\n </div>\n <div className=\"cart-summary-total-amount\">\n <h5>\n {t(\"order_total\")}{\" \"}\n <span>\n {\n props.cartList.data.user_cart_amount\n .cart_checkout_amount\n }\n </span>\n </h5>\n </div>\n {props.cartList.data.availability.is_available ?\n <div className=\"cart-summary-btn-sec\">\n <Link\n onClick={placeOrder}\n to=\"#\"\n className=\"place-order-btn\"\n >\n {t(\"place_order\")}\n </Link>\n </div>\n : <div className=\"text-danger\">\n {props.cartList.data.availability.availability_msg}\n </div>\n }\n </div>\n </div>\n <div className=\"continue-shopping-btn-sec\">\n <Link to=\"/shop\" className=\"continue-shopping-btn\">\n {t(\"continue_shopping\")}\n </Link>\n </div>\n </div>\n </Col>\n ) : null}\n </Row>\n ) : (\n <Row className=\"margin-top-lg gy-4 justify-content-center\">\n <Col xl={8} md={12}>\n <div className=\"cart-box\">\n <div className=\"cart-header-sec\">\n <h4>\n {t(\"product_details\")}{\" \"}\n <span>\n ({props.guestCartList.length} {t(\"items\")})\n </span>\n </h4>\n </div>\n <div className=\"cart-body-sec\">\n <div className=\"cart-list-item-box\">\n {props.guestCart.data.carts &&\n props.guestCart.data.carts.length > 0 ? (\n props.guestCart.data.carts.map((cart, i) => (\n <div className=\"cart-list-card\" key={i}>\n <div className=\"cart-list-left-sec\">\n <Link\n to={`/product/${cart.product.product_unique_id}`}\n className=\"no-link\"\n >\n <div className=\"cart-list-img-sec\">\n <CustomLazyLoad\n src={cart.product.file}\n placeholderSrc={\n window.location.origin +\n \"/images/loading.svg\"\n }\n classes=\"cart-list-img\"\n />\n </div>\n </Link>\n <div className=\"cart-list-info\">\n <h4>\n <Link\n to={`/product/${cart.product.product_unique_id}`}\n className=\"no-link\"\n > {cart.product.name}\n </Link>\n </h4>\n <p>\n {t(\"category\")}{\" \"}\n <span>{cart.product.category_name}</span>\n </p>\n <p>\n {t(\"vol\")}{\" \"}\n <span>\n {cart.product.gross_weight_formatted}\n </span>\n </p>\n <p>\n {t(\"qty\")}\n <span>\n <NumericInput\n mobile\n className=\"form-control\"\n min={1}\n value={cart.quantity}\n onChange={(val) => {\n if (val > 0) {\n updateGuestCartQty(cart.product.product_id, val)\n }\n }}\n strict={true}\n />\n </span>\n </p>\n </div>\n </div>\n <div className=\"cart-list-right-sec\">\n <div className=\"cart-list-amout-card\">\n <div className=\"cart-amount-info\">\n <h4>\n {cart.product.selling_price_formatted}\n </h4>\n <p>\n {cart.product.discount_tag} |{\" \"}\n <del>\n {cart.product.original_price_formatted}\n </del>\n </p>\n </div>\n <div className=\"cart-action-btn-sec\">\n <Button\n className=\"cart-remove-btn\"\n onClick={() =>\n removeGuestCart(cart.product.product_id)\n }\n >\n {t(\"remove\")}\n </Button>\n <Link to=\"#\" onClick={wishListDirect} className=\"wishlist-btn\">\n {t(\"add_to_wishlist\")}\n </Link>\n </div>\n </div>\n </div>\n </div>\n ))\n ) : (\n <div className=\"text-center\">\n <NoCartItems />\n <div className=\"default-btn-sec\">\n <Link\n className=\"default-btn\"\n to=\"/shop\">\n Continue Shopping\n </Link>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n </Col>\n {props.guestCart.loading ? (\n <Col xl={4} md={12}>\n <div className=\"cart-box\">\n <div className=\"cart-header-sec\">\n <h4>{t(\"price_details\")}</h4>\n </div>\n <Skeleton height={200} />\n </div>\n </Col>\n ) : props.guestCart.data.carts &&\n props.guestCart.data.carts.length > 0 ? (\n <Col xl={4} md={12}>\n <div className=\"cart-box\">\n <div className=\"cart-header-sec\">\n <h4>{t(\"price_details\")}</h4>\n </div>\n <div className=\"cart-body-sec\">\n <div className=\"cart-summary-info\">\n <div className=\"cart-summary-header\">\n <p>\n {t(\"cart_total\")}{\" \"}\n <span>\n {\n props.guestCart.data.user_cart_amount\n .cart_total_amount\n }\n </span>\n </p>\n <p>\n {t(\"discount\")}{\" \"}\n <span>\n -\n {\n props.guestCart.data.user_cart_amount\n .cart_discount_amount\n }\n </span>\n </p>\n </div>\n <div className=\"cart-summary-total-amount\">\n <h5>\n {t(\"order_total\")}{\" \"}\n <span>\n {\n props.guestCart.data.user_cart_amount\n .cart_checkout_amount\n }\n </span>\n </h5>\n </div>\n <div className=\"cart-summary-btn-sec\">\n <Link\n onClick={placeOrder}\n to=\"#\"\n className=\"place-order-btn\"\n >\n {t(\"place_order\")}\n </Link>\n </div>\n </div>\n </div>\n <div className=\"continue-shopping-btn-sec\">\n <Link to=\"/shop\" className=\"continue-shopping-btn\">\n {t(\"continue_shopping\")}\n </Link>\n </div>\n </div>\n </Col>\n ) : null}\n </Row>\n )}\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n profile: state.users.profile,\n cartList: state.carts.cartList,\n guestCartList: state.carts.guestCartList,\n guestCart: state.carts.guestCart,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(CartIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CheckOutOldIndex.jsx",["754","755","756"],[],"import React from \"react\";\nimport {\n Col,\n Container,\n Row,\n Accordion,\n Image,\n Form,\n InputGroup,\n Button,\n} from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport \"./Checkout.css\";\n\nconst CheckOutOldIndex = () => {\n\n\n const t = useTranslation();\n\n return (\n <>\n <div className=\"checkout-sec\">\n <Container>\n <Row>\n <Col xl={8} md={12}>\n <div className=\"checkout-payment-details\">\n <h4>{t(\"shipping\")}</h4>\n </div>\n <div className=\"checkout-dropdown\">\n <Accordion defaultActiveKey=\"0\">\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>\n <div className=\"checkout-label-details shipping-deatils\">\n <h4>John Mathew Home</h4>\n <p>\n P.O. Box 132 1599 Curabitur Rd. Bandera South Dakota\n 45149\n </p>\n </div>\n </Accordion.Header>\n <Accordion.Body>\n <div className=\"address-label-box\">\n <div className=\"address-radio-btn\">\n <input\n name=\"address\"\n class=\"radio\"\n type=\"radio\"\n id=\"card\"\n checked\n />\n <label\n name=\"address\"\n class=\"radio\"\n type=\"radio\"\n for=\"card\"\n checked\n >\n <div className=\"saved-address-box\">\n <div className=\"address-details\">\n <h4>John Mathew Home</h4>\n <p>\n P.O. Box 132 1599 Curabitur Rd. Bandera South\n Dakota 45149 (959) 119-8364\n </p>\n </div>\n <div className=\"address-btn\">\n <Link to=\"\">\n <Image\n src={\n window.location.origin +\n \"/images/edit-black.svg\"\n }\n type=\"image/png\"\n />\n </Link>\n <Link to=\"\" className=\"address-button\">\n Use This Address\n </Link>\n </div>\n </div>\n </label>\n </div>\n <div className=\"address-radio-btn label-bg\">\n <input\n name=\"address\"\n class=\"radio\"\n type=\"radio\"\n id=\"card-1\"\n checked\n />\n <label\n name=\"address\"\n class=\"radio\"\n type=\"radio\"\n for=\"card-1\"\n checked\n >\n <div className=\"saved-address-box\">\n <div className=\"address-details\">\n <h4>John Mathew Home</h4>\n <p>\n P.O. Box 132 1599 Curabitur Rd. Bandera South\n Dakota 45149 (959) 119-8364\n </p>\n </div>\n <div className=\"address-btn\">\n <Link to=\"\">\n <Image\n src={\n window.location.origin +\n \"/images/edit-black.svg\"\n }\n type=\"image/png\"\n />\n </Link>\n <Link to=\"\" className=\"address-button\">\n Use This Address\n </Link>\n </div>\n </div>\n </label>\n </div>\n </div>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n </div>\n <div className=\"checkout-payment-details mt-5\">\n <h4>Payment Method </h4>\n </div>\n <div className=\"checkout-dropdown \">\n <Accordion defaultActiveKey=\"0\">\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>\n <div className=\"checkout-label-details\">\n <Image\n src={window.location.origin + \"/images/express.png\"}\n type=\"image/png\"\n />\n <h4>41** **** **** 1425</h4>\n <p>John Mathew</p>\n </div>\n </Accordion.Header>\n <Accordion.Body>\n <div className=\"payment-radio-box\">\n <div className=\"payment-radio-btn\">\n <input\n name=\"plan\"\n class=\"radio\"\n type=\"radio\"\n checked\n id=\"payment\"\n />\n <label\n name=\"plan\"\n class=\"radio\"\n type=\"radio\"\n checked\n for=\"payment\"\n >\n <p>\n <Image\n src={\n window.location.origin + \"/images/visa.png\"\n }\n type=\"image/png\"\n />\n </p>\n <p>41xx xxxx xxxx 5609</p>\n <p>John Mathew</p>\n <p>10/2022</p>\n <Link to=\"\" className=\"card-edit-icon\">\n <span>\n <Image\n src={\n window.location.origin +\n \"/images/delete-1.svg\"\n }\n type=\"image/png\"\n />\n </span>\n Delete\n </Link>\n <div></div>\n </label>\n </div>\n\n <div className=\"payment-radio-btn label-bg\">\n <input\n name=\"plan\"\n class=\"radio\"\n type=\"radio\"\n checked\n id=\"payment-1\"\n />\n <label\n name=\"plan\"\n class=\"radio\"\n type=\"radio\"\n checked\n for=\"payment-1\"\n >\n <p>\n <Image\n src={\n window.location.origin + \"/images/express.png\"\n }\n type=\"image/png\"\n />\n </p>\n <p>41xx xxxx xxxx 5609</p>\n <p>John Mathew</p>\n <p>10/2022</p>\n <Link to=\"\" className=\"card-edit-icon\">\n <span>\n <Image\n src={\n window.location.origin +\n \"/images/delete-1.svg\"\n }\n type=\"image/png\"\n />\n </span>\n Delete\n </Link>\n <div></div>\n </label>\n </div>\n <div className=\"payment-radio-btn label-bg dropdown-wallet\">\n <input\n name=\"plan\"\n class=\"radio\"\n type=\"radio\"\n checked\n id=\"payment-2\"\n />\n <label\n name=\"plan\"\n class=\"radio\"\n type=\"radio\"\n checked\n for=\"payment-2\"\n >\n <p>\n <Image\n src={\n window.location.origin + \"/images/wallet.svg\"\n }\n type=\"image/png\"\n />\n <span>Wallet</span>\n </p>\n <p>411215566545609</p>\n <p>234.94 $</p>\n </label>\n </div>\n </div>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n </div>\n </Col>\n <Col xl={4} md={12}>\n <div className=\"checkout-box\">\n <div className=\"cart-box\">\n <div className=\"cart-header-sec\">\n <h4>Order Summary</h4>\n <Link to=\"\">\n <p>\n <span>\n <Image\n src={window.location.origin + \"/images/edit.svg\"}\n type=\"image/png\"\n />\n </span>\n Edit Cart\n </p>\n </Link>\n </div>\n\n <div className=\"cart-body-sec\">\n <div className=\"checkout-order-details\">\n <div className=\"checkout-product-box\">\n <div className=\"checkout-product-img\">\n <Image\n src={window.location.origin + \"/images/item-1.png\"}\n type=\"image/png\"\n />\n </div>\n <div className=\"checkout-product-content\">\n <h4>250MG CBD PET DROPS</h4>\n <p>\n QTY<span>01</span>\n </p>\n <h5>\n 264 $ <span>364 $</span>\n </h5>\n </div>\n </div>\n <div className=\"checkout-product-box mt-4\">\n <div className=\"checkout-product-img order-bg-color\">\n <Image\n src={window.location.origin + \"/images/item-1.png\"}\n type=\"image/png\"\n />\n </div>\n <div className=\"checkout-product-content\">\n <h4>250MG CBD PET DROPS</h4>\n <p>\n QTY<span>01</span>\n </p>\n <h5>\n 264 $ <span>364 $</span>\n </h5>\n </div>\n </div>\n </div>\n <div className=\"cart-summary-info mt-3\">\n <div className=\"cart-summary-header\">\n <p>\n Cart Total <span>1230.87 $</span>\n </p>\n <p>\n Discount <span>-89.00 $</span>\n </p>\n </div>\n <div className=\"cart-summary-total-amount\">\n <h5>\n Order Total <span>1,430.00 $</span>\n </h5>\n </div>\n <div className=\"cart-summary-btn-sec\">\n <Link to=\"/order-placed\" className=\"place-order-btn\">\n Check Out\n </Link>\n </div>\n </div>\n </div>\n <div className=\"continue-shopping-btn-sec\">\n <Link\n to=\"/shop\"\n className=\"continue-shopping-btn\"\n >\n Continue Shopping\n </Link>\n </div>\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nexport default (withTranslation(CheckOutOldIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CheckoutAddress.jsx",["757","758","759","760","761","762","763","764"],[],"import React, { useState, useEffect } from \"react\";\nimport {\n Col,\n Container,\n Row,\n Accordion,\n Image,\n Form,\n InputGroup,\n Button,\n} from \"react-bootstrap\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { fetchDeliveryAddressesListStart } from \"../store/actions/DeliveryAction\";\nimport \"./NewCheckOut.css\";\nimport { connect } from \"react-redux\";\nimport SomethingWrong from \"../Helper/SomethingWrong\";\nimport Skeleton from \"react-loading-skeleton\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport { fetchCartListStart } from \"../store/actions/CartsAction\";\nimport ReactStars from \"react-rating-stars-component\";\nimport AddNewAddressPopUpModal from \"./AddNewAddressPopUpModal\";\nimport { useTranslation, withTranslation } from \"react-multi-lang\";\n\nconst CheckoutAddress = (props) => {\n const navigate = useNavigate();\n const [skipRender, setSkipRender] = useState(true);\n const t = useTranslation();\n const [showContent, setShowContent] = useState(true);\n const [writeReview, setWriteReview] = useState(false);\n\n const closeWriteReviewModal = () => {\n setWriteReview(false);\n };\n useEffect(() => {\n props.dispatch(fetchDeliveryAddressesListStart());\n props.dispatch(fetchCartListStart());\n }, []);\n useEffect(() => {\n if (\n (!skipRender &&\n !props.deliveryAddressesList.loading &&\n (props.deliveryAddressesList.error !== false ||\n !props.deliveryAddressesList.data.delivery_addresses)) ||\n (!props.cartList.loading &&\n (props.cartList.error !== false ||\n !props.cartList.data.user_cart_amount ||\n !props.cartList.data.availability ||\n !props.cartList.data.availability.is_available))\n ) {\n setShowContent(false);\n }\n setSkipRender(false);\n }, [props.deliveryAddressesList, props.cartList]);\n\n const confirmAddress = (addressUniqueId) => {\n localStorage.setItem(\"addessUniqueId\", addressUniqueId);\n navigate(\"/order-summary\");\n };\n return (\n <>\n <div className=\"newcheckout-sec\">\n {showContent ? (\n <Container>\n <Row>\n <Col xl={8} md={12} className=\"resp-mrg-btm-md\">\n <div className=\"newcheckout-header-sec\">\n <ul className=\"list-unstyled new-checkout-progress-bar\">\n <li className=\"step1\">\n <div className=\"newcheckout-flex active\">\n <div className=\"count-no\">1</div>\n <h6>{t(\"address\")}</h6>\n </div>\n </li>\n <li className=\"step2\">\n <div className=\"newcheckout-flex\">\n <div className=\"count-no\">2</div>\n <h6>{t(\"order_summary\")}</h6>\n </div>\n </li>\n <li className=\"step3\">\n <div className=\"newcheckout-flex\">\n <div className=\"count-no\">3</div>\n <h6>{t(\"payment\")}</h6>\n </div>\n </li>\n </ul>\n </div>\n <div className=\"newcheckout-body-wrapper\">\n <div className=\"step-1\">\n <div className=\"address-label-box\">\n {props.deliveryAddressesList.loading ? (\n <Skeleton count={2} height={200} />\n ) : props.deliveryAddressesList.data.delivery_addresses\n .length > 0 ? (\n props.deliveryAddressesList.data.delivery_addresses.map(\n (address, i) => (\n <div className=\"address-radio-btn\" key={i}>\n <label onClick={(e) => e.preventDefault()}>\n <div className=\"saved-address-box\">\n <div className=\"address-details\">\n <h4>{address.name}</h4>\n <p className=\"address-block\">\n {address.address}\n {\"\\n\"}\n {address.city} {address.state}{\" \"}\n {address.pincode}\n {\"\\n\"}\n {address.landmark}\n {\"\\n\"}\n {address.contact_number}\n </p>\n </div>\n <div className=\"address-btn\">\n {props.cartList.data &&\n props.cartList.data.availability &&\n props.cartList.data.availability.is_available\n ? <Button\n onClick={() =>\n confirmAddress(\n address.delivery_address_unique_id\n )\n }\n className=\"address-button\"\n >\n {t(\"use_address\")}\n </Button>\n : null\n }\n </div>\n </div>\n </label>\n </div>\n )\n )\n ) : (\n <NoDataFound />\n )}\n </div>\n <Link to=\"#\" className=\"add-new-address-link\" onClick={() => setWriteReview(true)}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\" />\n </svg>\n {t(\"add_address\")}\n </Link>\n\n <h3></h3>\n </div>\n </div>\n </Col>\n <Col xl={4} md={12}>\n <div className=\"checkout-box\">\n <div className=\"cart-box\">\n <div className=\"cart-header-sec\">\n <h4>{t(\"price_details\")}</h4>\n </div>\n {props.cartList.loading ? (\n <Skeleton height={200} />\n ) : (\n <div className=\"cart-body-sec\">\n <div className=\"cart-summary-info\">\n <div className=\"cart-summary-header\">\n <p>\n {t(\"cart_total\")}{\" \"}\n <span>\n {\n props.cartList.data.user_cart_amount\n .cart_total_amount\n }\n </span>\n </p>\n <p>\n {t(\"discount\")}{\" \"}\n <span>\n -\n {\n props.cartList.data.user_cart_amount\n .cart_discount_amount\n }\n </span>\n </p>\n </div>\n <div className=\"cart-summary-total-amount\">\n <h5>\n {t(\"order_total\")}{\" \"}\n <span>\n {\n props.cartList.data.user_cart_amount\n .cart_checkout_amount\n }\n </span>\n </h5>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n </Col>\n </Row>\n {writeReview && (\n <AddNewAddressPopUpModal\n writeReview={writeReview}\n closeWriteReviewModal={closeWriteReviewModal}\n />\n )}\n </Container>\n ) : (\n <div className=\"text-center\">\n <SomethingWrong />\n <Button onClick={() => navigate(\"/\")}>{t(\"go_home\")}</Button>\n </div>\n )}\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n profile: state.users.profile,\n cartList: state.carts.cartList,\n deliveryAddressesList: state.delivery.deliveryAddressesList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(mapStateToPros, mapDispatchToProps)(withTranslation(CheckoutAddress));\n","/home/ubuntu/misabloom-frontend-base/src/components/Cart/OrderSummary.jsx",["765","766","767","768","769","770","771"],[],"import React, { useState, useEffect } from \"react\";\nimport {\n Col,\n Container,\n Row,\n Image,\n Button,\n} from \"react-bootstrap\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport \"./NewCheckOut.css\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { connect } from \"react-redux\";\nimport { fetchSingleDeliveryAddressStart } from \"../store/actions/DeliveryAction\";\nimport SomethingWrong from \"../Helper/SomethingWrong\";\nimport Skeleton from \"react-loading-skeleton\";\nimport { fetchCartListStart } from \"../store/actions/CartsAction\";\nimport CustomLazyLoad from \"../Helper/CustomLazyLoad\";\nimport { upiIntentCheckoutStart } from \"../store/actions/OrdersAction\";\n\nconst OrderSummary = (props) => {\n const navigate = useNavigate();\n\n const t = useTranslation();\n const [skipRender, setSkipRender] = useState(true);\n const [showContent, setShowContent] = useState(true);\n\n useEffect(() => {\n console.log(showContent);\n if (localStorage.getItem(\"addessUniqueId\")) {\n props.dispatch(fetchSingleDeliveryAddressStart({\n delivery_address_unique_id: localStorage.getItem(\"addessUniqueId\")\n }));\n props.dispatch(fetchCartListStart());\n } else {\n navigate(\"/checkout-address\");\n }\n }, []);\n\n useEffect(() => {\n if (!skipRender &&\n (!props.singleDeliveryAddress.loading && (props.singleDeliveryAddress.error !== false || !props.singleDeliveryAddress.data.delivery_address)) ||\n (!props.cartList.loading && (props.cartList.error !== false || !props.cartList.data.carts || !props.cartList.data.user_cart_amount ||\n !props.cartList.data.availability || !props.cartList.data.availability.is_available))) {\n setShowContent(false);\n }\n setSkipRender(false);\n }, [props.singleDeliveryAddress, props.cartList]);\n\n const changeAddress = e => {\n e.preventDefault();\n localStorage.removeItem(\"addessUniqueId\");\n navigate(\"/checkout-address\");\n }\n\n const initiateCheckout = () => {\n props.dispatch(upiIntentCheckoutStart({\n delivery_address_id: props.singleDeliveryAddress.data.delivery_address.delivery_address_id,\n }));\n }\n\n useEffect(() => {\n if (!skipRender && !props.upiIntentCheckout.loading && Object.keys(props.upiIntentCheckout.data).length > 0) {\n navigate('/checkout-payment')\n }\n setSkipRender(false);\n }, [props.upiIntentCheckout])\n\n return (\n <>\n <div className=\"newcheckout-sec\">\n {showContent\n ? <Container>\n <Row>\n <Col xl={8} md={12} className=\"resp-mrg-btm-md\">\n <div className=\"newcheckout-header-sec\">\n <ul className=\"list-unstyled new-checkout-progress-bar\">\n <li className=\"step1\">\n <div className=\"newcheckout-flex active\">\n <div className=\"count-no\">\n 1\n </div>\n <h6>{t(\"address\")}</h6>\n </div>\n </li>\n <li className=\"step2\">\n <div className=\"newcheckout-flex active\">\n <div className=\"count-no\">\n 2\n </div>\n <h6>{t(\"order_summary\")}</h6>\n </div>\n </li>\n <li className=\"step3\">\n <div className=\"newcheckout-flex\">\n <div className=\"count-no\">\n 3\n </div>\n <h6>{t(\"payment\")}</h6>\n </div>\n </li>\n </ul>\n </div>\n <div className=\"newcheckout-body-wrapper\">\n <div className=\"step-2\">\n <div className=\"product-delivery-address-box\">\n {props.singleDeliveryAddress.loading\n ? <Skeleton height={200} />\n : props.singleDeliveryAddress.data.delivery_address\n ? <div className=\"saved-address-box\">\n <div className=\"address-details\">\n <h3>Deliver to</h3>\n <h4>{props.singleDeliveryAddress.data.delivery_address.name}</h4>\n <p className=\"address-block\">\n {props.singleDeliveryAddress.data.delivery_address.address}{\"\\n\"}\n {props.singleDeliveryAddress.data.delivery_address.city}{\" \"}\n {props.singleDeliveryAddress.data.delivery_address.state}{\" \"}\n {props.singleDeliveryAddress.data.delivery_address.pincode}{\"\\n\"}\n {props.singleDeliveryAddress.data.delivery_address.landmark}{\"\\n\"}\n {props.singleDeliveryAddress.data.delivery_address.contact_number}\n </p>\n </div>\n <div className=\"address-btn\">\n <Button\n className=\"address-button\"\n onClick={changeAddress}\n >\n {t(\"change\")}\n </Button>\n </div>\n </div>\n : null\n }\n </div>\n {props.cartList.loading\n ? <Skeleton count={3} height={200} />\n : props.cartList.data.carts.filter(cart => cart.product.stock_status !== 0).map((cart, i) =>\n <div className={`product-delivery-status-box\n ${cart.product.stock_status === 0 ? \"disable-cart-product\" : \"\"}`} key={i}>\n <div className=\"product-delivery-status-card\">\n <div className=\"product-delivery-status-left-sec\">\n <div className=\"checkout-product-img\">\n <CustomLazyLoad\n src={cart.product.file}\n placeholderSrc={window.location.origin + \"/images/loading.svg\"}\n classes=\"cart-list-img\"\n />\n </div>\n <div className=\"checkout-product-content\">\n <h4>{cart.product.name}</h4>\n <p>\n {t(\"category\")}<span>{cart.product.category_name}</span>\n </p>\n <p>\n {t(\"vol\")}<span>{cart.product.gross_weight_formatted}</span>\n </p>\n <p>\n {t(\"qty\")}<span>{cart.product.stock_status === 0 ? cart.product.stock_availablity_formatted : cart.quantity}</span>\n </p>\n\n </div>\n </div>\n <div className=\"product-delivery-status-right-sec\">\n <div className=\"checkout-product-content\">\n <h4>{cart.product.selling_price_formatted}</h4>\n <h5>\n {cart.product.discount_tag} <span>{cart.product.original_price_formatted}</span>\n </h5>\n </div>\n </div>\n </div>\n {/* <div className=\"product-delivery-status-bar\">\n Delivery by Thu Sep 8\n </div> */}\n </div>\n )\n }\n <div className=\"product-confirm-continue-box website-hide\">\n <h4>{t(\"confirm_your_order_text\")}</h4>\n <div className=\"address-btn\">\n {!props.cartList.loading &&\n props.cartList.data.availability &&\n props.cartList.data.availability.is_available\n ? <Button to=\"/checkout-payment\" className=\"address-button\" \n onClick={() => initiateCheckout()}\n disabled={props.upiIntentCheckout.buttonDisable}>\n {props.upiIntentCheckout.loadingButtonContent ? props.upiIntentCheckout.loadingButtonContent : t('continue')}\n </Button>\n : null\n }\n </div>\n </div>\n <div className=\"upi-payment-box mobile-hide\">\n <h4>Open in mobile browser for completing the order</h4>\n </div>\n </div>\n </div>\n </Col>\n <Col xl={4} md={12}>\n <div className=\"checkout-box\">\n <div className=\"cart-box\">\n <div className=\"cart-header-sec\">\n <h4>{t(\"price_details\")}</h4>\n </div>\n {props.cartList.loading\n ? <Skeleton height={200} />\n : <div className=\"cart-body-sec\">\n <div className=\"cart-summary-info\">\n <div className=\"cart-summary-header\">\n <p>\n {t(\"cart_total\")} <span>{props.cartList.data.user_cart_amount.cart_total_amount}</span>\n </p>\n <p>\n {t(\"discount\")} <span>-{props.cartList.data.user_cart_amount.cart_discount_amount}</span>\n </p>\n </div>\n <div className=\"cart-summary-total-amount\">\n <h5>\n {t(\"order_total\")} <span>{props.cartList.data.user_cart_amount.cart_checkout_amount}</span>\n </h5>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n : <div className=\"text-center\">\n <SomethingWrong />\n <Button onClick={() => navigate(\"/\")}>{t(\"go_home\")}</Button>\n </div>\n }\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n cartList: state.carts.cartList,\n singleDeliveryAddress: state.delivery.singleDeliveryAddress,\n upiIntentCheckout: state.orders.upiIntentCheckout,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(OrderSummary));\n","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CheckoutPayment.jsx",["772","773","774","775","776","777","778","779","780","781","782","783","784","785","786","787","788","789","790","791","792","793","794","795","796","797","798","799","800"],[],"import React, { useState, useEffect, useContext } from \"react\";\nimport {\n Col,\n Container,\n Row,\n Accordion,\n Image,\n Form,\n InputGroup,\n Button,\n} from \"react-bootstrap\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport \"./NewCheckOut.css\";\nimport { connect } from \"react-redux\";\nimport { fetchSingleDeliveryAddressStart } from \"../store/actions/DeliveryAction\";\nimport { fetchCartListStart } from \"../store/actions/CartsAction\";\nimport SomethingWrong from \"../Helper/SomethingWrong\";\nimport Skeleton from \"react-loading-skeleton\";\nimport { fetchUserWalletDetailsStart } from \"../store/actions/WalletAction\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { saveOrdersCartStart, ordersCheckoutStart, orderStatusStart } from \"../store/actions/OrdersAction\";\nimport AddMoneyModal from \"./AddMoneyModal\";\nimport {\n useAccount,\n} from \"wagmi\";\nimport { ConnectKitButton } from \"connectkit\";\nimport CheckoutWalletButton from \"./CheckoutWalletButton\";\n// import QRCode from \"react-qr-code\";\n// import upiqr from \"upiqr\";\nimport * as Yup from \"yup\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport { get } from \"react-global-configuration\";\nimport { getSuccessNotificationMessage } from \"../Helper/ToastNotification\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\n\nconst CheckoutPayment = (props) => {\n const account = useAccount();\n const navigate = useNavigate();\n const t = useTranslation();\n\n const [skipRender, setSkipRender] = useState(true);\n const [showContent, setShowContent] = useState(true);\n const [checkout, setCheckout] = useState(true);\n const [addMoney, setAddMoney] = useState(false);\n const [qrCode, setQrCode] = useState(false);\n const [vpa, setVpa] = useState(\"AMIGOMI@icici\")\n const [redirectUrl, setRedirectUrl] = useState(\"\");\n const [paymentStarted, setPaymentStarted] = useState(false)\n\n useEffect(() => {\n if (localStorage.getItem(\"addessUniqueId\")) {\n props.dispatch(fetchSingleDeliveryAddressStart({\n delivery_address_unique_id: localStorage.getItem(\"addessUniqueId\")\n }));\n props.dispatch(fetchCartListStart());\n props.dispatch(fetchUserWalletDetailsStart());\n } else {\n navigate(\"/checkout-address\");\n }\n }, []);\n\n // useEffect(() => {\n // if (!skipRender && !props.cartList.loading && Object.keys(props.cartList.data).length > 0 && props.userWalletDetails.data.user_wallet &&\n // !props.userWalletDetails.loading && Object.keys(props.userWalletDetails.data).length > 0 && props.cartList.data.user_cart_amount) {\n // if (props.userWalletDetails.data.user_wallet.remaining >= props.cartList.data.user_cart_amount.cart_final_amount) {\n // setCheckout(true);\n // } else {\n // setCheckout(false);\n // }\n // }\n // }, [props.userWalletDetails, props.cartList]);\n\n useEffect(() => {\n if (!skipRender &&\n (!props.singleDeliveryAddress.loading && (props.singleDeliveryAddress.error !== false || !props.singleDeliveryAddress.data.delivery_address)) ||\n (!props.cartList.loading && (props.cartList.error !== false || !props.cartList.data.carts || !props.cartList.data.user_cart_amount ||\n !props.cartList.data.availability || !props.cartList.data.availability.is_available)) ||\n (!props.userWalletDetails.loading && (props.userWalletDetails.error !== false || !props.userWalletDetails.data.user_wallet))) {\n setShowContent(false);\n }\n }, [props.singleDeliveryAddress, props.cartList, props.userWalletDetails]);\n\n useEffect(() => {\n if (!skipRender && !props.orderSaveCart.loading && Object.keys(props.orderSaveCart.data).length > 0) {\n localStorage.removeItem(\"addessUniqueId\");\n navigate(\"/order-placed\");\n }\n setSkipRender(false);\n }, [props.orderSaveCart]);\n\n const changeAddress = e => {\n e.preventDefault();\n localStorage.removeItem(\"addessUniqueId\");\n navigate(\"/checkout-address\");\n }\n\n const checkoutCart = (values) => {\n\n props.dispatch(saveOrdersCartStart({\n delivery_address_id: props.singleDeliveryAddress.data.delivery_address.delivery_address_id,\n // payment_mode: \"UPI\",\n payment_mode: \"COD\",\n ...values\n }));\n }\n\n const closeAddMoneyModal = () => {\n setAddMoney(false);\n }\n\n // const onCheckout = e => {\n // e.preventDefault();\n // const amount = \"10\";\n // const stableTokenAmount = amount.toString();\n // const web3 = window.web3;\n // let stable_token_amount = window.web3.utils.toWei(stableTokenAmount, \"Ether\");\n // // let stable_token_amount = web3.utils.toWei(stableTokenAmount);\n\n // let USDVToken = new web3.eth.Contract(\n // Token.abi,\n // \"0xcD7509b76281223f5B7d3aD5d47F8D7Aa5C2B9bf\"\n // );\n // USDVToken.methods\n // .approve(\n // // configuration.get(\"configData.seller_contract_address\"),\n // \"0xcBD25127B97D1F170b5efFa36A7894FCbf43314D\",\n // stable_token_amount\n // )\n // .send({ from: walletAccount.address })\n // .on(\"receipt\", (receipt) => {\n // console.log(receipt);\n // })\n // .on(\"error\", (error) => {\n // // setButtonContent(\"\");\n // console.log(\"Error\", error);\n // if (error.message == undefined) {\n // props.dispatch(getErrorNotificationMessage(\"Unexpected error occuried, Please try again...\"));\n // } else {\n // props.dispatch(getErrorNotificationMessage(error.message));\n // }\n // // Send error notification.\n // });\n // }\n\n const onFormSubmit = (paymentMode, data = {}) => {\n props.dispatch(ordersCheckoutStart({\n payment_mode: paymentMode,\n delivery_address_id: props.singleDeliveryAddress.data.delivery_address.delivery_address_id,\n ...data,\n }));\n }\n\n useEffect(() => {\n if (!skipRender && !props.ordersCheckout.loading && Object.keys(props.ordersCheckout.data).length > 0) {\n localStorage.removeItem(\"addessUniqueId\");\n navigate(\"/order-placed\");\n }\n setSkipRender(false);\n }, [props.ordersCheckout]);\n\n // useEffect(() => {\n // if (!skipRender && !props.cartList.loading && Object.keys(props.cartList.data).length > 0) {\n // upiqr({\n // payeeVPA: vpa,\n // payeeName: \"test M\",\n // amount: props.cartList.data.user_cart_amount.cart_final_amount.toFixed(2)\n // })\n // .then(({ qr }) => {\n // setQrCode(qr)\n // })\n // .catch(console.error)\n // }\n // setSkipRender(false);\n // }, [props.cartList]);\n\n const checkOutSchema = Yup.object().shape({\n payment_id: Yup.string().required(t(\"required\")),\n });\n\n useEffect(() => {\n if (!props.upiIntentCheckout.loading && Object.keys(props.upiIntentCheckout.data).length > 0) {\n setRedirectUrl(props.upiIntentCheckout.data?.data?.transaction?.upi_url)\n }\n }, [props.upiIntentCheckout])\n\n useEffect(() => {\n const getChargersData = () => {\n props.dispatch(orderStatusStart({\n order_id: props.upiIntentCheckout.data?.data?.transaction?.order_id,\n }));\n }\n getChargersData()\n const interval = setInterval(() => {\n getChargersData()\n },5*1000);\n return () => clearInterval(interval);\n },[]);\n\n useEffect(() => {\n if (!props.orderStatus.loading && Object.keys(props.orderStatus.data).length > 0 && Object.keys(props.orderStatus.data.data).length > 0 && props.orderStatus.data.data?.transaction?.status != \"Initiated\") {\n navigate(\"/order-placed\");\n }\n }, [props.orderStatus])\n\n console.log(\"orderStatus\", props.orderStatus)\n\n return (\n <>\n <div className=\"newcheckout-sec\">\n {showContent\n ? <Container>\n <Row>\n <Col xl={8} md={12} className=\"resp-mrg-btm-md\">\n <div className=\"newcheckout-header-sec\">\n <ul className=\"list-unstyled new-checkout-progress-bar\">\n <li className=\"step1\">\n <div className=\"newcheckout-flex active\">\n <div className=\"count-no\">\n 1\n </div>\n <h6>{t(\"address\")}</h6>\n </div>\n </li>\n <li className=\"step2\">\n <div className=\"newcheckout-flex active\">\n <div className=\"count-no\">\n 2\n </div>\n <h6>{t(\"order_summary\")}</h6>\n </div>\n </li>\n <li className=\"step3\">\n <div className=\"newcheckout-flex active\">\n <div className=\"count-no\">\n 3\n </div>\n <h6>{t(\"payment\")}</h6>\n </div>\n </li>\n </ul>\n </div>\n <div className=\"newcheckout-body-wrapper\">\n\n <div className=\"step-3\">\n <div className=\"product-delivery-address-box\">\n {props.singleDeliveryAddress.loading\n ? <Skeleton height={200} />\n : props.singleDeliveryAddress.data.delivery_address\n ? <div className=\"saved-address-box\">\n <div className=\"address-details\">\n <h3>{t(\"deliver_to\")}</h3>\n <h4>{props.singleDeliveryAddress.data.delivery_address.name}</h4>\n <p className=\"address-block\">\n {props.singleDeliveryAddress.data.delivery_address.address}{\"\\n\"}\n {props.singleDeliveryAddress.data.delivery_address.city}{\" \"}\n {props.singleDeliveryAddress.data.delivery_address.state}{\" \"}\n {props.singleDeliveryAddress.data.delivery_address.pincode}{\"\\n\"}\n {props.singleDeliveryAddress.data.delivery_address.landmark}{\"\\n\"}\n {props.singleDeliveryAddress.data.delivery_address.contact_number}\n </p>\n </div>\n <div className=\"address-btn\">\n <Button\n className=\"address-button\"\n onClick={changeAddress}\n >\n {t(\"change\")}\n </Button>\n </div>\n </div>\n : null\n }\n </div>\n <div className=\"product-order-summary-card\">\n <h3>{t(\"order_summary\")} - <span>{\n props.cartList.loading\n ? \"...\"\n : props.cartList.data.carts ?\n props.cartList.data.carts.filter(cart => cart.product.stock_status === 1).length\n : \"\"\n } {t(\"products\")}</span></h3>\n <div className=\"address-btn\">\n <Link to=\"/cart\" className=\"address-button\">\n {t(\"change\")}\n </Link>\n </div>\n </div>\n <div className=\"company-bages\">\n <h5>Billing Address From :</h5>\n <p>\n <strong> AMIGOMI INFOSOLUTION PRIVATE LIMITED. </strong><br />\n #9/2, Amarakrupa 3rd Main 9th C, Sadashivanagar, Bangalore North, Bangalore - 560080, karnataka\n </p>\n </div>\n {/* <div className=\"payment-radio-box\">\n {props.userWalletDetails.loading ?\n <Skeleton height={100} />\n : checkout\n ? <div className=\"payment-radio-btn label-bg dropdown-wallet\">\n <input\n name=\"plan\"\n className=\"radio\"\n type=\"radio\"\n checked\n id=\"payment-2\"\n />\n <label\n name=\"plan\"\n className=\"radio\"\n type=\"radio\"\n checked\n for=\"payment-2\"\n >\n <p>\n <Image\n src={\n window.location.origin + \"/images/wallet.svg\"\n }\n type=\"image/png\"\n />\n <span>{t(\"wallet\")}</span>\n </p>\n <p>{props.userWalletDetails.data.user_wallet.remaining_formatted}</p>\n </label>\n </div>\n : <div className=\"payment-radio-btn label-bg dropdown-wallet mt-3\">\n <label\n name=\"plan\"\n className=\"payment-add-money-wallet\"\n >\n <p>\n <Image\n src={\n window.location.origin + \"/images/wallet.svg\"\n }\n type=\"image/png\"\n />\n <span>{t(\"wallet\")}</span>\n </p>\n <p>{props.userWalletDetails.data.user_wallet.remaining_formatted}</p>\n <Button\n className=\"address-button\"\n onClick={() => setAddMoney(true)}\n >\n {t(\"add_money\")}\n </Button>\n </label>\n </div>\n }\n {props.cartList.loading ?\n \"\"\n : props.cartList.data.user_cart_amount &&\n props.cartList.data.availability &&\n props.cartList.data.availability.is_available\n ? <>\n {account.address ?\n !props.singleDeliveryAddress.loading ?\n <CheckoutWalletButton\n cartFinalAmount={props.cartList.data.user_cart_amount.cart_final_amount}\n onFormSubmit={onFormSubmit}\n />\n : null\n :\n <>\n <div className=\"payment-radio-btn label-bg dropdown-wallet mt-3\">\n <label\n name=\"plan\"\n className=\"payment-add-money-wallet\"\n >\n <p>\n <Image\n src={\n window.location.origin + \"/images/wallet.svg\"\n }\n type=\"image/png\"\n />\n <span>Wallet</span>\n </p>\n <p>Not Connected</p>\n <ConnectKitButton.Custom>\n {({ isConnected, isConnecting, show, hide, address, ensName }) => {\n return (\n <Button\n className=\"address-button\"\n onClick={() => show()}\n >\n Connect\n </Button>\n );\n }}\n </ConnectKitButton.Custom>\n </label>\n </div>\n </>\n }\n <div className=\"payment-radio-btn label-bg dropdown-wallet mt-3\">\n <label\n name=\"plan\"\n className=\"payment-add-money-wallet\"\n >\n <p>\n <Image\n src={\n window.location.origin + \"/images/wallet.svg\"\n }\n type=\"image/png\"\n />\n <span>Checkout</span>\n </p>\n <p>Not Connected</p>\n <Button\n className=\"address-button\"\n onClick={() => onFormSubmit(\"ADMIN\")}\n disabled={props.ordersCheckout.buttonDisable}\n >\n {props.ordersCheckout.loadingButtonContent ? props.ordersCheckout.loadingButtonContent : \"Pay\"}\n </Button>\n </label>\n </div> \n </>\n : null\n }\n </div> */}\n {/* <Link to=\"#\" className=\"add-new-address-link\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\" /></svg>\n ADD CARD\n </Link> */}\n {/* Vithya - BD Team asked only COD Payment */}\n {redirectUrl && (\n <Formik\n initialValues={{\n payment_id: \"\",\n }}\n validationSchema={checkOutSchema}\n onSubmit={(values) => checkoutCart(values)}\n >\n {({ touched, errors }) => (\n <FORM>\n <>\n <div className=\"upi-payment-box\">\n <div className=\"upi-payment-left-sec\">\n {/* <Image\n className=\"upi-qr-code\"\n src={\n window.location.origin + \"/images/upi.png\"}\n /> */}\n {paymentStarted ? (\n <div className=\"payment-spinner\">\n </div>\n ) : (\n <a\n className=\"address-button\"\n onClick={() => setPaymentStarted(true)}\n href={redirectUrl}\n >\n Pay Now\n </a>\n )}\n\n <div className=\"or-sec\">\n\n </div>\n {/* <div className=\"upi-id-copy-sec\"> \n <Form.Label>UPI ID:</Form.Label>\n <CopyToClipboard\n text={vpa}\n onCopy={() => getSuccessNotificationMessage(\"Upi ID Copied\")}\n >\n <InputGroup className=\"mb-0\">\n <Form.Control\n disabled\n value={vpa}\n />\n <InputGroup.Text id=\"basic-addon2\">\n <Button className=\"copy-btn\" type=\"button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"icon icon-tabler icons-tabler-outline icon-tabler-copy\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" /><path d=\"M7 7m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z\" /><path d=\"M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1\" /></svg>\n </Button>\n </InputGroup.Text>\n </InputGroup>\n </CopyToClipboard>\n </div>\n */}\n </div>\n\n {/* <div className=\"upi-payment-right-sec\">\n\n <Form.Group className=\"mb-0\" controlId=\"exampleForm.ControlInput1\">\n <Form.Label>Transaction ID:</Form.Label>\n <Field type=\"text\" name=\"payment_id\" className=\"form-control\" placeholder=\"Enter the Transaction ID\" />\n </Form.Group>\n <ErrorMessage\n component={\"div\"}\n name=\"payment_id\"\n className=\"text-danger text-right\"\n />\n </div> */}\n </div>\n {/* <div className=\"product-confirm-continue-box\">\n <h4>Confirm And Pay</h4>\n <div className=\"address-btn\">\n <Button\n disabled={!checkout || props.orderSaveCart.buttonDisable}\n className=\"address-button\"\n type=\"submit\"\n >\n {props.orderSaveCart.loadingButtonContent ?\n props.orderSaveCart.loadingButtonContent\n : t(\"continue\")\n }\n </Button>\n </div>\n </div> */}\n </>\n </FORM>\n )}\n </Formik>\n )}\n {/* Vithya - BD Team asked only COD Payment */}\n\n {/* <Formik\n initialValues={{\n payment_id: \"\",\n }}\n // validationSchema={checkOutSchema}\n onSubmit={(values) => checkoutCart(values)}\n >\n {({ touched, errors }) => (\n <FORM> \n <div className=\"product-confirm-continue-box\">\n <h4>{t(\"cod_payment\")}</h4>\n <div className=\"address-btn\">\n <Button\n disabled={!checkout || props.orderSaveCart.buttonDisable}\n className=\"address-button\"\n type=\"submit\"\n >\n {props.orderSaveCart.loadingButtonContent ?\n props.orderSaveCart.loadingButtonContent\n : t(\"cod_order_confirm\")\n }\n </Button>\n </div>\n </div>\n </FORM>\n )}\n </Formik> */}\n\n </div>\n\n </div>\n </Col>\n {/* <Col xl={4} md={12}>\n <div className=\"checkout-box\">\n <div className=\"cart-box\">\n <div className=\"cart-header-sec\">\n <h4>{t(\"price_details\")}</h4>\n </div>\n {props.cartList.loading\n ? <Skeleton height={200} />\n : <div className=\"cart-body-sec\">\n <div className=\"cart-summary-info\">\n <div className=\"cart-summary-header\">\n <p>\n {t(\"cart_total\")} <span>{props.cartList.data.user_cart_amount.cart_total_amount}</span>\n </p>\n <p>\n {t(\"discount\")} <span>-{props.cartList.data.user_cart_amount.cart_discount_amount}</span>\n </p>\n </div>\n <div className=\"cart-summary-total-amount\">\n <h5>\n {t(\"order_total\")} <span>{props.cartList.data.user_cart_amount.cart_checkout_amount}</span>\n </h5>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </Col> */}\n </Row>\n </Container>\n : <div className=\"text-center\">\n <SomethingWrong />\n <Button onClick={() => navigate(\"/\")}>{t(\"go_home\")}</Button>\n </div>\n }\n </div>\n {addMoney ?\n <AddMoneyModal\n addMoney={addMoney}\n closeAddMoneyModal={closeAddMoneyModal}\n />\n : null\n }\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n cartList: state.carts.cartList,\n singleDeliveryAddress: state.delivery.singleDeliveryAddress,\n userWalletDetails: state.wallet.userWalletDetails,\n orderSaveCart: state.orders.orderSaveCart,\n ordersCheckout: state.orders.ordersCheckout,\n upiIntentCheckout: state.orders.upiIntentCheckout,\n orderStatus: state.orders.orderStatus,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(CheckoutPayment));\n","/home/ubuntu/misabloom-frontend-base/src/components/Product/ProductSearchIndex.jsx",["801","802","803","804","805","806","807","808","809","810","811","812","813","814"],[],"import React, { Fragment, useState, useEffect } from \"react\";\nimport {\n Navbar,\n Container,\n Image,\n Nav,\n Row,\n Col,\n Button,\n Collapse,\n Form,\n InputGroup,\n} from \"react-bootstrap\";\nimport { Link, useParams, useNavigate, useSearchParams } from \"react-router-dom\";\nimport \"./Product.css\";\nimport { connect } from \"react-redux\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { fetchCategoriesListStart } from \"../store/actions/HomePageAction\";\nimport {\n fetchProductListStart,\n fetchMoreProductListStart,\n} from \"../store/actions/ProductAction\";\nimport InfiniteScroll from \"react-infinite-scroll-component\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport SomethingWrong from \"../Helper/SomethingWrong\";\nimport ProductCard from \"./ProductCard\";\nimport Skeleton from \"react-loading-skeleton\";\nimport \"react-loading-skeleton/dist/skeleton.css\";\nimport NoProductsFound from \"../Helper/NoProductsFound\";\n\nconst initialCondition = {\n category_id: \"\",\n sub_category_id: [],\n stock_status: \"\",\n order_by: \"newest\",\n from: \"\",\n to: \"\",\n};\n\nconst ProductSearchIndex = (props) => {\n const params = useParams();\n const [searchParams] = useSearchParams();\n const navigate = useNavigate();\n const [showProducts, setShowProducts] = useState(true);\n const [skipRender, setSkipRender] = useState(true);\n const [open, setOpen] = useState(false);\n const [search, setSearch] = useState(\"\");\n const t = useTranslation();\n const [conditions, setConditions] = useState(initialCondition);\n const [price, setPrice] = useState({\n from: \"\",\n to: \"\",\n });\n\n useEffect(() => {\n props.dispatch(fetchCategoriesListStart());\n }, []);\n\n useEffect(() => {\n if (\n !skipRender &&\n ((!props.productList.loading && props.productList.error !== false) ||\n (!props.categoriesList.loading && props.categoriesList.error !== false))\n ) {\n setShowProducts(false);\n }\n }, [props.productList, props.categoriesList]);\n\n useEffect(() => {\n if (!skipRender && !props.categoriesList.loading && Object.keys(props.categoriesList.data).length > 0) {\n if (searchParams.get('category')) {\n const selectedCategory = props.categoriesList.data.categories.filter(cat => cat.category_unique_id == searchParams.get('category'));\n if (selectedCategory.length > 0) {\n setOpen(`c-${selectedCategory[0].category_id}`)\n const subCategories = selectedCategory[0].sub_category.map(subCategory => subCategory.sub_category_id);\n setConditions({\n ...conditions,\n sub_category_id: subCategories,\n })\n } else {\n fetchProducts(\"\");\n }\n }\n }\n }, [props.categoriesList]);\n\n useEffect(() => {\n if (!skipRender) {\n if (params.search) {\n fetchProducts(params.search);\n setSearch(params.search);\n } else {\n fetchProducts(\"\");\n setSearch(\"\");\n }\n }\n }, [params.search]);\n\n useEffect(() => {\n if (params.search) {\n fetchProducts(params.search);\n setSearch(params.search);\n } else {\n if (skipRender && searchParams.get('category')) {\n // fetchProducts(search, searchParams.get('category_id'))\n } else {\n fetchProducts();\n }\n }\n setSkipRender(false);\n }, [conditions]);\n\n const continueShopping = () => {\n resetFilter();\n props.dispatch(fetchCategoriesListStart());\n setTimeout(() => {\n setShowProducts(true);\n }, 10);\n }\n\n const fetchProducts = (searchKey = search) => {\n let data = {\n ...conditions,\n sub_category_id: \"\",\n search_key: searchKey,\n skip: 0,\n take: 12,\n };\n if (conditions.sub_category_id.length > 0) {\n data = {\n ...data,\n sub_category_id: JSON.stringify(conditions.sub_category_id),\n };\n }\n props.dispatch(fetchProductListStart(data));\n };\n\n const fetchMoreProducts = () => {\n let data = {\n ...conditions,\n sub_category_id: \"\",\n search_key: search,\n skip: props.productList.data.products.length,\n take: 12,\n };\n if (conditions.sub_category_id.length > 0) {\n data = {\n ...data,\n sub_category_id: JSON.stringify(conditions.sub_category_id),\n };\n }\n props.dispatch(fetchMoreProductListStart(data));\n };\n\n const setFromPrice = (e) => {\n e.preventDefault();\n const val = e.target.value;\n if (val > 0) {\n setPrice({ ...price, from: parseInt(val) });\n } else if (val === \"\") {\n setPrice({ ...price, from: val });\n }\n };\n\n const setToPrice = (e) => {\n e.preventDefault();\n const val = e.target.value;\n if (val > 0) {\n setPrice({ ...price, to: parseInt(val) });\n } else if (val === \"\") {\n setPrice({ ...price, to: val });\n }\n };\n\n const setPriceFilter = (e) => {\n setConditions({\n ...conditions,\n from: price.from,\n to: price.to,\n });\n };\n\n const resetFilter = (e) => {\n setPrice({\n from: \"\",\n to: \"\",\n });\n setSearch(\"\");\n setConditions(initialCondition);\n };\n\n return (\n <>\n <div className=\"product-search-sec\">\n {showProducts ? (\n <Container>\n <Row>\n <Col md={12}>\n <div className=\"product-search-box\">\n <div className=\"product-search-left\">\n {props.categoriesList.loading ? (\n <>\n <Skeleton height={350} className=\"mb-4\" />\n </>\n ) : props.categoriesList.data.categories &&\n props.categoriesList.data.categories.length > 0 ? (\n <div className=\"product-search-left-card-1\">\n <div className=\"product-search-header-card\">\n {t(\"shop_by_categories\")}\n {JSON.stringify(conditions) !==\n JSON.stringify(initialCondition) ? (\n <Link to=\"\" onClick={resetFilter}>\n {t(\"clear\")}\n </Link>\n ) : null}\n </div>\n {props.categoriesList.data.categories.map(\n (category, i) => (\n <Fragment key={i}>\n <Button\n onClick={() =>\n setOpen(open === `c-${category.category_id}` ? false : `c-${category.category_id}`)\n }\n className=\"btn-categories\"\n aria-controls=\"example-collapse-text\"\n aria-expanded={open}\n >\n {category.name}\n <span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n >\n <path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\" />\n </svg>\n </span>\n </Button>\n <Collapse in={open == `c-${category.category_id}`}>\n <div id=\"example-collapse-text\">\n <div className=\"catgories-availablity-sec\">\n {category.sub_category.map(\n (subCategory, j) => (\n <div\n className=\"custom-checkbox\"\n key={j}\n >\n <input\n type=\"checkbox\"\n id={`category-${i}${j}`}\n checked={conditions.sub_category_id.includes(\n subCategory.sub_category_id\n )}\n onClick={() =>\n setConditions({\n ...conditions,\n sub_category_id:\n conditions.sub_category_id.includes(\n subCategory.sub_category_id\n )\n ? conditions.sub_category_id.filter(\n (id) =>\n id !==\n subCategory.sub_category_id\n )\n : [\n ...conditions.sub_category_id,\n subCategory.sub_category_id,\n ],\n })\n }\n />\n <label htmlFor={`category-${i}${j}`}>\n <span>{subCategory.name}</span>\n </label>\n </div>\n )\n )}\n </div>\n </div>\n </Collapse>\n </Fragment>\n )\n )}\n </div>\n ) : null}\n <div className=\"product-search-left-card-1\">\n <div className=\"product-search-header-card\">\n {t(\"filter_by\")}\n {JSON.stringify(conditions) !==\n JSON.stringify(initialCondition) ? (\n <Link to=\"\" onClick={resetFilter}>\n {t(\"clear\")}\n </Link>\n ) : null}\n </div>\n <Button\n onClick={() => setOpen(open === 3 ? false : 3)}\n className=\"btn-categories\"\n aria-controls=\"example-collapse-text\"\n aria-expanded={open}\n >\n {t(\"availability\")}\n <span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n >\n <path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\" />\n </svg>\n </span>\n </Button>\n <Collapse in={open == 3}>\n <div id=\"example-collapse-text\">\n <div className=\"catgories-availablity-sec\">\n <div className=\"custom-checkbox\">\n <input\n type=\"checkbox\"\n id=\"sold_out\"\n checked={conditions.stock_status === 1}\n onClick={() =>\n setConditions({\n ...conditions,\n stock_status:\n conditions.stock_status === 1 ? \"\" : 1,\n })\n }\n />\n <label htmlFor=\"sold_out\">\n <span>\n {t(\"in_stock\")} (\n {props.productList.data\n .total_in_stock_products\n ? props.productList.data\n .total_in_stock_products\n : 0}\n )\n </span>\n </label>\n </div>\n <div className=\"custom-checkbox\">\n <input\n type=\"checkbox\"\n id=\"available\"\n checked={conditions.stock_status === 0}\n onClick={() =>\n setConditions({\n ...conditions,\n stock_status:\n conditions.stock_status === 0 ? \"\" : 0,\n })\n }\n />\n <label htmlFor=\"available\">\n <span>\n {t(\"out_of_stock\")} (\n {props.productList.data\n .total_out_of_stock_products\n ? props.productList.data\n .total_out_of_stock_products\n : 0}\n )\n </span>\n </label>\n </div>\n </div>\n </div>\n </Collapse>\n <Button\n onClick={() => setOpen(open === 4 ? false : 4)}\n className=\"btn-categories\"\n aria-controls=\"example-collapse-text\"\n aria-expanded={open}\n >\n {t(\"price\")}\n <span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n >\n <path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\" />\n </svg>\n </span>\n </Button>\n <Collapse in={open == 4}>\n <div id=\"example-collapse-text\">\n <div className=\"catgories-list-sec\">\n <div className=\"categories-search-price-card\">\n <InputGroup className=\"mb-0\">\n <Form.Control\n type=\"number\"\n placeholder={t(\"from\")}\n value={price.from}\n onChange={setFromPrice}\n />\n </InputGroup>\n <InputGroup className=\"mb-0\">\n <Form.Control\n type=\"number\"\n placeholder={t(\"to\")}\n value={price.to}\n onChange={setToPrice}\n />\n </InputGroup>\n <Button\n className=\"subscribe-btn\"\n onClick={setPriceFilter}\n disabled={price.from >= price.to}\n >\n {t(\"filter\")}\n </Button>\n </div>\n </div>\n </div>\n </Collapse>\n </div>\n </div>\n <div className=\"product-search-right\">\n {/* <div className=\"product-search-right-header-sec\">\n <h4>Search Your Product Here</h4>\n <div className=\"product-search-input\">\n <Form.Group\n className=\"mb-0\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Control\n type=\"text\"\n placeholder=\"CBD Creams\"\n value={search}\n onChange={e => setSearch(e.target.value)}\n />\n </Form.Group>\n <Button className=\"search-btn\" onClick={() => fetchProducts()}>SUBMIT</Button>\n </div>\n </div> */}\n {props.productList.loading || skipRender ? (\n <>\n <div className=\"product-search-sortby-sec\">\n <Skeleton />\n </div>\n <div className=\"product-search-result-grid-box\">\n {[...Array(6)].map((i) => (\n <Skeleton count={1} height={350} />\n ))}\n </div>\n </>\n ) : props.productList.data.products.length > 0 ? (\n <>\n <div className=\"product-search-sortby-sec\">\n <h4>\n {t(\"products\")} (\n {props.productList.data.total_products})\n </h4>\n <div className=\"product-search-sortby-card\">\n <h4>{t(\"sort_by\")}</h4>\n <Form.Select\n aria-label=\"Default select example\"\n value={conditions.order_by}\n onChange={(e) =>\n setConditions({\n ...conditions,\n order_by: e.target.value,\n })\n }\n >\n <option value=\"price_lh\">\n {t(\"price_low_to_high\")}\n </option>\n <option value=\"price_hl\">\n {t(\"price_high_to_low\")}\n </option>\n <option value=\"newest\">{t(\"newest\")}</option>\n <option value=\"oldest\">{t(\"oldest\")}</option>\n </Form.Select>\n </div>\n </div>\n <div className=\"product-search-right-body-sec\">\n <InfiniteScroll\n dataLength={props.productList.data.products.length}\n next={fetchMoreProducts}\n hasMore={\n props.productList.data.products.length <\n props.productList.data.total_products\n }\n loader={\n <div className=\"product-search-result-grid-box\">\n {[...Array(6)].map((i) => (\n <Skeleton count={1} height={400} />\n ))}\n </div>\n }\n >\n <div className=\"product-search-result-grid-box\">\n {props.productList.data.products.map(\n (product, i) => (\n <ProductCard product={product} key={i} />\n )\n )}\n </div>\n </InfiniteScroll>\n </div>\n </>\n ) : (\n <NoProductsFound />\n )}\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n ) : (\n <div className=\"text-center\">\n <SomethingWrong />\n <div className=\"default-btn-sec\">\n <Button\n className=\"default-btn\"\n onClick={continueShopping}\n >\n Continue Shopping\n </Button> \n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n categoriesList: state.homepage.categoriesList,\n productList: state.product.productList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(ProductSearchIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/Product/SingleProductIndex.jsx",["815","816","817","818","819","820"],[],"import React, { useState, useEffect } from \"react\";\nimport {\n Container,\n Image,\n Button,\n Row,\n Col,\n ProgressBar,\n Nav,\n Tab,\n Tooltip,\n OverlayTrigger,\n} from \"react-bootstrap\";\nimport { Link, useParams, useNavigate } from \"react-router-dom\";\nimport \"./Product.css\";\nimport ImageGallery from \"react-image-gallery\";\nimport NumericInput from \"react-numeric-input\";\nimport TopSellingProductIndex from \"./TopSellingProductIndex\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport CustomerReviewIndex from \"../landingPage/CustomerReviewIndex\";\nimport WriteReviewModal from \"./WriteReviewModal\";\nimport { connect } from \"react-redux\";\nimport {\n fetchMoreProductReviewListStart,\n fetchProductListStart,\n fetchProductReviewListStart,\n fetchSingleProductStart,\n saveWishlistsStart,\n} from \"../store/actions/ProductAction\";\nimport SomethingWrong from \"../Helper/SomethingWrong\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport CommonCenterLoader from \"../Helper/CommonCenterLoader\";\nimport {\n saveCartDetailsStart,\n guestCartList,\n} from \"../store/actions/CartsAction\";\nimport ReactStars from \"react-rating-stars-component\";\nimport Skeleton from \"react-loading-skeleton\";\nimport \"react-loading-skeleton/dist/skeleton.css\";\nimport NoReviewsFound from \"../Helper/NoReviewsFound\";\nimport ThcProgress from \"./ThcProgress\";\nimport CbdProgress from \"./CbdProgress\";\nimport Breadcrumb from 'react-bootstrap/Breadcrumb';\n\nconst SingleProductIndex = (props) => {\n const navigate = useNavigate();\n const t = useTranslation();\n const params = useParams();\n const { singleProduct, productReviews } = props;\n const [isCarted, setIsCarted] = useState(false);\n const [isWishlisted, setIsWishlisted] = useState(false);\n const [skipRender, setSkipRender] = useState(true);\n const [clamped, setClamped] = useState(true);\n const [showButton, setShowButton] = useState(true);\n const handleClick = () => setClamped(!clamped);\n useEffect(() => {\n window.scrollTo(0, 0);\n props.dispatch(\n fetchSingleProductStart({ product_unique_id: params.productUniqueId })\n );\n props.dispatch(\n fetchProductReviewListStart({\n product_unique_id: params.productUniqueId,\n skip: 0,\n take: 12,\n })\n );\n props.dispatch(\n fetchProductListStart({\n order_by: \"newest\",\n skip: 0,\n take: 9,\n })\n );\n }, [params.productUniqueId]);\n\n useEffect(() => {\n if (\n !skipRender &&\n !singleProduct.loading &&\n Object.keys(singleProduct.data).length > 0\n ) {\n setIsWishlisted(singleProduct.data.product.is_wishlisted ? true : false);\n if (\n props.guestCartList.filter(\n (product) =>\n product.product_id === singleProduct.data.product.product_id\n ).length > 0\n )\n setIsCarted(true);\n }\n setSkipRender(false);\n }, [singleProduct]);\n\n const [writeReview, setWriteReview] = useState(false);\n\n const closeWriteReviewModal = () => {\n setWriteReview(false);\n };\n\n const onCartClick = (e) => {\n e.preventDefault();\n //User Add to cart\n if (singleProduct.data.product.is_carted === 0) {\n props.dispatch(\n saveCartDetailsStart({\n product_id: singleProduct.data.product.product_id,\n quantity: 1,\n })\n );\n } else {\n navigate(\"/cart\");\n }\n };\n\n const onGuestCartClick = (e) => {\n e.preventDefault();\n if (!isCarted) {\n const cartProduct = {\n product_id: singleProduct.data.product.product_id,\n quantity: 1,\n };\n let cartItems = [...props.guestCartList, cartProduct];\n localStorage.setItem(\"carts\", JSON.stringify(cartItems));\n props.dispatch(guestCartList(cartItems));\n setIsCarted(true);\n } else {\n navigate(\"/cart\");\n }\n };\n\n const wishListToggle = () => {\n if (Object.keys(props.profile.data).length > 0) {\n props.dispatch(\n saveWishlistsStart({\n product_unique_id: singleProduct.data.product.product_unique_id,\n })\n );\n } else {\n localStorage.setItem(\"product\", params.productUniqueId);\n navigate(\"/login\");\n }\n };\n\n const loadMoreReview = () => {\n props.dispatch(\n fetchMoreProductReviewListStart({\n product_unique_id: params.productUniqueId,\n skip: productReviews.data.reviews.length,\n take: 12,\n })\n );\n };\n\n return (\n <>\n {singleProduct.loading ? (\n <div className=\"single-product-sec\">\n <Container>\n <Row>\n <Col md={6}>\n <Skeleton className=\"product-image-loader\" />\n </Col>\n <Col md={6}>\n <Skeleton height={100} />\n <Skeleton count={2} width={300} />\n <Skeleton count={4} />\n <Skeleton height={200} />\n </Col>\n </Row>\n </Container>\n </div>\n ) : Object.keys(singleProduct.data).length > 0 &&\n singleProduct.data.product &&\n Object.keys(singleProduct.data.product).length > 0 ? (\n <>\n <div className=\"single-product-sec\">\n <Container>\n <Row>\n <Breadcrumb>\n <Link to=\"/\" className=\"breadcrumb-item\">Home</Link>\n <Link to=\"/shop\" className=\"breadcrumb-item\">Shop</Link>\n {/* <Link to={`/shop?category_id=${category.category_id}`} className=\"breadcrumb-item\">\n {singleProduct.data.product.category_name}\n </Link> */}\n <Link to=\"/\" className=\"breadcrumb-item active\">\n {props.singleProduct.data.product.name}\n </Link>\n </Breadcrumb>\n <Col md={6}>\n <div className=\"single-product-full-img-sec\">\n <ImageGallery\n items={singleProduct.data.product.product_files}\n />\n </div>\n </Col>\n <Col md={6}>\n <div className=\"single-product-info-sec\">\n <div className=\"\">\n <h4>{props.singleProduct.data.product.name}</h4>\n </div>\n <div className=\"single-product-review-card\">\n <ReactStars\n count={5}\n value={props.singleProduct.data.product.review_stars}\n size={24}\n isHalf={true}\n edit={false}\n emptyIcon={<i className=\"far fa-star\"></i>}\n halfIcon={<i className=\"fa fa-star-half-alt\"></i>}\n fullIcon={<i className=\"fa fa-star\"></i>}\n activeColor=\"#ffd700\"\n />\n <Link\n to={localStorage.getItem(\"userId\") ? \"#\" : \"/login\"}\n className=\"write-review-link\"\n onClick={() => setWriteReview(true)}\n >\n <span>{t(\"write_review\")}</span>\n <Image\n className=\"single-product-review-edit-icon\"\n src={\n window.location.origin +\n \"/images/icons/edit-icon.svg\"\n }\n type=\"image/png\"\n />\n </Link>\n </div>\n <div className=\"single-product-thc-sec\">\n <div className=\"thc-left-sec\">\n <h3>\n {singleProduct.data.product.selling_price_formatted}{\" \"}\n {singleProduct.data.product.discount_tag ? (\n <sub>\n <del>\n {\n singleProduct.data.product\n .original_price_formatted\n }\n </del>\n </sub>\n ) : null}\n </h3>\n <p>\n {t(\"category\")}{\" \"}\n <span>\n {singleProduct.data.product.category_name}\n </span>\n </p>\n <span\n className=\"add-wishlist-sec point\"\n onClick={wishListToggle}\n >\n {isWishlisted ? (\n <>\n <Image\n src={\n window.location.origin +\n \"/images/like-fill.svg\"\n }\n />\n {t(\"remove_from_wishlist\")}\n </>\n ) : (\n <>\n <Image\n src={\n window.location.origin + \"/images/like-1.svg\"\n }\n />\n {t(\"add_to_wishlist\")}\n </>\n )}\n </span>\n </div>\n {singleProduct.data.product.thc_drug_content || singleProduct.data.product.cbd_drug_content ?\n <div className=\"thc-details-right-sec\">\n <div className=\"product-percentage-sec\">\n {singleProduct.data.product.thc_drug_content ?\n <div className=\"pack-icon-sec\">\n <ThcProgress percentage={singleProduct.data.product.thc_avg} />\n <div className=\"pack-value\">\n <h4>{singleProduct.data.product.thc_formatted ? singleProduct.data.product.thc_formatted : '0.00'}</h4>\n <h4>{singleProduct.data.product.thc_per_formatted ? singleProduct.data.product.thc_per_formatted : '0.00'}</h4>\n </div>\n <div className=\"pack-info\">\n <OverlayTrigger\n placement=\"top\"\n overlay={\n <Tooltip id=\"button-tooltip-2\">\n THC is an active component in Fashion\n responsible for psychoactive, or\n intoxicating, effects such as changes in\n perception and mobility.\n </Tooltip>\n }\n >\n {({ ref, ...triggerHandler }) => (\n <Button {...triggerHandler}>\n <Image\n ref={ref}\n src={\n window.location.origin +\n \"/images/additional-info.svg\"\n }\n type=\"image/png\"\n />\n </Button>\n )}\n </OverlayTrigger>\n </div>\n </div>\n : null\n }\n {singleProduct.data.product.cbd_drug_content ?\n <div className=\"pack-icon-sec\">\n <CbdProgress percentage={singleProduct.data.product.cbd_avg} />\n\n <div className=\"pack-value\">\n <h4>{singleProduct.data.product.cbd_formatted ? singleProduct.data.product.cbd_formatted : '0.00'}</h4>\n <h4>{singleProduct.data.product.cbd_per_formatted ? singleProduct.data.product.cbd_per_formatted : '0.00'}</h4>\n </div>\n <div className=\"pack-info\">\n <OverlayTrigger\n placement=\"top\"\n overlay={\n <Tooltip id=\"button-tooltip-2\">\n CBD is an active, but non-intoxicating\n component in Fashion.\n </Tooltip>\n }\n >\n {({ ref, ...triggerHandler }) => (\n <Button {...triggerHandler}>\n <Image\n ref={ref}\n src={\n window.location.origin +\n \"/images/additional-info.svg\"\n }\n type=\"image/png\"\n />\n </Button>\n )}\n </OverlayTrigger>\n </div>\n </div>\n : null\n }\n </div>\n </div>\n : null}\n </div>\n\n <div className={`progress-bar-sec`}>\n <h5\n className={\n singleProduct.data.product.stock_status === 0\n ? \"text-danger\"\n : \"\"\n }\n >\n {singleProduct.data.product.stock_availablity_formatted}\n </h5>\n <ProgressBar\n now={\n (singleProduct.data.product.product_inventory\n .remaining /\n singleProduct.data.product.product_inventory\n .total) *\n 100\n }\n />\n </div>\n {/* <div className=\"single-product-quantity-sec\">\n <p>\n QTY\n <span>\n <NumericInput mobile className=\"form-control\" />\n </span>\n </p>\n </div> */}\n {singleProduct.data.product.stock_status === 1 ? (\n <div className=\"single-product-action-btn-sec default-btn-sec mt-0\">\n {localStorage.getItem(\"userId\") &&\n Object.keys(props.profile.data).length > 0 ? (\n <Button\n className=\"add-to-cart-btn\"\n onClick={onCartClick}\n >\n {singleProduct.data.product.is_carted === 0\n ? t(\"add_to_cart\")\n : t(\"go_to_cart\")}\n </Button>\n ) : (\n <Button\n className=\"add-to-cart-btn\"\n onClick={onGuestCartClick}\n >\n {!isCarted ? t(\"add_to_cart\") : t(\"go_to_cart\")}\n </Button>\n )}\n {/* <Button className=\"default-btn\">Buy It Now</Button> */}\n </div>\n ) : null}\n\n {/* <div className=\"single-product-support-sec\">\n <div className=\"single-product-support-box\">\n <div className=\"single-product-support-card\">\n <Image\n className=\"single-product-support-icon\"\n src={\n window.location.origin +\n \"/images/product/24-hours-support.png\"\n }\n type=\"image/png\"\n />\n <span>{t(\"24x7_support\")}</span>\n </div>\n\n <div className=\"single-product-support-card\">\n <Image\n className=\"single-product-support-icon\"\n src={\n window.location.origin +\n \"/images/product/shield.png\"\n }\n type=\"image/png\"\n />\n <span>100% {t(\"safe_products\")}</span>\n </div>\n </div>\n <div className=\"single-product-trusted-sec\">\n <Image\n className=\"single-product-trusted-icon\"\n src={\n window.location.origin +\n \"/images/product/trusted-img.png\"\n }\n type=\"image/png\"\n />\n </div>\n </div> */}\n <div className=\"single-about-product vis-hidden\">\n <div className=\"about-product-details\">\n <div className=\"single-product-detail-about\">\n <h4>Brand</h4>\n <p>Canaca</p>\n </div>\n <div className=\"single-product-detail-about\">\n <h4>Potency</h4>\n <p>Very Strong</p>\n </div>\n <div className=\"single-product-detail-about\">\n <h4>Plant Type</h4>\n <p>{singleProduct.data.product.plant_type}</p>\n </div>\n <div className=\"single-product-detail-about\">\n <h4>Terpenes</h4>\n <p>Terpenes May Vary</p>\n </div>\n <div className=\"single-product-detail-about\">\n <h4>Growing Province</h4>\n <p>Ontario</p>\n </div>\n </div>\n </div>\n </div>\n </Col>\n </Row>\n {/* <div className=\"single-about-product margin-top-lg\">\n <h4>About This product</h4>\n <div className=\"about-product-details\">\n <div className=\"single-product-detail-about\">\n <h4>Brand</h4>\n <p>Canaca</p>\n </div>\n <div className=\"single-product-detail-about mt-4\">\n <h4>Potency</h4>\n <p>Very Strong</p>\n </div>\n <div className=\"single-product-detail-about mt-4\">\n <h4>Plant Type</h4>\n <p>Indica dominant</p>\n </div>\n <div className=\"single-product-detail-about mt-4\">\n <h4>Terpenes</h4>\n <p>Terpenes May Vary</p>\n </div>\n <div className=\"single-product-detail-about mt-4\">\n <h4>Growing Province</h4>\n <p>Ontario</p>\n </div>\n </div>\n </div> */}\n <Row className=\"margin-top-lg\">\n <Col md={12}>\n <div className=\"single-product-description-review-sec\">\n <Tab.Container\n id=\"left-tabs-example\"\n defaultActiveKey=\"description\"\n >\n <Row>\n <Col sm={12}>\n <Nav variant=\"pills\">\n <Nav.Item>\n <Nav.Link eventKey=\"description\">\n {t(\"description\")}\n </Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link eventKey=\"reviews\">\n {t(\"reviews\")}\n </Nav.Link>\n </Nav.Item>\n </Nav>\n </Col>\n <Col sm={12}>\n <Tab.Content>\n <Tab.Pane eventKey=\"description\">\n <div\n className={`single-product-overflow-text ${clamped\n ? \"single-product-description-sec\"\n : \"\"\n }`}\n >\n {singleProduct.data.product\n .description_formatted ? (\n singleProduct.data.product\n .description_formatted\n ) : (\n <NoDataFound />\n )}\n </div>\n {/* {showButton && (\n <Button\n className=\"read-more-btn\"\n onClick={handleClick}\n >\n {t(\"read\")} {clamped ? t(\"more\") : t(\"less\")}\n </Button>\n )} */}\n </Tab.Pane>\n <Tab.Pane eventKey=\"reviews\">\n <div className=\"single-product-review-sec\">\n {productReviews.loading ? (\n <CommonCenterLoader />\n ) : productReviews.data.reviews.length > 0 ? (\n <>\n <div className=\"single-product-review-box\">\n {productReviews.data.reviews.map(\n (review, i) => (\n <div\n className=\"single-product-review-item\"\n key={i}\n >\n <div className=\"single-product-review-left\">\n <div className=\"single-product-review-user-img-sec\">\n <Image\n className=\"single-product-review-user-img\"\n src={\n review.user\n ? review.user.picture\n : window.location.origin +\n \"/images/profile.png\"\n }\n type=\"image/png\"\n />\n </div>\n <div className=\"single-product-review-info\">\n <h4>\n {review.user\n ? review.user.name\n : t(\"na\")}\n </h4>\n <p>{review.review}</p>\n <ReactStars\n count={5}\n value={review.star}\n size={24}\n isHalf={true}\n edit={false}\n emptyIcon={\n <i className=\"far fa-star\"></i>\n }\n halfIcon={\n <i className=\"fa fa-star-half-alt\"></i>\n }\n fullIcon={\n <i className=\"fa fa-star\"></i>\n }\n activeColor=\"#ffd700\"\n />\n </div>\n </div>\n </div>\n )\n )}\n </div>\n <div className=\"text-center\">\n {productReviews.data.reviews.length <\n productReviews.data.total_reviews ? (\n productReviews.loadMore ? (\n <CommonCenterLoader />\n ) : (\n <div className=\"default-btn-sec\">\n {console.log(productReviews)}\n {console.log(\n productReviews.loadMore\n )}\n <Button\n className=\"default-btn\"\n onClick={() => loadMoreReview()}\n >\n Load More\n </Button>\n </div>\n )\n ) : null}\n </div>\n </>\n ) : (\n <NoReviewsFound />\n )}\n </div>\n </Tab.Pane>\n </Tab.Content>\n </Col>\n </Row>\n </Tab.Container>\n </div>\n </Col>\n </Row>\n </Container>\n {props.productList.loading ? (\n \"Loading\"\n ) : props.productList.data.products &&\n props.productList.data.products.length > 0 ? (\n <div className=\"top-selling-product-page\">\n <Container>\n <Row>\n <Col md={12}>\n <div className=\"section-title-sec\">\n <h3>{t(\"top_selling_products\")}</h3>\n <h2>\n <span>{t(\"fabulous_products\")}</span>\n </h2>\n </div>\n </Col>\n </Row>\n <Row>\n <Col md=\"12\">\n <TopSellingProductIndex\n products={\n props.productList.data.products\n .filter(product => product.product_unique_id !== props.singleProduct.data.product.product_unique_id)\n .slice(0, 8)\n }\n />\n </Col>\n </Row>\n </Container>\n </div>\n ) : null}\n <CustomerReviewIndex />\n </div>\n {writeReview && singleProduct.data.product && (\n <WriteReviewModal\n writeReview={writeReview}\n closeWriteReviewModal={closeWriteReviewModal}\n setWriteReview={setWriteReview}\n singleProduct={singleProduct.data.product}\n />\n )}\n </>\n ) : (\n <SomethingWrong />\n )}\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n singleProduct: state.product.singleProduct,\n productReviews: state.product.productReviews,\n profile: state.users.profile,\n guestCartList: state.carts.guestCartList,\n productList: state.product.productList,\n wishlistSave: state.product.wishlistSave,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(SingleProductIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/Auth/LoginIndex.jsx",["821","822","823","824","825"],[],"import React, { useEffect, useState } from \"react\";\nimport { Container, Row, Col, Form, Image, Button } from \"react-bootstrap\";\nimport * as Yup from \"yup\";\nimport { userLoginStart, userRegisterStart } from \"../store/actions/UserAction\";\nimport configuration from \"react-global-configuration\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport { Link } from \"react-router-dom\";\nimport { useNavigate } from \"react-router-dom\";\nimport \"./Auth.css\";\nimport { connect } from \"react-redux\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport SocialButton from \"../Helper/SocialButton\";\nimport { gapi } from \"gapi-script\";\n\nconst LoginIndex = (props) => {\n const t = useTranslation();\n const [skipRender, setSkipRender] = useState(true);\n const [loginPasswordVisible, setLoginPasswordVisible] = useState(false);\n\n const navigate = useNavigate();\n\n const loginSchema = Yup.object().shape({\n email: Yup.string().email(t(\"invalid_email\")).required(t(\"email_required\")),\n password: Yup.string()\n .required(t(\"password_required\"))\n .matches(/^(?=.*[a-zA-Z0-9])(?=.{6,})/, t(\"must_have_6_characters\")),\n });\n\n const handleLogin = (values) => {\n props.dispatch(userLoginStart(values));\n };\n\n useEffect(() => {\n gapi.load(\"client:auth2\", () => {\n gapi.client.init({\n clientId: configuration.get(\"configData.GOOGLE_CLIENT_ID\"),\n plugin_name: \"chat\",\n });\n });\n }, []);\n\n const handleFacebookLogin = (user) => {\n console.log(\"handleFacebookLogin\", user._profile);\n props.dispatch(\n userRegisterStart({\n name: user._profile.name,\n first_name: user._profile.firstName ? user._profile.firstName : \"\",\n last_name: user._profile.lastName ? user._profile.lastName : \"\",\n email: user._profile.email ? user._profile.email : \"\",\n social_unique_id: user._profile.id,\n picture: user._profile.profilePicURL,\n login_by: \"facebook\",\n dob: localStorage.getItem(\"userDOB\"),\n })\n );\n };\n\n const handleGoogleLogin = (user) => {\n console.log(\"handleGoogleLogin\", user._profile);\n props.dispatch(\n userRegisterStart({\n name: user._profile.name,\n email: user._profile.email,\n first_name: user._profile.firstName ? user._profile.firstName : \"\",\n last_name: user._profile.lastName ? user._profile.lastName : \"\",\n social_unique_id: user._profile.id,\n picture: user._profile.profilePicURL,\n login_by: \"google\",\n dob: localStorage.getItem(\"userDOB\"),\n })\n );\n };\n\n const handleSocialLoginFailure = (err) => {\n console.error(err);\n };\n\n useEffect(() => {\n if (localStorage.getItem(\"userId\") && localStorage.getItem(\"accessToken\")) {\n if (localStorage.getItem(\"product\")) {\n let product = localStorage.getItem(\"product\");\n localStorage.removeItem(\"product\");\n navigate(`/product/${product}`);\n } else {\n navigate(\"/\");\n }\n }\n }, []);\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.login.loading &&\n Object.keys(props.login.data).length > 0\n ) {\n if (props.login.data.is_two_step_auth_enabled == 1) {\n navigate(\"/verification\");\n } else if (props.login.data.is_email_verified == 0) {\n navigate(\"/register-verification\");\n } else {\n if (localStorage.getItem(\"product\")) {\n let product = localStorage.getItem(\"product\");\n localStorage.removeItem(\"product\");\n navigate(`/product/${product}`);\n } else {\n navigate(\"/\");\n }\n }\n }\n setSkipRender(false);\n }, [props.login]);\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.register.loading &&\n Object.keys(props.register.data).length > 0\n ) {\n if (props.register.data.is_email_verified === 0) {\n navigate(\"/register-verification\");\n } else {\n if (localStorage.getItem(\"product\")) {\n let product = localStorage.getItem(\"product\");\n localStorage.removeItem(\"product\");\n navigate(`/product/${product}`);\n } else {\n navigate(\"/\");\n }\n }\n }\n setSkipRender(false);\n }, [props.register]);\n\n return (\n <>\n <div className=\"login-sec\">\n <Container>\n <div className=\"login-title\">\n {/* <h4>{t(\"already_registered\")}</h4> */}\n </div>\n <div className=\"auth-frame\">\n <Row className=\"align-items-center justify-content-center\">\n <Col xl={6} md={12} lg={6}>\n <div className=\"login-form\">\n <div className=\"login-form-titles mb-3\">\n <h3>{t(\"login\")}</h3>\n <Link to=\"/register\" className=\"wishlist-btn\">\n {t(\"create_account\")}\n </Link>\n </div>\n <Formik\n initialValues={{\n email: \"\",\n password: \"\",\n dob: localStorage.getItem(\"userDOB\"),\n }}\n validationSchema={loginSchema}\n onSubmit={(values) => handleLogin(values)}\n >\n {({ touched, errors }) => (\n <FORM>\n \n <Form.Group className=\"mb-3\" controlId=\"formBasicEmail\">\n <Form.Label>{t(\"email\")}<span>*</span></Form.Label>\n <Field\n type=\"email\"\n name=\"email\"\n placeholder={t(\"email_placeholder\")}\n className=\"form-control\"\n />\n <ErrorMessage\n component={\"div\"}\n name=\"email\"\n className=\"text-danger text-right\"\n />\n </Form.Group>\n <Form.Group\n className=\"mb-4\"\n controlId=\"formBasicPassword\"\n >\n <Form.Label>{t(\"password\")} <span>*</span></Form.Label>\n\n <div className=\"input-group d-flex align-items-center\">\n <Field\n type={loginPasswordVisible ? \"text\" : \"password\"}\n name=\"password\"\n placeholder={t(\"password_placeholder\")}\n className=\"form-control\"\n />\n <div className=\"input-group-append\">\n <button\n onClick={() =>\n setLoginPasswordVisible(!loginPasswordVisible)\n }\n className=\"btn password-eye\"\n type=\"button\"\n >\n {loginPasswordVisible ? (\n <i className=\"fas fa-eye-slash align-self-center\"></i>\n ) : (\n <i className=\"fas fa-eye align-self-center\"></i>\n )}\n </button>\n </div>\n </div>\n <ErrorMessage\n component={\"div\"}\n name=\"password\"\n className=\"text-danger text-right\"\n />\n </Form.Group>\n <div className=\"login-btn default-btn-sec\">\n <Button\n className=\"default-btn\"\n type=\"submit\"\n disabled={props.login.buttonDisable}\n >\n {props.login.loadingButtonContent\n ? props.login.loadingButtonContent\n : t(\"login\")}\n </Button>\n <Link to=\"/forgot-password\">{t(\"lost_password?\")}</Link>\n </div>\n </FORM>\n )}\n </Formik>\n <div className=\"login-social-icon mt-3\">\n {configuration.get(\"configData.GOOGLE_CLIENT_ID\") ||\n configuration.get(\"configData.FB_CLIENT_ID\") ? (\n <span className=\"or-line\">\n <p>{t(\"login_with\")}</p>\n </span>\n ) : null}\n\n <div className=\"login-icons\">\n <ul>\n <li>\n {configuration.get(\"configData.FB_CLIENT_ID\") ? (\n <SocialButton\n provider=\"facebook\"\n appId={configuration.get(\"configData.FB_CLIENT_ID\")}\n onLoginSuccess={handleFacebookLogin}\n onLoginFailure={handleSocialLoginFailure}\n className=\"social-button\"\n id=\"facebook-connect\"\n >\n <span>\n <Image\n src={\n window.location.origin +\n \"/images/facebook.svg\"\n }\n />\n </span>\n </SocialButton>\n ) : null}\n </li>\n <li>\n {configuration.get(\"configData.GOOGLE_CLIENT_ID\") ? (\n <SocialButton\n provider=\"google\"\n key={\"google\"}\n appId={configuration.get(\n \"configData.GOOGLE_CLIENT_ID\"\n )}\n onLoginSuccess={handleGoogleLogin}\n onLoginFailure={handleSocialLoginFailure}\n className=\"social-button\"\n id=\"google-connect\"\n >\n <span>\n <Image\n src={\n window.location.origin + \"/images/google.svg\"\n }\n />\n </span>\n </SocialButton>\n ) : null}\n </li>\n </ul>\n </div>\n </div>\n </div>\n </Col>\n </Row>\n </div>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n login: state.users.loginInputData,\n register: state.users.register,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(LoginIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/Auth/ResetPassword.jsx",["826","827","828"],[],"import React, { useEffect, useState } from \"react\";\nimport { Container, Row, Col, Form, Image, Button } from \"react-bootstrap\";\nimport { Link, useParams, useNavigate } from \"react-router-dom\";\nimport \"./Auth.css\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport * as Yup from \"yup\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { connect } from \"react-redux\";\nimport { resetPasswordStart } from \"../store/actions/UserAction\";\n\nconst ResetPassword = (props) => {\n const [skipRender, setSkipRender] = useState(true);\n const params = useParams();\n const navigate = useNavigate();\n const t = useTranslation();\n\n const validationSchema = Yup.object().shape({\n password: Yup.string()\n .required(t(\"required\"))\n .test(\n \"len\",\n \"password length should be minimum 6\",\n (val) => val && val.length >= 6\n ),\n password_confirmation: Yup.string()\n .required(t(\"required\"))\n .when(t(\"password\"), {\n is: (val) => (val && val.length > 0 ? true : false),\n then: Yup.string().oneOf(\n [Yup.ref(t(\"password\"))],\n t(\"passwords_need_to_be_same\")\n ),\n }),\n });\n\n const reset = (values) => {\n props.dispatch(\n resetPasswordStart({\n ...values,\n reset_token: params.token,\n })\n );\n };\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.resetPassword.loading &&\n props.resetPassword.data.success\n ) {\n navigate(\"/login\");\n }\n setSkipRender(false);\n }, [props.resetPassword]);\n\n return (\n <>\n <div className=\"login-sec reset-password-sec\">\n <Container>\n <div className=\"login-title\">\n {/* <h4>{t(\"already_registered\")}</h4> */}\n </div>\n <Row className=\"align-items-center justify-content-center\">\n <Col xl={5} md={12} lg={6}>\n <div className=\"login-form\">\n <h3>{t(\"reset_password\")}</h3>\n <p>{t(\"password_reset_mail\")}</p>\n <Formik\n initialValues={{\n password: \"\",\n password_confirmation: \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={(values) => reset(values)}\n >\n <FORM>\n <Form.Group className=\"mb-3\" controlId=\"formBasicEmail\">\n <Form.Label>{t(\"new_password\")} <span>*</span></Form.Label>\n <Field\n type=\"password\"\n className=\"form-control\"\n name=\"password\"\n placeholder={t(\"new_password_placeholder\")}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"password\"\n className=\"text-danger\"\n />\n </Form.Group>\n <Form.Group className=\"mb-3\" controlId=\"formBasicEmail\">\n <Form.Label>{t(\"confirm_password\")} <span>*</span></Form.Label>\n <Field\n type=\"password\"\n className=\"form-control\"\n name=\"password_confirmation\"\n placeholder={t(\"confirm_password_placeholder\")}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"password\"\n className=\"text-danger\"\n />\n </Form.Group>\n <div className=\"login-btn default-btn-sec reset-btn\">\n <Button className=\"default-btn\" type=\"submit\">\n {t(\"reset_password\")}\n </Button>\n </div>\n </FORM>\n </Formik>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n resetPassword: state.users.resetPassword,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(ResetPassword));\n","/home/ubuntu/misabloom-frontend-base/src/components/Auth/RegisterIndex.jsx",["829","830","831","832"],[],"/home/ubuntu/misabloom-frontend-base/src/components/Auth/LogoutIndex.jsx",["833","834","835"],[],"import React, { useEffect } from \"react\";\nimport api from \"../Environment\";\nimport { useNavigate } from \"react-router-dom\";\nimport { fetchUserDetailsFailure } from \"../store/actions/UserAction\";\nimport { connect } from \"react-redux\";\n\nconst LogoutIndex = (props) => {\n const navigate = useNavigate();\n\n useEffect(() => {\n // api.postMethod(\"logout\").then((response) => {\n // if (response.data.success) {\n // console.log(\"success\");\n // } else {\n // }\n // });\n localStorage.removeItem(\"userId\");\n localStorage.removeItem(\"accessToken\");\n localStorage.removeItem(\"userLoginStatus\");\n localStorage.removeItem(\"user_picture\");\n localStorage.removeItem(\"user_cover\");\n localStorage.removeItem(\"name\");\n localStorage.removeItem(\"username\");\n localStorage.removeItem(\"user_unique_id\");\n localStorage.removeItem(\"email\");\n props.dispatch(fetchUserDetailsFailure());\n navigate(\"/\");\n }, []);\n return \"\";\n};\n\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(null, mapDispatchToProps)(LogoutIndex);\n","/home/ubuntu/misabloom-frontend-base/src/components/Static/PrivacyPolicy.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Auth/ForgotPassword.jsx",["836","837","838","839","840"],[],"import React, { useEffect, useState } from \"react\";\nimport { Container, Row, Col, Form, Image, Button } from \"react-bootstrap\";\nimport { Link, useParams } from \"react-router-dom\";\nimport \"./Auth.css\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport * as Yup from \"yup\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { connect } from \"react-redux\";\nimport { forgotPasswordStart } from \"../store/actions/UserAction\";\n\nconst ForgotPassword = (props) => {\n const t = useTranslation();\n\n const validationSchema = Yup.object().shape({\n email: Yup.string().email(t(\"invalid_email\")).required(t(\"required\")),\n });\n\n const handleSubmit = (values) => {\n props.dispatch(forgotPasswordStart(values));\n };\n\n return (\n <>\n <div className=\"login-sec reset-password-sec\">\n <Container>\n <Row className=\"align-items-center justify-content-center\">\n <Col xl={5} md={12} lg={6}>\n <div className=\"login-form\">\n <h3>{t(\"forgot_password\")}</h3>\n <p>{t(\"password_reset_mail\")}</p>\n <Formik\n initialValues={{\n email: \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={(values) => handleSubmit(values)}\n >\n <FORM>\n {/* <div className=\"required-content\">\n <p>{t(\"required_fields\")}*</p>\n </div> */}\n <Form.Group className=\"mb-3\" controlId=\"formBasicEmail\">\n <Form.Label>{t(\"email\")}<span>*</span></Form.Label>\n <Field\n type=\"email\"\n className=\"form-control\"\n name=\"email\"\n placeholder={t(\"email_placeholder\")}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"email\"\n className=\"text-danger\"\n />\n </Form.Group>\n\n <div className=\"login-btn default-btn-sec reset-btn\">\n <Button\n className=\"default-btn\"\n type=\"submit\"\n disabled={props.sendForgotPassword.buttonDisable}\n >\n {props.sendForgotPassword.loadingButtonContent\n ? props.sendForgotPassword.loadingButtonContent\n : t(\"submit\")}\n </Button>\n </div>\n </FORM>\n </Formik>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n sendForgotPassword: state.users.forgotPassword,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(ForgotPassword));\n","/home/ubuntu/misabloom-frontend-base/src/components/Static/StaticPage.jsx",["841","842","843","844","845","846","847","848","849"],[],"import React, { useEffect } from \"react\";\nimport {\n Container,\n Row,\n Col,\n Image,\n InputGroup,\n Form,\n ProgressBar,\n} from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport \"./StaticPage.css\";\nimport { useParams } from \"react-router\";\nimport { fetchStaticPageStart } from \"../store/actions/PageAction\";\nimport { connect } from \"react-redux\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport Skeleton from 'react-loading-skeleton';\nimport 'react-loading-skeleton/dist/skeleton.css';\nimport StaticPageLoader from \"../Helper/StaticPageLoader\";\n\n\nconst StaticPage = (props) => {\n\n const { static_page_unique_id } = useParams();\n\n useEffect(() => {\n if (static_page_unique_id) {\n props.dispatch(\n fetchStaticPageStart({ static_page_unique_id: static_page_unique_id })\n );\n }\n window.scrollTo(0, 0);\n }, [static_page_unique_id]);\n\n return (\n <>\n <div className=\"about-us-sec\">\n {props.pageData.loading ?\n <StaticPageLoader/>\n : Object.keys(props.pageData.data).length > 0 ? (\n <>\n <div className=\"contact-sec\">\n <div className=\"contact-sec-bg\">\n <div className=\"contact-banner-content\">\n <h2>{props.pageData.data.title}</h2>\n </div>\n </div>\n <div>\n </div>\n <div className=\"about-us-sec sm-padding\">\n <Container>\n <div className=\"about-us-box\">\n <p\n dangerouslySetInnerHTML={{\n __html: props.pageData.data.description,\n }}\n ></p>\n </div>\n </Container>\n </div>\n </div>\n </>\n ) : <NoDataFound />}\n\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n pageData: state.page.pageData,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(mapStateToPros, mapDispatchToProps)(StaticPage);","/home/ubuntu/misabloom-frontend-base/src/components/Profile/ProfileIndex.jsx",["850"],[],"import React, { useState } from \"react\";\nimport \"./Profile.css\";\nimport { Row, Col, Container, Form, Image, Button } from \"react-bootstrap\";\nimport ProfileSideBar from \"./ProfileSideBar\";\nimport { updateUserDetailsStart } from \"../store/actions/UserAction\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport { connect } from \"react-redux\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport * as Yup from \"yup\";\nimport Skeleton from \"react-loading-skeleton\";\nimport CommonCenterLoader from \"../Helper/CommonCenterLoader\";\nimport CustomLazyLoad from \"../Helper/CustomLazyLoad\";\n\nconst ProfileIndex = (props) => {\n const [profileImg, setProfileImg] = useState(null);\n\n const [imgPreviewAdd, setImgPreviewAdd] = useState(null);\n\n const t = useTranslation();\n\n const validationSchema = Yup.object().shape({\n email: Yup.string().email(t(\"invalid_email\")).required(t(\"required\")),\n name: Yup.string().required(t(\"required\")),\n mobile: Yup.string().matches(\n /^(?=.*[0-9])(?=.{9,})/,\n t(\"must_contain_9_characters\")\n ),\n });\n\n const handleSubmit = (values) => {\n let newValues = values;\n if (profileImg) {\n newValues = {\n ...values,\n picture: profileImg,\n };\n }\n props.dispatch(updateUserDetailsStart(newValues));\n };\n\n const imgPreview = (e) => {\n setImgPreviewAdd(URL.createObjectURL(e.target.files[0]));\n setProfileImg(e.target.files[0]);\n };\n\n return (\n <>\n <div className=\"profile-sec\">\n <Container>\n <Row>\n <Col xl={3} md={12} lg={4}>\n <div className=\"mobile-sidebar-sec\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col xl={9} md={12} lg={8}>\n <div className=\"profile-details-sec mobile-right-profile-sec\">\n <div className=\"profile-details-title\">\n <h4>{t(\"personal_details\")}</h4>\n <p>\n {t(\"welcome\")} {props.profile.data.name}\n </p>\n </div>\n {props.profile.loading ?\n <>\n <Skeleton\n height={80}\n width={80}\n circle={true}\n className='mb-4'\n />\n\n <Skeleton\n height={200}\n />\n </>\n :\n Object.keys(props.profile.data).length > 0 ? (\n <div className=\"login-form\">\n <Formik\n initialValues={{\n name: props.profile.data.name,\n mobile: props.profile.data.mobile,\n email: props.profile.data.email,\n // username: props.profile.data.username,\n }}\n onSubmit={(values) => handleSubmit(values)}\n validationSchema={validationSchema}\n >\n <FORM>\n <div className=\"profile-img\">\n\n <Form.Group controlId=\"formFile\" className=\"mb-3\">\n <Form.Label>\n <CustomLazyLoad\n src={imgPreviewAdd\n ? imgPreviewAdd\n : props.profile.data.picture}\n placeholderSrc={window.location.origin + \"/images/placeholder.jpeg\"}\n classes=\"profile-image\"\n />\n <div className=\"input-edit-img\">\n <Image\n src={\n window.location.origin +\n \"/images/edit.svg\"\n }\n type=\"image/png\"\n />\n </div>\n </Form.Label>\n <Form.Control\n type=\"file\"\n accept=\"image/*\"\n className=\"image-input\"\n onChange={(e) => imgPreview(e)}\n />\n </Form.Group>\n </div>\n <Row>\n <Col md={6}>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t(\"name\")} <span>*</span></Form.Label>\n <Field\n type=\"text\"\n className=\"form-control\"\n name=\"name\"\n placeholder={t(\"name_placeholder\")}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"name\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group\n className=\"mb-3\"\n controlId=\"formBasicEmail\"\n >\n <Form.Label>{t(\"email\")} <span>*</span></Form.Label>\n <Field\n type=\"email\"\n className=\"form-control\"\n name=\"email\"\n placeholder={t(\"email_placeholder\")}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"email\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n {/* <Col md={6}>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t(\"username\")}</Form.Label>\n <Field\n type=\"text\"\n className=\"form-control\"\n name=\"username\"\n placeholder={t(\"username_placeholder\")}\n disabled={true}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"username\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col> */}\n <Col md={6}>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t(\"mobile_no\")} <span>*</span></Form.Label>\n <Field\n type=\"number\"\n className=\"form-control\"\n name=\"mobile\"\n placeholder={t(\"mobile_placeholder\")}\n /> \n <ErrorMessage\n component={\"div\"}\n name=\"mobile\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <div className=\"login-btn default-btn-sec\">\n <Button\n className=\"default-btn\"\n type=\"submit\"\n disabled={props.profileInputData.buttonDisable}\n >\n {props.profileInputData.loadingButtonContent\n ? props.profileInputData.loadingButtonContent\n : t(\"save\")}\n </Button>\n </div>\n </Row>\n </FORM>\n </Formik>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n profile: state.users.profile,\n profileInputData: state.users.profileInputData,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(ProfileIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/MyOrder.jsx",["851","852","853","854","855","856"],[],"/home/ubuntu/misabloom-frontend-base/src/components/Profile/ManageAddress.jsx",["857","858","859","860","861","862","863","864","865","866","867","868","869","870","871","872","873"],[],"import React, { useEffect, useState } from \"react\";\nimport {\n Row,\n Col,\n Container,\n Form,\n Image,\n Button,\n Tab,\n Nav,\n} from \"react-bootstrap\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport {\n saveDeliveryAddressesStart,\n fetchDeliveryAddressesListStart,\n} from \"../store/actions/DeliveryAction\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport { Link } from \"react-router-dom\";\nimport ProfileSideBar from \"./ProfileSideBar\";\nimport * as Yup from \"yup\";\nimport { connect } from \"react-redux\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport Skeleton from \"react-loading-skeleton\";\nimport SomethingWrong from \"../Helper/SomethingWrong\";\nimport SingleAddressCard from \"./SingleAddressCard\";\nimport InfiniteScroll from \"react-infinite-scroll-component\";\nimport CommonCenterLoader from \"../Helper/CommonCenterLoader\";\nimport AddressSubmitForm from \"./AddressSubmitForm\";\nimport NoShippingAddressFound from \"../Helper/NoShippingAddressFound\";\n\nconst ManageAddress = (props) => {\n const [editForm, setEditForm] = useState({});\n const [activeTab, setActiveTab] = useState(\"saved_billing\");\n const [selectedAddress, setSelectedAddress] = useState(null);\n const t = useTranslation();\n const [skipRender, setSkipRender] = useState(true);\n\n const validationSchema = Yup.object().shape({\n name: Yup.string().required(t(\"required\")),\n contact_number: Yup.string().required(t(\"required\")).min(5, t(\"min_10\")),\n state: Yup.string().required(t(\"required\")),\n pincode: Yup.string().required(t(\"required\")),\n landmark: Yup.string().required(t(\"required\")),\n address: Yup.string().required(t(\"required\")),\n });\n\n useEffect(() => {\n props.dispatch(fetchDeliveryAddressesListStart());\n }, []);\n\n // useEffect(() => {\n // console.log(props.deliveryAddressesList.data.delivery_addresses);\n // }, []);\n\n const changeActiveTab = (tabName) => {\n setActiveTab(tabName);\n setEditForm({});\n }\n\n const handleSubmit = (values) => {\n props.dispatch(saveDeliveryAddressesStart(values));\n };\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.deliveryAddressesList.loading &&\n Object.keys(props.deliveryAddressesList.data).length > 0\n ) {\n if (\n props.deliveryAddressesList.data.delivery_addresses &&\n props.deliveryAddressesList.data.delivery_addresses.length > 0\n ) {\n props.deliveryAddressesList.data.delivery_addresses.map((add, i) => {\n if (add.is_default === 1) setSelectedAddress(add.delivery_address_id);\n });\n } else {\n setSelectedAddress(null);\n }\n setSkipRender(false);\n }\n }, [props.deliveryAddressesList]);\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.deliveryAddressesSave.loading &&\n Object.keys(props.deliveryAddressesSave.data).length > 0\n ) {\n setActiveTab(\"saved_billing\");\n props.dispatch(fetchDeliveryAddressesListStart());\n }\n setSkipRender(false);\n }, [props.deliveryAddressesSave]);\n\n useEffect(() => {\n props.dispatch(\n fetchDeliveryAddressesListStart({\n skip: 0,\n take: 4,\n })\n );\n }, []);\n\n const fetchMoreAddressList = () => {\n props.dispatch(\n fetchDeliveryAddressesListStart({\n skip: props.deliveryAddressesList.data.delivery_addresses.length,\n take: 4,\n })\n );\n };\n\n const editAddress = (address) => {\n setEditForm(address);\n setActiveTab(\"new_billing\");\n };\n\n return (\n <>\n <div className=\"profile-sec\">\n <Container>\n <Row>\n <Col xl={3} md={12} lg={4}>\n <div className=\"new-mobile-section\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col xl={9} md={12} lg={8}>\n <div className=\"profile-details-sec\">\n <div className=\"profile-details-title\">\n <h4>{t(\"manage_address\")}</h4>\n </div>\n <div className=\"address-tab mt-4\">\n <Tab.Container\n id=\"left-tabs-example\"\n defaultActiveKey=\"first\"\n >\n <Row>\n <Col md={12}>\n <Nav variant=\"pills\">\n <Nav.Item>\n <Nav.Link\n eventKey=\"first\"\n onClick={() => changeActiveTab(\"saved_billing\")}\n >\n {t(\"saved_address\")}\n </Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link\n eventKey=\"second\"\n onClick={() => setActiveTab(\"new_billing\")}\n >\n {t(\"new_address\")}\n </Nav.Link>\n </Nav.Item>\n </Nav>\n </Col>\n <Col md={12}>\n {activeTab === \"saved_billing\" && (\n <div className=\"address-label-box\">\n {props.deliveryAddressesList.loading ? (\n <Skeleton count={2} height={100} />\n ) : props.deliveryAddressesList.data\n .delivery_addresses ? (\n props.deliveryAddressesList.data\n .delivery_addresses.length > 0 ? (\n <InfiniteScroll\n dataLength={\n props.deliveryAddressesList.data\n .delivery_addresses.length\n }\n next={fetchMoreAddressList}\n hasMore={\n props.deliveryAddressesList.data\n .delivery_addresses.length <\n props.deliveryAddressesList.data.total\n }\n loader={<CommonCenterLoader />}\n >\n {props.deliveryAddressesList.data.delivery_addresses.map(\n (address, i) => (\n <SingleAddressCard\n key={i}\n address={address}\n setSelectedAddress={\n setSelectedAddress\n }\n editAddress={editAddress}\n />\n )\n )}\n </InfiniteScroll>\n ) : (\n <NoShippingAddressFound />\n )\n ) : (\n <SomethingWrong />\n )}\n </div>\n )}\n {activeTab === \"new_billing\" && (\n <AddressSubmitForm\n editAddress={editForm}\n setActiveTab={changeActiveTab}\n />\n )}\n </Col>\n </Row>\n </Tab.Container>\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n deliveryAddressesSave: state.delivery.deliveryAddressesSave,\n deliveryAddressesList: state.delivery.deliveryAddressesList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(ManageAddress));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/ChangePassword.jsx",["874","875","876"],[],"import React, { useEffect, useState, useRef } from \"react\";\nimport { Row, Col, Container, Form, Image, Button } from \"react-bootstrap\";\nimport ProfileSideBar from \"./ProfileSideBar\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport { changePasswordStart } from \"../store/actions/UserAction\";\nimport * as Yup from \"yup\";\nimport { connect } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport Skeleton from \"react-loading-skeleton\";\n\nconst ChangePassword = (props) => {\n const changePasswordForm = useRef();\n const [skipRender, setSkipRender] = useState(true);\n const t = useTranslation();\n const navigate = useNavigate();\n const [password, setPassword] = useState(\"\");\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.changePassword.loading &&\n Object.keys(props.changePassword.data).length > 0\n ) {\n // navigate(\"/logout\");\n changePasswordForm.current.resetForm();\n }\n setSkipRender(false);\n }, [props.changePassword]);\n\n const validationSchema = Yup.object().shape({\n old_password: Yup.string().matches(/^(?=.*[a-zA-Z0-9])(?=.{6,})/, t(\"must_have_6_characters\")).required(t(\"required\")),\n password: Yup.string().matches(/^(?=.*[a-zA-Z0-9])(?=.{6,})/, t(\"must_have_6_characters\"))\n .required(t(\"required\"))\n .when(\"old_password\", {\n is: (val) => (val && val.length > 0 ? true : false),\n then: Yup.string().notOneOf(\n [Yup.ref(\"old_password\")],\n t(\"should_not_be_old_password\")\n ),\n }),\n password_confirmation: Yup.string().matches(/^(?=.*[a-zA-Z0-9])(?=.{6,})/, t(\"must_have_6_characters\"))\n .required(t(\"required\"))\n .when(\"password\", {\n is: (val) => (val && val.length > 0 ? true : false),\n then: Yup.string().oneOf(\n [Yup.ref(\"password\")],\n t(\"passwords_need_to_be_same\")\n ),\n }),\n });\n\n const validateNewPassword = (value) => {\n if (value) {\n if (value !== password) {\n let formatted = value.replaceAll(/\\s+/g, \"\");\n if (formatted !== value) {\n return \"Password should not contain any space\";\n } else {\n setPassword(value);\n return \"\";\n }\n }\n }\n };\n const handleSubmit = (values) => {\n props.dispatch(changePasswordStart(values));\n };\n\n return (\n <>\n <div className=\"profile-sec\">\n <Container>\n <Row>\n <Col xl={3} md={12} lg={4}>\n <div className=\"new-mobile-section\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col xl={9} md={12} lg={8}>\n <div className=\"profile-details-sec\">\n <div className=\"profile-details-title\">\n <h4>{t(\"change_password\")}</h4>\n {/* <p>\n {t(\"welcome\")} {props.profile.data.name}\n </p> */}\n </div>\n {props.profile.loading ?\n <>\n <Skeleton height={60} className='mb-4' />\n <Skeleton height={60} width={450} className='mb-2' />\n <Skeleton height={50} width={110} />\n </>\n :\n <div className=\"login-form\">\n <Formik\n innerRef={changePasswordForm}\n initialValues={{\n old_password: \"\",\n password: \"\",\n password_confirmation: \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={(values) => handleSubmit(values)}\n >\n <FORM>\n <Row>\n <Col md={6}>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t(\"old_password\")} <span>*</span></Form.Label>\n <div className=\"input-group\">\n <Field\n type=\"password\"\n name=\"old_password\"\n placeholder={t(\"old_password_placeholder\")}\n className=\"form-control\"\n />\n </div>\n <ErrorMessage\n component={\"div\"}\n name=\"old_password\"\n className=\"text-danger text-right\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group\n className=\"mb-3\"\n controlId=\"formBasicEmail\"\n >\n <Form.Label>{t(\"new_password\")} <span>*</span></Form.Label>\n <div className=\"input-group\">\n <Field\n type=\"password\"\n name=\"password\"\n placeholder={t(\"new_password_placeholder\")}\n className=\"form-control\"\n validate={validateNewPassword}\n\n\n />\n </div>\n <ErrorMessage\n component={\"div\"}\n name=\"password\"\n className=\"text-danger text-right\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t(\"confirm_password\")} <span>*</span></Form.Label>\n <div className=\"input-group\">\n <Field\n type=\"password\"\n name=\"password_confirmation\"\n placeholder={t(\"confirm_password_placeholder\")}\n className=\"form-control\"\n \n\n />\n </div>\n <ErrorMessage\n component={\"div\"}\n name=\"password_confirmation\"\n className=\"text-danger text-right\"\n />\n </Form.Group>\n </Col>\n <div className=\"login-btn default-btn-sec\">\n <Button className=\"default-btn\" type=\"submit\"\n disabled={props.changePassword.buttonDisable}\n >\n {props.changePassword.loadingButtonContent\n ? props.changePassword.loadingButtonContent\n : (t(\"save\"))}\n </Button>\n </div>\n </Row>\n </FORM>\n </Formik>\n </div>\n }\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n profile: state.users.profile,\n changePassword: state.users.changePassword,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(ChangePassword));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/ProfileWallet.jsx",["877","878","879"],[],"import React, { useEffect } from \"react\";\nimport {\n Row,\n Col,\n Container,\n Form,\n Image,\n Button,\n Table,\n} from \"react-bootstrap\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { connect } from \"react-redux\";\nimport ProfileSideBar from \"./ProfileSideBar\";\nimport { Link } from \"react-router-dom\";\nimport {\n fetchMoreUserWalletDetailsStart,\n fetchUserWalletDetailsStart,\n} from \"../store/actions/WalletAction\";\nimport OverlayTrigger from \"react-bootstrap/OverlayTrigger\";\nimport Tooltip from \"react-bootstrap/Tooltip\";\nimport { getSuccessNotificationMessage } from \"../Helper/ToastNotification\";\nimport InfiniteScroll from \"react-infinite-scroll-component\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CommonCenterLoader from \"../Helper/CommonCenterLoader\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport Skeleton from \"react-loading-skeleton\";\n\nconst ProfileWallet = (props) => {\n const t = useTranslation();\n\n useEffect(() => {\n props.dispatch(\n fetchUserWalletDetailsStart({\n skip: 0,\n take: 12,\n })\n );\n }, []);\n\n const onCopy = () => {\n props.dispatch(getSuccessNotificationMessage(t(\"transaction_id_copied\")));\n };\n\n const fetchMoreWalletPayments = () => {\n props.dispatch(\n fetchMoreUserWalletDetailsStart({\n skip: props.userWalletDetails.data.user_wallet_payments.length,\n take: 12,\n })\n );\n };\n\n return (\n <>\n <div className=\"profile-sec\">\n <Container>\n <Row>\n <Col xl={3} md={12} lg={4}>\n <div className=\"new-mobile-section\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col xl={9} md={12} lg={8}>\n <div className=\"profile-details-sec\">\n <div className=\"profile-details-title\">\n <h4>{t(\"wallet\")}</h4>\n </div>\n { props.userWalletDetails.loading ?\n <Skeleton\n height={100} \n />\n :\n (<div className=\"wallet-box\">\n <div className=\"wallet-amount\">\n <h4>\n {!props.userWalletDetails.loading &&\n Object.keys(props.userWalletDetails.data).length > 0\n ? props.userWalletDetails.data.user_wallet\n .remaining_formatted\n : \"0.00 USD\"}\n </h4>\n <p>{t(\"current_wallet_balance\")}</p>\n </div>\n <div className=\"wallet-btn\">\n <Link to=\"/wallet-add-money\" className=\"wishlist-btn\">\n <span>\n <Image\n src={window.location.origin + \"/images/wallet-1.svg\"}\n type=\"image/svg\"\n className=\"wallet-icon\"\n />\n </span>\n {t(\"add_money\")}\n </Link>\n </div>\n </div>)\n }\n <div className=\"wallet-table-sec mt-4\">\n <h5>{t(\"all_transactions\")}</h5>\n {props.userWalletDetails.loading ? (\n <CommonCenterLoader />\n ) : (\n <InfiniteScroll\n dataLength={\n props.userWalletDetails.data.user_wallet_payments.length\n }\n next={fetchMoreWalletPayments}\n hasMore={\n props.userWalletDetails.data.user_wallet_payments\n .length < props.userWalletDetails.data.total\n }\n loader={<CommonCenterLoader />}\n >\n {props.userWalletDetails.data.user_wallet_payments &&\n props.userWalletDetails.data.user_wallet_payments.length >\n 0 ? (\n <Table striped bordered hover responsive>\n <thead>\n <tr>\n <th>{t(\"date\")}</th>\n <th>{t(\"transaction_id\")}</th>\n <th>{t(\"amount\")}</th>\n <th>{t(\"status\")}</th>\n </tr>\n </thead>\n <tbody>\n {props.userWalletDetails.data.user_wallet_payments.map(\n (payment, i) => (\n <tr key={i}>\n <td>{payment.paid_date_formatted}</td>\n <td style={{ cursor: \"pointer\" }}>\n {payment.payment_id ? (\n <OverlayTrigger\n placement=\"top\"\n overlay={\n <Tooltip>\n {payment.payment_id}\n </Tooltip>\n }\n >\n <div className=\"transaction-id-sec\">\n <CopyToClipboard\n text={payment.payment_id}\n onCopy={() => onCopy()}\n >\n <span>{payment.payment_id}</span>\n </CopyToClipboard>\n </div>\n </OverlayTrigger>\n ) : (\n \"-\"\n )}\n </td>\n <td>\n {payment.amount_type === \"add\"\n ? \"+ \"\n : \"- \"}\n {payment.requested_amount_formatted}\n </td>\n <td className=\"text-success\">\n {payment.message}\n </td>\n </tr>\n )\n )}\n </tbody>\n </Table>\n ) : (\n <NoDataFound />\n )}\n </InfiniteScroll>\n )}\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n userWalletDetails: state.wallet.userWalletDetails,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(ProfileWallet));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/DeleteAccount.jsx",["880","881","882"],[],"import React, { useState, useEffect } from \"react\";\nimport { Row, Col, Container, Image, Form, Button } from \"react-bootstrap\";\nimport ProfileSideBar from \"./ProfileSideBar\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport * as Yup from \"yup\";\nimport { connect } from \"react-redux\";\nimport { deleteAccountStart } from \"../store/actions/UserAction\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst DeleteAccount = (props) => {\n const t = useTranslation();\n\n const [agree, setAgree] = useState(false);\n const [skipRender, setSkipRender] = useState(true);\n const [showPassword, setShowPassword] = useState(false)\n const navigate = useNavigate();\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.deleteAcc.loading &&\n Object.keys(props.deleteAcc.data).length > 0\n ) {\n navigate(\"/logout\");\n }\n setSkipRender(false);\n }, [props.deleteAcc]);\n\n const validationSchema = Yup.object().shape({\n password: Yup.string()\n .required(t(\"password_is_required\"))\n .matches(/^(?=.*[a-zA-Z-0-9])/, t(\"space_values_not_valid\"))\n .min(6, t(\"must_contain_6_characters\")),\n });\n\n const passwordValidation = (value) => {\n const trimmedValue = value.replaceAll(\" \", \"\");\n if (trimmedValue !== value) return t(\"should_not_contain_empty_space\");\n return \"\";\n };\n\n const handleSubmit = (values) => {\n props.dispatch(deleteAccountStart(values));\n };\n\n return (\n <>\n <div className=\"profile-sec\">\n <Container>\n <Row>\n <Col xl={3} md={12} lg={4}>\n <div className=\"new-mobile-section\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col xl={9} md={12} lg={8}>\n <div className=\"profile-details-sec\">\n <div className=\"profile-details-title\">\n <h4>{t(\"delete_account\")}</h4>\n <p>{t(\"will_see_you_soon\")}</p>\n </div>\n <div className=\"account-delete-sec\">\n <h4>\n <span>{t(\"caution\")}</span> {t(\"caution_delete_account_text\")}\n </h4>\n <div className=\"login-form\">\n <Formik\n initialValues={{\n password: \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={(values) => handleSubmit(values)}\n >\n {({\n touched,\n errors,\n isSubmitting,\n setFieldValue,\n values,\n }) => (\n <FORM>\n <Row>\n <Col md={6}>\n {props.profile.data.login_by == \"manual\" && (\n <Form.Group className=\"mb-3\">\n <Form.Label>{t(\"your_password\")}</Form.Label>\n <div className=\"input-group d-flex align-items-center\">\n <Field\n type={showPassword ? \"text\" : \"password\"}\n className=\"form-control\"\n placeholder={t(\"enter_your_password\")}\n name=\"password\"\n value={values.password}\n validate={passwordValidation}\n />\n <div className=\"input-group-append\">\n <button onClick={() =>\n setShowPassword(!showPassword)}\n className=\"btn password-eye\"\n type=\"button\"\n >\n {showPassword ? (\n <i className=\"fas fa-eye-slash align-self-center\"></i>)\n : (\n <i className=\"fas fa-eye align-self-center\"></i>\n )\n }\n </button>\n </div>\n </div>\n <ErrorMessage\n component={\"div\"}\n name=\"password\"\n className=\"text-danger text-right\"\n />\n </Form.Group>\n )}\n <Form.Group\n className=\"mb-3 form-check-custom\"\n controlId=\"formBasicCheckbox\"\n >\n <Form.Check\n type=\"checkbox\"\n label={t(\n \"i_understand_and_wish_to_delete_my_account\"\n )}\n required\n name=\"acceptTerms\"\n checked={agree}\n onChange={() => setAgree(!agree)}\n />\n </Form.Group>\n </Col>\n </Row>\n <div className=\"login-btn default-btn-sec\"></div>\n\n <div className=\"default-btn-sec\">\n <Button\n className=\"default-btn\"\n type=\"submit\"\n disabled={\n props.deleteAcc.buttonDisable ||\n !agree\n }\n >\n {props.deleteAcc.loadingButtonContent !== null\n ? props.deleteAcc.loadingButtonContent\n : t(\"submit\")}\n </Button>\n </div>\n </FORM>\n )}\n </Formik>\n </div>\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n deleteAcc: state.users.deleteAccount,\n profile: state.users.profile,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(DeleteAccount));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/TwoStepAuthentication.jsx",["883","884","885"],[],"import React, { useState, useEffect } from \"react\";\nimport { Row, Col, Container, Form, Image, Button } from \"react-bootstrap\";\nimport ProfileSideBar from \"./ProfileSideBar\";\nimport { connect } from \"react-redux\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport * as Yup from \"yup\";\nimport { twoStepAuthUpdateStart } from \"../store/actions/UserAction\";\n\nconst TwoStepAuthentication = (props) => {\n const t = useTranslation();\n\n const [initialTwoStep, setInitialTwoStep] = useState(false);\n const [twoStepAuth, setTwoStepAuth] = useState(false);\n const [showPassword, setShowPassword] = useState(false)\n\n useEffect(() => {\n if (!props.profile.loading && Object.keys(props.profile.data).length > 0) {\n setInitialTwoStep(\n props.profile.data.is_two_step_auth_enabled === 0 ? false : true\n );\n setTwoStepAuth(\n props.profile.data.is_two_step_auth_enabled === 0 ? false : true\n );\n }\n }, [props.profile.data]);\n const changeTwoStepAuth = (values) => {\n props.dispatch(twoStepAuthUpdateStart(values));\n };\n return (\n <>\n <div className=\"profile-sec\">\n <Container>\n <Row>\n <Col xl={3} md={12} lg={4}>\n <div className=\"new-mobile-section\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col xl={9} md={12} lg={8}>\n <div className=\"profile-details-sec\">\n <div className=\"profile-details-title two-step-auth-header\">\n <h4>{t(\"two_step_auth\")}</h4>\n {/* <p>Welcome John!</p> */}\n {/* <div className=\"custom-control custom-switch\">\n <input type=\"checkbox\"\n className=\"custom-control-input\"\n checked={twoStepAuth}\n onChange={() => setTwoStepAuth(!twoStepAuth)}\n />\n <label class=\"custom-control-label\" for=\"customSwitch1\">Toggle this switch element</label>\n </div> */}\n <Form.Check\n type=\"switch\"\n id=\"custom-switch\"\n checked={twoStepAuth}\n onChange={() => setTwoStepAuth(!twoStepAuth)}\n />\n </div>\n <div className=\"two-step-authetication-sec\">\n <p>{t(\"two_step_auth_text\")}\n </p>\n {initialTwoStep != twoStepAuth ? (\n <div className=\"login-form\">\n <Formik\n initialValues={{\n password: \"\",\n }}\n validationSchema={Yup.object().shape({\n password: Yup.string().required(\"Required\"),\n })}\n onSubmit={(values) => changeTwoStepAuth(values)}\n >\n {({ errors, touched }) => (\n <FORM>\n <Row>\n <Col md={6}>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t(\"your_password\")}</Form.Label>\n <div className=\"input-group d-flex align-items-center\">\n <Field\n type={showPassword ? \"text\" : \"password\"}\n className=\"form-control\"\n placeholder=\"Enter Your Password\"\n name=\"password\"\n />\n <div className=\"input-group-append\">\n <button onClick={() =>\n setShowPassword(!showPassword)\n }\n className=\"btn password-eye\"\n type=\"button\"\n >{showPassword ? (\n <i className=\"fas fa-eye-slash align-self-center\"></i>)\n : (\n <i className=\"fas fa-eye align-self-center\"></i>\n )}\n </button>\n </div>\n </div>\n <ErrorMessage\n component={\"div\"}\n name=\"password\"\n className=\"text-danger text-right\"\n />\n </Form.Group>\n </Col>\n </Row>\n <div className=\"login-btn default-btn-sec\">\n <Button\n className=\"default-btn\"\n type=\"submit\"\n disabled={props.twoStepAuthUpdate.buttonDisable}\n >\n {props.twoStepAuthUpdate.loadingButtonContent\n ? props.twoStepAuthUpdate.loadingButtonContent\n : t(\"submit\")}\n </Button>\n </div>\n </FORM>\n )}\n </Formik>\n </div>\n ) : null}\n {/* <ul>\n <li>\n <div className=\"two-step-list\">\n <div className=\"two-step-count\">1</div>\n <div className=\"two-step-content\">\n <h5>Download Authenticator App</h5>\n <p>\n Install an authenticator app on your mobile device.\n Recommended options:{\" \"}\n <a href=\"\">Google Authenticator,</a>\n <a href=\"\">Authy,</a>\n <a href=\"\">Microsoft Authenticator</a>\n </p>\n <a href=\"\" className=\"wishlist-btn\">\n Continue\n </a>\n </div>\n </div>\n </li>\n <li>\n <div className=\"two-step-list\">\n <div className=\"two-step-count\">2</div>\n <div className=\"two-step-content\">\n <h5>Add wallet to authenticator app</h5>\n </div>\n </div>\n </li>\n <li>\n <div className=\"two-step-list\">\n <div className=\"two-step-count\">3</div>\n <div className=\"two-step-content\">\n <h5>Verify provided code</h5>\n </div>\n </div>\n </li>\n </ul> */}\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n profile: state.users.profile,\n twoStepAuthUpdate: state.users.twoStepAuthUpdate,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(TwoStepAuthentication));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/WalletWithdrawMoney.jsx",["886","887","888","889","890","891","892","893","894","895"],[],"import React, { useEffect, useState } from \"react\";\nimport {\n Row,\n Col,\n Container,\n Form,\n Image,\n Button,\n Table,\n InputGroup,\n Tab,\n Nav,\n} from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport * as Yup from \"yup\";\nimport {\n addUserBillingAccountsStart,\n fetchUserBillingAccountsListStart,\n withdrawalRequestStart,\n} from \"../store/actions/WalletAction\";\nimport ProfileSideBar from \"./ProfileSideBar\";\nimport { Link } from \"react-router-dom\";\nimport SingleBillingAddressCard from \"./SingleBillingAddressCard\";\nimport SomethingWrong from \"../Helper/SomethingWrong\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport Skeleton from \"react-loading-skeleton\";\nimport { getErrorNotificationMessage } from \"../Helper/ToastNotification\";\nimport { useNavigate } from \"react-router-dom\";\nimport \"react-loading-skeleton/dist/skeleton.css\";\nimport NoBillingAddressFound from \"../Helper/NoBillingAddressFound\";\n\nconst WalletWithdrawMoney = (props) => {\n const [activeTab, setActiveTab] = useState(\"saved_billing\");\n const [skipRender, setSkipRender] = useState(true);\n const [selectedAccount, setSelectedAccount] = useState(null);\n const navigate = useNavigate();\n const t = useTranslation();\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.addUserBillingAccounts.loading &&\n Object.keys(props.addUserBillingAccounts.data).length > 0\n ) {\n setActiveTab(\"saved_billing\");\n props.dispatch(fetchUserBillingAccountsListStart());\n }\n }, [props.addUserBillingAccounts]);\n\n const handleSubmit = (values) => {\n props.dispatch(addUserBillingAccountsStart(values));\n };\n\n const addAmount = (values) => {\n if (values.amount && selectedAccount) {\n props.dispatch(\n withdrawalRequestStart({\n amount: values.amount,\n user_billing_account_id: selectedAccount,\n })\n );\n } else if (!values.amount) {\n props.dispatch(getErrorNotificationMessage(t(\"please_enter_the_amount\")));\n } else if (!selectedAccount) {\n props.dispatch(\n getErrorNotificationMessage(t(\"please_add_or_select_an_account\"))\n );\n }\n };\n\n useEffect(() => {\n props.dispatch(fetchUserBillingAccountsListStart());\n }, []);\n\n const addbillingSchema = Yup.object().shape({\n route_number: Yup.string()\n .required(t(\"required\"))\n .matches(/^(?=.*[0-9])(?=.{7,})/, t(\"must_contain_7_characters\")),\n account_number: Yup.string()\n .required(t(\"account_number_required\"))\n .min(11, t(\"min_11\"))\n .max(20, t(\"min_20\")),\n first_name: Yup.string().required(t(\"required\")),\n last_name: Yup.string().required(t(\"required\")),\n });\n\n const addAmountSchema = Yup.object().shape({\n amount: Yup.string().required(t(\"amount_required\")),\n });\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.userBillingAccounts.loading &&\n Object.keys(props.userBillingAccounts.data).length > 0\n ) {\n if (\n props.userBillingAccounts.data.user_billing_accounts &&\n props.userBillingAccounts.data.user_billing_accounts.length > 0\n ) {\n props.userBillingAccounts.data.user_billing_accounts.map(\n (account, i) => {\n if (account.is_default === 1)\n setSelectedAccount(account.user_billing_account_id);\n }\n );\n } else {\n setSelectedAccount(null);\n }\n }\n }, [props.userBillingAccounts]);\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.withdrawRequest.loading &&\n Object.keys(props.withdrawRequest.data).length > 0\n ) {\n navigate(\"/withdraw\");\n }\n setSkipRender(false);\n }, [props.withdrawRequest]);\n\n return (\n <>\n <div className=\"profile-sec\">\n <Container>\n <Row>\n <Col xl={3} md={12} lg={4}>\n <div className=\"new-mobile-section\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col xl={9} md={12} lg={8}>\n <div className=\"profile-details-sec\">\n <div className=\"profile-details-title\">\n <h4>{t(\"withdraw_money\")}</h4>\n </div>\n <Formik\n initialValues={{\n amount: \"\",\n }}\n validationSchema={addAmountSchema}\n onSubmit={addAmount}\n >\n <FORM>\n <div className=\"add-money-sec\">\n <div className=\"add-money-input\">\n <Form.Group className=\"\">\n <Field\n type=\"number\"\n className=\"form-control\"\n name=\"amount\"\n placeholder={t(\"amount_placeholder\")}\n min=\"0\"\n />\n <ErrorMessage\n component={\"div\"}\n name=\"amount\"\n className=\"text-danger\"\n />\n </Form.Group>\n <div className=\"currency\">$</div>\n </div>\n <div className=\"add-money-btn\">\n <Button type=\"submit\">\n {props.withdrawRequest.loadingButtonContent\n ? props.withdrawRequest.loadingButtonContent\n : t(\"withdraw\")}\n </Button>\n </div>\n </div>\n <div className=\"account-balance mt-4\">\n <h4>\n <span>{t(\"balance\")}</span>\n {props.userBillingAccounts.loading ? (\n <p>{t(\"loading\")}</p>\n ) : Object.keys(props.userBillingAccounts.data).length >\n 0 && props.userBillingAccounts.data.user_wallet ? (\n props.userBillingAccounts.data.user_wallet\n .remaining_formatted\n ) : (\n \"0\" (t(\"usd\"))\n )}\n </h4>\n </div>\n </FORM>\n </Formik>\n <div className=\"address-tab mt-5\">\n <Tab.Container\n id=\"left-tabs-example\"\n defaultActiveKey=\"first\"\n >\n <Row>\n <Col md={12}>\n <Nav variant=\"pills\">\n <Nav.Item>\n <Nav.Link\n onClick={() => setActiveTab(\"saved_billing\")}\n eventKey=\"first\"\n >\n {t(\"saved_billing\")}\n </Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link\n onClick={() => setActiveTab(\"new_billing\")}\n eventKey=\"second\"\n >\n {t(\"new_billing\")}\n </Nav.Link>\n </Nav.Item>\n </Nav>\n </Col>\n <Col md={12}>\n <Tab.Content>\n {activeTab === \"saved_billing\" && (\n <div>\n <div className=\"wallet-withdraw-money-sec\">\n {props.userBillingAccounts.loading ? (\n <Skeleton count={2} height={100} />\n ) : props.userBillingAccounts.data\n .user_billing_accounts ? (\n props.userBillingAccounts.data\n .user_billing_accounts.length > 0 ? (\n props.userBillingAccounts.data.user_billing_accounts.map(\n (account, i) => (\n <SingleBillingAddressCard\n account={account}\n selectedAccount={selectedAccount}\n setSelectedAccount={\n setSelectedAccount\n }\n />\n )\n )\n ) : (\n <NoBillingAddressFound />\n )\n ) : (\n <SomethingWrong />\n )}\n </div>\n </div>\n )}\n {activeTab === \"new_billing\" && (\n <div>\n <div className=\"new-address-sec mt-4\">\n <div className=\"login-form\">\n <Formik\n initialValues={{\n route_number: \"\",\n account_number: \"\",\n first_name: \"\",\n last_name: \"\",\n bank_type: \"savings\",\n business_name: \"\",\n }}\n validationSchema={addbillingSchema}\n onSubmit={(values) => handleSubmit(values)}\n >\n <FORM>\n <Row>\n <Col md={6}>\n <Form.Group\n className=\"mb-4\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"route_number\")}*\n </Form.Label>\n <Field\n type=\"number\"\n min=\"0\"\n className=\"form-control\"\n name=\"route_number\"\n placeholder={t(\n \"route_number_placeholder\"\n )}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"route_number\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group\n className=\"mb-4\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"account_number\")}*\n </Form.Label>\n <Field\n type=\"number\"\n className=\"form-control\"\n name=\"account_number\"\n placeholder={t(\n \"account_number_placeholder\"\n )}\n min=\"0\"\n />\n <ErrorMessage\n component={\"div\"}\n name=\"account_number\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group\n className=\"mb-4\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"first_name\")}\n </Form.Label>\n <Field\n type=\"text\"\n className=\"form-control\"\n name=\"first_name\"\n placeholder={t(\n \"first_name_placeholder\"\n )}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"first_name\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group\n className=\"mb-4\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"last_name\")}\n </Form.Label>\n <Field\n type=\"text\"\n className=\"form-control\"\n name=\"last_name\"\n placeholder={t(\n \"last_name_placeholder\"\n )}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"last_name\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group\n className=\"mb-4 select-bank-type\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"bank_type\")}\n </Form.Label>\n <Field\n as=\"select\"\n className=\"form-control\"\n name=\"bank_type\"\n placeholder={t(\n \"bank_type_placeholder\"\n )}\n >\n <option value=\"savings\">\n {t(\"savings\")}\n </option>\n <option value=\"checking\">\n {t(\"checking\")}\n </option>\n </Field>\n <ErrorMessage\n component={\"div\"}\n name=\"bank_type\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group\n className=\"mb-4\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"business_name\")}\n </Form.Label>\n <Field\n type=\"text\"\n className=\"form-control\"\n name=\"business_name\"\n placeholder={t(\n \"business_name_placeholder\"\n )}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"business_name\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n </Row>\n <div className=\"mt-4\">\n <Button\n type=\"submit\"\n className=\"subscribe-btn\"\n disabled={\n props.addUserBillingAccounts\n .buttonDisable\n }\n >\n {props.addUserBillingAccounts\n .loadingButtonContent\n ? props.addUserBillingAccounts\n .loadingButtonContent\n : t(\"save\")}\n </Button>\n </div>\n </FORM>\n </Formik>\n </div>\n </div>\n </div>\n )}\n </Tab.Content>\n </Col>\n </Row>\n </Tab.Container>\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n addUserBillingAccounts: state.wallet.addUserBillingAccounts,\n userBillingAccounts: state.wallet.userBillingAccounts,\n defaultUserBillingAccounts: state.wallet.defaultUserBillingAccounts,\n deleteUserBillingAccounts: state.wallet.deleteUserBillingAccounts,\n withdrawRequest: state.wallet.withdrawRequest,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(WalletWithdrawMoney));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/MobileProfile.jsx",["896"],[],"import React, { useState } from \"react\";\nimport { Row, Col, Container, Form, Image, Button } from \"react-bootstrap\";\nimport { updateUserDetailsStart } from \"../store/actions/UserAction\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport * as Yup from \"yup\";\nimport { connect } from \"react-redux\";\nimport ProfileSideBar from \"./ProfileSideBar\";\n\nconst MobileProfile = (props) => {\n const [imgPreviewAdd, setImgPreviewAdd] = useState(null);\n const [profileImg, setProfileImg] = useState(null);\n const t = useTranslation();\n\n const imgPreview = (e) => {\n setImgPreviewAdd(URL.createObjectURL(e.target.files[0]));\n setProfileImg(e.target.files[0]);\n };\n\n const validationSchema = Yup.object().shape({\n email: Yup.string().email(t(\"invalid_email\")).required(t(\"required\")),\n name: Yup.string().required(t(\"required\")),\n mobile: Yup.string().matches(\n /^(?=.*[0-9])(?=.{9,})/,\n t(\"must_contain_9_characters\")\n ),\n });\n\n const handleSubmit = (values) => {\n let newValues = values;\n if (profileImg) {\n newValues = {\n ...values,\n picture: profileImg,\n };\n }\n props.dispatch(updateUserDetailsStart(newValues));\n };\n\n return (\n <div className=\"profile-sec\">\n <Row className=\"g-0\">\n <Col md={12} xl={9} lg={8}>\n <div className=\"new-mobile-section\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col md={12} xl={9} lg={8}>\n <div className=\"profile-details-sec new-mobile-profile\">\n <div className=\"profile-details-title\">\n <h4>{t(\"personal_details\")}</h4>\n <p>\n {t(\"welcome\")} {props.profile.data.name}\n </p>\n </div>\n {props.profile.loading ? (\n \"loading\"\n ) : Object.keys(props.profile.data).length > 0 ? (\n <div className=\"login-form\">\n <Formik\n initialValues={{\n name: props.profile.data.name,\n mobile: props.profile.data.mobile,\n email: props.profile.data.email,\n // username: props.profile.data.username,\n }}\n onSubmit={(values) => handleSubmit(values)}\n validationSchema={validationSchema}\n >\n <FORM>\n <div className=\"profile-img\">\n <Form.Group controlId=\"formFile\" className=\"mb-3\">\n <Form.Label>\n <Image\n style={{\n width: \"80px\",\n height: \"80px\",\n borderRadius: \"50%\",\n objectFit: \"cover\",\n position: \"center\",\n }}\n src={\n imgPreviewAdd\n ? imgPreviewAdd\n : props.profile.data.picture\n }\n type=\"image/png\"\n />\n <div className=\"input-edit-img\">\n <Image\n src={window.location.origin + \"/images/edit.svg\"}\n type=\"image/png\"\n />\n </div>\n </Form.Label>\n <Form.Control\n type=\"file\"\n accept=\"image/*\"\n className=\"image-input\"\n onChange={(e) => imgPreview(e)}\n />\n </Form.Group>\n </div>\n <Row>\n <Col md={6}>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t(\"name\")}*</Form.Label>\n <Field\n type=\"text\"\n className=\"form-control\"\n name=\"name\"\n placeholder={t(\"name_placeholder\")}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"name\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group className=\"mb-3\" controlId=\"formBasicEmail\">\n <Form.Label>{t(\"email\")}*</Form.Label>\n <Field\n type=\"email\"\n className=\"form-control\"\n name=\"email\"\n placeholder={t(\"email_placeholder\")}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"email\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t(\"mobile_no\")}</Form.Label>\n <Field\n type=\"number\"\n className=\"form-control\"\n name=\"mobile\"\n placeholder={t(\"mobile_placeholder\")}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"mobile\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <div className=\"login-btn default-btn-sec\">\n <Button\n className=\"default-btn\"\n type=\"submit\"\n disabled={props.profileInputData.buttonDisable}\n >\n {props.profileInputData.loadingButtonContent\n ? props.profileInputData.loadingButtonContent\n : t(\"save\")}\n </Button>\n </div>\n </Row>\n </FORM>\n </Formik>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </Col>\n </Row>\n </div>\n );\n};\n\nconst mapStateToPros = (state) => ({\n profile: state.users.profile,\n profileInputData: state.users.profileInputData,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(MobileProfile));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/PaymentMethod.jsx",["897","898","899","900","901","902","903"],[],"import React, { useState, useEffect } from \"react\";\nimport {\n Row,\n Col,\n Container,\n Form,\n Image,\n Button,\n Tab,\n Nav,\n InputGroup,\n} from \"react-bootstrap\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { Link } from \"react-router-dom\";\nimport PaymentSection from \"./PaymentSection\";\nimport ProfileSideBar from \"./ProfileSideBar\";\n\nconst PaymentMethod = (props) => {\n const t = useTranslation();\n\n const [selectedCard, setSelectedCard] = useState(null);\n\n return (\n <>\n <div className=\"profile-sec\">\n <Container>\n <Row>\n <Col xl={3} md={12} lg={4}>\n <div className=\"new-mobile-section\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col xl={9} md={12} lg={8}>\n <div className=\"profile-details-sec\">\n <div className=\"profile-details-title\">\n <h4>{t(\"payment_method\")}</h4>\n </div>\n <div className=\"address-tab\">\n <Tab.Container\n id=\"left-tabs-example\"\n defaultActiveKey=\"first\"\n >\n <Row>\n {/* <Col md={12}>\n <Nav variant=\"pills\">\n <Nav.Item>\n <Nav.Link eventKey=\"first\">Cards</Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link eventKey=\"second\">Others</Nav.Link>\n </Nav.Item>\n </Nav>\n </Col> */}\n <Col md={12}>\n <Tab.Content>\n <Tab.Pane eventKey=\"first\">\n <PaymentSection\n selectedCard={selectedCard}\n setSelectedCard={setSelectedCard}\n />\n </Tab.Pane>\n <Tab.Pane eventKey=\"second\"></Tab.Pane>\n </Tab.Content>\n </Col>\n </Row>\n </Tab.Container>\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nexport default (withTranslation(PaymentMethod));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/Withdraw.jsx",["904","905","906","907","908","909","910"],[],"import React, { useEffect, useState } from \"react\";\nimport {\n Row,\n Col,\n Container,\n Form,\n Image,\n Button,\n Table,\n} from \"react-bootstrap\";\nimport ProfileSideBar from \"./ProfileSideBar\";\nimport { Link } from \"react-router-dom\";\nimport InfiniteScroll from \"react-infinite-scroll-component\";\nimport Skeleton from \"react-loading-skeleton\";\nimport { useNavigate } from \"react-router-dom\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport {\n fetchMoreWithdrawlRequestStart,\n fetchWithdrawlRequestsStart,\n fetchUserWalletDetailsStart,\n cancelWithdrawalRequestStart,\n} from \"../store/actions/WalletAction\";\nimport OverlayTrigger from \"react-bootstrap/OverlayTrigger\";\nimport Tooltip from \"react-bootstrap/Tooltip\";\nimport { getSuccessNotificationMessage } from \"../Helper/ToastNotification\";\nimport { connect } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CommonCenterLoader from \"../Helper/CommonCenterLoader\";\nimport NoDataFound from \"../Helper/NoDataFound\";\n\nconst Withdraw = (props) => {\n const navigate = useNavigate();\n const [skipFirst, setSkipFirst] = useState(true);\n const t = useTranslation();\n\n useEffect(() => {\n props.dispatch(\n fetchWithdrawlRequestsStart({\n skip: 0,\n take: 12,\n })\n );\n }, []);\n\n\n const fetchMoreWithdraw = () => {\n props.dispatch(\n fetchMoreWithdrawlRequestStart({\n skip: props.withdrawRequestList.data.user_withdrawals.length,\n take: 12,\n })\n );\n };\n\n const onCopy = () => {\n props.dispatch(getSuccessNotificationMessage(t(\"transaction_id_copied\")));\n };\n\n const cancelWithdraw = (user_withdrawal_unique_id) => {\n props.dispatch(\n cancelWithdrawalRequestStart({\n user_withdrawal_unique_id: user_withdrawal_unique_id,\n })\n );\n };\n\n useEffect(() => {}, [cancelWithdraw]);\n\n return (\n <>\n <div className=\"profile-sec\">\n <Container>\n <Row>\n <Col xl={3} md={12} lg={4}>\n <div className=\"new-mobile-section\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col xl={9} md={12} lg={8}>\n <div className=\"profile-details-sec\">\n <div className=\"profile-details-title\">\n <h4>{t(\"withdraw\")}</h4>\n </div>\n { props.withdrawRequestList.loading ?\n <Skeleton\n height={100}\n />\n :\n <div className=\"wallet-box\">\n <div className=\"wallet-amount\">\n <h4>\n {\n props.userWalletDetails.data.user_wallet\n ? props.userWalletDetails.data.user_wallet\n .remaining_formatted\n : \"0.00 USD\"}\n </h4>\n <p>{t(\"current_wallet_balance\")}</p>\n </div>\n <div className=\"wallet-btn\">\n <Link to=\"/wallet-withdraw-money\" className=\"black-btn\">\n <span>\n <Image\n src={\n window.location.origin + \"/images/withdrawal.png\"\n }\n type=\"image/png\"\n />\n </span>\n {t(\"withdraw\")}\n </Link>\n </div>\n </div>\n }\n <div className=\"wallet-table-sec mt-4\">\n <h5>{t(\"all_transaction_details\")}</h5>\n {props.withdrawRequestList.loading ? (\n <CommonCenterLoader />\n ) : (\n <InfiniteScroll\n dataLength={\n props.withdrawRequestList.data.user_withdrawals.length\n }\n next={fetchMoreWithdraw}\n hasMore={\n props.withdrawRequestList.data.user_withdrawals.length <\n props.withdrawRequestList.data.total\n }\n loader={<CommonCenterLoader />}\n >{\n props.withdrawRequestList.data.user_withdrawals &&\n props.withdrawRequestList.data.user_withdrawals\n .length > 0\n ? \n <Table striped bordered hover responsive>\n <thead>\n <tr>\n <th>{t(\"date\")}</th>\n <th>{t(\"transaction_id\")}</th>\n <th>{t(\"account\")}</th>\n <th>{t(\"withdrawal\")}</th>\n <th>{t(\"status\")}</th>\n <th>{t(\"action\")}</th>\n </tr>\n </thead>\n <tbody>\n {props.withdrawRequestList.data.user_withdrawals.map(\n (withdraw, i) => (\n <tr key={i}>\n <td>{withdraw.created_formatted}</td>\n <td>\n {withdraw.payment_id ? (\n <OverlayTrigger\n placement=\"top\"\n overlay={\n <Tooltip>\n {withdraw.payment_id}\n </Tooltip>\n }\n >\n <div\n className=\"transaction-id-sec\"\n title={withdraw.payment_id}\n >\n <CopyToClipboard\n text={withdraw.payment_id}\n onCopy={() => onCopy()}\n >\n <span>{withdraw.payment_id}</span>\n </CopyToClipboard>\n </div>\n </OverlayTrigger>\n ) : (\n \"-\"\n )}\n </td>\n <td>\n {withdraw.user_billing_account_name}\n </td>\n <td>\n {withdraw.requested_amount_formatted}\n </td>\n <td>{withdraw.status_formatted}</td>\n <td className=\"transaction-success\">\n {withdraw.status === 0 ? (\n <Button\n variant=\"danger\"\n onClick={(e) =>\n cancelWithdraw(\n withdraw.user_withdrawal_unique_id\n )\n }\n disabled={\n props.cancelWithdrawRequest\n .buttonDisable &&\n props.cancelWithdrawRequest.data\n .user_withdrawal_unique_id ===\n withdraw.user_withdrawal_unique_id\n }\n >\n {props.cancelWithdrawRequest.data\n .user_withdrawal_unique_id ===\n withdraw.user_withdrawal_unique_id &&\n props.cancelWithdrawRequest\n .loadingButtonContent\n ? props.cancelWithdrawRequest\n .loadingButtonContent\n : t(\"cancel\")}\n </Button>\n ) : (\n \"-\"\n )}\n </td>\n </tr>\n )\n )\n }\n </tbody>\n </Table>\n : \n <NoDataFound/>\n }\n </InfiniteScroll>\n )}\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n withdrawRequestList: state.wallet.withdrawRequestList,\n cancelWithdrawRequest: state.wallet.cancelWithdrawRequest,\n userWalletDetails: state.wallet.userWalletDetails,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(Withdraw));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/WalletAddMoney.jsx",["911","912","913","914","915"],[],"import React, { useEffect, useState } from \"react\";\nimport {\n Row,\n Col,\n Container,\n Form,\n Image,\n Button,\n Table,\n InputGroup,\n} from \"react-bootstrap\";\nimport ProfileSideBar from \"./ProfileSideBar\";\nimport { Link } from \"react-router-dom\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport { walletPaymentByStripeStart } from \"../store/actions/WalletAction\";\nimport PaymentSection from \"./PaymentSection\";\nimport { getErrorNotificationMessage } from \"../Helper/ToastNotification\";\nimport { connect } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport * as Yup from \"yup\";\n\nconst WalletAddMoney = (props) => {\n const navigate = useNavigate();\n const t = useTranslation();\n const [skipFirst, setSkipFirst] = useState(true);\n const [selectedCard, setSelectedCard] = useState(null);\n\n const addMoney = (values) => {\n if (values.amount && selectedCard) {\n props.dispatch(\n walletPaymentByStripeStart({\n amount: values.amount,\n user_card_id: selectedCard,\n })\n );\n } else if (!values.amount) {\n props.dispatch(getErrorNotificationMessage(\"Please enter the amount\"));\n } else if (!selectedCard) {\n props.dispatch(\n getErrorNotificationMessage(\"Please add or select a card\")\n );\n }\n };\n\n const addAmountSchema = Yup.object().shape({\n amount: Yup.string().required(t(\"amount_required\")),\n });\n\n useEffect(() => {\n if (\n !skipFirst &&\n !props.walletPaymentByStripe.loading &&\n Object.keys(props.walletPaymentByStripe.data).length > 0\n ) {\n navigate(\"/profile-wallet\");\n }\n setSkipFirst(false);\n }, [props.walletPaymentByStripe]);\n\n return (\n <>\n <div className=\"profile-sec\">\n <Container>\n <Row>\n <Col xl={3} md={12} lg={4}>\n <div className=\"new-mobile-section\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col xl={9} md={12} lg={8}>\n <div className=\"profile-details-sec\">\n <div className=\"profile-details-title\">\n <h4>{t(\"add_money\")}</h4>\n </div>\n <Formik\n initialValues={{\n amount: \"\",\n }}\n validationSchema={addAmountSchema}\n onSubmit={addMoney}\n >\n <FORM>\n <div className=\"add-money-sec\">\n <div className=\"add-money-input\">\n <Form.Group className=\"\">\n <Field\n type=\"number\"\n className=\"form-control\"\n name=\"amount\"\n placeholder={t(\"amount_placeholder\")}\n min=\"0\"\n />\n <ErrorMessage\n component={\"div\"}\n name=\"amount\"\n className=\"text-danger\"\n />\n </Form.Group>\n <div className=\"currency\">$</div>\n </div>\n <div className=\"add-money-btn\">\n <Button\n type=\"submit\"\n disabled={props.walletPaymentByStripe.buttonDisable}\n >\n {props.walletPaymentByStripe.loadingButtonContent\n ? props.walletPaymentByStripe.loadingButtonContent\n : t(\"add_money\")}\n </Button>\n </div>\n </div>\n </FORM>\n </Formik>\n <PaymentSection\n selectedCard={selectedCard}\n setSelectedCard={setSelectedCard}\n />\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n walletPaymentByStripe: state.wallet.walletPaymentByStripe,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(WalletAddMoney));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/OrderTrackingIndex.jsx",["916","917","918","919","920","921","922","923"],[],"import React, { useEffect, useState } from \"react\";\nimport { Row, Col, Container, Form, Image, Button } from \"react-bootstrap\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport \"./OrderTracking.css\";\nimport { Link, Navigate, useParams } from \"react-router-dom\";\nimport { fetchOrdersDetailsStart, ordersSendCancelRequestStart, ordersSendReturnRequestStart } from \"../store/actions/OrdersAction\";\nimport { useNavigate } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport Skeleton from \"react-loading-skeleton\";\nimport { invoiceOrdersStart } from '../store/actions/OrdersAction';\nimport { apiUrl } from \"../Environment\";\nimport OrderReturnModal from \"./OrderReturnModal\";\n\n\nconst OrderTrackingIndex = (props) => {\n const t = useTranslation();\n const params = useParams();\n const navigate = useNavigate();\n\n const [skipRender, setSkipRender] = useState();\n const [orderReturnModal, setOrderReturnModal] = useState(false);\n\n useEffect(() => {\n props.dispatch(fetchOrdersDetailsStart({ order_unique_id: params.orderUniqueId }));\n }, [params.orderUniqueId]);\n\n const closeOrderReturnModal = () => {\n setOrderReturnModal(false);\n }\n\n const handleBack = () => {\n navigate(-1);\n }\n\n const download = () => {\n const url = apiUrl + \"orders_invoice\";\n let formData = new FormData();\n formData.append(\"id\", localStorage.getItem(\"userId\"));\n formData.append(\"token\", localStorage.getItem(\"accessToken\"));\n formData.append(\"order_unique_id\", props.orderDetails.data.order.order_unique_id);\n formData.append(\"invoice_via\", \"download\");\n fetch(url, {\n method: \"POST\",\n headers: {},\n body: formData,\n })\n .then((response) => {\n response.arrayBuffer().then(function (buffer) {\n const url = window.URL.createObjectURL(new Blob([buffer]));\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", `order_${props.orderDetails.data.order.order_unique_id}.pdf`); //or any other extension\n document.body.appendChild(link);\n link.click();\n });\n })\n .catch((err) => {\n console.log(err);\n });\n };\n\n const cancelOrder = () => {\n props.dispatch(ordersSendCancelRequestStart({\n order_unique_id: props.orderDetails.data.order.order_unique_id,\n }));\n }\n\n\n return (\n <div className=\"order-tracking-sec\">\n <Container>\n {props.orderDetails.loading ?\n <>\n <Skeleton count={2} height={100} className='mb-2' />\n <Skeleton count={2} height={200} className='mb-2' />\n </>\n : props.orderDetails.data.order ?\n (<Row>\n <Col md={12}>\n <div className=\"order-tracking-header\">\n <div className=\"order-tracking-header-info\" >\n <Button className=\"back-btn\" onClick={() => handleBack()}>\n <Image src={window.location.origin + \"/images/back-button.svg\"} />\n </Button>\n <h4>{t(\"tracking_order_number\")} {props.orderDetails.data.order.order_unique_id}</h4>\n </div>\n <div className=\"order-tracking-action-btn\">\n <Button className=\"download-receipt-btn\" onClick={() => download()}>\n {t(\"download_receipt\")}\n </Button>\n {props.orderDetails.data.order.order_tracking.status < 4 ?\n <Button\n disabled={props.cancelOrder.buttonDisabled}\n onClick={() => cancelOrder()}\n className=\"download-receipt-btn\"\n >\n {props.cancelOrder.loadingButtonContent ? props.cancelOrder.loadingButtonContent : t(\"cancel_order\")}\n </Button>\n : props.orderDetails.data.order.order_tracking.status === 5 &&\n props.orderDetails.data.order.is_return_available ?\n <Button\n disabled={props.returnOrder.buttonDisabled}\n onClick={() => setOrderReturnModal(true)}\n className=\"download-receipt-btn\"\n >\n {props.returnOrder.loadingButtonContent ? props.returnOrder.loadingButtonContent : t(\"return_order\")}\n </Button>\n : null\n }\n </div>\n </div>\n <div className=\"order-tracking-status-box\">\n <div className=\"order-tracking-status-card\">\n <span>{t(\"shipped_via\")}</span>\n Poshmarkets\n </div>\n <div className=\"order-tracking-status-card\">\n <span>{t(\"status\")}</span>\n {props.orderDetails.data.order.status_formatted}\n </div>\n <div className=\"order-tracking-status-card\">\n <span>{t(\"expected_date\")}</span>\n {props.orderDetails.data.order.expected_at_formatted}\n </div>\n </div>\n <div className=\"order-tracking-summary-sec\">\n <div className=\"address-details\">\n <h3>{t(\"deliver_to\")}</h3>\n <h4>{props.orderDetails.data.order.delivery_address.name}</h4>\n <p className=\"address-block\">\n {props.orderDetails.data.order.delivery_address.address}{\"\\n\"}\n {props.orderDetails.data.order.delivery_address.city}{\" \"}\n {props.orderDetails.data.order.delivery_address.state}{\" \"}\n {props.orderDetails.data.order.delivery_address.pincode}{\"\\n\"}\n {props.orderDetails.data.order.delivery_address.landmark}{\"\\n\"}\n {props.orderDetails.data.order.delivery_address.contact_number}\n </p>\n </div>\n <div className=\"order-tracking-amount-sec\">\n <h3>{t(\"order_summary\")}</h3>\n <div className=\"cart-summary-info\">\n <div className=\"cart-summary-header\">\n <p>\n {t(\"cart_total\")}<span>{props.orderDetails.data.order.order_amount.order_total_amount}</span>\n </p>\n <p>\n {t(\"discount\")} <span>-{props.orderDetails.data.order.order_amount.order_discount_total}</span>\n </p>\n </div>\n <div className=\"cart-summary-total-amount\">\n <h5>\n {t(\"order_total\")} <span>{props.orderDetails.data.order.order_amount.order_checkout_amount}</span>\n </h5>\n </div>\n </div>\n </div>\n </div>\n <Row>\n <Col md={12} xl={4}>\n <div className=\"order-tracking-box\">\n {/* <ul className=\"order-tracking-progressbar\">\n <li className=\"active step0\">Confirmed Order</li>\n <li className=\"step0\">Processing Order</li>\n <li className=\"step0\">Product Dispatched</li>\n <li className=\"step0\">Product Delivered</li>\n </ul> */}\n <ul className=\"order-tracking-progress\">\n <li className=\"progress-item progress-item-completed progress-item-active\">\n <p className=\"progress-info\">\n {t(\"confirmed_order\")}\n <div>{props.orderDetails.data.order.order_tracking.received_at_formatted}</div>\n </p>\n </li>\n {props.orderDetails.data.order.order_tracking.status >= 6 &&\n !props.orderDetails.data.order.order_tracking.awaiting_pickup_at_formatted ?\n null\n : <li className={`progress-item \n ${props.orderDetails.data.order.order_tracking.status >= 2 ? \"progress-item-completed progress-item-active\" : \"\"}\n `}>\n <p className=\"progress-info\">{t(\"processing_order\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.awaiting_pickup_at_formatted}</div>\n </li>\n }\n {props.orderDetails.data.order.order_tracking.status >= 6 &&\n !props.orderDetails.data.order.order_tracking.awaiting_shipment_at_formatted ?\n null\n : <li className={`progress-item \n ${props.orderDetails.data.order.order_tracking.status >= 3 ? \"progress-item-completed progress-item-active\" : \"\"}\n `}>\n <p className=\"progress-info\">{t(\"product_dispatched\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.awaiting_shipment_at_formatted}</div>\n </li>\n }\n {props.orderDetails.data.order.order_tracking.status >= 6 &&\n !props.orderDetails.data.order.order_tracking.shipped_at_formatted ?\n null\n : <li className={`progress-item \n ${props.orderDetails.data.order.order_tracking.status >= 4 ? \"progress-item-completed progress-item-active\" : \"\"}\n `}>\n <p className=\"progress-info\">{t(\"product_shipped\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.shipped_at_formatted}</div>\n </li>\n }\n {props.orderDetails.data.order.order_tracking.status >= 6 &&\n !props.orderDetails.data.order.order_tracking.completed_at_formatted ?\n null\n : <li className={`progress-item \n ${props.orderDetails.data.order.order_tracking.status >= 5 ? \"progress-item-completed progress-item-active\" : \"\"}\n `}>\n <p className=\"progress-info\">{t(\"product_delivered\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.completed_at_formatted}</div>\n </li>\n }\n {props.orderDetails.data.order.order_tracking.status >= 6\n ? <>\n {props.orderDetails.data.order.order_tracking.cancelled_at_formatted ?\n <li className=\"progress-item cancel progress-item-active\">\n <p className=\"progress-info\">{t(\"cancelled\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.cancelled_at_formatted}</div>\n </li>\n : null\n }\n {props.orderDetails.data.order.order_tracking.return_initiated_at_formatted ?\n <li className=\"progress-item return progress-item-active\">\n <p className=\"progress-info\">{t(\"return\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.return_initiated_at_formatted}</div>\n </li>\n : null\n }\n {props.orderDetails.data.order.order_tracking.return_rejected_at_formatted ?\n <li className=\"progress-item cancel progress-item-active\">\n <p className=\"progress-info\">{t(\"return_rejected\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.return_rejected_at_formatted}</div>\n </li>\n : null\n }\n {props.orderDetails.data.order.order_tracking.return_accepted_at_formatted ?\n <li className=\"progress-item success progress-item-active\">\n <p className=\"progress-info\">{t(\"return_accepted\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.return_accepted_at_formatted}</div>\n </li>\n : null\n }\n {props.orderDetails.data.order.order_tracking.return_user_damage_at_formatted ?\n <li className=\"progress-item cancel progress-item-active\">\n <p className=\"progress-info\">{t(\"pickup_rejected\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.return_user_damage_at_formatted}</div>\n </li>\n : null\n }\n {props.orderDetails.data.order.order_tracking.return_success_at_formatted ?\n <li className=\"progress-item success progress-item-active\">\n <p className=\"progress-info\">{t(\"pickup_completed\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.return_success_at_formatted}</div>\n </li>\n : null\n }\n {props.orderDetails.data.order.order_tracking.refund_initiated_at_formatted ?\n <li className=\"progress-item return progress-item-active\">\n <p className=\"progress-info\">{t(\"refund_initiated\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.refund_initiated_at_formatted}</div>\n </li>\n : null\n }\n {props.orderDetails.data.order.order_tracking.refund_failed_at_formatted ?\n <li className=\"progress-item cancel\">\n <p className=\"progress-info\">{t(\"refund_failed\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.refund_failed_at_formatted}</div>\n </li>\n : null\n }\n {props.orderDetails.data.order.order_tracking.refund_success_at_formatted ?\n <li className=\"progress-item success progress-item-active\">\n <p className=\"progress-info\">{t(\"refund_completed\")}</p>\n <div>{props.orderDetails.data.order.order_tracking.refund_success_at_formatted}</div>\n </li>\n : null\n }\n </>\n : null\n }\n </ul>\n </div>\n </Col>\n <Col md={12} xl={8}>\n <div className=\"order-detail-item\">\n {props.orderDetails.data.order.order_products.map((products, i) => (\n <div className=\"order-detail-box\">\n <div className=\"order-product-details\">\n <div className=\"checkout-product-img\">\n <Image\n className=\"checkout-img\"\n src={products.product.file}\n type=\"image/png\"\n />\n </div>\n <div className=\"checkout-product-content\">\n <h4>{products.product.name}\n </h4>\n <p>\n {t(\"category\")}<span>{products.product.category_name}</span>\n </p>\n <p>\n {t(\"vol\")}<span>{products.product.gross_weight_formatted}</span>\n </p>\n <p>\n {t(\"qty\")}<span>{products.quantity}</span>\n </p>\n </div>\n </div>\n <div className=\"order-pricing-details\">\n <div className=\"checkout-product-content\">\n <h4>{products.product.selling_price_formatted}</h4>\n <h5>\n {products.product.discount_tag}\n {products.discount_tag ? <span>{products.product.original_price_formatted}</span> : null}\n </h5>\n </div>\n </div>\n </div>\n ))}\n {/* <div className=\"order-detail-box\">\n <div className=\"order-product-details\">\n <div className=\"checkout-product-img\">\n <Image\n src={window.location.origin + \"/images/item-1.png\"}\n type=\"image/png\"\n />\n </div>\n <div className=\"checkout-product-content\">\n <h4>250MG CBD PET DROPS</h4>\n <p>\n CATEGORY<span>PET DROPS</span>\n </p>\n <p>\n VOL<span>250 MG</span>\n </p>\n <p>\n QTY<span>01</span>\n </p>\n </div>\n </div>\n <div className=\"order-pricing-details\">\n <div className=\"checkout-product-content\">\n <h4>264 PSCN</h4>\n <h5>\n 20% OFF <span>364 PSCN</span>\n </h5>\n </div>\n </div>\n </div> */}\n {/* <div className=\"address-btn\">\n <Link to=\"\" className=\"address-button\">\n {t(\"view_more\")}\n </Link>\n </div> */}\n </div>\n </Col>\n </Row>\n </Col>\n </Row>\n )\n : <NoDataFound />\n }\n </Container>\n {orderReturnModal ?\n <OrderReturnModal\n orderReturnModal={orderReturnModal}\n closeOrderReturnModal={closeOrderReturnModal}\n orderUniqueId={props.orderDetails.data.order.order_unique_id}\n />\n : null\n }\n </div>\n );\n};\n\n\nconst mapStateToPros = (state) => ({\n orderDetails: state.orders.orderDetails,\n cancelOrder: state.orders.cancelOrder,\n returnOrder: state.orders.returnOrder,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(OrderTrackingIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/OrderTransactions.jsx",["924","925","926","927","928","929","930","931","932"],[],"import React, { useEffect, useState } from \"react\";\nimport {\n Row,\n Col,\n Container,\n Form,\n Image,\n Button,\n Dropdown,\n Table\n} from \"react-bootstrap\";\nimport ProfileSideBar from \"./ProfileSideBar\";\nimport { Link } from \"react-router-dom\";\nimport {\n transactionListStart,\n moreTransactionListStart,\n} from \"../store/actions/OrdersAction\";\nimport InfiniteScroll from \"react-infinite-scroll-component\";\nimport Skeleton from \"react-loading-skeleton\";\nimport { useNavigate } from \"react-router-dom\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport OverlayTrigger from \"react-bootstrap/OverlayTrigger\";\nimport Tooltip from \"react-bootstrap/Tooltip\";\nimport { getSuccessNotificationMessage } from \"../Helper/ToastNotification\";\nimport { connect } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CommonCenterLoader from \"../Helper/CommonCenterLoader\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport OrderDetailsNotFound from \"../Helper/OrderDetailsNotFound\";\n\nconst OrderTransactions = (props) => {\n const t = useTranslation();\n useEffect(() => {\n props.dispatch(\n transactionListStart()\n );\n }, []);\n const fetchMoreTransactions = () => {\n props.dispatch(\n moreTransactionListStart({\n skip: props.transactionLists.data.order_payments.length,\n take: 12,\n })\n );\n };\n const onCopy = () => {\n props.dispatch(getSuccessNotificationMessage(t(\"transaction_id_copied\")));\n };\n return (\n <div className=\"profile-sec\">\n <Container>\n <Row>\n <Col xl={3} md={12} lg={4}>\n <div className=\"new-mobile-section\">\n <ProfileSideBar />\n </div>\n </Col>\n <Col xl={9} md={12} lg={8}>\n <div className=\"profile-details-sec\">\n <div className=\"profile-details-title\">\n <h4>{t(\"order_transactions\")}</h4>\n </div>\n <div className=\"wallet-table-sec mt-4\">\n <h5>{t(\"all_transactions\")}</h5>\n {props.transactionLists.loading ? (\n <CommonCenterLoader />\n ) : (\n <InfiniteScroll\n dataLength={\n props.transactionLists.data.order_payments.length\n }\n next={fetchMoreTransactions}\n hasMore={\n props.transactionLists.data.order_payments.length <\n props.transactionLists.data.total_order_payments\n\n }\n loader={<CommonCenterLoader />}\n >\n {props.transactionLists.data.order_payments &&\n props.transactionLists.data.order_payments.length >\n 0 ? (\n <Table striped bordered hover responsive>\n <thead>\n <tr>\n <th>{t(\"date\")}</th>\n <th>{t(\"transaction_id\")}</th>\n <th>{t(\"amount\")}</th>\n <th>{t(\"status\")}</th>\n <th>{t(\"action\")}</th>\n </tr>\n </thead>\n <tbody>\n {props.transactionLists.data.order_payments.map(\n (orders, i) => (\n <tr key={i}>\n <td>{orders.paid_date}</td>\n <td style={{ cursor: \"pointer\" }}>\n {orders.payment_id ? (\n <OverlayTrigger\n placement=\"top\"\n overlay={\n <Tooltip>{orders.payment_id}</Tooltip>\n }\n >\n <div className=\"transaction-id-sec\">\n <CopyToClipboard\n text={orders.payment_id}\n onCopy={() => onCopy()}\n >\n <span>{orders.payment_id}</span>\n </CopyToClipboard>\n </div>\n </OverlayTrigger>\n ) : (\n \"-\"\n )}\n </td>\n <td>\n {orders.total_formatted}\n </td>\n <td className=\"text-success\">\n {orders.status_formatted}\n </td>\n <td>\n <Link className=\"black-btn\" to={`/order-transactions/${orders.order_unique_id}`}>\n {t(\"view\")}\n </Link>\n </td>\n </tr>)\n )}\n </tbody>\n </Table>\n ) : (\n <>\n <NoDataFound />\n <div className=\"continue-shopping-btn-sec text-center\">\n <Link to=\"/shop\" className=\"continue-shopping-btn\">\n {t(\"continue_shopping\")}\n </Link>\n </div>\n </>\n )}\n </InfiniteScroll>\n )}\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n );\n};\n\nconst mapStateToPros = (state) => ({\n transactionLists: state.orders.transactionLists,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(OrderTransactions));\n","/home/ubuntu/misabloom-frontend-base/src/components/Contact/ContactUs.jsx",["933","934","935","936","937","938"],[],"import React, { useEffect, useRef, useState } from \"react\";\nimport {\n Container,\n Row,\n Col,\n Image,\n Form,\n Button,\n Accordion,\n} from \"react-bootstrap\";\nimport { contactSubmitStart } from \"../store/actions/HomePageAction\";\nimport { Link } from \"react-router-dom\";\nimport \"./Contact.css\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport * as Yup from \"yup\";\nimport configuration from \"react-global-configuration\";\nimport { connect } from \"react-redux\";\nimport FAQIndex from \"../landingPage/FAQIndex\";\n\nconst ContactUs = (props) => {\n const t = useTranslation();\n const [skipRender, setSkipRender] = useState(true);\n const contactRef = useRef();\n\n const contactSchema = Yup.object().shape({\n name: Yup.string().required(t(\"name_required\")),\n email: Yup.string().email(t(\"invalid_email\")).required(t(\"email_required\")),\n query: Yup.string().required(t(\"query_required\")),\n mobile: Yup.string().matches(\n /^(?=.*[0-9])(?=.{9,})/,\n t(\"must_contain_9_characters\")\n ),\n });\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.contactSubmit.loading &&\n Object.keys(props.contactSubmit.data).length > 0\n ) {\n contactRef.current.resetForm();\n }\n setSkipRender(false);\n }, [props.contactSubmit]);\n\n const handleSubmit = (values) => {\n props.dispatch(contactSubmitStart(values));\n };\n\n return (\n <>\n <div className=\"contact-sec sm-padding\">\n <Container>\n <div className=\"contact-form contact-form-padding\">\n <Row className=\"justify-content-center\" >\n <Col md={6}>\n <div className=\"contact-form-details\">\n <div className=\"login-form\">\n <h3>{t(\"send_us_a_message\")}</h3>\n <p>{t(\"fill_the_form\")}</p>\n <Formik\n initialValues={{\n name: \"\",\n email: \"\",\n query: \"\",\n mobile: \"\",\n }}\n validationSchema={contactSchema}\n onSubmit={(values) => handleSubmit(values)}\n enableReinitialize={true}\n innerRef={contactRef}\n >\n <FORM>\n <Row>\n <Col lg={6}>\n <Form.Group className=\"mb-3\">\n <Field\n type=\"text\"\n name=\"name\"\n placeholder={t(\"name_placeholder\")}\n className=\"form-control\"\n />\n <ErrorMessage\n component={\"div\"}\n name=\"name\"\n className=\"text-danger text-right\"\n />\n </Form.Group>\n </Col>\n <Col lg={6}>\n <Form.Group className=\"mb-3\">\n <Field\n type=\"number\"\n name=\"mobile\"\n placeholder={t(\"mobile_placeholder\")}\n className=\"form-control\"\n min=\"0\"\n />\n <ErrorMessage\n component={\"div\"}\n name=\"mobile\"\n className=\"text-danger text-right\"\n />\n </Form.Group>\n </Col>\n <Col lg={12}>\n <Form.Group className=\"mb-3\">\n <Field\n type=\"email\"\n name=\"email\"\n placeholder={t(\"email_placeholder\")}\n className=\"form-control\"\n />\n <ErrorMessage\n component={\"div\"}\n name=\"email\"\n className=\"text-danger text-right\"\n />\n </Form.Group>\n </Col>\n <Col lg={12}>\n <Form.Group\n className=\"mb-3\"\n controlId=\"exampleForm.ControlTextarea1\"\n >\n <Field\n as=\"textarea\"\n name=\"query\"\n placeholder={t(\"query_placeholder\")}\n className=\"form-control\"\n Row={4}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"query\"\n className=\"text-danger text-right\"\n />\n </Form.Group>\n </Col>\n </Row>\n \n \n \n \n <div className=\"login-btn default-btn-sec\">\n <Button className=\"default-btn\" type=\"submit\">\n {t(\"send_message\")}\n </Button>\n </div>\n </FORM>\n </Formik>\n </div>\n </div>\n </Col>\n </Row>\n </div>\n </Container>\n {/* <div className=\"location-map-sec\">\n <iframe\n src=\"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3153.0500684385433!2d-122.40763478500494!3d37.78886637975676!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x80858089179bab83%3A0xa22f6f7dfec336da!2s210%20Post%20St%2C%20San%20Francisco%2C%20CA%2094108%2C%20USA!5e0!3m2!1sen!2sin!4v1659968709508!5m2!1sen!2sin\"\n width=\"100%\"\n height=\"250\"\n frameborder=\"0\"\n style={{ border: 0 }}\n allowfullscreen=\"\"\n aria-hidden=\"false\"\n tabindex=\"0\"\n ></iframe>\n </div> */}\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n contactSubmit: state.homepage.contactSubmit,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(ContactUs));\n","/home/ubuntu/misabloom-frontend-base/src/components/WishList/WishListIndex.jsx",["939","940","941","942","943","944","945","946","947","948","949"],[],"import React, { useState, useEffect } from \"react\";\nimport {\n Navbar,\n Container,\n Image,\n Nav,\n Row,\n Col,\n Button,\n Collapse,\n Form,\n InputGroup,\n} from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport {\n fetchProductWishlistListStart,\n fetchMoreProductWishlistListStart,\n} from \"../store/actions/ProductAction\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport ProductCard from \"../Product/ProductCard\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport Skeleton from 'react-loading-skeleton';\nimport 'react-loading-skeleton/dist/skeleton.css';\nimport InfiniteScroll from \"react-infinite-scroll-component\";\nimport NoWishListItemFound from \"../Helper/NoWishListItemFound\";\n\nconst WishListIndex = (props) => {\n\n const t = useTranslation();\n\n\n useEffect(() => {\n props.dispatch(fetchProductWishlistListStart({\n skip: 0,\n take: 12,\n }));\n }, []);\n\n const fetchMoreProducts = () => {\n props.dispatch(fetchMoreProductWishlistListStart({\n skip: props.productWishlists.data.products.length,\n take: 12,\n }));\n }\n\n return (\n <>\n <div className=\"product-search-sec\">\n <Container>\n <Row>\n <Col md={12}>\n <div className=\"section-title-sec\">\n <h3>{t(\"wishlist\")} ({props.productWishlists.data.products.length})</h3>\n </div>\n </Col>\n </Row>\n <Row className=\"mt-4\">\n <Col md={12}>\n {/* <div className=\"wish-list-box\"> */}\n {props.productWishlists.loading ?(\n <div className=\"wish-list-box\">\n {[...Array(8)].map((elementInArray, index) => (\n \n <Skeleton\n count={1}\n height={300}\n />\n \n ))}\n </div>\n ) : props.productWishlists.data.products &&\n props.productWishlists.data.products.length > 0 ? (\n <InfiniteScroll\n dataLength={props.productWishlists.data.products.length}\n next={fetchMoreProducts}\n hasMore={props.productWishlists.data.products.length <\n props.productWishlists.data.total_products}\n loader={<div className=\"wish-list-box\">\n <Skeleton\n count={1}\n height={300}\n />\n </div>}\n >\n <div className=\"wish-list-box\">\n {props.productWishlists.data.products.map((product, i) =>\n <ProductCard product={product} key={i} />\n )}\n </div>\n </InfiniteScroll>) :\n <NoWishListItemFound/>}\n {/* </div> */}\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n productWishlists: state.product.productWishlists,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(mapStateToPros, mapDispatchToProps)(withTranslation(WishListIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/Contact/AboutUs.jsx",["950","951"],[],"import React from \"react\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { Container, Row, Col, Image, Form, Button } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport configuration from \"react-global-configuration\";\n\nconst AboutUs = () => {\n const t = useTranslation();\n\n return (\n <>\n <div className=\"contact-sec\">\n <div className=\"contact-sec-bg about-sec-bg\">\n <div className=\"contact-banner-content\">\n <h2>{t(\"about_us\")}</h2>\n </div>\n </div>\n <div className=\"about-us-sec sm-padding\">\n <Container>\n <Row className=\"align-items-center gy-4\">\n <Col md={6}>\n <div className=\"contact-form-img text-center\">\n <Image\n src={window.location.origin + \"/images/about-img.jpg\"}\n type=\"image/png\"\n />\n </div>\n </Col>\n <Col md={6}>\n <div className=\"about-us-content\">\n <h3>{t(\"we_have_everything_you_need\")}</h3>\n <p>{t(\"about_us_page_content_1\",{site_name: `${configuration.get(\"configData.site_name\")}`})}</p>\n <p>{t(\"about_us_page_content_2\")}</p>\n <p>{t(\"about_us_page_content_3\",{site_name: `${configuration.get(\"configData.site_name\")}`})}</p>\n <Link to=\"/contact-us\" className=\"wishlist-btn mt-3\">\n {t(\"contact_us\")}\n </Link>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n <div className=\"connect-with-us-sec sm-padding\">\n <Container>\n <Row className=\"justify-content-center\">\n <Col md={8}>\n <div className=\"section-title text-center\">\n <h5>{t(\"top_selling_products\")}</h5>\n <h2>{t(\"our_services\")}</h2>\n </div>\n </Col>\n </Row>\n <Row className=\"justify-content-center g-4\">\n <Col md={6}>\n <div className=\"about-us-card\">\n <Image\n src={window.location.origin + \"/images/support.png\"}\n type=\"image/png\"\n />\n <h5>{t(\"24x7_support\")}</h5>\n <p>\n We are aware of the uncertainties and the volatile nature of\n the two industries we have merged in the making of\n {configuration.get(\"configData.site_name\")}, which is why we offer round the clock support\n for all your queries.\n </p>\n </div>\n </Col>\n <Col md={6}>\n <div className=\"about-us-card\">\n <Image\n src={window.location.origin + \"/images/shield-1.png\"}\n type=\"image/png\"\n />\n <h5>{t(\"100_percent_safe_products\")}</h5>\n <p>\n {\" \"}\n Customer satisfaction is of utmost importance to us, which\n is why all our products are sourced from the best and\n trusted vendors around the world making our products\n completely safe to use.\n </p>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n <div className=\"about-us-sec sm-padding\">\n <Container>\n <Row className=\"align-items-center gy-4\">\n <Col md={6}>\n <div className=\"about-us-content\">\n <h3>{t(\"we_have_everything_you_need\")}</h3>\n <p>\n IGNITE disrupts marketing norms with an authentic,\n quality-first mission, taking its expansion world-wide.\n Following its September 2018 US launch, 2019 saw expansion\n into the UK and Mexico, with continued expansion in 2020 to\n the Middle East and Canada with many more to come.\n </p>\n <p>\n IGNITE is unapologetic in our attitude and in our promise to\n provide the ultimate experience to our customers.\n </p>\n <p>It will always be the best or nothing for IGNITE.</p>\n <Link to=\"/contact-us\" className=\"wishlist-btn mt-3\">\n Contact Us\n </Link>\n </div>\n </Col>\n <Col md={6}>\n <div className=\"contact-form-img text-center\">\n <Image\n src={window.location.origin + \"/images/about-img-2.jpg\"}\n type=\"image/png\"\n />\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </div>\n </>\n );\n};\n\nexport default withTranslation(AboutUs);\n","/home/ubuntu/misabloom-frontend-base/src/components/Verification/VerificationIndex.jsx",["952","953","954"],[],"import React, { useEffect, useState } from \"react\";\nimport { Container, Row, Col, Form, Image, Button } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport \"./Verification.css\";\nimport OtpInput from \"react-otp-input\";\nimport { useNavigate } from \"react-router-dom\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { connect } from \"react-redux\";\nimport { verifyEmailStart, regenerateEmailVerificationCodeStart } from \"../store/actions/UserAction\";\nimport configuration from \"react-global-configuration\";\n\nconst VerificationIndex = (props) => {\n const t = useTranslation();\n\n const navigate = useNavigate();\n const [otp, setOTP] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [skipRender, setSkipRender] = useState(true);\n const handleChange = (otp) => setOTP(otp);\n\n useEffect(() => {\n if (localStorage.getItem(\"email\")) {\n setEmail(localStorage.getItem(\"email\"));\n } else {\n let userId = localStorage.getItem(\"userId\");\n let accessToken = localStorage.getItem(\"accessToken\");\n let userLoginStatus = localStorage.getItem(\"userLoginStatus\");\n let authentication = userId && accessToken && userLoginStatus == \"true\" ? true : false;\n if (authentication) {\n navigate(\"/\");\n } else {\n navigate(\"/register\");\n }\n }\n }, []);\n\n const verify = e => {\n e.preventDefault();\n if (otp && otp.length === 6) {\n props.dispatch(verifyEmailStart({\n email: email,\n verification_code: otp,\n }));\n }\n };\n\n const resend = () => {\n props.dispatch(regenerateEmailVerificationCodeStart({\n email: email,\n }));\n }\n\n useEffect(() => {\n if (!skipRender && !props.verifyEmail.loading && Object.keys(props.verifyEmail.data).length > 0) {\n if (localStorage.getItem('product')) {\n let product = localStorage.getItem('product');\n localStorage.removeItem('product')\n navigate(`/product/${product}`);\n }\n else {\n navigate(\"/\");\n }\n }\n setSkipRender(false);\n }, [props.verifyEmail]);\n\n return (\n <>\n <div className=\"verification-sec\">\n <Container>\n <Row className=\"justify-content-md-center\">\n <Col md={5}>\n <Link to=\"/login\">\n <div className=\"verification-logo-sec\">\n <Image\n className=\"verification-logo\"\n src={configuration.get(\"configData.site_logo\")}\n />\n </div>\n </Link>\n <div className=\"verification-box\">\n <h4>\n {t(\"enter_one_time_password\")}\n </h4>\n <p>{t(\"we_emailed_otp_to\")} {email}\n </p>\n <Form onSubmit={verify}>\n <div className=\"verification-item\">\n <OtpInput\n value={otp}\n onChange={handleChange}\n numInputs={6}\n isInputNum={true}\n shouldAutoFocus={true}\n separator={<span>-</span>}\n />\n </div>\n <div className=\"verification-btn-sec\">\n <Button\n className=\"wishlist-btn\"\n onClick={() => resend()}\n disabled={props.regenerateEmailVerificationCode.buttonDisable}\n >\n {props.regenerateEmailVerificationCode.loadingButtonContent ?\n props.regenerateEmailVerificationCode.loadingButtonContent\n : t(\"resend\")\n }\n </Button>\n <Button\n type=\"submit\"\n className=\"wishlist-btn\"\n disabled={otp.length < 6 && props.verifyEmail.buttonDisable}\n >\n {props.verifyEmail.loadingButtonContent ?\n props.verifyEmail.loadingButtonContent\n : t(\"validate\")\n }\n </Button>\n </div>\n </Form>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n verifyEmail: state.users.verifyEmail,\n regenerateEmailVerificationCode: state.users.regenerateEmailVerificationCode,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(mapStateToPros, mapDispatchToProps)(withTranslation(VerificationIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/Verification/AuthenticationIndex.jsx",["955","956","957"],[],"import React, { useEffect, useState } from \"react\";\nimport { Container, Row, Col, Form, Image, Button } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport \"./Verification.css\";\nimport OtpInput from \"react-otp-input\";\nimport { useNavigate } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { twoStepAuthLoginStart, twoStepAuthResendCodeStart } from \"../store/actions/UserAction\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport configuration from \"react-global-configuration\";\n\nconst AuthenticationIndex = (props) => {\n\n const navigate = useNavigate();\n const t = useTranslation();\n const [otp, setOTP] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [skipRender, setSkipRender] = useState(true);\n const handleChange = (otp) => setOTP(otp);\n\n useEffect(() => {\n if (localStorage.getItem(\"email\")) {\n setEmail(localStorage.getItem(\"email\"));\n } else {\n let userId = localStorage.getItem(\"userId\");\n let accessToken = localStorage.getItem(\"accessToken\");\n let userLoginStatus = localStorage.getItem(\"userLoginStatus\");\n let authentication = userId && accessToken && userLoginStatus == \"true\" ? true : false;\n if (authentication) {\n navigate(\"/\");\n } else {\n navigate(\"/login\");\n }\n }\n }, []);\n\n const verify = e => {\n e.preventDefault();\n if (otp && otp.length === 6) {\n props.dispatch(twoStepAuthLoginStart({\n email: email,\n code: otp,\n }));\n }\n };\n\n const resend = () => {\n props.dispatch(twoStepAuthResendCodeStart({\n email: email,\n }));\n }\n\n useEffect(() => {\n if (!skipRender && !props.twoStepAuthLogin.loading && Object.keys(props.twoStepAuthLogin.data).length > 0) {\n if (localStorage.getItem('product')) {\n let product = localStorage.getItem('product');\n localStorage.removeItem('product')\n navigate(`/product/${product}`);\n }\n else {\n navigate(\"/\");\n }\n }\n setSkipRender(false);\n }, [props.twoStepAuthLogin]);\n\n\n return (\n <>\n <div className=\"verification-sec\">\n <Container>\n <Row className=\"justify-content-md-center\">\n <Col md={5}>\n <Link to=\"/login\">\n <div className=\"verification-logo-sec\">\n <Image\n className=\"verification-logo\"\n src={configuration.get(\"configData.site_logo\")}\n />\n </div>\n </Link>\n <div className=\"verification-box\">\n <h4>\n {t(\"enter_one_time_password\")}\n </h4>\n <p>{t(\"we_emailed_otp_to\")} {email}\n </p>\n <Form onSubmit={verify}>\n <div className=\"verification-item\">\n <OtpInput\n value={otp}\n onChange={handleChange}\n numInputs={6}\n isInputNum={true}\n shouldAutoFocus={true}\n separator={<span>-</span>}\n />\n </div>\n <div className=\"verification-btn-sec\">\n <Button\n className=\"wishlist-btn\"\n onClick={() => resend()}\n disabled={props.twoStepAuthResedCode.buttonDisable}\n >\n {props.twoStepAuthResedCode.loadingButtonContent ?\n props.twoStepAuthResedCode.loadingButtonContent\n : t(\"resend\")\n }\n </Button>\n <Button\n type=\"submit\"\n className=\"wishlist-btn\"\n disabled={otp.length < 6 || props.twoStepAuthLogin.buttonDisable}\n >\n {props.twoStepAuthLogin.loadingButtonContent ?\n props.twoStepAuthLogin.loadingButtonContent\n : t(\"validate\")\n }\n </Button>\n </div>\n </Form>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n twoStepAuthLogin: state.users.twoStepAuthLogin,\n twoStepAuthResedCode: state.users.twoStepAuthResedCode,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(mapStateToPros, mapDispatchToProps)(withTranslation(AuthenticationIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/index.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/index.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Transaction/SingleTransaction.jsx",["958","959","960"],[],"/home/ubuntu/misabloom-frontend-base/src/components/layouts/Footer/FooterIndex.jsx",["961","962","963","964","965","966","967","968","969","970","971"],[],"import React, { useEffect } from \"react\";\nimport {\n Navbar,\n Container,\n Image,\n Nav,\n Row,\n Col,\n Form,\n Button,\n} from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport configuration from \"react-global-configuration\";\nimport { useTranslation, withTranslation } from \"react-multi-lang\";\nimport { fetchCategoriesListStart } from \"../../store/actions/HomePageAction\";\nimport { connect } from \"react-redux\";\n\nconst FooterIndex = (props) => {\n const t = useTranslation();\n\n\n useEffect(() => {\n props.dispatch(fetchCategoriesListStart());\n }, []);\n\n return (\n <>\n <footer className=\"footer-sec\">\n <div className=\"footer-header-sec pb-0\">\n <Container>\n <div className=\"footer-header-box\">\n {/* <div className=\"footer-header-card\">\n <div className=\"footer-header-icon-sec\">\n <Image\n className=\"footer-header-icon\"\n src={window.location.origin + \"/images/wallet.png\"}\n type=\"image/png\"\n />\n </div>\n <div className=\"footer-header-info\">\n <h4>{t(\"global_payments_options\")}</h4>\n </div>\n </div> */}\n <div className=\"footer-header-card\">\n <div className=\"footer-header-icon-sec\">\n <Image\n className=\"footer-header-icon\"\n src={\n window.location.origin + \"/images/24-hours-support.png\"\n }\n type=\"image/png\"\n />\n </div>\n <div className=\"footer-header-info\">\n <h4>24/7 {t(\"support_staff\")}</h4>\n </div>\n </div>\n <div className=\"footer-header-card\">\n <div className=\"footer-header-icon-sec\">\n <Image\n className=\"footer-header-icon\"\n src={window.location.origin + \"/images/shield.png\"}\n type=\"image/png\"\n />\n </div>\n <div className=\"footer-header-info\">\n <h4>100% {t(\"safe_products\")}</h4>\n </div>\n </div>\n </div>\n </Container>\n </div>\n <div className=\"space-liner\"></div>\n <div className=\"main-footer-sec\">\n <Container>\n <Row className=\"justify-content-center\">\n <Col md={4} xl={3} lg={3} className=\"resp-mrg-btm-md\">\n <div className=\"footer-company-widget\">\n <div className=\"footer-log-sec\">\n <Image\n className=\"footer-logo\"\n src={window.location.origin + \"/images/blooms/logo-white.svg\"}\n type=\"image/png\"\n alt={configuration.get(\"configData.site_name\")}\n />\n </div>\n <div className=\"footer-company-info mb-3\">\n <p>GST.No - 29ABACA8804G1ZO</p>\n </div>\n <div className=\"footer-company-info\">\n <p>{configuration.get(\"configData.footer_description\")}</p>\n </div>\n </div>\n </Col>\n <Col md={2} xl={2} lg={2} xs={6}>\n <div className=\"footer-widget pl-3\">\n <h4 className=\"text-uppercase\">Company</h4>\n <ul className=\"list-unstyled footer-link\">\n <li>\n <Link to=\"/page/track-your-order\">Track Your Order</Link>\n </li>\n <li>\n <Link to=\"/page/shipping-guidelines\">Shipping guidelines</Link>\n </li>\n \n <li>\n <Link to=\"/page/accessibility-statement\">Accessibility Statement</Link>\n </li>\n </ul>\n </div>\n </Col>\n <Col md={2} xl={2} lg={2} xs={6}>\n <div className=\"footer-widget\">\n <h4>Policies</h4>\n <ul className=\"list-unstyled footer-link\">\n <li>\n <Link to=\"/page/terms\">Terms & Conditions</Link>\n </li>\n <li>\n <Link to=\"/page/refund-policy\">Refund Policy</Link>\n </li>\n <li>\n <Link to=\"/page/privacy\">Privacy Policy</Link>\n </li>\n <li>\n <Link to=\"/page/about-us\">About Us</Link>\n </li>\n <li>\n <Link to=\"/contact-us\">Contact Us</Link>\n </li>\n {/*\n <li>\n <Link to=\"/contact-us\">Contact Us</Link>\n </li> */}\n {/* <li>\n <Link to=\"#\">FAQ's</Link>\n </li> */}\n {/* <li>\n <Link to=\"/page/news\">News</Link>\n </li> */}\n </ul>\n </div>\n </Col>\n {props.categoriesList.loading ? \n null \n :\n props.categoriesList.data.categories &&\n props.categoriesList.data.categories.length > 0 ?\n <Col md={2} xl={2} lg={2} xs={6}>\n \n <div className=\"footer-widget\">\n <h4>Category</h4>\n <ul className=\"list-unstyled footer-link\">\n {props.categoriesList.data.categories.map(\n (category, i) => (\n <li>\n <Link to=\n {`/shop?category=${category.category_unique_id}`}>{category.name}</Link>\n </li>\n ))}\n </ul>\n </div>\n </Col> \n : null\n }\n\n <Col md={2} xl={3} lg={3} xs={12}>\n <div className=\"footer-widget\">\n {/* <h4>{t(\"socials\")}</h4> */}\n <h4 className=\"text-uppercase\">Contact Us</h4>\n <div class=\"new-contact-address new-contact-landing-address\">\n {/* <h4>{t(\"india\")}</h4> */}\n {configuration.get(\"configData.contact_address\") ? (\n <div class=\"new-contact-link\">\n <div class=\"contact-address-img\">\n <Image\n src={\n window.location.origin + \"/images/location.svg\"\n }\n type=\"image/png\"\n />\n </div>\n <p>{configuration.get(\"configData.contact_address\")}</p>\n </div>\n ) : null}\n {configuration.get(\"configData.contact_mobile\") ? (\n <div class=\"new-contact-link\">\n \n <div class=\"contact-address-img\">\n <Image\n src={window.location.origin + \"/images/call.svg\"}\n type=\"image/png\"\n />\n </div>\n <a\n href={`tel:${configuration.get(\n \"configData.contact_mobile\"\n )}`}\n >\n {configuration.get(\"configData.contact_mobile\")}\n </a>\n </div>\n ) : null}\n {configuration.get(\"configData.contact_email\") ? (\n <div class=\"new-contact-link\">\n \n <div class=\"contact-address-img\">\n <Image\n src={window.location.origin + \"/images/mail.svg\"}\n type=\"image/png\"\n />\n </div>\n <a\n href={`mailto:${configuration.get(\n \"configData.contact_email\"\n )}`}\n >{configuration.get(\"configData.contact_email\")}\n </a>\n </div>\n ) : null}\n <div className=\"footer-contact-btn default-btn-sec mt-4\">\n <Link to=\"/contact-us\" className=\"default-btn\">\n Talk to us\n </Link>\n </div>\n </div>\n </div>\n </Col>\n </Row>\n <div className=\"copy-rights-sec\">\n <Row>\n <Col md={12}>\n <ul className=\"list-unstyled social-link\">\n {configuration.get(\"configData.instagram_link\") ? (\n <li>\n <a\n href={configuration.get(\"configData.instagram_link\")}\n target=\"_blank\"\n >\n <Image\n className=\"social-link-icon\"\n src={\n window.location.origin +\n \"/images/social-icon/instagram-icon.svg\"\n }\n type=\"image/png\"\n />\n </a>\n </li>\n ) : null}\n\n {configuration.get(\"configData.twitter_link\") ? (\n <li>\n <a\n href={configuration.get(\"configData.twitter_link\")}\n target=\"_blank\"\n >\n <Image\n className=\"social-link-icon\"\n src={\n window.location.origin +\n \"/images/social-icon/twitter-icon.svg\"\n }\n type=\"image/png\"\n />\n </a>\n </li>\n ) : null}\n\n {configuration.get(\"configData.linkedin_link\") ? (\n <li>\n <a\n href={configuration.get(\"configData.linkedin_link\")}\n target=\"_blank\"\n >\n <Image\n className=\"social-link-icon\"\n src={\n window.location.origin +\n \"/images/social-icon/linkedin-icon.svg\"\n }\n type=\"image/png\"\n />\n </a>\n </li>\n ) : null}\n\n {configuration.get(\"configData.facebook_link\") ? (\n <li>\n <a\n href={configuration.get(\"configData.facebook_link\")}\n target=\"_blank\"\n >\n <Image\n className=\"social-link-icon\"\n src={\n window.location.origin +\n \"/images/social-icon/facebook-icon.svg\"\n }\n type=\"image/png\"\n />\n </a>\n </li>\n ) : null}\n\n {configuration.get(\"configData.youtube_link\") ? (\n <li>\n <a\n href={configuration.get(\"configData.youtube_link\")}\n target=\"_blank\"\n >\n <Image\n className=\"social-link-icon\"\n src={\n window.location.origin +\n \"/images/social-icon/youtube-icon.svg\"\n }\n type=\"image/png\"\n />\n </a>\n </li>\n ) : null}\n </ul>\n <div className=\"space-liner\"></div>\n <div className=\"copyright-sub-sec\">\n <h4>2025 © Copyrights AMIGOMI INFOSOLUTION PRIVATE LIMITED.</h4>\n </div>\n </Col>\n </Row>\n </div>\n </Container>\n </div>\n {/* <div className=\"sub-footer-sec\">\n <Container>\n <Row>\n <Col md={12}>\n <div className=\"sub-footer-box\">\n <div className=\"sub-footer-info\">\n <h3>{t(\"subscribe_to_our_newsletter_wedontspam\")}</h3>\n <ul className=\"list-unstyled sub-footer-link\">\n <li>\n <Link to=\"#\">{t(\"product_recommendation\")}</Link>\n </li>\n <li>\n <Link to=\"#\">{t(\"industry_updates\")}</Link>\n </li>\n <li>\n <Link to=\"#\">{t(\"discounts_offers\")}</Link>\n </li>\n <li>\n <Link to=\"#\">{t(\"learn_about_Fashion\")}</Link>\n </li>\n <li>\n <Link to=\"#\">{t(\"product_adoption_ideas\")}</Link>\n </li>\n </ul>\n </div>\n <div className=\"sub-footer-btn-sec\">\n <Button className=\"subscribe-btn\">{t(\"subscribe\")}</Button>\n </div>\n </div>\n </Col>\n </Row>\n </Container>\n </div> */}\n </footer>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n categoriesList: state.homepage.categoriesList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(FooterIndex);\n\n\n\n\n\n","/home/ubuntu/misabloom-frontend-base/src/components/layouts/Header/EmptyHeader.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/layouts/Footer/EmptyFooter.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/layouts/Header/HeaderIndex.jsx",["972","973","974","975","976","977","978"],[],"import React, { useState, useEffect } from \"react\";\nimport {\n Navbar,\n Container,\n Image,\n Nav,\n Dropdown,\n InputGroup,\n Form,\n Button,\n} from \"react-bootstrap\";\nimport { Link, useNavigate, useLocation } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { fetchUserDetailsStart } from \"../../store/actions/UserAction\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport configuration from \"react-global-configuration\";\nimport { guestCartList } from \"../../store/actions/CartsAction\";\nimport SearchSuggetion from \"../../Helper/SearchSuggetion\";\nimport { fetchProductSuggetionStart } from \"../../store/actions/ProductAction\";\n\nconst HeaderIndex = (props) => {\n const navigate = useNavigate();\n const location = useLocation();\n const t = useTranslation();\n\n const [search, setSearch] = useState(\"\");\n const [showSuggetions, setShowSuggetions] = useState(false);\n\n useEffect(() => {\n if (localStorage.getItem(\"userId\") && localStorage.getItem(\"accessToken\")) {\n props.dispatch(fetchUserDetailsStart({ navigate }));\n } else {\n props.dispatch(\n guestCartList(\n localStorage.getItem(\"carts\")\n ? JSON.parse(localStorage.getItem(\"carts\"))\n : []\n )\n );\n }\n }, []);\n\n const getSuggetions = (e) => {\n e.preventDefault();\n const searchValue = e.target.value;\n setSearch(searchValue);\n if (searchValue) {\n props.dispatch(\n fetchProductSuggetionStart({\n search_key: searchValue,\n })\n );\n setShowSuggetions(true);\n } else {\n setShowSuggetions(false);\n }\n };\n\n const searchProduct = (e) => {\n e.preventDefault();\n setShowSuggetions(false);\n navigate(`/shop/${search}`);\n };\n\n return (\n <>\n <header className=\"header-nav-center\">\n <Navbar expand=\"lg\">\n <Container>\n <Link to=\"/\" className=\"navbar-brand\">\n <Image\n className=\"lazyload logo\"\n src={configuration.get(\"configData.site_logo\")}\n type=\"image/png\"\n alt={configuration.get(\"configData.site_name\")}\n />\n </Link>\n <div className=\"user-dropdown-sec\">\n {!localStorage.getItem(\"userId\") ||\n !localStorage.getItem(\"accessToken\") ? (\n <div className=\"mobile-nav-profile \">\n <Link to=\"/login\">\n {/* <span>\n <Image\n className=\"header-dropdown-item-icon\"\n src={\n window.location.origin +\n \"/images/icons/sign-in-icon.svg\"\n }\n />\n </span> */}\n <Button className=\"subscribe-btn\" type=\"submit\">\n {t(\"sign_in\")}\n </Button>\n </Link>\n </div>\n ) : (\n <Dropdown>\n <Dropdown.Toggle variant=\"success\" id=\"dropdown-basic\">\n <div className=\"mobile-nav-profile contact-address-img \">\n <Image\n className=\"header-user-icon\"\n src={window.location.origin + \"/images/user.svg\"}\n />\n </div>\n </Dropdown.Toggle>\n\n <Dropdown.Menu>\n <Link to=\"/cart\">\n <span>\n <Image\n className=\"header-dropdown-item-icon\"\n src={\n window.location.origin +\n \"/images/icons/shopping-cart.svg\"\n }\n />\n </span>\n {t(\"view_cart\")}\n </Link>\n <Link to=\"/wishlist\">\n <span>\n <Image\n className=\"header-dropdown-item-icon\"\n src={\n window.location.origin +\n \"/images/icons/wishlist.svg\"\n }\n />\n </span>\n {t(\"wishlist\")}\n </Link>\n <Link to=\"/profile\">\n <span>\n <Image\n className=\"header-user-icon\"\n src={window.location.origin + \"/images/user.svg\"}\n />\n </span>\n {t(\"profile\")}\n </Link>\n <Link to=\"/logout\">\n <span>\n <Image\n className=\"header-user-icon\"\n src={\n window.location.origin + \"/images/logout-img.svg\"\n }\n />\n </span>\n {t(\"logout\")}\n </Link>\n </Dropdown.Menu>\n </Dropdown>\n )}\n </div>\n <Navbar.Toggle aria-controls=\"basic-navbar-nav mobile-toggle-sec\">\n <Image\n className=\"lazyload hamburger-menu\"\n src={window.location.origin + \"/images/hamburger-menu.png\"}\n type=\"image/png\"\n />\n </Navbar.Toggle>\n <Navbar.Collapse id=\"basic-navbar-nav\" className=\"new-header-sec\">\n <Nav className=\"new-navbar-sec m-auto\">\n {/* <Link\n to=\"/\"\n className={`nav-link ${location.pathname === \"/\" ? \"active\" : \"\"\n }`}\n >\n {t(\"home\")}\n </Link>\n <Link\n to=\"/shop\"\n className={`nav-link ${location.pathname === \"/shop\" ? \"active\" : \"\"\n }`}\n >\n {t(\"shop\")}\n </Link> */}\n {/* <Link\n to=\"/about-us\"\n className={`nav-link ${location.pathname === \"/about-us\" ? \"active\" : \"\"\n }`}\n >\n {t(\"about\")}\n </Link>\n <Link\n to=\"/contact-us\"\n className={`nav-link ${location.pathname === \"/contact-us\" ? \"active\" : \"\"\n }`}\n >\n {t(\"contact\")}\n </Link> */}\n </Nav>\n <Nav className=\"header-search-sec ms-auto\">\n {/* <div className=\"new-header-search\">\n <Form onSubmit={searchProduct}>\n <InputGroup className=\"mb-0\">\n <InputGroup.Text id=\"basic-addon2\">\n <Image\n className=\"header-search-icon\"\n src={\n window.location.origin + \"/images/icons/search.svg\"\n }\n />\n </InputGroup.Text>\n <Form.Control\n value={search}\n onChange={getSuggetions}\n placeholder={t(\"search_placeholder\")}\n onBlur={() => {\n setTimeout(() => {\n setShowSuggetions(false);\n }, 500);\n }}\n />\n <InputGroup.Text id=\"basic-addon2\">\n {search\n ? <Image\n className=\"header-search-icon\"\n src={\n window.location.origin + \"/images/close.svg\"\n }\n onClick={() => setSearch(\"\")}\n />\n : null\n }\n </InputGroup.Text>\n </InputGroup>\n </Form>\n {showSuggetions ? (\n <SearchSuggetion setShowSuggetions={setShowSuggetions} />\n ) : null}\n </div> */}\n <div className=\"header-profile-sec\">\n <div className=\"user-dropdown-sec\">\n {!localStorage.getItem(\"userId\") ||\n !localStorage.getItem(\"accessToken\") ? (\n <div className=\"\">\n <Link to=\"/login\">\n {/* <span>\n <Image\n className=\"header-dropdown-item-icon\"\n src={\n window.location.origin +\n \"/images/icons/sign-in-icon.svg\"\n }\n />\n </span> */}\n <Button className=\"subscribe-btn\" type=\"submit\">\n {t(\"sign_in\")}\n </Button>\n </Link>\n </div>\n ) : (\n <Dropdown>\n <Dropdown.Toggle variant=\"success\" id=\"dropdown-basic\">\n <div className=\"desktop-user-img\">\n <Image\n className=\"header-user-icon \"\n src={window.location.origin + \"/images/user.svg\"}\n />\n </div>\n </Dropdown.Toggle>\n\n <Dropdown.Menu>\n <Link to=\"/cart\">\n <span>\n <Image\n className=\"header-dropdown-item-icon\"\n src={\n window.location.origin +\n \"/images/icons/shopping-cart.svg\"\n }\n />\n </span>\n {t(\"view_cart\")}\n </Link>\n <Link to=\"/wishlist\">\n <span>\n <Image\n className=\"header-dropdown-item-icon\"\n src={\n window.location.origin +\n \"/images/icons/wishlist.svg\"\n }\n />\n </span>\n {t(\"wishlist\")}\n </Link>\n <Link to=\"/profile\">\n <span>\n <Image\n className=\"header-user-icon\"\n src={\n window.location.origin + \"/images/user.svg\"\n }\n />\n </span>\n {t(\"profile\")}\n </Link>\n <Link to=\"/logout\">\n <span>\n <Image\n className=\"header-user-icon\"\n src={\n window.location.origin +\n \"/images/logout-img.svg\"\n }\n />\n </span>\n {t(\"logout\")}\n </Link>\n </Dropdown.Menu>\n </Dropdown>\n )}\n </div>\n </div>\n <Link to=\"/cart\" className=\"header-cart-item\">\n <Image\n className=\"header-cart-icon\"\n src={\n window.location.origin + \"/images/icons/shopping-cart.svg\"\n }\n />\n <span className=\"add-cart-count\">\n {localStorage.getItem(\"userId\")\n ? Object.keys(props.profile.data).length > 0\n ? props.profile.data.cart_count\n : 0\n : props.guestCartList.length}\n </span>\n </Link>\n </Nav>\n </Navbar.Collapse>\n </Container>\n </Navbar>\n </header>\n <div className=\"mobile-header-sec\">\n <Nav>\n <Link\n to=\"/\"\n className={`nav-link ${location.pathname === \"/\" ? \"active\" : \"\"}`}\n >\n <div class=\"contact-address-img\">\n <svg\n width=\"683\"\n height=\"683\"\n viewBox=\"0 0 683 683\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clip-path=\"url(#clip0_1_28)\">\n <path d=\"M674.854 322.479C656.958 304.583 373.307 20.9325 360.187 7.81276C349.776 -2.6039 332.89 -2.6039 322.479 7.81276C308.13 22.1617 25.4114 304.875 7.81249 322.479C-2.60416 332.891 -2.60416 349.776 7.81249 360.193C18.2239 370.604 35.1093 370.604 45.5208 360.193L52.4427 353.271V656C52.4427 670.729 64.3854 682.666 79.1093 682.666H603.557C618.281 682.666 630.223 670.729 630.223 656V353.271L637.14 360.193C647.557 370.604 664.442 370.604 674.854 360.193C685.27 349.776 685.27 332.891 674.854 322.479V322.479ZM419.557 629.333H263.114V472.891H419.557V629.333ZM576.89 629.333H472.89V446.224C472.89 431.495 460.953 419.557 446.224 419.557H236.448C221.719 419.557 209.781 431.495 209.781 446.224V629.333H105.781V299.938L341.333 64.3804L576.89 299.938V629.333Z\" />\n </g>\n </svg>\n </div>\n </Link>\n <Link\n to=\"/shop\"\n className={`nav-link ${location.pathname === \"/shop\" ? \"active\" : \"\"\n }`}\n >\n <div class=\"contact-address-img\">\n <svg\n width=\"512\"\n height=\"512\"\n viewBox=\"0 0 512 512\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clip-path=\"url(#clip0_1_4)\">\n <path d=\"M98.6656 271.176C131.547 271.176 160.507 254.958 178.387 230.122C195.617 254.906 224.203 271.176 256.626 271.176C288.965 271.176 317.529 254.99 334.774 230.315C352.549 255.032 381.518 271.176 414.229 271.176C476.974 271.176 524.43 210.372 509.1 149.51L479.186 30.748C474.642 12.7041 458.456 0.102783 439.834 0.102783H71.9397C53.3172 0.102783 37.1367 12.7041 32.5918 30.7491L2.8706 148.804C-5.60898 182.471 5.53674 211.809 25.2211 238.52V471.357C25.2211 493.71 43.2684 511.895 65.6418 511.895H446.282C468.654 511.895 486.71 493.709 486.71 471.357V320.355C486.71 310.56 478.47 302.62 468.666 302.62C458.862 302.62 450.622 310.559 450.622 320.355V471.358C450.622 474.154 449.078 476.902 446.282 476.902H334.703V338.386C334.703 328.591 326.742 320.52 316.938 320.52H194.995C185.192 320.52 177.229 328.59 177.229 338.386V476.902H65.6418C62.8456 476.902 61.3091 474.152 61.3091 471.358V263.729C72.2448 268.595 85.4738 271.176 98.6656 271.176V271.176ZM352.2 35.0972H439.833C442.161 35.0972 444.183 36.9103 444.752 39.1653L474.66 158.045C484.385 196.663 454.284 235.645 414.373 235.645C379.998 235.645 352.2 207.747 352.2 173.381V35.0972ZM196.912 35.0972H317.206V173.381C317.206 206.767 291.086 235.705 256.992 235.705C222.34 235.705 196.912 206.443 196.912 172.814V35.0972ZM213.316 356.608H298.615V476.902H213.316V356.608ZM37.2701 157.46L67.011 39.1675C67.5796 36.9114 69.6126 35.0983 71.9397 35.0983H160.824V172.816C160.824 207.479 132.817 235.681 98.1495 235.705C57.8151 235.68 27.4257 196.552 37.2701 157.46Z\" />\n </g>\n </svg>\n </div>\n </Link>\n {/* <Link\n to=\"/about-us\"\n className={`nav-link ${location.pathname === \"/about-us\" ? \"active\" : \"\"\n }`}\n >\n <div class=\"contact-address-img\">\n <svg\n width=\"512\"\n height=\"512\"\n viewBox=\"0 0 512 512\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clip-path=\"url(#clip0_1_2)\">\n <path d=\"M20.005 512C14.908 512 9.889 510.052 6.08 506.359C0.235 500.693 -1.592 492.05 1.459 484.504L46.87 372.171C16.162 332.253 0 285.425 0 236C0 172.625 26.855 113.143 75.62 68.511C123.891 24.331 187.952 0 256 0C324.048 0 388.109 24.331 436.38 68.511C485.145 113.143 512 172.625 512 236C512 281.448 497.96 325.577 471.398 363.615C465.073 372.672 452.606 374.886 443.549 368.562C434.492 362.238 432.278 349.77 438.602 340.713C460.452 309.425 472 273.215 472 236C472 127.925 375.103 40 256 40C136.897 40 40 127.925 40 236C40 279.783 55.577 321.2 85.046 355.773C89.88 361.444 91.161 369.334 88.367 376.243L57.001 453.832L148.346 413.566C153.409 411.335 159.172 411.299 164.262 413.471C193.082 425.766 223.946 432 256 432C292.892 432 329.299 423.413 361.286 407.168C371.136 402.168 383.173 406.096 388.175 415.943C393.176 425.792 389.248 437.83 379.4 442.832C341.828 461.914 299.157 472 256 472C221.52 472 188.165 465.809 156.724 453.587L28.068 510.301C25.474 511.444 22.728 512 20.005 512ZM276 325V217C276 205.954 267.046 197 256 197C244.954 197 236 205.954 236 217V325C236 336.046 244.954 345 256 345C267.046 345 276 336.046 276 325ZM256 128C244.954 128 236 136.954 236 148C236 159.046 244.954 168 256 168C267.046 168 276 159.046 276 148C276 136.954 267.046 128 256 128Z\" />\n </g>\n </svg>\n </div>\n </Link> */}\n <Link\n to=\"/contact-us\"\n className={`nav-link ${location.pathname === \"/contact-us\" ? \"active\" : \"\"\n }`}\n >\n <div class=\"contact-address-img\">\n <svg\n width=\"512\"\n height=\"512\"\n viewBox=\"0 0 512 512\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M256 60C198.103 60 151 107.103 151 165C151 200.943 169.126 234.015 199.487 253.467C230.49 273.33 268.547 275.441 303.913 259.17C311.438 255.708 314.733 246.8 311.27 239.274C307.808 231.749 298.901 228.454 291.374 231.916C265.514 243.814 237.92 242.461 215.671 228.207C193.961 214.298 181 190.669 181 165C181 123.645 214.645 90 256 90C297.355 90 331 123.645 331 165C331 173.271 324.271 180 316 180C308.442 180 301.382 174.268 301.002 165.228C301.001 165.152 301 165.076 301 165C301 140.187 280.813 120 256 120C231.187 120 211 140.187 211 165C211 189.813 231.187 210 256 210C267.516 210 278.031 205.647 285.999 198.506C293.966 205.648 304.483 210 316 210C340.813 210 361 189.813 361 165C361 107.103 313.897 60 256 60ZM270.789 167.406C269.631 174.535 263.45 180 256 180C247.729 180 241 173.271 241 165C241 156.729 247.729 150 256 150C263.691 150 270.04 155.82 270.895 163.285C270.671 164.648 270.634 166.035 270.789 167.406Z\" />\n <path d=\"M480.999 196.976C480.995 193.097 479.433 189.22 476.606 186.393L421 130.787V15C421 6.716 414.284 0 406 0H106C97.716 0 91 6.716 91 15V130.787L35.394 186.393C35.342 186.445 35.298 186.503 35.247 186.556C32.436 189.452 31.007 193.265 31.001 196.976C31.001 196.986 31 196.995 31 197.005V467C31 491.845 51.216 512 76 512H436C460.839 512 481 491.793 481 467V197.005C481 196.995 480.999 196.986 480.999 196.976ZM421 173.213L444.787 197L421 220.787V173.213ZM121 137.005C121 137.002 121 136.998 121 136.995V30H391V136.995C391 136.998 391 137.002 391 137.005V250.787L309.787 332H202.213L121 250.787V137.005ZM91 173.213V220.787L67.213 197L91 173.213ZM61 460.787V233.213L174.787 347L61 460.787ZM82.214 482L202.213 362H309.787L429.786 482H82.214ZM451 460.787L337.213 347L451 233.213V460.787Z\" />\n </svg>\n </div>\n </Link>\n <Link\n to=\"/cart\"\n className={`nav-link ${location.pathname === \"/cart\" ? \"active\" : \"\"\n }`}\n >\n <div class=\"contact-address-img\">\n <svg\n width=\"512\"\n height=\"512\"\n viewBox=\"0 0 512 512\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M473.668 139.109L410.282 303.914H153.733L98.973 30.118H0V71.187H65.305L120.064 344.984H438.488L512 153.853L473.668 139.109Z\" />\n <path d=\"M191.658 358.674C157.689 358.674 130.054 386.308 130.054 420.278C130.054 454.248 157.69 481.882 191.658 481.882C225.627 481.882 253.262 454.248 253.262 420.278C253.262 386.308 225.626 358.674 191.658 358.674ZM191.658 440.813C180.335 440.813 171.123 431.602 171.123 420.278C171.123 408.954 180.335 399.743 191.658 399.743C202.981 399.743 212.193 408.954 212.193 420.278C212.193 431.602 202.981 440.813 191.658 440.813Z\" />\n <path d=\"M369.626 358.674C335.657 358.674 308.022 386.308 308.022 420.278C308.022 454.248 335.658 481.882 369.626 481.882C403.595 481.882 431.23 454.248 431.23 420.278C431.23 386.308 403.594 358.674 369.626 358.674ZM369.626 440.813C358.303 440.813 349.091 431.602 349.091 420.278C349.091 408.954 358.303 399.743 369.626 399.743C380.949 399.743 390.161 408.954 390.161 420.278C390.161 431.602 380.949 440.813 369.626 440.813Z\" />\n </svg>\n </div>\n <span className=\"add-cart-count\">\n {localStorage.getItem(\"userId\")\n ? Object.keys(props.profile.data).length > 0\n ? props.profile.data.cart_count\n : 0\n : props.guestCartList.length}\n </span>\n </Link>\n </Nav>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n profile: state.users.profile,\n guestCartList: state.carts.guestCartList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(HeaderIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/HeroStaticProductIndex.jsx",["979","980","981","982","983","984","985"],[],"import React, { useState, useEffect } from \"react\";\nimport { Navbar, Container, Image, Nav, Row, Col } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport { fetchCategoriesListStart } from \"../store/actions/HomePageAction\";\nimport \"./Landing.css\";\nimport { connect } from \"react-redux\";\nimport Slider from \"react-slick\";\nimport CustomLazyLoad from \"../Helper/CustomLazyLoad\";\nimport Skeleton from \"react-loading-skeleton\";\nimport { useNavigate } from 'react-router-dom';\n\nconst HeroStaticProductIndex = (props) => {\n const navigate = useNavigate();\n\n useEffect(() => {\n props.dispatch(fetchCategoriesListStart());\n }, []);\n\n var settings = {\n dots: false,\n infinite: true,\n arrows: false,\n speed: 500,\n slidesToShow: 5,\n slidesToScroll: 1,\n speed: 500,\n autoplay: true,\n adaptiveHeight: true,\n responsive: [\n {\n breakpoint: 1024,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 3,\n infinite: true,\n dots: true,\n },\n },\n {\n breakpoint: 600,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 2,\n initialSlide: 2,\n },\n },\n {\n breakpoint: 480,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n },\n },\n ],\n };\n\n return (\n <>\n <div className=\"hero-static-product-sec\">\n <Container>\n <Row>\n <Col md={12}>\n {props.categoriesList.loading ? (\n <div className=\"d-flex justify-content-between\">\n <Skeleton height={260} width={240} />\n <Skeleton height={260} width={240} />\n <Skeleton height={260} width={240} />\n <Skeleton height={260} width={240} />\n <Skeleton height={260} width={240} />\n </div>\n ) : (\n <div className=\"\">\n <Slider {...settings}>\n {props.categoriesList.data.categories &&\n props.categoriesList.data.categories.map(\n (category, i) => (\n <div className=\"hero-static-product-item\"\n onClick={e => navigate(`/shop?category=${category.category_unique_id}`)}>\n <div className=\"hero-static-product-card\">\n <div className=\"hero-static-product-img-sec\">\n {/* <Image\n className=\"hero-static-product-img\"\n src={category.picture}\n /> */}\n <CustomLazyLoad\n src={category.picture}\n placeholderSrc={\n window.location.origin +\n \"/images/loading.svg\"\n }\n classes=\"hero-static-product-img\"\n alt={category.name}\n />\n </div>\n <div className=\"hero-static-product-info\">\n <h4>{category.name}</h4>\n <p>({category.total_products})</p>\n </div>\n </div>\n </div>\n )\n )}\n </Slider>\n </div>\n )}\n </Col>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n categoriesList: state.homepage.categoriesList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(HeroStaticProductIndex);\n","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/NewArrivalIndex.jsx",["986","987","988","989","990","991","992","993"],[],"import React, { useState } from \"react\";\nimport {\n Navbar,\n Container,\n Image,\n Nav,\n Row,\n Col,\n Button,\n} from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport ProductCard from \"../Product/ProductCard\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport \"./Landing.css\";\nimport configuration from \"react-global-configuration\";\n\nconst NewArrivalIndex = (props) => {\n\n const t = useTranslation();\n\n\n return (\n <>\n <div className=\"new-arrival-sec\">\n <div className=\"new-arrival-box\">\n <div className=\"new-arrival-card-left\">\n <div className=\"new-arrival-card-left-img-sec\">\n <Image\n className=\"new-arrival-card-left-img\"\n src={\n window.location.origin +\n \"/images/new-arrivals/arrival-img.jpg\"\n }\n type=\"image/png\"\n alt={`${configuration.get(\"configData.site_name\")} Ecommerce Platform`}\n />\n </div>\n </div>\n <div className=\"new-arrival-card-right\">\n <div className=\"section-title-sec\">\n <h3 className=\"title-light\">{t(\"new_arrivals\")}</h3>\n <h1 className=\"title-bold\">\n <span>{t(\"new_arrivals_text\",{site_name: `${configuration.get(\"configData.site_name\")}`})}</span>\n </h1>\n </div>\n <div className=\"new-arrival-product-box\">\n {props.products\n .slice(Math.random(0, props.products.length - 1), 2)\n .map((product, i) => (\n <ProductCard product={product} key={i} />\n ))}\n </div>\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport default (withTranslation(NewArrivalIndex));","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/LandingAboutIndex.jsx",["994","995","996","997","998","999","1000","1001","1002"],[],"import React, { useState } from \"react\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport {\n Navbar,\n Container,\n Image,\n Nav,\n Row,\n Col,\n Button,\n} from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport \"./Landing.css\";\nimport configuration from \"react-global-configuration\";\n\nconst LandingAboutIndex = (props) => {\n const t = useTranslation();\n\n return (\n <>\n <div className=\"landing-about-sec\">\n <div className=\"landing-about-box\">\n <div className=\"landing-about-card-left\">\n <div className=\"section-title-sec\">\n <h5 className=\"title-light\">{t(\"about_us\")}</h5>\n <h2 className=\"title-bold\">\n <span>{t(\"about_us_text\")}</span>\n </h2>\n </div>\n <div className=\"landing-about-info\">\n <p>{t(\"about_content_1\",{site_name: `${configuration.get(\"configData.site_name\")}`, name: `${configuration.get(\"configData.site_name\")}`})}</p>\n <p>{t(\"about_content_2\",{site_name: `${configuration.get(\"configData.site_name\")}`})}</p>\n <p>{t(\"about_content_3\",{site_name: `${configuration.get(\"configData.site_name\")}`})}</p>\n </div>\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport default withTranslation(LandingAboutIndex);\n","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/HomeBannerIndex.jsx",["1003","1004","1005","1006","1007","1008","1009","1010","1011","1012"],[],"import React, { useState, useEffect } from \"react\";\nimport { Navbar, Container, Image, Nav, Row, Col } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport \"./Landing.css\";\nimport { connect } from \"react-redux\";\nimport Slider from \"react-slick\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { fetchBannersListStart } from \"../store/actions/HomePageAction\";\nimport BannerListLoader from \"../Helper/BannerListLoader\";\nimport CustomLazyLoad from \"../Helper/CustomLazyLoad\";\n\nconst HomeBannerIndex = (props) => {\n const t = useTranslation();\n\n const { bannerList } = props;\n\n useEffect(() => {\n props.dispatch(fetchBannersListStart());\n }, []);\n\n var settings = {\n dots: false,\n infinite: true,\n speed: 500,\n slidesToShow: 1,\n slidesToScroll: 1,\n adaptiveHeight: true,\n };\n\n return (\n <>\n <div className=\"home-banner-sec\">\n {bannerList.loading ? (\n <BannerListLoader />\n ) : (\n <Container>\n {bannerList.data.banners && bannerList.data.banners.length > 0 ? (\n <div className=\"home-banner-content\">\n {bannerList.data.banners.slice(0,1).map((banner, index) => (\n <div className=\"home-banner-info\">\n {/* <h5>{t(\"cosmetics\")}</h5> */}\n <h1>{banner.title}</h1>\n <p>{banner.description}</p>\n <div className=\"default-btn-sec\">\n <Link\n to=\"/shop\"\n className=\"default-btn\"\n >\n {t(\"shop_now\")}\n </Link>\n </div>\n </div>\n ))}\n <div className=\"banner-brand-text\">\n Misabloom\n </div>\n </div>\n ) : null}\n </Container>\n )}\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n bannerList: state.homepage.bannerList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(HomeBannerIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/FAQIndex.jsx",["1013","1014","1015","1016","1017"],[],"import React, { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n Navbar,\n Container,\n Image,\n Nav,\n Row,\n Col,\n Accordion,\n} from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport \"./Landing.css\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { fetchFaqsListStart } from \"../store/actions/HomePageAction\";\nimport SomethingWrong from \"../Helper/SomethingWrong\";\nimport Skeleton from \"react-loading-skeleton\";\nimport configuration from \"react-global-configuration\";\n\nconst FAQIndex = (props) => {\n const t = useTranslation();\n\n const [isVisible, setIsVisible] = useState(0);\n\n const { faqsList } = props;\n\n useEffect(() => {\n props.dispatch(fetchFaqsListStart());\n }, []);\n\n return (\n <>\n <div className=\"faq-sec\">\n <Container fluid className=\"p-0\">\n <Row className=\"g-0\">\n <>\n <Col md={12} xl={6} lg={6} className=\"resp-mrg-btm-md\">\n <div className=\"faq-img-sec\">\n <Image\n className=\"faq-img\"\n src={window.location.origin + \"/images/blooms/faq-items.jpg\"}\n type=\"image/svg\"\n alt={`${configuration.get(\"configData.site_name\")} Ecommerce Platform`}\n />\n </div>\n </Col>\n\n <Col md={12} xl={6} lg={6}>\n <div className=\"faq-wrapped\">\n <div className=\"section-title-sec\">\n <h5 className=\"title-light\">{t(\"faq\")}</h5>\n <h2 className=\"title-bold\">\n <span>{t(\"what_do_you_need_to_know\")}</span>\n </h2>\n </div>\n {faqsList.loading ? (\n <Skeleton height={400} width={700} />\n ) : (\n faqsList.data.faqs.map((list, index) => (\n <div className=\"faq-accordion-sec accordion accordion-flush\">\n <Accordion\n defaultActiveKey=\"0\"\n activeKey={isVisible}\n class=\"\"\n >\n <Accordion.Item\n eventKey={index}\n onClick={() =>\n setIsVisible(isVisible === index ? null : index)\n }\n >\n <Accordion.Header>{list.title}</Accordion.Header>\n <Accordion.Body>\n <p\n dangerouslySetInnerHTML={{\n __html: list.description,\n }}\n ></p>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n </div>\n ))\n )}\n </div>\n </Col>\n </>\n </Row>\n </Container>\n </div>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n faqsList: state.homepage.faqsList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(FAQIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/Product/TopSellingProductIndex.jsx",["1018"],[],"import React, { useState } from \"react\";\nimport \"./Product.css\";\nimport ProductCard from \"./ProductCard\";\n\nconst TopSellingProductIndex = (props) => {\n\n return (\n <>\n <div className=\"top-selling-product-sec\">\n <div className=\"top-selling-product-grid-box\">\n {props.products.map((product, i) =>\n <ProductCard product={product} key={i} />\n )}\n </div>\n </div>\n </>\n );\n};\n\nexport default TopSellingProductIndex;\n","/home/ubuntu/misabloom-frontend-base/src/components/landingPage/CustomerReviewIndex.jsx",["1019","1020","1021","1022","1023","1024"],[],"import React, { useEffect, useState } from \"react\";\nimport { Navbar, Container, Image, Nav, Row, Col } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport \"./Landing.css\";\nimport Slider from \"react-slick\";\nimport \"slick-carousel/slick/slick.css\";\nimport { customerReviewsListStart } from \"../store/actions/HomePageAction\";\nimport \"slick-carousel/slick/slick-theme.css\";\nimport { connect } from \"react-redux\";\nimport ReactStars from \"react-rating-stars-component\";\nimport Skeleton from \"react-loading-skeleton\";\nimport NoDataFound from \"../Helper/NoDataFound\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\n\nconst CustomerReviewIndex = (props) => {\n const t = useTranslation();\n const settings = {\n dots: true,\n arrows: true,\n infinite: false,\n speed: 500,\n slidesToShow: 3,\n slidesToScroll: 1,\n adaptiveHeight: true,\n responsive: [\n {\n breakpoint: 1195,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n infinite: true,\n dots: false,\n },\n },\n {\n breakpoint: 900,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n initialSlide: 1,\n },\n },\n {\n breakpoint: 750,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n adaptiveHeight: true,\n },\n },\n ],\n };\n\n useEffect(() => {\n props.dispatch(customerReviewsListStart({ order_by: \"newest\" }));\n }, []);\n\n return (\n <>\n {props.customerReviewsList.loading ? (\n <div className=\"d-flex justify-content-around\">\n <Skeleton height={350} width={600} />\n <Skeleton height={350} width={600} />\n </div>\n ) : props.customerReviewsList.data.reviews &&\n props.customerReviewsList.data.reviews.length > 0 ? (\n <div className=\"customer-review-page\">\n <Container>\n <Row>\n <Col md={12}>\n <div className=\"section-title-sec\">\n <h5 className=\"title-light\">{t(\"the_products\")}</h5>\n <h2 className=\"title-bold\">\n <span>{t(\"customer_review\")}</span>\n </h2>\n </div>\n </Col>\n </Row>\n <Row>\n <Col md=\"12\">\n <div className=\"customer-review-sec\">\n <Container>\n <Row>\n <Col md={12}>\n <Slider {...settings}>\n {props.customerReviewsList.data.reviews.map((reviews, i) => (\n <div>\n <div className=\"new-customer-review-card\">\n <div className=\"customer-rating-box\">\n <div className=\"customer-product\">\n <div className=\"customer-product-img\">\n <Image\n src={reviews.product.file}\n type=\"image/png\"\n alt={reviews.product.name}\n />\n </div>\n <div className=\"customer-product-content\">\n <h4>{reviews.product.name}</h4>\n </div>\n </div>\n <div className=\"customer-review-content\">\n <div className=\"customer-review-user-info\">\n <div className=\"customer-review-user-img-sec\">\n <Image\n className=\"customer-review-user-img\"\n src={reviews.user.picture}\n type=\"image/png\"\n />\n </div>\n <div>\n <h4> {reviews.user.name}</h4>\n <ReactStars\n count={5}\n value={reviews.star}\n edit={false}\n // onChange={ratingChanged}\n size={24}\n isHalf={true}\n emptyIcon={<i class=\"far fa-star\"></i>}\n halfIcon={\n <i class=\"fas fa-star-half-alt\"></i>\n }\n fullIcon={<i class=\"fas fa-star\"></i>}\n activeColor=\"#ffd700\"\n />\n </div>\n </div>\n\n <div className=\"customer-rating\">\n <p>{reviews.review}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n ))}\n </Slider>\n\n </Col>\n </Row>\n </Container>\n </div>\n </Col>\n </Row>\n </Container>\n </div>\n ) : (\n null\n )}\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n customerReviewsList: state.homepage.customerReviewsList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(CustomerReviewIndex));\n","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/CartsAction.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/actions/ProductAction.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoDataFound.jsx",["1025"],[],"import React from 'react';\n\nconst NoDataFound = () => {\n return <div className=\"text-center\">\n <img src={window.location.origin + \"/images/no-data-found.png\"} width=\"300\" />\n </div>;\n}\n\nexport default NoDataFound;","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CartItem.jsx",["1026"],[],"import React from 'react';\nimport {\n deleteCartDetailsStart,\n saveCartDetailsStart,\n} from \"../store/actions/CartsAction\";\nimport { Image, Button } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\nimport NumericInput from \"react-numeric-input\";\nimport { connect } from 'react-redux';\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport CustomLazyLoad from '../Helper/CustomLazyLoad';\nimport { saveWishlistsStart } from '../store/actions/ProductAction';\n\n\nconst CartItem = (props) => {\n const t = useTranslation();\n const { cart } = props;\n const updateCartQty = (productId, qty) => {\n props.dispatch(saveCartDetailsStart({\n product_id: productId,\n quantity: qty,\n }));\n }\n const removeUserCart = (productId) => {\n props.dispatch(deleteCartDetailsStart({ product_id: productId }));\n }\n\n const wishListToggle = productUniqueId => {\n props.dispatch(saveWishlistsStart({\n product_unique_id: productUniqueId\n }));\n }\n return (\n <div className=\"cart-list-card\">\n <div className=\"cart-list-left-sec\">\n <Link to={`/product/${cart.product.product_unique_id}`}>\n <div className=\"cart-list-img-sec\">\n {/* <Image\n className=\"cart-list-img\"\n src={cart.product.file}\n /> */}\n <CustomLazyLoad\n src={cart.product.file}\n placeholderSrc={window.location.origin + \"/images/loading.svg\"}\n classes=\"cart-list-img\"\n />\n </div>\n </Link>\n <div className=\"cart-list-info\">\n <Link\n to={`/product/${cart.product.product_unique_id}`}\n className=\"text-decoration-none\">\n <h4>{cart.product.name}</h4>\n </Link>\n <p>\n {t(\"category\")} <span>{cart.product.category_name}</span>\n </p>\n <p>\n {t(\"vol\")} <span>{cart.product.gross_weight_formatted}</span>\n </p>\n {cart.product.stock_status === 1\n ? <p>\n {t(\"qty\")}\n <span>\n <NumericInput\n mobile\n className=\"form-control\"\n value={cart.quantity}\n onChange={val => updateCartQty(cart.product.product_id, val)}\n min={1}\n max={cart.product.quantity}\n strict={true}\n />\n </span>\n </p>\n : <p className=\"text-danger\">{cart.product.stock_availablity_formatted}</p>\n }\n </div>\n </div>\n <div className=\"cart-list-right-sec\">\n <div className=\"cart-list-amout-card\">\n <div className=\"cart-amount-info\">\n <h4>{cart.product.selling_price_formatted}</h4>\n {cart.product.discount_tag\n ? <p>\n {cart.product.discount_tag} | <del>{cart.product.original_price_formatted}</del>\n </p>\n : null\n }\n </div>\n <div className=\"cart-action-btn-sec\">\n <Button\n className=\"cart-remove-btn\"\n onClick={() => removeUserCart(cart.product.product_id)}\n >{t(\"remove\")}</Button>\n <Button\n className=\"wishlist-btn\"\n onClick={() => wishListToggle(cart.product.product_unique_id)}\n disabled={props.wishlistSave.buttonDisable &&\n props.wishlistSave.data.product_unique_id === cart.product.product_unique_id}\n >\n {props.wishlistSave.loadingButtonContent &&\n props.wishlistSave.data.product_unique_id === cart.product.product_unique_id\n ? props.wishlistSave.loadingButtonContent\n : cart.product.is_wishlisted === 1 ? t(\"remove_from_wishlist\") : t(\"add_to_wishlist\")\n }\n </Button>\n </div>\n </div>\n </div>\n </div>\n );\n\n}\n\nconst mapStateToPros = (state) => ({\n cartList: state.carts.cartList,\n wishlistSave: state.product.wishlistSave\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(CartItem));","/home/ubuntu/misabloom-frontend-base/src/components/Helper/CustomLazyLoad.jsx",["1027"],[],"import React, { useEffect, useState, useRef } from \"react\";\n\nconst CustomLazyLoad = (imageProps) => {\n const [isLoading, setIsLoading] = useState(true);\n const [isInView, setIsInView] = useState(false);\n const root = useRef();\n\n useEffect(() => {\n const observer = new IntersectionObserver(onIntersection, { threshold: 0 });\n observer.observe(root.current);\n\n function onIntersection(entries) {\n const { isIntersecting } = entries[0];\n\n if (isIntersecting) {\n observer.disconnect();\n }\n\n setIsInView(isIntersecting);\n }\n }, []);\n\n function onLoad() {\n setIsLoading((prev) => !prev);\n }\n\n return (\n <div\n ref={root}\n className={`lazyLoder`}\n >\n <img className={`img ${imageProps.classes ? imageProps.classes : \"\"}`} src={isInView ? imageProps.src : imageProps.placeholderSrc} alt={imageProps.alt} onLoad={onLoad} />\n </div>\n );\n};\n\nexport default CustomLazyLoad;","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/OrdersAction.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoCartItems.jsx",["1028"],[],"import React from 'react';\n\nconst NoCartItems = () => {\n return <div className=\"text-center\">\n <img src={window.location.origin + \"/images/your-cart-is-empty.png\"} width=\"300\" />\n </div>;\n}\n\nexport default NoCartItems;","/home/ubuntu/misabloom-frontend-base/src/components/Helper/SomethingWrong.jsx",["1029"],[],"import React from 'react';\n\nconst SomethingWrong = () => {\n return <div className=\"text-center\">\n <img src={window.location.origin + \"/images/something_went_wrong.png\"} width=\"300\" />\n </div>;\n}\n\nexport default SomethingWrong;","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoOrdersFound.jsx",["1030"],[],"import React from 'react';\n\nconst NoOrdersFound = () => {\n return <div className=\"text-center\">\n <img src={window.location.origin + \"/images/no-orders-yet.png\"} width=\"300\" />\n </div>;\n}\n\nexport default NoOrdersFound;","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/DeliveryAction.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Cart/AddMoneyModal.jsx",["1031","1032","1033","1034","1035","1036"],[],"import React, { useState, useEffect } from 'react';\nimport { Button, Form, Modal } from 'react-bootstrap';\nimport { getErrorNotificationMessage } from '../Helper/ToastNotification';\nimport { fetchUserCardListStart, fetchUserWalletDetailsStart, walletPaymentByStripeStart } from '../store/actions/WalletAction';\nimport { connect } from 'react-redux';\nimport SingleCard from '../Profile/SingleCard';\nimport Skeleton from 'react-loading-skeleton';\nimport NoDataFound from '../Helper/NoDataFound';\nimport SomethingWrong from '../Helper/SomethingWrong';\nimport { useNavigate } from 'react-router-dom';\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\n\nconst AddMoneyModal = (props) => {\n const navigate = useNavigate();\n\n const [amount, setAmount] = useState(\"1\");\n const [skipFirst, setSkipFirst] = useState(true);\n const t = useTranslation();\n const [selectedCard, setSelectedCard] = useState(null);\n\n useEffect(() => {\n props.dispatch(fetchUserCardListStart());\n }, []);\n\n useEffect(() => {\n if (\n !skipFirst &&\n !props.walletPaymentByStripe.loading &&\n Object.keys(props.walletPaymentByStripe.data).length > 0\n ) {\n props.dispatch(fetchUserWalletDetailsStart());\n props.closeAddMoneyModal();\n }\n }, [props.walletPaymentByStripe]);\n\n useEffect(() => {\n if (!skipFirst && !props.userCardList.loading && Object.keys(props.userCardList.data).length > 0) {\n if (props.userCardList.data.user_cards && props.userCardList.data.user_cards.length > 0) {\n props.userCardList.data.user_cards.map((card, i) => {\n if (card.is_default === 1)\n setSelectedCard(card.user_card_id);\n })\n } else {\n setSelectedCard(null);\n }\n }\n setSkipFirst(false);\n }, [props.userCardList]);\n\n const addMoney = e => {\n e.preventDefault();\n if (amount && selectedCard) {\n props.dispatch(\n walletPaymentByStripeStart({\n amount: amount,\n user_card_id: selectedCard,\n })\n );\n } else if (!amount) {\n props.dispatch(getErrorNotificationMessage(t(\"please_enter_the_amount\")));\n } else if (!selectedCard) {\n props.dispatch(\n getErrorNotificationMessage(t(\"please_add_or_select_a_card\"))\n );\n }\n };\n\n return (\n <>\n <Modal\n className=\"modal-dialog-center write-review-modal\"\n size=\"lg\"\n centered\n show={props.addMoney}\n onHide={props.closeAddMoneyModal}\n >\n <Modal.Header closeButton>\n <Modal.Title>{t(\"add_money\")}</Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <Form className=\"write-review-form\" onSubmit={addMoney}>\n <div className=\"add-money-sec\">\n <div className=\"add-money-input\">\n <Form.Group className=\"\">\n <Form.Control\n type=\"number\"\n className=\"form-control\"\n value={amount}\n onChange={e => setAmount(e.target.value)}\n min=\"0\"\n />\n </Form.Group>\n <div className=\"currency\">$</div>\n </div>\n <div className=\"add-money-btn\">\n <Button\n className=\"wishlist-btn\"\n type=\"submit\"\n disabled={props.walletPaymentByStripe.buttonDisable}\n >\n {props.walletPaymentByStripe.loadingButtonContent\n ? props.walletPaymentByStripe.loadingButtonContent\n : \"Submit\"}\n </Button>\n </div>\n </div>\n\n <div className=\"payment-radio-box\">\n {props.userCardList.loading ?\n <Skeleton\n count={2}\n height={100}\n />\n : props.userCardList.data.user_cards ?\n props.userCardList.data.user_cards.length > 0 ?\n props.userCardList.data.user_cards.map((card, i) =>\n <SingleCard\n card={card}\n key={i}\n selectedCard={selectedCard}\n setSelectedCard={setSelectedCard}\n actions={false}\n />\n )\n : <div className=\"payment-radio-btn\">\n <label\n name=\"plan\"\n className=\"radio\"\n htmlFor=\"payment\"\n onClick={() => navigate(\"/wallet-add-money\")}\n >\n <p>{t(\"add_new_card\")}</p>\n </label>\n </div>\n : <SomethingWrong />\n }\n </div>\n </Form>\n </Modal.Body>\n </Modal>\n </>\n );\n\n}\n\nconst mapStateToPros = (state) => ({\n walletPaymentByStripe: state.wallet.walletPaymentByStripe,\n userCardList: state.wallet.userCardList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(AddMoneyModal);","/home/ubuntu/misabloom-frontend-base/src/components/Cart/AddNewAddressPopUpModal.jsx",["1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055"],[],"import { Link } from \"react-router-dom\";\nimport React, { useState, useCallback, useRef, useEffect } from \"react\";\nimport {\n Row,\n Col,\n Form,\n Button,\n Image,\n Modal,\n FormControl,\n} from \"react-bootstrap\";\nimport ReactStars from \"react-rating-stars-component\";\nimport { useDropzone } from \"react-dropzone\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport { connect } from \"react-redux\";\nimport { fetchDeliveryAddressesListStart, saveDeliveryAddressesStart } from \"../store/actions/DeliveryAction\";\nimport { useTranslation, withTranslation } from \"react-multi-lang\";\nimport { apiConstants } from \"../Constant/constants\";\nimport { GoogleApiWrapper } from \"google-maps-react\";\nimport * as Yup from \"yup\";\nimport AddressSubmitForm from \"../Profile/AddressSubmitForm\";\nimport NewAddressForm from \"../Profile/NewAddressForm\";\n\nconst AddNewAddressPopUpModal = (props) => {\n const t = useTranslation();\n const [skipRender, setSkipRender] = useState(true);\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.deliveryAddressesSave.loading &&\n Object.keys(props.deliveryAddressesSave.data).length > 0\n ) {\n props.dispatch(fetchDeliveryAddressesListStart());\n props.closeWriteReviewModal();\n }\n setSkipRender(false);\n }, [props.deliveryAddressesSave]);\n\n\n\n return (\n <>\n <Modal\n className=\"modal-dialog-center write-review-modal\"\n size=\"lg\"\n centered\n show={props.writeReview}\n onHide={props.closeWriteReviewModal}\n >\n <Modal.Header closeButton>\n <Modal.Title>{t(\"add_delivery_address\")}</Modal.Title>\n </Modal.Header>\n <Modal.Body>\n {/* <AddressSubmitForm editAddress={{}} isModal={true} /> */}\n <NewAddressForm isModal={true} />\n </Modal.Body>\n </Modal>\n </>\n );\n};\n\nconst mapStateToPros = (state) => ({\n deliveryAddressesSave: state.delivery.deliveryAddressesSave,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nconst connector = connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(AddNewAddressPopUpModal));\n\nexport default GoogleApiWrapper({\n apiKey: apiConstants.google_api_key,\n})(connector);\n","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/WalletAction.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoProductsFound.jsx",["1056"],[],"import React from 'react';\n\nconst NoProductsFound = () => {\n return <div className=\"text-center\">\n <img src={window.location.origin + \"/images/no-products.png\"} width=\"300\" />\n </div>;\n}\n\nexport default NoProductsFound;","/home/ubuntu/misabloom-frontend-base/src/components/Cart/CheckoutWalletButton.jsx",["1057","1058","1059","1060","1061","1062"],[],"import React, { useEffect, useState } from 'react';\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { Image, Button } from 'react-bootstrap';\nimport { useDebounce } from 'use-debounce';\nimport {\n useAccount,\n useBalance,\n useContractWrite,\n usePrepareContractWrite,\n useWaitForTransaction,\n} from \"wagmi\";\nimport { ConnectKitButton } from \"connectkit\";\nimport { ethers } from 'ethers';\nimport Token from \"../../abis/Token.json\";\nimport Web3 from \"web3\";\nimport { connect } from 'react-redux';\nimport configuration from \"react-global-configuration\";\n\nconst CheckoutWalletButton = (props) => {\n const t = useTranslation();\n const { address, connector, isConnected, isConnecting } = useAccount();\n const contractAddress = configuration.get(\"configData.token_contract_address\");\n const adminWalletAddress = configuration.get(\"configData.admin_wallet_address\");\n const balance = useBalance({\n addressOrName: address,\n token: contractAddress,\n watch: true,\n });\n\n const web3 = new Web3(window.ethereum);\n const decimals = web3.utils.toBN(18);\n let allowed_tokens = props.cartFinalAmount;\n\n // Amount of token\n const tokenAmount = web3.utils.toBN(allowed_tokens);\n\n // Amount as Hex - contract.methods.transfer(toAddress, tokenAmountHex).encodeABI();\n const tokenAmountHex = \"0x\" + tokenAmount.mul(web3.utils.toBN(10).pow(decimals)).toString(\"hex\");\n\n //Approve\n const approveConfig = usePrepareContractWrite({\n addressOrName: contractAddress,\n contractInterface: Token.abi,\n functionName: 'approve',\n args: [address, tokenAmountHex],\n });\n const approveData = useContractWrite(approveConfig.config);\n const approveWait = useWaitForTransaction({\n hash: approveData.data?.hash,\n onSuccess(data) {\n console.log('Success', data);\n paymentData.write();\n },\n onError(error) {\n console.log('Error', error);\n setIsLoading(false);\n }\n });\n\n //Payment\n const paymentConfig = usePrepareContractWrite({\n addressOrName: contractAddress,\n contractInterface: Token.abi,\n functionName: 'transferFrom',\n args: [address, adminWalletAddress, tokenAmountHex],\n overrides: {\n gasPrice: ethers.utils.parseUnits(\"20\", \"gwei\"),\n gasLimit: 200000,\n },\n });\n const paymentData = useContractWrite({\n ...paymentConfig.config,\n onError(error) {\n console.log('Error', error);\n setIsLoading(false);\n },\n onSuccess(data) {\n console.log('Success', data);\n props.onFormSubmit(\"CRYPTO\", {\n wallet_address: address,\n transaction_hash: data.hash,\n currency: \"PSCN\",\n });\n setIsLoading(false);\n },\n });\n\n const [isLoading, setIsLoading] = useState(false);\n\n\n return (\n <div className=\"payment-radio-btn label-bg dropdown-wallet mt-3\">\n <label\n name=\"plan\"\n className=\"payment-add-money-wallet\"\n >\n <ConnectKitButton.Custom>\n {({ isConnected, isConnecting, show, hide, address, ensName }) => {\n return (\n <p onClick={() => show()}>\n <Image\n src={\n window.location.origin + \"/images/wallet.svg\"\n }\n type=\"image/png\"\n />\n <span>\n {address.substr(0, 6)}\n ...\n {address.substr(address.length - 4)}\n </span>\n </p>\n );\n }}\n </ConnectKitButton.Custom>\n <p>{balance.isFetched && balance.data?.formatted + \" \" + balance.data?.symbol}</p>\n <Button\n className=\"address-button\"\n disabled={isLoading || props.ordersCheckout.buttonDisable}\n onClick={() => {\n approveData.write?.();\n setIsLoading(true);\n }}\n >{isLoading\n ? \"Loading\"\n : props.ordersCheckout.loadingButtonContent\n ? props.ordersCheckout.loadingButtonContent\n : t(\"checkout\")}</Button>\n </label>\n </div>\n );\n}\n\nconst mapStateToPros = (state) => ({\n ordersCheckout: state.orders.ordersCheckout,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(CheckoutWalletButton));","/home/ubuntu/misabloom-frontend-base/src/components/Product/ProductCard.jsx",["1063"],[],"import React, { useState, useEffect } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Image } from \"react-bootstrap\";\nimport {\n deleteCartDetailsStart,\n guestCartList,\n saveCartDetailsStart,\n} from \"../store/actions/CartsAction\";\nimport { connect } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport ReactStars from \"react-rating-stars-component\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport CustomLazyLoad from \"../Helper/CustomLazyLoad\";\nimport { saveWishlistsStart } from \"../store/actions/ProductAction\";\nimport ThcProgress from \"./ThcProgress\";\nimport CbdProgress from \"./CbdProgress\";\n\nconst ProductCard = (props) => {\n const navigate = useNavigate();\n const { product } = props;\n const t = useTranslation();\n\n const [isCarted, setIsCarted] = useState(false);\n\n useEffect(() => {\n if (\n props.guestCartList.filter(\n (cartProduct) => cartProduct.product_id === product.product_id\n ).length > 0\n ) {\n setIsCarted(true);\n } else {\n setIsCarted(false); \n }\n }, [product, props.guestCartList]);\n\n const onCartClickUser = (e) => {\n e.stopPropagation();\n if (!props.cartSave.buttonDisable && !props.cartDelete.buttonDisable) {\n if (product.is_carted === 0) {\n props.dispatch(\n saveCartDetailsStart({\n product_id: product.product_id,\n quantity: 1,\n })\n );\n } else {\n props.dispatch(\n deleteCartDetailsStart({\n product_id: product.product_id,\n })\n );\n }\n }\n };\n\n const onGuestCartClick = (e) => {\n e.preventDefault();\n let cartItems = [];\n if (!isCarted) {\n const cartProduct = {\n product_id: product.product_id,\n quantity: 1,\n };\n cartItems = [...props.guestCartList, cartProduct];\n } else {\n cartItems = props.guestCartList.filter(\n (cartedProduct) => cartedProduct.product_id !== product.product_id\n );\n }\n localStorage.setItem(\"carts\", JSON.stringify(cartItems));\n props.dispatch(guestCartList(cartItems));\n };\n\n const wishListToggle = (e) => {\n e.preventDefault();\n if (Object.keys(props.profile.data).length > 0) {\n props.dispatch(\n saveWishlistsStart({\n product_unique_id: product.product_unique_id,\n })\n );\n } else {\n localStorage.setItem(\"product\", product.product_unique_id);\n navigate(\"/login\");\n }\n };\n\n return (\n <div className=\"product-search-result-grid-card\">\n <Link\n to={`/product/${product.product_unique_id}`}\n className=\"no-link\"\n >\n <div className=\"product-search-result-img-sec\">\n {/* <Image\n className=\"product-search-result-img\"\n src={product.file}\n type=\"image/png\"\n /> */}\n <CustomLazyLoad\n src={product.file}\n classes=\"product-search-result-img\"\n placeholderSrc={window.location.origin + \"/images/loading.svg\"}\n alt={product.name}\n />\n </div>\n {product.discount_tag ? (\n <div className=\"product-offer-sec\">{product.discount_tag}</div>\n ) : null}\n <Link\n to=\"#\"\n className=\"product-search-cart-icon-sec\"\n onClick={wishListToggle}\n >\n {product.is_wishlisted ? (\n <Image\n className=\"product-search-cart-icon\"\n src={window.location.origin + \"/images/like-fill.svg\"}\n />\n ) : (\n <Image\n className=\"product-search-cart-icon\"\n src={window.location.origin + \"/images/like.svg\"}\n />\n )}\n </Link>\n <div className=\"product-cbd-value\">\n <div className=\"product-percentage\">\n {product.thc_drug_content ?\n <div className=\"pack-icon\">\n <ThcProgress percentage={product.thc_avg} width=\"40px\" height=\"40px\" fontsize=\"0.8em\" />\n <div className=\"pack-value\">{product.thc_formatted ? product.thc_formatted : '0%'}</div>\n </div>\n : null\n }\n {product.cbd_drug_content ?\n <div className=\"pack-icon\">\n <CbdProgress percentage={product.cbd_avg} width=\"40px\" height=\"40px\" fontsize=\"0.8em\" />\n <div className=\"pack-value\">{product.cbd_formatted ? product.cbd_formatted : '0%'}</div>\n </div>\n : null\n }\n </div>\n </div>\n <div className=\"product-search-result-info\">\n <h4>{product.name}</h4>\n <p>{product.sub_category_name}</p>\n <h3>\n {product.selling_price_formatted}{\" \"}\n {product.discount_tag ? (\n <sub>\n <del>{product.original_price_formatted}</del>\n </sub>\n ) : null}\n </h3>\n <div className=\"product-thc-value\">\n <h4>{product.plant_type}</h4>\n </div>\n {/* <ReactStars\n count={5}\n value={product.review_stars}\n size={24}\n isHalf={true}\n edit={false}\n emptyIcon={<i className=\"far fa-star\"></i>}\n halfIcon={<i className=\"fa fa-star-half-alt\"></i>}\n fullIcon={<i className=\"fa fa-star\"></i>}\n activeColor=\"#ffd700\"\n /> */}\n {product.stock_status === 1 ? (\n <div className=\"default-btn-sec\">\n {localStorage.getItem(\"userId\") &&\n Object.keys(props.profile.data).length > 0 ? (\n <Link to=\"#\" onClick={onCartClickUser} className=\"default-btn\">\n {props.cartSave.loadingButtonContent &&\n props.cartSave.data.product_id === product.product_id\n ? props.cartSave.loadingButtonContent\n : props.cartDelete.loadingButtonContent &&\n props.cartDelete.data.product_id === product.product_id\n ? props.cartDelete.loadingButtonContent\n : product.is_carted === 0\n ? t(\"add_to_cart\")\n : t(\"remove_from_cart\")}\n </Link>\n ) : (\n <Link to=\"#\" onClick={onGuestCartClick} className=\"default-btn\">\n {!isCarted ? t(\"add_to_cart\") : t(\"remove_from_cart\")}\n </Link>\n )}\n </div>\n ) : (\n <div className=\"text-danger\">\n {product.stock_availablity_formatted}\n </div>\n )}\n </div>\n </Link>\n </div>\n );\n};\n\nconst mapStateToPros = (state) => ({\n profile: state.users.profile,\n guestCartList: state.carts.guestCartList,\n cartSave: state.carts.cartSave,\n cartDelete: state.carts.cartDelete,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(ProductCard));\n","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/HomePageAction.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Product/WriteReviewModal.jsx",["1064","1065","1066","1067","1068","1069","1070"],[],"import { Link } from \"react-router-dom\";\nimport React, { useState, useCallback } from 'react';\nimport { Form, Button, Image, Modal } from \"react-bootstrap\";\nimport ReactStars from \"react-rating-stars-component\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { useDropzone } from \"react-dropzone\";\nimport { connect } from \"react-redux\";\nimport {\n\tsaveReviewsFilesStart,\n\tdeleteReviewsFilesStart,\n\tsaveReviewsStart,\n} from \"../store/actions/ReviewsAction\";\nimport { useEffect } from \"react\";\n\nconst WriteReviewModal = (props) => {\n\n\tconst [skipRender, setSkipRender] = useState(true);\n\tconst [requiredMsg, setRequiredMsg] = useState(false);\n\tconst t = useTranslation();\n\n\tconst [reviewData, setReviewData] = useState({\n\t\timage: \"\",\n\t\tstar: 0,\n\t\treview: \"\",\n\t\tproduct_id: props.singleProduct.product_id,\n\t\treview_file_ids: [],\n\t});\n\n\tconst [reviewFiles, setReviewFiles] = useState([]);\n\n\tconst onDrop = useCallback(acceptedFiles => {\n\t\t// Do something with the files\n\t\t// setReviewData({\n\t\t// \t...reviewData,\n\t\t// \timage: acceptedFiles.map(file => Object.assign(file, {\n\t\t// \t\tpreview: URL.createObjectURL(file)\n\t\t// \t}))\n\t\t// });\n\t\tprops.dispatch(saveReviewsFilesStart({ file: acceptedFiles[0] }));\n\t}, []);\n\n\tconst ratingChanged = (newRating) => {\n\t\tsetReviewData({\n\t\t\t...reviewData,\n\t\t\tstar: newRating\n\t\t});\n\t\tsetRequiredMsg(false);\n\t};\n\n\tuseEffect(() => {\n\t\tif (!skipRender && !props.reviewsSaveFiles.loading &&\n\t\t\tObject.keys(props.reviewsSaveFiles.data).length > 0) {\n\t\t\tlet review_file_ids = [];\n\t\t\treview_file_ids.push(props.reviewsSaveFiles.data.review_file_id);\n\t\t\tsetReviewFiles([\n\t\t\t\t...reviewFiles,\n\t\t\t\tprops.reviewsSaveFiles.data\n\t\t\t])\n\t\t\tsetReviewData({\n\t\t\t\t...reviewData,\n\t\t\t\treview_file_ids: JSON.stringify(review_file_ids),\n\t\t\t})\n\t\t}\n\t\tsetSkipRender(false)\n\t}, [props.reviewsSaveFiles]);\n\n\tuseEffect(() => {\n\t\tif (!skipRender && !props.reviewsDeleteFiles.loading &&\n\t\t\tObject.keys(props.reviewsDeleteFiles.data).length > 0) {\n\t\t\tsetReviewFiles([])\n\t\t\tsetReviewData({\n\t\t\t\t...reviewData,\n\t\t\t\treview_file_ids: [],\n\t\t\t})\n\t\t}\n\t\tsetSkipRender(false)\n\t}, [props.reviewsDeleteFiles]);\n\n\tuseEffect(() => {\n\t\tif (!skipRender && !props.reviewsSave.loading &&\n\t\t\tObject.keys(props.reviewsSave.data).length > 0) {\n\t\t\tprops.closeWriteReviewModal()\n\t\t\tsetReviewFiles([])\n\t\t\tsetReviewData({\n\t\t\t\timage: \"\",\n\t\t\t\tstar: 0,\n\t\t\t\treview: \"\",\n\t\t\t\tproduct_id: props.singleProduct.product_id,\n\t\t\t\treview_file_ids: [],\n\t\t\t})\n\t\t}\n\t\tsetSkipRender(false)\n\t}, [props.reviewsSave]);\n\tconst saveReview = e => {\n\t\te.preventDefault();\n\t\tif (reviewData.star > 0) {\n\t\t\tprops.dispatch(saveReviewsStart(reviewData));\n\t\t} else {\n\t\t\tsetRequiredMsg(true);\n\t\t}\n\t}\n\n\tconst { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop })\n\n\treturn (\n\t\t<>\n\t\t\t<Modal\n\t\t\t\tclassName=\"modal-dialog-center write-review-modal\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tcentered\n\t\t\t\tshow={props.writeReview}\n\t\t\t\tonHide={props.closeWriteReviewModal}\n\t\t\t>\n\t\t\t\t<Modal.Header closeButton>\n\t\t\t\t\t<Modal.Title>{t(\"write_review\")}</Modal.Title>\n\t\t\t\t</Modal.Header>\n\t\t\t\t<Modal.Body>\n\t\t\t\t\t<Form onSubmit={saveReview} className=\"write-review-form\">\n\t\t\t\t\t\t<ReactStars\n\t\t\t\t\t\t\tcount={5}\n\t\t\t\t\t\t\tonChange={ratingChanged}\n\t\t\t\t\t\t\tsize={24}\n\t\t\t\t\t\t\tisHalf={true}\n\t\t\t\t\t\t\temptyIcon={<i class=\"far fa-star\"></i>}\n\t\t\t\t\t\t\thalfIcon={<i class=\"fas fa-star-half-alt\"></i>}\n\t\t\t\t\t\t\tfullIcon={<i class=\"fas fa-star\"></i>}\n\t\t\t\t\t\t\tactiveColor=\"#ffd700\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{requiredMsg\n\t\t\t\t\t\t\t? <div className=\"text-danger\">Required</div>\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t<Form.Group className=\"mb-3\" controlId=\"exampleForm.ControlTextarea1\">\n\t\t\t\t\t\t\t<Form.Label>Review</Form.Label>\n\t\t\t\t\t\t\t<div className=\"text-small\">Optional</div>\n\t\t\t\t\t\t\t<Form.Control\n\t\t\t\t\t\t\t\tas=\"textarea\"\n\t\t\t\t\t\t\t\trows={3}\n\t\t\t\t\t\t\t\tname=\"review\"\n\t\t\t\t\t\t\t\tonChange={(e) => setReviewData({\n\t\t\t\t\t\t\t\t\t...reviewData,\n\t\t\t\t\t\t\t\t\treview: e.target.value\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Form.Group>\n\t\t\t\t\t\t<div className=\"write-review-dropzone\">\n\t\t\t\t\t\t\t<div {...getRootProps()}>\n\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tisDragActive ?\n\t\t\t\t\t\t\t\t\t\t<p>{t(\"drop_files\")}</p> :\n\t\t\t\t\t\t\t\t\t\t<p>{t(\"drag_drop_files\")}</p>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{reviewFiles.length > 0 && (\n\t\t\t\t\t\t\treviewFiles.map((preview) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"review-preview\"\n\t\t\t\t\t\t\t\t\tonClick={() => props.dispatch(deleteReviewsFilesStart({\n\t\t\t\t\t\t\t\t\t\treview_file_id: preview.review_file_id\n\t\t\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={preview.file}\n\t\t\t\t\t\t\t\t\t\tclassName=\"review-preview-img\"\n\t\t\t\t\t\t\t\t\t// onLoad={() => { URL.revokeObjectURL(reviewData.image[0].preview) }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<div className=\"remove-review-image\">\n\t\t\t\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z\" /></svg>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t))\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div className=\"write-review-btn-sec\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"wishlist-btn\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tdisabled={props.reviewsSave.buttonDisable}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{props.reviewsSave.loadingButtonContent ? props.reviewsSave.loadingButtonContent : t(\"submit\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Form>\n\t\t\t\t</Modal.Body>\n\t\t\t</Modal>\n\t\t</>\n\t);\n};\n\nconst mapStateToPros = (state) => ({\n\treviewsSaveFiles: state.reviews.reviewsSaveFiles,\n\treviewsDeleteFiles: state.reviews.reviewsDeleteFiles,\n\treviewsSave: state.reviews.reviewsSave,\n});\n\nfunction mapDispatchToProps(dispatch) {\n\treturn { dispatch };\n}\n\nexport default connect(mapStateToPros, mapDispatchToProps)(withTranslation(WriteReviewModal));","/home/ubuntu/misabloom-frontend-base/src/components/Helper/SocialButton.js",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoReviewsFound.jsx",["1071"],[],"import React from 'react';\n\nconst NoReviewsFound = () => {\n return <div className=\"text-center\">\n <img src={window.location.origin + \"/images/no-reviews-found.png\"} width=\"300\" />\n </div>;\n}\n\nexport default NoReviewsFound;","/home/ubuntu/misabloom-frontend-base/src/components/Product/ThcProgress.jsx",["1072"],[],"import React, { useState } from 'react';\n\nconst ThcProgress = ({ percentage, width = \"55px\", height = \"55px\", fontsize = \"1em\" }) => {\n \n const [value, setValue] = useState(Math.ceil(360 * (percentage / 100)));\n\n const getStyle = () => {\n\n return {\n background: `radial-gradient(white 60%, transparent 0%),\n conic-gradient(transparent 0deg ${value}deg, gainsboro ${value}deg 360deg),\n conic-gradient(#91c44d 0deg, #8cc63f 60deg, #ebc750 120deg, #f7d373 180deg, #e27c2a 240deg, #ab3726 300deg, #ab3726)`,\n borderRadius: \"50%\",\n width: width,\n height: height,\n transition: \"all 500ms ease-in\",\n willChange: \"transform\",\n }\n }\n\n return (\n <>\n <div className=\"progress-circle\" style={getStyle()}>\n <div className=\"text\" style={{ fontSize: fontsize }}>THC</div>\n <div className=\"line l1\" />\n <div className=\"line l2\" />\n <div className=\"line l3\" />\n </div>\n </>\n // <>\n // <svg\n // width=\"100%\"\n // height=\"100%\"\n // viewBox=\"-10 0 300 300\"\n // >\n // <linearGradient\n // id=\"linearColors1-2f6103d6-b50b-43c6-820c-5fe0cfeb3526\"\n // x1=\"0\"\n // y1=\"0\"\n // x2=\"1\"\n // y2=\"1\"\n // >\n // <stop offset=\"0%\" stop-color=\"#91c44d\"></stop>\n // <stop offset=\"100%\" stop-color=\"#8cc63f\"></stop>\n // </linearGradient>\n // <linearGradient\n // id=\"linearColors2-2f6103d6-b50b-43c6-820c-5fe0cfeb3526\"\n // x1=\"0.5\"\n // y1=\"0\"\n // x2=\"0.5\"\n // y2=\"1\"\n // >\n // <stop offset=\"0%\" stop-color=\"#8cc63f\"></stop>\n // <stop offset=\"100%\" stop-color=\"#ebc750\"></stop>\n // </linearGradient>\n // <linearGradient\n // id=\"linearColors3-2f6103d6-b50b-43c6-820c-5fe0cfeb3526\"\n // x1=\"1\"\n // y1=\"0\"\n // x2=\"0\"\n // y2=\"1\"\n // >\n // <stop offset=\"0%\" stop-color=\"#ebc750\"></stop>\n // <stop offset=\"100%\" stop-color=\"#f7d373\"></stop>\n // </linearGradient>\n // <linearGradient\n // id=\"linearColors4-2f6103d6-b50b-43c6-820c-5fe0cfeb3526\"\n // x1=\"1\"\n // y1=\"1\"\n // x2=\"0\"\n // y2=\"0\"\n // >\n // <stop offset=\"0%\" stop-color=\"#f7d373\"></stop>\n // <stop offset=\"100%\" stop-color=\"#e27c2a\"></stop>\n // </linearGradient>\n // <linearGradient\n // id=\"linearColors5-2f6103d6-b50b-43c6-820c-5fe0cfeb3526\"\n // x1=\"0.5\"\n // y1=\"1\"\n // x2=\"0.5\"\n // y2=\"0\"\n // >\n // <stop offset=\"0%\" stop-color=\"#e27c2a\"></stop>\n // <stop offset=\"100%\" stop-color=\"#ab3726\"></stop>\n // </linearGradient>\n // <linearGradient\n // id=\"linearColors6-2f6103d6-b50b-43c6-820c-5fe0cfeb3526\"\n // x1=\"0\"\n // y1=\"1\"\n // x2=\"1\"\n // y2=\"0\"\n // >\n // <stop offset=\"0%\" stop-color=\"#ab3726\"></stop>\n // <stop offset=\"100%\" stop-color=\"#ab3726\"></stop>\n // </linearGradient>\n // <text\n // class=\"scale-text\"\n // x=\"50%\"\n // y=\"45%\"\n // text-anchor=\"middle\"\n // stroke=\"none\"\n // stroke-width=\"2px\"\n // dy=\".3em\"\n // >\n // THC\n // </text>\n\n // <path\n // d=\"M150 10 a120 120 0 0 1 103.9230 60\"\n // fill=\"none\"\n // stroke={value >= 1 ? \"url(#linearColors1-2f6103d6-b50b-43c6-820c-5fe0cfeb3526)\" : \"#e1e1e1\"}\n // stroke-width=\"20\"\n // stroke-dasharray=\"120 10\"\n // ></path>\n // <path\n // d=\"M253.9230 70 a120 120 0 0 1 0 120\"\n // fill=\"none\"\n // stroke={value >= 2 ? \"url(#linearColors2-2f6103d6-b50b-43c6-820c-5fe0cfeb3526)\" : \"#e1e1e1\"}\n // stroke-width=\"20\"\n // stroke-dasharray=\"120 10\"\n // ></path>\n // <path\n // d=\"M253.9230 190 a120 120 0 0 1 -103.9230 60\"\n // fill=\"none\"\n // stroke={value >= 3 ? \"url(#linearColors3-2f6103d6-b50b-43c6-820c-5fe0cfeb3526)\" : \"#e1e1e1\"}\n // stroke-width=\"20\"\n // stroke-dasharray=\"120 10\"\n // ></path>\n // <path\n // d=\"M150 250 a120 120 0 0 1 -103.9230 -60\"\n // fill=\"none\"\n // stroke={value >= 4 ? \"url(#linearColors4-2f6103d6-b50b-43c6-820c-5fe0cfeb3526)\" : \"#e1e1e1\"}\n // stroke-width=\"20\"\n // stroke-dasharray=\"120 10\"\n // ></path>\n // <path\n // d=\"M46.077 190 a120 120 0 0 1 0 -120\"\n // fill=\"none\"\n // stroke={value >= 5 ? \"url(#linearColors5-2f6103d6-b50b-43c6-820c-5fe0cfeb3526)\" : \"#e1e1e1\"}\n // stroke-width=\"20\"\n // stroke-dasharray=\"120 10\"\n // ></path>\n // <path\n // d=\"M46.077 70 a120 120 0 0 1 103.9230 -60\"\n // fill=\"none\"\n // stroke={value >= 6 ? \"url(#linearColors6-2f6103d6-b50b-43c6-820c-5fe0cfeb3526)\" : \"#e1e1e1\"}\n // stroke-width=\"20\"\n // stroke-dasharray=\"120 \"\n // ></path>\n // </svg>\n // </>\n );\n}\n\nexport default ThcProgress;","/home/ubuntu/misabloom-frontend-base/src/components/Helper/CommonCenterLoader.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Environment.js",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Product/CbdProgress.jsx",["1073"],[],"import React, { useState } from 'react';\n\nconst CbdProgress = ({ percentage, width = \"55px\", height = \"55px\", fontsize = \"1em\" }) => {\n\n const [value, setValue] = useState(Math.ceil(360 * (percentage / 100)));\n\n const getStyle = () => {\n\n return {\n background: `radial-gradient(white 60%, transparent 0%),\n conic-gradient(transparent 0deg ${value}deg, gainsboro ${value}deg 360deg),\n conic-gradient(#acebff 0deg, #acebff 60deg, #3ecefc 120deg, #3ecefc 180deg, #3ecefc 240deg, #3ecefc 300deg, #3ecefc)`,\n borderRadius: \"50%\",\n width: width,\n height: height,\n transition: \"all 500ms ease-in\",\n willChange: \"transform\",\n }\n }\n\n return (\n <>\n <div className=\"progress-circle\" style={getStyle()}>\n <div className=\"text\" style={{ fontSize: fontsize }}>CBD</div>\n <div className=\"line l1\" />\n <div className=\"line l2\" />\n <div className=\"line l3\" />\n </div>\n {/* <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"-10 0 300 300\"\n >\n <linearGradient\n id=\"cbdColors1-02ffc488-4b0a-4cd4-beca-5967e044b9c4\"\n x1=\"0\"\n y1=\"0\"\n x2=\"1\"\n y2=\"1\"\n >\n <stop offset=\"0%\" stop-color=\"#acebff\"></stop>\n <stop offset=\"100%\" stop-color=\"#acebff\"></stop>\n </linearGradient>\n <linearGradient\n id=\"cbdColors2-02ffc488-4b0a-4cd4-beca-5967e044b9c4\"\n x1=\"0.5\"\n y1=\"0\"\n x2=\"0.5\"\n y2=\"1\"\n >\n <stop offset=\"0%\" stop-color=\"#acebff\"></stop>\n <stop offset=\"100%\" stop-color=\"#3ecefc\"></stop>\n </linearGradient>\n <linearGradient\n id=\"cbdColors3-02ffc488-4b0a-4cd4-beca-5967e044b9c4\"\n x1=\"1\"\n y1=\"0\"\n x2=\"0\"\n y2=\"1\"\n >\n <stop offset=\"0%\" stop-color=\"#3ecefc\"></stop>\n <stop offset=\"100%\" stop-color=\"#3ecefc\"></stop>\n </linearGradient>\n <linearGradient\n id=\"cbdColors4-02ffc488-4b0a-4cd4-beca-5967e044b9c4\"\n x1=\"1\"\n y1=\"1\"\n x2=\"0\"\n y2=\"0\"\n >\n <stop offset=\"0%\" stop-color=\"#3ecefc\"></stop>\n <stop offset=\"100%\" stop-color=\"#3ecefc\"></stop>\n </linearGradient>\n <linearGradient\n id=\"cbdColors5-02ffc488-4b0a-4cd4-beca-5967e044b9c4\"\n x1=\"0.5\"\n y1=\"1\"\n x2=\"0.5\"\n y2=\"0\"\n >\n <stop offset=\"0%\" stop-color=\"#3ecefc\"></stop>\n <stop offset=\"100%\" stop-color=\"#3ecefc\"></stop>\n </linearGradient>\n <linearGradient\n id=\"cbdColors6-02ffc488-4b0a-4cd4-beca-5967e044b9c4\"\n x1=\"0\"\n y1=\"1\"\n x2=\"1\"\n y2=\"0\"\n >\n <stop offset=\"0%\" stop-color=\"#3ecefc\"></stop>\n <stop\n offset=\"100%\"\n stop-color=\"#00a99d\"\n stop=\"\"\n ></stop>\n </linearGradient>\n <text\n class=\"scale-text\"\n x=\"50%\"\n y=\"45%\"\n text-anchor=\"middle\"\n stroke=\"none\"\n stroke-width=\"2px\"\n dy=\".3em\"\n >\n CBD\n </text>{\" \"}\n <path\n d=\"M150 10 a120 120 0 0 1 103.9230 60\"\n fill=\"none\"\n stroke={value >= 1 ? \"url(#cbdColors1-02ffc488-4b0a-4cd4-beca-5967e044b9c4)\" : \"#e1e1e1\"}\n stroke-width=\"20\"\n stroke-dasharray=\"120 10\"\n ></path>\n <path\n d=\"M253.9230 70 a120 120 0 0 1 0 120\"\n fill=\"none\"\n stroke={value >= 2 ? \"url(#cbdColors2-02ffc488-4b0a-4cd4-beca-5967e044b9c4)\" : \"#e1e1e1\"}\n stroke-width=\"20\"\n stroke-dasharray=\"120 10\"\n ></path>\n <path\n d=\"M253.9230 190 a120 120 0 0 1 -103.9230 60\"\n fill=\"none\"\n stroke={value >= 3 ? \"url(#cbdColors3-02ffc488-4b0a-4cd4-beca-5967e044b9c4)\" : \"#e1e1e1\"}\n stroke-width=\"20\"\n stroke-dasharray=\"120 10\"\n ></path>\n <path\n d=\"M150 250 a120 120 0 0 1 -103.9230 -60\"\n fill=\"none\"\n stroke={value >= 4 ? \"url(#cbdColors3-02ffc488-4b0a-4cd4-beca-5967e044b9c4)\" : \"#e1e1e1\"}\n stroke-width=\"20\"\n stroke-dasharray=\"120 10\"\n ></path>\n <path\n d=\"M46.077 190 a120 120 0 0 1 0 -118\"\n fill=\"none\"\n stroke={value >= 5 ? \"url(#cbdColors4-02ffc488-4b0a-4cd4-beca-5967e044b9c4)\" : \"#e1e1e1\"}\n stroke-width=\"25\"\n stroke-dasharray=\"120 10\"\n ></path>\n <path\n d=\"M46.077 70 a120 120 0 0 1 103.9230 -60\"\n fill=\"none\"\n stroke={value >= 6 ? \"url(#cbdColors5-02ffc488-4b0a-4cd4-beca-5967e044b9c4)\" : \"#e1e1e1\"}\n stroke-width=\"20\"\n stroke-dasharray=\"120 \"\n ></path>\n </svg> */}\n </>\n );\n}\n\nexport default CbdProgress;","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/UserAction.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Helper/StaticPageLoader.jsx",["1074","1075","1076","1077","1078","1079"],[],"import React from \"react\"\nimport Skeleton from \"react-loading-skeleton\";\nimport {\n Container,\n Row,\n Col,\n Image,\n InputGroup,\n Form,\n ProgressBar,\n} from \"react-bootstrap\";\n\nconst StaticPageLoader = (props) => (\n\n <>\n <div className=\"contact-sec\">\n\n <Skeleton height={200} />\n\n </div>\n\n <div className=\"about-us-sec sm-padding\">\n <Container>\n <div className=\"about-us-box\">\n <Skeleton count={4} />\n </div>\n </Container>\n </div>\n </>\n)\n\nexport default StaticPageLoader;","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoShippingAddressFound.jsx",["1080"],[],"import React from 'react';\n\nconst NoShippingAddressFound = () => {\n return <div className=\"text-center\">\n <img src={window.location.origin + \"/images/please-add-your-shipping-details.png\"} width=\"300\" />\n </div>;\n}\n\nexport default NoShippingAddressFound;","/home/ubuntu/misabloom-frontend-base/src/components/Profile/SingleAddressCard.jsx",["1081","1082","1083"],[],"import React, { useEffect, useState } from \"react\";\nimport {\n fetchDeliveryAddressesListStart,\n makeDefaultDeliveryAddressesStart,\n deleteDeliveryAddressesStart,\n} from \"../store/actions/DeliveryAction\";\nimport { Link } from \"react-router-dom\";\nimport { Image } from \"react-bootstrap\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { connect } from \"react-redux\";\n\nconst SingleAddressCard = (props) => {\n\n const { selectedAddress, setSelectedAddress, address, handleEdit } = props;\n const [skipRender, setSkipRender] = useState(true);\n const t = useTranslation();\n\n\n const removeAddress = (e) => {\n props.dispatch(\n deleteDeliveryAddressesStart({\n delivery_address_id: address.delivery_address_id,\n })\n );\n e.stopPropagation();\n };\n\n const setDefaultAddress = (e) => {\n props.dispatch(\n makeDefaultDeliveryAddressesStart({\n delivery_address_id: address.delivery_address_id,\n })\n );\n e.stopPropagation();\n };\n \n useEffect(() => {\n if (\n !skipRender &&\n !props.makeDefaultDeliveryAddresses.loading &&\n Object.keys(props.makeDefaultDeliveryAddresses.data).length > 0\n ) {\n props.dispatch(fetchDeliveryAddressesListStart());\n }\n setSkipRender(false);\n }, [props.makeDefaultDeliveryAddresses]);\n\n // useEffect(() => {\n // console.log(address)\n // }, [])\n\n\n return (\n <div className=\"address-radio-btn\">\n <input name=\"plan\" className=\"radio\" type=\"radio\" id=\"card\" checked={selectedAddress === address.delivery_address_id} />\n <label name=\"plan\" className=\"radio\" type=\"radio\" for=\"card\" checked={selectedAddress === address.delivery_address_id} onClick={() => setSelectedAddress(address.delivery_address_id)} >\n <div className=\"saved-address-box\">\n <div className=\"address-details\">\n <h4>{address.name}</h4>\n <p>{address.address}</p>\n <p>{address.state}</p>\n <p>{address.pincode}</p>\n <p>{address.contact_number}</p>\n </div>\n <div className=\"address-btn\">\n <Link to=\"\" className=\"address-action-btn\">\n <span onClick={() => props.editAddress(address)}>\n <Image\n src={window.location.origin + \"/images/edit-black.svg\"}\n type=\"image/png\"\n /></span>\n {props.deliveryAddressesDelete.loadingButtonContent &&\n props.deliveryAddressesDelete.data.delivery_address_id ===\n address.delivery_address_id ? (\n props.deliveryAddressesDelete.loadingButtonContent\n ) : (\n <button onClick={removeAddress} className=\"delete-btn size\">\n <Image src={window.location.origin + \"/images/delete-solid.svg\"}\n type='image/svg'\n />\n </button>\n )}\n \n </Link>\n \n {address.is_default == 1 ? \n (<span className=\"address-button text-white\">{t(\"default\")}</span>) \n : props.makeDefaultDeliveryAddresses.loadingButtonContent &&\n props.makeDefaultDeliveryAddresses.data.delivery_address_id === address.delivery_address_id ?\n (props.loadingButtonContent) :\n (<button to=\"\" className=\"address-button\" onClick={setDefaultAddress}>\n {t(\"use_address\")}\n </button>)\n }\n </div>\n </div>\n </label>\n </div>\n\n );\n};\n\nconst mapStateToPros = (state) => ({\n makeDefaultDeliveryAddresses: state.delivery.makeDefaultDeliveryAddresses,\n deliveryAddressesDelete: state.delivery.deliveryAddressesDelete,\n deliveryAddressesList: state.delivery.deliveryAddressesList\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n) (withTranslation(SingleAddressCard));\n","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/PageAction.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Profile/ProfileSideBar.jsx",["1084","1085","1086","1087","1088","1089"],[],"import React from \"react\";\nimport { Row, Col, Container, Form, Image, Button } from \"react-bootstrap\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { Link, useLocation } from \"react-router-dom\";\n\nconst ProfileSideBar = () => {\n const t = useTranslation();\n const location = useLocation();\n\n return (\n <>\n <div className=\"profile-sidebar\">\n <ul>\n <li className={location.pathname === \"/profile\" ? \"active\" : \"\"}>\n <Link to=\"/profile\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path d=\"M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z\" />\n </svg>\n </span>\n {t(\"peronal_details\")}\n </Link>\n </li>\n <li className={location.pathname === \"/orders\" ? \"active\" : \"\"}>\n <Link to=\"/orders\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path d=\"M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z\" />\n </svg>\n </span>\n {t(\"my_orders\")}\n </Link>\n </li>\n <li\n className={location.pathname === \"/orders/cancel\" ? \"active\" : \"\"}\n >\n <Link to=\"/orders/cancel\">\n <span>\n <svg\n id=\"Layer_1\"\n enable-background=\"new 0 0 512 512\"\n viewBox=\"0 0 512 512\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g>\n <path d=\"m236.94 233.335-230-96.842c-3.295-1.388-6.94 1.032-6.94 4.608v258.899c0 6.542 3.983 12.426 10.058 14.855l223.085 89.234c3.284 1.314 6.857-1.105 6.857-4.642v-261.504c0-2.011-1.206-3.827-3.06-4.608z\" />\n <path d=\"m257.94 205.823 222.315-93.606c3.996-1.682 4.103-7.306.174-9.139l-217.663-101.577c-4.289-2.001-9.243-2.001-13.532 0l-217.663 101.576c-3.929 1.833-3.822 7.457.174 9.139l222.315 93.606c1.24.523 2.64.523 3.88.001z\" />\n <path d=\"m400 256c42.31 0 80.411 18.348 106.779 47.499 1.843 2.038 5.221.743 5.221-2.004v-160.394c0-3.576-3.645-5.996-6.94-4.608l-230 96.842c-1.854.781-3.06 2.596-3.06 4.608v84.794c0 3.018 3.95 4.143 5.54 1.579 25.414-40.972 70.802-68.316 122.46-68.316z\" />\n <path d=\"m400 288c-61.757 0-112 50.243-112 112s50.243 112 112 112 112-50.243 112-112-50.243-112-112-112zm35.313 124.686c6.249 6.249 6.249 16.379 0 22.628-3.124 3.124-7.218 4.686-11.313 4.686s-8.189-1.562-11.313-4.686l-12.687-12.687-12.687 12.687c-3.124 3.124-7.218 4.686-11.313 4.686s-8.189-1.562-11.313-4.686c-6.249-6.249-6.249-16.379 0-22.628l12.686-12.686-12.686-12.686c-6.249-6.249-6.249-16.379 0-22.628 6.248-6.248 16.379-6.248 22.627 0l12.686 12.686 12.687-12.687c6.248-6.248 16.379-6.248 22.627 0 6.249 6.249 6.249 16.379 0 22.628l-12.687 12.687z\" />\n </g>\n </svg>\n </span>\n {t(\"cancelled_orders\")}\n </Link>\n </li>\n <li\n className={\n location.pathname === \"/order-transactions\" ? \"active\" : \"\"\n }\n >\n <Link to=\"/order-transactions\">\n <span>\n <svg\n id=\"Capa_1\"\n enable-background=\"new 0 0 512 512\"\n viewBox=\"0 0 512 512\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"m411 8.782v91.218h91.211z\" />\n <path d=\"m396 130c-8.284 0-15-6.716-15-15v-115h-215c-24.813 0-45 20.187-45 45v167.689c4.942-.448 9.943-.689 15-.689 51.128 0 96.897 23.376 127.186 60h162.814c8.284 0 15 6.716 15 15s-6.716 15-15 15h-143.052c9.376 18.296 15.422 38.565 17.363 60h125.689c8.284 0 15 6.716 15 15s-6.716 15-15 15h-125.689c-4.486 49.539-30.954 92.826-69.553 120h235.242c24.813 0 45-20.187 45-45v-337zm30 82h-220c-8.284 0-15-6.716-15-15s6.716-15 15-15h220c8.284 0 15 6.716 15 15s-6.716 15-15 15z\" />\n <path d=\"m136 242c-74.439 0-135 60.561-135 135s60.561 135 135 135 135-60.561 135-135-60.561-135-135-135zm40 150h-40c-8.284 0-15-6.716-15-15v-60c0-8.284 6.716-15 15-15s15 6.716 15 15v45h25c8.284 0 15 6.716 15 15s-6.716 15-15 15z\" />\n </svg>\n </span>\n {t(\"order_transactions\")}\n </Link>\n </li>\n <li\n className={location.pathname === \"/manage-address\" ? \"active\" : \"\"}\n >\n <Link to=\"/manage-address\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\">\n <path d=\"M575.8 255.5C575.8 273.5 560.8 287.6 543.8 287.6H511.8L512.5 447.7C512.5 450.5 512.3 453.1 512 455.8V472C512 494.1 494.1 512 472 512H456C454.9 512 453.8 511.1 452.7 511.9C451.3 511.1 449.9 512 448.5 512H392C369.9 512 352 494.1 352 472V384C352 366.3 337.7 352 320 352H256C238.3 352 224 366.3 224 384V472C224 494.1 206.1 512 184 512H128.1C126.6 512 125.1 511.9 123.6 511.8C122.4 511.9 121.2 512 120 512H104C81.91 512 64 494.1 64 472V360C64 359.1 64.03 358.1 64.09 357.2V287.6H32.05C14.02 287.6 0 273.5 0 255.5C0 246.5 3.004 238.5 10.01 231.5L266.4 8.016C273.4 1.002 281.4 0 288.4 0C295.4 0 303.4 2.004 309.5 7.014L564.8 231.5C572.8 238.5 576.9 246.5 575.8 255.5L575.8 255.5z\" />\n </svg>\n </span>\n {t(\"manage_address\")}\n </Link>\n </li>\n {/* <li\n className={location.pathname === \"/payment-method\" ? \"active\" : \"\"}\n >\n <Link to=\"/payment-method\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\">\n <path d=\"M512 32C547.3 32 576 60.65 576 96V128H0V96C0 60.65 28.65 32 64 32H512zM576 416C576 451.3 547.3 480 512 480H64C28.65 480 0 451.3 0 416V224H576V416zM112 352C103.2 352 96 359.2 96 368C96 376.8 103.2 384 112 384H176C184.8 384 192 376.8 192 368C192 359.2 184.8 352 176 352H112zM240 384H368C376.8 384 384 376.8 384 368C384 359.2 376.8 352 368 352H240C231.2 352 224 359.2 224 368C224 376.8 231.2 384 240 384z\" />\n </svg>\n </span>\n {t(\"payment\")}\n </Link>\n </li>\n <li\n className={\n location.pathname === \"/profile-wallet\" ||\n location.pathname === \"/wallet-add-money\"\n ? \"active\"\n : \"\"\n }\n >\n <Link to=\"/profile-wallet\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path d=\"M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\" />\n </svg>\n </span>\n {t(\"wallet\")}\n </Link>\n </li>\n <li\n className={\n location.pathname === \"/wallet-withdraw-money\" ||\n location.pathname === \"/withdraw\"\n ? \"active\"\n : \"\"\n }\n >\n <Link to=\"/withdraw\">\n <span>\n <svg\n id=\"Layer_1\"\n height=\"26\"\n viewBox=\"0 0 26 26\"\n width=\"26\"\n data-name=\"Layer 1\"\n version=\"1.1\"\n >\n <defs id=\"defs9\" />\n <path\n d=\"M 23,0 H 3 A 3.009,3.009 0 0 0 0,3 v 6 a 3.009,3.009 0 0 0 3,3 H 4 V 7 A 1,1 0 0 1 4,5 h 18 a 1,1 0 0 1 0,2 v 5 h 1 A 3.009,3.009 0 0 0 26,9 V 3 A 3.009,3.009 0 0 0 23,0 Z\"\n id=\"path2\"\n />\n <path\n d=\"m 6,23 a 3.009,3.009 0 0 0 3,3 h 8 a 3.009,3.009 0 0 0 3,-3 V 7 H 6 Z m 3.293,-7.707 a 1,1 0 0 1 1.414,0 L 12,16.586 V 12 a 1,1 0 0 1 2,0 v 4.586 l 1.293,-1.293 a 1,1 0 0 1 1.414,1.414 l -3,3 a 1,1 0 0 1 -1.414,0 l -3,-3 a 1,1 0 0 1 0,-1.414 z\"\n id=\"path4\"\n />\n </svg>\n </span>\n {t(\"withdraw\")}\n </Link>\n </li> */}\n <li\n className={\n location.pathname === \"/two-step-authentication\" ? \"active\" : \"\"\n }\n >\n <Link to=\"/two-step-authentication\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path d=\"M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z\" />\n </svg>\n </span>\n {t(\"two_step_auth\")}\n </Link>\n </li>\n <li\n className={location.pathname === \"/change-password\" ? \"active\" : \"\"}\n >\n <Link to=\"/change-password\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path d=\"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z\" />\n </svg>\n </span>\n {t(\"change_password\")}\n </Link>\n </li>\n <li\n className={location.pathname === \"/delete-account\" ? \"active\" : \"\"}\n >\n <Link to=\"/delete-account\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path d=\"M160 400C160 408.8 152.8 416 144 416C135.2 416 128 408.8 128 400V192C128 183.2 135.2 176 144 176C152.8 176 160 183.2 160 192V400zM240 400C240 408.8 232.8 416 224 416C215.2 416 208 408.8 208 400V192C208 183.2 215.2 176 224 176C232.8 176 240 183.2 240 192V400zM320 400C320 408.8 312.8 416 304 416C295.2 416 288 408.8 288 400V192C288 183.2 295.2 176 304 176C312.8 176 320 183.2 320 192V400zM317.5 24.94L354.2 80H424C437.3 80 448 90.75 448 104C448 117.3 437.3 128 424 128H416V432C416 476.2 380.2 512 336 512H112C67.82 512 32 476.2 32 432V128H24C10.75 128 0 117.3 0 104C0 90.75 10.75 80 24 80H93.82L130.5 24.94C140.9 9.357 158.4 0 177.1 0H270.9C289.6 0 307.1 9.358 317.5 24.94H317.5zM151.5 80H296.5L277.5 51.56C276 49.34 273.5 48 270.9 48H177.1C174.5 48 171.1 49.34 170.5 51.56L151.5 80zM80 432C80 449.7 94.33 464 112 464H336C353.7 464 368 449.7 368 432V128H80V432z\" />\n </svg>\n </span>\n {t(\"delete_account\")}\n </Link>\n </li>\n </ul>\n </div>\n <div className=\"profile-sidebar mobile-profile\">\n <ul>\n <li\n className={location.pathname === \"/mobile-profile\" ? \"active\" : \"\"}\n >\n <Link to=\"/mobile-profile\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path d=\"M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z\" />\n </svg>\n </span>\n {t(\"personal_details\")}\n </Link>\n </li>\n <li className={location.pathname === \"/orders\" ? \"active\" : \"\"}>\n <Link to=\"/orders\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path d=\"M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z\" />\n </svg>\n </span>\n {t(\"my_orders\")}\n </Link>\n </li>\n <li\n className={location.pathname === \"/orders/cancel\" ? \"active\" : \"\"}\n >\n <Link to=\"/orders/cancel\">\n <span>\n <svg\n id=\"Layer_1\"\n enable-background=\"new 0 0 512 512\"\n viewBox=\"0 0 512 512\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g>\n <path d=\"m236.94 233.335-230-96.842c-3.295-1.388-6.94 1.032-6.94 4.608v258.899c0 6.542 3.983 12.426 10.058 14.855l223.085 89.234c3.284 1.314 6.857-1.105 6.857-4.642v-261.504c0-2.011-1.206-3.827-3.06-4.608z\" />\n <path d=\"m257.94 205.823 222.315-93.606c3.996-1.682 4.103-7.306.174-9.139l-217.663-101.577c-4.289-2.001-9.243-2.001-13.532 0l-217.663 101.576c-3.929 1.833-3.822 7.457.174 9.139l222.315 93.606c1.24.523 2.64.523 3.88.001z\" />\n <path d=\"m400 256c42.31 0 80.411 18.348 106.779 47.499 1.843 2.038 5.221.743 5.221-2.004v-160.394c0-3.576-3.645-5.996-6.94-4.608l-230 96.842c-1.854.781-3.06 2.596-3.06 4.608v84.794c0 3.018 3.95 4.143 5.54 1.579 25.414-40.972 70.802-68.316 122.46-68.316z\" />\n <path d=\"m400 288c-61.757 0-112 50.243-112 112s50.243 112 112 112 112-50.243 112-112-50.243-112-112-112zm35.313 124.686c6.249 6.249 6.249 16.379 0 22.628-3.124 3.124-7.218 4.686-11.313 4.686s-8.189-1.562-11.313-4.686l-12.687-12.687-12.687 12.687c-3.124 3.124-7.218 4.686-11.313 4.686s-8.189-1.562-11.313-4.686c-6.249-6.249-6.249-16.379 0-22.628l12.686-12.686-12.686-12.686c-6.249-6.249-6.249-16.379 0-22.628 6.248-6.248 16.379-6.248 22.627 0l12.686 12.686 12.687-12.687c6.248-6.248 16.379-6.248 22.627 0 6.249 6.249 6.249 16.379 0 22.628l-12.687 12.687z\" />\n </g>\n </svg>\n </span>\n {t(\"cancelled_orders\")}\n </Link>\n </li>\n <li\n className={\n location.pathname === \"/order-transactions\" ? \"active\" : \"\"\n }\n >\n <Link to=\"/order-transactions\">\n <span>\n <svg\n id=\"Capa_1\"\n enable-background=\"new 0 0 512 512\"\n viewBox=\"0 0 512 512\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"m411 8.782v91.218h91.211z\" />\n <path d=\"m396 130c-8.284 0-15-6.716-15-15v-115h-215c-24.813 0-45 20.187-45 45v167.689c4.942-.448 9.943-.689 15-.689 51.128 0 96.897 23.376 127.186 60h162.814c8.284 0 15 6.716 15 15s-6.716 15-15 15h-143.052c9.376 18.296 15.422 38.565 17.363 60h125.689c8.284 0 15 6.716 15 15s-6.716 15-15 15h-125.689c-4.486 49.539-30.954 92.826-69.553 120h235.242c24.813 0 45-20.187 45-45v-337zm30 82h-220c-8.284 0-15-6.716-15-15s6.716-15 15-15h220c8.284 0 15 6.716 15 15s-6.716 15-15 15z\" />\n <path d=\"m136 242c-74.439 0-135 60.561-135 135s60.561 135 135 135 135-60.561 135-135-60.561-135-135-135zm40 150h-40c-8.284 0-15-6.716-15-15v-60c0-8.284 6.716-15 15-15s15 6.716 15 15v45h25c8.284 0 15 6.716 15 15s-6.716 15-15 15z\" />\n </svg>\n </span>\n {t(\"order_transactions\")}\n </Link>\n </li>\n <li\n className={location.pathname === \"/manage-address\" ? \"active\" : \"\"}\n >\n <Link to=\"/manage-address\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\">\n <path d=\"M575.8 255.5C575.8 273.5 560.8 287.6 543.8 287.6H511.8L512.5 447.7C512.5 450.5 512.3 453.1 512 455.8V472C512 494.1 494.1 512 472 512H456C454.9 512 453.8 511.1 452.7 511.9C451.3 511.1 449.9 512 448.5 512H392C369.9 512 352 494.1 352 472V384C352 366.3 337.7 352 320 352H256C238.3 352 224 366.3 224 384V472C224 494.1 206.1 512 184 512H128.1C126.6 512 125.1 511.9 123.6 511.8C122.4 511.9 121.2 512 120 512H104C81.91 512 64 494.1 64 472V360C64 359.1 64.03 358.1 64.09 357.2V287.6H32.05C14.02 287.6 0 273.5 0 255.5C0 246.5 3.004 238.5 10.01 231.5L266.4 8.016C273.4 1.002 281.4 0 288.4 0C295.4 0 303.4 2.004 309.5 7.014L564.8 231.5C572.8 238.5 576.9 246.5 575.8 255.5L575.8 255.5z\" />\n </svg>\n </span>\n {t(\"manage_address\")}\n </Link>\n </li>\n <li\n className={location.pathname === \"/payment-method\" ? \"active\" : \"\"}\n >\n <Link to=\"/payment-method\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\">\n <path d=\"M512 32C547.3 32 576 60.65 576 96V128H0V96C0 60.65 28.65 32 64 32H512zM576 416C576 451.3 547.3 480 512 480H64C28.65 480 0 451.3 0 416V224H576V416zM112 352C103.2 352 96 359.2 96 368C96 376.8 103.2 384 112 384H176C184.8 384 192 376.8 192 368C192 359.2 184.8 352 176 352H112zM240 384H368C376.8 384 384 376.8 384 368C384 359.2 376.8 352 368 352H240C231.2 352 224 359.2 224 368C224 376.8 231.2 384 240 384z\" />\n </svg>\n </span>\n {t(\"payment\")}\n </Link>\n </li>\n <li\n className={\n location.pathname === \"/profile-wallet\" ||\n location.pathname === \"/wallet-add-money\"\n ? \"active\"\n : \"\"\n }\n >\n <Link to=\"/profile-wallet\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path d=\"M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\" />\n </svg>\n </span>\n {t(\"wallet\")}\n </Link>\n </li>\n <li\n className={\n location.pathname === \"/two-step-authentication\" ? \"active\" : \"\"\n }\n >\n <Link to=\"/two-step-authentication\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path d=\"M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z\" />\n </svg>\n </span>\n {t(\"two_step_auth\")}\n </Link>\n </li>\n <li\n className={location.pathname === \"/change-password\" ? \"active\" : \"\"}\n >\n <Link to=\"/change-password\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path d=\"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z\" />\n </svg>\n </span>\n {t(\"change_password\")}\n </Link>\n </li>\n <li\n className={location.pathname === \"/delete-account\" ? \"active\" : \"\"}\n >\n <Link to=\"/delete-account\">\n <span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path d=\"M160 400C160 408.8 152.8 416 144 416C135.2 416 128 408.8 128 400V192C128 183.2 135.2 176 144 176C152.8 176 160 183.2 160 192V400zM240 400C240 408.8 232.8 416 224 416C215.2 416 208 408.8 208 400V192C208 183.2 215.2 176 224 176C232.8 176 240 183.2 240 192V400zM320 400C320 408.8 312.8 416 304 416C295.2 416 288 408.8 288 400V192C288 183.2 295.2 176 304 176C312.8 176 320 183.2 320 192V400zM317.5 24.94L354.2 80H424C437.3 80 448 90.75 448 104C448 117.3 437.3 128 424 128H416V432C416 476.2 380.2 512 336 512H112C67.82 512 32 476.2 32 432V128H24C10.75 128 0 117.3 0 104C0 90.75 10.75 80 24 80H93.82L130.5 24.94C140.9 9.357 158.4 0 177.1 0H270.9C289.6 0 307.1 9.358 317.5 24.94H317.5zM151.5 80H296.5L277.5 51.56C276 49.34 273.5 48 270.9 48H177.1C174.5 48 171.1 49.34 170.5 51.56L151.5 80zM80 432C80 449.7 94.33 464 112 464H336C353.7 464 368 449.7 368 432V128H80V432z\" />\n </svg>\n </span>\n {t(\"delete_account\")}\n </Link>\n </li>\n </ul>\n </div>\n </>\n );\n};\n\nexport default withTranslation(ProfileSideBar);\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/AddressSubmitForm.jsx",["1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103"],[],"import { apiConstants } from \"../Constant/constants\";\nimport Map, { GoogleApiWrapper, Marker } from \"google-maps-react\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport {\n Row,\n Col,\n Container,\n Form,\n Image,\n Button,\n Tab,\n Nav,\n FormControl,\n} from \"react-bootstrap\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport {\n saveDeliveryAddressesStart,\n fetchDeliveryAddressesListStart,\n getCountriesStart,\n getStatesStart,\n} from \"../store/actions/DeliveryAction\";\nimport { Formik, Form as FORM, Field, ErrorMessage } from \"formik\";\nimport * as Yup from \"yup\";\nimport { connect } from \"react-redux\";\nimport Select from \"react-select\";\n\nconst AddressSubmitForm = ({ isModal = false, ...props }) => {\n const t = useTranslation();\n const [address, setAddress] = useState(\"\");\n const [skipRender, setSkipRender] = useState(true);\n\n const validationSchema = Yup.object().shape({\n name: Yup.string(),\n contact_number: Yup.string().required(t(\"required\")).min(5, t(\"min_10\")),\n city: Yup.string().required(t(\"required\")),\n state: Yup.string().required(t(\"required\")),\n // state: Yup.object().required(t(\"required\")),\n country: Yup.object().required(t(\"required\")),\n pincode: Yup.string().required(t(\"required\")),\n landmark: Yup.string().required(t(\"required\")),\n address: Yup.string().required(t(\"required\")),\n });\n\n const handleSubmit = (values) => {\n props.dispatch(\n saveDeliveryAddressesStart(\n props.editAddress.delivery_address_id\n ? {\n ...values,\n country: values.country.label,\n state: values.state.value,\n delivery_address_id: props.editAddress.delivery_address_id,\n }\n : {\n ...values,\n country: values.country.label,\n state: values.state.value,\n }\n )\n );\n };\n\n useEffect(() => {\n props.dispatch(getCountriesStart({ all_countries: 1 }));\n }, []);\n\n const onCountryChange = (value) => {\n props.dispatch(\n getStatesStart({\n country_code: value.value,\n })\n );\n };\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.deliveryAddressesSave.loading &&\n Object.keys(props.deliveryAddressesSave.data).length > 0\n ) {\n if (!isModal) {\n props.setActiveTab(\"saved_billing\");\n props.dispatch(fetchDeliveryAddressesListStart());\n }\n }\n setSkipRender(false);\n }, [props.deliveryAddressesSave]);\n\n return (\n <div className=\"new-address-sec mt-4\">\n <div className=\"login-form\">\n <Formik\n initialValues={{\n name: props.editAddress.name ? props.editAddress.name : \"\",\n contact_number: props.editAddress.contact_number\n ? props.editAddress.contact_number\n : \"\",\n city: props.editAddress.city ? props.editAddress.city : \"\",\n state: props.editAddress.state ? props.editAddress.state : \"\",\n country: props.editAddress.country ? props.editAddress.country : \"\",\n pincode: props.editAddress.pincode ? props.editAddress.pincode : \"\",\n landmark: props.editAddress.landmark\n ? props.editAddress.landmark\n : \"\",\n address: props.editAddress.address ? props.editAddress.address : \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={(values) => handleSubmit(values)}\n enableReinitialize={true}\n >\n {({ values, errors, touched, setFieldValue }) => (\n <FORM>\n <Row>\n <Col md={12} xl={6} lg={6}>\n <Form.Group\n className=\"mb-4 select-address-type\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"name\")} <span>*</span>\n </Form.Label>\n <Field\n type=\"text\"\n className=\"form-control\"\n name=\"name\"\n placeholder={t(\"address_choose\")}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"name\"\n className=\"text-danger\"\n />\n <div className=\"select-address-type-btn\">\n <Button\n className=\"text-btn\"\n type=\"button\"\n onClick={(e) => setFieldValue(\"name\", \"Home\")}\n >\n {t(\"home\")}\n </Button>\n <Button\n className=\"text-btn\"\n type=\"button\"\n onClick={() => setFieldValue(\"name\", \"Work\")}\n >\n {t(\"work\")}\n </Button>\n <Button\n className=\"text-btn\"\n type=\"button\"\n onClick={() => setFieldValue(\"name\", \"Others\")}\n >\n {t(\"others\")}\n </Button>\n </div>\n </Form.Group>\n </Col>\n <Col md={12} xl={6} lg={6}>\n <Form.Group\n className=\"mb-4\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"contact_number\")} <span>*</span>\n </Form.Label>\n <Field\n type=\"number\"\n className=\"form-control\"\n name=\"contact_number\"\n placeholder={t(\"contact_placeholder\")}\n min=\"0\"\n />\n <ErrorMessage\n component={\"div\"}\n name=\"contact_number\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group\n className=\"mb-4\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"country\")} <span>*</span>\n </Form.Label>\n {/* <Field\n type=\"text\"\n className=\"form-control\"\n name=\"country\"\n placeholder={t(\"country_placeholder\")}\n min=\"0\"\n\n /> */}\n <Select\n options={\n props.countries.data.countries\n ? props.countries.data.countries\n : []\n }\n value={values.country}\n onChange={(value) => {\n onCountryChange(value);\n setFieldValue(\"country\", value);\n }}\n placeholder={t(\"country_placeholder\")}\n noOptionsMessage={() => t(\"no_countries\")}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"country\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group\n className=\"mb-4\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"state\")} <span>*</span>\n </Form.Label>\n <Field\n type=\"text\"\n className=\"form-control\"\n name=\"state\"\n placeholder={t(\"state_placeholder\")}\n min=\"0\"\n />\n {/* <Select\n options={props.states.data.states ? props.states.data.states : []}\n value={values.state}\n onChange={value => setFieldValue(\"state\", value)}\n placeholder={t(\"state_placeholder\")}\n noOptionsMessage={() => t(\"no_states\")}\n /> */}\n <ErrorMessage\n component={\"div\"}\n name=\"state\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group controlId=\"formBasicEmail\">\n <Form.Label>\n {t(\"city\")} <span>*</span>\n </Form.Label>\n <Field\n type=\"text\"\n className=\"form-control\"\n name=\"city\"\n placeholder={t(\"city_placeholder\")}\n />\n <ErrorMessage\n component={\"div\"}\n name=\"city\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group\n className=\"mb-4\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"pincode\")} <span>*</span>\n </Form.Label>\n <Field\n type=\"text\"\n className=\"form-control\"\n name=\"pincode\"\n placeholder={t(\"pincode_placeholder\")}\n min=\"0\"\n />\n <ErrorMessage\n component={\"div\"}\n name=\"pincode\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={12}>\n <Form.Group\n className=\"mb-4\"\n controlId=\"exampleForm.ControlInput1\"\n >\n <Form.Label>\n {t(\"landmark\")} <span>*</span>\n </Form.Label>\n <Field\n type=\"text\"\n className=\"form-control\"\n name=\"landmark\"\n placeholder={t(\"landmark_placeholder\")}\n min=\"0\"\n />\n <ErrorMessage\n component={\"div\"}\n name=\"landmark\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n <Col md={12}>\n <Form.Group\n className=\"mb-4\"\n controlId=\"exampleForm.ControlTextarea1\"\n >\n <Form.Label>\n {t(\"address_area\")} <span>*</span>\n </Form.Label>\n <Field\n as=\"textarea\"\n className=\"form-control\"\n name=\"address\"\n placeholder={t(\"address_placeholder\")}\n min=\"0\"\n />\n <ErrorMessage\n component={\"div\"}\n name=\"address\"\n className=\"text-danger\"\n />\n </Form.Group>\n </Col>\n </Row>\n <Form.Group\n className=\"mb-3 form-check-custom\"\n controlId=\"formBasicCheckbox\"\n >\n <Form.Check type=\"checkbox\" label={t(\"use_as_default_add\")} />\n </Form.Group>\n <div className=\"default-btn-sec\">\n <Button\n type=\"submit\"\n className=\"subscribe-btn\"\n disabled={props.deliveryAddressesSave.buttonDisable}\n >\n {props.deliveryAddressesSave.loadingButtonContent\n ? props.deliveryAddressesSave.loadingButtonContent\n : t(\"save\")}\n </Button>\n </div>\n </FORM>\n )}\n </Formik>\n </div>\n </div>\n );\n};\n\nconst mapStateToPros = (state) => ({\n deliveryAddressesSave: state.delivery.deliveryAddressesSave,\n deliveryAddressesList: state.delivery.deliveryAddressesList,\n countries: state.delivery.countries,\n states: state.delivery.states,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(AddressSubmitForm));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/SingleBillingAddressCard.jsx",["1104","1105","1106"],[],"import { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { connect } from \"react-redux\";\nimport React, { useEffect, useState } from \"react\";\nimport {\n fetchUserBillingAccountsListStart,\n setDefaultUserBillingAccountsStart,\n deleteUserBillingAccountsStart,\n} from \"../store/actions/WalletAction\";\n\nconst SingleBillingAddressCard = (props) => {\n const { selectedAccount, setSelectedAccount, account } = props;\n const [skipRender, setSkipRender] = useState(true);\n const t = useTranslation();\n\n const setDefaultAccount = (e) => {\n props.dispatch(\n setDefaultUserBillingAccountsStart({\n user_billing_account_id: account.user_billing_account_id,\n })\n );\n e.stopPropagation();\n };\n\n const removeAccount = (e) => {\n props.dispatch(\n deleteUserBillingAccountsStart({\n user_billing_account_id: account.user_billing_account_id,\n })\n );\n e.stopPropagation();\n };\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.defaultUserBillingAccounts.loading &&\n Object.keys(props.defaultUserBillingAccounts.data).length > 0\n ) {\n props.dispatch(fetchUserBillingAccountsListStart());\n }\n setSkipRender(false);\n }, [props.defaultUserBillingAccounts]);\n\n\n \n\n return (\n <div className=\"payment-radio-box\">\n <div className=\"payment-radio-btn label-bg\">\n <input\n name=\"plan\"\n type=\"radio\"\n className=\"radio\"\n id=\"address-1\"\n checked={selectedAccount === account.user_billing_account_id}\n />\n <label\n name=\"plan\"\n className=\"radio\"\n type=\"radio\"\n checked={selectedAccount === account.user_billing_account_id}\n onClick={() => setSelectedAccount(account.user_billing_account_id)}\n >\n <div className=\"billing-details\">\n <h5>\n {account.first_name} {account.last_name}\n </h5>\n <p>\n {new Array(account.account_number.length - 4 + 1).join(\"x\") +\n account.account_number.slice(-4)}\n </p>\n {account.is_default == 1 ? (\n <span className=\"text-success\">{t(\"default\")}</span>\n ) : props.defaultUserBillingAccounts.loadingButtonContent &&\n props.defaultUserBillingAccounts.data.user_billing_account_id ===\n account.user_billing_account_id ? (\n props.defaultUserBillingAccounts.loadingButtonContent\n ) : (\n <span\n onClick={(event) => setDefaultAccount()}\n className=\"text-warning\"\n style={{ cursor: \"pointer\" }}\n >\n {t(\"set_as_default\")}\n </span>\n )}\n </div>\n {\n <span\n onClick={removeAccount}\n className=\"text-danger card-delete del\"\n >\n {props.deleteUserBillingAccounts.loadingButtonContent &&\n props.deleteUserBillingAccounts.data.user_billing_account_id ===\n account.user_billing_account_id ? (\n props.deleteUserBillingAccounts.loadingButtonContent\n ) : (\n <img\n src={window.location.origin + \"/images/delete.svg\"}\n width=\"25\"\n height=\"25\"\n />\n )}\n </span>\n }\n </label>\n </div>\n </div>\n );\n};\n\nconst mapStateToPros = (state) => ({\n userBillingAccounts: state.wallet.userBillingAccounts,\n defaultUserBillingAccounts: state.wallet.defaultUserBillingAccounts,\n deleteUserBillingAccounts: state.wallet.deleteUserBillingAccounts,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(SingleBillingAddressCard));\n","/home/ubuntu/misabloom-frontend-base/src/components/Profile/OrderReturnModal.jsx",["1107"],[],"import React, { useEffect, useState } from 'react';\nimport { Modal, Form, Button, Row, Col } from 'react-bootstrap';\nimport { ordersSendReturnRequestStart } from '../store/actions/OrdersAction';\nimport { connect } from 'react-redux';\n\nconst OrderReturnModal = (props) => {\n\n const [reason, setReason] = useState(\"\");\n const [skipRender, setSkipRender] = useState(true);\n\n const returnOrder = e => {\n e.preventDefault();\n if (reason) {\n props.dispatch(ordersSendReturnRequestStart({\n order_unique_id: props.orderUniqueId,\n cancelled_reason: reason,\n }));\n }\n }\n\n useEffect(() => {\n if (!skipRender && !props.returnOrder.loading && Object.keys(props.returnOrder.data).length > 0) {\n props.closeOrderReturnModal();\n }\n setSkipRender(false);\n }, [props.returnOrder]);\n\n\n return (\n <>\n <Modal\n className=\"modal-dialog-center write-review-modal\"\n size=\"md\"\n centered\n show={props.orderReturnModal}\n onHide={props.closeOrderReturnModal}\n >\n <Modal.Header closeButton>\n <Modal.Title>Return</Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <Form className=\"write-review-form\" onSubmit={returnOrder}>\n <Row>\n <Col className=\"mb-3\">\n <Form.Control\n type=\"text\"\n as={\"textarea\"}\n className=\"form-control\"\n value={reason}\n onChange={e => setReason(e.target.value)}\n rows={4}\n placeholder={\"Reason\"}\n />\n </Col>\n <Button\n className=\"wishlist-btn\"\n type=\"submit\"\n disabled={props.returnOrder.buttonDisable}\n >\n {props.returnOrder.loadingButtonContent ?\n props.returnOrder.loadingButtonContent\n : \"Submit\"\n }\n </Button>\n </Row>\n </Form>\n </Modal.Body>\n </Modal>\n </>\n );\n}\n\n\nconst mapStateToPros = (state) => ({\n returnOrder: state.orders.returnOrder\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(OrderReturnModal);","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoBillingAddressFound.jsx",["1108"],[],"import React from 'react';\n\nconst NoBillingAddressFound = () => {\n return <div className=\"text-center\">\n <img src={window.location.origin + \"/images/please-add-your-billing-details.png\"} width=\"300\" />\n </div>;\n}\n\nexport default NoBillingAddressFound;","/home/ubuntu/misabloom-frontend-base/src/components/Profile/PaymentSection.jsx",["1109","1110","1111","1112","1113","1114","1115"],[],"import React, { useState, useEffect } from 'react';\nimport AddCardSection from './AddCardSection';\nimport { Link } from 'react-router-dom';\nimport { Image } from 'react-bootstrap';\nimport { connect } from 'react-redux';\nimport { fetchUserCardListStart } from '../store/actions/WalletAction';\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport SomethingWrong from '../Helper/SomethingWrong';\nimport NoDataFound from '../Helper/NoDataFound';\nimport SingleCard from './SingleCard';\nimport Skeleton from 'react-loading-skeleton';\nimport 'react-loading-skeleton/dist/skeleton.css';\nimport NoCardDetailsFound from '../Helper/NoCardDetailsFound';\n\n\nconst PaymentSection = (props) => {\n const [skipFirst, setSkipFirst] = useState(true);\n const t = useTranslation();\n\n useEffect(() => {\n props.dispatch(fetchUserCardListStart());\n }, []);\n\n useEffect(() => {\n if (!skipFirst && !props.userCardList.loading && Object.keys(props.userCardList.data).length > 0) {\n if (props.userCardList.data.user_cards && props.userCardList.data.user_cards.length > 0) {\n props.userCardList.data.user_cards.map((card, i) => {\n if (card.is_default === 1)\n props.setSelectedCard(card.user_card_id);\n })\n } else {\n props.setSelectedCard(null);\n }\n }\n setSkipFirst(false);\n }, [props.userCardList]);\n\n useEffect(() => {\n if (!skipFirst && !props.addUserCard.loading && Object.keys(props.addUserCard.data).length > 0) {\n props.dispatch(fetchUserCardListStart());\n }\n }, [props.addUserCard]);\n\n return (\n <div className=\"payment-radio-box\">\n {props.userCardList.loading ?\n <Skeleton\n count={2}\n height={100}\n />\n : props.userCardList.data.user_cards ?\n props.userCardList.data.user_cards.length > 0 ?\n props.userCardList.data.user_cards.map((card, i) =>\n <SingleCard\n card={card}\n key={i}\n selectedCard={props.selectedCard}\n setSelectedCard={props.setSelectedCard}\n />\n )\n : <NoCardDetailsFound/>\n : <SomethingWrong />\n }\n\n {/* <div className=\"mt-3\">\n <Link to=\"\" className=\"address-button\">\n Add New Card\n </Link>\n </div> */}\n <div className=\"profile-details-title\">\n <h4>{t(\"add_new_card\")}</h4>\n </div>\n <AddCardSection />\n </div >\n );\n}\n\nconst mapStateToPros = (state) => ({\n addUserCard: state.wallet.addUserCard,\n userCardList: state.wallet.userCardList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(PaymentSection));","/home/ubuntu/misabloom-frontend-base/src/components/Helper/OrderDetailsNotFound.jsx",["1116"],[],"import React from 'react';\n\nconst OrderDetailsNotFound = () => {\n return <div className=\"text-center\">\n <img src={window.location.origin + \"/images/order-details-not-found.png\"} width=\"300\" />\n </div>;\n}\n\nexport default OrderDetailsNotFound;","/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoWishListItemFound.jsx",["1117"],[],"import React from 'react';\n\nconst NoWishListItemFound = () => {\n return <div className=\"text-center\">\n <img src={window.location.origin + \"/images/your-wishlist-is-empty.png\"} width=\"300\" />\n </div>;\n}\n\nexport default NoWishListItemFound;","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/UserReducer.jsx",["1118"],[],"import {\n FETCH_USER_DETAILS_START,\n FETCH_USER_DETAILS_SUCCESS,\n FETCH_USER_DETAILS_FAILURE,\n UPDATE_USER_DETAILS_START,\n UPDATE_USER_DETAILS_SUCCESS,\n UPDATE_USER_DETAILS_FAILURE,\n LOGIN_START,\n LOGIN_SUCCESS,\n LOGIN_FAILURE,\n REGISTER_START,\n REGISTER_SUCCESS,\n REGISTER_FAILURE,\n FORGOT_PASSWORD_START,\n FORGOT_PASSWORD_SUCCESS,\n FORGOT_PASSWORD_FAILURE,\n LOGOUT_START,\n LOGOUT_SUCCESS,\n LOGOUT_FAILURE,\n REGENERATE_EMAIL_VERIFICATION_CODE_START,\n REGENERATE_EMAIL_VERIFICATION_CODE_SUCCESS,\n REGENERATE_EMAIL_VERIFICATION_CODE_FAILURE,\n VERIFY_EMAIL_START,\n VERIFY_EMAIL_SUCCESS,\n VERIFY_EMAIL_FAILURE,\n TWO_STEP_AUTH_LOGIN_START,\n TWO_STEP_AUTH_LOGIN_SUCCESS,\n TWO_STEP_AUTH_LOGIN_FAILURE,\n TWO_STEP_AUTH_RESEND_CODE_START,\n TWO_STEP_AUTH_RESEND_CODE_SUCCESS,\n TWO_STEP_AUTH_RESEND_CODE_FAILURE,\n CHANGE_PASSWORD_START,\n CHANGE_PASSWORD_SUCCESS,\n CHANGE_PASSWORD_FAILURE,\n DELETE_ACCOUNT_START,\n DELETE_ACCOUNT_SUCCESS,\n DELETE_ACCOUNT_FAILURE,\n TWO_STEP_AUTH_UPDATE_START,\n TWO_STEP_AUTH_UPDATE_SUCCESS,\n TWO_STEP_AUTH_UPDATE_FAILURE,\n FETCH_DASHBOARD_START,\n FETCH_DASHBOARD_SUCCESS,\n FETCH_DASHBOARD_FAILURE,\n RESET_PASSWORD_START,\n RESET_PASSWORD_SUCCESS,\n RESET_PASSWORD_FAILURE,\n USERNAME_VALIDATION_START,\n USERNAME_VALIDATION_SUCCESS,\n USERNAME_VALIDATION_FAILURE,\n FETCH_SALES_REPORT_START,\n FETCH_SALES_REPORT_SUCCESS,\n FETCH_SALES_REPORT_FAILURE,\n} from \"../actions/ActionConstant\";\n\nconst initialState = {\n profile: {\n data: {},\n loading: true,\n error: false,\n },\n profileInputData: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n status: null,\n },\n loginInputData: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n register: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n status: null,\n },\n forgotPassword: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n status: null,\n },\n logout: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n status: null,\n },\n regenerateEmailVerificationCode: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n verifyEmail: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n twoStepAuthLogin: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n twoStepAuthResedCode: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n changePassword: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n deleteAccount: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n twoStepAuthUpdate: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n dashboard: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n resetPassword: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n usernameValidation: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n salesReport: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n};\n\nconst userReducer = (state = initialState, action) => {\n switch (action.type) {\n case FETCH_USER_DETAILS_START:\n return {\n ...state,\n profile: {\n data: {},\n loading: true,\n error: false,\n },\n };\n case FETCH_USER_DETAILS_SUCCESS:\n return {\n ...state,\n profile: {\n data: action.data,\n loading: false,\n error: false,\n },\n };\n case FETCH_USER_DETAILS_FAILURE:\n return {\n ...state,\n profile: {\n data: {},\n loading: false,\n error: action.error,\n },\n };\n case UPDATE_USER_DETAILS_START:\n return {\n ...state,\n profileInputData: {\n ...state.profileInputData,\n data: {\n name: state.profile.data.name,\n picture: action.data\n ? action.data.picture != undefined\n ? action.data.picture\n : \"\"\n : \"\",\n },\n error: false,\n loading: true,\n buttonDisable: true,\n loadingButtonContent: \"Loading...please wait\",\n },\n };\n\n case UPDATE_USER_DETAILS_SUCCESS:\n return {\n ...state,\n profileInputData: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n };\n case UPDATE_USER_DETAILS_FAILURE:\n return {\n ...state,\n profileInputData: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n status: true,\n },\n };\n case LOGIN_START:\n return {\n ...state,\n loginInputData: {\n data: {\n ...action.data,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n },\n loading: true,\n buttonDisable: true,\n loadingButtonContent: \"Loading please wait\",\n },\n };\n\n case LOGIN_SUCCESS:\n return {\n ...state,\n profile: {\n data: action.data,\n loading: false,\n error: false,\n },\n loginInputData: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n };\n case LOGIN_FAILURE:\n return {\n ...state,\n loginInputData: {\n data: {},\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n };\n\n case REGISTER_START:\n return {\n ...state,\n register: {\n ...state.register,\n data: {\n ...action.data,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n },\n loading: true,\n buttonDisable: true,\n loadingButtonContent: \"Loading please wait\",\n },\n };\n\n case REGISTER_SUCCESS:\n return {\n ...state,\n register: {\n ...state.register,\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n };\n case REGISTER_FAILURE:\n return {\n ...state,\n register: {\n ...state.register,\n data: {},\n loading: false,\n error: true,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n };\n\n case FORGOT_PASSWORD_START:\n return {\n ...state,\n forgotPassword: {\n ...state.forgotPassword,\n data: action.data,\n loading: true,\n buttonDisable: true,\n loadingButtonContent: \"Loading please wait\",\n },\n };\n\n case FORGOT_PASSWORD_SUCCESS:\n return {\n ...state,\n forgotPassword: {\n ...state.forgotPassword,\n data: action,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n };\n case FORGOT_PASSWORD_FAILURE:\n return {\n ...state,\n forgotPassword: {\n ...state.forgotPassword,\n data: {},\n loading: false,\n error: true,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n };\n\n case LOGOUT_START:\n return {\n ...state,\n logout: {\n ...state.logout,\n data: action.data,\n loading: true,\n buttonDisable: true,\n loadingButtonContent: \"Loading please wait\",\n },\n };\n\n case LOGOUT_SUCCESS:\n return {\n ...state,\n logout: {\n ...state.logout,\n data: action,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n };\n case LOGOUT_FAILURE:\n return {\n ...state,\n logout: {\n ...state.logout,\n data: {},\n loading: false,\n error: true,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n };\n case REGENERATE_EMAIL_VERIFICATION_CODE_START:\n return {\n ...state,\n regenerateEmailVerificationCode: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case REGENERATE_EMAIL_VERIFICATION_CODE_SUCCESS:\n return {\n ...state,\n regenerateEmailVerificationCode: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case REGENERATE_EMAIL_VERIFICATION_CODE_FAILURE:\n return {\n ...state,\n regenerateEmailVerificationCode: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case VERIFY_EMAIL_START:\n return {\n ...state,\n verifyEmail: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case VERIFY_EMAIL_SUCCESS:\n return {\n ...state,\n verifyEmail: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case VERIFY_EMAIL_FAILURE:\n return {\n ...state,\n verifyEmail: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case TWO_STEP_AUTH_LOGIN_START:\n return {\n ...state,\n twoStepAuthLogin: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case TWO_STEP_AUTH_LOGIN_SUCCESS:\n return {\n ...state,\n twoStepAuthLogin: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case TWO_STEP_AUTH_LOGIN_FAILURE:\n return {\n ...state,\n twoStepAuthLogin: {\n data: {},\n loading: true,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case TWO_STEP_AUTH_RESEND_CODE_START:\n return {\n ...state,\n twoStepAuthResedCode: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case TWO_STEP_AUTH_RESEND_CODE_SUCCESS:\n return {\n ...state,\n twoStepAuthResedCode: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case TWO_STEP_AUTH_RESEND_CODE_FAILURE:\n return {\n ...state,\n twoStepAuthResedCode: {\n data: {},\n loading: false,\n error: action.data,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case CHANGE_PASSWORD_START:\n return {\n ...state,\n changePassword: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case CHANGE_PASSWORD_SUCCESS:\n return {\n ...state,\n changePassword: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case CHANGE_PASSWORD_FAILURE:\n return {\n ...state,\n changePassword: {\n data: {},\n loading: true,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case DELETE_ACCOUNT_START:\n return {\n ...state,\n deleteAccount: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case DELETE_ACCOUNT_SUCCESS:\n return {\n ...state,\n deleteAccount: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case DELETE_ACCOUNT_FAILURE:\n return {\n ...state,\n deleteAccount: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case TWO_STEP_AUTH_UPDATE_START:\n return {\n ...state,\n twoStepAuthUpdate: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case TWO_STEP_AUTH_UPDATE_SUCCESS:\n return {\n ...state,\n twoStepAuthUpdate: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case TWO_STEP_AUTH_UPDATE_FAILURE:\n return {\n ...state,\n twoStepAuthUpdate: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case FETCH_DASHBOARD_START:\n return {\n ...state,\n dashboard: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case FETCH_DASHBOARD_SUCCESS:\n return {\n ...state,\n dashboard: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case FETCH_DASHBOARD_FAILURE:\n return {\n ...state,\n dashboard: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case RESET_PASSWORD_START:\n return {\n ...state,\n resetPassword: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case RESET_PASSWORD_SUCCESS:\n return {\n ...state,\n resetPassword: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case RESET_PASSWORD_FAILURE:\n return {\n ...state,\n resetPassword: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case USERNAME_VALIDATION_START:\n return {\n ...state,\n usernameValidation: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case USERNAME_VALIDATION_SUCCESS:\n return {\n ...state,\n usernameValidation: {\n data: action.data,\n loading: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case USERNAME_VALIDATION_FAILURE:\n return {\n ...state,\n usernameValidation: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case FETCH_SALES_REPORT_START:\n return {\n ...state,\n salesReport: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case FETCH_SALES_REPORT_SUCCESS:\n return {\n ...state,\n salesReport: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case FETCH_SALES_REPORT_FAILURE:\n return {\n ...state,\n salesReport: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n default:\n return state;\n }\n};\n\nexport default userReducer;\n","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/CartsReducer.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/OrdersReducer.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/WalletReducer.jsx",["1119"],[],"import {\n ADD_USER_CARD_FAILURE,\n ADD_USER_CARD_START,\n ADD_USER_CARD_SUCCESS,\n DELETE_USER_CARD_FAILURE,\n DELETE_USER_CARD_START,\n DELETE_USER_CARD_SUCCESS,\n FETCH_USER_CARD_LIST_FAILURE,\n FETCH_USER_CARD_LIST_START,\n FETCH_USER_CARD_LIST_SUCCESS,\n FETCH_USER_DETAILS_SUCCESS,\n SET_DEFAULT_USER_CARD_FAILURE,\n SET_DEFAULT_USER_CARD_START,\n SET_DEFAULT_USER_CARD_SUCCESS,\n ADD_USER_BILLING_ACCOUNTS_FAILURE,\n ADD_USER_BILLING_ACCOUNTS_START,\n ADD_USER_BILLING_ACCOUNTS_SUCCESS,\n FETCH_USER_BILLING_ACCOUNTS_FAILURE,\n FETCH_USER_BILLING_ACCOUNTS_START,\n FETCH_USER_BILLING_ACCOUNTS_SUCCESS,\n DELETE_USER_BILLING_ACCOUNTS_FAILURE,\n DELETE_USER_BILLING_ACCOUNTS_START,\n DELETE_USER_BILLING_ACCOUNTS_SUCCESS,\n SET_DEFAULT_USER_BILLING_ACCOUNTS_FAILURE,\n SET_DEFAULT_USER_BILLING_ACCOUNTS_START,\n SET_DEFAULT_USER_BILLING_ACCOUNTS_SUCCESS,\n FETCH_USER_WALLET_DETAILS_FAILURE,\n FETCH_USER_WALLET_DETAILS_START,\n FETCH_MORE_USER_WALLET_DETAILS_START,\n FETCH_USER_WALLET_DETAILS_SUCCESS,\n WALLET_PAYMENT_BY_STRIPE_FAILURE,\n WALLET_PAYMENT_BY_STRIPE_START,\n WALLET_PAYMENT_BY_STRIPE_SUCCESS,\n WITHDRAWAL_REQUEST_START,\n WITHDRAWAL_REQUEST_SUCCESS,\n WITHDRAWAL_REQUEST_FAILURE,\n CANCEL_WITHDRAWAL_REQUEST_START,\n CANCEL_WITHDRAWAL_REQUEST_SUCCESS,\n CANCEL_WITHDRAWAL_REQUEST_FAILURE,\n FETCH_WITHDRAWL_REQUESTS_START,\n FETCH_WITHDRAWL_REQUESTS_SUCCESS,\n FETCH_WITHDRAWL_REQUESTS_FAILURE,\n VIEW_SINGLE_WITHDRAWAL_REQUEST_SUCCESS,\n VIEW_SINGLE_WITHDRAWAL_REQUEST_FAILURE,\n VIEW_SINGLE_WITHDRAWAL_REQUEST_START,\n FETCH_MORE_WITHDRAWAL_REQUESTS_START,\n FETCH_USER_WALLET_ADDRESS_START,\n FETCH_USER_WALLET_ADDRESS_SUCCESS,\n FETCH_USER_WALLET_ADDRESS_FAILURE,\n FORCE_WITHDRAWL_REQUESTS_SUCCESS,\n} from \"../actions/ActionConstant\";\n\n\nconst initialState = {\n addUserCard: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n userCardList: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null\n },\n deleteUserCard: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n defaultUserCard: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n addUserBillingAccounts: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n userBillingAccounts: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null\n },\n deleteUserBillingAccounts: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n defaultUserBillingAccounts: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n userWalletDetails: {\n data: {\n user_wallet_payments: [],\n user_wallet: {},\n total: 0,\n },\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null\n },\n walletPaymentByStripe: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n withdrawRequest: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n cancelWithdrawRequest: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n withdrawRequestList: {\n data: {\n user_withdrawals: [],\n user_wallet: {},\n total: 0,\n },\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n singleWithdrawRequest: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n },\n walletAddress: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n};\n\nconst walletReducer = (state = initialState, action) => {\n switch (action.type) {\n case ADD_USER_CARD_START:\n return {\n ...state,\n addUserCard: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n },\n };\n case ADD_USER_CARD_SUCCESS:\n return {\n ...state,\n addUserCard: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case ADD_USER_CARD_FAILURE:\n return {\n ...state,\n addUserCard: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case FETCH_USER_CARD_LIST_START:\n return {\n ...state,\n userCardList: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\"\n }\n };\n case FETCH_USER_CARD_LIST_SUCCESS:\n return {\n ...state,\n userCardList: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null\n }\n };\n case FETCH_USER_CARD_LIST_FAILURE:\n return {\n ...state,\n userCardList: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null\n }\n };\n case DELETE_USER_CARD_START:\n return {\n ...state,\n deleteUserCard: {\n data: action.data,\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case DELETE_USER_CARD_SUCCESS:\n return {\n ...state,\n deleteUserCard: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case DELETE_USER_CARD_FAILURE:\n return {\n ...state,\n deleteUserCard: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n }\n case SET_DEFAULT_USER_CARD_START:\n return {\n ...state,\n defaultUserCard: {\n data: action.data,\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case SET_DEFAULT_USER_CARD_SUCCESS:\n return {\n ...state,\n defaultUserCard: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case SET_DEFAULT_USER_CARD_FAILURE:\n return {\n ...state,\n defaultUserCard: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n }\n case ADD_USER_BILLING_ACCOUNTS_START:\n return {\n ...state,\n addUserBillingAccounts: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n },\n };\n case ADD_USER_BILLING_ACCOUNTS_SUCCESS:\n return {\n ...state,\n addUserBillingAccounts: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case ADD_USER_BILLING_ACCOUNTS_FAILURE:\n return {\n ...state,\n addUserBillingAccounts: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case FETCH_USER_BILLING_ACCOUNTS_START:\n return {\n ...state,\n userBillingAccounts: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\"\n }\n };\n case FETCH_USER_BILLING_ACCOUNTS_SUCCESS:\n return {\n ...state,\n userBillingAccounts: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null\n }\n };\n case FETCH_USER_BILLING_ACCOUNTS_FAILURE:\n return {\n ...state,\n userBillingAccounts: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null\n }\n };\n case DELETE_USER_BILLING_ACCOUNTS_START:\n return {\n ...state,\n deleteUserBillingAccounts: {\n data: action.data,\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case DELETE_USER_BILLING_ACCOUNTS_SUCCESS:\n return {\n ...state,\n deleteUserBillingAccounts: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case DELETE_USER_BILLING_ACCOUNTS_FAILURE:\n return {\n ...state,\n deleteUserBillingAccounts: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n }\n case SET_DEFAULT_USER_BILLING_ACCOUNTS_START:\n return {\n ...state,\n defaultUserBillingAccounts: {\n data: action.data,\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case SET_DEFAULT_USER_BILLING_ACCOUNTS_SUCCESS:\n return {\n ...state,\n defaultUserBillingAccounts: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case SET_DEFAULT_USER_BILLING_ACCOUNTS_FAILURE:\n return {\n ...state,\n defaultUserBillingAccounts: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n }\n case FETCH_USER_WALLET_DETAILS_START:\n return {\n ...state,\n userWalletDetails: {\n data: {\n user_wallet_payments: [],\n user_wallet: {},\n total: 0,\n },\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\"\n }\n };\n case FETCH_MORE_USER_WALLET_DETAILS_START:\n return state;\n case FETCH_USER_WALLET_DETAILS_SUCCESS:\n return {\n ...state,\n userWalletDetails: {\n data: {\n user_wallet_payments: [...state.userWalletDetails.data.user_wallet_payments, ...action.data.user_wallet_payments],\n user_wallet: action.data.user_wallet,\n total: action.data.total_wallet_payments,\n },\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null\n }\n };\n case FETCH_USER_WALLET_DETAILS_FAILURE:\n return {\n ...state,\n userWalletDetails: {\n data: state.userWalletDetails.data,\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null\n }\n };\n case WALLET_PAYMENT_BY_STRIPE_START:\n return {\n ...state,\n walletPaymentByStripe: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n },\n };\n case WALLET_PAYMENT_BY_STRIPE_SUCCESS:\n return {\n ...state,\n walletPaymentByStripe: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case WALLET_PAYMENT_BY_STRIPE_FAILURE:\n return {\n ...state,\n walletPaymentByStripe: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case WITHDRAWAL_REQUEST_START:\n return {\n ...state,\n withdrawRequest: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case WITHDRAWAL_REQUEST_SUCCESS:\n return {\n ...state,\n withdrawRequest: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null\n }\n };\n case WITHDRAWAL_REQUEST_FAILURE:\n return {\n ...state,\n withdrawRequest: {\n data: {},\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case CANCEL_WITHDRAWAL_REQUEST_START:\n return {\n ...state,\n cancelWithdrawRequest: {\n data: action.data,\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case CANCEL_WITHDRAWAL_REQUEST_SUCCESS:\n return {\n ...state,\n cancelWithdrawRequest: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case CANCEL_WITHDRAWAL_REQUEST_FAILURE:\n return {\n ...state,\n cancelWithdrawRequest: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case FETCH_WITHDRAWL_REQUESTS_START:\n return {\n ...state,\n withdrawRequestList: {\n data: {\n user_withdrawals: [],\n user_wallet: {},\n total: 0\n },\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case FETCH_MORE_WITHDRAWAL_REQUESTS_START:\n return state;\n case FETCH_WITHDRAWL_REQUESTS_SUCCESS:\n return {\n ...state,\n withdrawRequestList: {\n data: {\n user_withdrawals: [...state.withdrawRequestList.data.user_withdrawals, ...action.data.user_withdrawals],\n user_wallet: action.data.user_wallet,\n total: action.data.total_withdrawals,\n },\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case FORCE_WITHDRAWL_REQUESTS_SUCCESS:\n return {\n ...state,\n withdrawRequestList: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n }\n case FETCH_WITHDRAWL_REQUESTS_FAILURE:\n return {\n ...state,\n withdrawRequestList: {\n data: state.withdrawRequestList.data,\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case VIEW_SINGLE_WITHDRAWAL_REQUEST_START:\n return {\n ...state,\n singleWithdrawRequest: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\",\n }\n };\n case VIEW_SINGLE_WITHDRAWAL_REQUEST_SUCCESS:\n return {\n ...state,\n singleWithdrawRequest: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case VIEW_SINGLE_WITHDRAWAL_REQUEST_FAILURE:\n return {\n ...state,\n singleWithdrawRequest: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case FETCH_USER_WALLET_ADDRESS_START:\n return {\n ...state,\n walletAddress: {\n data: {},\n loading: true,\n error: false,\n buttonDisable: true,\n loadingButtonContent: \"Loading\"\n }\n };\n case FETCH_USER_WALLET_ADDRESS_SUCCESS:\n return {\n ...state,\n walletAddress: {\n data: action.data,\n loading: false,\n error: false,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n case FETCH_USER_WALLET_ADDRESS_FAILURE:\n return {\n ...state,\n walletAddress: {\n data: {},\n loading: false,\n error: action.error,\n buttonDisable: false,\n loadingButtonContent: null,\n }\n };\n default:\n return state;\n }\n}\n\nexport default walletReducer;","/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/DeliveryReducer.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/PageReducer.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/HomePageReducer.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/ProductReducer.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/reducers/ReviewsReducer.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/OrdersSaga.jsx",["1120","1121"],[],"import { call, select, put, takeLatest, all } from \"redux-saga/effects\";\nimport api from \"../../Environment\";\nimport {\n getSuccessNotificationMessage,\n getErrorNotificationMessage,\n} from \"../../Helper/ToastNotification\";\nimport {\n SAVE_ORDERS_DIRECT_START,\n SAVE_ORDERS_CART_START,\n ORDER_STATUS_START,\n FETCH_ORDERS_LIST_START,\n FETCH_ORDERS_DETAILS_START,\n CANCEL_ORDERS_START,\n INVOICE_ORDERS_START,\n FETCH_MORE_ORDERS_LIST_START,\n TRANSACTION_LIST_START,\n MORE_TRANSACTION_LIST_START,\n ORDERS_SEND_CANCEL_REQUEST_START,\n ORDERS_SEND_RETURN_REQUEST_START,\n ORDERS_CHECKOUT_START,\n UPI_INITENT_CHECKOUT_START,\n} from \"../actions/ActionConstant\";\n\nimport {\n saveOrdersDirectSuccess,\n saveOrdersDirectFailure,\n saveOrdersCartSuccess,\n saveOrdersCartFailure,\n orderStatusSuccess,\n orderStatusFailure,\n fetchOrdersListStart,\n fetchOrdersListSuccess,\n fetchOrdersListFailure,\n fetchOrdersDetailsSuccess,\n fetchOrdersDetailsFailure,\n cancelOrdersSuccess,\n cancelOrdersFailure,\n invoiceOrdersSuccess,\n invoiceOrdersFailure,\n transactionListSuccess,\n transactionListFailure,\n ordersSendCancelRequestSuccess,\n ordersSendCancelRequestFailure,\n ordersSendReturnRequestSuccess,\n ordersSendReturnRequestFailure,\n ordersCheckoutSuccess,\n ordersCheckoutFailure,\n upiIntentCheckoutSuccess,\n upiIntentCheckoutFailure\n} from \"../actions/OrdersAction\";\n\nfunction* saveOrdersDirectAPI(action) {\n try {\n const response = yield api.postMethod(\"orders_direct_checkout\", action.data);\n\n if (response.data.success) {\n yield put(saveOrdersDirectSuccess(response.data.data));\n yield call(getSuccessNotificationMessage, response.message);\n } else {\n yield put(saveOrdersDirectFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(saveOrdersDirectFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n\n}\n\nfunction* saveOrdersCartAPI(action) {\n try {\n const response = yield api.postMethod(\"orders_cart_checkout\", action.data);\n\n if (response.data.success) {\n yield put(saveOrdersCartSuccess(response.data.data));\n yield call(getSuccessNotificationMessage, response.message);\n } else {\n yield put(saveOrdersCartFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(saveOrdersCartFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n\n}\n\nfunction* orderStatusAPI(action) {\n try {\n const response = yield api.postMethod(\"payment_payin_status\", action.data);\n\n if (response.data.success) {\n yield put(orderStatusSuccess(response.data.data));\n yield call(getSuccessNotificationMessage, response.message);\n } else {\n yield put(orderStatusFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(orderStatusFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n\n}\n\nfunction* fetchOrdersListAPI(action) {\n try {\n const response = yield api.postMethod(\"orders_list\", action.data);\n\n if (response.data.success) {\n yield put(fetchOrdersListSuccess(response.data.data));\n } else {\n yield put(fetchOrdersListFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(fetchOrdersListFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* fetchOrdersDetailsAPI(action) {\n try {\n const response = yield api.postMethod(\"orders_view\", action.data);\n\n if (response.data.success) {\n yield put(fetchOrdersDetailsSuccess(response.data.data));\n } else {\n yield put(fetchOrdersDetailsFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(fetchOrdersDetailsFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* cancelOrdersAPI(action) {\n try {\n const response = yield api.postMethod(\"orders_cancel\", action.data);\n\n if (response.data.success) {\n yield put(cancelOrdersSuccess(response.data.data));\n } else {\n yield put(cancelOrdersFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(cancelOrdersFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* invoiceOrdersAPI(action) {\n try {\n const response = yield api.postMethod(\"orders_invoice\", action.data);\n\n if (response.data.success) {\n yield put(invoiceOrdersSuccess(response.data.data));\n } else {\n yield put(invoiceOrdersFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(invoiceOrdersFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* fetchtransactionListAPI(action) {\n try {\n const response = yield api.postMethod(\"order_payments_list\", action.data);\n\n if (response.data.success) {\n yield put(transactionListSuccess(response.data.data));\n } else {\n yield put(transactionListFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(transactionListFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\n\nfunction* ordersSendCancelRequestAPI(action) {\n try {\n const response = yield api.postMethod(\"orders_send_cancel_request\", action.data);\n\n if (response.data.success) {\n yield put(ordersSendCancelRequestSuccess(response.data.data));\n yield put(fetchOrdersDetailsSuccess(response.data.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield put(ordersSendCancelRequestFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(ordersSendCancelRequestFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* ordersSendReturnRequestAPI(action) {\n try {\n const response = yield api.postMethod(\"orders_send_return_request\", action.data);\n\n if (response.data.success) {\n yield put(ordersSendReturnRequestSuccess(response.data.data));\n yield put(fetchOrdersDetailsSuccess(response.data.data));\n } else {\n yield put(ordersSendReturnRequestFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(ordersSendReturnRequestFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* ordersCheckoutAPI(action) {\n try {\n const jsonResponse = yield api.getLocation();\n const response = yield api.postMethod(\"orders_checkout\", {\n ...action.data,\n country_code: jsonResponse.country,\n state: jsonResponse.region,\n });\n\n if (response.data.success) {\n yield put(ordersCheckoutSuccess(response.data.data));\n } else {\n yield put(ordersCheckoutFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(ordersCheckoutFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* upiIntentCheckoutAPI(action) {\n try {\n\n const response = yield api.postMethod(\"payment_payin\", action.data);\n\n if (response.data.success) {\n yield put(upiIntentCheckoutSuccess(response.data.data));\n } else {\n yield put(upiIntentCheckoutFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(upiIntentCheckoutFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nexport default function* pageSaga() {\n yield all([\n yield takeLatest(SAVE_ORDERS_DIRECT_START, saveOrdersDirectAPI),\n yield takeLatest(SAVE_ORDERS_CART_START, saveOrdersCartAPI),\n yield takeLatest(ORDER_STATUS_START, orderStatusAPI),\n yield takeLatest(FETCH_ORDERS_LIST_START, fetchOrdersListAPI),\n yield takeLatest(FETCH_MORE_ORDERS_LIST_START, fetchOrdersListAPI),\n yield takeLatest(FETCH_ORDERS_DETAILS_START, fetchOrdersDetailsAPI),\n yield takeLatest(CANCEL_ORDERS_START, cancelOrdersAPI),\n yield takeLatest(INVOICE_ORDERS_START, invoiceOrdersAPI),\n yield takeLatest(TRANSACTION_LIST_START, fetchtransactionListAPI),\n yield takeLatest(MORE_TRANSACTION_LIST_START, fetchtransactionListAPI),\n yield takeLatest(ORDERS_SEND_CANCEL_REQUEST_START, ordersSendCancelRequestAPI),\n yield takeLatest(ORDERS_SEND_RETURN_REQUEST_START, ordersSendReturnRequestAPI),\n yield takeLatest(ORDERS_CHECKOUT_START, ordersCheckoutAPI),\n yield takeLatest(UPI_INITENT_CHECKOUT_START, upiIntentCheckoutAPI),\n ]);\n}","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/DeliverySaga.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/WalletSaga.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/PageSaga.jsx",["1122","1123","1124","1125"],[],"import { call, select, put, takeLatest, all } from \"redux-saga/effects\";\nimport api from \"../../Environment\";\nimport { FETCH_STATIC_PAGE_START } from \"../actions/ActionConstant\";\nimport {\n getSuccessNotificationMessage,\n getErrorNotificationMessage,\n} from \"../../Helper/ToastNotification\";\nimport {\n fetchStaticPageSuccess,\n fetchStaticPageFailure,\n} from \"../actions/PageAction\";\n\nfunction* fetchStaticPage(action) {\n try {\n const response = yield api.postMethod(\n \"static_pages_view\", action.data\n );\n if (response.data.success) {\n yield put(fetchStaticPageSuccess(response.data.data));\n } else {\n yield put(fetchStaticPageFailure(response.data.error));\n // yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(fetchStaticPageFailure(error));\n // yield call(getErrorNotificationMessage, error);\n }\n}\n\nexport default function* pageSaga() {\n yield all([yield takeLatest(FETCH_STATIC_PAGE_START, fetchStaticPage)]);\n}\n","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/UserSaga.jsx",["1126","1127"],[],"import { call, select, put, takeLatest, all } from \"redux-saga/effects\";\nimport {\n fetchUserDetailsSuccess,\n fetchUserDetailsFailure,\n updateUserDetailsSuccess,\n userLoginSuccess,\n userLoginFailure,\n updateUserDetailsFailure,\n userRegisterSuccess,\n userRegisterFailure,\n forgotPasswordSuccess,\n forgotPassworFailure,\n logoutSuccess,\n logoutFailure,\n regenerateEmailVerificationCodeSuccess,\n regenerateEmailVerificationCodeFailure,\n verifyEmailSuccess,\n verifyEmailFailure,\n twoStepAuthLoginSuccess,\n twoStepAuthLoginFailure,\n twoStepAuthResendCodeSuccess,\n twoStepAuthResendCodeFailure,\n changePasswordSuccess,\n changePasswordFailure,\n deleteAccountSuccess,\n deleteAccountFailure,\n twoStepAuthUpdateSuccess,\n twoStepAuthUpdateFailure,\n fetchDashboardSuccess,\n fetchDashboardFailure,\n resetPasswordSuccess,\n resetPasswordFailure,\n usernameValidationSuccess,\n usernameValidationFailure,\n fetchSalesReportSuccess,\n fetchSalesReportFailure,\n} from \"../actions/UserAction\";\n\nimport api from \"../../Environment\";\nimport {\n FETCH_USER_DETAILS_START,\n UPDATE_USER_DETAILS_START,\n LOGIN_START,\n REGISTER_START,\n FORGOT_PASSWORD_START,\n REGENERATE_EMAIL_VERIFICATION_CODE_START,\n VERIFY_EMAIL_START,\n TWO_STEP_AUTH_LOGIN_START,\n TWO_STEP_AUTH_RESEND_CODE_START,\n CHANGE_PASSWORD_START,\n DELETE_ACCOUNT_START,\n TWO_STEP_AUTH_UPDATE_START,\n FETCH_DASHBOARD_START,\n LOGOUT_START,\n RESET_PASSWORD_START,\n USERNAME_VALIDATION_START,\n FETCH_SALES_REPORT_START,\n} from \"../actions/ActionConstant\";\n\nimport {\n getSuccessNotificationMessage,\n getErrorNotificationMessage,\n} from \"../../Helper/ToastNotification\";\n\nfunction* getUserDetailsAPI(action) {\n try {\n const response = yield api.postMethod(\"profile\");\n\n if (response.data.success) {\n yield put(fetchUserDetailsSuccess(response.data.data));\n localStorage.setItem(\"user_picture\", response.data.data.picture);\n localStorage.setItem(\"user_unique_id\", response.data.data.user_unique_id);\n localStorage.setItem(\"user_cover\", response.data.data.cover);\n localStorage.setItem(\"username\", response.data.data.username);\n localStorage.setItem(\"name\", response.data.data.name);\n localStorage.setItem(\n \"is_subscription_enabled\",\n response.data.data.is_subscription_enabled\n );\n localStorage.setItem(\n \"is_document_verified\",\n response.data.data.is_document_verified\n );\n } else {\n yield put(fetchUserDetailsFailure(response.data));\n yield call(getErrorNotificationMessage, response.data.error);\n action.data.navigate(\"/logout\");\n }\n } catch (error) {\n yield put(fetchUserDetailsFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* updateUserDetailsAPI(action) {\n try {\n const response = yield api.postMethod(\"update_profile\", action.data);\n if (response.data.success) {\n yield put(updateUserDetailsSuccess(response.data.data));\n yield put(fetchUserDetailsSuccess(response.data.data));\n localStorage.setItem(\"user_picture\", response.data.data.picture);\n localStorage.setItem(\"user_unique_id\", response.data.data.user_unique_id);\n localStorage.setItem(\"user_cover\", response.data.data.cover);\n localStorage.setItem(\"name\", response.data.data.name);\n localStorage.setItem(\"username\", response.data.data.username);\n localStorage.setItem(\"is_model\", response.data.data.is_model);\n localStorage.setItem(\n \"is_document_verified\",\n response.data.data.is_document_verified\n );\n yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield call(getErrorNotificationMessage, response.data.error);\n yield put(updateUserDetailsFailure(response.data.error));\n }\n } catch (error) {\n yield put(updateUserDetailsFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* userLoginAPI() {\n try {\n const userData = yield select((state) => state.users.loginInputData.data);\n const jsonResponse = yield api.getLocation();\n const response = yield api.postMethod(\"login\", {\n ...userData,\n country_code: jsonResponse.country ? jsonResponse.country : '',\n state: jsonResponse.region ? jsonResponse.region : '',\n });\n\n if (response.data.success) {\n yield put(userLoginSuccess(response.data.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n if (response.data.code == 1001 || response.data.data.is_two_step_auth_enabled === 1) {\n localStorage.setItem(\"email\", response.data.data.email);\n } else {\n localStorage.setItem(\"userLoginStatus\", true);\n localStorage.setItem(\"user_picture\", response.data.data.picture);\n localStorage.setItem(\"name\", response.data.data.name);\n localStorage.setItem(\"username\", response.data.data.username);\n localStorage.setItem(\n \"user_unique_id\",\n response.data.data.user_unique_id\n );\n localStorage.setItem(\"userId\", response.data.data.user_id);\n localStorage.setItem(\"accessToken\", response.data.data.token);\n }\n } else {\n yield put(userLoginFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(userLoginFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* userRegisterAPI(action) {\n try {\n const jsonResponse = yield api.getLocation();\n const response = yield api.postMethod(\"register\", {\n ...action.data,\n country_code: jsonResponse.country ? jsonResponse.country : '',\n state: jsonResponse.region ? jsonResponse.region : '',\n });\n if (response.data.success) {\n yield put(userRegisterSuccess(response.data.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n if (response.data.code == 1001) {\n localStorage.setItem(\"email\", response.data.data.email);\n } else {\n localStorage.setItem(\"userLoginStatus\", true);\n localStorage.setItem(\"userId\", response.data.data.user_id);\n localStorage.setItem(\"accessToken\", response.data.data.token);\n }\n } else {\n yield put(userRegisterFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(userRegisterFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* forgotPasswordAPI(action) {\n try {\n const response = yield api.postMethod(\"forgot_password\", action.data);\n\n if (response.data.success) {\n yield put(forgotPasswordSuccess(response.data));\n // localStorage.removeItem(\"userId\");\n // localStorage.removeItem(\"accessToken\");\n // window.location.assign(\"/login\");\n } else {\n yield put(forgotPassworFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(forgotPassworFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* logoutAPI(action) {\n try {\n const response = yield api.postMethod(\"logout\", action.data);\n if (response.data.success) {\n yield put(logoutSuccess(response.data));\n localStorage.removeItem(\"userId\");\n localStorage.removeItem(\"accessToken\");\n window.location.assign(\"/login\");\n } else {\n yield put(logoutFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(logoutFailure(error));\n yield call(getErrorNotificationMessage, error);\n }\n}\n\nfunction* regenerateEmailVerificationCodeAPI(action) {\n try {\n const response = yield api.postMethod(\"resend_email_verification_code\", action.data);\n if (response.data.success) {\n yield put(regenerateEmailVerificationCodeSuccess(response.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield put(regenerateEmailVerificationCodeFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(regenerateEmailVerificationCodeFailure(error));\n yield call(getErrorNotificationMessage, error);\n }\n}\n\nfunction* verifyEmailAPI(action) {\n try {\n const response = yield api.postMethod(\"verify_email\", action.data);\n if (response.data.success) {\n yield put(verifyEmailSuccess(response.data.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n localStorage.setItem(\"userLoginStatus\", true);\n localStorage.setItem(\"user_picture\", response.data.data.picture);\n localStorage.setItem(\"name\", response.data.data.name);\n localStorage.setItem(\"username\", response.data.data.username);\n localStorage.setItem(\n \"user_unique_id\",\n response.data.data.user_unique_id\n );\n localStorage.setItem(\"userId\", response.data.data.user_id);\n localStorage.setItem(\"accessToken\", response.data.data.token);\n } else {\n yield put(verifyEmailFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(verifyEmailFailure(error));\n yield call(getErrorNotificationMessage, error);\n }\n}\n\nfunction* twoStepAuthLoginAPI(action) {\n try {\n const response = yield api.postMethod(\"two_step_auth_login\", action.data);\n if (response.data.success) {\n yield put(twoStepAuthLoginSuccess(response.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n localStorage.removeItem(\"email\")\n localStorage.setItem(\"userLoginStatus\", true);\n localStorage.setItem(\"user_picture\", response.data.data.picture);\n localStorage.setItem(\"name\", response.data.data.name);\n localStorage.setItem(\"username\", response.data.data.username);\n localStorage.setItem(\n \"user_unique_id\",\n response.data.data.user_unique_id\n );\n localStorage.setItem(\"userId\", response.data.data.user_id);\n localStorage.setItem(\"accessToken\", response.data.data.token);\n } else {\n yield put(twoStepAuthLoginFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(twoStepAuthLoginFailure(error));\n yield call(getErrorNotificationMessage, error);\n }\n}\n\nfunction* twoStepAuthResendCodeAPI(action) {\n try {\n const response = yield api.postMethod(\"resend_two_step_auth_code\", action.data);\n if (response.data.success) {\n yield put(twoStepAuthResendCodeSuccess(response.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield put(twoStepAuthResendCodeFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(twoStepAuthResendCodeFailure(error));\n yield call(getErrorNotificationMessage, error);\n }\n}\n\nfunction* changePasswordAPI(action) {\n try {\n const response = yield api.postMethod(\"change_password\", action.data);\n if (response.data.success) {\n yield put(changePasswordSuccess(response.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield put(changePasswordFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(changePasswordFailure(error));\n yield call(getErrorNotificationMessage, error);\n }\n}\n\nfunction* deleteAccountAPI(action) {\n try {\n const response = yield api.postMethod(\"delete_account\", action.data);\n if (response.data.success) {\n yield put(deleteAccountSuccess(response.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield put(deleteAccountFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(deleteAccountFailure(error));\n yield call(getErrorNotificationMessage, error);\n }\n}\n\nfunction* twoStepAuthUpdateAPI(action) {\n try {\n const response = yield api.postMethod(\"two_step_auth_update\", action.data);\n if (response.data.success) {\n yield put(twoStepAuthUpdateSuccess(response.data));\n yield put(fetchUserDetailsSuccess(response.data.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield put(twoStepAuthUpdateFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(twoStepAuthUpdateFailure(error));\n yield call(getErrorNotificationMessage, error);\n }\n}\n\nfunction* fetchDashboardAPI(action) {\n try {\n const response = yield api.postMethod(\"dashboard\", action.data);\n if (response.data.success) {\n yield put(fetchDashboardSuccess(response.data.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield put(fetchDashboardFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(fetchDashboardFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* resetPasswordAPI(action) {\n try {\n const response = yield api.postMethod(\"reset_password\", action.data);\n if (response.data.success) {\n yield put(resetPasswordSuccess(response.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield put(resetPasswordFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(resetPasswordFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* usernameValidationAPI(action) {\n try {\n const response = yield api.postMethod(\"username_validation\", action.data);\n if (response.data.success) {\n yield put(usernameValidationSuccess(response.data));\n // yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield put(usernameValidationFailure(response.data.error));\n // yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(usernameValidationFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* fetchSalesReportAPI(action) {\n try {\n const response = yield api.postMethod(\"sales_report\", action.data);\n if (response.data.success) {\n yield put(fetchSalesReportSuccess(response.data));\n // yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield put(fetchSalesReportFailure(response.data.error));\n // yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(fetchSalesReportFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nexport default function* pageSaga() {\n yield all([\n yield takeLatest(FETCH_USER_DETAILS_START, getUserDetailsAPI),\n yield takeLatest(UPDATE_USER_DETAILS_START, updateUserDetailsAPI),\n yield takeLatest(LOGIN_START, userLoginAPI),\n yield takeLatest(REGISTER_START, userRegisterAPI),\n yield takeLatest(FORGOT_PASSWORD_START, forgotPasswordAPI),\n yield takeLatest(LOGOUT_START, logoutAPI),\n yield takeLatest(REGENERATE_EMAIL_VERIFICATION_CODE_START, regenerateEmailVerificationCodeAPI),\n yield takeLatest(VERIFY_EMAIL_START, verifyEmailAPI),\n yield takeLatest(TWO_STEP_AUTH_LOGIN_START, twoStepAuthLoginAPI),\n yield takeLatest(TWO_STEP_AUTH_RESEND_CODE_START, twoStepAuthResendCodeAPI),\n yield takeLatest(CHANGE_PASSWORD_START, changePasswordAPI),\n yield takeLatest(DELETE_ACCOUNT_START, deleteAccountAPI),\n yield takeLatest(TWO_STEP_AUTH_UPDATE_START, twoStepAuthUpdateAPI),\n yield takeLatest(FETCH_DASHBOARD_START, fetchDashboardAPI),\n yield takeLatest(RESET_PASSWORD_START, resetPasswordAPI),\n yield takeLatest(USERNAME_VALIDATION_START, usernameValidationAPI),\n yield takeLatest(FETCH_SALES_REPORT_START, fetchSalesReportAPI),\n ]);\n}\n","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/CartsSaga.jsx",["1128","1129","1130"],[],"import { call, select, put, takeLatest, all } from \"redux-saga/effects\";\nimport api from \"../../Environment\";\nimport {\n getSuccessNotificationMessage,\n getErrorNotificationMessage,\n} from \"../../Helper/ToastNotification\";\nimport {\n SAVE_CART_DETAILS_START,\n FETCH_CART_LIST_START,\n DELETE_CART_DETAILS_START,\n FETCH_GUEST_CART_LIST_START,\n UPDATE_GUEST_CART_LIST_START,\n} from \"../actions/ActionConstant\";\n\nimport {\n saveCartDetailsSuccess,\n saveCartDetailsFailure,\n fetchCartListSuccess,\n fetchCartListFailure,\n fetchCartListStart,\n deleteCartDetailsSuccess,\n deleteCartDetailsFailure,\n fetchGuestCartListStart,\n fetchGuestCartListFailure,\n fetchGuestCartListSuccess,\n} from \"../actions/CartsAction\";\nimport { fetchSingleProductSuccess, forceProductListSuccess, forceProductWishlistListSuccess } from \"../actions/ProductAction\";\nimport { fetchUserDetailsSuccess } from \"../actions/UserAction\";\n\nfunction* saveCartDetailsAPI(action) {\n try {\n const response = yield api.postMethod(\"carts_save\", action.data);\n if (response.data.success) {\n yield put(saveCartDetailsSuccess(response.data.data));\n yield call(getSuccessNotificationMessage, response.message);\n const profileData = yield select((state) => state.users.profile.data);\n yield put(fetchUserDetailsSuccess({\n ...profileData,\n cart_count: response.data.data.cart_count,\n }));\n const singleProductData = yield select((state) => state.product.singleProduct.data);\n if (Object.keys(singleProductData).length > 0) {\n yield put(fetchSingleProductSuccess({\n ...singleProductData,\n product: {\n ...singleProductData.product,\n is_carted: 1,\n }\n }));\n }\n const productListData = yield select((state) => state.product.productList.data);\n if (Object.keys(productListData).length > 0) {\n yield put(forceProductListSuccess({\n ...productListData,\n products: productListData.products.map((product) => product.product_id === action.data.product_id\n ? { ...product, is_carted: 1 }\n : product),\n }));\n }\n const wishListData = yield select((state) => state.product.productWishlists.data);\n if (Object.keys(wishListData).length > 0) {\n yield put(forceProductWishlistListSuccess({\n ...wishListData,\n products: wishListData.products.map((product) => product.product_id === action.data.product_id\n ? { ...product, is_carted: 1 }\n : product),\n }));\n }\n const cartListData = yield select((state) => state.carts.cartList.data);\n if (Object.keys(cartListData).length > 0) {\n yield put(fetchCartListSuccess({\n ...cartListData,\n carts: cartListData.carts.map((product) => product.product_id === action.data.product_id\n ? response.data.data.cart\n : product),\n user_cart_amount: response.data.data.user_cart_amount,\n }));\n }\n } else {\n yield put(saveCartDetailsFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(saveCartDetailsFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n\n}\n\nfunction* fetchCartListAPI() {\n try {\n const jsonResponse = yield api.getLocation();\n\n const response = yield api.postMethod(\"carts_list\", {\n country_code: jsonResponse.country ? jsonResponse.country : '',\n state: jsonResponse.region ? jsonResponse.region : '',\n });\n\n if (response.data.success) {\n yield put(fetchCartListSuccess(response.data.data));\n } else {\n yield put(fetchCartListFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(fetchCartListFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\n\nfunction* deleteCartDetailsAPI(action) {\n try {\n const response = yield api.postMethod(\"carts_delete\", action.data);\n\n if (response.data.success) {\n yield call(getSuccessNotificationMessage, response.message);\n yield put(deleteCartDetailsSuccess(response.data.data));\n const profileData = yield select((state) => state.users.profile.data);\n yield put(fetchUserDetailsSuccess({\n ...profileData,\n cart_count: response.data.data.cart_count,\n }));\n const cartListData = yield select((state) => state.carts.cartList.data);\n if (Object.keys(cartListData).length > 0) {\n const newCartListData = {\n ...cartListData,\n carts: cartListData.carts.filter(cart => cart.product.product_id != action.data.product_id),\n };\n yield put(fetchCartListSuccess(newCartListData));\n }\n const productListData = yield select((state) => state.product.productList.data);\n if (Object.keys(productListData).length > 0) {\n yield put(forceProductListSuccess({\n ...productListData,\n products: productListData.products.map((product) => product.product_id === action.data.product_id\n ? { ...product, is_carted: 0 }\n : product),\n }));\n }\n const wishListData = yield select((state) => state.product.productWishlists.data);\n if (Object.keys(wishListData).length > 0) {\n yield put(forceProductWishlistListSuccess({\n ...wishListData,\n products: wishListData.products.map((product) => product.product_id === action.data.product_id\n ? { ...product, is_carted: 0 }\n : product),\n }));\n }\n } else {\n yield put(deleteCartDetailsFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(deleteCartDetailsFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* fetchGuestCartListAPI(action) {\n try {\n const jsonResponse = yield api.getLocation();\n const response = yield api.postMethod(\"guest_carts_list\", {\n ...action.data,\n country_code: jsonResponse.country,\n state: jsonResponse.region,\n });\n\n if (response.data.success) {\n yield put(fetchGuestCartListSuccess(response.data.data));\n } else {\n yield put(fetchGuestCartListFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(fetchGuestCartListFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nexport default function* pageSaga() {\n yield all([\n yield takeLatest(SAVE_CART_DETAILS_START, saveCartDetailsAPI),\n yield takeLatest(FETCH_CART_LIST_START, fetchCartListAPI),\n yield takeLatest(DELETE_CART_DETAILS_START, deleteCartDetailsAPI),\n yield takeLatest(FETCH_GUEST_CART_LIST_START, fetchGuestCartListAPI),\n yield takeLatest(UPDATE_GUEST_CART_LIST_START, fetchGuestCartListAPI),\n ]);\n}","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/HomePageSaga.jsx",["1131"],[],"import { call, select, put, takeLatest, all } from \"redux-saga/effects\";\nimport api from \"../../Environment\";\nimport {\n getSuccessNotificationMessage,\n getErrorNotificationMessage,\n} from \"../../Helper/ToastNotification\";\n\nimport {\n FETCH_BANNERS_LIST_START,\n FETCH_CATEGORIES_LIST_START,\n FETCH_TOP_PRODUCTS_LIST_START,\n FETCH_FAQS_LIST_START,\n CONTACT_SUBMIT_START,\n CUSTOMER_REVIEWS_LIST_START\n} from \"../actions/ActionConstant\";\n\nimport {\n fetchBannersListSuccess,\n fetchBannersListFailure,\n fetchCategoriesListSuccess,\n fetchCategoriesListFailure,\n fetchTopProductsListSuccess,\n fetchTopProductsListFailure,\n fetchFaqsListSuccess,\n fetchFaqsListFailure,\n contactSubmitSuccess,\n contactSubmitFailure,\n customerReviewsListSuccess,\n customerReviewsListFailure\n} from \"../actions/HomePageAction\";\n\nfunction* fetchBannersListAPI() {\n try {\n const response = yield api.postMethod(\"banners_list\");\n\n if (response.data.success) {\n yield put(fetchBannersListSuccess(response.data.data));\n } else {\n yield put(fetchBannersListFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(fetchBannersListFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* fetchCategoriesListAPI() {\n try {\n const response = yield api.postMethod(\"categories_list\");\n\n if (response.data.success) {\n yield put(fetchCategoriesListSuccess(response.data.data));\n } else {\n yield put(fetchCategoriesListFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(fetchCategoriesListFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\n\nfunction* fetchTopProductsListAPI() {\n try {\n const response = yield api.postMethod(\"top_products_list\");\n\n if (response.data.success) {\n yield put(fetchTopProductsListSuccess(response.data.data));\n } else {\n yield put(fetchTopProductsListFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(fetchTopProductsListFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\n\nfunction* fetchFaqsListAPI() {\n try {\n const response = yield api.postMethod(\"faqs_list\");\n\n if (response.data.success) {\n yield put(fetchFaqsListSuccess(response.data.data));\n } else {\n yield put(fetchFaqsListFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(fetchFaqsListFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\n\nfunction* contactRequestsSaveAPI(action) {\n try {\n const response = yield api.postMethod(\"contact_requests_save\", action.data);\n if (response.data.success) {\n yield put(contactSubmitSuccess(response.data));\n yield call(getSuccessNotificationMessage, response.data.message);\n } else {\n yield put(contactSubmitFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(contactSubmitFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\nfunction* fetchCustomerReviewsListAPI(action) {\n try {\n const response = yield api.postMethod(\"customer_reviews_list\", action.data);\n\n if (response.data.success) {\n yield put(customerReviewsListSuccess(response.data.data));\n } else {\n yield put(customerReviewsListFailure(response.data.error));\n yield call(getErrorNotificationMessage, response.data.error);\n }\n } catch (error) {\n yield put(customerReviewsListFailure(error));\n yield call(getErrorNotificationMessage, error.message);\n }\n}\n\n\n\nexport default function* pageSaga() {\n yield all([\n yield takeLatest(FETCH_BANNERS_LIST_START, fetchBannersListAPI),\n yield takeLatest(FETCH_CATEGORIES_LIST_START, fetchCategoriesListAPI),\n yield takeLatest(FETCH_TOP_PRODUCTS_LIST_START, fetchTopProductsListAPI),\n yield takeLatest(FETCH_FAQS_LIST_START, fetchFaqsListAPI),\n yield takeLatest(CONTACT_SUBMIT_START, contactRequestsSaveAPI),\n yield takeLatest(CUSTOMER_REVIEWS_LIST_START, fetchCustomerReviewsListAPI)\n ]);\n}\n\n\n","/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/productSaga.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/sagas/ReviewsSaga.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Helper/BannerListLoader.jsx",["1132","1133","1134","1135","1136","1137","1138","1139"],[],"import React from \"react\"\nimport Skeleton from \"react-loading-skeleton\";\nimport 'react-loading-skeleton/dist/skeleton.css'\nimport {\n Container,\n Row,\n Col,\n Image,\n InputGroup,\n Form,\n ProgressBar,\n} from \"react-bootstrap\";\nimport Slider from \"react-slick\"\n\nconst BannerListLoader = (props) => (\n\n <>\n <Skeleton className=\"banner-loader\" />\n {/* <Container>\n <div className=\"home-banner-content\">\n\n <Slider >\n <div>\n <Row className=\"align-items-center\">\n <Col md={6} className=\"resp-mrg-btm-xs\">\n <div className=\"home-banner-info\">\n <h5><Skeleton width={160} height={20} /></h5>\n <h1><Skeleton width={160} height={20} /></h1>\n <p> <Skeleton width={160} height={20} /> </p>\n <div className=\"default-btn-sec\">\n <Skeleton width={22} height={22} circle={true} className=\"default-btn\" />\n </div>\n </div>\n </Col>\n <Col md={6}>\n <div className=\"home-banner-img-sec\">\n <Skeleton width={140} height={140} className=\"home-banner-img\" />\n </div>\n </Col>\n </Row>\n </div>\n </Slider>\n\n </div>\n </Container> */}\n\n </>\n)\n\nexport default BannerListLoader;","/home/ubuntu/misabloom-frontend-base/src/components/Helper/SearchSuggetion.jsx",["1140","1141"],[],"import React, { useEffect } from 'react';\nimport { Image } from 'react-bootstrap';\nimport { connect } from 'react-redux';\nimport CommonCenterLoader from './CommonCenterLoader';\nimport NoProductsFound from './NoProductsFound';\nimport { useNavigate } from 'react-router-dom';\nimport CustomLazyLoad from './CustomLazyLoad';\n\nconst SearchSuggetion = (props) => {\n const navigate = useNavigate();\n\n const goToProduct = uniqueId => {\n props.setShowSuggetions(false);\n navigate(`/product/${uniqueId}`);\n }\n\n return (\n <div className=\"search-suggetion-sec\">\n {props.productSuggetions.loading ?\n <CommonCenterLoader />\n : props.productSuggetions.data.products &&\n props.productSuggetions.data.products.length > 0 ?\n props.productSuggetions.data.products.map((product, i) =>\n <div className=\"search-suggetion\" onClick={e => goToProduct(product.product_unique_id)}>\n <CustomLazyLoad\n src={product.file}\n placeholderSrc={window.location.origin + \"/images/loading.svg\"}\n />\n <p>{product.name}</p>\n </div>\n )\n : <NoProductsFound />\n }\n </div>\n );\n}\n\nconst mapStateToPros = (state) => ({\n productSuggetions: state.product.productSuggetions,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(SearchSuggetion);","/home/ubuntu/misabloom-frontend-base/src/components/Profile/SingleCard.jsx",["1142","1143"],[],"import React, { useEffect, useState } from \"react\";\nimport { Image } from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport { withTranslation, useTranslation } from \"react-multi-lang\";\nimport { Link } from \"react-router-dom\";\nimport {\n deleteUserCardStart,\n setDefaultUserCardStart,\n fetchUserCardListStart,\n} from \"../store/actions/WalletAction\";\n\nconst SingleCard = ({ actions = true, ...props }) => {\n const { card, selectedCard, setSelectedCard } = props;\n const [skipRender, setSkipRender] = useState(true);\n const t = useTranslation();\n\n const setDefaultAccount = (e) => {\n props.dispatch(\n setDefaultUserCardStart({\n user_card_id: card.user_card_id,\n })\n );\n e.stopPropagation();\n };\n\n const removeAccount = (e) => {\n e.stopPropagation();\n props.dispatch(\n deleteUserCardStart({\n user_card_id: card.user_card_id,\n })\n );\n };\n\n useEffect(() => {\n if (\n !skipRender &&\n !props.defaultUserCard.loading &&\n Object.keys(props.defaultUserCard.data).length > 0\n ) {\n props.dispatch(fetchUserCardListStart());\n }\n setSkipRender(false);\n }, [props.defaultUserCard]);\n\n return (\n <div className=\"payment-radio-btn\">\n <input\n name=\"plan\"\n className=\"radio\"\n type=\"radio\"\n checked={selectedCard === card.user_card_id}\n id=\"payment\"\n />\n <label\n name=\"plan\"\n className=\"radio\"\n type=\"radio\"\n checked={selectedCard === card.user_card_id}\n htmlFor=\"payment\"\n onClick={() => setSelectedCard(card.user_card_id)}\n >\n <p>\n <Image\n src={window.location.origin + \"/images/visa.png\"}\n type=\"image/png\"\n />\n </p>\n <p>xxxx xxxx xxxx {card.last_four}</p>\n <p>{card.card_holder_name}</p>\n\n {actions ?\n <>\n {card.is_default == 1 ? (\n <span className=\"text-success point\">\n {t(\"default\")}\n </span>\n ) : props.defaultUserCard.loadingButtonContent &&\n props.defaultUserCard.data.user_card_id === card.user_card_id ? (\n props.defaultUserCard.loadingButtonContent\n ) : (\n <span\n className=\"text-warning point\"\n onClick={setDefaultAccount}\n >\n {t(\"set_as_default\")}\n </span>\n )}\n\n {props.deleteUserCard.loadingButtonContent &&\n props.deleteUserCard.data.user_card_id === card.user_card_id ? (\n props.deleteUserCard.loadingButtonContent\n ) : (\n <Link to=\"\" className=\"card-edit-icon\" onClick={removeAccount}>\n <span>\n <Image\n src={window.location.origin + \"/images/delete-1.svg\"}\n type=\"image/png\"\n />\n </span>\n {t(\"delete\")}\n </Link>\n )}\n </>\n : null\n }\n <div></div>\n </label>\n </div>\n );\n};\n\nconst mapStateToPros = (state) => ({\n defaultUserCard: state.wallet.defaultUserCard,\n deleteUserCard: state.wallet.deleteUserCard,\n userCardList: state.wallet.userCardList,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(withTranslation(SingleCard));\n","/home/ubuntu/misabloom-frontend-base/src/components/store/actions/ActionConstant.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/store/actions/ReviewsAction.jsx",[],[],"/home/ubuntu/misabloom-frontend-base/src/components/Helper/NoCardDetailsFound.jsx",["1144"],[],"import React from 'react';\n\nconst NoCardDetailsFound = () => {\n return <div className=\"text-center\">\n <img src={window.location.origin + \"/images/no-card-details-found.png\"} width=\"300\" />\n </div>;\n}\n\nexport default NoCardDetailsFound;","/home/ubuntu/misabloom-frontend-base/src/components/Profile/AddCardSection.jsx",["1145","1146"],[],"import React, { useState } from 'react';\nimport { Form, Row, Col, InputGroup, Image, Button } from 'react-bootstrap';\nimport { loadStripe } from \"@stripe/stripe-js\";\nimport {\n CardElement,\n Elements,\n useElements,\n useStripe,\n CardNumberElement,\n CardCvcElement,\n CardExpiryElement,\n} from \"@stripe/react-stripe-js\";\nimport configuration from \"react-global-configuration\";\nimport { getErrorNotificationMessage } from '../Helper/ToastNotification';\nimport { addUserCardStart } from '../store/actions/WalletAction';\nimport { connect } from 'react-redux';\n\nconst CardSection = (props) => {\n const [cardHolderName, setCardHolderName] = useState(\"\");\n const [cardComplete, setCardComplete] = useState(false);\n const stripe = useStripe();\n const elements = useElements();\n\n const submitCard = async () => {\n const payload = await stripe.createPaymentMethod({\n type: \"card\",\n card: elements.getElement(CardNumberElement),\n });\n\n\n if (payload.error) {\n props.dispatch(getErrorNotificationMessage(payload.error))\n } else {\n console.log(payload);\n props.dispatch(addUserCardStart({\n card_token: payload.paymentMethod.id,\n card_holder_name: cardHolderName,\n }));\n }\n }\n\n return (\n <Form >\n <div className=\"payment-card-box\">\n <Row>\n <Col md={6}>\n <Form.Label>Card Number*</Form.Label>\n <InputGroup className=\"mb-4\">\n <CardNumberElement options={{ showIcon: true }} className=\"form-control\" onChange={e => {\n // setError(e.error);\n setCardComplete(e.complete);\n }} />\n </InputGroup>\n </Col>\n <Col md={6}>\n <Form.Group className=\"mb-4\">\n <Form.Label>Card Holder*</Form.Label>\n <Form.Control\n type=\"text\"\n placeholder=\"John mathew\"\n value={cardHolderName}\n onChange={e => setCardHolderName(e.target.value)} />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group className=\"mb-4\">\n <Form.Label>Expiry Date*</Form.Label>\n {/* <Form.Control type=\"text\" placeholder=\"16/26\" /> */}\n <CardExpiryElement className=\"form-control\" onChange={e => {\n // setError(e.error);\n setCardComplete(e.complete);\n }} />\n </Form.Group>\n </Col>\n <Col md={6}>\n <Form.Group className=\"mb-4\">\n <Form.Label>Cvv*</Form.Label>\n {/* <Form.Control type=\"text\" placeholder=\"***\" /> */}\n <CardCvcElement className=\"form-control\" onChange={e => {\n // setError(e.error);\n setCardComplete(e.complete);\n }} />\n </Form.Group>\n </Col>\n </Row>\n </div>\n <div className=\"payment-card-btn default-btn-sec\">\n <Button\n onClick={e => submitCard()}\n className=\"default-btn\"\n disabled={!cardComplete || props.addUserCard.buttonDisable}\n >\n {props.addUserCard.loadingButtonContent ?\n props.addUserCard.loadingButtonContent\n : \"save\"\n }\n </Button>\n </div>\n </Form>\n );\n}\n\nconst AddCardSection = (props) => {\n const stripePromise = loadStripe(configuration.get(\"configData.stripe_publishable_key\"));\n\n return (\n <div className=\"new-add-card-sec\">\n <div className=\"login-form\">\n <Elements stripe={stripePromise}>\n <CardSection dispatch={props.dispatch} addUserCard={props.addUserCard} />\n </Elements>\n </div>\n </div>\n );\n}\n\nconst mapStateToPros = (state) => ({\n addUserCard: state.wallet.addUserCard,\n});\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch };\n}\n\nexport default connect(\n mapStateToPros,\n mapDispatchToProps\n)(AddCardSection);","/home/ubuntu/misabloom-frontend-base/src/components/Profile/NewAddressForm.jsx",["1147","1148","1149","1150","1151","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170"],[],{"ruleId":"1171","severity":1,"message":"1172","line":10,"column":10,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":23},{"ruleId":"1171","severity":1,"message":"1175","line":11,"column":8,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":28},{"ruleId":"1171","severity":1,"message":"1176","line":66,"column":10,"nodeType":"1173","messageId":"1174","endLine":66,"endColumn":24},{"ruleId":"1171","severity":1,"message":"1177","line":87,"column":9,"nodeType":"1173","messageId":"1174","endLine":87,"endColumn":21},{"ruleId":"1171","severity":1,"message":"1178","line":6,"column":10,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1179","line":7,"column":27,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":41},{"ruleId":"1171","severity":1,"message":"1180","line":8,"column":10,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":37},{"ruleId":"1171","severity":1,"message":"1181","line":10,"column":10,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":18},{"ruleId":"1171","severity":1,"message":"1182","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":27},{"ruleId":"1171","severity":1,"message":"1183","line":1,"column":40,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":46},{"ruleId":"1171","severity":1,"message":"1184","line":38,"column":3,"nodeType":"1173","messageId":"1174","endLine":38,"endColumn":21},{"ruleId":"1171","severity":1,"message":"1185","line":39,"column":3,"nodeType":"1173","messageId":"1174","endLine":39,"endColumn":12},{"ruleId":"1171","severity":1,"message":"1175","line":55,"column":8,"nodeType":"1173","messageId":"1174","endLine":55,"endColumn":28},{"ruleId":"1171","severity":1,"message":"1186","line":60,"column":7,"nodeType":"1173","messageId":"1174","endLine":60,"endColumn":8},{"ruleId":"1187","severity":1,"message":"1188","line":83,"column":46,"nodeType":"1189","messageId":"1190","endLine":83,"endColumn":48},{"ruleId":"1171","severity":1,"message":"1191","line":99,"column":10,"nodeType":"1173","messageId":"1174","endLine":99,"endColumn":17},{"ruleId":"1171","severity":1,"message":"1192","line":99,"column":19,"nodeType":"1173","messageId":"1174","endLine":99,"endColumn":29},{"ruleId":"1171","severity":1,"message":"1193","line":101,"column":10,"nodeType":"1173","messageId":"1174","endLine":101,"endColumn":23},{"ruleId":"1171","severity":1,"message":"1194","line":101,"column":25,"nodeType":"1173","messageId":"1174","endLine":101,"endColumn":41},{"ruleId":"1171","severity":1,"message":"1195","line":3,"column":8,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":14},{"ruleId":"1196","severity":1,"message":"1197","line":7,"column":9,"nodeType":"1198","endLine":7,"endColumn":69},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1199","line":3,"column":8,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":19},{"ruleId":"1171","severity":1,"message":"1200","line":9,"column":29,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":40},{"ruleId":"1171","severity":1,"message":"1201","line":11,"column":10,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1202","line":15,"column":8,"nodeType":"1173","messageId":"1174","endLine":15,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":28,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":36},{"ruleId":"1171","severity":1,"message":"1203","line":2,"column":10,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":29,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":34},{"ruleId":"1171","severity":1,"message":"1205","line":2,"column":36,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":39},{"ruleId":"1171","severity":1,"message":"1178","line":3,"column":10,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1206","line":4,"column":8,"nodeType":"1173","messageId":"1174","endLine":4,"endColumn":30},{"ruleId":"1207","severity":1,"message":"1208","line":31,"column":6,"nodeType":"1209","endLine":31,"endColumn":8,"suggestions":"1210"},{"ruleId":"1207","severity":1,"message":"1208","line":45,"column":6,"nodeType":"1209","endLine":45,"endColumn":21,"suggestions":"1211"},{"ruleId":"1171","severity":1,"message":"1212","line":6,"column":10,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":31},{"ruleId":"1207","severity":1,"message":"1213","line":38,"column":6,"nodeType":"1209","endLine":38,"endColumn":8,"suggestions":"1214"},{"ruleId":"1171","severity":1,"message":"1203","line":3,"column":3,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1204","line":5,"column":3,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1205","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1215","line":17,"column":8,"nodeType":"1173","messageId":"1174","endLine":17,"endColumn":19},{"ruleId":"1171","severity":1,"message":"1216","line":28,"column":8,"nodeType":"1173","messageId":"1174","endLine":28,"endColumn":21},{"ruleId":"1207","severity":1,"message":"1208","line":45,"column":6,"nodeType":"1209","endLine":45,"endColumn":8,"suggestions":"1217"},{"ruleId":"1207","severity":1,"message":"1218","line":65,"column":6,"nodeType":"1209","endLine":65,"endColumn":27,"suggestions":"1219"},{"ruleId":"1171","severity":1,"message":"1220","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1221","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1222","line":10,"column":3,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1223","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":12},{"ruleId":"1171","severity":1,"message":"1204","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1220","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1221","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1224","line":20,"column":8,"nodeType":"1173","messageId":"1174","endLine":20,"endColumn":18},{"ruleId":"1207","severity":1,"message":"1208","line":37,"column":6,"nodeType":"1209","endLine":37,"endColumn":8,"suggestions":"1225"},{"ruleId":"1207","severity":1,"message":"1226","line":53,"column":6,"nodeType":"1209","endLine":53,"endColumn":51,"suggestions":"1227"},{"ruleId":"1228","severity":1,"message":"1229","line":146,"column":21,"nodeType":"1198","endLine":146,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1204","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1178","line":9,"column":10,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":14},{"ruleId":"1207","severity":1,"message":"1230","line":37,"column":6,"nodeType":"1209","endLine":37,"endColumn":8,"suggestions":"1231"},{"ruleId":"1232","severity":1,"message":"1233","line":40,"column":21,"nodeType":"1234","messageId":"1235","endLine":40,"endColumn":23},{"ruleId":"1232","severity":1,"message":"1233","line":41,"column":149,"nodeType":"1234","messageId":"1235","endLine":41,"endColumn":151},{"ruleId":"1207","severity":1,"message":"1226","line":47,"column":6,"nodeType":"1209","endLine":47,"endColumn":51,"suggestions":"1236"},{"ruleId":"1207","severity":1,"message":"1237","line":66,"column":6,"nodeType":"1209","endLine":66,"endColumn":31,"suggestions":"1238"},{"ruleId":"1171","severity":1,"message":"1182","line":1,"column":38,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":48},{"ruleId":"1171","severity":1,"message":"1223","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":12},{"ruleId":"1171","severity":1,"message":"1204","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1220","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1221","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1239","line":26,"column":10,"nodeType":"1173","messageId":"1174","endLine":26,"endColumn":26},{"ruleId":"1171","severity":1,"message":"1240","line":27,"column":8,"nodeType":"1173","messageId":"1174","endLine":27,"endColumn":28},{"ruleId":"1171","severity":1,"message":"1241","line":31,"column":32,"nodeType":"1173","messageId":"1174","endLine":31,"endColumn":37},{"ruleId":"1171","severity":1,"message":"1242","line":31,"column":39,"nodeType":"1173","messageId":"1174","endLine":31,"endColumn":51},{"ruleId":"1171","severity":1,"message":"1243","line":32,"column":10,"nodeType":"1173","messageId":"1174","endLine":32,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1244","line":33,"column":10,"nodeType":"1173","messageId":"1174","endLine":33,"endColumn":39},{"ruleId":"1171","severity":1,"message":"1245","line":34,"column":8,"nodeType":"1173","messageId":"1174","endLine":34,"endColumn":23},{"ruleId":"1171","severity":1,"message":"1246","line":37,"column":9,"nodeType":"1173","messageId":"1174","endLine":37,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1247","line":43,"column":10,"nodeType":"1173","messageId":"1174","endLine":43,"endColumn":18},{"ruleId":"1171","severity":1,"message":"1248","line":43,"column":20,"nodeType":"1173","messageId":"1174","endLine":43,"endColumn":31},{"ruleId":"1171","severity":1,"message":"1249","line":45,"column":10,"nodeType":"1173","messageId":"1174","endLine":45,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1250","line":45,"column":18,"nodeType":"1173","messageId":"1174","endLine":45,"endColumn":27},{"ruleId":"1171","severity":1,"message":"1251","line":46,"column":10,"nodeType":"1173","messageId":"1174","endLine":46,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1252","line":46,"column":15,"nodeType":"1173","messageId":"1174","endLine":46,"endColumn":21},{"ruleId":"1207","severity":1,"message":"1253","line":60,"column":6,"nodeType":"1209","endLine":60,"endColumn":8,"suggestions":"1254"},{"ruleId":"1232","severity":1,"message":"1233","line":74,"column":21,"nodeType":"1234","messageId":"1235","endLine":74,"endColumn":23},{"ruleId":"1232","severity":1,"message":"1233","line":75,"column":149,"nodeType":"1234","messageId":"1235","endLine":75,"endColumn":151},{"ruleId":"1207","severity":1,"message":"1226","line":81,"column":6,"nodeType":"1209","endLine":81,"endColumn":76,"suggestions":"1255"},{"ruleId":"1207","severity":1,"message":"1237","line":89,"column":6,"nodeType":"1209","endLine":89,"endColumn":27,"suggestions":"1256"},{"ruleId":"1171","severity":1,"message":"1257","line":145,"column":9,"nodeType":"1173","messageId":"1174","endLine":145,"endColumn":21},{"ruleId":"1207","severity":1,"message":"1237","line":159,"column":6,"nodeType":"1209","endLine":159,"endColumn":28,"suggestions":"1258"},{"ruleId":"1207","severity":1,"message":"1208","line":197,"column":5,"nodeType":"1209","endLine":197,"endColumn":7,"suggestions":"1259"},{"ruleId":"1187","severity":1,"message":"1260","line":200,"column":193,"nodeType":"1189","messageId":"1190","endLine":200,"endColumn":195},{"ruleId":"1207","severity":1,"message":"1261","line":203,"column":6,"nodeType":"1209","endLine":203,"endColumn":25,"suggestions":"1262"},{"ruleId":"1171","severity":1,"message":"1203","line":3,"column":3,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1204","line":5,"column":3,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1205","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1215","line":24,"column":8,"nodeType":"1173","messageId":"1174","endLine":24,"endColumn":19},{"ruleId":"1171","severity":1,"message":"1202","line":43,"column":9,"nodeType":"1173","messageId":"1174","endLine":43,"endColumn":17},{"ruleId":"1207","severity":1,"message":"1208","line":57,"column":6,"nodeType":"1209","endLine":57,"endColumn":8,"suggestions":"1263"},{"ruleId":"1207","severity":1,"message":"1226","line":67,"column":6,"nodeType":"1209","endLine":67,"endColumn":47,"suggestions":"1264"},{"ruleId":"1187","severity":1,"message":"1188","line":72,"column":108,"nodeType":"1189","messageId":"1190","endLine":72,"endColumn":110},{"ruleId":"1207","severity":1,"message":"1265","line":85,"column":6,"nodeType":"1209","endLine":85,"endColumn":28,"suggestions":"1266"},{"ruleId":"1207","severity":1,"message":"1267","line":97,"column":6,"nodeType":"1209","endLine":97,"endColumn":21,"suggestions":"1268"},{"ruleId":"1207","severity":1,"message":"1269","line":111,"column":6,"nodeType":"1209","endLine":111,"endColumn":18,"suggestions":"1270"},{"ruleId":"1187","severity":1,"message":"1188","line":238,"column":50,"nodeType":"1189","messageId":"1190","endLine":238,"endColumn":52},{"ruleId":"1187","severity":1,"message":"1188","line":312,"column":42,"nodeType":"1189","messageId":"1190","endLine":312,"endColumn":44},{"ruleId":"1187","severity":1,"message":"1188","line":384,"column":42,"nodeType":"1189","messageId":"1190","endLine":384,"endColumn":44},{"ruleId":"1171","severity":1,"message":"1271","line":17,"column":8,"nodeType":"1173","messageId":"1174","endLine":17,"endColumn":20},{"ruleId":"1171","severity":1,"message":"1272","line":54,"column":10,"nodeType":"1173","messageId":"1174","endLine":54,"endColumn":20},{"ruleId":"1171","severity":1,"message":"1273","line":54,"column":22,"nodeType":"1173","messageId":"1174","endLine":54,"endColumn":35},{"ruleId":"1171","severity":1,"message":"1274","line":55,"column":9,"nodeType":"1173","messageId":"1174","endLine":55,"endColumn":20},{"ruleId":"1207","severity":1,"message":"1208","line":75,"column":6,"nodeType":"1209","endLine":75,"endColumn":30,"suggestions":"1275"},{"ruleId":"1207","severity":1,"message":"1276","line":93,"column":6,"nodeType":"1209","endLine":93,"endColumn":21,"suggestions":"1277"},{"ruleId":"1207","severity":1,"message":"1261","line":88,"column":6,"nodeType":"1209","endLine":88,"endColumn":8,"suggestions":"1278"},{"ruleId":"1187","severity":1,"message":"1188","line":96,"column":53,"nodeType":"1189","messageId":"1190","endLine":96,"endColumn":55},{"ruleId":"1187","severity":1,"message":"1188","line":98,"column":53,"nodeType":"1189","messageId":"1190","endLine":98,"endColumn":55},{"ruleId":"1207","severity":1,"message":"1237","line":111,"column":6,"nodeType":"1209","endLine":111,"endColumn":19,"suggestions":"1279"},{"ruleId":"1207","severity":1,"message":"1237","line":132,"column":6,"nodeType":"1209","endLine":132,"endColumn":22,"suggestions":"1280"},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":37,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":42},{"ruleId":"1171","severity":1,"message":"1178","line":3,"column":10,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":14},{"ruleId":"1207","severity":1,"message":"1237","line":54,"column":6,"nodeType":"1209","endLine":54,"endColumn":27,"suggestions":"1281"},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":37,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":42},{"ruleId":"1171","severity":1,"message":"1282","line":19,"column":10,"nodeType":"1173","messageId":"1174","endLine":19,"endColumn":25},{"ruleId":"1207","severity":1,"message":"1237","line":43,"column":6,"nodeType":"1209","endLine":43,"endColumn":22,"suggestions":"1283"},{"ruleId":"1171","severity":1,"message":"1284","line":57,"column":9,"nodeType":"1173","messageId":"1174","endLine":57,"endColumn":33},{"ruleId":"1171","severity":1,"message":"1285","line":1,"column":8,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1286","line":2,"column":8,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":11},{"ruleId":"1207","severity":1,"message":"1253","line":28,"column":6,"nodeType":"1209","endLine":28,"endColumn":8,"suggestions":"1287"},{"ruleId":"1171","severity":1,"message":"1288","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":26},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":28,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":36},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":37,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":42},{"ruleId":"1171","severity":1,"message":"1178","line":3,"column":10,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1289","line":3,"column":16,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1290","line":4,"column":5,"nodeType":"1173","messageId":"1174","endLine":4,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1291","line":5,"column":5,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1204","line":6,"column":5,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":10},{"ruleId":"1171","severity":1,"message":"1221","line":7,"column":5,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":15},{"ruleId":"1171","severity":1,"message":"1220","line":8,"column":5,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1292","line":9,"column":5,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1178","line":11,"column":10,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1293","line":17,"column":8,"nodeType":"1173","messageId":"1174","endLine":17,"endColumn":16},{"ruleId":"1207","severity":1,"message":"1208","line":33,"column":8,"nodeType":"1209","endLine":33,"endColumn":31,"suggestions":"1294"},{"ruleId":"1171","severity":1,"message":"1295","line":11,"column":8,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":26},{"ruleId":"1171","severity":1,"message":"1220","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1296","line":10,"column":3,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":11},{"ruleId":"1171","severity":1,"message":"1215","line":18,"column":8,"nodeType":"1173","messageId":"1174","endLine":18,"endColumn":19},{"ruleId":"1207","severity":1,"message":"1208","line":53,"column":6,"nodeType":"1209","endLine":53,"endColumn":21,"suggestions":"1297"},{"ruleId":"1187","severity":1,"message":"1188","line":161,"column":69,"nodeType":"1189","messageId":"1190","endLine":161,"endColumn":71},{"ruleId":"1187","severity":1,"message":"1260","line":247,"column":51,"nodeType":"1189","messageId":"1190","endLine":247,"endColumn":53},{"ruleId":"1171","severity":1,"message":"1220","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1204","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1222","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1298","line":17,"column":10,"nodeType":"1173","messageId":"1174","endLine":17,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1299","line":17,"column":26,"nodeType":"1173","messageId":"1174","endLine":17,"endColumn":30},{"ruleId":"1171","severity":1,"message":"1241","line":17,"column":32,"nodeType":"1173","messageId":"1174","endLine":17,"endColumn":37},{"ruleId":"1171","severity":1,"message":"1242","line":17,"column":39,"nodeType":"1173","messageId":"1174","endLine":17,"endColumn":51},{"ruleId":"1171","severity":1,"message":"1178","line":18,"column":10,"nodeType":"1173","messageId":"1174","endLine":18,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1215","line":22,"column":8,"nodeType":"1173","messageId":"1174","endLine":22,"endColumn":19},{"ruleId":"1171","severity":1,"message":"1300","line":34,"column":10,"nodeType":"1173","messageId":"1174","endLine":34,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1301","line":38,"column":9,"nodeType":"1173","messageId":"1174","endLine":38,"endColumn":25},{"ruleId":"1207","severity":1,"message":"1208","line":49,"column":6,"nodeType":"1209","endLine":49,"endColumn":8,"suggestions":"1302"},{"ruleId":"1171","severity":1,"message":"1177","line":60,"column":9,"nodeType":"1173","messageId":"1174","endLine":60,"endColumn":21},{"ruleId":"1303","severity":1,"message":"1304","line":74,"column":74,"nodeType":"1305","messageId":"1306","endLine":74,"endColumn":76},{"ruleId":"1207","severity":1,"message":"1226","line":82,"column":6,"nodeType":"1209","endLine":82,"endColumn":35,"suggestions":"1307"},{"ruleId":"1207","severity":1,"message":"1308","line":94,"column":6,"nodeType":"1209","endLine":94,"endColumn":35,"suggestions":"1309"},{"ruleId":"1207","severity":1,"message":"1208","line":103,"column":6,"nodeType":"1209","endLine":103,"endColumn":8,"suggestions":"1310"},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":37,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":42},{"ruleId":"1171","severity":1,"message":"1202","line":16,"column":9,"nodeType":"1173","messageId":"1174","endLine":16,"endColumn":17},{"ruleId":"1207","severity":1,"message":"1226","line":29,"column":6,"nodeType":"1209","endLine":29,"endColumn":28,"suggestions":"1311"},{"ruleId":"1171","severity":1,"message":"1220","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1222","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":9},{"ruleId":"1207","severity":1,"message":"1208","line":38,"column":6,"nodeType":"1209","endLine":38,"endColumn":8,"suggestions":"1312"},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":31,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":36},{"ruleId":"1207","severity":1,"message":"1237","line":28,"column":6,"nodeType":"1209","endLine":28,"endColumn":23,"suggestions":"1313"},{"ruleId":"1187","severity":1,"message":"1188","line":85,"column":60,"nodeType":"1189","messageId":"1190","endLine":85,"endColumn":62},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":37,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":42},{"ruleId":"1207","severity":1,"message":"1314","line":26,"column":6,"nodeType":"1209","endLine":26,"endColumn":26,"suggestions":"1315"},{"ruleId":"1187","severity":1,"message":"1260","line":63,"column":35,"nodeType":"1189","messageId":"1190","endLine":63,"endColumn":37},{"ruleId":"1171","severity":1,"message":"1204","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1316","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1221","line":10,"column":3,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1178","line":24,"column":10,"nodeType":"1173","messageId":"1174","endLine":24,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1215","line":27,"column":8,"nodeType":"1173","messageId":"1174","endLine":27,"endColumn":19},{"ruleId":"1207","severity":1,"message":"1308","line":50,"column":6,"nodeType":"1209","endLine":50,"endColumn":36,"suggestions":"1317"},{"ruleId":"1207","severity":1,"message":"1208","line":75,"column":6,"nodeType":"1209","endLine":75,"endColumn":8,"suggestions":"1318"},{"ruleId":"1303","severity":1,"message":"1304","line":104,"column":24,"nodeType":"1305","messageId":"1306","endLine":104,"endColumn":26},{"ruleId":"1207","severity":1,"message":"1226","line":113,"column":6,"nodeType":"1209","endLine":113,"endColumn":33,"suggestions":"1319"},{"ruleId":"1207","severity":1,"message":"1237","line":124,"column":6,"nodeType":"1209","endLine":124,"endColumn":29,"suggestions":"1320"},{"ruleId":"1171","severity":1,"message":"1321","line":2,"column":20,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":29},{"ruleId":"1171","severity":1,"message":"1288","line":1,"column":27,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":36},{"ruleId":"1171","severity":1,"message":"1220","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1204","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1222","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1205","line":10,"column":3,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1221","line":11,"column":3,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1178","line":14,"column":10,"nodeType":"1173","messageId":"1174","endLine":14,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1220","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1322","line":20,"column":3,"nodeType":"1173","messageId":"1174","endLine":20,"endColumn":30},{"ruleId":"1171","severity":1,"message":"1202","line":32,"column":9,"nodeType":"1173","messageId":"1174","endLine":32,"endColumn":17},{"ruleId":"1171","severity":1,"message":"1323","line":33,"column":10,"nodeType":"1173","messageId":"1174","endLine":33,"endColumn":19},{"ruleId":"1171","severity":1,"message":"1324","line":33,"column":21,"nodeType":"1173","messageId":"1174","endLine":33,"endColumn":33},{"ruleId":"1207","severity":1,"message":"1208","line":43,"column":6,"nodeType":"1209","endLine":43,"endColumn":8,"suggestions":"1325"},{"ruleId":"1207","severity":1,"message":"1326","line":59,"column":9,"nodeType":"1327","endLine":65,"endColumn":4,"suggestions":"1328"},{"ruleId":"1171","severity":1,"message":"1204","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1316","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1221","line":10,"column":3,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1178","line":13,"column":10,"nodeType":"1173","messageId":"1174","endLine":13,"endColumn":14},{"ruleId":"1207","severity":1,"message":"1329","line":59,"column":6,"nodeType":"1209","endLine":59,"endColumn":35,"suggestions":"1330"},{"ruleId":"1171","severity":1,"message":"1220","line":2,"column":31,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":35},{"ruleId":"1171","severity":1,"message":"1178","line":5,"column":10,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1331","line":5,"column":16,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":24},{"ruleId":"1171","severity":1,"message":"1332","line":6,"column":65,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":93},{"ruleId":"1171","severity":1,"message":"1333","line":11,"column":10,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":28},{"ruleId":"1171","severity":1,"message":"1334","line":21,"column":10,"nodeType":"1173","messageId":"1174","endLine":21,"endColumn":20},{"ruleId":"1171","severity":1,"message":"1335","line":21,"column":22,"nodeType":"1173","messageId":"1174","endLine":21,"endColumn":35},{"ruleId":"1207","severity":1,"message":"1208","line":26,"column":6,"nodeType":"1209","endLine":26,"endColumn":28,"suggestions":"1336"},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":28,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":36},{"ruleId":"1171","severity":1,"message":"1220","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1204","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1222","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1296","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":11},{"ruleId":"1171","severity":1,"message":"1293","line":19,"column":8,"nodeType":"1173","messageId":"1174","endLine":19,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1337","line":20,"column":10,"nodeType":"1173","messageId":"1174","endLine":20,"endColumn":21},{"ruleId":"1171","severity":1,"message":"1338","line":29,"column":8,"nodeType":"1173","messageId":"1174","endLine":29,"endColumn":28},{"ruleId":"1207","severity":1,"message":"1208","line":37,"column":6,"nodeType":"1209","endLine":37,"endColumn":8,"suggestions":"1339"},{"ruleId":"1171","severity":1,"message":"1204","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1223","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":12},{"ruleId":"1171","severity":1,"message":"1178","line":12,"column":10,"nodeType":"1173","messageId":"1174","endLine":12,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1340","line":17,"column":8,"nodeType":"1173","messageId":"1174","endLine":17,"endColumn":21},{"ruleId":"1171","severity":1,"message":"1341","line":19,"column":8,"nodeType":"1173","messageId":"1174","endLine":19,"endColumn":16},{"ruleId":"1207","severity":1,"message":"1226","line":45,"column":6,"nodeType":"1209","endLine":45,"endColumn":27,"suggestions":"1342"},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1203","line":3,"column":3,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1204","line":5,"column":3,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1205","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1222","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1343","line":10,"column":3,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":11},{"ruleId":"1171","severity":1,"message":"1220","line":11,"column":3,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1221","line":12,"column":3,"nodeType":"1173","messageId":"1174","endLine":12,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1178","line":14,"column":10,"nodeType":"1173","messageId":"1174","endLine":14,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1215","line":20,"column":8,"nodeType":"1173","messageId":"1174","endLine":20,"endColumn":19},{"ruleId":"1207","severity":1,"message":"1208","line":38,"column":6,"nodeType":"1209","endLine":38,"endColumn":8,"suggestions":"1344"},{"ruleId":"1171","severity":1,"message":"1220","line":3,"column":38,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":42},{"ruleId":"1171","severity":1,"message":"1222","line":3,"column":44,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":50},{"ruleId":"1187","severity":1,"message":"1188","line":28,"column":69,"nodeType":"1189","messageId":"1190","endLine":28,"endColumn":71},{"ruleId":"1207","severity":1,"message":"1261","line":35,"column":6,"nodeType":"1209","endLine":35,"endColumn":8,"suggestions":"1345"},{"ruleId":"1207","severity":1,"message":"1237","line":65,"column":6,"nodeType":"1209","endLine":65,"endColumn":25,"suggestions":"1346"},{"ruleId":"1187","severity":1,"message":"1188","line":28,"column":69,"nodeType":"1189","messageId":"1190","endLine":28,"endColumn":71},{"ruleId":"1207","severity":1,"message":"1261","line":35,"column":6,"nodeType":"1209","endLine":35,"endColumn":8,"suggestions":"1347"},{"ruleId":"1207","severity":1,"message":"1237","line":65,"column":6,"nodeType":"1209","endLine":65,"endColumn":30,"suggestions":"1348"},{"ruleId":"1171","severity":1,"message":"1220","line":3,"column":31,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":35},{"ruleId":"1171","severity":1,"message":"1331","line":5,"column":16,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":24},{"ruleId":"1207","severity":1,"message":"1208","line":19,"column":6,"nodeType":"1209","endLine":19,"endColumn":28,"suggestions":"1349"},{"ruleId":"1171","severity":1,"message":"1203","line":3,"column":3,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1205","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1220","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1222","line":10,"column":3,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1201","line":14,"column":26,"nodeType":"1173","messageId":"1174","endLine":14,"endColumn":41},{"ruleId":"1207","severity":1,"message":"1208","line":24,"column":6,"nodeType":"1209","endLine":24,"endColumn":8,"suggestions":"1350"},{"ruleId":"1351","severity":1,"message":"1352","line":236,"column":25,"nodeType":"1198","messageId":"1353","endLine":239,"endColumn":26,"fix":"1354"},{"ruleId":"1351","severity":1,"message":"1352","line":254,"column":25,"nodeType":"1198","messageId":"1353","endLine":257,"endColumn":26,"fix":"1355"},{"ruleId":"1351","severity":1,"message":"1352","line":272,"column":25,"nodeType":"1198","messageId":"1353","endLine":275,"endColumn":26,"fix":"1356"},{"ruleId":"1351","severity":1,"message":"1352","line":290,"column":25,"nodeType":"1198","messageId":"1353","endLine":293,"endColumn":26,"fix":"1357"},{"ruleId":"1351","severity":1,"message":"1352","line":308,"column":25,"nodeType":"1198","messageId":"1353","endLine":311,"endColumn":26,"fix":"1358"},{"ruleId":"1171","severity":1,"message":"1221","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1220","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1359","line":18,"column":8,"nodeType":"1173","messageId":"1174","endLine":18,"endColumn":23},{"ruleId":"1171","severity":1,"message":"1360","line":27,"column":10,"nodeType":"1173","messageId":"1174","endLine":27,"endColumn":24},{"ruleId":"1207","severity":1,"message":"1253","line":41,"column":6,"nodeType":"1209","endLine":41,"endColumn":8,"suggestions":"1361"},{"ruleId":"1171","severity":1,"message":"1362","line":43,"column":9,"nodeType":"1173","messageId":"1174","endLine":43,"endColumn":22},{"ruleId":"1171","severity":1,"message":"1363","line":59,"column":9,"nodeType":"1173","messageId":"1174","endLine":59,"endColumn":22},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1203","line":2,"column":10,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":29,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":34},{"ruleId":"1171","severity":1,"message":"1205","line":2,"column":36,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":39},{"ruleId":"1171","severity":1,"message":"1178","line":3,"column":10,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":14},{"ruleId":"1207","severity":1,"message":"1208","line":17,"column":6,"nodeType":"1209","endLine":17,"endColumn":8,"suggestions":"1364"},{"ruleId":"1365","severity":1,"message":"1366","line":26,"column":5,"nodeType":"1367","messageId":"1190","endLine":26,"endColumn":10},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1203","line":3,"column":3,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1321","line":4,"column":3,"nodeType":"1173","messageId":"1174","endLine":4,"endColumn":12},{"ruleId":"1171","severity":1,"message":"1205","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1290","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1291","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1222","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1178","line":11,"column":10,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1203","line":4,"column":3,"nodeType":"1173","messageId":"1174","endLine":4,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1321","line":5,"column":3,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":12},{"ruleId":"1171","severity":1,"message":"1204","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1205","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1290","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1291","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1222","line":10,"column":3,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1178","line":12,"column":10,"nodeType":"1173","messageId":"1174","endLine":12,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1203","line":2,"column":10,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":29,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":34},{"ruleId":"1171","severity":1,"message":"1205","line":2,"column":36,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":39},{"ruleId":"1171","severity":1,"message":"1290","line":2,"column":41,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":44},{"ruleId":"1171","severity":1,"message":"1291","line":2,"column":46,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":49},{"ruleId":"1171","severity":1,"message":"1368","line":6,"column":8,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1369","line":10,"column":8,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":22},{"ruleId":"1207","severity":1,"message":"1208","line":19,"column":6,"nodeType":"1209","endLine":19,"endColumn":8,"suggestions":"1370"},{"ruleId":"1171","severity":1,"message":"1371","line":21,"column":7,"nodeType":"1173","messageId":"1174","endLine":21,"endColumn":15},{"ruleId":"1171","severity":1,"message":"1203","line":4,"column":3,"nodeType":"1173","messageId":"1174","endLine":4,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1205","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1178","line":12,"column":10,"nodeType":"1173","messageId":"1174","endLine":12,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1372","line":16,"column":8,"nodeType":"1173","messageId":"1174","endLine":16,"endColumn":22},{"ruleId":"1207","severity":1,"message":"1208","line":29,"column":6,"nodeType":"1209","endLine":29,"endColumn":8,"suggestions":"1373"},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1181","line":1,"column":28,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":36},{"ruleId":"1171","severity":1,"message":"1203","line":2,"column":10,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1205","line":2,"column":36,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":39},{"ruleId":"1171","severity":1,"message":"1178","line":3,"column":10,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1215","line":12,"column":8,"nodeType":"1173","messageId":"1174","endLine":12,"endColumn":19},{"ruleId":"1207","severity":1,"message":"1208","line":56,"column":6,"nodeType":"1209","endLine":56,"endColumn":8,"suggestions":"1374"},{"ruleId":"1196","severity":1,"message":"1197","line":5,"column":9,"nodeType":"1198","endLine":5,"endColumn":87},{"ruleId":"1171","severity":1,"message":"1204","line":6,"column":10,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":15},{"ruleId":"1171","severity":1,"message":"1375","line":4,"column":10,"nodeType":"1173","messageId":"1174","endLine":4,"endColumn":19},{"ruleId":"1196","severity":1,"message":"1197","line":5,"column":9,"nodeType":"1198","endLine":5,"endColumn":92},{"ruleId":"1196","severity":1,"message":"1197","line":5,"column":9,"nodeType":"1198","endLine":5,"endColumn":94},{"ruleId":"1196","severity":1,"message":"1197","line":5,"column":9,"nodeType":"1198","endLine":5,"endColumn":87},{"ruleId":"1171","severity":1,"message":"1215","line":8,"column":8,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":19},{"ruleId":"1171","severity":1,"message":"1201","line":11,"column":10,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":25},{"ruleId":"1207","severity":1,"message":"1208","line":23,"column":6,"nodeType":"1209","endLine":23,"endColumn":8,"suggestions":"1376"},{"ruleId":"1207","severity":1,"message":"1377","line":34,"column":6,"nodeType":"1209","endLine":34,"endColumn":35,"suggestions":"1378"},{"ruleId":"1303","severity":1,"message":"1304","line":39,"column":58,"nodeType":"1305","messageId":"1306","endLine":39,"endColumn":60},{"ruleId":"1207","severity":1,"message":"1379","line":48,"column":6,"nodeType":"1209","endLine":48,"endColumn":26,"suggestions":"1380"},{"ruleId":"1171","severity":1,"message":"1178","line":1,"column":10,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1381","line":2,"column":27,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":38},{"ruleId":"1171","severity":1,"message":"1183","line":2,"column":40,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":46},{"ruleId":"1171","severity":1,"message":"1290","line":4,"column":3,"nodeType":"1173","messageId":"1174","endLine":4,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1291","line":5,"column":3,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1220","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1222","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1204","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1382","line":10,"column":3,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1224","line":12,"column":8,"nodeType":"1173","messageId":"1174","endLine":12,"endColumn":18},{"ruleId":"1171","severity":1,"message":"1383","line":13,"column":10,"nodeType":"1173","messageId":"1174","endLine":13,"endColumn":21},{"ruleId":"1171","severity":1,"message":"1298","line":14,"column":10,"nodeType":"1173","messageId":"1174","endLine":14,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1299","line":14,"column":26,"nodeType":"1173","messageId":"1174","endLine":14,"endColumn":30},{"ruleId":"1171","severity":1,"message":"1241","line":14,"column":32,"nodeType":"1173","messageId":"1174","endLine":14,"endColumn":37},{"ruleId":"1171","severity":1,"message":"1242","line":14,"column":39,"nodeType":"1173","messageId":"1174","endLine":14,"endColumn":51},{"ruleId":"1171","severity":1,"message":"1384","line":16,"column":43,"nodeType":"1173","messageId":"1174","endLine":16,"endColumn":69},{"ruleId":"1171","severity":1,"message":"1385","line":20,"column":13,"nodeType":"1173","messageId":"1174","endLine":20,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1386","line":21,"column":8,"nodeType":"1173","messageId":"1174","endLine":21,"endColumn":25},{"ruleId":"1207","severity":1,"message":"1308","line":38,"column":6,"nodeType":"1209","endLine":38,"endColumn":35,"suggestions":"1387"},{"ruleId":"1196","severity":1,"message":"1197","line":5,"column":9,"nodeType":"1198","endLine":5,"endColumn":85},{"ruleId":"1171","severity":1,"message":"1288","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":26},{"ruleId":"1171","severity":1,"message":"1388","line":4,"column":10,"nodeType":"1173","messageId":"1174","endLine":4,"endColumn":21},{"ruleId":"1171","severity":1,"message":"1389","line":21,"column":20,"nodeType":"1173","messageId":"1174","endLine":21,"endColumn":29},{"ruleId":"1171","severity":1,"message":"1390","line":21,"column":31,"nodeType":"1173","messageId":"1174","endLine":21,"endColumn":42},{"ruleId":"1171","severity":1,"message":"1391","line":21,"column":44,"nodeType":"1173","messageId":"1174","endLine":21,"endColumn":56},{"ruleId":"1171","severity":1,"message":"1392","line":48,"column":9,"nodeType":"1173","messageId":"1174","endLine":48,"endColumn":20},{"ruleId":"1171","severity":1,"message":"1224","line":11,"column":8,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":18},{"ruleId":"1171","severity":1,"message":"1178","line":1,"column":10,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1204","line":3,"column":24,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":29},{"ruleId":"1207","severity":1,"message":"1393","line":40,"column":5,"nodeType":"1209","endLine":40,"endColumn":7,"suggestions":"1394"},{"ruleId":"1207","severity":1,"message":"1395","line":65,"column":5,"nodeType":"1209","endLine":65,"endColumn":29,"suggestions":"1396"},{"ruleId":"1207","severity":1,"message":"1397","line":77,"column":5,"nodeType":"1209","endLine":77,"endColumn":31,"suggestions":"1398"},{"ruleId":"1207","severity":1,"message":"1308","line":93,"column":5,"nodeType":"1209","endLine":93,"endColumn":24,"suggestions":"1399"},{"ruleId":"1196","severity":1,"message":"1197","line":163,"column":10,"nodeType":"1198","endLine":167,"endColumn":12},{"ruleId":"1196","severity":1,"message":"1197","line":5,"column":9,"nodeType":"1198","endLine":5,"endColumn":90},{"ruleId":"1171","severity":1,"message":"1400","line":5,"column":17,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1400","line":5,"column":17,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1290","line":5,"column":5,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1291","line":6,"column":5,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1204","line":7,"column":5,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":10},{"ruleId":"1171","severity":1,"message":"1221","line":8,"column":5,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":15},{"ruleId":"1171","severity":1,"message":"1220","line":9,"column":5,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":9},{"ruleId":"1171","severity":1,"message":"1292","line":10,"column":5,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":16},{"ruleId":"1196","severity":1,"message":"1197","line":5,"column":9,"nodeType":"1198","endLine":5,"endColumn":106},{"ruleId":"1171","severity":1,"message":"1401","line":14,"column":57,"nodeType":"1173","messageId":"1174","endLine":14,"endColumn":67},{"ruleId":"1207","severity":1,"message":"1308","line":46,"column":6,"nodeType":"1209","endLine":46,"endColumn":42,"suggestions":"1402"},{"ruleId":"1187","severity":1,"message":"1188","line":86,"column":33,"nodeType":"1189","messageId":"1190","endLine":86,"endColumn":35},{"ruleId":"1171","severity":1,"message":"1290","line":2,"column":10,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1291","line":2,"column":15,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":18},{"ruleId":"1171","severity":1,"message":"1321","line":2,"column":20,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":29},{"ruleId":"1171","severity":1,"message":"1220","line":2,"column":31,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":35},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":37,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":42},{"ruleId":"1171","severity":1,"message":"1222","line":2,"column":44,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":50},{"ruleId":"1171","severity":1,"message":"1403","line":1,"column":10,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":22},{"ruleId":"1171","severity":1,"message":"1404","line":2,"column":8,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":11},{"ruleId":"1171","severity":1,"message":"1405","line":2,"column":15,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":31},{"ruleId":"1171","severity":1,"message":"1406","line":2,"column":33,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":39},{"ruleId":"1171","severity":1,"message":"1183","line":3,"column":28,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":34},{"ruleId":"1171","severity":1,"message":"1321","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":12},{"ruleId":"1171","severity":1,"message":"1204","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1407","line":11,"column":3,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1205","line":12,"column":3,"nodeType":"1173","messageId":"1174","endLine":12,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1382","line":13,"column":3,"nodeType":"1173","messageId":"1174","endLine":13,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1408","line":29,"column":10,"nodeType":"1173","messageId":"1174","endLine":29,"endColumn":17},{"ruleId":"1171","severity":1,"message":"1409","line":29,"column":19,"nodeType":"1173","messageId":"1174","endLine":29,"endColumn":29},{"ruleId":"1207","severity":1,"message":"1208","line":65,"column":6,"nodeType":"1209","endLine":65,"endColumn":8,"suggestions":"1410"},{"ruleId":"1207","severity":1,"message":"1411","line":87,"column":6,"nodeType":"1209","endLine":87,"endColumn":35,"suggestions":"1412"},{"ruleId":"1207","severity":1,"message":"1308","line":42,"column":6,"nodeType":"1209","endLine":42,"endColumn":40,"suggestions":"1413"},{"ruleId":"1187","severity":1,"message":"1188","line":72,"column":33,"nodeType":"1189","messageId":"1190","endLine":72,"endColumn":35},{"ruleId":"1196","severity":1,"message":"1197","line":98,"column":17,"nodeType":"1198","endLine":102,"endColumn":19},{"ruleId":"1207","severity":1,"message":"1308","line":26,"column":6,"nodeType":"1209","endLine":26,"endColumn":25,"suggestions":"1414"},{"ruleId":"1196","severity":1,"message":"1197","line":5,"column":9,"nodeType":"1198","endLine":5,"endColumn":105},{"ruleId":"1171","severity":1,"message":"1178","line":3,"column":10,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1204","line":4,"column":10,"nodeType":"1173","messageId":"1174","endLine":4,"endColumn":15},{"ruleId":"1171","severity":1,"message":"1215","line":9,"column":8,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":19},{"ruleId":"1207","severity":1,"message":"1208","line":22,"column":6,"nodeType":"1209","endLine":22,"endColumn":8,"suggestions":"1415"},{"ruleId":"1303","severity":1,"message":"1304","line":27,"column":58,"nodeType":"1305","messageId":"1306","endLine":27,"endColumn":60},{"ruleId":"1207","severity":1,"message":"1377","line":36,"column":6,"nodeType":"1209","endLine":36,"endColumn":26,"suggestions":"1416"},{"ruleId":"1207","severity":1,"message":"1377","line":42,"column":6,"nodeType":"1209","endLine":42,"endColumn":25,"suggestions":"1417"},{"ruleId":"1196","severity":1,"message":"1197","line":5,"column":9,"nodeType":"1198","endLine":5,"endColumn":97},{"ruleId":"1196","severity":1,"message":"1197","line":5,"column":9,"nodeType":"1198","endLine":5,"endColumn":96},{"ruleId":"1187","severity":1,"message":"1260","line":216,"column":37,"nodeType":"1189","messageId":"1190","endLine":216,"endColumn":39},{"ruleId":"1171","severity":1,"message":"1418","line":11,"column":3,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":29},{"ruleId":"1171","severity":1,"message":"1419","line":1,"column":16,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":22},{"ruleId":"1171","severity":1,"message":"1420","line":31,"column":3,"nodeType":"1173","messageId":"1174","endLine":31,"endColumn":23},{"ruleId":"1171","severity":1,"message":"1421","line":1,"column":10,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1419","line":1,"column":16,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":22},{"ruleId":"1171","severity":1,"message":"1244","line":5,"column":3,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":32},{"ruleId":"1171","severity":1,"message":"1180","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":30},{"ruleId":"1187","severity":1,"message":"1188","line":135,"column":30,"nodeType":"1189","messageId":"1190","endLine":135,"endColumn":32},{"ruleId":"1187","severity":1,"message":"1188","line":170,"column":30,"nodeType":"1189","messageId":"1190","endLine":170,"endColumn":32},{"ruleId":"1171","severity":1,"message":"1422","line":20,"column":3,"nodeType":"1173","messageId":"1174","endLine":20,"endColumn":21},{"ruleId":"1171","severity":1,"message":"1423","line":23,"column":3,"nodeType":"1173","messageId":"1174","endLine":23,"endColumn":26},{"ruleId":"1187","severity":1,"message":"1260","line":128,"column":76,"nodeType":"1189","messageId":"1190","endLine":128,"endColumn":78},{"ruleId":"1171","severity":1,"message":"1419","line":1,"column":16,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":22},{"ruleId":"1171","severity":1,"message":"1321","line":5,"column":3,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":12},{"ruleId":"1171","severity":1,"message":"1290","line":6,"column":3,"nodeType":"1173","messageId":"1174","endLine":6,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1291","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1204","line":8,"column":3,"nodeType":"1173","messageId":"1174","endLine":8,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1221","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1220","line":10,"column":3,"nodeType":"1173","messageId":"1174","endLine":10,"endColumn":7},{"ruleId":"1171","severity":1,"message":"1292","line":11,"column":3,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1368","line":13,"column":8,"nodeType":"1173","messageId":"1174","endLine":13,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1288","line":1,"column":17,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":26},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":10,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":15},{"ruleId":"1207","severity":1,"message":"1308","line":44,"column":6,"nodeType":"1209","endLine":44,"endColumn":29,"suggestions":"1424"},{"ruleId":"1187","severity":1,"message":"1188","line":74,"column":30,"nodeType":"1189","messageId":"1190","endLine":74,"endColumn":32},{"ruleId":"1196","severity":1,"message":"1197","line":5,"column":9,"nodeType":"1198","endLine":5,"endColumn":95},{"ruleId":"1171","severity":1,"message":"1204","line":2,"column":38,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":43},{"ruleId":"1171","severity":1,"message":"1425","line":5,"column":3,"nodeType":"1173","messageId":"1174","endLine":5,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1403","line":1,"column":10,"nodeType":"1173","messageId":"1174","endLine":1,"endColumn":22},{"ruleId":"1171","severity":1,"message":"1404","line":2,"column":8,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":11},{"ruleId":"1171","severity":1,"message":"1405","line":2,"column":15,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":31},{"ruleId":"1171","severity":1,"message":"1406","line":2,"column":33,"nodeType":"1173","messageId":"1174","endLine":2,"endColumn":39},{"ruleId":"1171","severity":1,"message":"1183","line":3,"column":28,"nodeType":"1173","messageId":"1174","endLine":3,"endColumn":34},{"ruleId":"1171","severity":1,"message":"1321","line":7,"column":3,"nodeType":"1173","messageId":"1174","endLine":7,"endColumn":12},{"ruleId":"1171","severity":1,"message":"1204","line":9,"column":3,"nodeType":"1173","messageId":"1174","endLine":9,"endColumn":8},{"ruleId":"1171","severity":1,"message":"1407","line":11,"column":3,"nodeType":"1173","messageId":"1174","endLine":11,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1205","line":12,"column":3,"nodeType":"1173","messageId":"1174","endLine":12,"endColumn":6},{"ruleId":"1171","severity":1,"message":"1382","line":13,"column":3,"nodeType":"1173","messageId":"1174","endLine":13,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1426","line":20,"column":3,"nodeType":"1173","messageId":"1174","endLine":20,"endColumn":17},{"ruleId":"1171","severity":1,"message":"1427","line":27,"column":3,"nodeType":"1173","messageId":"1174","endLine":27,"endColumn":16},{"ruleId":"1171","severity":1,"message":"1428","line":28,"column":3,"nodeType":"1173","messageId":"1174","endLine":28,"endColumn":14},{"ruleId":"1171","severity":1,"message":"1429","line":29,"column":3,"nodeType":"1173","messageId":"1174","endLine":29,"endColumn":13},{"ruleId":"1171","severity":1,"message":"1430","line":33,"column":34,"nodeType":"1173","messageId":"1174","endLine":33,"endColumn":46},{"ruleId":"1171","severity":1,"message":"1408","line":38,"column":10,"nodeType":"1173","messageId":"1174","endLine":38,"endColumn":17},{"ruleId":"1171","severity":1,"message":"1409","line":38,"column":19,"nodeType":"1173","messageId":"1174","endLine":38,"endColumn":29},{"ruleId":"1171","severity":1,"message":"1191","line":63,"column":10,"nodeType":"1173","messageId":"1174","endLine":63,"endColumn":17},{"ruleId":"1207","severity":1,"message":"1208","line":82,"column":6,"nodeType":"1209","endLine":82,"endColumn":8,"suggestions":"1431"},{"ruleId":"1187","severity":1,"message":"1188","line":87,"column":41,"nodeType":"1189","messageId":"1190","endLine":87,"endColumn":43},{"ruleId":"1207","severity":1,"message":"1432","line":122,"column":6,"nodeType":"1209","endLine":122,"endColumn":20,"suggestions":"1433"},{"ruleId":"1171","severity":1,"message":"1434","line":128,"column":11,"nodeType":"1173","messageId":"1174","endLine":128,"endColumn":15},{"ruleId":"1207","severity":1,"message":"1411","line":162,"column":6,"nodeType":"1209","endLine":162,"endColumn":35,"suggestions":"1435"},{"ruleId":"1365","severity":1,"message":"1436","line":226,"column":5,"nodeType":"1367","messageId":"1190","endLine":226,"endColumn":23},"no-unused-vars","'BrowserRouter' is defined but never used.","Identifier","unusedVar","'AgeVerificationIndex' is defined but never used.","'isUserEligible' is assigned a value but never used.","'handleSubmit' is assigned a value but never used.","'Link' is defined but never used.","'useTranslation' is defined but never used.","'getErrorNotificationMessage' is defined but never used.","'useState' is defined but never used.","'useContext' is defined but never used.","'useRef' is defined but never used.","'setDefaultLanguage' is defined but never used.","'translate' is defined but never used.","'$' is assigned a value but never used.","eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected","'loading' is assigned a value but never used.","'setLoading' is assigned a value but never used.","'configLoading' is assigned a value but never used.","'setConfigLoading' is assigned a value but never used.","'logger' is defined but never used.","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","JSXOpeningElement","'EmptyHeader' is defined but never used.","'useLocation' is defined but never used.","'withTranslation' is defined but never used.","'navigate' is assigned a value but never used.","'Navbar' is defined but never used.","'Image' is defined but never used.","'Nav' is defined but never used.","'HeroStaticProductIndex' is defined but never used.","react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'props'. Either include it or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect.","ArrayExpression",["1437"],["1438"],"'saveOrdersCartSuccess' is defined but never used.","React Hook useEffect has missing dependencies: 'navigate' and 'props.orderStatus.data'. Either include them or remove the dependency array.",["1439"],"'NoDataFound' is defined but never used.","'NoOrdersFound' is defined but never used.",["1440"],"React Hook useEffect has missing dependencies: 'first' and 'props'. Either include them or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect.",["1441"],"'Form' is defined but never used.","'InputGroup' is defined but never used.","'Button' is defined but never used.","'Accordion' is defined but never used.","'ReactStars' is defined but never used.",["1442"],"React Hook useEffect has a missing dependency: 'skipRender'. Either include it or remove the dependency array.",["1443"],"jsx-a11y/heading-has-content","Headings must have content and the content must be accessible by a screen reader.","React Hook useEffect has missing dependencies: 'navigate', 'props', and 'showContent'. Either include them or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect.",["1444"],"no-mixed-operators","Unexpected mix of '&&' and '||'. Use parentheses to clarify the intended order of operations.","LogicalExpression","unexpectedMixedOperator",["1445"],"React Hook useEffect has missing dependencies: 'navigate' and 'skipRender'. Either include them or remove the dependency array.",["1446"],"'ConnectKitButton' is defined but never used.","'CheckoutWalletButton' is defined but never used.","'Field' is defined but never used.","'ErrorMessage' is defined but never used.","'get' is defined but never used.","'getSuccessNotificationMessage' is defined but never used.","'CopyToClipboard' is defined but never used.","'account' is assigned a value but never used.","'checkout' is assigned a value but never used.","'setCheckout' is assigned a value but never used.","'qrCode' is assigned a value but never used.","'setQrCode' is assigned a value but never used.","'vpa' is assigned a value but never used.","'setVpa' is assigned a value but never used.","React Hook useEffect has missing dependencies: 'navigate' and 'props'. Either include them or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect.",["1447"],["1448"],["1449"],"'onFormSubmit' is assigned a value but never used.",["1450"],["1451"],"Expected '!==' and instead saw '!='.","React Hook useEffect has a missing dependency: 'navigate'. Either include it or remove the dependency array.",["1452"],["1453"],["1454"],"React Hook useEffect has missing dependencies: 'conditions', 'fetchProducts', 'searchParams', and 'skipRender'. Either include them or remove the dependency array. You can also do a functional update 'setConditions(c => ...)' if you only need 'conditions' in the 'setConditions' call.",["1455"],"React Hook useEffect has missing dependencies: 'fetchProducts' and 'skipRender'. Either include them or remove the dependency array.",["1456"],"React Hook useEffect has missing dependencies: 'fetchProducts', 'params.search', 'searchParams', and 'skipRender'. Either include them or remove the dependency array.",["1457"],"'NumericInput' is defined but never used.","'showButton' is assigned a value but never used.","'setShowButton' is assigned a value but never used.","'handleClick' is assigned a value but never used.",["1458"],"React Hook useEffect has missing dependencies: 'props.guestCartList' and 'skipRender'. Either include them or remove the dependency array.",["1459"],["1460"],["1461"],["1462"],["1463"],"'isvalidUserName' is assigned a value but never used.",["1464"],"'handleUsernameValidation' is assigned a value but never used.","'React' is defined but never used.","'api' is defined but never used.",["1465"],"'useEffect' is defined but never used.","'useParams' is defined but never used.","'Row' is defined but never used.","'Col' is defined but never used.","'ProgressBar' is defined but never used.","'Skeleton' is defined but never used.",["1466"],"'CommonCenterLoader' is defined but never used.","'Dropdown' is defined but never used.",["1467"],"'Formik' is defined but never used.","'FORM' is defined but never used.","'selectedAddress' is assigned a value but never used.","'validationSchema' is assigned a value but never used.",["1468"],"array-callback-return","Array.prototype.map() expects a return value from arrow function.","ArrowFunctionExpression","expectedInside",["1469"],"React Hook useEffect has missing dependencies: 'props' and 'skipRender'. Either include them or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect.",["1470"],["1471"],["1472"],["1473"],["1474"],"React Hook useEffect has a missing dependency: 'props.profile.loading'. Either include it or remove the dependency array.",["1475"],"'Table' is defined but never used.",["1476"],["1477"],["1478"],["1479"],"'Container' is defined but never used.","'fetchUserWalletDetailsStart' is defined but never used.","'skipFirst' is assigned a value but never used.","'setSkipFirst' is assigned a value but never used.",["1480"],"The 'cancelWithdraw' function makes the dependencies of useEffect Hook (at line 67) change on every render. To fix this, wrap the definition of 'cancelWithdraw' in its own useCallback() Hook.","VariableDeclarator",["1481"],"React Hook useEffect has missing dependencies: 'navigate' and 'skipFirst'. Either include them or remove the dependency array.",["1482"],"'Navigate' is defined but never used.","'ordersSendReturnRequestStart' is defined but never used.","'invoiceOrdersStart' is defined but never used.","'skipRender' is assigned a value but never used.","'setSkipRender' is assigned a value but never used.",["1483"],"'useNavigate' is defined but never used.","'OrderDetailsNotFound' is defined but never used.",["1484"],"'configuration' is defined but never used.","'FAQIndex' is defined but never used.",["1485"],"'Collapse' is defined but never used.",["1486"],["1487"],["1488"],["1489"],["1490"],["1491"],["1492"],"react/jsx-no-target-blank","Using target=\"_blank\" without rel=\"noreferrer\" (which implies rel=\"noopener\") is a security risk in older browsers: see https://mathiasbynens.github.io/rel-noopener/#recommendations","noTargetBlankWithoutNoreferrer",{"range":"1493","text":"1494"},{"range":"1495","text":"1494"},{"range":"1496","text":"1494"},{"range":"1497","text":"1494"},{"range":"1498","text":"1494"},"'SearchSuggetion' is defined but never used.","'showSuggetions' is assigned a value but never used.",["1499"],"'getSuggetions' is assigned a value but never used.","'searchProduct' is assigned a value but never used.",["1500"],"no-dupe-keys","Duplicate key 'speed'.","ObjectExpression","'Slider' is defined but never used.","'CustomLazyLoad' is defined but never used.",["1501"],"'settings' is assigned a value but never used.","'SomethingWrong' is defined but never used.",["1502"],["1503"],"'isLoading' is assigned a value but never used.",["1504"],"React Hook useEffect has missing dependencies: 'props' and 'skipFirst'. Either include them or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect.",["1505"],"React Hook useEffect has a missing dependency: 'skipFirst'. Either include it or remove the dependency array.",["1506"],"'useCallback' is defined but never used.","'FormControl' is defined but never used.","'useDropzone' is defined but never used.","'saveDeliveryAddressesStart' is defined but never used.","'Yup' is defined but never used.","'AddressSubmitForm' is defined but never used.",["1507"],"'useDebounce' is defined but never used.","'connector' is assigned a value but never used.","'isConnected' is assigned a value but never used.","'isConnecting' is assigned a value but never used.","'approveWait' is assigned a value but never used.","React Hook useCallback has a missing dependency: 'props'. Either include it or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useCallback call and refer to those specific props inside useCallback.",["1508"],"React Hook useEffect has missing dependencies: 'reviewData', 'reviewFiles', and 'skipRender'. Either include them or remove the dependency array. You can also do a functional update 'setReviewFiles(r => ...)' if you only need 'reviewFiles' in the 'setReviewFiles' call.",["1509"],"React Hook useEffect has missing dependencies: 'reviewData' and 'skipRender'. Either include them or remove the dependency array. You can also do a functional update 'setReviewData(r => ...)' if you only need 'reviewData' in the 'setReviewData' call.",["1510"],["1511"],"'setValue' is assigned a value but never used.","'handleEdit' is assigned a value but never used.",["1512"],"'apiConstants' is defined but never used.","'Map' is defined but never used.","'GoogleApiWrapper' is defined but never used.","'Marker' is defined but never used.","'Tab' is defined but never used.","'address' is assigned a value but never used.","'setAddress' is assigned a value but never used.",["1513"],"React Hook useEffect has missing dependencies: 'isModal', 'props', and 'skipRender'. Either include them or remove the dependency array. However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the useEffect call and refer to those specific props inside useEffect.",["1514"],["1515"],["1516"],["1517"],["1518"],["1519"],"'FETCH_USER_DETAILS_SUCCESS' is defined but never used.","'select' is defined but never used.","'fetchOrdersListStart' is defined but never used.","'call' is defined but never used.","'fetchCartListStart' is defined but never used.","'fetchGuestCartListStart' is defined but never used.",["1520"],"'CardElement' is defined but never used.","'getStatesStart' is defined but never used.","'CountrySelect' is defined but never used.","'StateSelect' is defined but never used.","'CitySelect' is defined but never used.","'GetAllCities' is defined but never used.",["1521"],"React Hook useEffect has a missing dependency: 'country.id'. Either include it or remove the dependency array.",["1522"],"'pins' is assigned a value but never used.",["1523"],"Duplicate key 'indicatorContainer'.",{"desc":"1524","fix":"1525"},{"desc":"1526","fix":"1527"},{"desc":"1528","fix":"1529"},{"desc":"1524","fix":"1530"},{"desc":"1531","fix":"1532"},{"desc":"1524","fix":"1533"},{"desc":"1534","fix":"1535"},{"desc":"1536","fix":"1537"},{"desc":"1538","fix":"1539"},{"desc":"1540","fix":"1541"},{"desc":"1542","fix":"1543"},{"desc":"1544","fix":"1545"},{"desc":"1546","fix":"1547"},{"desc":"1548","fix":"1549"},{"desc":"1524","fix":"1550"},{"desc":"1551","fix":"1552"},{"desc":"1524","fix":"1553"},{"desc":"1554","fix":"1555"},{"desc":"1556","fix":"1557"},{"desc":"1558","fix":"1559"},{"desc":"1560","fix":"1561"},{"desc":"1562","fix":"1563"},{"desc":"1564","fix":"1565"},{"desc":"1566","fix":"1567"},{"desc":"1568","fix":"1569"},{"desc":"1570","fix":"1571"},{"desc":"1572","fix":"1573"},{"desc":"1570","fix":"1574"},{"desc":"1542","fix":"1575"},{"desc":"1576","fix":"1577"},{"desc":"1578","fix":"1579"},{"desc":"1524","fix":"1580"},{"desc":"1581","fix":"1582"},{"desc":"1583","fix":"1584"},{"desc":"1524","fix":"1585"},{"desc":"1586","fix":"1587"},{"desc":"1524","fix":"1588"},{"desc":"1589","fix":"1590"},{"desc":"1591","fix":"1592"},{"desc":"1593","fix":"1594"},{"desc":"1524","fix":"1595"},{"desc":"1596","fix":"1597"},{"desc":"1598","fix":"1599"},{"desc":"1524","fix":"1600"},{"desc":"1601","fix":"1602"},{"desc":"1603","fix":"1604"},{"desc":"1605","fix":"1606"},{"desc":"1524","fix":"1607"},{"desc":"1608","fix":"1609"},{"desc":"1524","fix":"1610"},{"desc":"1566","fix":"1611"},{"desc":"1612","fix":"1613"},{"desc":"1566","fix":"1614"},{"desc":"1615","fix":"1616"},{"desc":"1605","fix":"1617"},{"desc":"1524","fix":"1618"},[9407,9407]," rel=\"noreferrer\"",[10119,10119],[10831,10831],[11544,11544],[12255,12255],{"desc":"1542","fix":"1619"},{"desc":"1524","fix":"1620"},{"desc":"1524","fix":"1621"},{"desc":"1524","fix":"1622"},{"desc":"1524","fix":"1623"},{"desc":"1524","fix":"1624"},{"desc":"1625","fix":"1626"},{"desc":"1627","fix":"1628"},{"desc":"1583","fix":"1629"},{"desc":"1524","fix":"1630"},{"desc":"1631","fix":"1632"},{"desc":"1633","fix":"1634"},{"desc":"1635","fix":"1636"},{"desc":"1637","fix":"1638"},{"desc":"1524","fix":"1639"},{"desc":"1640","fix":"1641"},{"desc":"1642","fix":"1643"},{"desc":"1644","fix":"1645"},{"desc":"1524","fix":"1646"},{"desc":"1647","fix":"1648"},{"desc":"1649","fix":"1650"},{"desc":"1651","fix":"1652"},{"desc":"1524","fix":"1653"},{"desc":"1654","fix":"1655"},{"desc":"1640","fix":"1656"},"Update the dependencies array to be: [props]",{"range":"1657","text":"1658"},"Update the dependencies array to be: [props, props.profile]",{"range":"1659","text":"1660"},"Update the dependencies array to be: [navigate, props.orderStatus.data]",{"range":"1661","text":"1662"},{"range":"1663","text":"1658"},"Update the dependencies array to be: [first, props, props.guestCartList]",{"range":"1664","text":"1665"},{"range":"1666","text":"1658"},"Update the dependencies array to be: [props.deliveryAddressesList, props.cartList, skipRender]",{"range":"1667","text":"1668"},"Update the dependencies array to be: [navigate, props, showContent]",{"range":"1669","text":"1670"},"Update the dependencies array to be: [props.singleDeliveryAddress, props.cartList, skipRender]",{"range":"1671","text":"1672"},"Update the dependencies array to be: [navigate, props.upiIntentCheckout, skipRender]",{"range":"1673","text":"1674"},"Update the dependencies array to be: [navigate, props]",{"range":"1675","text":"1676"},"Update the dependencies array to be: [props.singleDeliveryAddress, props.cartList, props.userWalletDetails, skipRender]",{"range":"1677","text":"1678"},"Update the dependencies array to be: [navigate, props.orderSaveCart, skipRender]",{"range":"1679","text":"1680"},"Update the dependencies array to be: [navigate, props.ordersCheckout, skipRender]",{"range":"1681","text":"1682"},{"range":"1683","text":"1658"},"Update the dependencies array to be: [navigate, props.orderStatus]",{"range":"1684","text":"1685"},{"range":"1686","text":"1658"},"Update the dependencies array to be: [props.productList, props.categoriesList, skipRender]",{"range":"1687","text":"1688"},"Update the dependencies array to be: [conditions, fetchProducts, props.categoriesList, searchParams, skipRender]",{"range":"1689","text":"1690"},"Update the dependencies array to be: [fetchProducts, params.search, skipRender]",{"range":"1691","text":"1692"},"Update the dependencies array to be: [conditions, fetchProducts, params.search, searchParams, skipRender]",{"range":"1693","text":"1694"},"Update the dependencies array to be: [params.productUniqueId, props]",{"range":"1695","text":"1696"},"Update the dependencies array to be: [props.guestCartList, singleProduct, skipRender]",{"range":"1697","text":"1698"},"Update the dependencies array to be: [navigate]",{"range":"1699","text":"1700"},"Update the dependencies array to be: [navigate, props.login, skipRender]",{"range":"1701","text":"1702"},"Update the dependencies array to be: [navigate, props.register, skipRender]",{"range":"1703","text":"1704"},"Update the dependencies array to be: [navigate, props.resetPassword, skipRender]",{"range":"1705","text":"1706"},{"range":"1707","text":"1704"},{"range":"1708","text":"1676"},"Update the dependencies array to be: [props, static_page_unique_id]",{"range":"1709","text":"1710"},"Update the dependencies array to be: [params.status, props]",{"range":"1711","text":"1712"},{"range":"1713","text":"1658"},"Update the dependencies array to be: [props.deliveryAddressesList, skipRender]",{"range":"1714","text":"1715"},"Update the dependencies array to be: [props, props.deliveryAddressesSave, skipRender]",{"range":"1716","text":"1717"},{"range":"1718","text":"1658"},"Update the dependencies array to be: [props.changePassword, skipRender]",{"range":"1719","text":"1720"},{"range":"1721","text":"1658"},"Update the dependencies array to be: [navigate, props.deleteAcc, skipRender]",{"range":"1722","text":"1723"},"Update the dependencies array to be: [props.profile.data, props.profile.loading]",{"range":"1724","text":"1725"},"Update the dependencies array to be: [props, props.addUserBillingAccounts, skipRender]",{"range":"1726","text":"1727"},{"range":"1728","text":"1658"},"Update the dependencies array to be: [props.userBillingAccounts, skipRender]",{"range":"1729","text":"1730"},"Update the dependencies array to be: [navigate, props.withdrawRequest, skipRender]",{"range":"1731","text":"1732"},{"range":"1733","text":"1658"},"Wrap the definition of 'cancelWithdraw' in its own useCallback() Hook.",{"range":"1734","text":"1735"},"Update the dependencies array to be: [navigate, props.walletPaymentByStripe, skipFirst]",{"range":"1736","text":"1737"},"Update the dependencies array to be: [params.orderUniqueId, props]",{"range":"1738","text":"1739"},{"range":"1740","text":"1658"},"Update the dependencies array to be: [props.contactSubmit, skipRender]",{"range":"1741","text":"1742"},{"range":"1743","text":"1658"},{"range":"1744","text":"1700"},"Update the dependencies array to be: [navigate, props.verifyEmail, skipRender]",{"range":"1745","text":"1746"},{"range":"1747","text":"1700"},"Update the dependencies array to be: [navigate, props.twoStepAuthLogin, skipRender]",{"range":"1748","text":"1749"},{"range":"1750","text":"1739"},{"range":"1751","text":"1658"},{"range":"1752","text":"1676"},{"range":"1753","text":"1658"},{"range":"1754","text":"1658"},{"range":"1755","text":"1658"},{"range":"1756","text":"1658"},{"range":"1757","text":"1658"},"Update the dependencies array to be: [props, props.walletPaymentByStripe, skipFirst]",{"range":"1758","text":"1759"},"Update the dependencies array to be: [props.userCardList, skipFirst]",{"range":"1760","text":"1761"},{"range":"1762","text":"1717"},{"range":"1763","text":"1658"},"Update the dependencies array to be: [props.reviewsSaveFiles, reviewData, reviewFiles, skipRender]",{"range":"1764","text":"1765"},"Update the dependencies array to be: [props.reviewsDeleteFiles, reviewData, skipRender]",{"range":"1766","text":"1767"},"Update the dependencies array to be: [props, props.reviewsSave, skipRender]",{"range":"1768","text":"1769"},"Update the dependencies array to be: [props, props.makeDefaultDeliveryAddresses, skipRender]",{"range":"1770","text":"1771"},{"range":"1772","text":"1658"},"Update the dependencies array to be: [isModal, props, props.deliveryAddressesSave, skipRender]",{"range":"1773","text":"1774"},"Update the dependencies array to be: [props, props.defaultUserBillingAccounts, skipRender]",{"range":"1775","text":"1776"},"Update the dependencies array to be: [props, props.returnOrder, skipRender]",{"range":"1777","text":"1778"},{"range":"1779","text":"1658"},"Update the dependencies array to be: [props, props.userCardList, skipFirst]",{"range":"1780","text":"1781"},"Update the dependencies array to be: [props, props.addUserCard, skipFirst]",{"range":"1782","text":"1783"},"Update the dependencies array to be: [props, props.defaultUserCard, skipRender]",{"range":"1784","text":"1785"},{"range":"1786","text":"1658"},"Update the dependencies array to be: [country.id, currentState]",{"range":"1787","text":"1788"},{"range":"1789","text":"1774"},[1093,1095],"[props]",[1484,1499],"[props, props.profile]",[1167,1169],"[navigate, props.orderStatus.data]",[1303,1305],[1791,1812],"[first, props, props.guestCartList]",[1242,1244],[1778,1823],"[props.deliveryAddressesList, props.cartList, skipRender]",[1258,1260],"[navigate, props, showContent]",[1761,1806],"[props.singleDeliveryAddress, props.cartList, skipRender]",[2352,2377],"[navigate, props.upiIntentCheckout, skipRender]",[2272,2274],"[navigate, props]",[3468,3538],"[props.singleDeliveryAddress, props.cartList, props.userWalletDetails, skipRender]",[3788,3809],"[navigate, props.orderSaveCart, skipRender]",[6024,6046],"[navigate, props.ordersCheckout, skipRender]",[7199,7201],[7479,7498],"[navigate, props.orderStatus]",[1675,1677],[1937,1978],"[props.productList, props.categoriesList, skipRender]",[2694,2716],"[conditions, fetchProducts, props.categoriesList, searchParams, skipRender]",[2946,2961],"[fetchProducts, params.search, skipRender]",[3298,3310],"[conditions, fetchProducts, params.search, searchParams, skipRender]",[2400,2424],"[params.productUniqueId, props]",[2883,2898],"[props.guestCartList, singleProduct, skipRender]",[3002,3004],"[navigate]",[3647,3660],"[navigate, props.login, skipRender]",[4211,4227],"[navigate, props.register, skipRender]",[1549,1570],"[navigate, props.resetPassword, skipRender]",[1446,1462],[942,944],[911,934],"[props, static_page_unique_id]",[1674,1689],"[params.status, props]",[1775,1777],[2673,2702],"[props.deliveryAddressesList, skipRender]",[3004,3033],"[props, props.deliveryAddressesSave, skipRender]",[3172,3174],[1057,1079],"[props.changePassword, skipRender]",[1110,1112],[958,975],"[navigate, props.deleteAcc, skipRender]",[1024,1044],"[props.profile.data, props.profile.loading]",[1637,1667],"[props, props.addUserBillingAccounts, skipRender]",[2357,2359],[3521,3548],"[props.userBillingAccounts, skipRender]",[3773,3796],"[navigate, props.withdrawRequest, skipRender]",[1311,1313],[1658,1829],"useCallback((user_withdrawal_unique_id) => {\n props.dispatch(\n cancelWithdrawalRequestStart({\n user_withdrawal_unique_id: user_withdrawal_unique_id,\n })\n );\n })",[1738,1767],"[navigate, props.walletPaymentByStripe, skipFirst]",[1132,1154],"[params.orderUniqueId, props]",[1184,1186],[1328,1349],"[props.contactSubmit, skipRender]",[961,963],[1348,1350],[2067,2086],"[navigate, props.verifyEmail, skipRender]",[1342,1344],[2053,2077],"[navigate, props.twoStepAuthLogin, skipRender]",[780,802],[570,572],[1279,1281],[644,646],[692,694],[763,765],[1504,1506],[993,995],[1263,1292],"[props, props.walletPaymentByStripe, skipFirst]",[1765,1785],"[props.userCardList, skipFirst]",[1284,1313],[1230,1232],[1805,1829],"[props.reviewsSaveFiles, reviewData, reviewFiles, skipRender]",[2092,2118],"[props.reviewsDeleteFiles, reviewData, skipRender]",[2473,2492],"[props, props.reviewsSave, skipRender]",[1277,1313],"[props, props.makeDefaultDeliveryAddresses, skipRender]",[1994,1996],[2477,2506],"[isModal, props, props.deliveryAddressesSave, skipRender]",[1206,1240],"[props, props.defaultUserBillingAccounts, skipRender]",[795,814],"[props, props.returnOrder, skipRender]",[856,858],[1343,1363],"[props, props.userCardList, skipFirst]",[1548,1567],"[props, props.addUserCard, skipFirst]",[1150,1173],"[props, props.defaultUserCard, skipRender]",[2717,2719],[3722,3736],"[country.id, currentState]",[4814,4843]]
Back to Directory
File Manager