{"version":3,"sources":["shared/Environment.js","services/CategoriesService.js","services/AuthService.js","services/ProductsServices.js","redux/actions/actionTypes.js","redux/actions/cartAction.js","services/CartService.js","redux/actions/loginAction.js","layouts/logo.png","layouts/banner-menu.png","layouts/cartModal.js","services/AddressService.js","layouts/payment.jpg","components/mobilemenu/index.js","layouts/withoutAuth.js","assets/images/slider1.jpg","assets/images/slider2.jpg","assets/images/slider3.jpg","assets/images/mob-01.jpg","assets/images/mob-02.jpg","assets/images/mob-03.jpg","components/home/carousel.js","components/home/productsCarousel.js","components/home/bestSellingProducts.js","components/home/comboList.js","components/home/categoriesFeatured.js","components/home/staticArea.js","components/home/staticAreaOrganic.js","components/home/testiMonial.js","components/home/aboutProductStatic.js","components/home/certificates.js","components/home/appBanner.js","components/home/offer-07.jpg","components/home/index.js","components/listProducts/index.js","components/product/relatedProduct.js","components/product/index.js","components/cart/index.js","redux/actions/addressAction.js","components/common/toasts/index.js","components/checkout/emptycart.png","components/checkout/warning.png","components/checkout/payments.jpg","components/checkout/index.js","components/account/orders/index.js","components/account/orders/orderDetail.js","components/auth/login/index.js","components/auth/register/index.js","components/auth/verifyUser/index.js","components/checkout/orderSuccess/index.js","components/checkout/orderSuccess/static-icons-1.png","services/BlogService.js","components/blog/index.js","components/blog/blogDetails.js","components/blog/categoryBlog.js","components/contactus/index.js","components/privacy-policy/index.js","assets/images/about.png","assets/images/lokesh.png","assets/images/sridar.png","components/about-us/index.js","components/terms/index.js","components/cancellation/index.js","components/feedback/index.js","components/account/orders/tickgreen.png","components/account/orders/paymentSuccess.js","components/account/changePassword/index.js","components/account/manageAddress/index.js","components/auth/forgotPassword/index.js","components/common/ScrollToTop.js","components/farmers/index.js","App.js","reportWebVitals.js","redux/reducers/index.js","redux/reducers/cartReducer.js","redux/reducers/addressReducer.js","redux/reducers/loginReducer.js","index.js","redux/configureStore.js"],"names":["Environment","baseURL","image_url","CategoriesService","this","fetch","bind","token","getToken","tokenExpiry","getTokenExpiry","isTokenExpired","method","then","res","Promise","resolve","id","Expiry","err","idToken","localStorage","setItem","getItem","idTokenExpiry","removeItem","url","options","headers","loggedIn","crossDomain","processResponse","response","data","catch","status","window","location","href","reject","func","json","AuthService","fetchWithoutToken","getData","finalData","JSON","stringify","body","setToken","setUserDetails","loginUser","parse","flexstudioURL","authURL","userDetails","ProductsService","locationId","catId","getId","getText","LOAD_CART_SUCCESS","ADD_TO_CART_SUCCESS","UPDATE_ITEM_CART_SUCCESS","LOAD_ADDRESS_SUCCESS","ADD_ADDRESS_SUCCESS","REMOVE_ADDRESS_SUCCESS","UPDATE_ADDRESS_SUCCESS","LOAD_LOGINUSER_SUCCESS","LOGOUT_LOGINUSER_SUCCESS","SEND_LOGINUSER_SUCCESS","cartItemsAPI","cartItems","getProductDetails","enteredQuantity","getExistingCartItems","getExistingCartItemsArray","quantity","subTotalAmount","parseInt","selling_price","subTotal","toString","push","filter","item","unit_type_id","forEach","cartItemsExists","loadCartItemsSuccess","cartitems","type","types","loadCartItems","dispatch","getAllCartItems","error","addItemtoCart","addNewItemtoCart","cartitem","increaseCartItemQuantity","updateQuantityToCartItem","decreaseCartItemQuantity","removeItemFromCart","removeItemFromCartService","authAPI","logoutCurrentUser","logoutUser","userId","logoutUserSuccess","mapDispatchToProps","cartAction","connect","state","withRouter","props","useState","imagePath","useEffect","result","console","log","Modal","show","showCartModalP","onHide","setShowCartModalP","className","fixedHeader","scrollable","Header","closeButton","Title","Body","length","map","index","src","image_1","onClick","icon","faTimes","to","product_name","net_weight","unit_type","Footer","reduce","sum","i","Button","history","disabled","AddressService","App","useHistory","setExpanded","categoryApiCall","productApiCall","ProductsServices","allCategoriesmenu","setAllCategoriesmenu","selectedProductSearch","setSelectedProductSearch","isLoadingProductSearch","setIsLoadingProductSearch","productsOptions","setProductsOptions","getAllMainCategories","$","size","windowSize","document","width","removeClass","keyup","e","keyCode","each","on","toggleClass","hasClass","prepend","preventDefault","next","addClass","parent","ready","resize","jQuery","cat","category_name","eventKey","InputGroup","isLoading","minLength","labelKey","onChange","placeholder","selected","style","input","getFilteredProducts","Prepend","Text","faSearch","getLoginUser","getLoginDetails","loggedinUser","loginAction","children","setFixedHeader","expanded","showCategoriesDropdown","setShowCategoriesDropdown","setMenuhide","handleScrollApp","scrollY","handleResize","innerWidth","addEventListener","CustomToggle","React","forwardRef","ref","faChevronDown","CustomMenu","labeledBy","value","aria-labelledby","Children","toArray","child","toLowerCase","startsWith","Dropdown","Toggle","as","Menu","Item","Link","Navbar","collapseOnSelect","expand","Brand","BrandLogo","Nav","faShoppingBag","aria-controls","Collapse","NavDropdown","title","onMouseEnter","onMouseLeave","Container","Col","sm","marginTop","BrandLogoMenu","product_code","fluid","Row","alt","xs","target","faFacebook","faInstagram","faTwitterSquare","faYoutube","HomeCarousel","Carousel","controls","indicators","Slide1","Caption","animationIn","animationOut","isVisible","animationInDuration","animationOutDuration","Slide2","Slide3","mobile1","top","mobile2","mobile3","textAlign","marginBottom","display","flexDirection","padding","fontWeight","productsApiCall","allProducts","setAllProducts","setEnteredQuantity","getRecentProducts","productDetails","newProductDetails","p","selectedProductUnit","product_pricings","addtoCart","proDetails","imageData","product_images","sendItem","brand","category","name","gst","sub_category","ProductPrice","unit_price","pro","productExistsInCart","some","productInCart","find","productImages","md","lg","xl","Card","Img","variant","Form","Control","defaultValue","priceObject","x","pri","sold_out","getCartItem","thisQuantity","decreaseQuantity","FormControl","increaseQuantity","getBestSellingProducts","ComboList","setAllCategories","allCombos","setAllCombos","getComboProducts","ImgOverlay","background","product_count","FeaturedCategories","allCategories","getRecentCategories","image_path","StaticArea","marginLeft","StaticAreaOrganic","marginRight","TestiMonial","showArrows","infiniteLoop","showThumbs","showStatus","autoPlay","interval","class","frameborder","allow","allowfullscreen","backgroundColor","color","AboutFormer","margin","Certificate","data-value","AppBanner","minHeight","borderRadius","height","alignItems","justifyContent","lineHeight","Home","params","match","allProductsTemp","setAllProductsTemp","selectedProductId","allSubCategories","setAllSubCategories","showLoader","setShowLoader","checkedCategories","setCheckedCategories","loadBannerImage","setLoadBannerImage","loadMobileBannerImage","setLoadMobileBannerImage","setLoadBannerText","setLoadCategoryText","showAnimate","setShowAnimate","all","getRecentProductsByCat","getSubcatByCat","subCategories","banner_image_path","description","mobile_image_path","backgroundImage","cm","subcat","Check","custom","label","sub_category_name","checked","ch","s","checkedBoxes","findIndex","splice","myArrayFiltered","el","f","handleCheckboxCat","responsive","desktop","breakpoint","max","min","items","paritialVisibilityGutter","tablet","mobile","RelatedProducts","deviceType","categoryId","productId","getRelatedProducts","ssr","partialVisbile","itemClass","slice","maxHeight","Image","selectedProduct","setSelectedProduct","setProductImages","setSelectedProductUnit","activeTab","setActiveTab","LoadItemQuantity","selectedProductGet","thisProduct","selectedthisProductUnit","thisProductUnit","selectedPriceObject","changeTab","getVal","getProductsById","health_benefits","Helmet","charSet","rel","content","prod_description","dynamicHeight","showIndicators","pimg","product_type","combos","d","unit_type_name","discounted_price","descriptions","category_id","removeFromCart","TotalAmount","totalAmount","car","parseFloat","toFixed","Table","striped","bordered","hover","faMinus","faPlus","colspan","colSpan","addressAPI","loadUserAddresses","getUserAddress","userAddresses","loadUserAddressesSuccess","addNewAddress","getNewAddress","userAddress","address","user_id","deleted_at","created_at","updated_at","newUserAddressSuccess","deleteUserAddresses","deleteUserAddress","addressId","ToastCom","Toast","onClose","setShowToast","showToast","delay","autohide","position","right","toastType","toastMessage","msg","emptyCartItems","emptyItemsFromCart","addressAction","authApiCall","addressApiCall","products","delivery_charges","order_status","order_amount","payment_status","modeOfPayment","DeliveryType","delivery_address","orderDetails","setOrderDetails","setShowNewAddressModal","areaCodeDetail","setareaCodeDetail","street","city","area_name","landmark","pincode","otp","newAddressForm","setNewAddressForm","showOtpVerificationModal","setShowOtpVerificationModal","deliveryPincodes","setDeliveryPincodes","pincodeChange","showPincodeError","setShowPincodeError","setSubTotal","deliveryCharges","setDeliveryCharges","discountAmount","setDiscountAmount","taxAmount","setTaxAmount","isOrderPlaced","setIsOrderPlaced","setLoggedinUserDetails","buttonLoader","setButtonLoader","couponCode","setCouponCode","setAllCity","terms","setTerms","getMyCityAll","getDeliveryPincodes","pincodes","handleCloseOTPModal","handleNewAddressForm","handleOtpForm","selectPaymentType","selectDeliveryType","express_charge","normal_charge","completeOrder","toast","warn","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","progress","undefined","sendData","finalAmount","orderId","order","checkoutData","amount","order_id","checkoutOrder","checkoutDataRes","key","currency","reference_id","image","handler","a","updateOrderData","razorpay_signature","razorpay_payment_id","updateOrderStatus","dataRes","prefill","email","contact","notes","note_key_1","theme","rzp1","Razorpay","open","clear","sendOtp","success","handleShowOTPModal","SubTotal","TaxTotal","totalTaxtAmount","tax","avgDiscountPerProduct","roundoff","Math","round","Accordion","defaultActiveKey","faEdit","selectedAddress","selectedPincode","editAddress","selectAddress","onSubmit","required","rows","pincodeValidation","city_id","distance","fontSize","htmlFor","paymentIcon","float","event","tem","discount_code","d_code","mobile_number","getOfferCodeDetails","Group","controlId","currentTarget","WarningImage","EmptyCartImage","backdrop","keyboard","verifyOtp","loggedinUserDetails","setTimeout","Label","resendOtp","MyOrders","myOrders","setMyOrders","modalShowCancelOrder","setModalShowCancelOrder","selectedOrder","setSelectedOrder","MyVerticallyCenteredModal","centered","cancelOrder","reload","getMyOrdereAll","getMyOrders","reverse","product_details","moment","format","sub_total","borderBottom","getOrderDetails","retryPayment","retryResponse","OrderDetail","selectedOrderDetails","setSelectedOrderDetails","ProductDetails","getMyOrderById","getMyOrder","login","loadLoggedinUserSuccess","password","loginData","setLoginData","handleFormInput","Register","registerData","setRegisterData","registerUser","user","VerifyOtp","verifyUserData","setverifyUserData","verifyUserOTP","Status","OrderNotify","BlogService","Blog","blogApiCall","recentBlogs","setRecentBlogs","blogsCategories","setBlogsCategories","getBlogCategories","getRecentBlogs","blogCategories","recentsBlogs","paddingTop","paddingBottom","blog","blog_url","faUserCircle","shordescription","BlogDetails","selectedBlog","setSelectedBlog","tags","setTags","getBlogById","selectedBlogRes","post","split","Parser","faLinkedin","faWhatsapp","CategoryBlog","getRecentBlogsById","ContactUs","contactForm","setContactForm","setToastType","setToastMessage","faPhone","faGlobe","faMapMarker","submitEnquiry","PrivacyPolicy","About","aboutImg","SridarImg","LokeshImg","Terms","CancellationPolicy","FeedBack","submitFeedback","PaymentSuccess","PaumentSuccess","old_password","new_password","confirm_password","changePasswordData","setChangePasswordData","changePassword","getAddressById","getAddressDetails","getAddressByIdSuccess","updateUserAddress","updateSelectedUserAddress","updateUserAddressSuccess","showNewAddressModal","setPincodeChange","isEditAddress","setIsEditAddress","handleCloseAddressModal","handleShowAddressModal","setPincodeSelected","pin","muted","ForgotPassword","showResetForm","setShowResetForm","password_otp","resetPasswordForm","setResetPasswordForm","handleFormInputReset","resetUserPassword","verifyUserOTPEmail","ScrollToTop","pathname","useLocation","scrollTo","Formers","searchForm","setSearcForm","setResults","searchFormerDetails","product_image","age","year_of_forming","farming_area","crop_cultivated","type_of_proccessing","district","replace","WithoutAuthContainer","exact","path","component","Products","Product","Cart","Checkout","ChangePassword","Login","ManageAddress","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","rootReducer","combineReducers","action","store","initialState","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","applyMiddleware","thunk","reduxImmutableStateVariant","configureStore","ReactDOM","render","getElementById"],"mappings":"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","file":"static/js/main.28682dc9.chunk.js","sourcesContent":["const Environment = {\r\n baseURL: \"https://5elements-api.fiveelementorganic.com/api\",\r\n image_url: \"https://5elements-api.fiveelementorganic.com/public/images/previewImages/\",\r\n};\r\nexport default Environment;\r\n","import Environment from \"../shared/Environment\";\r\n\r\nexport default class CategoriesService {\r\n constructor() {\r\n this.baseURL = Environment.baseURL;\r\n this.fetch = this.fetch.bind(this);\r\n }\r\n\r\n loggedIn() {\r\n // Checks if there is a saved token and it's still valid\r\n const token = this.getToken();\r\n const tokenExpiry = this.getTokenExpiry();\r\n return !!token && !this.isTokenExpired(tokenExpiry); // handwaiving here\r\n }\r\n\r\n getRecentCategories() {\r\n return this.fetch(`${this.baseURL}/recent-category-list`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getAllMainCategories() {\r\n return this.fetch(`${this.baseURL}/category-list`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getSubcatByCat(id) {\r\n return this.fetch(`${this.baseURL}/sub-category-list/${id}`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n isTokenExpired(Expiry) {\r\n try {\r\n const tokenExpiry = Expiry;\r\n return false;\r\n // if (tokenExpiry < Date.now() / 1000) {\r\n // return true;\r\n // } else return false;\r\n } catch (err) {\r\n return false;\r\n }\r\n }\r\n\r\n setToken(idToken) {\r\n // Saves user token to localStorage\r\n localStorage.setItem(\"loginToken\", idToken);\r\n // localStorage.setItem(\"org_id\", orgId);\r\n }\r\n\r\n getToken() {\r\n // Retrieves the user token from localStorage\r\n return localStorage.getItem(\"loginToken\");\r\n }\r\n\r\n setTokenExpiry(idTokenExpiry) {\r\n // Saves user token to localStorage\r\n localStorage.setItem(\"loginTokenExpiry\", idTokenExpiry);\r\n }\r\n\r\n getTokenExpiry() {\r\n // Retrieves the user token from localStorage\r\n return localStorage.getItem(\"loginTokenExpiry\");\r\n }\r\n\r\n logout() {\r\n // Clear user token and profile data from localStorage\r\n localStorage.removeItem(\"loginToken\");\r\n localStorage.removeItem(\"loginTokenExpiry\");\r\n }\r\n\r\n getProfile() {\r\n return this.getToken();\r\n }\r\n\r\n fetch(url, options) {\r\n // performs api calls sending the required authentication headers\r\n const headers = {};\r\n\r\n if (this.loggedIn()) {\r\n headers[\"Content-Type\"] = \"application/json\";\r\n headers[\"Authorization\"] = \"Bearer \" + this.getToken();\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n } else {\r\n headers[\"Content-Type\"] = \"application/json\";\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n }\r\n\r\n return fetch(url, {\r\n headers,\r\n crossDomain: true,\r\n ...options,\r\n })\r\n .then(this.processResponse)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((response) => {\r\n if (response.status === 400) {\r\n throw response;\r\n } else if (response.status === 403) {\r\n throw response;\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n }\r\n });\r\n }\r\n\r\n fetchWithoutToken(url, options) {\r\n // performs api calls sending the required authentication headers\r\n const headers = {};\r\n\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n headers[\"Content-Type\"] = \"application/json\";\r\n\r\n return fetch(url, {\r\n headers,\r\n crossDomain: true,\r\n ...options,\r\n })\r\n .then(this.processResponse)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((response) => {\r\n if (response.status === 400) {\r\n throw response;\r\n } else if (response.status === 403) {\r\n throw response;\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n }\r\n });\r\n }\r\n\r\n processResponse(response) {\r\n return new Promise((resolve, reject) => {\r\n // will resolve or reject depending on status, will pass both \"status\" and \"data\" in either case\r\n let func;\r\n response.status < 400 ? (func = resolve) : (func = reject);\r\n if (response.status === 204) {\r\n response.then((data) =>\r\n func({ status: response.status, data: { status: \"success\" } })\r\n );\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n } else if (response.status === 401) {\r\n window.location.href = \"/Unauthorized\";\r\n } else if (response.status === 502) {\r\n window.location.href = \"/ServerError\";\r\n } else {\r\n response\r\n .json()\r\n .then((data) => func({ status: response.status, data: data }));\r\n }\r\n });\r\n }\r\n}\r\n","import Environment from \"../shared/Environment\";\r\n\r\nexport default class AuthService {\r\n constructor() {\r\n this.baseURL = Environment.baseURL;\r\n this.fetch = this.fetch.bind(this);\r\n this.fetchWithoutToken = this.fetchWithoutToken.bind(this);\r\n }\r\n\r\n login(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/user/login`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n this.setToken(res.token);\r\n this.setUserDetails(res);\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getLoginDetails() {\r\n let loginUser = localStorage.getItem(\"loggedinUserDetails\");\r\n return Promise.resolve(JSON.parse(loginUser));\r\n }\r\n\r\n registerUser(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/user/register`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n verifyUserOTP(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/customer/verify-otp`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n resendOtp(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/resend-otp`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n changePassword(getData) {\r\n var finalData = JSON.stringify(getData);\r\n return this.fetch(`${this.baseURL}/user/change-password`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n verifyUserOTPEmail(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/user/forget`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n resetUserPassword(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/user/reset`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n submitFeedback(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/user/feedback`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n submitEnquiry(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/user/contact`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n searchFormerDetails(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/former/byBatch`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n loggedIn() {\r\n // Checks if there is a saved token and it's still valid\r\n const token = this.getToken();\r\n const tokenExpiry = this.getTokenExpiry();\r\n return !!token && !this.isTokenExpired(tokenExpiry); // handwaiving here\r\n }\r\n\r\n LoggedInUserDetails() {\r\n return this.fetch(\r\n `${this.flexstudioURL}/ApplicationUser/GetLoggedInUserDetails`,\r\n {\r\n method: \"GET\",\r\n }\r\n ).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n ForgotPassword(getData) {\r\n var finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/Login/ForgotPassword`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n VerifyOTP(getData) {\r\n var finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/Login/VerifyOTP`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n\r\n ResetPassword(getData) {\r\n var finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.baseURL}/Login/ResetPassword`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n checkLockout(getData) {\r\n var finalData = JSON.stringify(getData);\r\n return this.fetchWithoutToken(`${this.authURL}/AuthAPI/Lockout`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n isTokenExpired(Expiry) {\r\n try {\r\n const tokenExpiry = Expiry;\r\n return false;\r\n // if (tokenExpiry < Date.now() / 1000) {\r\n // return true;\r\n // } else return false;\r\n } catch (err) {\r\n return false;\r\n }\r\n }\r\n\r\n setToken(idToken) {\r\n // Saves user token to localStorage\r\n localStorage.setItem(\"loginToken\", idToken);\r\n // localStorage.setItem(\"org_id\", orgId);\r\n }\r\n\r\n setUserDetails(userDetails) {\r\n // Saves user token to localStorage\r\n localStorage.setItem(\"loggedinUserDetails\", JSON.stringify(userDetails));\r\n // localStorage.setItem(\"org_id\", orgId);\r\n }\r\n\r\n getToken() {\r\n // Retrieves the user token from localStorage\r\n return localStorage.getItem(\"loginToken\");\r\n }\r\n\r\n setTokenExpiry(idTokenExpiry) {\r\n // Saves user token to localStorage\r\n localStorage.setItem(\"loginTokenExpiry\", idTokenExpiry);\r\n }\r\n\r\n getTokenExpiry() {\r\n // Retrieves the user token from localStorage\r\n return localStorage.getItem(\"loginTokenExpiry\");\r\n }\r\n\r\n logout() {\r\n // Clear user token and profile data from localStorage\r\n localStorage.removeItem(\"loginToken\");\r\n localStorage.removeItem(\"loginTokenExpiry\");\r\n localStorage.removeItem(\"loggedinUserDetails\");\r\n }\r\n\r\n logoutUser() {\r\n localStorage.removeItem(\"loginToken\");\r\n localStorage.removeItem(\"loginTokenExpiry\");\r\n localStorage.removeItem(\"loggedinUserDetails\");\r\n return Promise.resolve();\r\n }\r\n\r\n getProfile() {\r\n return this.getToken();\r\n }\r\n\r\n fetch(url, options) {\r\n // performs api calls sending the required authentication headers\r\n const headers = {};\r\n\r\n if (this.loggedIn()) {\r\n headers[\"Authorization\"] = \"Bearer \" + this.getToken();\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n headers[\"Content-Type\"] = \"application/json\";\r\n } else {\r\n headers[\"Content-Type\"] = \"application/x-www-form-urlencoded\";\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n }\r\n\r\n return fetch(url, {\r\n headers,\r\n crossDomain: true,\r\n ...options,\r\n })\r\n .then(this.processResponse)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((response) => {\r\n if (response.status === 400) {\r\n throw response;\r\n } else if (response.status === 403) {\r\n throw response;\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n }\r\n });\r\n }\r\n\r\n fetchWithoutToken(url, options) {\r\n // performs api calls sending the required authentication headers\r\n const headers = {};\r\n\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n headers[\"Content-Type\"] = \"application/json\";\r\n\r\n return fetch(url, {\r\n headers,\r\n crossDomain: true,\r\n ...options,\r\n })\r\n .then(this.processResponse)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((response) => {\r\n if (response.status === 400) {\r\n throw response;\r\n } else if (response.status === 403) {\r\n throw response;\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n }\r\n });\r\n }\r\n\r\n processResponse(response) {\r\n return new Promise((resolve, reject) => {\r\n // will resolve or reject depending on status, will pass both \"status\" and \"data\" in either case\r\n let func;\r\n response.status < 400 ? (func = resolve) : (func = reject);\r\n if (response.status === 204) {\r\n response.then((data) =>\r\n func({ status: response.status, data: { status: \"success\" } })\r\n );\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n } else if (response.status === 401) {\r\n window.location.href = \"/Unauthorized\";\r\n } else if (response.status === 502) {\r\n window.location.href = \"/ServerError\";\r\n } else {\r\n response\r\n .json()\r\n .then((data) => func({ status: response.status, data: data }));\r\n }\r\n });\r\n }\r\n}\r\n","import Environment from \"../shared/Environment\";\r\n\r\nexport default class ProductsService {\r\n constructor() {\r\n this.baseURL = Environment.baseURL;\r\n this.fetch = this.fetch.bind(this);\r\n }\r\n\r\n loggedIn() {\r\n // Checks if there is a saved token and it's still valid\r\n const token = this.getToken();\r\n const tokenExpiry = this.getTokenExpiry();\r\n return !!token && !this.isTokenExpired(tokenExpiry); // handwaiving here\r\n }\r\n\r\n getRecentProducts(locationId) {\r\n return this.fetch(`${this.baseURL}/recent-product-list/${locationId}`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getRelatedProducts(data) {\r\n let finalData = JSON.stringify(data);\r\n return this.fetch(`${this.baseURL}/related-product`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getBestSellingProducts(locationId) {\r\n return this.fetch(`${this.baseURL}/recent-bestselling-list/${locationId}`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n getComboProducts(locationId) {\r\n return this.fetch(`${this.baseURL}/recent-combos-list/1`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n getRecentProductsByCat(catId) {\r\n return this.fetch(`${this.baseURL}/product-list/${catId}`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getProductsById(getId) {\r\n return this.fetch(`${this.baseURL}/product/${getId}`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getFilteredProducts(getText) {\r\n return this.fetch(`${this.baseURL}/productbyname/${getText}`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n isTokenExpired(Expiry) {\r\n try {\r\n const tokenExpiry = Expiry;\r\n return false;\r\n // if (tokenExpiry < Date.now() / 1000) {\r\n // return true;\r\n // } else return false;\r\n } catch (err) {\r\n return false;\r\n }\r\n }\r\n\r\n setToken(idToken) {\r\n // Saves user token to localStorage\r\n localStorage.setItem(\"loginToken\", idToken);\r\n // localStorage.setItem(\"org_id\", orgId);\r\n }\r\n\r\n getToken() {\r\n // Retrieves the user token from localStorage\r\n return localStorage.getItem(\"loginToken\");\r\n }\r\n\r\n setTokenExpiry(idTokenExpiry) {\r\n // Saves user token to localStorage\r\n localStorage.setItem(\"loginTokenExpiry\", idTokenExpiry);\r\n }\r\n\r\n getTokenExpiry() {\r\n // Retrieves the user token from localStorage\r\n return localStorage.getItem(\"loginTokenExpiry\");\r\n }\r\n\r\n logout() {\r\n // Clear user token and profile data from localStorage\r\n localStorage.removeItem(\"loginToken\");\r\n localStorage.removeItem(\"loginTokenExpiry\");\r\n }\r\n\r\n getProfile() {\r\n return this.getToken();\r\n }\r\n\r\n fetch(url, options) {\r\n // performs api calls sending the required authentication headers\r\n const headers = {};\r\n\r\n if (this.loggedIn()) {\r\n headers[\"Content-Type\"] = \"application/json\";\r\n headers[\"Authorization\"] = \"Bearer \" + this.getToken();\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n } else {\r\n headers[\"Content-Type\"] = \"application/json\";\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n }\r\n\r\n return fetch(url, {\r\n headers,\r\n crossDomain: true,\r\n ...options,\r\n })\r\n .then(this.processResponse)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((response) => {\r\n if (response.status === 400) {\r\n throw response;\r\n } else if (response.status === 403) {\r\n throw response;\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n }\r\n });\r\n }\r\n\r\n fetchWithoutToken(url, options) {\r\n // performs api calls sending the required authentication headers\r\n const headers = {};\r\n\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n headers[\"Content-Type\"] = \"application/json\";\r\n\r\n return fetch(url, {\r\n headers,\r\n crossDomain: true,\r\n ...options,\r\n })\r\n .then(this.processResponse)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((response) => {\r\n if (response.status === 400) {\r\n throw response;\r\n } else if (response.status === 403) {\r\n throw response;\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n }\r\n });\r\n }\r\n\r\n processResponse(response) {\r\n return new Promise((resolve, reject) => {\r\n // will resolve or reject depending on status, will pass both \"status\" and \"data\" in either case\r\n let func;\r\n response.status < 400 ? (func = resolve) : (func = reject);\r\n if (response.status === 204) {\r\n response.then((data) =>\r\n func({ status: response.status, data: { status: \"success\" } })\r\n );\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n } else if (response.status === 401) {\r\n window.location.href = \"/Unauthorized\";\r\n } else if (response.status === 502) {\r\n window.location.href = \"/ServerError\";\r\n } else {\r\n response\r\n .json()\r\n .then((data) => func({ status: response.status, data: data }));\r\n }\r\n });\r\n }\r\n}\r\n","export const LOAD_CART_SUCCESS = \"LOAD_CART_SUCCESS\";\r\nexport const ADD_TO_CART_SUCCESS = \"ADD_TO_CART_SUCCESS\";\r\nexport const REMOVE_FROM_CART_SUCCESS = \"REMOVE_FROM_CART_SUCCESS\";\r\nexport const UPDATE_ITEM_CART_SUCCESS = \"UPDATE_ITEM_CART_SUCCESS\";\r\nexport const EMPTY_CART_SUCCESS = \"EMPTY_CART_SUCCESS\";\r\n\r\nexport const LOAD_ADDRESS_SUCCESS = \"LOAD_ADDRESS_SUCCESS\";\r\nexport const ADD_ADDRESS_SUCCESS = \"ADD_ADDRESS_SUCCESS\";\r\nexport const REMOVE_ADDRESS_SUCCESS = \"REMOVE_ADDRESS_SUCCESS\";\r\nexport const GET_ADDRESS_BY_ID_SUCCESS = \"GET_ADDRESS_BY_ID_SUCCESS\";\r\nexport const UPDATE_ADDRESS_SUCCESS = \"UPDATE_ADDRESS_SUCCESS\";\r\n\r\nexport const LOAD_LOGINUSER_SUCCESS = \"LOAD_LOGINUSER_SUCCESS\";\r\nexport const LOGOUT_LOGINUSER_SUCCESS = \"LOGOUT_LOGINUSER_SUCCESS\";\r\nexport const SEND_LOGINUSER_SUCCESS = \"SEND_LOGINUSER_SUCCESS\";\r\n","import * as types from \"./actionTypes\";\r\nimport CartService from \"../../services/CartService\";\r\n\r\nconst cartItemsAPI = new CartService();\r\n\r\nexport function loadCartItemsSuccess(cartitems) {\r\n return { type: types.LOAD_CART_SUCCESS, cartitems };\r\n}\r\n\r\nexport function addtoCartItemSuccess(cartitem) {\r\n return { type: types.ADD_TO_CART_SUCCESS, cartitem };\r\n}\r\n\r\nexport function updateCartItemSuccess(cartitem) {\r\n return { type: types.UPDATE_ITEM_CART_SUCCESS, cartitem };\r\n}\r\n\r\nexport function loadCartItems() {\r\n return function (dispatch) {\r\n return cartItemsAPI\r\n .getAllCartItems()\r\n .then((cartitems) => {\r\n dispatch(loadCartItemsSuccess(cartitems));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n\r\nexport function addItemtoCart(getProductDetails, enteredQuantity) {\r\n return function (dispatch) {\r\n return cartItemsAPI\r\n .addNewItemtoCart(getProductDetails, enteredQuantity)\r\n .then((response) => {\r\n dispatch(addtoCartItemSuccess(response));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n\r\nexport function increaseCartItemQuantity(getProductDetails, enteredQuantity) {\r\n return function (dispatch) {\r\n return cartItemsAPI\r\n .updateQuantityToCartItem(getProductDetails, enteredQuantity)\r\n .then((cartitems) => {\r\n dispatch(loadCartItemsSuccess(cartitems));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n\r\nexport function decreaseCartItemQuantity(getProductDetails, enteredQuantity) {\r\n return function (dispatch) {\r\n return cartItemsAPI\r\n .updateQuantityToCartItem(getProductDetails, enteredQuantity)\r\n .then((cartitems) => {\r\n dispatch(loadCartItemsSuccess(cartitems));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n\r\nexport function removeItemFromCart(getItem) {\r\n return function (dispatch) {\r\n return cartItemsAPI\r\n .removeItemFromCartService(getItem)\r\n .then((cartitems) => {\r\n dispatch(loadCartItemsSuccess(cartitems));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n\r\nexport function emptyCartItems() {\r\n return function (dispatch) {\r\n return cartItemsAPI\r\n .emptyItemsFromCart()\r\n .then((cartitems) => {\r\n dispatch(loadCartItemsSuccess(cartitems));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n","export default class CartService {\r\n constructor() {}\r\n\r\n getAllCartItems() {\r\n let cartItems = localStorage.getItem(\"cartItems\");\r\n // return cartItems ? JSON.parse(cartItems) : [];\r\n return Promise.resolve(cartItems ? JSON.parse(cartItems) : []);\r\n }\r\n\r\n addNewItemtoCart(getProductDetails, enteredQuantity) {\r\n let getExistingCartItems = localStorage.getItem(\"cartItems\");\r\n let getExistingCartItemsArray = getExistingCartItems\r\n ? JSON.parse(getExistingCartItems)\r\n : [];\r\n getProductDetails.quantity = enteredQuantity;\r\n let subTotalAmount =\r\n parseInt(enteredQuantity) * getProductDetails.selling_price;\r\n getProductDetails.subTotal = subTotalAmount.toString();\r\n getExistingCartItemsArray.push(getProductDetails);\r\n getExistingCartItemsArray = JSON.stringify(getExistingCartItemsArray);\r\n localStorage.setItem(\"cartItems\", getExistingCartItemsArray);\r\n return Promise.resolve(getProductDetails);\r\n }\r\n\r\n updateQuantityToCartItem(getProductDetails, enteredQuantity) {\r\n let getExistingCartItems = localStorage.getItem(\"cartItems\");\r\n let getExistingCartItemsArray = getExistingCartItems\r\n ? JSON.parse(getExistingCartItems)\r\n : [];\r\n // let newObject = getExistingCartItemsArray.map((item) => {\r\n // if (item.id == getProductDetails.id) {\r\n // return (item.quantity = enteredQuantity);\r\n // }\r\n // });\r\n\r\n if (enteredQuantity == 0) {\r\n getExistingCartItemsArray = getExistingCartItemsArray.filter(\r\n (item) =>\r\n item.id !== getProductDetails.id &&\r\n item.unit_type_id != getProductDetails.unit_type_id\r\n );\r\n } else {\r\n getExistingCartItemsArray.forEach(function (item) {\r\n if (\r\n item.id == getProductDetails.id &&\r\n item.unit_type_id == getProductDetails.unit_type_id\r\n ) {\r\n item.quantity = enteredQuantity;\r\n let subTotalAmount = parseInt(enteredQuantity) * item.selling_price;\r\n item.subTotal = subTotalAmount.toString();\r\n }\r\n });\r\n }\r\n\r\n getExistingCartItemsArray = JSON.stringify(getExistingCartItemsArray);\r\n localStorage.setItem(\"cartItems\", getExistingCartItemsArray);\r\n let cartItems = localStorage.getItem(\"cartItems\");\r\n return Promise.resolve(JSON.parse(cartItems));\r\n }\r\n\r\n removeItemFromCartService(getItem) {\r\n let getExistingCartItems = localStorage.getItem(\"cartItems\");\r\n let getExistingCartItemsArray = getExistingCartItems\r\n ? JSON.parse(getExistingCartItems)\r\n : [];\r\n\r\n getExistingCartItemsArray = getExistingCartItemsArray.filter((item) => {\r\n if (item.unit_type_id != getItem.unit_type_id && item.id != getItem.id) {\r\n return item;\r\n }\r\n // return item.id == getItem.id && item.unit_type_id != getItem.unit_type_id;\r\n });\r\n\r\n getExistingCartItemsArray = JSON.stringify(getExistingCartItemsArray);\r\n localStorage.setItem(\"cartItems\", getExistingCartItemsArray);\r\n let cartItems = localStorage.getItem(\"cartItems\");\r\n return Promise.resolve(JSON.parse(cartItems));\r\n }\r\n\r\n emptyItemsFromCart() {\r\n let cartItems = [];\r\n let getExistingCartItemsArray = JSON.stringify(cartItems);\r\n localStorage.setItem(\"cartItems\", getExistingCartItemsArray);\r\n let cartItemsExists = localStorage.getItem(\"cartItems\");\r\n return Promise.resolve(JSON.parse(cartItemsExists));\r\n }\r\n}\r\n","import * as types from \"./actionTypes\";\r\nimport AuthService from \"../../services/AuthService\";\r\n\r\nconst authAPI = new AuthService();\r\n\r\nexport function loadLoggedinUserSuccess(loggedinUser) {\r\n return { type: types.LOAD_LOGINUSER_SUCCESS, loggedinUser };\r\n}\r\n\r\nexport function getLoggedinUserSuccess(loggedinUser) {\r\n return { type: types.SEND_LOGINUSER_SUCCESS, loggedinUser };\r\n}\r\n\r\nexport function logoutUserSuccess(userId) {\r\n return { type: types.LOGOUT_LOGINUSER_SUCCESS, userId };\r\n}\r\n\r\nexport function loginUser(getData) {\r\n return function (dispatch) {\r\n return authAPI\r\n .login(getData)\r\n .then((loggedinUser) => {\r\n dispatch(loadLoggedinUserSuccess(loggedinUser));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n\r\nexport function getLoginUser() {\r\n let userId = 0;\r\n return function (dispatch) {\r\n return authAPI\r\n .getLoginDetails()\r\n .then((response) => {\r\n return dispatch(getLoggedinUserSuccess(response));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n\r\nexport function logoutCurrentUser() {\r\n let userId = 0;\r\n return function (dispatch) {\r\n return authAPI\r\n .logoutUser()\r\n .then(() => {\r\n return dispatch(logoutUserSuccess(userId));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n","export default __webpack_public_path__ + \"static/media/logo.095e7d46.png\";","export default __webpack_public_path__ + \"static/media/banner-menu.45bbcfc5.png\";","import React, { useState, useEffect } from \"react\";\r\nimport { Modal, Button, FormControl } from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faTimes, faPlus, faMinus } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as cartAction from \"../redux/actions/cartAction\";\r\nimport Environment from \"../shared/Environment\";\r\nimport \"../shared/styles/style.css\";\r\nimport \"./cartModal.css\";\r\n\r\nfunction CartModal(props) {\r\n const handleCloseCartModal = () => props.setShowCartModalP(false);\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n\r\n useEffect(() => {\r\n props\r\n .loadCartItems()\r\n .then((result) => {})\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }, []);\r\n\r\n const decreaseQuantity = (getCartItem) => {\r\n console.log(getCartItem);\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) - 1;\r\n props\r\n .decreaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n // setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n const increaseQuantity = (getCartItem) => {\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) + 1;\r\n props\r\n .increaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n // setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n function removeFromCart(getItem) {\r\n props\r\n .removeItemFromCart(getItem)\r\n .then((result) => {})\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n function gotoCheckoutPage() {\r\n props.setShowCartModalP(false);\r\n props.history.push(`/checkout`);\r\n }\r\n\r\n return (\r\n \r\n \r\n My Cart\r\n \r\n \r\n <>\r\n {props.cartitems && props.cartitems.length > 0 ? (\r\n props.cartitems.map((item, index) => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n removeFromCart(item)}>\r\n \r\n \r\n
\r\n
\r\n \r\n {item.product_name}\r\n \r\n

\r\n \r\n {item.net_weight} {item.unit_type} x {item.quantity}\r\n \r\n {/*

*/}\r\n {/*
\r\n
\r\n decreaseQuantity(item)}\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n increaseQuantity(item)}\r\n >\r\n \r\n \r\n
\r\n
*/}\r\n

\r\n \r\n Rs : ₹ {parseInt(item.quantity) * item.selling_price}\r\n \r\n
\r\n
\r\n \r\n );\r\n })\r\n ) : (\r\n
\r\n No items in cart\r\n
\r\n )}\r\n \r\n
\r\n \r\n
\r\n Sub Total : {\"\"} ₹ {\"\"}\r\n {props.cartitems.reduce(\r\n (sum, i) => (sum += parseInt(i.subTotal)),\r\n 0\r\n )}{\" \"}\r\n
\r\n 0 ? false : true\r\n }\r\n >\r\n Proceed to Checkout\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nCartModal.propTypes = {\r\n cartitems: PropTypes.array.isRequired,\r\n loadCartItems: PropTypes.func.isRequired,\r\n removeItemFromCart: PropTypes.func.isRequired,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n cartitems: state.cartitems,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n loadCartItems: cartAction.loadCartItems,\r\n removeItemFromCart: cartAction.removeItemFromCart,\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(withRouter(CartModal));\r\n","import Environment from \"../shared/Environment\";\r\n\r\nexport default class AddressService {\r\n constructor() {\r\n this.baseURL = Environment.baseURL;\r\n this.fetch = this.fetch.bind(this);\r\n this.fetchWithoutToken = this.fetchWithoutToken.bind(this);\r\n }\r\n\r\n addNewAddress(getData) {\r\n return this.fetch(`${this.baseURL}/address/add`, {\r\n method: \"POST\",\r\n body: getData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n sendOtp(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetch(`${this.baseURL}/customer/sendotp`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n resendOtp(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetch(`${this.baseURL}/customer/resendotp`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n pincodeValidation(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetch(`${this.baseURL}/area-code-validate`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n verifyOtp(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetch(`${this.baseURL}/customer/verifyotp`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getMyCityAll() {\r\n return this.fetch(`${this.baseURL}/citylist`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getUserAddress() {\r\n return this.fetch(`${this.baseURL}/address`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n deleteUserAddress(getId) {\r\n return this.fetch(`${this.baseURL}/address`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n updateSelectedUserAddress(getData) {\r\n return this.fetch(`${this.baseURL}/address/update`, {\r\n method: \"POST\",\r\n body: getData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getAddressDetails() {\r\n return Promise.resolve();\r\n }\r\n\r\n getDeliveryPincodes() {\r\n return this.fetch(`${this.baseURL}/area-codes-list`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getOfferCodeDetails(data) {\r\n let finalData = JSON.stringify(data);\r\n return this.fetch(`${this.baseURL}/discount-details`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n completeOrder(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetch(`${this.baseURL}/make-order`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n checkoutOrder(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetch(`${this.baseURL}/order-checkout`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n updateOrderStatus(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetch(`${this.baseURL}/update-payment-status`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getMyOrdereAll() {\r\n return this.fetch(`${this.baseURL}/myorders`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getMyOrderById(getId) {\r\n return this.fetch(`${this.baseURL}/myorder/details/${getId}`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n retryPayment(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetch(`${this.baseURL}/retry-Payment`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n cancelOrder(getData) {\r\n let finalData = JSON.stringify(getData);\r\n return this.fetch(`${this.baseURL}/cancel-order`, {\r\n method: \"POST\",\r\n body: finalData,\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getToken() {\r\n // Retrieves the user token from localStorage\r\n return localStorage.getItem(\"loginToken\");\r\n }\r\n\r\n fetch(url, options) {\r\n // performs api calls sending the required authentication headers\r\n const headers = {};\r\n\r\n headers[\"Authorization\"] = \"Bearer \" + this.getToken();\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n headers[\"Content-Type\"] = \"application/json\";\r\n\r\n return fetch(url, {\r\n headers,\r\n crossDomain: true,\r\n ...options,\r\n })\r\n .then(this.processResponse)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((response) => {\r\n if (response.status === 400) {\r\n throw response;\r\n } else if (response.status === 403) {\r\n throw response;\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n }\r\n });\r\n }\r\n\r\n fetchWithoutToken(url, options) {\r\n // performs api calls sending the required authentication headers\r\n const headers = {};\r\n\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n headers[\"Content-Type\"] = \"application/json\";\r\n\r\n return fetch(url, {\r\n headers,\r\n crossDomain: true,\r\n ...options,\r\n })\r\n .then(this.processResponse)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((response) => {\r\n if (response.status === 400) {\r\n throw response;\r\n } else if (response.status === 403) {\r\n throw response;\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n }\r\n });\r\n }\r\n\r\n processResponse(response) {\r\n return new Promise((resolve, reject) => {\r\n // will resolve or reject depending on status, will pass both \"status\" and \"data\" in either case\r\n let func;\r\n response.status < 400 ? (func = resolve) : (func = reject);\r\n if (response.status === 204) {\r\n response.then((data) =>\r\n func({ status: response.status, data: { status: \"success\" } })\r\n );\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n } else if (response.status === 401) {\r\n window.location.href = \"/Unauthorized\";\r\n } else if (response.status === 502) {\r\n window.location.href = \"/ServerError\";\r\n } else {\r\n response\r\n .json()\r\n .then((data) => func({ status: response.status, data: data }));\r\n }\r\n });\r\n }\r\n}\r\n","export default __webpack_public_path__ + \"static/media/payment.0d6148c7.jpg\";","import React, { useEffect, useState } from \"react\";\r\nimport \"./menu-style.css\";\r\nimport jQuery from \"jquery\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport CategoriesService from \"../../services/CategoriesService\";\r\nimport { faSearch } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { InputGroup } from \"react-bootstrap\";\r\nimport ProductsServices from \"../../services/ProductsServices\";\r\nimport { AsyncTypeahead } from \"react-bootstrap-typeahead\";\r\n\r\nconst App = (props) => {\r\n let history = useHistory();\r\n const [expanded, setExpanded] = useState(false);\r\n const categoryApiCall = new CategoriesService();\r\n const productApiCall = new ProductsServices();\r\n const [allCategoriesmenu, setAllCategoriesmenu] = useState([]);\r\n const [selectedProductSearch, setSelectedProductSearch] = useState([]);\r\n const [isLoadingProductSearch, setIsLoadingProductSearch] = useState(false);\r\n const [productsOptions, setProductsOptions] = useState([]);\r\n\r\n function handleProductSearch(getItem) {\r\n setSelectedProductSearch(getItem);\r\n if (getItem.length > 0) {\r\n history.push(`/product/${getItem[0].id}`);\r\n }\r\n }\r\n\r\n function handleInputChangeProductSearch(getText) {\r\n setIsLoadingProductSearch(true);\r\n\r\n productApiCall\r\n .getFilteredProducts(getText)\r\n .then((res) => {\r\n setProductsOptions(res);\r\n setIsLoadingProductSearch(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n categoryApiCall\r\n .getAllMainCategories()\r\n .then((res) => {\r\n setAllCategoriesmenu(res);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n\r\n (function ($) {\r\n var size;\r\n\r\n // VERIFY WINDOW SIZE\r\n function windowSize() {\r\n size = $(document).width();\r\n if (size >= 991) {\r\n $(\"body\").removeClass(\"open-menu\");\r\n $(\".hamburger-menu .bar\").removeClass(\"animate\");\r\n }\r\n }\r\n\r\n // ESC BUTTON ACTION\r\n $(document).keyup(function (e) {\r\n if (e.keyCode == 27) {\r\n $(\".bar\").removeClass(\"animate\");\r\n $(\"body\").removeClass(\"open-menu\");\r\n $(\r\n \"header .desk-menu .menu-container .menu .menu-item-has-children a ul\"\r\n ).each(function (index) {\r\n $(this).removeClass(\"open-sub\");\r\n });\r\n }\r\n });\r\n\r\n // ANIMATE HAMBURGER MENU\r\n $(\".hamburger-menu\").on(\"click\", function () {\r\n $(\".hamburger-menu .bar\").toggleClass(\"animate\");\r\n if ($(\"body\").hasClass(\"open-menu\")) {\r\n $(\"body\").removeClass(\"open-menu\");\r\n } else {\r\n $(\"body\").toggleClass(\"open-menu\");\r\n }\r\n });\r\n\r\n $(\r\n \"header .desk-menu .menu-container .menu .menu-item-has-children ul\"\r\n ).each(function (index) {\r\n $(this).prepend('
  • Back
  • ');\r\n });\r\n\r\n // RESPONSIVE MENU NAVIGATION\r\n $(\r\n \"header .desk-menu .menu-container .menu .menu-item-has-children > a\"\r\n ).on(\"click\", function (e) {\r\n e.preventDefault();\r\n if (size <= 991) {\r\n $(this).next(\"ul\").addClass(\"open-sub\");\r\n }\r\n });\r\n\r\n // CLICK FUNCTION BACK MENU RESPONSIVE\r\n $(\r\n \"header .desk-menu .menu-container .menu .menu-item-has-children ul .back\"\r\n ).on(\"click\", function (e) {\r\n e.preventDefault();\r\n $(this).parent(\"ul\").removeClass(\"open-sub\");\r\n });\r\n\r\n $(\"body .over-menu\").on(\"click\", function () {\r\n $(\"body\").removeClass(\"open-menu\");\r\n $(\".bar\").removeClass(\"animate\");\r\n });\r\n\r\n $(document).ready(function () {\r\n windowSize();\r\n });\r\n\r\n $(window).resize(function () {\r\n windowSize();\r\n });\r\n })(jQuery);\r\n }, []);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default App;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n Navbar,\r\n Nav,\r\n NavDropdown,\r\n Container,\r\n Row,\r\n Col,\r\n Dropdown,\r\n InputGroup,\r\n FormControl,\r\n} from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faShoppingBag,\r\n faChevronDown,\r\n faSearch,\r\n faLink,\r\n faMapMarker,\r\n faMapMarkerAlt,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n fab,\r\n faTwitterSquare,\r\n faFacebook,\r\n faLinkedin,\r\n faInstagram,\r\n faYoutube,\r\n} from \"@fortawesome/free-brands-svg-icons\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport \"../shared/styles/style.css\";\r\nimport CategoriesService from \"../services/CategoriesService\";\r\nimport AuthService from \"../services/AuthService\";\r\nimport ProductsServices from \"../services/ProductsServices\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as cartAction from \"../redux/actions/cartAction\";\r\nimport * as loginAction from \"../redux/actions/loginAction\";\r\nimport { AsyncTypeahead } from \"react-bootstrap-typeahead\";\r\nimport BrandLogo from \"./logo.png\";\r\nimport BrandLogoMenu from \"./banner-menu.png\";\r\nimport CartModal from \"./cartModal\";\r\nimport PopupCity from \"../components/home/popupCity\";\r\nimport PaymentImage from \"./payment.jpg\";\r\nimport MobileMenu from \"../components/mobilemenu/index\";\r\n\r\nfunction WithoutAuth(props) {\r\n const { children } = props;\r\n const categoryApiCall = new CategoriesService();\r\n const authApiCall = new AuthService();\r\n const productApiCall = new ProductsServices();\r\n\r\n const [fixedHeader, setFixedHeader] = useState(false);\r\n const [allCategoriesmenu, setAllCategoriesmenu] = useState([]);\r\n const [isLoggedin, isSetLoggedin] = useState(false);\r\n const [selectedProductSearch, setSelectedProductSearch] = useState([]);\r\n const [isLoadingProductSearch, setIsLoadingProductSearch] = useState(false);\r\n const [productsOptions, setProductsOptions] = useState([]);\r\n const [expanded, setExpanded] = useState(false);\r\n const [showCategoriesDropdown, setShowCategoriesDropdown] = useState(false);\r\n const [showCartModalP, setShowCartModalP] = useState(false);\r\n const [loadcity, setLoadcity] = useState(0);\r\n const [Menuhide, setMenuhide] = useState(0);\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScrollApp);\r\n props\r\n .loadCartItems()\r\n .then((result) => { })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n\r\n categoryApiCall\r\n .getAllMainCategories()\r\n .then((res) => {\r\n setAllCategoriesmenu(res);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n\r\n props\r\n .getLoginUser()\r\n .then((result) => { })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n window.addEventListener(\"resize\", handleResize);\r\n }, []);\r\n\r\n function logoutUser() {\r\n props\r\n .logoutCurrentUser()\r\n .then((result) => {\r\n props.history.push(\"/user/login\");\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n function handleClickCity(city) {\r\n localStorage.setItem(\"currentCityid\", city);\r\n window.location.reload();\r\n }\r\n\r\n function handleScrollApp() {\r\n if (window.scrollY > 120) {\r\n setFixedHeader(true);\r\n } else {\r\n setFixedHeader(false);\r\n }\r\n }\r\n\r\n function handleResize() {\r\n if (window.innerWidth > 991) {\r\n setMenuhide(true);\r\n } else {\r\n setMenuhide(false);\r\n }\r\n }\r\n\r\n const CustomToggle = React.forwardRef(({ children, onClick }, ref) => (\r\n {\r\n e.preventDefault();\r\n onClick(e);\r\n }}\r\n >\r\n {children}\r\n \r\n \r\n ));\r\n\r\n // forwardRef again here!\r\n // Dropdown needs access to the DOM of the Menu to measure it\r\n const CustomMenu = React.forwardRef(\r\n ({ children, style, className, \"aria-labelledby\": labeledBy }, ref) => {\r\n const [value, setValue] = useState(\"\");\r\n\r\n return (\r\n \r\n
      \r\n {React.Children.toArray(children).filter(\r\n (child) =>\r\n !value || child.props.children.toLowerCase().startsWith(value)\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n );\r\n\r\n function handleProductSearch(getItem) {\r\n setSelectedProductSearch(getItem);\r\n if (getItem.length > 0) {\r\n props.history.push(`/product/${getItem[0].product_code}`);\r\n }\r\n }\r\n\r\n function handleInputChangeProductSearch(getText) {\r\n setIsLoadingProductSearch(true);\r\n\r\n productApiCall\r\n .getFilteredProducts(getText)\r\n .then((res) => {\r\n setProductsOptions(res);\r\n setIsLoadingProductSearch(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n const showDropdown = (e) => {\r\n setShowCategoriesDropdown(!showCategoriesDropdown);\r\n };\r\n const hideDropdown = (e) => {\r\n setShowCategoriesDropdown(false);\r\n };\r\n\r\n function openCartModal() {\r\n setExpanded(false);\r\n setShowCartModalP(true);\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    S2 Organic Foods India
    \r\n {/*
    \r\n \r\n
    */}\r\n {/* */}\r\n
    \r\n \r\n \r\n My Account\r\n \r\n \r\n {props.loggedinUser && props.loggedinUser.id ? (\r\n <>\r\n \r\n My Orders\r\n \r\n \r\n Manage Address\r\n \r\n \r\n Change Password\r\n \r\n Logout\r\n \r\n ) : (\r\n <>\r\n \r\n Register\r\n \r\n \r\n Login\r\n \r\n \r\n )}\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.cartitems ? props.cartitems.length : 0}\r\n \r\n \r\n \r\n \r\n \r\n\r\n setExpanded(expanded ? false : \"expanded\")}\r\n className=\"mobile-navbar-toggler\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
    {children}
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    \r\n {/* We are a team of designers and developers that create high */}\r\n {/* quality HTML template */}\r\n

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

    Information

    \r\n
    \r\n
      \r\n
    • \r\n Blog\r\n
    • \r\n
    • \r\n Know our Former\r\n
    • \r\n
    • \r\n Contact Us\r\n
    • \r\n
    • \r\n Feedback\r\n
    • \r\n
    • \r\n Terms & Conditions\r\n
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    Custom Links

    \r\n
    \r\n
      \r\n
    • \r\n Privacy Policy\r\n
    • \r\n
    • \r\n \r\n Return & Refunds\r\n \r\n
    • \r\n
    • \r\n Register\r\n
    • \r\n
    • \r\n Login\r\n
    • \r\n
    • \r\n My Orders\r\n
    • \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n

    Follow us on

    \r\n
    \r\n
      \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    \r\n Copyright © 2022 All Rights Reserved S2 Organic Foods India.\r\n

    \r\n \r\n {/* \r\n \"\"\r\n */}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n}\r\n\r\nWithoutAuth.propTypes = {\r\n cartitems: PropTypes.array.isRequired,\r\n loadCartItems: PropTypes.func.isRequired,\r\n loggedinUser: PropTypes.object.isRequired,\r\n getLoginUser: PropTypes.func.isRequired,\r\n logoutCurrentUser: PropTypes.func.isRequired,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n cartitems: state.cartitems,\r\n loggedinUser: state.loggedinUser,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n loadCartItems: cartAction.loadCartItems,\r\n getLoginUser: loginAction.getLoginUser,\r\n logoutCurrentUser: loginAction.logoutCurrentUser,\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(withRouter(WithoutAuth));\r\n","export default __webpack_public_path__ + \"static/media/slider1.624c9b45.jpg\";","export default __webpack_public_path__ + \"static/media/slider2.1b465110.jpg\";","export default __webpack_public_path__ + \"static/media/slider3.a89ee76d.jpg\";","export default __webpack_public_path__ + \"static/media/mob-01.129d98a6.jpg\";","export default __webpack_public_path__ + \"static/media/mob-02.0bca7820.jpg\";","export default __webpack_public_path__ + \"static/media/mob-03.2c451bd5.jpg\";","import React, { useState } from \"react\";\r\nimport { Carousel, Button, Container, Col, Row } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Animated } from \"react-animated-css\";\r\nimport Slide1 from \"../../assets/images/slider1.jpg\";\r\nimport Slide2 from \"../../assets/images/slider2.jpg\";\r\nimport Slide3 from \"../../assets/images/slider3.jpg\";\r\nimport mobile1 from \"../../assets/images/mob-01.jpg\";\r\nimport mobile2 from \"../../assets/images/mob-02.jpg\";\r\nimport mobile3 from \"../../assets/images/mob-03.jpg\";\r\n\r\n\r\nimport \"./carousel.css\";\r\n\r\nfunction HomeCarousel(props) {\r\n const [expanded, setExpanded] = useState(false);\r\n return (\r\n <>\r\n \r\n \r\n setExpanded(false)}\r\n >\r\n \r\n \r\n \r\n \r\n {/*

    */}\r\n {/* Organic Food;
    */}\r\n {/* Its What Our Grandparents Used To Call \"Food\" */}\r\n {/*

    */}\r\n \r\n
    \r\n
    \r\n \r\n setExpanded(false)}\r\n >\r\n \r\n \r\n \r\n \r\n setExpanded(false)}\r\n >\r\n \r\n \r\n \r\n \r\n {/*

    */}\r\n {/* Find the best selling
    Natural & Organic Products */}\r\n {/*

    */}\r\n {/* */}\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n setExpanded(false)}\r\n >\r\n \r\n \r\n \r\n \r\n {/*

    \r\n Organic Food;
    \r\n Its What Our Grandparents Used To Call \"Food\"\r\n

    */}\r\n \r\n
    \r\n
    \r\n \r\n setExpanded(false)}\r\n >\r\n \r\n \r\n \r\n \r\n setExpanded(false)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

    We are 5th Generation Farmers


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

    We are from the delta region of Tamil Nadu, certified by Ecocert France for the National Programme of Organic Production (NPOP), National Organic Program (NOP/ USDA), and European Union (EU/EOS). We are committed to long-term agricultural practices and to share the true flavour of our organic farm products. We provide you with farm-fresh food selections. We take no shortcuts when it comes to quality, ensuring that no impurity reaches your kitchen counter.

    \r\n \r\n
    \r\n
    \r\n\r\n \r\n );\r\n}\r\n\r\nexport default HomeCarousel;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Card,\r\n Button,\r\n Container,\r\n InputGroup,\r\n FormControl,\r\n Row,\r\n Col,\r\n Form,\r\n} from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport OwlCarousel from \"react-owl-carousel\";\r\nimport \"owl.carousel/dist/assets/owl.carousel.css\";\r\nimport \"owl.carousel/dist/assets/owl.theme.default.css\";\r\nimport \"./productsCarousel.css\";\r\nimport ProductsServices from \"../../services/ProductsServices\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as cartAction from \"../../redux/actions/cartAction\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faSearch } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nfunction ProductsCarousel(props) {\r\n const productsApiCall = new ProductsServices();\r\n const [allProducts, setAllProducts] = useState([]);\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [enteredQuantity, setEnteredQuantity] = useState(0);\r\n\r\n useEffect(() => {\r\n props\r\n .loadCartItems()\r\n .then((result) => { })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n\r\n let locationId = localStorage.getItem(\"currentCityid\")\r\n ? localStorage.getItem(\"currentCityid\")\r\n : \"1\";\r\n productsApiCall\r\n .getRecentProducts(locationId)\r\n .then((productDetails) => {\r\n let newProductDetails = productDetails.map((p) => ({\r\n ...p,\r\n selectedProductUnit: p.product_pricings[0],\r\n }));\r\n setAllProducts(newProductDetails);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }, []);\r\n\r\n const addtoCart = (proDetails) => {\r\n if (!enteredQuantity || enteredQuantity == \"\" || enteredQuantity == 0) {\r\n updateEnteredQuantity(1);\r\n }\r\n\r\n let imageData = JSON.parse(proDetails.product_images);\r\n\r\n let sendItem = {\r\n brand: proDetails.brand,\r\n category: proDetails.category,\r\n // description: proDetails.description,\r\n id: proDetails.id,\r\n image_1: imageData[0].name,\r\n product_name: proDetails.product_name,\r\n unit_type_id: proDetails.selectedProductUnit.id,\r\n selling_price: proDetails.selectedProductUnit.selling_price,\r\n gst: proDetails.selectedProductUnit.gst,\r\n net_weight: proDetails.selectedProductUnit.net_weight,\r\n sub_category: proDetails.sub_category,\r\n unit_type: proDetails.selectedProductUnit.unit_type,\r\n };\r\n\r\n props\r\n .addItemtoCart(sendItem, 1)\r\n .then((result) => {\r\n setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n function updateEnteredQuantity(e) {\r\n setEnteredQuantity(e);\r\n }\r\n\r\n const decreaseQuantity = (getCartItem) => {\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) - 1;\r\n props\r\n .decreaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n const increaseQuantity = (getCartItem) => {\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) + 1;\r\n props\r\n .increaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n const ProductPrice = (props) => {\r\n return (\r\n <>\r\n {props.proDetails.unit_price !== props.proDetails.selling_price ? (\r\n \r\n Rs. {props.proDetails.unit_price}\r\n \r\n ) : (\r\n \"\"\r\n )}{\" \"}\r\n \r\n Rs. {props.proDetails.selling_price}\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n
    \r\n

    Featured Products

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {allProducts.length > 0\r\n ? allProducts.map((pro) => {\r\n let productExistsInCart = props.cartitems.some(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == pro.selectedProductUnit.id\r\n );\r\n let productInCart = props.cartitems.find(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == pro.selectedProductUnit.id\r\n );\r\n let productImages = JSON.parse(pro.product_images);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {pro.product_name}\r\n \r\n \r\n {pro.category}\r\n \r\n \r\n \r\n \r\n {/*
    \r\n \r\n \r\n \r\n
    */}\r\n {\r\n let selectedPriceObject = pro.product_pricings.filter(\r\n (p) => {\r\n return p.id == e.target.value;\r\n }\r\n );\r\n let priceObject = selectedPriceObject[0];\r\n setAllProducts(\r\n allProducts.map((x) => {\r\n if (x.id == pro.id) {\r\n return {\r\n ...x,\r\n selectedProductUnit: priceObject,\r\n };\r\n } else {\r\n return x;\r\n }\r\n })\r\n );\r\n\r\n productExistsInCart = props.cartitems.some(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == priceObject.id\r\n );\r\n productInCart = props.cartitems.find(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == priceObject.id\r\n );\r\n }}\r\n >\r\n {pro.product_pricings.map((pri) => {\r\n return (\r\n {`${pri.net_weight} ${pri.unit_type}`}\r\n );\r\n })}\r\n \r\n {pro.sold_out == \"Yes\" ? (\r\n \r\n Out of stock\r\n \r\n ) : (\r\n <>\r\n {productExistsInCart &&\r\n productInCart.unit_type_id ==\r\n pro.selectedProductUnit.id ? (\r\n \r\n \r\n \r\n decreaseQuantity(productInCart)\r\n }\r\n >\r\n -\r\n \r\n \r\n \r\n \r\n \r\n increaseQuantity(productInCart)\r\n }\r\n >\r\n +\r\n \r\n \r\n \r\n ) : (\r\n
    \r\n {/* */}\r\n addtoCart(pro)}\r\n >\r\n Add\r\n \r\n
    \r\n )}\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nProductsCarousel.propTypes = {\r\n cartitems: PropTypes.array.isRequired,\r\n addItemtoCart: PropTypes.func.isRequired,\r\n increaseCartItemQuantity: PropTypes.func.isRequired,\r\n decreaseCartItemQuantity: PropTypes.func.isRequired,\r\n loadCartItems: PropTypes.func.isRequired,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n cartitems: state.cartitems,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n addItemtoCart: cartAction.addItemtoCart,\r\n increaseCartItemQuantity: cartAction.increaseCartItemQuantity,\r\n decreaseCartItemQuantity: cartAction.decreaseCartItemQuantity,\r\n loadCartItems: cartAction.loadCartItems,\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ProductsCarousel);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Card,\r\n Button,\r\n Container,\r\n InputGroup,\r\n FormControl,\r\n Row,\r\n Col,\r\n Form,\r\n} from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport OwlCarousel from \"react-owl-carousel\";\r\nimport \"owl.carousel/dist/assets/owl.carousel.css\";\r\nimport \"owl.carousel/dist/assets/owl.theme.default.css\";\r\nimport \"./productsCarousel.css\";\r\nimport ProductsServices from \"../../services/ProductsServices\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as cartAction from \"../../redux/actions/cartAction\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faSearch } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nfunction BestSellingProducts(props) {\r\n const productsApiCall = new ProductsServices();\r\n const [allProducts, setAllProducts] = useState([]);\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [enteredQuantity, setEnteredQuantity] = useState(0);\r\n\r\n useEffect(() => {\r\n props\r\n .loadCartItems()\r\n .then((result) => { })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n let locationId = localStorage.getItem(\"currentCityid\")\r\n ? localStorage.getItem(\"currentCityid\")\r\n : \"1\";\r\n productsApiCall\r\n .getBestSellingProducts(locationId)\r\n .then((productDetails) => {\r\n let newProductDetails = productDetails.map((p) => ({\r\n ...p,\r\n selectedProductUnit: p.product_pricings[0],\r\n }));\r\n setAllProducts(newProductDetails);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }, []);\r\n\r\n const addtoCart = (proDetails) => {\r\n if (!enteredQuantity || enteredQuantity == \"\" || enteredQuantity == 0) {\r\n updateEnteredQuantity(1);\r\n }\r\n\r\n let imageData = JSON.parse(proDetails.product_images);\r\n\r\n let sendItem = {\r\n brand: proDetails.brand,\r\n category: proDetails.category,\r\n // description: proDetails.description,\r\n id: proDetails.id,\r\n image_1: imageData[0].name,\r\n product_name: proDetails.product_name,\r\n unit_type_id: proDetails.selectedProductUnit.id,\r\n selling_price: proDetails.selectedProductUnit.selling_price,\r\n gst: proDetails.selectedProductUnit.gst,\r\n net_weight: proDetails.selectedProductUnit.net_weight,\r\n sub_category: proDetails.sub_category,\r\n unit_type: proDetails.selectedProductUnit.unit_type,\r\n };\r\n\r\n props\r\n .addItemtoCart(sendItem, 1)\r\n .then((result) => {\r\n setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n function updateEnteredQuantity(e) {\r\n setEnteredQuantity(e);\r\n }\r\n\r\n const decreaseQuantity = (getCartItem) => {\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) - 1;\r\n props\r\n .decreaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n const increaseQuantity = (getCartItem) => {\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) + 1;\r\n props\r\n .increaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n const ProductPrice = (props) => {\r\n return (\r\n <>\r\n {props.proDetails.unit_price !== props.proDetails.selling_price ? (\r\n \r\n Rs. {props.proDetails.unit_price}\r\n \r\n ) : (\r\n \"\"\r\n )}{\" \"}\r\n \r\n Rs. {props.proDetails.selling_price}\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n
    \r\n

    Best Selling Products

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {allProducts.length > 0\r\n ? allProducts.map((pro) => {\r\n let productExistsInCart = props.cartitems.some(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == pro.selectedProductUnit.id\r\n );\r\n let productInCart = props.cartitems.find(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == pro.selectedProductUnit.id\r\n );\r\n let productImages = JSON.parse(pro.product_images);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {pro.product_name}\r\n \r\n \r\n {pro.category}\r\n \r\n \r\n \r\n \r\n {/*
    \r\n \r\n \r\n \r\n
    */}\r\n {\r\n let selectedPriceObject = pro.product_pricings.filter(\r\n (p) => {\r\n return p.id == e.target.value;\r\n }\r\n );\r\n let priceObject = selectedPriceObject[0];\r\n setAllProducts(\r\n allProducts.map((x) => {\r\n if (x.id == pro.id) {\r\n return {\r\n ...x,\r\n selectedProductUnit: priceObject,\r\n };\r\n } else {\r\n return x;\r\n }\r\n })\r\n );\r\n\r\n productExistsInCart = props.cartitems.some(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == priceObject.id\r\n );\r\n productInCart = props.cartitems.find(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == priceObject.id\r\n );\r\n }}\r\n >\r\n {pro.product_pricings.map((pri) => {\r\n return (\r\n {`${pri.net_weight} ${pri.unit_type}`}\r\n );\r\n })}\r\n \r\n {pro.sold_out == \"Yes\" ? (\r\n \r\n Out of stock\r\n \r\n ) : (\r\n <>\r\n {productExistsInCart &&\r\n productInCart.unit_type_id ==\r\n pro.selectedProductUnit.id ? (\r\n \r\n \r\n \r\n decreaseQuantity(productInCart)\r\n }\r\n >\r\n -\r\n \r\n \r\n \r\n \r\n \r\n increaseQuantity(productInCart)\r\n }\r\n >\r\n +\r\n \r\n \r\n \r\n ) : (\r\n
    \r\n {/* */}\r\n addtoCart(pro)}\r\n >\r\n Add\r\n \r\n
    \r\n )}\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nBestSellingProducts.propTypes = {\r\n cartitems: PropTypes.array.isRequired,\r\n addItemtoCart: PropTypes.func.isRequired,\r\n increaseCartItemQuantity: PropTypes.func.isRequired,\r\n decreaseCartItemQuantity: PropTypes.func.isRequired,\r\n loadCartItems: PropTypes.func.isRequired,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n cartitems: state.cartitems,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n addItemtoCart: cartAction.addItemtoCart,\r\n increaseCartItemQuantity: cartAction.increaseCartItemQuantity,\r\n decreaseCartItemQuantity: cartAction.decreaseCartItemQuantity,\r\n loadCartItems: cartAction.loadCartItems,\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(BestSellingProducts);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Card, Button, Container, Row, Col } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport \"./comboList.css\";\r\nimport ProductsServices from \"../../services/ProductsServices\";\r\nimport Environment from \"../../shared/Environment\";\r\n\r\nfunction ComboList(props) {\r\n const categoryApiCall = new ProductsServices();\r\n const [allCategories, setAllCategories] = useState([]);\r\n const [allCombos, setAllCombos] = useState([]);\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n\r\n useEffect(() => {\r\n categoryApiCall\r\n .getComboProducts()\r\n .then((res) => {\r\n setAllCategories(res);\r\n setAllCombos(res);\r\n console.log(res)\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n
    \r\n

    Product Combos

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {allCombos.length > 0\r\n ? allCombos.map((pro) => {\r\n return (\r\n \r\n {pro.product_images.length > 0 ?\r\n \r\n \r\n \r\n
    \r\n \r\n {pro.product_name}\r\n \r\n \r\n {pro.product_count} Products\r\n \r\n \r\n Shop Now\r\n \r\n
    \r\n
    \r\n
    \r\n : \"\"}\r\n \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ComboList;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Card, Button, Container, Row, Col } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport OwlCarousel from \"react-owl-carousel\";\r\nimport \"owl.carousel/dist/assets/owl.carousel.css\";\r\nimport \"owl.carousel/dist/assets/owl.theme.default.css\";\r\nimport \"./categoriesFeatured.css\";\r\nimport CategoriesService from \"../../services/CategoriesService\";\r\nimport Environment from \"../../shared/Environment\";\r\n\r\nfunction FeaturedCategories(props) {\r\n const categoryApiCall = new CategoriesService();\r\n const [allCategories, setAllCategories] = useState([]);\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n\r\n useEffect(() => {\r\n categoryApiCall\r\n .getRecentCategories()\r\n .then((res) => {\r\n setAllCategories(res);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n
    \r\n

    Categories

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {allCategories.length > 0\r\n ? allCategories.map((pro) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {pro.category_name}\r\n \r\n \r\n {pro.product_count} Products\r\n \r\n \r\n Shop Now\r\n \r\n \r\n \r\n \r\n );\r\n })\r\n : \"\"}\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default FeaturedCategories;\r\n","import React from \"react\";\r\nimport { Card, Button, Container, Row, Col } from \"react-bootstrap\";\r\nimport \"./staticArea.css\";\r\n\r\nfunction StaticArea(props) {\r\n return (\r\n
    \r\n
    \r\n \r\n {/* \r\n
    \r\n \r\n
    \r\n

    Free Shipping

    \r\n

    All orders above ₹2000 qualify for free shipping.

    \r\n
    \r\n
    \r\n */}\r\n \r\n
    \r\n \r\n
    \r\n

    Climate-friendly

    \r\n

    We aim to achieve climate neutrality by 2030.

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

    100 % complete replacement

    \r\n

    \r\n If an issue arises after the purchase, there is a full replacement policy in place.\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default StaticArea;\r\n","import React from \"react\";\r\nimport { Card, Button, Container, Row, Col } from \"react-bootstrap\";\r\nimport \"./staticAreaOrganic.css\";\r\n\r\nfunction StaticAreaOrganic(props) {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n

    Why Five Element?

    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Organic & Natural

    \r\n

    Crafted from natural and organic products

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Quality

    \r\n

    Committed To Quality. Committed To You.

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Healthy & Conscious Living

    \r\n

    Self, mind and spirit are all supported by this formula.

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Eco Friendly

    \r\n

    We share our feelings towards life and the environment

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default StaticAreaOrganic;\r\n","import React, { useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Animated } from \"react-animated-css\";\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport \"./staticArea.css\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Card, Button, Container, Row, Col } from \"react-bootstrap\";\r\nfunction TestiMonial(props) {\r\n const [expanded, setExpanded] = useState(false);\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n
    \r\n

    Sai Prabhu N

    \r\n

    Alandur

    \r\n

    \r\n I was recently in my hometown, where my grandmother had taught me a\r\n millet-based recipe. I looked around the store for millet but was\r\n disappointed. Later, I discovered the Five Element website and was\r\n able to obtain millet. You'll get all of the native grain varieties\r\n at Five Element, so go for it.\r\n

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

    Mrs. Lakshiya

    \r\n

    Anna nagar

    \r\n

    \r\n I was quite pleased with the Five Element team's prompt delivery and\r\n customer service response. They were very helpful in locating the\r\n correct objects. (to add about pandemic)\r\n

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

    Mr. Dinesh

    \r\n

    Nerkundram

    \r\n

    \r\n I live with my parents, who are both over 70, and I am very specific\r\n about what they eat. When my parents grew older, I realised how\r\n necessary it was to provide them with organic food in order to keep\r\n them safe. I tried at a nearby market, but the availability of\r\n supplies was inconsistent, and the food quality was inconsistent at\r\n times. Then I discovered five elements. Even throughout the\r\n pandemic, the consistency and availability of supplies remained\r\n constant over the year.\r\n

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

    Mrs. Jannani

    \r\n

    Ashok nagar

    \r\n

    \r\n Dals are a part of every meal in my household, which is\r\n characteristic of the south Indian culture. My quest for dals\r\n brought me to the mud processed toor dal, which drew me in first\r\n because of its name and then because of its flavour. Mud processed\r\n toor dal brings flavour to sambar, and it had been a long time since\r\n I had tried a new variety.\r\n

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

    DR. Rajagopalan

    \r\n

    Anna nagar

    \r\n

    \r\n I am a chest and TB specialist. We advise people to use the right\r\n oil in their everyday cooking, but discovering pure oil has always\r\n been a challenge. Fortunately, I tried the oil from Five Element,\r\n and the consistency convinced me to do it again, and I am still\r\n pleased with the results. It is something I recommend to my patients\r\n and peers.\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n */}\r\n\r\n
    Media
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n {/* */}\r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    Our farmers
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n

    \r\n We at Five Element chose to be the backbone of our farmers by refusing to buy from them instead standing beside them and selling alongside them. The \"Back To Roots\" movement began last year (2021) with the goal of developing a relationship with framers rather than just buying from them, educating them on advanced technology, and to help them market their organic produce.\r\n

    \r\n setExpanded(false)}\r\n >\r\n Read More\r\n \r\n

    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default TestiMonial;\r\n","import React, { useState } from \"react\";\r\nimport { Card, Button, Container, Row, Col } from \"react-bootstrap\";\r\nimport \"./aboutProductStatic.css\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nfunction AboutFormer(props) {\r\n const [expanded, setExpanded] = useState(false);\r\n return (\r\n <>\r\n \r\n
    Our Story
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n

    \r\n Five Element - \"Food from Heaven\" is an eco-friendly company on a mission to support local organic farmers in selling their produce and to create a more sustainable environment. we care about the entire ecosystem and not just one stakeholder, organic food cultivation provides a solution to many of today's problems. Amongst the five elements of nature (Air, Water, Fire, Ether, and Earth), the food we consume is the most direct link between us and the Earth. Our ancestors nurtured a connection with nature.\r\n

    \r\n

    \r\n An organic diet is more than just nutrition; it is an expression of your attitude toward life, as per the vice saying goes, \"You are what you eat\".\r\n

    \r\n
    \r\n setExpanded(false)}\r\n >\r\n Read More\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n );\r\n}\r\n\r\nexport default AboutFormer;\r\n","import React from \"react\";\r\nimport { Card, Button, Container, Row, Col } from \"react-bootstrap\";\r\nimport \"./certificates.css\";\r\n\r\nfunction Certificate(props) {\r\n return (\r\n \r\n\r\n \r\n
    \r\n
    Our Organic Certifications
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    USDA/NOP
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    EOS/EU
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    NPOP
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    JAVIK BHARATH
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Certificate;\r\n","import React from \"react\";\r\nimport { Card, Button, Container, Row, Col } from \"react-bootstrap\";\r\nimport \"./appBanner.css\";\r\n\r\nfunction AppBanner(props) {\r\n return (\r\n \r\n \r\n \r\n \"Five\r\n \r\n \r\n

    Just with a simple tap, secure your healthy lifestyle with best certified organic products available.\r\n

    \r\n
    So go ahead and get it now!
    \r\n
    \r\n \"Android\r\n \"IOS\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default AppBanner;\r\n","export default __webpack_public_path__ + \"static/media/offer-07.b2ca41cb.jpg\";","import React from \"react\";\r\nimport { Container, Row, Col } from \"react-bootstrap\";\r\nimport HomeCarousel from \"./carousel\";\r\nimport ProductsCarousel from \"./productsCarousel\";\r\nimport BestSellingProducts from \"./bestSellingProducts\";\r\nimport ComboList from \"./comboList\";\r\n\r\nimport FeaturedCategories from \"./categoriesFeatured\";\r\nimport StaticArea from \"./staticArea\";\r\nimport StaticAreaOrganic from \"./staticAreaOrganic\";\r\nimport TestiMonial from \"./testiMonial\";\r\nimport AboutFormer from \"./aboutProductStatic\";\r\nimport Certificate from \"./certificates\";\r\nimport AppBanner from \"./appBanner\";\r\nimport BannerImage from \"./bannerImage\";\r\nfunction Home(props) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default Home;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n} from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport ProductsServices from \"../../services/ProductsServices\";\r\nimport CategoriesService from \"../../services/CategoriesService\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as cartAction from \"../../redux/actions/cartAction\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faSearch } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Animated } from \"react-animated-css\";\r\nimport \"./index.css\";\r\n\r\nfunction Products(props) {\r\n const {\r\n match: { params },\r\n } = props;\r\n\r\n const productsApiCall = new ProductsServices();\r\n const categoryApiCall = new CategoriesService();\r\n\r\n const [allProducts, setAllProducts] = useState([]);\r\n const [allProductsTemp, setAllProductsTemp] = useState([]);\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [enteredQuantity, setEnteredQuantity] = useState(0);\r\n const [selectedProductId, setSelectedProductId] = useState(params.id);\r\n const [allSubCategories, setAllSubCategories] = useState([]);\r\n const [showLoader, setShowLoader] = useState(true);\r\n const [checkedCategories, setCheckedCategories] = useState([]);\r\n const [loadBannerImage, setLoadBannerImage] = useState(\"\");\r\n const [loadMobileBannerImage, setLoadMobileBannerImage] = useState(\"\");\r\n const [loadBannerText, setLoadBannerText] = useState(\"\");\r\n const [loadCategoryText, setLoadCategoryText] = useState(\"\");\r\n const [showAnimate, setShowAnimate] = useState(false);\r\n\r\n useEffect(() => {\r\n setShowAnimate(false);\r\n if (selectedProductId) {\r\n Promise.all([\r\n props.loadCartItems(),\r\n productsApiCall.getRecentProductsByCat(params.id),\r\n categoryApiCall.getSubcatByCat(params.id),\r\n ])\r\n .then(([cartItems, productDetails, subCategories]) => {\r\n setShowAnimate(true);\r\n let newProductDetails = productDetails.map((p) => ({\r\n ...p,\r\n selectedProductUnit: p.product_pricings[0],\r\n }));\r\n setAllProducts(newProductDetails);\r\n setAllProductsTemp(newProductDetails);\r\n setAllSubCategories(subCategories);\r\n setCheckedCategories([]);\r\n setLoadBannerImage(newProductDetails[0].banner_image_path);\r\n setLoadBannerText(newProductDetails[0].description);\r\n setLoadMobileBannerImage(newProductDetails[0].mobile_image_path);\r\n setLoadCategoryText(newProductDetails[0].category);\r\n setShowLoader(false);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }, [params.id, selectedProductId]);\r\n\r\n const addtoCart = (proDetails) => {\r\n if (!enteredQuantity || enteredQuantity == \"\" || enteredQuantity == 0) {\r\n setEnteredQuantity(1);\r\n // return false;\r\n }\r\n\r\n let imageData = JSON.parse(proDetails.product_images);\r\n\r\n let sendItem = {\r\n brand: proDetails.brand,\r\n category: proDetails.category,\r\n // description: proDetails.description,\r\n id: proDetails.id,\r\n image_1: imageData[0].name,\r\n product_name: proDetails.product_name,\r\n unit_type_id: proDetails.selectedProductUnit.id,\r\n selling_price: proDetails.selectedProductUnit.selling_price,\r\n gst: proDetails.selectedProductUnit.gst,\r\n net_weight: proDetails.selectedProductUnit.net_weight,\r\n sub_category: proDetails.sub_category,\r\n unit_type: proDetails.selectedProductUnit.unit_type,\r\n };\r\n\r\n props\r\n .addItemtoCart(sendItem, 1)\r\n .then((result) => {\r\n setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n function updateEnteredQuantity(e) {\r\n setEnteredQuantity(e);\r\n }\r\n\r\n const decreaseQuantity = (getCartItem) => {\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) - 1;\r\n props\r\n .decreaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n const increaseQuantity = (getCartItem) => {\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) + 1;\r\n props\r\n .increaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n const ProductPrice = (props) => {\r\n return (\r\n <>\r\n {props.proDetails.unit_price !== props.proDetails.selling_price ? (\r\n \r\n Rs. {props.proDetails.unit_price}\r\n \r\n ) : (\r\n \"\"\r\n )}{\" \"}\r\n \r\n Rs. {props.proDetails.selling_price}\r\n \r\n \r\n );\r\n };\r\n\r\n const handleCheckboxCat = (e, s) => {\r\n const checkedBoxes = [...checkedCategories];\r\n if (e.target.checked) {\r\n checkedBoxes.push(s);\r\n } else {\r\n const index = checkedBoxes.findIndex((ch) => ch.id === s.id);\r\n checkedBoxes.splice(index, 1);\r\n }\r\n\r\n if (checkedBoxes.length > 0) {\r\n const myArrayFiltered = allProductsTemp.filter((el) => {\r\n return checkedBoxes.some((f) => {\r\n return f.sub_category_name == el.sub_category;\r\n });\r\n });\r\n setAllProducts(myArrayFiltered);\r\n } else {\r\n setAllProducts(allProductsTemp);\r\n }\r\n\r\n setCheckedCategories(checkedBoxes);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n {/*

    {loadBannerText}

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

    {loadCategoryText}

    */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n {showLoader ? (\r\n \r\n

    Loading

    \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n Categories\r\n \r\n
    \r\n {allSubCategories && allSubCategories.length > 0\r\n ? allSubCategories.map((subcat) => {\r\n return (\r\n ch.id === subcat.id\r\n )}\r\n onChange={(e) => handleCheckboxCat(e, subcat)}\r\n />\r\n );\r\n })\r\n : \"\"}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {allProducts.length > 0 ? (\r\n allProducts.map((pro) => {\r\n let productExistsInCart = props.cartitems.some(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == pro.selectedProductUnit.id\r\n );\r\n let productInCart = props.cartitems.find(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == pro.selectedProductUnit.id\r\n );\r\n let productImages = JSON.parse(pro.product_images);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {pro.product_name}\r\n \r\n \r\n {pro.category}\r\n \r\n \r\n \r\n \r\n {/*
    \r\n \r\n \r\n \r\n
    */}\r\n {\r\n let selectedPriceObject =\r\n pro.product_pricings.filter((p) => {\r\n return p.id == e.target.value;\r\n });\r\n let priceObject = selectedPriceObject[0];\r\n setAllProducts(\r\n allProducts.map((x) => {\r\n if (x.id == pro.id) {\r\n return {\r\n ...x,\r\n selectedProductUnit: priceObject,\r\n };\r\n } else {\r\n return x;\r\n }\r\n })\r\n );\r\n\r\n productExistsInCart = props.cartitems.some(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == priceObject.id\r\n );\r\n productInCart = props.cartitems.find(\r\n (item) =>\r\n item.id === pro.id &&\r\n item.unit_type_id == priceObject.id\r\n );\r\n }}\r\n >\r\n {pro.product_pricings.map((pri) => {\r\n return (\r\n {`${pri.net_weight} ${pri.unit_type}`}\r\n );\r\n })}\r\n \r\n {pro.sold_out == \"Yes\" ? (\r\n \r\n Out of stock\r\n \r\n ) : (\r\n <>\r\n {productExistsInCart &&\r\n productInCart.unit_type_id ==\r\n pro.selectedProductUnit.id ? (\r\n \r\n \r\n \r\n decreaseQuantity(productInCart)\r\n }\r\n >\r\n -\r\n \r\n \r\n \r\n \r\n \r\n increaseQuantity(productInCart)\r\n }\r\n >\r\n +\r\n \r\n \r\n \r\n ) : (\r\n
    \r\n {/* */}\r\n addtoCart(pro)}\r\n >\r\n Add\r\n \r\n
    \r\n )}\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n })\r\n ) : (\r\n \r\n Sorry.. No products available\r\n \r\n )}\r\n
    \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nProducts.propTypes = {\r\n cartitems: PropTypes.array.isRequired,\r\n addItemtoCart: PropTypes.func.isRequired,\r\n increaseCartItemQuantity: PropTypes.func.isRequired,\r\n decreaseCartItemQuantity: PropTypes.func.isRequired,\r\n loadCartItems: PropTypes.func.isRequired,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n cartitems: state.cartitems,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n addItemtoCart: cartAction.addItemtoCart,\r\n increaseCartItemQuantity: cartAction.increaseCartItemQuantity,\r\n decreaseCartItemQuantity: cartAction.decreaseCartItemQuantity,\r\n loadCartItems: cartAction.loadCartItems,\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Products);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Card,\r\n Button,\r\n Container,\r\n InputGroup,\r\n FormControl,\r\n Row,\r\n Col,\r\n Form,\r\n} from \"react-bootstrap\";\r\nimport Carousel from \"react-multi-carousel\";\r\nimport { Image } from \"semantic-ui-react\";\r\nimport ProductsServices from \"../../services/ProductsServices\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as cartAction from \"../../redux/actions/cartAction\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst responsive = {\r\n desktop: {\r\n breakpoint: { max: 3000, min: 1024 },\r\n items: 3,\r\n paritialVisibilityGutter: 60,\r\n },\r\n tablet: {\r\n breakpoint: { max: 1024, min: 464 },\r\n items: 2,\r\n paritialVisibilityGutter: 50,\r\n },\r\n mobile: {\r\n breakpoint: { max: 464, min: 0 },\r\n items: 1,\r\n paritialVisibilityGutter: 30,\r\n },\r\n};\r\nconst images = [\r\n \"https://images.unsplash.com/photo-1549989476-69a92fa57c36?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60\",\r\n \"https://images.unsplash.com/photo-1549396535-c11d5c55b9df?ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=60\",\r\n \"https://images.unsplash.com/photo-1550133730-695473e544be?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60\",\r\n \"https://images.unsplash.com/photo-1550167164-1b67c2be3973?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60\",\r\n \"https://images.unsplash.com/photo-1550338861-b7cfeaf8ffd8?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60\",\r\n \"https://images.unsplash.com/photo-1550223640-23097fc71cb2?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60\",\r\n \"https://images.unsplash.com/photo-1550353175-a3611868086b?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60\",\r\n \"https://images.unsplash.com/photo-1550330039-a54e15ed9d33?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60\",\r\n \"https://images.unsplash.com/photo-1549737328-8b9f3252b927?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60\",\r\n \"https://images.unsplash.com/photo-1549833284-6a7df91c1f65?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60\",\r\n \"https://images.unsplash.com/photo-1549985908-597a09ef0a7c?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60\",\r\n \"https://images.unsplash.com/photo-1550064824-8f993041ffd3?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60\",\r\n];\r\n\r\n// Because this is an inframe, so the SSR mode doesn't not do well here.\r\n// It will work on real devices.\r\nconst RelatedProducts = (props, { deviceType }) => {\r\n const productsApiCall = new ProductsServices();\r\n const [allProducts, setAllProducts] = useState([]);\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n\r\n useEffect(() => {\r\n let locationId = localStorage.getItem(\"currentCityid\")\r\n ? localStorage.getItem(\"currentCityid\")\r\n : \"1\";\r\n let params = {\r\n categoryId: props.categoryId,\r\n locationId: locationId,\r\n productId: props.productId,\r\n };\r\n productsApiCall\r\n .getRelatedProducts(params)\r\n .then((productDetails) => {\r\n let newProductDetails = productDetails.map((p) => ({\r\n ...p,\r\n selectedProductUnit: p.product_pricings[0],\r\n }));\r\n setAllProducts(newProductDetails);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }, [props.productId]);\r\n\r\n return (\r\n \r\n {/* {images.slice(0, 5).map((image) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n })} */}\r\n {allProducts.slice(0, 5).map((pro) => {\r\n let productImages = JSON.parse(pro.product_images);\r\n return (\r\n \r\n \r\n
    \r\n \r\n {pro.product_name}\r\n \r\n \r\n {pro.category}\r\n \r\n \r\n MRP. {pro.product_pricings[0].selling_price} (\r\n {pro.product_pricings[0].net_weight}\r\n {pro.product_pricings[0].unit_type})\r\n \r\n
    \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default RelatedProducts;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n} from \"react-bootstrap\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport { Animated } from \"react-animated-css\";\r\nimport ProductsServices from \"../../services/ProductsServices\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as cartAction from \"../../redux/actions/cartAction\";\r\nimport \"./index.css\";\r\nimport RelatedProducts from \"./relatedProduct\";\r\nimport \"semantic-ui-css/semantic.min.css\";\r\nimport \"react-multi-carousel/lib/styles.css\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport Skeleton from 'react-loading-skeleton'\r\nimport 'react-loading-skeleton/dist/skeleton.css'\r\nimport { useLocation } from \"react-router\";\r\n\r\nfunction Product(props) {\r\n const {\r\n match: { params },\r\n } = props;\r\n\r\n const productsApiCall = new ProductsServices();\r\n const [selectedProduct, setSelectedProduct] = useState();\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [enteredQuantity, setEnteredQuantity] = useState(1);\r\n const [productImages, setProductImages] = useState([]);\r\n const [selectedProductUnit, setSelectedProductUnit] = useState();\r\n const [activeTab, setActiveTab] = useState(\"desc\");\r\n const [loadBannerImage, setLoadBannerImage] = useState(\"\");\r\n const [loadBannerText, setLoadBannerText] = useState(\"\");\r\n const [showAnimate, setShowAnimate] = useState(false);\r\n useEffect(() => {\r\n setShowAnimate(false);\r\n Promise.all([\r\n props.loadCartItems(),\r\n productsApiCall.getProductsById(params.product_name),\r\n ])\r\n .then(([cartItems, productDetails]) => {\r\n setShowAnimate(true);\r\n productDetails.health_benefits = JSON.parse(\r\n productDetails.health_benefits\r\n );\r\n setSelectedProduct(productDetails);\r\n setSelectedProductUnit(productDetails.product_pricings[0]);\r\n setProductImages(JSON.parse(productDetails.product_images));\r\n setLoadBannerImage(productDetails.banner_image_path);\r\n setLoadBannerText(productDetails.description);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, [params.product_name]);\r\n\r\n const addtoCart = (proDetails) => {\r\n if (!enteredQuantity || enteredQuantity == \"\" || enteredQuantity == 0) {\r\n setEnteredQuantity(1);\r\n }\r\n\r\n let imageData = JSON.parse(proDetails.product_images);\r\n let sendItem = {\r\n brand: proDetails.brand,\r\n category: proDetails.category,\r\n // description: proDetails.description,\r\n id: proDetails.id,\r\n image_1: imageData[0].name,\r\n product_name: proDetails.product_name,\r\n unit_type_id: selectedProductUnit.id,\r\n selling_price: selectedProductUnit.selling_price,\r\n gst: selectedProductUnit.gst,\r\n net_weight: selectedProductUnit.net_weight,\r\n sub_category: proDetails.sub_category,\r\n unit_type: selectedProductUnit.unit_type,\r\n };\r\n\r\n props\r\n .addItemtoCart(sendItem, 1)\r\n .then((result) => {\r\n // setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n function updateEnteredQuantity(e) {\r\n setEnteredQuantity(e);\r\n }\r\n\r\n const decreaseQuantity = (getCartItem) => {\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) - 1;\r\n props\r\n .decreaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n const increaseQuantity = (getCartItem) => {\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) + 1;\r\n props\r\n .increaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n function LoadItemQuantity(selectedProduct) {\r\n var selectedProductGet = selectedProduct.thisProduct;\r\n let selectedthisProductUnit = selectedProduct.thisProductUnit;\r\n\r\n let productExistsInCart = props.cartitems.some(\r\n (item) =>\r\n item.id == selectedProductGet.id &&\r\n item.unit_type_id == selectedthisProductUnit.id\r\n );\r\n\r\n let productInCart = props.cartitems.find(\r\n (item) =>\r\n item.id === selectedProductGet.id &&\r\n item.unit_type_id == selectedthisProductUnit.id\r\n );\r\n return productExistsInCart ? (\r\n
    \r\n {\r\n let selectedPriceObject =\r\n selectedProductGet.product_pricings.filter((p) => {\r\n return p.id == e.target.value;\r\n });\r\n setSelectedProductUnit(selectedPriceObject[0]);\r\n }}\r\n >\r\n {selectedProductGet.product_pricings.map((pri) => {\r\n return (\r\n {`${pri.net_weight} ${pri.unit_type}`}\r\n );\r\n })}\r\n \r\n \r\n \r\n decreaseQuantity(productInCart)}>\r\n -\r\n \r\n \r\n \r\n \r\n increaseQuantity(productInCart)}>\r\n +\r\n \r\n \r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n let selectedPriceObject =\r\n selectedProductGet.product_pricings.filter((p) => {\r\n return p.id == e.target.value;\r\n });\r\n setSelectedProductUnit(selectedPriceObject[0]);\r\n }}\r\n >\r\n {selectedProductGet.product_pricings.map((pri) => {\r\n return (\r\n {`${pri.net_weight} ${pri.unit_type}`}\r\n );\r\n })}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n function changeTab(getVal) {\r\n setActiveTab(getVal);\r\n }\r\n\r\n return (\r\n <>\r\n\r\n \r\n {selectedProduct ? (\r\n <>\r\n \r\n \r\n Best place to buy Organic {selectedProduct.product_name} - Five Element \"Food from Heaven\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {productImages && productImages.length > 0\r\n ? productImages.map((pimg) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : \"\"}\r\n \r\n
    \r\n \r\n \r\n
    \r\n

    {selectedProduct.product_name}

    \r\n
    \r\n

    \r\n Category : {selectedProduct.category}\r\n

    \r\n

    \r\n Brand : {selectedProduct.brand}\r\n

    \r\n
    \r\n
      \r\n
    • \r\n {selectedProductUnit ? (\r\n <>\r\n {selectedProductUnit.unit_price !==\r\n selectedProductUnit.selling_price ? (\r\n \r\n Rs. {selectedProductUnit.unit_price}\r\n \r\n ) : (\r\n \"\"\r\n )}{\" \"}\r\n \r\n Rs. {selectedProductUnit.selling_price}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    • \r\n
    \r\n
    \r\n
    \r\n {selectedProduct.sold_out == \"Yes\" ? (\r\n \r\n Out of stock\r\n \r\n ) : (\r\n <>\r\n
    \r\n {selectedProductUnit && selectedProduct ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n changeTab(\"combo\")}\r\n style={{\r\n display:\r\n selectedProduct.product_type === \"Combo\"\r\n ? \"\"\r\n : \"none\",\r\n }}\r\n >\r\n Products\r\n \r\n changeTab(\"desc\")}\r\n >\r\n Description\r\n \r\n changeTab(\"heal\")}\r\n style={{\r\n display:\r\n selectedProduct.product_type !== \"Combo\"\r\n ? \"\"\r\n : \"none\",\r\n }}\r\n >\r\n Health Benefits\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {activeTab == \"desc\" ? (\r\n

    {selectedProduct.prod_description}

    \r\n ) : activeTab === \"combo\" ? (\r\n
      \r\n {selectedProduct.combos.map((d, index) => (\r\n
    • \r\n {d.product_name} {d.net_weight}{\" \"}\r\n {d.unit_type_name} Rs. {d.discounted_price}\r\n
    • \r\n ))}\r\n
    \r\n ) : (\r\n
      \r\n {selectedProduct.health_benefits.map(\r\n (d, index) => (\r\n
    • {d.descriptions}
    • \r\n )\r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n

    Related Products


    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n

    \r\n
    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n )}\r\n
    \r\n \r\n );\r\n}\r\n\r\nProduct.propTypes = {\r\n cartitems: PropTypes.array.isRequired,\r\n addItemtoCart: PropTypes.func.isRequired,\r\n increaseCartItemQuantity: PropTypes.func.isRequired,\r\n decreaseCartItemQuantity: PropTypes.func.isRequired,\r\n loadCartItems: PropTypes.func.isRequired,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n cartitems: state.cartitems,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n addItemtoCart: cartAction.addItemtoCart,\r\n increaseCartItemQuantity: cartAction.increaseCartItemQuantity,\r\n decreaseCartItemQuantity: cartAction.decreaseCartItemQuantity,\r\n loadCartItems: cartAction.loadCartItems,\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Product);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faTimes,\r\n faCheck,\r\n faPlus,\r\n faMinus,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as cartAction from \"../../redux/actions/cartAction\";\r\nimport \"./index.css\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nfunction Cart(props) {\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n\r\n useEffect(() => {\r\n props\r\n .loadCartItems()\r\n .then((result) => { })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }, []);\r\n\r\n const decreaseQuantity = (getCartItem) => {\r\n console.log(getCartItem);\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) - 1;\r\n props\r\n .decreaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n // setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n const increaseQuantity = (getCartItem) => {\r\n let thisQuantity = getCartItem.quantity;\r\n let enteredQuantity = parseInt(thisQuantity) + 1;\r\n props\r\n .increaseCartItemQuantity(getCartItem, enteredQuantity)\r\n .then((result) => {\r\n // setEnteredQuantity(0);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n function removeFromCart(getItem) {\r\n props\r\n .removeItemFromCart(getItem)\r\n .then((result) => { })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n function TotalAmount() {\r\n let totalAmount = 0;\r\n props.cartitems.map((car) => {\r\n totalAmount =\r\n totalAmount +\r\n parseFloat(car.selling_price).toFixed(2) * parseInt(car.quantity);\r\n });\r\n\r\n let formatedAmount = parseFloat(totalAmount).toFixed(2);\r\n return formatedAmount;\r\n }\r\n\r\n function GSTAmount() {\r\n let gstAmount = 0;\r\n props.cartitems.map((car) => {\r\n gstAmount =\r\n gstAmount + parseFloat(car.gst).toFixed(2) * parseInt(car.quantity);\r\n });\r\n\r\n let formatedAmount = parseFloat(gstAmount).toFixed(2);\r\n return formatedAmount;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Cart - Five Element \"Food from Heaven\"\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {props.cartitems && props.cartitems.length > 0\r\n ? props.cartitems.map((item, index) => {\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n removeFromCart(item)}>\r\n \r\n \r\n
    \r\n
    \r\n \r\n {item.product_name}\r\n \r\n

    \r\n Rs. {item.selling_price}\r\n

    \r\n \r\n {item.net_weight} {item.unit_type} x {item.quantity}{\" \"}\r\n = Rs. {parseInt(item.quantity) * item.selling_price}\r\n \r\n
    \r\n
    \r\n \r\n );\r\n })\r\n : \"\"}\r\n \r\n \r\n \r\n \r\n \r\n #\r\n Product\r\n Unit Price\r\n Quantity\r\n Sub Total\r\n Action\r\n \r\n \r\n \r\n {props.cartitems && props.cartitems.length > 0 ? (\r\n <>\r\n {props.cartitems.map((item, index) => {\r\n return (\r\n \r\n {index + 1}\r\n \r\n {item.product_name}\r\n

    \r\n {item.net_weight} {item.unit_type}\r\n \r\n Rs. {item.selling_price}\r\n \r\n
    \r\n
    \r\n decreaseQuantity(item)}\r\n >\r\n \r\n \r\n
    \r\n \r\n
    \r\n increaseQuantity(item)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Rs. {parseInt(item.quantity) * item.selling_price}\r\n \r\n \r\n removeFromCart(item)}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n Total
    \r\n {/*

    \r\n Tax amount Rs. included in the\r\n total amount.\r\n

    */}\r\n \r\n \r\n Rs. \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n Cart is empty\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n
    \r\n {props.cartitems && props.cartitems.length > 0 ? (\r\n \r\n \r\n \r\n Proceed to Checkout\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n \r\n );\r\n}\r\n\r\nCart.propTypes = {\r\n cartitems: PropTypes.array.isRequired,\r\n addItemtoCart: PropTypes.func.isRequired,\r\n increaseCartItemQuantity: PropTypes.func.isRequired,\r\n decreaseCartItemQuantity: PropTypes.func.isRequired,\r\n loadCartItems: PropTypes.func.isRequired,\r\n removeItemFromCart: PropTypes.func.isRequired,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n cartitems: state.cartitems,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n addItemtoCart: cartAction.addItemtoCart,\r\n increaseCartItemQuantity: cartAction.increaseCartItemQuantity,\r\n decreaseCartItemQuantity: cartAction.decreaseCartItemQuantity,\r\n loadCartItems: cartAction.loadCartItems,\r\n removeItemFromCart: cartAction.removeItemFromCart,\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Cart);\r\n","import * as types from \"./actionTypes\";\r\nimport AddressService from \"../../services/AddressService\";\r\n\r\nconst addressAPI = new AddressService();\r\n\r\nexport function loadUserAddressesSuccess(userAddresses) {\r\n return { type: types.LOAD_ADDRESS_SUCCESS, userAddresses };\r\n}\r\n\r\nexport function newUserAddressSuccess(userAddress) {\r\n return { type: types.ADD_ADDRESS_SUCCESS, userAddress };\r\n}\r\n\r\nexport function deleteUserAddressSuccess(addressId) {\r\n return { type: types.REMOVE_ADDRESS_SUCCESS, addressId };\r\n}\r\n\r\nexport function getAddressByIdSuccess(addressId) {\r\n return { type: types.GET_ADDRESS_BY_ID_SUCCESS, addressId };\r\n}\r\n\r\nexport function updateUserAddressSuccess(userAddress) {\r\n return { type: types.UPDATE_ADDRESS_SUCCESS, userAddress };\r\n}\r\n\r\nexport function loadUserAddresses() {\r\n return function (dispatch) {\r\n return addressAPI\r\n .getUserAddress()\r\n .then((userAddresses) => {\r\n dispatch(loadUserAddressesSuccess(userAddresses));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n\r\nexport function addNewAddress(getNewAddress) {\r\n let finalData = JSON.stringify(getNewAddress);\r\n return function (dispatch) {\r\n return addressAPI\r\n .addNewAddress(finalData)\r\n .then((response) => {\r\n let userAddress = getNewAddress;\r\n userAddress.id = response.address;\r\n userAddress.user_id = \"\";\r\n userAddress.deleted_at = \"\";\r\n userAddress.created_at = \"\";\r\n userAddress.updated_at = \"\";\r\n dispatch(newUserAddressSuccess(userAddress));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n\r\nexport function deleteUserAddresses(getId) {\r\n return function (dispatch) {\r\n return addressAPI\r\n .deleteUserAddress(getId)\r\n .then((response) => {\r\n dispatch(deleteUserAddressSuccess(getId));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n\r\nexport function getAddressById(addressId) {\r\n return function (dispatch) {\r\n return addressAPI\r\n .getAddressDetails()\r\n .then(() => {\r\n return dispatch(getAddressByIdSuccess(addressId));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n\r\nexport function updateUserAddress(userAddress) {\r\n let finalData = JSON.stringify(userAddress);\r\n return function (dispatch) {\r\n return addressAPI\r\n .updateSelectedUserAddress(finalData)\r\n .then((response) => {\r\n dispatch(updateUserAddressSuccess(userAddress));\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n };\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Toast } from \"react-bootstrap\";\r\nimport \"./index.css\";\r\n\r\nfunction ToastCom(props) {\r\n useEffect(() => {}, [props]);\r\n\r\n return (\r\n props.setShowToast(false)}\r\n show={props.showToast}\r\n delay={5000}\r\n autohide\r\n style={{\r\n position: \"absolute\",\r\n top: 130,\r\n right: 15,\r\n }}\r\n className={props.toastType == \"error\" ? \"errorToast\" : \"successToast\"}\r\n >\r\n \r\n \r\n {props.toastType == \"error\" ? \"Error\" : \"Success\"}\r\n \r\n \r\n \r\n
      \r\n {props.toastMessage && props.toastMessage\r\n ? props.toastMessage.map((msg, index) => {\r\n return
    • {msg}
    • ;\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default ToastCom;\r\n","export default __webpack_public_path__ + \"static/media/emptycart.1b0d2f53.png\";","export default __webpack_public_path__ + \"static/media/warning.c8466570.png\";","export default __webpack_public_path__ + \"static/media/payments.0d6148c7.jpg\";","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faEdit } from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n Accordion,\r\n Modal,\r\n} from \"react-bootstrap\";\r\nimport AuthService from \"../../services/AuthService\";\r\nimport AddressService from \"../../services/AddressService\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as cartAction from \"../../redux/actions/cartAction\";\r\nimport * as addressAction from \"../../redux/actions/addressAction\";\r\nimport ToastCom from \"../common/toasts\";\r\nimport { Typeahead } from \"react-bootstrap-typeahead\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\n\r\nimport EmptyCartImage from \"./emptycart.png\";\r\nimport WarningImage from \"./warning.png\";\r\nimport paymentIcon from \"./payments.jpg\";\r\nimport \"./index.css\";\r\n\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nfunction Checkout(props) {\r\n const authApiCall = new AuthService();\r\n const addressApiCall = new AddressService();\r\n\r\n const [orderDetails, setOrderDetails] = useState({\r\n products: [],\r\n delivery_charges: \"\",\r\n order_status: \"Order_placed\",\r\n order_amount: \"\",\r\n payment_status: \"\",\r\n modeOfPayment: \"\",\r\n DeliveryType: \"\",\r\n delivery_address: \"\",\r\n user_id: \"\",\r\n });\r\n const [showNewAddressModal, setShowNewAddressModal] = useState(false);\r\n const [areaCodeDetail, setareaCodeDetail] = useState({});\r\n\r\n const [newAddressForm, setNewAddressForm] = useState({\r\n id: \"\",\r\n name: \"\",\r\n mobile: \"\",\r\n street: \"\",\r\n city: \"\",\r\n state: \"\",\r\n area_name: \"\",\r\n landmark: \"\",\r\n pincode: \"\",\r\n user_id: \"\",\r\n otp: \"\",\r\n });\r\n const [showOtpVerificationModal, setShowOtpVerificationModal] =\r\n useState(false);\r\n\r\n const [userAddresses, setUserAddresses] = useState([]);\r\n const [deliveryPincodes, setDeliveryPincodes] = useState([]);\r\n\r\n const [pincodeChange, setPincodeChange] = useState();\r\n const [showPincodeError, setShowPincodeError] = useState(false);\r\n const [subTotal, setSubTotal] = useState(\"\");\r\n const [deliveryCharges, setDeliveryCharges] = useState(0);\r\n const [discountAmount, setDiscountAmount] = useState(0);\r\n const [taxAmount, setTaxAmount] = useState(0);\r\n const [totalAmountToDisplay, setTotalAmountToDisplay] = useState(0);\r\n const [isOrderPlaced, setIsOrderPlaced] = useState(false);\r\n const [loggedinUserDetails, setLoggedinUserDetails] = useState();\r\n const [buttonLoader, setButtonLoader] = useState(false);\r\n const [couponCode, setCouponCode] = useState(\"\");\r\n const [allCity, setAllCity] = useState([]);\r\n const [terms, setTerms] = useState(true)\r\n\r\n useEffect(() => {\r\n // if (!authApiCall.loggedIn()) {\r\n // props.history.push(\"/user/login\");\r\n // } else {\r\n props\r\n .loadCartItems()\r\n .then((result) => { })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n if (authApiCall.loggedIn()) {\r\n props\r\n .loadUserAddresses()\r\n .then((result) => { })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n addressApiCall\r\n .getMyCityAll()\r\n .then((res) => {\r\n setAllCity(res);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n\r\n let userDetails = JSON.parse(localStorage.getItem(\"loggedinUserDetails\"));\r\n setLoggedinUserDetails(userDetails);\r\n\r\n Promise.all([addressApiCall.getDeliveryPincodes()])\r\n .then(([pincodes]) => {\r\n setDeliveryPincodes(pincodes);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, []);\r\n\r\n const handleCloseAddressModal = () => setShowNewAddressModal(false);\r\n const handleShowAddressModal = () => setShowNewAddressModal(true);\r\n\r\n const handleCloseOTPModal = () => setShowOtpVerificationModal(false);\r\n const handleShowOTPModal = () => {\r\n // e.preventDefault();\r\n var sendData = newAddressForm;\r\n addressApiCall\r\n .sendOtp(sendData)\r\n .then((data) => {\r\n setShowOtpVerificationModal(true);\r\n toast.success(\r\n \"OTP send successfully. Please check your mobile number\",\r\n {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n }\r\n );\r\n })\r\n .catch((err) => {\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n };\r\n\r\n function handleNewAddressForm(e) {\r\n const { name, value } = e.target;\r\n setNewAddressForm((newAddressForm) => ({\r\n ...newAddressForm,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n const onChangePincode = (selected) => {\r\n setPincodeChange(selected);\r\n };\r\n\r\n function onChangePincodeData(e) {\r\n const { name, value } = e.target;\r\n setNewAddressForm((newAddressForm) => ({\r\n ...newAddressForm,\r\n [name]: value,\r\n }));\r\n let sendData = {\r\n pincode: e.target.value,\r\n };\r\n if (e.target.value.length >= 6) {\r\n addressApiCall\r\n .pincodeValidation(sendData)\r\n .then((data) => {\r\n setShowPincodeError(false);\r\n setareaCodeDetail(data);\r\n // if (parseFloat(subTotal) < parseFloat(2000).toFixed(2)) {\r\n if (orderDetails.DeliveryType === \"Express\") {\r\n data.express_charge =\r\n data.express_charge === null ? \"0\" : data.express_charge;\r\n setDeliveryCharges(parseFloat(data.express_charge).toFixed(2));\r\n } else {\r\n data.normal_charge =\r\n data.normal_charge === null ? \"0\" : data.normal_charge;\r\n setDeliveryCharges(parseFloat(data.normal_charge).toFixed(2));\r\n }\r\n setNewAddressForm({\r\n ...newAddressForm,\r\n city: data.city_id,\r\n area_name: data.area_name,\r\n state: data.distance,\r\n pincode: data.pincode,\r\n });\r\n // }\r\n })\r\n .catch((err) => {\r\n setShowPincodeError(true);\r\n setDeliveryCharges(0);\r\n });\r\n }\r\n }\r\n\r\n function handleOtpForm(e) {\r\n const { name, value } = e.target;\r\n setNewAddressForm((newAddressForm) => ({\r\n ...newAddressForm,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function handleCouponCode(event) {\r\n event.preventDefault();\r\n var tem = event.target.value;\r\n setCouponCode(tem);\r\n }\r\n\r\n function verifyOtpForm(e) {\r\n e.preventDefault();\r\n var sendData = newAddressForm;\r\n addressApiCall\r\n .verifyOtp(sendData)\r\n .then((data) => {\r\n localStorage.setItem(\"loginToken\", data[\"token\"]);\r\n let loggedinUserDetails = {\r\n id: data[\"user\"],\r\n name: \"\",\r\n email: \"\",\r\n token: data[\"token\"],\r\n };\r\n localStorage.setItem(\r\n \"loggedinUserDetails\",\r\n JSON.stringify(loggedinUserDetails)\r\n );\r\n setTimeout(() => {\r\n completeOrder();\r\n }, 3000);\r\n setShowOtpVerificationModal(false);\r\n })\r\n .catch((err) => {\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n\r\n function handleResendOtp(e) {\r\n e.preventDefault();\r\n var sendData = newAddressForm;\r\n addressApiCall\r\n .resendOtp(sendData)\r\n .then((data) => {\r\n toast.success(\"OTP Resend Successfully\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n })\r\n .catch((err) => {\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n\r\n function editAddress(getId, pincode, selectedAddress) {\r\n var selectedPincode = deliveryPincodes.filter(function (el) {\r\n return el.pincode == pincode;\r\n });\r\n setareaCodeDetail(selectedPincode[0]);\r\n if (parseFloat(subTotal) < parseFloat(2000).toFixed(2)) {\r\n setDeliveryCharges(\r\n parseFloat(selectedPincode[0].normal_charge).toFixed(2)\r\n );\r\n }\r\n let thisName = \"delivery_address\";\r\n setOrderDetails((orderDetails) => ({\r\n ...orderDetails,\r\n [thisName]: getId,\r\n }));\r\n setNewAddressForm(selectedAddress);\r\n }\r\n\r\n function saveNewAddress(e) {\r\n e.preventDefault();\r\n if (!pincodeChange) {\r\n setShowPincodeError(true);\r\n return false;\r\n }\r\n let userDetails = JSON.parse(localStorage.getItem(\"loggedinUserDetails\"));\r\n let userId = userDetails.id;\r\n var sendData = newAddressForm;\r\n sendData.user_id = userId.toString();\r\n sendData.pincode = pincodeChange[0].pincode;\r\n props\r\n .addNewAddress(sendData)\r\n .then((result) => {\r\n setNewAddressForm({\r\n id: \"\",\r\n name: \"\",\r\n mobile: \"\",\r\n street: \"\",\r\n city: \"\",\r\n state: \"\",\r\n area_name: \"\",\r\n landmark: \"\",\r\n pincode: \"\",\r\n user_id: \"\",\r\n otp: \"\",\r\n });\r\n setShowNewAddressModal(false);\r\n toast.success(\"New address is added\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n })\r\n .catch((err) => {\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n\r\n function selectAddress(getId, pincode, selectedAddress) {\r\n var selectedPincode = deliveryPincodes.filter(function (el) {\r\n return el.pincode == pincode;\r\n });\r\n if (parseFloat(subTotal) < parseFloat(2000).toFixed(2)) {\r\n setDeliveryCharges(\r\n parseFloat(selectedPincode[0].normal_charge).toFixed(2)\r\n );\r\n }\r\n setareaCodeDetail(selectedPincode[0]);\r\n console.log(selectedPincode);\r\n console.log(areaCodeDetail);\r\n setNewAddressForm(selectedAddress);\r\n let thisName = \"delivery_address\";\r\n setOrderDetails((orderDetails) => ({\r\n ...orderDetails,\r\n [thisName]: getId,\r\n }));\r\n }\r\n\r\n function selectPaymentType(e) {\r\n let thisName = \"modeOfPayment\";\r\n setOrderDetails((orderDetails) => ({\r\n ...orderDetails,\r\n [thisName]: e.target.value,\r\n }));\r\n }\r\n\r\n function selectTerms(e) {\r\n // console.log(e.target.value)\r\n // console.log(terms)\r\n setTerms(e)\r\n console.log(terms)\r\n }\r\n\r\n function selectDeliveryType(e) {\r\n let thisName = \"DeliveryType\";\r\n setOrderDetails((orderDetails) => ({\r\n ...orderDetails,\r\n [thisName]: e.target.value,\r\n }));\r\n if (parseFloat(subTotal) < parseFloat(2000).toFixed(2)) {\r\n // console.log(orderDetails.DeliveryType);\r\n if (e.target.value === \"Express\") {\r\n areaCodeDetail.express_charge =\r\n areaCodeDetail.express_charge === null\r\n ? \"0\"\r\n : areaCodeDetail.express_charge;\r\n setDeliveryCharges(\r\n parseFloat(areaCodeDetail.express_charge).toFixed(2)\r\n );\r\n } else {\r\n areaCodeDetail.normal_charge =\r\n areaCodeDetail.normal_charge === null\r\n ? \"0\"\r\n : areaCodeDetail.normal_charge;\r\n setDeliveryCharges(parseFloat(areaCodeDetail.normal_charge).toFixed(2));\r\n }\r\n }\r\n }\r\n\r\n function getCouponAmount() {\r\n let discount_code = couponCode;\r\n if (discount_code == \"\") {\r\n toast.warn(\"Please enter the valid coupon code\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n return false;\r\n }\r\n if (newAddressForm.mobile == \"\") {\r\n toast.warn(\"Please enter address details to apply the coupon\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n return false;\r\n }\r\n let d_code = {\r\n discount_code: discount_code,\r\n order_amount: SubTotal(),\r\n mobile_number: newAddressForm.mobile,\r\n };\r\n addressApiCall\r\n .getOfferCodeDetails(d_code)\r\n .then((result) => {\r\n setDiscountAmount(parseInt(result));\r\n })\r\n .catch((err) => {\r\n setDiscountAmount(0);\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n\r\n function clearCouponCode() {\r\n setDiscountAmount(0);\r\n setCouponCode(\"\");\r\n }\r\n\r\n function completeOrder() {\r\n console.log(terms)\r\n if (terms === false) {\r\n toast.warn(\"Please accept the terms & conditions\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n return false\r\n }\r\n if (orderDetails.modeOfPayment === \"\") {\r\n toast.warn(\"Please select the mode of payment\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n return false;\r\n }\r\n if (!authApiCall.loggedIn()) {\r\n if (\r\n newAddressForm.mobile == \"\" ||\r\n newAddressForm.pincode == \"\" ||\r\n newAddressForm.landmark == \"\" ||\r\n newAddressForm.city == \"\"\r\n ) {\r\n toast.warn(\"Please fill the address details to place the order\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n } else {\r\n handleShowOTPModal();\r\n }\r\n } else {\r\n setButtonLoader(true);\r\n let userDetails = JSON.parse(localStorage.getItem(\"loggedinUserDetails\"));\r\n let userId = userDetails.id;\r\n var sendData = orderDetails;\r\n sendData[\"address\"] = newAddressForm;\r\n sendData.user_id = userId.toString();\r\n sendData.delivery_charges = deliveryCharges.toString();\r\n sendData.delivery_address = orderDetails.delivery_address.toString();\r\n sendData.products = JSON.stringify(props.cartitems);\r\n sendData[\"coupon_code\"] = couponCode;\r\n sendData[\"coupon_amount\"] = discountAmount;\r\n sendData[\"tax_amount\"] = taxAmount;\r\n let totalAmount = 0;\r\n props.cartitems.map((car) => {\r\n totalAmount =\r\n totalAmount +\r\n parseFloat(car.selling_price).toFixed(2) * parseInt(car.quantity);\r\n });\r\n sendData.order_amount = (\r\n totalAmount +\r\n parseFloat(deliveryCharges) +\r\n parseFloat(taxAmount) -\r\n parseFloat(discountAmount)\r\n ).toString();\r\n addressApiCall\r\n .completeOrder(sendData)\r\n .then((data) => {\r\n if (sendData.modeOfPayment == \"Online\") {\r\n let finalAmount =\r\n parseFloat(deliveryCharges) +\r\n parseFloat(totalAmount) +\r\n parseFloat(taxAmount) -\r\n parseFloat(discountAmount);\r\n let orderId = data.order.toString();\r\n let checkoutData = {\r\n amount: parseFloat(finalAmount).toFixed(2),\r\n order_id: orderId,\r\n };\r\n addressApiCall\r\n .checkoutOrder(checkoutData)\r\n .then((checkoutDataRes) => {\r\n props\r\n .emptyCartItems()\r\n .then((result) => {\r\n setIsOrderPlaced(true);\r\n var options = {\r\n key: checkoutDataRes.key,\r\n currency: \"INR\",\r\n amount: parseFloat(finalAmount).toFixed(2).toString(),\r\n order_id: checkoutDataRes.reference_id,\r\n name: newAddressForm.name,\r\n description: \"checkout page\",\r\n image: \"/logo.png\",\r\n handler: async function (response) {\r\n let updateOrderData = {\r\n razorpay_signature: response.razorpay_signature,\r\n razorpay_payment_id: response.razorpay_payment_id,\r\n order_id: data.order,\r\n };\r\n addressApiCall\r\n .updateOrderStatus(updateOrderData)\r\n .then((dataRes) => {\r\n props\r\n .emptyCartItems()\r\n .then((result) => {\r\n props.history.push(\r\n `/order/notify/${data.order}`\r\n );\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n },\r\n prefill: {\r\n name: newAddressForm.name,\r\n email: \"guest@fiveelementorganic.com\",\r\n contact: newAddressForm.mobile,\r\n },\r\n notes: {\r\n note_key_1: \"Order Checkout\",\r\n },\r\n theme: {\r\n color: \"#F37254\",\r\n },\r\n };\r\n const rzp1 = new window.Razorpay(options);\r\n rzp1.on(\"payment.failed\", function (response) {\r\n console.log(response);\r\n });\r\n rzp1.open();\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n })\r\n .catch((err) => {\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n } else {\r\n props\r\n .emptyCartItems()\r\n .then((result) => {\r\n props.history.push(`/order/notify/${data.order}`);\r\n window.localStorage.clear();\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n }\r\n\r\n function SubTotal() {\r\n let totalAmount = 0;\r\n props.cartitems.map((car) => {\r\n totalAmount =\r\n totalAmount +\r\n parseFloat(car.selling_price).toFixed(2) * parseInt(car.quantity);\r\n });\r\n setSubTotal(parseFloat(totalAmount).toFixed(2));\r\n return parseFloat(totalAmount).toFixed(2);\r\n }\r\n\r\n function TaxTotal() {\r\n let totalTaxtAmount = 0;\r\n props.cartitems.map((car) => {\r\n let tax = 0;\r\n if (discountAmount > 0) {\r\n let avgDiscountPerProduct =\r\n parseFloat(discountAmount) / parseFloat(props.cartitems.length);\r\n console.log(avgDiscountPerProduct);\r\n let subTotal = 0;\r\n subTotal = car.subTotal - parseFloat(avgDiscountPerProduct);\r\n tax = (subTotal * car.gst) / 100;\r\n totalTaxtAmount = totalTaxtAmount + tax;\r\n } else {\r\n tax = (car.subTotal * car.gst) / 100;\r\n totalTaxtAmount = totalTaxtAmount + tax;\r\n }\r\n });\r\n let roundoff = Math.round(totalTaxtAmount.toFixed(2));\r\n setTaxAmount(roundoff);\r\n return parseFloat(roundoff);\r\n }\r\n\r\n function TotalAmount() {\r\n let totalAmount = 0;\r\n props.cartitems.map((car) => {\r\n totalAmount =\r\n totalAmount +\r\n parseFloat(car.selling_price).toFixed(2) * parseInt(car.quantity);\r\n });\r\n\r\n let finalAmount =\r\n parseFloat(totalAmount) +\r\n parseFloat(taxAmount) +\r\n parseFloat(deliveryCharges) -\r\n parseFloat(discountAmount);\r\n let formatedAmount = parseFloat(finalAmount).toFixed(2);\r\n return formatedAmount;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Checkout - Five Element \"Food from Heaven\"\r\n \r\n \r\n \r\n \r\n \r\n {props.cartitems && props.cartitems.length > 0 ? (\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    Shipping address
    \r\n {/* \r\n Add New\r\n */}\r\n
    \r\n
    \r\n \r\n {props.userAddresses && props.userAddresses.length > 0 ? (\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Choose from a list of pre-existing addresses\r\n \r\n \r\n \r\n \r\n \r\n {props.userAddresses &&\r\n props.userAddresses.length > 0 ? (\r\n props.userAddresses.map(\r\n (address, index) => {\r\n return (\r\n \r\n \r\n \r\n Address {index + 1}{\" \"}\r\n \r\n editAddress(\r\n address.id,\r\n address.pincode,\r\n address\r\n )\r\n }\r\n />\r\n \r\n \r\n
    \r\n

    \r\n {address.name},{\" \"}\r\n {address.mobile}\r\n

    \r\n

    {address.street}

    \r\n

    \r\n {address.landmark},{\" \"}\r\n {address.state}\r\n

    \r\n

    \r\n {address.city},{\" \"}\r\n {address.pincode}\r\n

    \r\n
    \r\n \r\n selectAddress(\r\n address.id,\r\n address.pincode,\r\n address\r\n )\r\n }\r\n >\r\n Choose\r\n \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n )\r\n ) : (\r\n

    \r\n No Address available\r\n

    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n Whether you'd like to add a new address?\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {showPincodeError ? (\r\n \r\n Please enter the valid pincode\r\n \r\n ) : (\r\n \" \"\r\n )}\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {props.userAddresses &&\r\n props.userAddresses.length > 0 ? (\r\n \"\"\r\n ) : (\r\n <>\r\n Have you already registered? kindly{\" \"}\r\n login\r\n \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    Delivery Options

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

    \r\n Within Chennai - Within 14 hours delivery\r\n
    \r\n Other than Chennai - Within 3 days delivery\r\n

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

    \r\n Within Chennai - Free delivery, delivered\r\n within 3 days
    \r\n Other than Chennai - Within 6 days delivery\r\n

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

    Payment Methods

    \r\n
    100% Purchase Protection
    \r\n

    All transactions are secured and encrypted.

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {/* \r\n \r\n

    \r\n After clicking “Place order”, you will be\r\n redirected to Cash on Delivery to complete\r\n your purchase securely.\r\n

    \r\n
    \r\n
    */}\r\n \r\n \r\n \r\n \r\n \r\n {/* (Cards, UPI, NetBanking, Wallets) */}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {/* \r\n \r\n

    \r\n After clicking “Place order”, you will be\r\n redirected to Razorpay (Cards, UPI,\r\n NetBanking, Wallets) to complete your purchase\r\n securely..\r\n

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

    Your order

    */}
    \r\n\r\n
    \r\n
    \r\n
      \r\n
    • Product
    • \r\n
    • Total
    • \r\n
    \r\n
    \r\n
    \r\n
      \r\n {props.cartitems && props.cartitems.length > 0\r\n ? props.cartitems.map((item, index) => {\r\n return (\r\n
    • \r\n \r\n {item.product_name} x {item.quantity}\r\n
      ({item.net_weight} {item.unit_type})\r\n
      {\" \"}\r\n \r\n {\" \"}\r\n ₹\r\n {parseInt(item.quantity) *\r\n item.selling_price}{\" \"}\r\n \r\n
    • \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • Sub Total
    • \r\n
    • \r\n Rs. \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n \r\n {/* Rs {discountAmount} discount applied to your order{\" \"} */}\r\n \r\n Clear Coupon\r\n \r\n

      \r\n
    • \r\n
    • \r\n \r\n {buttonLoader ? \"Processing...\" : \"Apply\"}\r\n \r\n
      \r\n Rs. {discountAmount}\r\n
    • \r\n
    \r\n {/*

    \r\n Choose available coupons Click here\r\n

    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • Tax
    • \r\n
    • \r\n Rs.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • Shipping
    • \r\n
    • \r\n {deliveryCharges == 0\r\n ? \"Free\"\r\n : `Rs. ${deliveryCharges}`}\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • Total
    • \r\n
    • \r\n Rs. \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n {\r\n setTerms(e.currentTarget.checked)\r\n }}\r\n label=\"To proceed with the order, please accept the terms and conditions.\"\r\n />\r\n \r\n \r\n
    \r\n
    \r\n \r\n {buttonLoader ? \"Processing...\" : \"Place order\"}\r\n \r\n
    \r\n \r\n \r\n ) : props.cartitems && props.cartitems.length <= 0 && isOrderPlaced ? (\r\n \r\n \r\n

    Warning!

    \r\n \"Shipping\r\n
    \r\n Your order has been placed. Please reinitiate the payment from\r\n your order, as you have cancelled the payment process.\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n \r\n

    Warning!

    \r\n \"Shipping\r\n
    Your cart is empty
    \r\n \r\n
    \r\n )}\r\n \r\n \r\n \r\n To complete a order verify your mobile number\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n Mobile Number\r\n \r\n \r\n \r\n \r\n \r\n OTP\r\n \r\n \r\n \r\n \r\n

    \r\n OTP Not received yet ?{\" \"}\r\n \r\n Resend otp\r\n \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n Close\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nCheckout.propTypes = {\r\n cartitems: PropTypes.array.isRequired,\r\n loadCartItems: PropTypes.func.isRequired,\r\n emptyCartItems: PropTypes.func.isRequired,\r\n userAddresses: PropTypes.array.isRequired,\r\n loadUserAddresses: PropTypes.func.isRequired,\r\n addNewAddress: PropTypes.func.isRequired,\r\n deleteUserAddresses: PropTypes.func.isRequired,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n cartitems: state.cartitems,\r\n userAddresses: state.userAddresses,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n loadCartItems: cartAction.loadCartItems,\r\n emptyCartItems: cartAction.emptyCartItems,\r\n loadUserAddresses: addressAction.loadUserAddresses,\r\n addNewAddress: addressAction.addNewAddress,\r\n deleteUserAddresses: addressAction.deleteUserAddresses,\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Checkout);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Container, Row, Col, Card, Button, Modal } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport AuthService from \"../../../services/AuthService\";\r\nimport AddressService from \"../../../services/AddressService\";\r\nimport moment from \"moment\";\r\nimport \"./index.css\";\r\n\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nfunction MyOrders(props) {\r\n const authApiCall = new AuthService();\r\n const addressApiCall = new AddressService();\r\n\r\n const [myOrders, setMyOrders] = useState([]);\r\n const [modalShowCancelOrder, setModalShowCancelOrder] = useState(false);\r\n const [loggedinUserDetails, setLoggedinUserDetails] = useState();\r\n const [selectedOrder, setSelectedOrder] = useState();\r\n\r\n useEffect(() => {\r\n if (!authApiCall.loggedIn()) {\r\n props.history.push(\"/user/login\");\r\n } else {\r\n let userDetails = JSON.parse(localStorage.getItem(\"loggedinUserDetails\"));\r\n setLoggedinUserDetails(userDetails);\r\n\r\n addressApiCall\r\n .getMyOrdereAll()\r\n .then((getMyOrders) => {\r\n setMyOrders(getMyOrders.reverse());\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }, []);\r\n\r\n function MyVerticallyCenteredModal(props) {\r\n return (\r\n \r\n \r\n \r\n Cancel order\r\n \r\n \r\n \r\n

    Are you sure you want to cancel this order?

    \r\n
    \r\n \r\n \r\n Yes\r\n \r\n \r\n No\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function cancelOrder() {\r\n let sendData = { id: selectedOrder.id };\r\n addressApiCall\r\n .cancelOrder(sendData)\r\n .then((response) => {\r\n window.location.reload();\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n function cancelOrderDialog(getOrder) {\r\n setSelectedOrder(getOrder);\r\n setModalShowCancelOrder(true);\r\n }\r\n\r\n function retryPayment(getOrderDetails) {\r\n let sendData = { order_id: getOrderDetails.id };\r\n addressApiCall\r\n .retryPayment(sendData)\r\n .then((retryResponse) => {\r\n let totalAmount =\r\n parseFloat(getOrderDetails.sub_total) +\r\n parseFloat(getOrderDetails.delivery_charges);\r\n var options = {\r\n key: retryResponse.key,\r\n currency: \"INR\",\r\n amount: parseFloat(totalAmount).toFixed(2).toString(),\r\n order_id: retryResponse.reference_id,\r\n name: \"Aswa\",\r\n description: \"checkout page\",\r\n image: \"/logo.png\",\r\n handler: async function (response) {\r\n let updateOrderData = {\r\n razorpay_signature: response.razorpay_signature,\r\n razorpay_payment_id: response.razorpay_payment_id,\r\n order_id: getOrderDetails.id,\r\n };\r\n addressApiCall\r\n .updateOrderStatus(updateOrderData)\r\n .then((dataRes) => {\r\n props.history.push(\r\n `/order/payment-success/${getOrderDetails.id}`\r\n );\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n },\r\n prefill: {\r\n name: loggedinUserDetails.name,\r\n email: loggedinUserDetails.email,\r\n contact: loggedinUserDetails.mobile_number,\r\n },\r\n notes: {\r\n note_key_1: \"Tea. Earl Grey. Hot\",\r\n },\r\n theme: {\r\n color: \"#F37254\",\r\n },\r\n };\r\n const rzp1 = new window.Razorpay(options);\r\n rzp1.on(\"payment.failed\", function (response) {\r\n console.log(response);\r\n });\r\n rzp1.open();\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {myOrders && myOrders.length > 0\r\n ? myOrders.map((order) => {\r\n if (order.product_details) {\r\n return (\r\n \r\n \r\n \r\n \r\n

    {order.order_status}

    \r\n \r\n {moment(order.created_at).format(\r\n \"DD MMM YYYY h:mm a\"\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n

    Total

    \r\n \r\n Rs.{\" \"}\r\n {parseFloat(order.sub_total) +\r\n parseFloat(order.delivery_charges)}\r\n \r\n \r\n \r\n

    ORDER # {order.id}

    \r\n \r\n Invoice\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    \r\n \r\n Delivery Address\r\n \r\n

    \r\n
    \r\n \r\n {order.delivery_address.name},{\" \"}\r\n {order.delivery_address.mobile}\r\n \r\n

    \r\n {order.delivery_address.street}\r\n

    \r\n \r\n {order.delivery_address.landmark},{\" \"}\r\n {order.delivery_address.state}\r\n \r\n

    \r\n \r\n {order.delivery_address.city},{\" \"}\r\n {order.delivery_address.pincode}\r\n \r\n
    \r\n \r\n \r\n

    \r\n \r\n Payment Info\r\n \r\n

    \r\n \r\n Payment Mode : {order.modeOfPayment}\r\n \r\n

    \r\n \r\n Payment Status :{\" \"}\r\n {order.payment_status != null\r\n ? order.payment_status\r\n : \"PENDING\"}\r\n \r\n \r\n \r\n \r\n View Details\r\n \r\n {order.order_status == \"Order Confirmed\" ||\r\n order.order_status == \"Order Placed\" ? (\r\n cancelOrderDialog(order)}\r\n >\r\n Cancel Order\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {order.payment_status == \"Payment Failed\" ||\r\n order.payment_status == \"Payment Initiated\" ? (\r\n retryPayment(order)}\r\n >\r\n Retry Payment\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n })\r\n : \"\"}\r\n \r\n
    \r\n setModalShowCancelOrder(false)}\r\n />\r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default MyOrders;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faTimes, faCheck } from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Environment from \"../../../shared/Environment\";\r\nimport AuthService from \"../../../services/AuthService\";\r\nimport AddressService from \"../../../services/AddressService\";\r\nimport moment from \"moment\";\r\nimport \"./orderDetail.css\";\r\n\r\nfunction OrderDetail(props) {\r\n const authApiCall = new AuthService();\r\n const addressApiCall = new AddressService();\r\n\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [selectedOrderDetails, setSelectedOrderDetails] = useState();\r\n\r\n useEffect(() => {\r\n const {\r\n match: { params },\r\n } = props;\r\n\r\n if (!authApiCall.loggedIn()) {\r\n props.history.push(\"/user/login\");\r\n } else {\r\n addressApiCall\r\n .getMyOrderById(params.id)\r\n .then((getMyOrder) => {\r\n setSelectedOrderDetails(getMyOrder);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }, []);\r\n\r\n function ProductDetails() {\r\n let productDetails = JSON.parse(selectedOrderDetails.product_details);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {productDetails && productDetails.length > 0 ? (\r\n productDetails.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
    SNoProductUnit PriceQuantityTotal
    {index + 1}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {item.product_name}\r\n \r\n

    \r\n {item.category}\r\n

    \r\n {item.brand}\r\n

    \r\n \r\n {item.net_weight} {item.unit_type}\r\n \r\n
    \r\n
    Rs. {item.selling_price}{item.quantity}Rs. {parseInt(item.quantity) * item.selling_price}
    No items
    \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {selectedOrderDetails ? (\r\n \r\n \r\n \r\n \r\n

    {selectedOrderDetails.order_status}

    \r\n \r\n {moment(selectedOrderDetails.created_at).format(\r\n \"DD MMM YYYY h:mm a\"\r\n )}\r\n \r\n \r\n \r\n

    Total

    \r\n \r\n Rs.{\" \"}\r\n {parseFloat(selectedOrderDetails.sub_total) +\r\n parseFloat(selectedOrderDetails.delivery_charges)}\r\n \r\n \r\n \r\n

    ORDER # {selectedOrderDetails.id}

    \r\n \r\n Invoice\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n My Orders\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default OrderDetail;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Container, Row, Col, Card, Form, Button } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as loginAction from \"../../../redux/actions/loginAction\";\r\nimport \"./index.css\";\r\n\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nfunction Login(props) {\r\n const [loginData, setLoginData] = useState({\r\n email: \"\",\r\n password: \"\",\r\n });\r\n const [buttonLoader, setButtonLoader] = useState(false);\r\n\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setLoginData((loginData) => ({\r\n ...loginData,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function userLogin(e) {\r\n e.preventDefault();\r\n setButtonLoader(true);\r\n props\r\n .loginUser(loginData)\r\n .then((data) => {\r\n props.history.push(\"/\");\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n toast.error(err.data.error[0], {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Login - Five Element \"Food from Heaven\"\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Login\r\n \r\n
    \r\n \r\n {/* Email address */}\r\n \r\n \r\n \r\n {/* Password */}\r\n \r\n \r\n
    \r\n
    \r\n \r\n {buttonLoader ? \"Processing...\" : \"Submit\"}\r\n \r\n \r\n Forgot Password?\r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n New user ? Click here to\r\n register\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nLogin.propTypes = {\r\n loggedinUser: PropTypes.object.isRequired,\r\n loginUser: PropTypes.func.isRequired,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n loggedinUser: state.loggedinUser,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n loginUser: loginAction.loginUser,\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Login);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Container, Row, Col, Card, Form, Button } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport AuthService from \"../../../services/AuthService\";\r\n\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nfunction Register(props) {\r\n const authApiCall = new AuthService();\r\n const [registerData, setRegisterData] = useState({\r\n name: \"\",\r\n email: \"\",\r\n mobile_number: \"\",\r\n password: \"\",\r\n });\r\n const [buttonLoader, setButtonLoader] = useState(false);\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setRegisterData((registerData) => ({\r\n ...registerData,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function userRegister(e) {\r\n e.preventDefault();\r\n setButtonLoader(true);\r\n authApiCall\r\n .registerUser(registerData)\r\n .then((data) => {\r\n toast.success(\r\n \"Please enter the otp that is sent to your mobile number\",\r\n {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n }\r\n );\r\n setTimeout(() => {\r\n props.history.push(`/user/verify/${data.user}`);\r\n }, 5000);\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n toast.error(err.data.error[0], {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Register - Five Element \"Food from Heaven\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Register\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {buttonLoader ? \"Processing...\" : \"Submit\"}\r\n \r\n
    \r\n

    \r\n Already registered ?{\" \"}\r\n Click here to login\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default Register;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Container, Row, Col, Card, Form, Button } from \"react-bootstrap\";\r\nimport AuthService from \"../../../services/AuthService\";\r\n\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nfunction VerifyOtp(props) {\r\n const {\r\n match: { params },\r\n } = props;\r\n\r\n const authApiCall = new AuthService();\r\n const [verifyUserData, setverifyUserData] = useState({\r\n otp: \"\",\r\n user_id: params.id,\r\n });\r\n const [buttonLoader, setButtonLoader] = useState(false);\r\n\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setverifyUserData((verifyUserData) => ({\r\n ...verifyUserData,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function handleResendOtp(e) {\r\n e.preventDefault();\r\n var sendData = {\r\n user_id: verifyUserData.user_id,\r\n };\r\n console.log(sendData);\r\n authApiCall\r\n .resendOtp(sendData)\r\n .then((data) => {\r\n toast.success(\"OTP Resend Successfully\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n })\r\n .catch((err) => {\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n\r\n function userVerify(e) {\r\n e.preventDefault();\r\n setButtonLoader(true);\r\n authApiCall\r\n .verifyUserOTP(verifyUserData)\r\n .then((data) => {\r\n toast.success(\"Your account is verified. You can login now.\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n setTimeout(() => {\r\n props.history.push(\"/user/login\");\r\n }, 5000);\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n toast.error(err.data[0].Status, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n Verify Account\r\n \r\n
    \r\n \r\n OTP\r\n \r\n \r\n \r\n {buttonLoader ? \"Processing...\" : \"Submit\"}\r\n \r\n \r\n Resend OTP\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default VerifyOtp;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport shippingImage from \"./static-icons-1.png\";\r\nimport \"./index.css\";\r\n\r\nfunction OrderNotify(props) {\r\n const {\r\n match: { params },\r\n } = props;\r\n return (\r\n <>\r\n \r\n \r\n \r\n

    Confirmed!

    \r\n {/*
    THANK YOUR FOR YOUR ORDER
    */}\r\n \"Shipping\r\n {/*
    ESTIMATED DELIVERY
    */}\r\n
    Your purchase has been made.
    \r\n
    \r\n Thank you for your purchase , your order no: #00000{params.id}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default OrderNotify;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUZCRUJBODU5RTM3MTFFOThCOUU4MTJBRTY4OEUxRTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUZCRUJBODY5RTM3MTFFOThCOUU4MTJBRTY4OEUxRTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5RkJFQkE4MzlFMzcxMUU5OEI5RTgxMkFFNjg4RTFFOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5RkJFQkE4NDlFMzcxMUU5OEI5RTgxMkFFNjg4RTFFOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgpGw4oAAAPJSURBVHja7JlZSFVRFIa9WRomoY00F5gvvZRNkkXz8BD4FGVFNs+BjQ9lSAVpGlkEFVJhFBEERRBFA2QWUZGZ5NBERZH0UFZkpaXevgXrwuZ67J7jNfPS2fCxt2dY5z/r7r3W2keP1+sNC7XWLiwEmyvaFe2KdkX/R6LbB7ogfnjiAroDENOCz62HFDj7rOhuy4pGcCTdHKiCPVATpNgGGAjL/6anw6EzFOCRrCZezOkzR8JCGAqfuD9cj3ugGh7wrBrbojEQYRyrV0M+D8l5ORcRhJdrjLW0HtYY5z16zTo45cTTmyBZx49gG5gV1XTYovd5HIoWe2nGC+TCDf01faJXw3acU4y3y+yKroQKFfra52Gj9YJRcEl+WpvCxdZYGGYI9OpLXDcXImLf0J2DDMaLOVcdUDQX5dPlG0aiLIR9hXSurXAwpw/CaL9jjV4Ym+XYy2B4CJZo1AqJOC2ePgEbeYHElhIt98RgMBa6Mg5ELHT0WxtNNrz9iy5bp+cufYaz5GLRJMmchFoH9/SBcrsXI/w9YtMZnpZowngnxxoaieZEpuHJy1xUYGGvGLKMBeWkvYKffgv0T8IL0ZTDcDOUwHkrTycbCeWFJBQLQ0V0RUEmF98ijIMEI7lYRZ0SjWh7mxI9zhh/b4VCLV29GChcynqIspzTePFjK0YImZ/H4E6AqSZZeQakBrsQg20e9eAtO1WeRo/UthKnPc29zr9gGkLXV/+UNP0kFDYBq2CR/nwy3+bbTQr/UvQRuKjjKi0lPW1aNIuilK7Ur2CyWhwShibBNIjWik3i6DunArRGl2A/E3pojrggGRQ93mBqD6/xkC50+7QC6wY/YB6c0fLTri1fn6YFUrxWkJO1aEpp7nZL4uQ3GIBYn5GpkARLNWw1qPgsLUHz9L6m4rNkwki1Ead20jX81fGcaE06mYzF8xMbhZNAn3q5URbnDuigWy2ZMht4QK5fGhcBV6Gf7vXsfLqQ/edhWGsWRFJB6toao7aKOD/BSXI5rh4VwQnq0ccW11Uq9yAnwNTz6lqQX6bMFKxrSza8zxn2hGXmOrMlGgO1vpswJBHli34G8G/d9SEyHx/acIak76cwyOLX7UTXX7d+t7XGbnZGlOhwH1ZgeLBxXKLJSvVeoYMPNtekusRWkiFYNM2GEXDFX7CtOW3hhQTd4tdpxBDvT9EQmK1To97BhiJPBYqtl/pdZBbclKmB6A9Bi1bhibo4x+tclwJ/PxzVEOik9YatMFe3Zp/1BXYj+K1lMeL+o8gV7Yp2Rbui23T7LcAAnLsv/hBxDqwAAAAASUVORK5CYII=\"","import Environment from \"../shared/Environment\";\r\n\r\nexport default class BlogService {\r\n constructor() {\r\n this.baseURL = Environment.baseURL;\r\n this.fetch = this.fetch.bind(this);\r\n }\r\n\r\n loggedIn() {\r\n // Checks if there is a saved token and it's still valid\r\n const token = this.getToken();\r\n const tokenExpiry = this.getTokenExpiry();\r\n return !!token && !this.isTokenExpired(tokenExpiry); // handwaiving here\r\n }\r\n\r\n getRecentBlogs() {\r\n return this.fetch(`${this.baseURL}/blog/recent-post-list`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getBlogCategories() {\r\n return this.fetch(`${this.baseURL}/blog/cetegory-list`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getRecentBlogsById(id) {\r\n return this.fetch(`${this.baseURL}/blog/postbycategory/${id}`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getRecentProductsByCat(catId) {\r\n return this.fetch(`${this.baseURL}/product-list/${catId}`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n getBlogById(getId) {\r\n return this.fetch(`${this.baseURL}/blog/post/${getId}`, {\r\n method: \"GET\",\r\n }).then((res) => {\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n isTokenExpired(Expiry) {\r\n try {\r\n const tokenExpiry = Expiry;\r\n return false;\r\n // if (tokenExpiry < Date.now() / 1000) {\r\n // return true;\r\n // } else return false;\r\n } catch (err) {\r\n return false;\r\n }\r\n }\r\n\r\n setToken(idToken) {\r\n // Saves user token to localStorage\r\n localStorage.setItem(\"loginToken\", idToken);\r\n // localStorage.setItem(\"org_id\", orgId);\r\n }\r\n\r\n getToken() {\r\n // Retrieves the user token from localStorage\r\n return localStorage.getItem(\"loginToken\");\r\n }\r\n\r\n setTokenExpiry(idTokenExpiry) {\r\n // Saves user token to localStorage\r\n localStorage.setItem(\"loginTokenExpiry\", idTokenExpiry);\r\n }\r\n\r\n getTokenExpiry() {\r\n // Retrieves the user token from localStorage\r\n return localStorage.getItem(\"loginTokenExpiry\");\r\n }\r\n\r\n logout() {\r\n // Clear user token and profile data from localStorage\r\n localStorage.removeItem(\"loginToken\");\r\n localStorage.removeItem(\"loginTokenExpiry\");\r\n }\r\n\r\n getProfile() {\r\n return this.getToken();\r\n }\r\n\r\n fetch(url, options) {\r\n // performs api calls sending the required authentication headers\r\n const headers = {};\r\n\r\n if (this.loggedIn()) {\r\n headers[\"Content-Type\"] = \"application/json\";\r\n headers[\"Authorization\"] = \"Bearer \" + this.getToken();\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n } else {\r\n headers[\"Content-Type\"] = \"application/json\";\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n }\r\n\r\n return fetch(url, {\r\n headers,\r\n crossDomain: true,\r\n ...options,\r\n })\r\n .then(this.processResponse)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((response) => {\r\n if (response.status === 400) {\r\n throw response;\r\n } else if (response.status === 403) {\r\n throw response;\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n }\r\n });\r\n }\r\n\r\n fetchWithoutToken(url, options) {\r\n // performs api calls sending the required authentication headers\r\n const headers = {};\r\n\r\n headers[\"Accept\"] = \"application/json\";\r\n headers[\"Access-Control-Allow-Origin\"] = \"*\";\r\n headers[\"Content-Type\"] = \"application/json\";\r\n\r\n return fetch(url, {\r\n headers,\r\n crossDomain: true,\r\n ...options,\r\n })\r\n .then(this.processResponse)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((response) => {\r\n if (response.status === 400) {\r\n throw response;\r\n } else if (response.status === 403) {\r\n throw response;\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n }\r\n });\r\n }\r\n\r\n processResponse(response) {\r\n return new Promise((resolve, reject) => {\r\n // will resolve or reject depending on status, will pass both \"status\" and \"data\" in either case\r\n let func;\r\n response.status < 400 ? (func = resolve) : (func = reject);\r\n if (response.status === 204) {\r\n response.then((data) =>\r\n func({ status: response.status, data: { status: \"success\" } })\r\n );\r\n } else if (response.status === 500) {\r\n window.location.href = \"/InternalServerError\";\r\n } else if (response.status === 401) {\r\n window.location.href = \"/Unauthorized\";\r\n } else if (response.status === 502) {\r\n window.location.href = \"/ServerError\";\r\n } else {\r\n response\r\n .json()\r\n .then((data) => func({ status: response.status, data: data }));\r\n }\r\n });\r\n }\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport {\r\n faTimes,\r\n faCheck,\r\n faUserCircle,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport BlogService from \"../../services/BlogService\";\r\nimport \"./index.css\";\r\n\r\nfunction Blog(props) {\r\n const blogApiCall = new BlogService();\r\n\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [recentBlogs, setRecentBlogs] = useState([]);\r\n const [blogsCategories, setBlogsCategories] = useState([]);\r\n\r\n useEffect(() => {\r\n Promise.all([blogApiCall.getBlogCategories(), blogApiCall.getRecentBlogs()])\r\n .then(([blogCategories, recentsBlogs]) => {\r\n setRecentBlogs(recentsBlogs);\r\n setBlogsCategories(blogCategories);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, []);\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    Blog

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

    Categories

    \r\n
    \r\n
      \r\n {blogsCategories && blogsCategories.length > 0\r\n ? blogsCategories.map((cat) => {\r\n return (\r\n
    • \r\n {cat.name}\r\n
    • \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n \r\n \r\n {recentBlogs && recentBlogs.length > 0\r\n ? recentBlogs.map((blog) => {\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    \r\n \r\n {blog.title}\r\n \r\n

    \r\n \r\n

    {blog.shordescription}

    \r\n \r\n {\" \"}\r\n Read More{\" \"}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : \"\"}\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default Blog;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport { Parser } from 'html-to-react'\r\nimport {\r\n faTwitterSquare,\r\n faFacebook,\r\n faLinkedin,\r\n faInstagram,\r\n faYoutube,\r\n faWhatsapp\r\n} from \"@fortawesome/free-brands-svg-icons\";\r\nimport {\r\n faTimes,\r\n faCheck,\r\n faUserCircle,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Button\r\n} from \"react-bootstrap\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport BlogService from \"../../services/BlogService\";\r\nimport \"./index.css\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nfunction BlogDetails(props) {\r\n const {\r\n match: { params },\r\n } = props;\r\n\r\n const blogApiCall = new BlogService();\r\n\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [selectedBlog, setSelectedBlog] = useState();\r\n const [tags, setTags] = useState([]);\r\n const [blogsCategories, setBlogsCategories] = useState([]);\r\n\r\n useEffect(() => {\r\n Promise.all([\r\n blogApiCall.getBlogCategories(),\r\n blogApiCall.getBlogById(params.id),\r\n ])\r\n .then(([blogCategories, selectedBlogRes]) => {\r\n setSelectedBlog(selectedBlogRes.post);\r\n setBlogsCategories(blogCategories);\r\n var tags = selectedBlogRes.post.tags.split(' ');\r\n setTags(tags)\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, []);\r\n\r\n return (\r\n <>\r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    Blog

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

    Categories

    \r\n
    \r\n
      \r\n {blogsCategories && blogsCategories.length > 0\r\n ? blogsCategories.map((cat) => {\r\n return (\r\n
    • \r\n {cat.name}\r\n
    • \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n \r\n \r\n {selectedBlog ? (\r\n \r\n \r\n \r\n {selectedBlog.title} - Five Element \"Food from Heaven\"\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    \r\n {selectedBlog.title}\r\n

    \r\n {Parser().parse(selectedBlog.content)}\r\n
    \r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
    \r\n {tags.map(item => {item} )}\r\n \r\n \r\n {selectedBlog ? (\r\n
    \r\n
    \r\n

    Share this:

    \r\n
    \r\n
      \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    \r\n
    \r\n
    ) : ''}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default BlogDetails;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport {\r\n faTimes,\r\n faCheck,\r\n faUserCircle,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport BlogService from \"../../services/BlogService\";\r\nimport \"./CategoryBlog.css\";\r\n\r\nfunction CategoryBlog(props) {\r\n const {\r\n match: { params },\r\n } = props;\r\n\r\n const blogApiCall = new BlogService();\r\n\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [recentBlogs, setRecentBlogs] = useState([]);\r\n const [blogsCategories, setBlogsCategories] = useState([]);\r\n\r\n useEffect(() => {\r\n Promise.all([\r\n blogApiCall.getBlogCategories(),\r\n blogApiCall.getRecentBlogsById(params.id),\r\n ])\r\n .then(([blogCategories, recentsBlogs]) => {\r\n setRecentBlogs(recentsBlogs);\r\n setBlogsCategories(blogCategories);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, [params.id]);\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    Blog Detail

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

    Categories

    \r\n
    \r\n
      \r\n {blogsCategories && blogsCategories.length > 0\r\n ? blogsCategories.map((cat) => {\r\n return (\r\n
    • \r\n {cat.name}\r\n
    • \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n \r\n \r\n {recentBlogs && recentBlogs.length > 0\r\n ? recentBlogs.map((blog) => {\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    \r\n \r\n {blog.title}\r\n \r\n

    \r\n \r\n

    {blog.shordescription}

    \r\n \r\n {\" \"}\r\n Read More{\" \"}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : \"\"}\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default CategoryBlog;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faTimes,\r\n faCheck,\r\n faMapMarker,\r\n faGlobe,\r\n faPhone,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n fab,\r\n faTwitterSquare,\r\n faFacebook,\r\n faLinkedin,\r\n faInstagram,\r\n faYoutube,\r\n} from \"@fortawesome/free-brands-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport AuthService from \"../../services/AuthService\";\r\nimport ToastCom from \"../common/toasts\";\r\nimport \"./index.css\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nfunction ContactUs(props) {\r\n const authApiCall = new AuthService();\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [contactForm, setContactForm] = useState({\r\n name: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n content: \"\",\r\n });\r\n const [showToast, setShowToast] = useState(false);\r\n const [toastType, setToastType] = useState(\"\");\r\n const [toastMessage, setToastMessage] = useState();\r\n const [buttonLoader, setButtonLoader] = useState(false);\r\n\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setContactForm((contactForm) => ({\r\n ...contactForm,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function submitFeedback(e) {\r\n e.preventDefault();\r\n setButtonLoader(true);\r\n authApiCall\r\n .submitEnquiry(contactForm)\r\n .then((data) => {\r\n setTimeout(() => {\r\n setShowToast(true);\r\n setToastType(\"success\");\r\n setToastMessage([\"Your feedback is submitted\"]);\r\n setButtonLoader(false);\r\n setContactForm({\r\n name: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n content: \"\",\r\n });\r\n }, 5000);\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n setShowToast(true);\r\n setToastType(\"error\");\r\n setToastMessage(err.data.error);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Contact Us - Five Element \"Food from Heaven\"\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    Contact us

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

    044-42866033

    \r\n

    +91-9789066033

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

    \r\n support@fiveelementorganic.com\r\n

    \r\n

    \r\n fiveelementorganic.com\r\n

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

    Office Address

    \r\n

    74, Sundram Street,

    \r\n

    Chinmaya Nagar Stage 1,

    \r\n

    Koyambedu,

    \r\n

    Chennai, Tamil Nadu, 600092.

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

    Follow Us

    \r\n
    \r\n
      \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    Get In Touch

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n {buttonLoader ? \"Processing...\" : \"Submit\"}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default ContactUs;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faTimes,\r\n faCheck,\r\n faMapMarker,\r\n faGlobe,\r\n faPhone,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n fab,\r\n faTwitterSquare,\r\n faFacebook,\r\n faLinkedin,\r\n faInstagram,\r\n} from \"@fortawesome/free-brands-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport AuthService from \"../../services/AuthService\";\r\nimport ToastCom from \"../common/toasts\";\r\nimport \"./index.css\";\r\n\r\nfunction PrivacyPolicy(props) {\r\n const authApiCall = new AuthService();\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [loginData, setLoginData] = useState({\r\n email: \"\",\r\n password: \"\",\r\n });\r\n const [showToast, setShowToast] = useState(false);\r\n const [toastType, setToastType] = useState(\"\");\r\n const [toastMessage, setToastMessage] = useState();\r\n\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setLoginData((loginData) => ({\r\n ...loginData,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function userLogin(e) {\r\n e.preventDefault();\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    Privacy Policy

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

    \r\n This Privacy Policy describes how your personal information is\r\n collected, used, and shared when you visit or make a purchase from\r\n fiveelementorganic.com\r\n

    \r\n
    Personal information we collect
    \r\n

    \r\n When you visit the Site, we automatically collect certain\r\n information about your device, including information about your web\r\n browser, IP address, time zone, and some of the cookies that are\r\n installed on your device. Additionally, as you browse the Site, we\r\n collect information about the individual web pages or products that\r\n you view, what websites or search terms referred you to the Site,\r\n and information about how you interact with the Site. We refer to\r\n this automatically collected information as “Device Information”.\r\n

    \r\n

    \r\n We collect Device Information using the following technologies:\r\n
    \r\n - “Cookies” are data files that are placed on your device or\r\n computer and often include an anonymous unique identifier.\r\n
    - “Log files” track actions occurring on the Site, and collect\r\n data including your IP address, browser type, Internet service\r\n provider, referring/exit pages, and date/time stamps.\r\n
    - “Web beacons”, “tags”, and “pixels” are electronic files\r\n used to record information about how you browse the Site.\r\n

    \r\n

    \r\n Additionally, when you make a purchase or attempt to make a purchase\r\n through the Site, we collect certain information from you, including\r\n your name, billing address, shipping address, payment information\r\n (including credit card numbers), email address, and phone number. We\r\n refer to this information as “Order Information”.\r\n

    \r\n

    \r\n When we talk about “Personal Information” in this Privacy Policy, we\r\n are talking both about Device Information and Order Information.\r\n

    \r\n
    \r\n How do we use your personal information?\r\n
    \r\n

    \r\n We use the Order Information that we collect generally to fulfil any\r\n orders placed through the Site (including processing your payment\r\n information, arranging for shipping, and providing you with invoices\r\n and/or order confirmations). Additionally, we use this Order\r\n Information to:\r\n
    \r\n - Communicate with you;\r\n
    \r\n - Screen our orders for potential risk or fraud;\r\n
    - When in line with the preferences you have shared with us,\r\n provide you with information or advertising relating to our products\r\n or services.\r\n

    \r\n

    \r\n We use the Device Information that we collect to help us screen for\r\n potential risk and fraud (in particular, your IP address), and more\r\n generally to improve and optimize our Site (for example, by\r\n generating analytics about how our customers browse and interact\r\n with the Site, and to assess the success of our marketing and\r\n advertising campaigns).\r\n

    \r\n
    Do not track
    \r\n

    \r\n Please note that we do not alter our Site’s data collection and use\r\n practices when we see a Do Not Track signal from your browser.\r\n

    \r\n
    Your rights
    \r\n

    \r\n You have the right to access personal information we hold about you\r\n and to ask that your personal information be corrected, updated, or\r\n deleted. If you would like to exercise this right, please contact us\r\n through the contact information below.\r\n

    \r\n
    Data retention
    \r\n

    \r\n When you place an order through the Site, we will maintain your\r\n Order Information for our records unless and until you ask us to\r\n delete this information.\r\n

    \r\n
    Changes
    \r\n

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

    \r\n
    Minors
    \r\n

    \r\n The Site is not intended for individuals under the age of 18.\r\n

    \r\n
    Contact us
    \r\n

    \r\n For more information about our privacy practices, if you have\r\n questions, or if you would like to make a complaint, please contact\r\n us by email at care@fiveelementorganic.com or by mail using the\r\n details provided below:
    \r\n
    \r\n S2 Organic Foods India,
    \r\n 74, Sundaram Street,\r\n
    Chinmaya nagar Stage 1,\r\n
    \r\n Koyembedu, Chennai-92, India\r\n

    \r\n
    \r\n \r\n \r\n );\r\n}\r\n\r\nexport default PrivacyPolicy;\r\n","export default __webpack_public_path__ + \"static/media/about.3c83fb8e.png\";","export default __webpack_public_path__ + \"static/media/lokesh.b37e8276.png\";","export default __webpack_public_path__ + \"static/media/sridar.1eded1c1.png\";","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faTimes,\r\n faCheck,\r\n faMapMarker,\r\n faGlobe,\r\n faPhone,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n fab,\r\n faTwitterSquare,\r\n faFacebook,\r\n faLinkedin,\r\n faInstagram,\r\n} from \"@fortawesome/free-brands-svg-icons\";\r\nimport aboutImg from \"../../assets/images/about.png\";\r\nimport LokeshImg from \"../../assets/images/lokesh.png\";\r\nimport SridarImg from \"../../assets/images/sridar.png\";\r\n\r\n\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport AuthService from \"../../services/AuthService\";\r\nimport ToastCom from \"../common/toasts\";\r\nimport \"./index.css\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nfunction About(props) {\r\n const authApiCall = new AuthService();\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [loginData, setLoginData] = useState({\r\n email: \"\",\r\n password: \"\",\r\n });\r\n const [showToast, setShowToast] = useState(false);\r\n const [toastType, setToastType] = useState(\"\");\r\n const [toastMessage, setToastMessage] = useState();\r\n\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setLoginData((loginData) => ({\r\n ...loginData,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function userLogin(e) {\r\n e.preventDefault();\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Our Story - Five Element \"Food from Heaven\"\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    Our Story

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    About the company
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n

    253

    \r\n
    Products
    \r\n
    \r\n \r\n \r\n
    \r\n

    425+

    \r\n
    Farmers
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n

    247

    \r\n
    Operating Pincodes
    \r\n
    \r\n \r\n \r\n
    \r\n

    1755+

    \r\n
    Acre
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    We have developed this company has a cloud grocery shop such that the price in-between like store maintenance, dealer margin & etc. are completely removed and brought to one. The processing and packaging unit is done in high level of hygienic condition using advance technology by following the proper guidelines and norms. The testimony to our processing, packing and quality of our product is our accreditation from “Ecocert France” for National Programme of Organic Production (NPOP), National Organic Program (NOP) and European Union (EU). These certifications are awarded based on the results of rigorous test, inspections and audits.

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

    In order to protect the environment and a step towards our mission we have initiated a moment called “back to roots”. The main objective of this movement is to support farmers who have a passion for cultivating traditional crops through age old organic methods. The farmers who have been shortlisted in this movement are having agriculture land between 4-10 acres. These farmers have been offered a contract such that whatever they cultivate will be procured completely by us, in which 400+ farmers throughout India have been volunteered as of now. This contract-based procurement is done to support and protect the farmers and also to ensure the farmer that whatever they cultivate in their agricultural land will be sold completely.

    \r\n
    \r\n \r\n \r\n \r\n {/* style={{ height: '265px' }} */}\r\n \r\n
    \r\n \r\n \r\n
    Our Story
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n

    Our parent company S2 organic Foods India was started in the year 2021 by Mr. Sridhar C IPS (retd), from a traditional agricultural background family from Tamil Nadu's delta region, his contribution towards agriculture started during his childhood days itself when he used to spend his free time taking care of his own farmland and cattle animals. He completed his B.Sc in Chemistry in Thanjavur as a chemistry graduate he understood the influence of chemicals used in agriculture and the side effect towards the environment and soil, though chemical fertilizers increase growth and vigor, but which would accumulate toxic chemicals in the food we eat. That’s where his interest towards Organic farming started. He choose civil service as his career and joined IPS and served in Tamil Nadu.

    \r\n

    \r\n After his retirement, he has started the company with a mission to support local organic farmers and also to guide them through advanced technology used in agricultural activities. The “Back to roots” movement was started by him and as of now 400+ farmers are enrolled in it and 230 acres of farmland have been converted to organic farms from the conventional farm in one year.

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

    Logesh B.E graduate of manufacturing engineering from CEG, Anna University, His involvement towards organic sparked in the year 2018, during the period where protest and suicides of farmers were going on, he identified the main root cause for the problems faced by the farmers, is most of the farmers borrow money to buy chemical fertilizers, pesticides, and seeds. They borrow that money even with high interest and they sell their product at the base price or even below to the middlemen.

    \r\n

    \r\n If we switch to organic, we can eliminate chemical fertilizers and pesticides and we can also prevent our land from being unfertile. He joined hands with the company and helped the company thrive technologically..

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default About;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faTimes,\r\n faCheck,\r\n faMapMarker,\r\n faGlobe,\r\n faPhone,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n fab,\r\n faTwitterSquare,\r\n faFacebook,\r\n faLinkedin,\r\n faInstagram,\r\n} from \"@fortawesome/free-brands-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport AuthService from \"../../services/AuthService\";\r\nimport ToastCom from \"../common/toasts\";\r\nimport \"./index.css\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nfunction Terms(props) {\r\n const authApiCall = new AuthService();\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [loginData, setLoginData] = useState({\r\n email: \"\",\r\n password: \"\",\r\n });\r\n const [showToast, setShowToast] = useState(false);\r\n const [toastType, setToastType] = useState(\"\");\r\n const [toastMessage, setToastMessage] = useState();\r\n\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setLoginData((loginData) => ({\r\n ...loginData,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function userLogin(e) {\r\n e.preventDefault();\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Terms and Conditions - Five Element \"Food from Heaven\"\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    Terms & Conditions

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    TERMS AND CONDITIONS
    \r\n

    \r\n This website is operated by FIVE ELEMENT. Throughout the site, the\r\n terms “we”, “us” and “our” refer to FIVE ELEMENT “Food from Heaven”.\r\n S2 Organic Foods India offers this website, including all\r\n information, tools and services available from this site to you, the\r\n user, conditioned upon your acceptance of all terms, conditions,\r\n policies and notices stated here.\r\n

    \r\n

    \r\n By visiting our site and/ or purchasing something from us, you\r\n engage in our “Service” and agree to be bound by the following terms\r\n and conditions (“Terms and Conditions”, “Terms”), including those\r\n additional terms and conditions and policies referenced herein\r\n and/or available by hyperlink. These Terms and Conditions apply to\r\n all users of the site, including without limitation users who are\r\n browsers, vendors, customers, merchants, and/ or contributors of\r\n content.\r\n

    \r\n

    \r\n Please read these Terms and Conditions carefully before accessing or\r\n using our website. By accessing or using any part of the site, you\r\n agree to be bound by these Terms and Conditions. If you do not agree\r\n to all the terms and conditions of this agreement, then you may not\r\n access the website or use any services. If these Terms and\r\n Conditions are considered an offer, acceptance is expressly limited\r\n to these Terms and Conditions.\r\n

    \r\n

    \r\n Any new features or tools which are added to the current store shall\r\n also be subject to the Terms and Conditions. You can review the most\r\n current version of the Terms and Conditions at any time on this\r\n page. We reserve the right to update, change or replace any part of\r\n these Terms and Conditions by posting updates and/or changes to our\r\n website. It is your responsibility to check this page periodically\r\n for changes. Your continued use of or access to the website\r\n following the posting of any changes constitutes acceptance of those\r\n changes.\r\n

    \r\n

    \r\n Our store is hosted on Shopify Inc. They provide us with the online\r\n e-commerce platform that allows us to sell our products and services\r\n to you.\r\n

    \r\n

    \r\n PLEASE NOTE:Product descriptions and statements, throughout\r\n FIVEELEMENORGANIC.COM are not intended to diagnose, treat, cure or\r\n prevent any disease. S2 Organic Foods India is committed to sourcing\r\n the highest quality all natural and organic products for people\r\n looking to avoid chemicals, pesticides and artificial ingredients.\r\n We find that the products presented are, in fact, representative of\r\n their respective statement and/or claims, however, we cannot promise\r\n or guarantee any specific capabilities mentioned herein. We suggest\r\n consulting with your healthcare practitioner prior to using any\r\n products you may be unfamiliar with.\r\n

    \r\n
    SECTION 1 - ONLINE STORE TERMS
    \r\n

    \r\n By agreeing to these Terms and Conditions, you represent that you\r\n are at least the age of majority in your country or state of\r\n residence. You may not use our products for any illegal or\r\n unauthorized purpose nor may you, in the use of the Service, violate\r\n any laws in your jurisdiction (including but not limited to\r\n copyright laws).\r\n
    You must not transmit any worms or viruses or any code of a\r\n destructive nature. A breach or violation of any of the Terms will\r\n result in an immediate termination of your Services.\r\n

    \r\n
    SECTION 2 - GENERAL CONDITIONS
    \r\n

    \r\n We reserve the right to refuse service to anyone for any reason at\r\n any time. You understand that your content (not including credit\r\n card information), may be transferred unencrypted and involve (a)\r\n transmissions over various networks (b) changes to conform and adapt\r\n to technical requirements of connecting networks or devices. Credit\r\n card information is always encrypted during transfer over networks.{\" \"}\r\n
    \r\n You agree not to reproduce, duplicate, copy, sell, resell or exploit\r\n any portion of the Service, use of the Service, or access to the\r\n Service or any contact on the website through which the service is\r\n provided, without express written permission by us.
    \r\n The headings used in this agreement are included for convenience\r\n only and will not limit or otherwise affect these Terms.\r\n

    \r\n
    \r\n SECTION 3 - ACCURACY, COMPLETENESS AND TIMELINESS OF INFORMATION{\" \"}\r\n
    \r\n

    \r\n We are not responsible if information made available on this site is\r\n not accurate, complete or current. The material on this site is\r\n provided for general information only and should not be relied upon\r\n or used as the sole basis for making decisions without consulting\r\n primary, more accurate, more complete or more timely sources of\r\n information. Any reliance on the material on this site is at your\r\n own risk.\r\n
    \r\n This site may contain certain historical information. Historical\r\n information, necessarily, is not current and is provided for your\r\n reference only. We reserve the right to modify the contents of this\r\n site at any time, but we have no obligation to update any\r\n information on our site. You agree that it is your responsibility to\r\n monitor changes to our site.\r\n

    \r\n
    \r\n SECTION 4 - MODIFICATIONS TO THE SERVICE AND PRICES\r\n
    \r\n

    \r\n Prices for our products are subject to change without notice. We\r\n reserve the right at any time to modify or discontinue the Service\r\n (or any part or content thereof) without notice at any time. We\r\n shall not be liable to you or to any third-party for any\r\n modification, price change, suspension or discontinuance of the\r\n Service.\r\n

    \r\n
    SECTION 5 - PRODUCTS OR SERVICES
    \r\n

    \r\n Certain products or services may be available exclusively online\r\n through the website. These products or services may have limited\r\n quantities and are subject to return or exchange only according to\r\n our Return Policy. We have made every effort to display as\r\n accurately as possible the colours and images of our products that\r\n appear at the store. We cannot guarantee that your computer\r\n monitor's display of any colour will be accurate. We reserve the\r\n right, but are not obligated, to limit the sales of our products or\r\n Services to any person, geographic region or jurisdiction. We may\r\n exercise this right on a case-by-case basis. We reserve the right to\r\n limit the quantities of any products or services that we offer. All\r\n descriptions of products or product pricing are subject to change at\r\n any time without notice, at the sole discretion of us. We reserve\r\n the right to discontinue any product at any time. Any offer for any\r\n product or service made on this site is void where prohibited. We do\r\n not warrant that the quality of any products, services, information,\r\n or other material purchased or obtained by you will meet your\r\n expectations, or that any errors in the Service will be corrected.\r\n

    \r\n
    \r\n SECTION 6 - ACCURACY OF BILLING AND ACCOUNT INFORMATION\r\n
    \r\n

    \r\n We reserve the right to refuse any order you place with us. We may,\r\n in our sole discretion, limit or cancel quantities purchased per\r\n person, per household or per order. These restrictions may include\r\n orders placed by or under the same customer account, the same credit\r\n card, and/or orders that use the same billing and/or shipping\r\n address. In the event that we make a change to or cancel an order,\r\n we may attempt to notify you by contacting the e mail and/or billing\r\n address/phone number provided at the time the order was made. We\r\n reserve the right to limit or prohibit orders that, in our sole\r\n judgment, appear to be placed by dealers, resellers or distributors.\r\n You agree to provide current, complete and accurate purchase and\r\n account information for all purchases made at our store. You agree\r\n to promptly update your account and other information, including\r\n your email address and credit card numbers and expiration dates, so\r\n that we can complete your transactions and contact you as needed.\r\n For more detail, please review our Returns Policy.\r\n

    \r\n
    SECTION 7 - OPTIONAL TOOLS
    \r\n

    \r\n We may provide you with access to third-party tools over which we\r\n neither monitor nor have any control nor input. You acknowledge and\r\n agree that we provide access to such tools ”as is” and “as\r\n available” without any warranties, representations or conditions of\r\n any kind and without any endorsement. We shall have no liability\r\n whatsoever arising from or relating to your use of optional\r\n third-party tools. Any use by you of optional tools offered through\r\n the site is entirely at your own risk and discretion and you should\r\n ensure that you are familiar with and approve of the terms on which\r\n tools are provided by the relevant third-party provider(s). We may\r\n also, in the future, offer new services and/or features through the\r\n website (including, the release of new tools and resources). Such\r\n new features and/or services shall also be subject to these Terms\r\n and Conditions.\r\n

    \r\n
    SECTION 8 - THIRD-PARTY LINKS
    \r\n

    \r\n Certain content, products and services available via our Service may\r\n include materials from third-parties. Third-party links on this site\r\n may direct you to third-party websites that are not affiliated with\r\n us. We are not responsible for examining or evaluating the content\r\n or accuracy and we do not warrant and will not have any liability or\r\n responsibility for any third-party materials or websites, or for any\r\n other materials, products, or services of third-parties. We are not\r\n liable for any harm or damages related to the purchase or use of\r\n goods, services, resources, content, or any other transactions made\r\n in connection with any third-party websites. Please review carefully\r\n the third-party's policies and practices and make sure you\r\n understand them before you engage in any transaction. Complaints,\r\n claims, concerns, or questions regarding third-party products should\r\n be directed to the third-party.\r\n

    \r\n
    \r\n SECTION 9 - USER COMMENTS, FEEDBACK AND OTHER SUBMISSIONS\r\n
    \r\n

    \r\n If, at our request, you send certain specific submissions (for\r\n example contest entries) or without a request from us you send\r\n creative ideas, suggestions, proposals, plans, or other materials,\r\n whether online, by email, by postal mail, or otherwise\r\n (collectively, 'comments'), you agree that we may, at any time,\r\n without restriction, edit, copy, publish, distribute, translate and\r\n otherwise use in any medium any comments that you forward to us. We\r\n are and shall be under no obligation (1) to maintain any comments in\r\n confidence; (2) to pay compensation for any comments; or (3) to\r\n respond to any comments. We may, but have no obligation to, monitor,\r\n edit or remove content that we determine in our sole discretion are\r\n unlawful, offensive, threatening, libelous, defamatory,\r\n pornographic, obscene or otherwise objectionable or violates any\r\n party’s intellectual property or these Terms and Conditions. You\r\n agree that your comments will not violate any right of any\r\n third-party, including copyright, trademark, privacy, personality or\r\n other personal or proprietary right. You further agree that your\r\n comments will not contain libelous or otherwise unlawful, abusive or\r\n obscene material, or contain any computer virus or other malware\r\n that could in any way affect the operation of the Service or any\r\n related website. You may not use a false e mail address, pretend to\r\n be someone other than yourself, or otherwise mislead us or\r\n third-parties as to the origin of any comments. You are solely\r\n responsible for any comments you make and their accuracy. We take no\r\n responsibility and assume no liability for any comments posted by\r\n you or any third-party.\r\n

    \r\n
    SECTION 10 - PERSONAL INFORMATION
    \r\n

    \r\n Your submission of personal information through the store is\r\n governed by our Privacy Policy. To view our Privacy Policy.\r\n

    \r\n
    \r\n SECTION 11 - ERRORS, INACCURACIES AND OMISSIONS\r\n
    \r\n

    \r\n Occasionally there may be information on our site or in the Service\r\n that contains typographical errors, inaccuracies or omissions that\r\n may relate to product descriptions, pricing, promotions, offers,\r\n product shipping charges, transit times and availability. We reserve\r\n the right to correct any errors, inaccuracies or omissions, and to\r\n change or update information or cancel orders if any information in\r\n the Service or on any related website is inaccurate at any time\r\n without prior notice (including after you have submitted your\r\n order). We undertake no obligation to update, amend or clarify\r\n information in the Service or on any related website, including\r\n without limitation, pricing information, except as required by law.\r\n No specified update or refresh date applied in the Service or on any\r\n related website, should be taken to indicate that all information in\r\n the Service or on any related website has been modified or updated.\r\n

    \r\n
    SECTION 12 - PROHIBITED USES
    \r\n

    \r\n In addition to other prohibitions as set forth in the Terms and\r\n Conditions, you are prohibited from using the site or its content:\r\n (a) for any unlawful purpose; (b) to solicit others to perform or\r\n participate in any unlawful acts; (c) to violate any international,\r\n federal, state or countries regulations, rules, laws, or local\r\n ordinances; (d) to infringe upon or violate our intellectual\r\n property rights or the intellectual property rights of others; (e)\r\n to harass, abuse, insult, harm, defame, slander, disparage,\r\n intimidate, or discriminate based on gender, sexual orientation,\r\n religion, ethnicity, race, age, national origin, or disability; (f)\r\n to submit false or misleading information; (g) to upload or transmit\r\n viruses or any other type of malicious code that will or may be used\r\n in any way that will affect the functionality or operation of the\r\n Service or of any related website, other websites, or the Internet;\r\n (h) to collect or track the personal information of others; (i) to\r\n spam, phish, pharm, pretext, spider, crawl, or scrape; (j) for any\r\n obscene or immoral purpose; or (k) to interfere with or circumvent\r\n the security features of the Service or any related website, other\r\n websites, or the Internet. We reserve the right to terminate your\r\n use of the Service or any related website for violating any of the\r\n prohibited uses.\r\n

    \r\n
    \r\n SECTION 13 - DISCLAIMER OF WARRANTIES; LIMITATION OF LIABILITY\r\n
    \r\n

    \r\n We do not guarantee, represent or warrant that your use of our\r\n service will be uninterrupted, timely, secure or error-free. We do\r\n not warrant that the results that may be obtained from the use of\r\n the service will be accurate or reliable. You agree that from time\r\n to time we may remove the service for indefinite periods of time or\r\n cancel the service at any time, without notice to you. You expressly\r\n agree that your use of, or inability to use, the service is at your\r\n sole risk. The service and all products and services delivered to\r\n you through the service are (except as expressly stated by us)\r\n provided 'as is' and 'as available' for your use, without any\r\n representation, warranties or conditions of any kind, either express\r\n or implied, including all implied warranties or conditions of\r\n merchantability, merchantable quality, fitness for a particular\r\n purpose, durability, title, and non-infringement. In no case shall\r\n S2 Organic Foods India, our directors, officers, employees,\r\n affiliates, agents, contractors, interns, suppliers, service\r\n providers or licensors be liable for any injury, loss, claim, or any\r\n direct, indirect, incidental, punitive, special, or consequential\r\n damages of any kind, including, without limitation lost profits,\r\n lost revenue, lost savings, loss of data, replacement costs, or any\r\n similar damages, whether based in contract, tort (including\r\n negligence), strict liability or otherwise, arising from your use of\r\n any of the service or any products procured using the service, or\r\n for any other claim related in any way to your use of the service or\r\n any product, including, but not limited to, any errors or omissions\r\n in any content, or any loss or damage of any kind incurred as a\r\n result of the use of the service or any content (or product) posted,\r\n transmitted, or otherwise made available via the service, even if\r\n advised of their possibility. Because some states or jurisdictions\r\n do not allow the exclusion or the limitation of liability for\r\n consequential or incidental damages, in such states or\r\n jurisdictions, our liability shall be limited to the maximum extent\r\n permitted by law.\r\n

    \r\n
    SECTION 14 - INDEMNIFICATION
    \r\n

    \r\n You agree to indemnify, defend and hold harmless FIVE ELEMENT and\r\n our parent, subsidiaries, affiliates, partners, officers, directors,\r\n agents, contractors, licensors, service providers, subcontractors,\r\n suppliers, interns and employees, harmless from any claim or demand,\r\n including reasonable attorneys’ fees, made by any third-party due to\r\n or arising out of your breach of these Terms and Conditions or the\r\n documents they incorporate by reference, or your violation of any\r\n law or the rights of a third-party.\r\n

    \r\n
    SECTION 15 - SEVERABILITY
    \r\n

    \r\n In the event that any provision of these Terms and Conditions is\r\n determined to be unlawful, void or unenforceable, such provision\r\n shall nonetheless be enforceable to the fullest extent permitted by\r\n applicable law, and the unenforceable portion shall be deemed to be\r\n severed from these Terms and Conditions, such determination shall\r\n not affect the validity and enforceability of any other remaining\r\n provisions.\r\n

    \r\n
    SECTION 16 - TERMINATION
    \r\n

    \r\n The obligations and liabilities of the parties incurred prior to the\r\n termination date shall survive the termination of this agreement for\r\n all purposes. These Terms and Conditions are effective unless and\r\n until terminated by either you or us. You may terminate these Terms\r\n and Conditions at any time by notifying us that you no longer wish\r\n to use our Services, or when you cease using our site. If in our\r\n sole judgment you fail, or we suspect that you have failed, to\r\n comply with any term or provision of these Terms and Conditions, we\r\n also may terminate this agreement at any time without notice and you\r\n will remain liable for all amounts due up to and including the date\r\n of termination; and/or accordingly may deny you access to our\r\n Services (or any part thereof).\r\n

    \r\n
    SECTION 17 - ENTIRE AGREEMENT
    \r\n

    \r\n The failure of us to exercise or enforce any right or provision of\r\n these Terms and Conditions shall not constitute a waiver of such\r\n right or provision. These Terms and Conditions and any policies or\r\n operating rules posted by us on this site or in respect to The\r\n Service constitutes the entire agreement and understanding between\r\n you and us and govern your use of the Service, superseding any prior\r\n or contemporaneous agreements, communications and proposals, whether\r\n oral or written, between you and us (including, but not limited to,\r\n any prior versions of the Terms and Conditions). Any ambiguities in\r\n the interpretation of these Terms and Conditions shall not be\r\n construed against the drafting party.\r\n

    \r\n
    SECTION 18 - GOVERNING LAW
    \r\n

    \r\n These Terms and Conditions and any separate agreements whereby we\r\n provide you Services shall be governed by and construed in\r\n accordance with the laws of United States.\r\n

    \r\n
    \r\n SECTION 19 - CHANGES TO TERMS AND CONDITIONS\r\n
    \r\n

    \r\n You can review the most current version of the Terms and Conditions\r\n at any time at this page. We reserve the right, at our sole\r\n discretion, to update, change or replace any part of these Terms and\r\n Conditions by posting updates and changes to our website. It is your\r\n responsibility to check our website periodically for changes. Your\r\n continued use of or access to our website or the Service following\r\n the posting of any changes to these Terms and Conditions constitutes\r\n acceptance of those changes.\r\n

    \r\n
    SECTION 20 - CONTACT INFORMATION
    \r\n

    \r\n Questions about the Terms and Conditions should be sent to us at\r\n care@fiveelementorganic.com.\r\n

    \r\n
    \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Terms;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faTimes,\r\n faCheck,\r\n faMapMarker,\r\n faGlobe,\r\n faPhone,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n fab,\r\n faTwitterSquare,\r\n faFacebook,\r\n faLinkedin,\r\n faInstagram,\r\n} from \"@fortawesome/free-brands-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport AuthService from \"../../services/AuthService\";\r\nimport ToastCom from \"../common/toasts\";\r\nimport \"./index.css\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nfunction CancellationPolicy(props) {\r\n const authApiCall = new AuthService();\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [loginData, setLoginData] = useState({\r\n email: \"\",\r\n password: \"\",\r\n });\r\n const [showToast, setShowToast] = useState(false);\r\n const [toastType, setToastType] = useState(\"\");\r\n const [toastMessage, setToastMessage] = useState();\r\n\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setLoginData((loginData) => ({\r\n ...loginData,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function userLogin(e) {\r\n e.preventDefault();\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Return and Refunds - Five Element \"Food from Heaven\"\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    Return & Refunds

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

    Return

    \r\n

    \r\n Our policy lasts 7 days. If 7 days have gone by since your purchase,\r\n unfortunately, we can’t offer you a refund or exchange.\r\n

    \r\n

    \r\n To be eligible for a return, your item must be unused and in the\r\n same condition that you received it. It must also be in the original\r\n packaging\r\n

    \r\n

    \r\n Several types of goods are exempt from being returned. Perishable\r\n goods such as fruits, vegetables, tender coconut and milk cannot be\r\n returned.\r\n

    \r\n

    \r\n Additional non-returnable items:
    \r\n

    - Gift cards

    \r\n

    - Downloadable software products

    \r\n

    \r\n - Some health and personal care items To complete your return, we\r\n require a receipt or proof of purchase.\r\n

    \r\n

    \r\n

    \r\n You will be responsible for paying for your own shipping costs for\r\n returning your item. Shipping costs are non-refundable. If you\r\n receive a refund, the cost of return shipping will be deducted from\r\n your refund\r\n

    \r\n

    Refunds

    \r\n

    \r\n Once your return is received and inspected, we will send you an\r\n email to notify you that we have received your returned item. We\r\n will also notify you of the approval or rejection of your refund. If\r\n you are approved, then your refund will be processed, and a credit\r\n will automatically be applied to your credit card or original method\r\n of payment, within a 7-14 working days. Note: Any payment processing\r\n fees associated with your order will be automatically dedicated from\r\n the refunded amount during the processing of any/all returns.\r\n

    \r\n

    Late or missing refunds

    \r\n

    \r\n If you haven’t received a refund yet, first check your bank account\r\n again. Then contact your credit card company, it may take some time\r\n before your refund is officially posted. Next contact your bank.\r\n There is often some processing time before a refund is posted. If\r\n you’ve done all of this and you still have not received your refund\r\n yet, please contact us at info@fiveelementorganic.com.\r\n

    \r\n

    Sale items

    \r\n

    \r\n Only regular priced items may be refunded, unfortunately, sale items\r\n cannot be refunded.\r\n

    \r\n

    Exchanges

    \r\n

    \r\n We only replace items if they are defective or damaged. If you need\r\n to exchange it for the same item, send us an email at\r\n info@fiveelementorganic.com and we will collect the product.\r\n

    \r\n
    \r\n \r\n \r\n );\r\n}\r\n\r\nexport default CancellationPolicy;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faTimes,\r\n faCheck,\r\n faMapMarker,\r\n faGlobe,\r\n faPhone,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n fab,\r\n faTwitterSquare,\r\n faFacebook,\r\n faLinkedin,\r\n faInstagram,\r\n} from \"@fortawesome/free-brands-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport AuthService from \"../../services/AuthService\";\r\nimport ToastCom from \"../common/toasts\";\r\nimport \"./index.css\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nfunction FeedBack(props) {\r\n const authApiCall = new AuthService();\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [contactForm, setContactForm] = useState({\r\n name: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n content: \"\",\r\n });\r\n const [showToast, setShowToast] = useState(false);\r\n const [toastType, setToastType] = useState(\"\");\r\n const [toastMessage, setToastMessage] = useState();\r\n const [buttonLoader, setButtonLoader] = useState(false);\r\n\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setContactForm((contactForm) => ({\r\n ...contactForm,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function submitFeedback(e) {\r\n e.preventDefault();\r\n setButtonLoader(true);\r\n authApiCall\r\n .submitFeedback(contactForm)\r\n .then((data) => {\r\n setShowToast(true);\r\n setToastType(\"success\");\r\n setToastMessage([\"Your feedback is submitted\"]);\r\n setTimeout(() => {\r\n setButtonLoader(false);\r\n setContactForm({\r\n name: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n content: \"\",\r\n });\r\n }, 5000);\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n setShowToast(true);\r\n setToastType(\"error\");\r\n setToastMessage(err.data.error);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Our Story - Five Element \"Food from Heaven\"\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    Feedback

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

    Get In Touch

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n {buttonLoader ? \"Processing...\" : \"Submit\"}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default FeedBack;\r\n","export default __webpack_public_path__ + \"static/media/tickgreen.bf552e73.png\";","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport PaumentSuccess from \"./tickgreen.png\";\r\nimport \"./paymentSuccess.css\";\r\n\r\nfunction PaymentSuccess(props) {\r\n const {\r\n match: { params },\r\n } = props;\r\n return (\r\n <>\r\n \r\n \r\n \r\n

    Success!

    \r\n
    THANK YOUR FOR YOUR PAYMENT
    \r\n
    Order number : #00000{params.id}
    \r\n \"Payment\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default PaymentSuccess;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Container, Row, Col, Card, Form, Button } from \"react-bootstrap\";\r\nimport AuthService from \"../../../services/AuthService\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as loginAction from \"../../../redux/actions/loginAction\";\r\n\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nfunction ChangePassword(props) {\r\n const authApiCall = new AuthService();\r\n const [changePasswordData, setChangePasswordData] = useState({\r\n old_password: \"\",\r\n new_password: \"\",\r\n confirm_password: \"\",\r\n });\r\n const [buttonLoader, setButtonLoader] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!authApiCall.loggedIn()) {\r\n props.history.push(\"/user/login\");\r\n }\r\n }, []);\r\n\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setChangePasswordData((changePasswordData) => ({\r\n ...changePasswordData,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function userLogin(e) {\r\n e.preventDefault();\r\n setButtonLoader(true);\r\n authApiCall\r\n .changePassword(changePasswordData)\r\n .then((data) => {\r\n toast.success(\r\n \"Your password has been changed. Please login to continue.\",\r\n {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n }\r\n );\r\n setTimeout(() => {\r\n props\r\n .logoutCurrentUser()\r\n .then((result) => {\r\n props.history.push(\"/user/login\");\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }, 5000);\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n toast.error(err.data.error[0], {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n Change Password\r\n \r\n
    \r\n \r\n Old Password\r\n \r\n \r\n \r\n New Password\r\n \r\n \r\n \r\n Confirm Password\r\n \r\n \r\n \r\n {buttonLoader ? \"Processing...\" : \"Submit\"}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nChangePassword.propTypes = {\r\n logoutCurrentUser: PropTypes.func.isRequired,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n loggedinUser: state.loggedinUser,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n logoutCurrentUser: loginAction.logoutCurrentUser,\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChangePassword);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faEdit } from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n Modal,\r\n} from \"react-bootstrap\";\r\nimport AuthService from \"../../../services/AuthService\";\r\nimport AddressService from \"../../../services/AddressService\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\n// import * as cartAction from \"../../../redux/actions/cartAction\";\r\nimport * as addressAction from \"../../../redux/actions/addressAction\";\r\n\r\nimport { Typeahead } from \"react-bootstrap-typeahead\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport \"./index.css\";\r\n\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nfunction ManageAddress(props) {\r\n const authApiCall = new AuthService();\r\n const addressApiCall = new AddressService();\r\n\r\n const [showNewAddressModal, setShowNewAddressModal] = useState(false);\r\n const [newAddressForm, setNewAddressForm] = useState({\r\n id: \"\",\r\n name: \"\",\r\n mobile: \"\",\r\n street: \"\",\r\n city: \"\",\r\n state: \"\",\r\n landmark: \"\",\r\n pincode: \"\",\r\n user_id: \"\",\r\n });\r\n const [userAddresses, setUserAddresses] = useState([]);\r\n const [deliveryPincodes, setDeliveryPincodes] = useState([]);\r\n const [pincodeChange, setPincodeChange] = useState();\r\n const [showPincodeError, setShowPincodeError] = useState(false);\r\n const [isEditAddress, setIsEditAddress] = useState(false);\r\n const [buttonLoader, setButtonLoader] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!authApiCall.loggedIn()) {\r\n props.history.push(\"/user/login\");\r\n } else {\r\n props\r\n .loadUserAddresses()\r\n .then((result) => {})\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n\r\n Promise.all([addressApiCall.getDeliveryPincodes()])\r\n .then(([pincodes]) => {\r\n setDeliveryPincodes(pincodes);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }, []);\r\n\r\n const handleCloseAddressModal = () => {\r\n setNewAddressForm({\r\n id: \"\",\r\n name: \"\",\r\n mobile: \"\",\r\n street: \"\",\r\n city: \"\",\r\n state: \"\",\r\n landmark: \"\",\r\n pincode: \"\",\r\n user_id: \"\",\r\n });\r\n setPincodeChange([]);\r\n setShowNewAddressModal(false);\r\n setIsEditAddress(false);\r\n };\r\n const handleShowAddressModal = () => {\r\n setShowNewAddressModal(true);\r\n };\r\n\r\n function handleNewAddressForm(e) {\r\n const { name, value } = e.target;\r\n setNewAddressForm((newAddressForm) => ({\r\n ...newAddressForm,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function saveNewAddress(e) {\r\n e.preventDefault();\r\n setButtonLoader(true);\r\n if (!pincodeChange) {\r\n setShowPincodeError(true);\r\n return false;\r\n }\r\n let userDetails = JSON.parse(localStorage.getItem(\"loggedinUserDetails\"));\r\n let userId = userDetails.id;\r\n var sendData = newAddressForm;\r\n sendData.user_id = userId.toString();\r\n sendData.pincode = pincodeChange[0].pincode;\r\n\r\n if (isEditAddress) {\r\n props\r\n .updateUserAddress(sendData)\r\n .then((result) => {\r\n setButtonLoader(false);\r\n setNewAddressForm({\r\n id: \"\",\r\n name: \"\",\r\n mobile: \"\",\r\n street: \"\",\r\n city: \"\",\r\n state: \"\",\r\n landmark: \"\",\r\n pincode: \"\",\r\n user_id: \"\",\r\n });\r\n setPincodeChange([]);\r\n setShowNewAddressModal(false);\r\n toast.success(\"Address updated successfully\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n } else {\r\n props\r\n .addNewAddress(sendData)\r\n .then((result) => {\r\n setButtonLoader(false);\r\n setNewAddressForm({\r\n id: \"\",\r\n name: \"\",\r\n mobile: \"\",\r\n street: \"\",\r\n city: \"\",\r\n state: \"\",\r\n landmark: \"\",\r\n pincode: \"\",\r\n user_id: \"\",\r\n });\r\n setPincodeChange([]);\r\n setShowNewAddressModal(false);\r\n toast.success(\"New address is added\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n }\r\n\r\n const onChangePincode = (selected) => {\r\n setPincodeChange(selected);\r\n };\r\n\r\n function deleteAddress(getId) {\r\n alert(\"coming soon\");\r\n }\r\n\r\n function editAddress(getId) {\r\n let selectedAddress = props.userAddresses.filter(\r\n (address) => address.id == getId\r\n );\r\n setNewAddressForm(selectedAddress[0]);\r\n let selectedPincode = selectedAddress[0].pincode;\r\n let setPincodeSelected = deliveryPincodes.filter(\r\n (pin) => pin.pincode == selectedPincode\r\n );\r\n setPincodeChange(setPincodeSelected);\r\n let thisPincodeName = \"pincode\";\r\n setNewAddressForm((newAddressForm) => ({\r\n ...newAddressForm,\r\n [thisPincodeName]: setPincodeSelected[0].pincode,\r\n }));\r\n setIsEditAddress(true);\r\n setShowNewAddressModal(true);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Manage Address{\" \"}\r\n \r\n Add New\r\n \r\n \r\n \r\n \r\n {props.userAddresses && props.userAddresses.length > 0 ? (\r\n props.userAddresses.map((address, index) => {\r\n return (\r\n \r\n \r\n \r\n Address {index + 1}{\" \"}\r\n editAddress(address.id)}\r\n >\r\n \r\n \r\n {/* deleteAddress(address.id)}\r\n >\r\n \r\n */}\r\n \r\n \r\n
    \r\n

    \r\n {address.name}, {address.mobile}\r\n

    \r\n

    {address.street}

    \r\n

    \r\n {address.landmark}, {address.state}\r\n

    \r\n

    \r\n {address.city}, {address.pincode}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n })\r\n ) : (\r\n \r\n Add New\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n Add New Address\r\n \r\n
    \r\n \r\n \r\n \r\n Name\r\n \r\n \r\n\r\n \r\n Mobileno\r\n \r\n \r\n \r\n\r\n \r\n Address\r\n \r\n \r\n\r\n \r\n \r\n Landmark\r\n \r\n \r\n\r\n \r\n State\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n City\r\n \r\n \r\n \r\n Pincode\r\n {/* */}\r\n \r\n {showPincodeError ? (\r\n \r\n Please select a pincode from the list\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Close\r\n \r\n \r\n {buttonLoader ? \"Processing...\" : \"Submit\"}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nManageAddress.propTypes = {\r\n userAddresses: PropTypes.array.isRequired,\r\n loadUserAddresses: PropTypes.func.isRequired,\r\n addNewAddress: PropTypes.func.isRequired,\r\n deleteUserAddresses: PropTypes.func.isRequired,\r\n getAddressById: PropTypes.func.isRequired,\r\n updateUserAddress: PropTypes.func.isRequired,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n userAddresses: state.userAddresses,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n loadUserAddresses: addressAction.loadUserAddresses,\r\n addNewAddress: addressAction.addNewAddress,\r\n deleteUserAddresses: addressAction.deleteUserAddresses,\r\n getAddressById: addressAction.getAddressById,\r\n updateUserAddress: addressAction.updateUserAddress,\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ManageAddress);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Container, Row, Col, Card, Form, Button } from \"react-bootstrap\";\r\nimport AuthService from \"../../../services/AuthService\";\r\nimport \"./index.css\";\r\n\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nfunction ForgotPassword(props) {\r\n const authApiCall = new AuthService();\r\n const [verifyUserData, setverifyUserData] = useState({\r\n mobile_number: \"\",\r\n });\r\n const [showResetForm, setShowResetForm] = useState(false);\r\n const [resetPasswordForm, setResetPasswordForm] = useState({\r\n mobile_number: \"\",\r\n password_otp: \"\",\r\n new_password: \"\",\r\n confirm_password: \"\",\r\n });\r\n const [buttonLoader, setButtonLoader] = useState(false);\r\n\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setverifyUserData((verifyUserData) => ({\r\n ...verifyUserData,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function handleFormInputReset(e) {\r\n const { name, value } = e.target;\r\n setResetPasswordForm((resetPasswordForm) => ({\r\n ...resetPasswordForm,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function userVerify(e) {\r\n e.preventDefault();\r\n setButtonLoader(true);\r\n authApiCall\r\n .verifyUserOTPEmail(verifyUserData)\r\n .then((data) => {\r\n toast.success(\"OTP sent successfully to your mobile number\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n setTimeout(() => {\r\n setButtonLoader(false);\r\n setShowResetForm(true);\r\n }, 5000);\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n toast.error(err.data.error, {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n\r\n function userResetPassword(e) {\r\n e.preventDefault();\r\n setButtonLoader(true);\r\n let sendData = resetPasswordForm;\r\n sendData.mobile_number = verifyUserData.mobile_number;\r\n authApiCall\r\n .resetUserPassword(sendData)\r\n .then((data) => {\r\n toast.success(\"Password Changed Successfully\", {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n setTimeout(() => {\r\n props.history.push(\"/user/login\");\r\n }, 5000);\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n toast.error(err.data.error[0], {\r\n position: \"bottom-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Forgot Password\r\n \r\n \r\n {showResetForm ? (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {buttonLoader ? \"Processing...\" : \"Submit\"}\r\n \r\n \r\n Back to login?\r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {buttonLoader ? \"Processing...\" : \"Submit\"}\r\n \r\n \r\n Back to login?\r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default ForgotPassword;\r\n","import { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nfunction ScrollToTop({ children }) {\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, [pathname]);\r\n\r\n return children;\r\n}\r\n\r\nexport default ScrollToTop;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faTimes,\r\n faCheck,\r\n faMapMarker,\r\n faGlobe,\r\n faPhone,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n Table,\r\n} from \"react-bootstrap\";\r\nimport Environment from \"../../shared/Environment\";\r\nimport AuthService from \"../../services/AuthService\";\r\nimport ToastCom from \"../common/toasts\";\r\nimport \"./index.css\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nfunction Formers(props) {\r\n const authApiCall = new AuthService();\r\n const [imagePath, setImagePath] = useState(Environment.image_url);\r\n const [searchForm, setSearcForm] = useState({\r\n id: \"\",\r\n });\r\n const [showToast, setShowToast] = useState(false);\r\n const [toastType, setToastType] = useState(\"\");\r\n const [toastMessage, setToastMessage] = useState();\r\n const [buttonLoader, setButtonLoader] = useState(false);\r\n const [result, setResults] = useState({ name: \"\" })\r\n\r\n\r\n function handleFormInput(e) {\r\n const { name, value } = e.target;\r\n setSearcForm((contactForm) => ({\r\n ...contactForm,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n function search(e) {\r\n e.preventDefault();\r\n setButtonLoader(true);\r\n authApiCall\r\n .searchFormerDetails(searchForm)\r\n .then((data) => {\r\n setResults(data)\r\n setTimeout(() => {\r\n setButtonLoader(false);\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n setButtonLoader(false);\r\n setShowToast(true);\r\n setToastType(\"error\");\r\n setToastMessage(err.data.error);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Know Our Farmer - Five Element \"Food from Heaven\"\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    Our Movement

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

    \r\n In order to protect the environment and maintaining proper balance in the eco-system Five Element – \"Food from Heaven\" as initiated a moment called “Back to Roots”. This movement was started and directly supervised by our founder Mr. Sridhar IPS (retd). The main objective of this movement is to support, educate and help farmers who have a passion for cultivating traditional crops through age old organic methods.

    \r\n

    \r\n As per the recent survey report by the Tamil Nadu agriculture university, the number of farmers converting from organic method of cultivation to conventional method of cultivation are seen having cultivation areas of 4-10 acres. The farmers who have been shortlisted in this movement are having agriculture land between 4-10 acres.\r\n These farmers have been offered a contract such that whatever they cultivate will be procured completely by us, in which 400+ farmers have been volunteered as of now. This contract-based procurement is done to support and protect the farmers and also to ensure the farmer that whatever they cultivate in their agricultural land will be sold completely.\r\n

    \r\n
    \r\n

    \r\n For specific information about your product\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {result && result[\"name\"].length > 0 ?\r\n (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {result.name}
    \r\n {result.age}
    \r\n {result.year_of_forming}
    \r\n {result.farming_area}
    \r\n {result.name}
    \r\n {result.crop_cultivated}
    \r\n {result.type_of_proccessing}
    \r\n {result.district}
    \r\n {result.content.replace(/\\\\/g, '')}
    \r\n
    \r\n
    \r\n ) : <>\r\n }\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n );\r\n}\r\n\r\nexport default Formers;\r\n","import React from \"react\";\r\nimport { BrowserRouter, Route, Switch } from \"react-router-dom\";\r\nimport WithoutAuth from \"./layouts/withoutAuth\";\r\nimport Home from \"./components/home\";\r\nimport Products from \"./components/listProducts\";\r\nimport Product from \"./components/product\";\r\nimport Cart from \"./components/cart\";\r\nimport Checkout from \"./components/checkout\";\r\nimport MyOrders from \"./components/account/orders\";\r\nimport OrderDetail from \"./components/account/orders/orderDetail\";\r\nimport Login from \"./components/auth/login\";\r\nimport Register from \"./components/auth/register\";\r\nimport VerifyOtp from \"./components/auth/verifyUser\";\r\nimport OrderNotify from \"./components/checkout/orderSuccess\";\r\nimport Blog from \"./components/blog\";\r\nimport BlogDetails from \"./components/blog/blogDetails\";\r\nimport CategoryBlog from \"./components/blog/categoryBlog\";\r\nimport ContactUs from \"./components/contactus\";\r\nimport PrivacyPolicy from \"./components/privacy-policy\";\r\nimport About from \"./components/about-us\";\r\nimport Terms from \"./components/terms\";\r\n\r\nimport CancellationPolicy from \"./components/cancellation\";\r\nimport FeedBack from \"./components/feedback\";\r\nimport PaymentSuccess from \"./components/account/orders/paymentSuccess\";\r\nimport ChangePassword from \"./components/account/changePassword\";\r\nimport ManageAddress from \"./components/account/manageAddress\";\r\nimport ForgotPassword from \"./components/auth/forgotPassword\";\r\n\r\nimport ScrollToTop from \"./components/common/ScrollToTop\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport Formers from \"./components/farmers\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\n\r\n\r\nfunction App() {\r\n const WithoutAuthContainer = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n Five Element Food From Heaven Best Online Organic Store\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import { combineReducers } from \"redux\";\r\nimport cartitems from \"./cartReducer\";\r\nimport userAddresses from \"./addressReducer\";\r\nimport loggedinUser from \"./loginReducer\";\r\n\r\nconst rootReducer = combineReducers({\r\n cartitems,\r\n userAddresses,\r\n loggedinUser,\r\n});\r\n\r\nexport default rootReducer;\r\n","import * as types from \"../actions/actionTypes\";\r\n\r\nexport default function cartReducer(state = [], action) {\r\n switch (action.type) {\r\n case types.LOAD_CART_SUCCESS:\r\n return action.cartitems;\r\n case types.ADD_TO_CART_SUCCESS:\r\n return [{ ...action.cartitem }, ...state];\r\n case types.UPDATE_ITEM_CART_SUCCESS:\r\n return state.map((cartitem) =>\r\n cartitem.id === action.cartitem.id ? action.cartitem : cartitem\r\n );\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../actions/actionTypes\";\r\n\r\nexport default function addressReducer(state = [], action) {\r\n switch (action.type) {\r\n case types.LOAD_ADDRESS_SUCCESS:\r\n return action.userAddresses;\r\n case types.ADD_ADDRESS_SUCCESS:\r\n return [{ ...action.userAddress }, ...state];\r\n case types.UPDATE_ADDRESS_SUCCESS:\r\n return state.map((address) =>\r\n address.id == action.userAddress.id ? action.userAddress : address\r\n );\r\n case types.REMOVE_ADDRESS_SUCCESS:\r\n return state.filter((address) => address.id !== action.addressId);\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../actions/actionTypes\";\r\n\r\nexport default function loginReducer(state = {}, action) {\r\n switch (action.type) {\r\n case types.LOAD_LOGINUSER_SUCCESS:\r\n return action.loggedinUser;\r\n case types.SEND_LOGINUSER_SUCCESS:\r\n return action.loggedinUser;\r\n case types.LOGOUT_LOGINUSER_SUCCESS:\r\n return {};\r\n default:\r\n return state;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport App from \"./App\";\r\nimport reportWebVitals from \"./reportWebVitals\";\r\nimport { Provider as ReactProvider } from \"react-redux\";\r\nimport configureStore from \"./redux/configureStore\";\r\n\r\nconst store = configureStore();\r\n\r\nReactDOM.render(\r\n // \r\n \r\n \r\n ,\r\n // ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n","import { createStore, applyMiddleware, compose } from \"redux\";\r\nimport rootReducer from \"./reducers/index\";\r\nimport reduxImmutableStateVariant from \"redux-immutable-state-invariant\";\r\nimport thunk from \"redux-thunk\";\r\n\r\nexport default function configureStore(initialState) {\r\n const composeEnhancers =\r\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\n return createStore(\r\n rootReducer,\r\n initialState,\r\n composeEnhancers(applyMiddleware(thunk, reduxImmutableStateVariant()))\r\n );\r\n}\r\n"],"sourceRoot":""}