{"version":3,"sources":["components/images/dashboard/planet-earth.svg","components/images/dashboard/barcode.svg","pages/images/white_logo.png","pages/images/wireframe/image.png","pages/images/wireframe/paragraph.png","ReactotronConfig.js","api/shop.js","reducers/productActions.js","reducers/productReducer.js","reducers/cartReducer.js","reducers/rootReducer.js","react-auth0-spa.js","utils/history.js","components/PrivateRoute.js","components/Loading.js","rbac-rules.js","components/Can.js","components/Filters.js","components/HomeProduct/productMap.js","components/Cart/ProductList.js","containers/ProductsContainerSingleItem.js","components/HomeProduct/index.js","components/MapPage3.js","constants/Colors.js","components/AuthFlow/StepOne/index.js","components/AuthFlow/Map/index.js","firebaseConfig.js","components/AuthFlow/index.js","pages/Home.js","components/MyProfile/PaymentCards.js","components/MyProfile/PaymentCardsProfile.js","components/MyProfile/PaymentProvidersProfile.js","components/MyProfile/Profile.js","components/MyProfile/index.js","components/Purchases/index.js","components/Products/index.js","components/Inventories/itemCard.js","components/Inventories/index.js","components/Orders/index.js","components/Stores/index.js","components/Stores/StoresTableDashboard.js","components/Products/ProductsTableDashboard.js","components/Orders/ordersDashboardTable.js","components/Products/ProductsCountDashboard.js","components/Orders/ordersDashboardClients.js","components/Stores/StoresCountDashboard.js","components/Orders/ordersDashboardCount.js","components/Orders/ordersDashboardRevenue.js","components/Stores/StoreCO2.js","components/Stores/StoreWater.js","components/Stores/StoreElectro.js","components/Stores/StoreFuel.js","components/Stores/StoreWaste.js","components/Dashboard/VendorDashboard.js","components/Purchases/FoodDataRow.js","components/Dashboard/UserDashboard.js","components/Insights.js","pages/DashboardAdmin.js","components/HomeProduct/index_no_itemsVendorButton.js","components/MapPageItemsByVendor.js","pages/ItemsByVendor.js","components/MapPageItemsDetails.js","pages/ItemsDetails.js","components/SecBar2.js","pages/ProfileMenuPage.js","components/OrderingSteps/indexShipping.js","pages/DetailPageBuyNowShipping.js","components/OrderingSteps/indexBilling.js","components/MyProfile/CardSection.js","components/MyProfile/CheckoutFromClass.js","components/MyProfile/CheckoutForm.js","components/MyProfile/StripeUI.js","components/MyProfile/PaymentCardsNoToken.js","components/MyProfile/Billing_bottom_buttons.js","components/MyProfile/PaymentForm.js","pages/DetailPageBuyNowBilling.js","components/Cart/Product.js","components/Cart/Cart.js","containers/CartContainer.js","containers/CartContainerNew.js","components/OrderingSteps/indexConfirm.js","pages/DetailPageBuyNowConfirm.js","components/OrderingSteps/indexOrdered.js","pages/DetailPageBuyNowOrdered.js","components/OrderingSteps/index.js","pages/CartPage.js","components/TopBar/Cart.js","components/TopBar/Notifications.js","containers/CartContainerTopBarNew.js","components/TopBar/PopUpMenu.js","components/TopBar/index.js","components/Help.js","components/ReportItem.js","App.js","serviceWorker.js","index.js","components/images/dashboard/save-water.svg","components/images/dashboard/factory.svg","components/images/dashboard/graph.svg","components/images/empty/no_results.png","components/images/empty/sleeping.png","components/avatars/dog.png","components/avatars/cat.png","components/avatars/chick.png","components/avatars/rabbit.png","components/avatars/fish.png","components/avatars/parrot.png","assets/logoFoodChain2.svg","components/AuthFlow/StepOne/restaurant.svg","components/AuthFlow/StepOne/supermarket.svg","components/AuthFlow/StepOne/caffe.svg","components/AuthFlow/StepOne/producer.svg","components/AuthFlow/restaurant4.jpg","pages/images/sell_food.svg","pages/images/find_food.svg","components/images/dashboard/heart.svg","components/images/empty/no_products.png","components/images/dashboard/discount-tag.svg","components/images/dashboard/favorite.svg","components/images/empty/no_purchases.png","components/images/dashboard/store.svg","components/images/empty/no_people.png","components/Products/food_bag.svg","components/images/empty/no_orders_person.png","components/images/dashboard/network.svg","components/images/dashboard/list.svg","components/images/dashboard/energy-consumption-icon.png","components/images/dashboard/fuel-consumption-icon.png","components/images/dashboard/waste-div-icon.png","components/images/calories-icon-s.png","components/images/carbon-icon-s.png","components/images/fats-icon-s.png","components/images/protein-icon-s.png","components/images/co2-icon.png","components/images/recycle-icon.png","components/images/transport-icon-s.png","pages/images/TG-logo-8-2.png","pages/images/Kaufland_Logo.png","components/MyProfile/images/epaybg_logo.png","components/MyProfile/images/stripe_logo.png"],"names":["module","exports","Reactotron","configure","connect","strings","LocalizedStrings","en","notifyEpayBgPayment","notifyEpayBgCheckPayment","notifyEpayBgCheckPaymentDone","notifyOrderCreated","notifyError","notifyErrorDeclinedPayment","bg","lang","setLanguage","toast","info","success","error","cartQuantities","cart","quantities","Object","entries","quantityById","map","item","i","push","quantity","product_name","item_price","exp_date","place_name","place_id","console","log","checkPayment","async","paymentID","user","id","products","total","cb","axios","post","then","res","status","data","epayCheckPayment","payment","makePayment","catch","err","account_id","nickname","parseInt","values","sendOrderEmail","order","created","findPipe","sub","indexOf","substr","cartLocalStorage","totalLocalStorage","isCartPaid","keys","length","addedIds_placeIds","email","_id","concat","epayMakePayment","setTimeout","ID","request","response","fetch","json","makeid","result","characters","charactersLength","charAt","Math","floor","random","fetchProductsAfterUpdateItem","dispatch","fetchProductsBegin","fetchProductsSuccess","items","fetchProductsFailure","type","payload","getDeviceId","userid","addToCart","productId","placeId","itemPrice","expDate","placeName","productName","getState","byId","quantity_available","addToCartUnsafe","removeFromCart","addedIds","removeFromCartUnsafe","subtractFromCartUnsafe","clearCart","localStorage","removeItem","paymentProvider","payment_option","initialState","deviceID","loading","state","action","getProduct","getVisibleProducts","visibleIds","payment_provider","language","arguments","undefined","splice","getAddedIds","combineReducers","reduce","obj","product","PaymentProvider","fromCart","getPlaceAddedIds","getQuantity","fromProducts","getTotal","reduced_price","toFixed","getCartProducts","DEFAULT_REDIRECT_CALLBACK","window","history","replaceState","document","title","location","pathname","Auth0Context","React","createContext","useAuth0","useContext","Auth0Provider","_ref","children","onRedirectCallback","initOptions","isAuthenticated","setIsAuthenticated","useState","setUser","auth0Client","setAuth0","setLoading","popupOpen","setPopupOpen","useEffect","auth0FromHook","createAuth0Client","search","includes","appState","handleRedirectCallback","getUser","initAuth0","createElement","Provider","value","loginWithPopup","params","getIdTokenClaims","loginWithRedirect","getTokenSilently","getTokenWithPopup","logout","createBrowserHistory","withRouter","component","Component","path","rest","targetUrl","fn","Route","assign","render","props","Loading","className","style","position","display","justifyContent","alignContent","backgroundColor","margin","padding","src","logoFoodChain2","alt","rules","VISITOR","static","dynamic","userId","itemOwnerId","BASIC","_ref2","VENUE","_ref3","_ref4","VENDOR","_ref5","ADMIN","_ref6","_ref7","Can","check","role","permissions","staticPermissions","dynamicPermissions","permissionCondition","perform","yes","no","defaultProps","dayjs","extend","isSameOrAfter","FilterComponents","constructor","super","this","selectedDate","format","currentDate","Fragment","filters_header","SelectedFilters","DataSearch","componentId","dataField","filters_data_search_header","URLParam","renderNoSuggestion","filters_no_suggestions","RangeSlider","filters_price_range_header","range","start","end","rangeLabels","filters_price_range_currency","defaultValue","stepValue","interval","NumberBox","filters_quantity_header","labelPosition","DatePicker","filters_date_header","placeholder","filters_date_pl","showFilter","defaultSelected","filterLabel","onValueChange","customQuery","query","item_exp","gte","startOf","valueOf","ToggleButton","filters_deal_type_header","match","multiSelect","URLParams","label","filters_deal_type_personal","filters_deal_type_business","productMap","PureComponent","GMap","apiKey","zoom","latitude","longitude","MapMarker","ProductsList","mapStateToProps","qty","product_detail_qty_choose","product_detail_qty_available","saveState","serializedState","JSON","stringify","setItem","name","ReactReduxContext","Consumer","store","getCardAddedIds","Grid","Column","width","Button","icon","disabled","onClick","expiry_date","Icon","Detailpage2","openExtra","setState","opened","time_remaining","countdownTimer","bind","componentDidMount","componentDidUpdate","difference","inventory","diff","timeLeft","days","hours","minutes","seconds","calculatePickUpTime","timestamp","moment","moment_locale_prop","divided","image","description","allergens","eco","ingredients","deal_type","original_price","timerComponents","place","forEach","Row","Label","attached","color","size","Image","centered","rounded","Header","as","Subheader","dist","product_detail_away","offers_area_time","product_detail_desc","product_detail_ingr","row","fontStyle","product_detail_aller","allergen","product_detail_cat_type","product_detail_delivery","product_detail_pick_by","product_detail_sold_by","product_detail_vendor_desc","product_detail_place","primary","product_detail_but_show","product_detail_but_show_less","product_detail_but_show_more","paddingTop","geolocation","Container","Link","to","secondary","product_detail_see_all","ProductMap","posthog","init","api_host","capture","property","providers","MapPage","geo_lat","coords","loadingLat","geo_lng","loadingLng","handleCardClick","item_id","inventory_info","product_info","itemProduct","place_info","itemPlace","_findDistance","productClicked","selectedProduct","GoBack","account_info","defaultQuery","match_all","mapProvider","noProducts","noResults","Number","setProvider","navigator","getCurrentPosition","geo_error","geo_options","geo_success","calculateTimeRemaining","date","isAfter","deleteItem","fromNow","offers_time_remaining","itemid","delete","alert","alert_geolocation","enableHighAccuracy","maximumAge","timeout","lat1","lon1","lat2","lon2","radlat1","PI","radlat2","theta","radtheta","sin","cos","acos","ReactiveBase","app","url","credentials","theme","colors","primaryColor","stackable","Filters","filters_data_search_pl","ReactiveGoogleMap","defaultMapStyle","defaultZoom","defaultRadius","unit","showMapStyles","showMarkerClusters","showSearchAsMove","searchAsMove","innerClass","checkboxContainer","list","checkbox","select","button","active","paginaiton","onPopoverClick","map_popup_place_row","map_popup_qty_row","map_popup_price_row","autoClosePopover","renderAllData","hits","streamHits","loadMore","renderMap","renderPagination","Card","Group","doubling","itemsPerRow","raised","link","key","ui","Content","Meta","extra","offers_area_qty","offers_area_timе","no_results","verticalAlign","textAlign","offers_area_no_res","оffers_area_no_res_text","renderData","renderError","map_render_error","map_render_error_text","react","and","Modal","open","onClose","HomeProduct","handleGoBack","receiveGoBack","offers_area_org_price","offers_area_red_price","product_detail_cart_but_text","product_detail_cart_sold_out","product_detail_report","product_detail_env_header","product_detail_env_co2","product_detail_env_water","product_detail_buy_before","product_detail_pick_up_before","Colors","fcPink","fcOrange","fcGreen","fcBlue","fcPinkAlpha","fcOrangeAlpha","fcGreenAlpha","fcDarkGreen","fcGrey","fcDarkGreenAlpha","fcWhite","tintColor","tabIconDefault","tabIconSelected","tabBar","errorBackground","errorText","desc","red","warningBackground","warningText","noticeBackground","noticeText","textStyles","fontSize","marginTop","MultipleVisualPicker","handleOnChange","defineVendorType","content","header_venue","VisualPicker","onChange","border","VisualPickerOption","restaurant","marginBottom","icon_restaurant","supermarket","icon_supermarket","caffe","icon_caffe","producer","icon_producer","RainbowMap","local_latitude","setLatitude","local_longitude","setLongitude","local_zoom","setZoom","local_label","setLabel","local_description","setDescription","firebase","initializeApp","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","currencyOptions","text","flag","countryOptions","stepNames","ProgressIndicatorWithLabel","step_venue","step_general_info","step_business_det","step_payment_info","step_terms","button_back","button_next","header_gen_info","company_name","company_website","this_is_how","input_name","input_website","upload_image","upload_image_text","upload_logo","upload_logo_not_m","input_desc","input_desc_text","your_first_place","your_unique_desc","select_your_location","input_text","text_below_location_input","marker_text_1","marker_text_2","input_contact_name_header","input_contact_name_placeholder","input_contact_email_header","input_contact_email_placeholder","input_contact_phone_header","input_contact_phone_placeholder","header_business_details","header_text_below_b_d","input_legal_name","input_legal_name_pl","input_contact_number","input_contact_number_pl","input_registered_to","input_registered_to_pl","input_vat","input_vat_pl","header_company_legal_addr","input_address_1","input_address_2","input_country","input_city","input_postcode","header_payment_info","header_text_below_p_i","input_select_currency","input_select_currency_dropdowrn","input_iban","input_iban_placeholder","header_terms","text_terms","agree_checkbox","completed_text_1","completed_text_2","error_text","button_submit","handleUploadStart","isUploading","handleUploadError","handleAvatarUploadSuccess","avatar","filename","storage","ref","child","getDownloadURL","avatarURL","handleLogoUploadSuccess","logo","logoURL","handleSubmit","submitted","vendorType","short_description","contact_name","website","contact_email","contact_phone","legal_name","registered_to","VAT","registered_to_country","registered_to_city","registered_to_address_line1","registered_to_address_line2","registered_to_phone","registered_to_postcode","currency","IBAN","headers","completed","receiveVendorType","stepOneCompleted","receiveVendorDetails","vendorDetails","convertPlaceToGeoCode","place1","placeAddressByGoogle","Geocode","setApiKey","enableDebug","fromAddress","formatted_address","lat","lng","results","geometry","placeLat","placeLng","handleChange","e","marker_name","marker_description","handleCurrencyChange","handleTermsChange","prevState","termsChecked","changeCompleted","_setLanguage","currentStepIndex","clicked","stepTwoCompleted","stepThreeCompleted","stepFourCompleted","handleNextClick","handleBackClick","nextStepIndex","isNextDisabled","previewStepIndex","isBackDisabled","Dimmer","Dimmable","blurring","dimmed","inverted","Loader","onClickOutside","handleHide","Form","ProgressIndicator","currentStepName","ProgressStep","StepOne","widths","Input","required","iconPosition","CustomUploadButton","marginLeft","marginRight","borderRadius","fontWeight","accept","randomizeFilename","storageRef","beforeUploadStart","file","Error","onUploadStart","onUploadError","onUploadSuccess","metadata","cacheControl","Field","control","TextArea","float","Description","Autocomplete","onPlaceSelected","types","componentRestrictions","country","maxWidth","Dropdown","options","selection","closeOnChange","inline","overflow","maxHeight","Checkbox","checked","basic","Home","isOpenBuySell","setIsOpenBuySell","isOpenAuthFlow","setIsOpenAuthFlow","toggle","toggleAuthFlow","notifyFirstCreatedPlace","notifyConfirmPlace","welcome","how_to_use_platform","buy_food","i_want_to","sell_food","sell_food_desc","sell_food_cont","offers_area_no_res_text","ToastContainer","closeOnEscape","closeOnDimmerClick","dimmer","find_food","wrapped","background","closeIcon","AuthFlow","handleFinalSubmit","savePlaceToDBFirstTimeLogin","idsub","user_geo_lat","user_geo_lng","telephone","coordinates","contact","phone_number","created_by","cardLabelElementEpay","setLabelEpay","cardLabelElementStripe","setLabelStripe","EpayBGLogo","corner","StripeLogo","Segment","horizontal","isSetPaymentMethod","PaymentCardsNoToken","logo_desc","is_conf","PaymentOption","showCardLabelEpay","showCardLabelStripe","header","logo_desc_epaybg","logo_desc_stripe","is_ready_small_text","epay_button_activate","displayEpayBG","href","PaymentCardsProfile","defaults","common","Profile","email_verified","email_verified_yes","email_verified_no","ever_login","account_type","deviceId","token","expires","edit_button","delete_button","save_button","cancel_button","notifySuccess","notifyProfileUpdate","edit","newNickname","newEmail","newLanguage","tempToken","newAccount_type_detail","userInfo","access_token","deviceid","get","APPID","DEVICEID","TOKEN","PINS","patch","method","body","user_metadata","borderWidth","boxShadow","columns","picture","raise","List","Item","target","updateUserInfo2","getTempToken","ProfileTabs","css","_templateObject","_taggedTemplateLiteral","menuItem_your_profile","menuItem_payment_prov","menuItem_sell_food","panes","menuItem","Tab","Pane","PaymentProvidersProfile","OrdersNew","header_desc","ord_box","no_ord","ord_det","ord_item","ord_itemid","ord_qty","ord_id","ord_created","ord_purchased","ord_date","show","hide","getOrdersByToken","loadingOrders","orders","Statistic","floated","Value","padded","sleeping","Extra","vendor_id","inventories","inventory_id","total_amount","user_notes","user_contacts","unitsDropDown","unitsDropDownBG","allergensBG","ProductBasedOnStores","products_box","rating_box","no_products","product_row","button_edit","button_delete","product_row_header","product_row_desc","product_row_details","product_row_weight","product_row_location","product_row_allergens","button_add_product","add_new_header","add_new_product_type","add_new_surprise_box_header","add_new_surprise_box_desc","add_new_custom_box_header","add_new_custom_box_desc","add_new_edit","add_new_upload_image","add_new_image","add_new_update","add_new_are_you","add_new_yes","add_new_no","add_new_def_image","add_new_or","add_new_own","surprise_box_label","surprise_box_label_placeholder","surprise_box_placeholder","desc_short","desc_form_placeholder","allergens_label","allergend_placeholder","terms","weight","notifyProductCreated","notifyProductUpdate","notifyProductDeleted","food_info_label","food_info_cal","food_info_carb","food_info_fat","food_info_prot","food_eco_save_water","food_eco_save_co2","unit_kcal","unit_gr","unit_liter","placeholder_cal","placeholder_carb","placeholder_fat","placeholder_prot","progress","handleProgress","handleUploadSuccess","newProductImageName","newProductImageURL","chooseBox","productTypeSelected","newProductUnitsType","newProductUnitsValue","chooseCustom","getProductsDataFromDbByAccountId","getProductsData","closeConfigShow","closeConfigShow1","closeOnEscape1","closeOnDimmerClick1","units","editProductId","editProductName","newProductIngredients","newProductAller","newProductUnits","open1","closeConfigShowActionDelete","openActionDelete","handleChangeCheckBox","newProductAgreeTerms","handleAllergensChange","close","closeActionDelete","disableItem","selectedProductId","handleFormChange","newProductDesc","convertProductToGeoCode","product1","productAddressByGoogle","productLat","productLng","MapAllergens","lenAllergen","warn","intervalIsSet","newProductName","newProductCal","newProductCarb","newProductFat","newProductProt","newProductSavedWater","newProductSavedCO2","newProductEco","newProductDescription","deleteProduct","units_value","calories","carbo","fats","proteins","productid","put","heart","isMarkedForDeletion","trigger","unstackable","Actions","editProduct","negative","alignItems","cursor","circular","Divider","beforeuploadstart","onProgress","fluid","multiple","onSubmit","saveProductToDB","ItemCard","confirmDelete","confirmPrint","confirmQR","openConfirmDeleteModal","openConfirmPrintModal","openConfirmQRModal","editItemId","newItemQyAv","newItemRedPrice","newItemExDate","newItemAgreeTerms","currentProductLoading","currentProduct","currentPlace","currentPlaceLoading","fetch_needed","qr_code_state","qr_link","product_id","getProductDetails","getPlaceDetails","prevProps","updateCallback","errorCallback","deleteCallback","QRCode","toDataURL","qr_code","getDateFromStamp","getCreatedDateFromStamp","Placeholder","square","Line","Paragraph","available_qty","deal_personal","deal_business","are_you_qr","generateQRforItem","print","are_you_delete","rainbow","palette","brand","InventoriesBasedOnStores","inv_box","perc_box","no_inv","button_add_inv","place_label","prod","prod_label","prod_det","sh_desc","aller","aller_pl","off_det","prod_name","price_org","part_number","price_org_hold","price","price_hold","qty_hold","deal","deal_hold","exp","time","notifyItemCreated","notifyItemUpdate","notifyItemDeleted","org_price","edit_item","upload_text","add_image","item_details","are_you_update","edit_qty_label","edit_price_label","update_button","sell_item","getPlaces","loadingPlaces","places","mapPlacesforDropdown","getPlacesAll","getPlacesIds","userrole","places_ids","getItems","loadingProducts","mapProductsforDropdown","handleProductChange","selectedProductValue","selectedProductloading","handlePlaceChange","selectedPlaceValue","handleDealTypeChange","selectedDealTypeValue","fetchedProducts","_","index","placesDropdown","getItemsArray","newItemUnits","ItemCardUpdateCallback","reduced_price_edit","quantity_available_edit","findIndex","inventoriesToEdit","inventoryToEdit","ItemCardDeleteCallback","filter","dealtypeDropdown","dealtypeDropdownBG","selectedPlace","newItemSaveTemp","newItemTransTemp","newItemOrgPrice","Date","newItemPackDate","newItemHarvDate","newItemSaveDate","newItemTransDate","newItemExTime","reduce_price","exp_time","pack_date","harv_date","save_date","save_temp","trans_date","trans_temp","setMinutes","setHours","calculatedTimestamp","getTime","find","harvest_date","transport_date","transport_temp","discount_tag","favorite","no_purchases","inventory_label","paddingLeft","paddingRight","Application","minDate","maxDate","TimePicker","hour24","saveItemToDB","getOrdersAll","payment_method","GOOGLE_KEY","StoresPage","header_desc_extra","pl_box","pl_box_s","no_pl","but_edit","but_del","but_add","add_header","pl_det","store_name","store_name_plh","cont_per","cont_per_plh","ph_num","ph_num_plh","pl_desc","pl_desc_plh","pl_worktime_plh","pl_worktime_h_plh","location_plh","image_size","image_but","upload_successful","submit_changes","are_you_sure_del","notifyFirstPlaceCreated","notifyPlaceCreated","notifyPlaceUpdate","notifyPlaceDeleted","worktime_days_weekdays","worktime_days_weekend","worktime_days_alldays","worktime_hours_24hours","worktime_hours_12hours","worktime_hours_8hours","getPlacesDataFromDbByAccountId","getPlacesDataFromDbByAccountIdLocal","getPlacesData","editModalConfig","editPlaceId","newStoreName","newStoreDescription","place_image_url","newStoreImageURL","newStoreContactPerson","newStorePhoneNumber","selectedPlaceId","uploadError","newStoreImageName","handleWorkDaysChange","newPlaceWorkDays","handleWorkHoursChange","newPlaceWorkTime","showWorkTimeDays","showWorkTimeHours","loadingFirstTime","newStoreAddress","newStoreImage","newStoreAgreeWithTerms","editPlaceName","newPlaceWorkDaysDropDown","newPlaceWorkDaysDropDownBG","newPlaceWorkHoursDropDown","newPlaceWorkHoursDropDownBG","deletePlace","person","contact_number","image_url","image_name","workdays","worktime","storeid","no_people","Progress","percent","editPlace","savePlaceToDB","user_type","placeid","placename","place_address","Table","celled","selectable","HeaderCell","dashboard_segment_stores_name","dashboard_segment_stores_status","dashboard_segment_stores_type","dashboard_segment_stores_contact","dashboard_segment_stores_actions","Body","Cell","place_type","dashboard_segment_stores_but_edit","Footer","colSpan","dashboard_segment_stores_but_add","ProductsTableDashboard","newProductImage","food_bag","dashboard_segment_products_image","dashboard_segment_products_name","dashboard_segment_products_desc","dashboard_segment_products_no_products","dashboard_segment_products_but_edit","dashboard_segment_products_but_add","Select","OrdersDashboard","no_orders","dashboard_segment_orders_table_id","dashboard_segment_orders_table_status","dashboard_segment_orders_table_item_id","dashboard_segment_orders_table_item_qty","dashboard_segment_orders_table_item_actions","load","dashboard_segment_orders_table_but_report","ProductsCountDashboard","dashboard_box_products","OrdersClientsDashboard","sumClients","getTotalClients","counts","getTotalClients2","Set","client","dashboard_box_clients","StoresCountDashboard","factory","OrdersCountDashboard","dashboard_box_orders","OrdersRevenueDashboard","sumValue","revenue","acc","val","StoresCO2","calculateFoodWaste","waste","dashboard_box_co2_kg","dashboard_box_co2","StoresWater","calculateWaterWaste","water","dashboard_box_water_l","dashboard_box_water","StoresElectro","electroicon","StoresFuel","fuelicon","StoresWaste","waste2","avatars","dog","cat","chick","rabbit","fish","parrot","ContainerExampleContainer","accounts","loadingAccounts","chooseRandom","getData","dashboard_welcome","dashboard_label","stretched","OrdersDashboardCount","OrdersDashboardRevenue","dashboard_segment_products_header","dashboard_segment_products_label","dashboard_segment_stores_header","dashboard_segment_stores_label","StoresTableDashboard","dashboard_segment_orders_label","OrdersTableDashboard","FoodDataRow","purchases","setPurchases","getPurchasesByToken","calculateFoodRescued","totalWeight","purchase","coSaved","waterSaved","Iframe","height","frameBorder","DashboardAdmin","tab_dashboard_content","tab_insights_content","tab_products_content","tab_inventories_content","tab_orders_content","tab_places_content","tab_purchases_content","tab_profile_content","dashboard_currency","dashboard_box_revenue","dashboard_segment_orders_header","products_header","products_label","products_products","products_rating","products_product_detail_label","products_but_edit","products_but_delete","products_add_product","inv_header","inv_label","inv_items_on_sale","inv_items_sold","inv_but_edit","inv_but_delete","inv_add_item","orders_header","orders_label","orders_orders","orders_orders_id","orders_show","orders_show_more","orders_show_less","orders_order_details","places_header","places_label","places_places","places_but_edit","places_but_delete","places_add_item","purchases_header","purchases_label","purchases_purchases","purchases_orders_id","purchases_show","purchases_show_more","purchases_show_less","purchases_order_details","UserDashboard","Purchases","VendorDashboard","Insights","Products","Inventories","Stores","menu","pointing","MapPageItemsByVendor","getPlaceID","subUrl","substring","PlaceID","isSetVendorId","vendorID","address","subheader","YouTube","videoId","onReady","_onReady","HomeProductNoVendorItemsButton","MapPageItemsDetails","getItemID","inventory_info_details","toString","spaced","Калорий","carbon","Въглехидрати","Мазнини","protein","Протеини","co2","recycle","transport","shareOnMobile","images","message","CardContent","CardHeader","CardDescription","rel","MyProfile","TabExamplePointing","ProfileMenuPage","SecBar2","h1","h2","h3","last","OrderingStepsShipping","Step","steps_cart_header","steps_cart_label","steps_shipping_header","steps_shipping_label","steps_billing_header","steps_billing_label","steps_confirm_header","steps_confirm_label","Shipping","checkBoxTake","setCheckBoxTake","checkBoxDel","setCheckBoxDel","nextBut","setNextBut","checkbox_take_by_myself","checkbox_other_delivery","but_next","but_back","OrderingStepsBilling","CARD_ELEMENT_OPTIONS","base","fontFamily","fontSmoothing","invalid","iconColor","CardSection","isPaid","stripe_enter_card_details","CardElement","CheckoutForm","notifyStripePayment","notifyStripeCheckPayment","notifyStripeErrorInfo","notifyStripeCheckPaymentDone","checkTotalToBeSentToStripe","payButtonClick","clientSecret","event","preventDefault","stripe","elements","storeRedux","totalLocalStorageToStripe","cartLocalStorageToStripe","setCartToPaid","customer","integration_check","confirmCardPayment","card","getElement","billing_details","paymentIntent","buttonText","stripe_success_pay_thank_you","stripe_but_text","isPaidProp","totalSendToStripe","parseFloat","total2","reducer","accumulator","currentValue","notifyStripeErrorInfo2","loadState","getItem","parse","loadStateTotal","ElementsConsumer","CheckoutFormClass","StripeUI","stripePromise","loadStripe","Elements","onlyOnce","setOnlyOnce","choose_header","PaymentCards","epaybg_text","epaybg_activate","BottomButtons","Billing","stripe_text","configured_text","PaymentOptions","Product","Cart","onCheckoutClicked","cart_no_products","cart_header","cart_total","total_currency","but_order","hasProducts","hasProductsLocalStorage","nodes","nodesLocalStorage","getStateRedux","showCart","checkout","shop","clear","OrderingStepsConfirm","ConfirmOrder","epaybg_info_text","no_payment_provider_text","showPaymentDialog","CartContainer","OrderingStepsOrdered","Ordered","ordered_header","but_home","OrderingStepsIndex","cart_empty_label","cart_one_place_label","cart_but_remove","cart_but_add","cart_currency","cart_pcs","cart_back_to","cart_reset","cart_but_next","OrderingSteps","qtyLocalStorage","floating","top","left","Notifications","getNotificationsByAccountId","accountid","notifications","getNotifications","deleteNotification","visible","scrolling","notif","PopUpMenu","isOpenPopUpMenu","setIsOpenPopUpMenu","toggleMenu","createRef","onClickOutsideHandler","current","contains","handleSideMenuClick","onClickMenuItem","addEventListener","removeEventListener","Ref","innerRef","Menu","vertical","popup_menu_my_profile","popup_menu_dashboard","popup_menu_help","popup_menu_cust_care","popup_menu_faq","returnTo","origin","popup_menu_logout","TopBar","isOpen","setIsOpen","togglePopUpMenu","shop_cart_header","fixed","KauflandLogo","WhiteLogoTG","NotificationsIconTopBar","opacity","HelpPage","ReportItem","App","Router","Switch","PrivateRoute","exact","ItemsByVendor","ItemsDetails","CartPage","DetailPageBuyNowShipping","DetailPageBuyNowBilling","DetailPageBuyNowConfirm","DetailPageBuyNowOrdered","Help","Boolean","hostname","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","middleware","ReduxThunk","logger","persistConfig","stateReconciler","autoMergeLevel2","pReducer","persistReducer","rootReducer","createStore","applyMiddleware","persistStore","ReactDOM","domain","config","client_id","clientId","redirect_uri","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.fadbcc84.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/planet-earth.4f6e859b.svg\";","module.exports = __webpack_public_path__ + \"static/media/barcode.fb97a83d.svg\";","module.exports = __webpack_public_path__ + \"static/media/white_logo.b246c6c4.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8AAAAMcCAMAAACo9Dz9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMEZDRUU0QjREQTIxMUU0ODAwMUVCOTYwMzA5MzE3NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowMEZDRUU0QzREQTIxMUU0ODAwMUVCOTYwMzA5MzE3NSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAwRkNFRTQ5NERBMjExRTQ4MDAxRUI5NjAzMDkzMTc1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAwRkNFRTRBNERBMjExRTQ4MDAxRUI5NjAzMDkzMTc1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+D7rN8gAAAMZQTFRFvL7A5+jpuLm7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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnEAAADVCAMAAAAPQVbbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjhCQkM5Qzc0REEyMTFFNEFGQjE5MEZCRUE1OUQ2MzIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjhCQkM5QzY0REEyMTFFNEFGQjE5MEZCRUE1OUQ2MzIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkMxMzI0MDhBNERBMTExRTQ5NENDRTFCRDlGRkQxOEQxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkMxMzI0MDhCNERBMTExRTQ5NENDRTFCRDlGRkQxOEQxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Efm4+wAAAwBQTFRFvL7AycrMwMLEyMnL5ufo/f39xMXH7Ozt9/f3v8HD0dLU29zd4uLj3d7f+vr6+Pn55ebn09XWxsjKwcPF+fn6/v7+wsTG9/j4yMrLzc7Q8PDx8vPzxMbIxsjJ+Pj4w8XH+fn5vsDC0NHT2tvc+Pj54+Tl2Nna8fHy/v7/xcbIzM3P3+Dh6uvrxsfJ+fr6/f3+xMbHxcfI7+/wxcfJ9vb34+Pk7e7uvb/A+/v78fHx1dfY9vb2z9HS5OXmycvMvsDB+vr77e3u2dvc4uPk7/DwwcPE6+vs5+jp9vf36erqysvN9/f44eLj5+joz9DSyszN////UVFRUlJSU1NTVFRUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ2dnaGhoaWlpampqa2trbGxsbW1tbm5ub29vcHBwcXFxcnJyc3NzdHR0dXV1dnZ2d3d3eHh4eXl5enp6e3t7fHx8fX19fn5+f39/gICAgYGBgoKCg4ODhISEhYWFhoaGh4eHiIiIiYmJioqKi4uLjIyMjY2Njo6Oj4+PkJCQkZGRkpKSk5OTlJSUlZWVlpaWl5eXmJiYmZmZmpqam5ubnJycnZ2dnp6en5+foKCgoaGhoqKio6OjpKSkpaWlpqamp6enqKioqampqqqqq6urrKysra2trq6ur6+vsLCwsbGxsrKys7OztLS0tbW1tra2t7e3uLi4ubm5urq6u7u7vLy8vb29vr6+v7+/wMDAwcHBwsLCw8PDxMTExcXFxsbGx8fHyMjIycnJysrKy8vLzMzMzc3Nzs7Oz8/P0NDQ0dHR0tLS09PT1NTU1dXV1tbW19fX2NjY2dnZ2tra29vb3Nzc3d3d3t7e39/f4ODg4eHh4uLi4+Pj5OTk5eXl5ubm5+fn6Ojo6enp6urq6+vr7Ozs7e3t7u7u7+/v8PDw8fHx8vLy8/Pz9PT09fX19vb29/f3+Pj4+fn5+vr6+/v7/Pz8/f39/v7+////nkVZUQAAAFF0Uk5T//////////////////////////////////////////////////////////////////////////////////////////////////////////8AaOyowQAAArhJREFUeNrs3WsrBFEAx+FZtOUWlrAubax1CSWSkrskt/j+38IbrCIfYDLl7JzZsfs8H+HMr31z/jObnCXDkJ+j4Y+XLMlWArmayy6u5oRQHIoDxaE4UByKQ3GgOBQHiuPfFbfkhCi0uJG9CuSnVmlnF/cCRVIcikNxoDgUB4pDcSgOFIfiQHEoDhRHqYob2h6DINtPIcVVLQgJVQspbtm5EWowpDjvORBsXnEoDsUpDsWhOFAcikNxikNxKE5xdKu4hnMjVNBN/nVzHIJctSwysQEGxaE4FAeKQ3GgOBQHikNxKA4Uh+LgL8Wtzg5CUaaPbYApVF1xKA7FgeJQHCgOxaE4KLA43zqn2OJ2ToegKK1LN/nYjqA4UByKA8WhOBQHikNxoDgUB4pDcfRxcffJAPzqfCPv4myAybSgOBSH4hSH4lCc4lAcikNxikNxKE5xlLG4LWdKlv28i3t2k0+Gldxv8s1nsI9DcaA4FAeKQ3EoDhSH4kBxKA4Uh+Lo3+J2LcCIZ7qdKs4GmJjFzSgOxaE4UByKA8WhOBSnOBRH3xQ3Uq1ALPULN/nYjqA4UByKA8WhOFAcikNxoDgUB4pDcaA4FIfiIPfiGpbRdOz1D8V5z4HOLSoOxaE4xaE4FAeKQ3EoTnEoDsUlj+uj0JHm6JqbfGxHQHEoDsWB4lAcKA7FgeJQHIoDxaE4UBylK+4LIkoXV1+pQizzn6nilkymiWdgIlWc9xyIyH9IozgUB4pDcaA4FIfiFEdXiztwKsRz004Vt+xUiPgbly7u4+0dYnn4to/DIhPFgeJQHCgOxYHiUByKA8WhOFAcigPF0aXi7g4ne0/r1pMtbXG9+aWb2W+PtqzF1RSH4hSnOMWhOMUpTnEoDsUpTnGKQ3GKU5ziyKG4huIotLjmyVTvWV3f9GhL6keAAQAI4Bq5ZLODegAAAABJRU5ErkJggg==\"","import Reactotron from 'reactotron-react-js'\r\n\r\nReactotron\r\n .configure() // we can use plugins here -- more on this later\r\n .connect() // let's connect!","import axios from 'axios';\nimport { toast } from 'react-toastify';\nimport LocalizedStrings from 'react-localization';\n\n const strings = new LocalizedStrings({\n en:{\n notifyEpayBgPayment: \"Succesfull payment request\",\n notifyEpayBgCheckPayment: \"Checking payment...\",\n notifyEpayBgCheckPaymentDone: \"Payment is done, thank you!\",\n notifyOrderCreated: \"Success! Your Order is submitted\",\n notifyError: \"Something went wrong!\",\n notifyErrorDeclinedPayment: \"The payment was DECLINED by your provider!\",\n },\n bg: {\n notifyEpayBgPayment: \"Успешна заявка за плащане\",\n notifyEpayBgCheckPayment: \"Плащането се проверява...\",\n notifyEpayBgCheckPaymentDone: \"Плащането е извършено, благодарим Ви!\",\n notifyOrderCreated: \"Успешно! Поръчкара е изпратена.\",\n notifyError: \"Нещо се обърка!\",\n notifyErrorDeclinedPayment: \"Плащането е отхвърлено от вашата банка!\",\n \n }\n });\n\n const _setLanguage = (lang) => {\n //console.log(lang)\n strings.setLanguage(lang)\n }\n\n _setLanguage('bg');\n\n//const notifyEpayBgGetUserInfo = () => toast.info(\"Succesfully get USER INFO\");\n//const notifyEpayBgGetIdForPayment = () => toast.info(\"Succesfully get ID for payment\");\nconst notifyEpayBgPayment = () => toast.info(strings.notifyEpayBgPayment);\nconst notifyEpayBgCheckPayment = () => toast.info(strings.notifyEpayBgCheckPayment);\nconst notifyEpayBgCheckPaymentDone = () => toast.success(strings.notifyEpayBgCheckPaymentDone);\nconst notifyOrderCreated = () => toast.success(strings.notifyOrderCreated);\nconst notifyError = () => toast.error(strings.notifyError);\nconst notifyErrorDeclinedPayment = () => toast.error(strings.notifyErrorDeclinedPayment);\n\n//const TIMEOUT = 100\n\n/* \n getOrdersByToken = userid => {\n axios.post(\"http://localhost:3001/api/getOrdersData\", {\n \"items.userid\": \"admin\"\n })\n .then(orders => orders.json())\n .then(res => this.setState({ orders: res.orders }))\n ;\n };\n */\n\n/* const request = async () => {\n const response = await fetch('http://139.59.205.81/inventories/');\n const json = await response.json();\n //console.log('json', json);\n return json;\n} */\n\n/** \n* Order schema\n*/\n/*\n{\n \"_id\": \"5e7b29c31c9d4400003f9d97\", //order id - auto-generated\n \"status\": \"PENDING\", // pending, confirmed, completed, cancelled, rejected \n // pending - order is created in database, you only have info for type of payment\n //confirmed - (when paid by card and is successful || if cash, no confirmed status )\n //completed - (when picked-up) double click button on app (B2B ne e qsno)\n //rejected - card transaction is rejected\n //cancelled - vendor can cancel order - when changing status to cancelled show mandatory text field for reason that does not allow you to submit without reason \n //for cash payments that are not collected, have a policy \n \"payment_method\": \"cash\", // one of cash, card, bank transfer\n \"account_id\": \"5e53cef6461a990ce3c5b834\", //id of person making the order\n \"created_by\": \"Pepo\", //name of person making the order - non-essential\n \"user_contacts\": \"\", // phone number of person making the order - non-essential\n \"user_notes\" : \"notes by the user\" \n \"cancellation_reason\" : \"order cancellation reason\" // not mandatory\n //change inventory to inventories\n \"inventory_id\": \"5e7a29638a57137be326ba9d\",\n \"vendor_id\": \"5e53cef6461a990ce3c5b834\", // ot kogo poruchwash\n \"quantity_ordered\": 2, //subtract from inventory_id \n},\n\"created\": {\n \"$numberInt\": \"1585087069\"\n},\n\"__v\": {\n \"$numberInt\": \"0\"\n}\n*/\n\n/* const productsVendors = (products) => {\n let vendors = [];\n Object.values(products).map(\n product => {\n vendors.push(product.account_id);\n }\n );\n console.log('vendors: ',vendors.toString());\n return vendors.toString();\n}; */\n\nconst cartQuantities = (cart) => {\n let quantities = [];\n Object.entries(cart.quantityById).map(\n (item, i) => {\n quantities.push({\n 'inventory_id': item[0],\n 'quantity': item[1].quantity,\n 'product_name': item[1].product_name,\n 'item_price': item[1].item_price,\n 'exp_date': item[1].exp_date,\n 'place_name': item[1].place_name,\n 'place_id': item[1].place_id\n });\n console.log('item:', item)\n console.log('item[0]:', item[0])\n console.log('item[1].place_name:', item[1].place_name)\n }\n );\n console.log('quantities: ',quantities);\n return quantities;\n};\n\n/* EPAYBG FUNCTIONS */\n/* const EpayBGgetUserInfo = async(APPID, DEVICEID, TOKEN) => {\n //console.log(APPID, DEVICEID, CODE)\n //PINS=1 => If you want information about the Payment Instruments\n let validators;\n try {\n validators = await Promise.all([\n axios.get(`https://demo.epay.bg/xdev/api/user/info?APPID=${APPID}&DEVICEID=${DEVICEID}&TOKEN=${TOKEN}&PINS=1`)\n ]);\n\n return validators = validators.map(validator => {\n //console.log(\"EpayBGgetUserInfo\", validator.data.payment_instruments[0])\n notifyEpayBgGetUserInfo();\n return validator.data.payment_instruments[0];\n });\n\n } catch (error) {\n console.log(error);\n notifyError();\n }\n} */\n\n\n/* const EpayBGgetIDforPayment = async(APPID, DEVICEID, TOKEN) => {\n let validators;\n try {\n validators = await Promise.all([\n axios.post('https://demo.epay.bg/xdev/api/payment/init', {\n TYPE: 'send',\n APPID: APPID,\n DEVICEID: DEVICEID,\n TOKEN: TOKEN\n })\n //.then(res => res.status === 200 ? notifyEpayBgGetIdForPayment() : notifyError())\n ]);\n\n return validators = validators.map(validator => {\n //console.log(\"EpayBGgetIDforPayment: \", validator.data.payment.ID)\n notifyEpayBgGetIdForPayment();\n return validator.data.payment.ID;\n });\n\n } catch (error) {\n console.log(error);\n notifyError();\n }\n} */\n\n\n/* const EpayBGMakePayment = async(APPID, DEVICEID, TOKEN, PINS, AMOUNT, DESCRIPTION, REASON, PAYMENT_ID, NAME) => {\n //THE AMOUNT HAS PROBLEM - IN FOODCHAIN WE GOT DECIMALS, IN EPAY 5.00 = 500!!!\n //console.log('EpayBGMakePayment: ', APPID, DEVICEID, TOKEN, PINS, AMOUNT, DESCRIPTION, REASON, PAYMENT_ID, NAME)\n let validators;\n try {\n validators = await Promise.all([\n axios.post('https://demo.epay.bg/xdev/api/payment/send/user', {\n APPID: APPID,\n DEVICEID: DEVICEID,\n TOKEN: TOKEN,\n PINS: PINS,\n AMOUNT: AMOUNT,\n DESCRIPTION: DESCRIPTION,\n RCPT: 8095111674,\n RCPT_TYPE: 'KIN',\n REASON: REASON,\n ID: PAYMENT_ID,\n SHOW: 'KIN',\n NAME: NAME\n })\n ]);\n\n return validators = validators.map(validator => {\n console.log(\"EpayBGMakePayment: \", validator.data);\n console.log('STATE.TEXT: ', validator.data.payment[\"STATE.TEXT\"])\n notifyEpayBgPayment();\n return validator.data;\n });\n\n } catch (error) {\n console.log(error);\n notifyError();\n }\n} */\n\n\n/* const EpayBGCheckPayment = async(APPID, DEVICEID, TOKEN, PAYMENT_ID, id, products, user, cart, total, cb) => {\n let validators;\n try {\n validators = await Promise.all([\n axios.post('https://demo.epay.bg/xdev/api/payment/send/status', {\n APPID: APPID,\n DEVICEID: DEVICEID,\n TOKEN: TOKEN,\n ID: PAYMENT_ID,\n })\n ]);\n\n return validators = validators.map(validator => {\n console.log(\"EpayBGCheckPayment: \", validator.data)\n console.log('STATE.TEXT: ', validator.data.payment[\"STATE.TEXT\"])\n console.log(typeof validator.data.payment[\"STATE.TEXT\"])\n //validator.data.payment[\"STATE.TEXT\"] === 'Извършено плащане' ? notifyEpayBgCheckPaymentDone() : notifyErrorDeclinedPayment()\n if(validator.data.payment[\"STATE.TEXT\"] === 'Извършено плащане') {\n notifyEpayBgCheckPaymentDone()\n axios.post(\"https://api.dontwaste.me/orders/\", {\n \"account_id\": id,\n \"vendor_id\": products[0].account_id,\n \"created_by\": user.nickname,\n \"user_contacts\": user.nickname,\n \"inventories\": cartQuantities(cart),\n \"total_amount\": total,\n \"payment_method\": \"CARD\",\n \"user_notes\": \"WRONG some notes...\"\n })\n .then(console.log('products: ', products, 'user: ', user, 'cart: ', parseInt(Object.values(cart.quantityById),0) ))\n .then(res => res.status === 201 ? (cb(), notifyOrderCreated(), sendOrderEmail(user, products, res.data.order.created)) : 'res.error')\n .catch(err => {\n console.log(err);\n notifyError()\n }); \n } else {\n notifyErrorDeclinedPayment()\n }\n \n\n return validator.data;\n });\n\n } catch (error) {\n console.log(error);\n notifyError();\n }\n \n} */\n\n/* END OF EPAYBG FUNCTIONS */\n\nconst checkPayment = async(paymentID, user, id, products, cart, total, cb) => {\n //await axios.post(\"http://localhost:3004/payment/checkpayment\", {\n await axios.post(\"https://api.dontwaste.me/orders/payment/checkpayment\", {\n \"paymentID\": paymentID,\n \"user\": user\n })\n .then(res => \n res.status === 200 ?\n res.data.epayCheckPayment[0].payment[\"STATE.TEXT\"] === 'Извършено плащане' ?\n ( notifyEpayBgCheckPaymentDone(), makePayment(user, id, products, cart, total, cb) )\n : res.data.epayCheckPayment[0].payment[\"STATE.TEXT\"] === 'Обработва се' ?\n notifyEpayBgCheckPayment()\n : notifyErrorDeclinedPayment()\n : res.error\n )\n .catch(err => {\n console.log(err);\n notifyError()\n });\n}\n\nconst makePayment = async(user, id, products, cart, total, cb) => {\n axios.post(\"https://api.dontwaste.me/orders/\", {\n \"account_id\": id,\n \"vendor_id\": products[0].account_id,\n \"created_by\": user.nickname,\n \"user_contacts\": user.nickname,\n \"inventories\": cartQuantities(cart),\n \"total_amount\": total,\n \"payment_method\": \"CARD\",\n \"user_notes\": \"WRONG some notes...\"\n })\n .then(console.log('products: ', products, 'user: ', user, 'cart: ', parseInt(Object.values(cart.quantityById),0) ))\n .then(res => res.status === 201 ? (cb(), notifyOrderCreated(), sendOrderEmail(user, products, res.data.order.created)) : 'res.error')\n .catch(err => {\n console.log(err);\n notifyError()\n });\n}\n\n/* const getTempTokenAuth0 = async() => {\n let validators;\n try {\n validators = await Promise.all([\n axios.post('https://fc-demo.eu.auth0.com/oauth/token', {\n \"grant_type\": \"client_credentials\",\n \"client_id\": \"m9NKG7ybBVDkN8oDGn91gFZDAXXVjana\",\n \"client_secret\": \"LFTgAp7Zh7NfJNIy6rSoiTYGPbZXZeoiYy0M0M7srhe0KUvjbzI89HnFliFc_59f\",\n \"audience\": \"https://fc-demo.eu.auth0.com/api/v2/\",\n })\n ]);\n\n return validators = validators.map(validator => {\n //console.log(\"getTempTokenAuth0: \", validator)\n return validator.data.access_token;\n });\n\n } catch (error) {\n console.log(error);\n }\n\n} */\n\n/* const checkAuth0UserTOKENfield = async(userid, Auth0token) => {\n let validators;\n try {\n validators = await Promise.all([\n axios.get(`https://fc-demo.eu.auth0.com/api/v2/users/${userid}`, {\n headers: {\n 'Authorization': \"Bearer \" + Auth0token,\n 'Content-Type': 'application/json',\n }\n })\n ]);\n\n return validators = validators.map(validator => {\n //console.log(\"checkAuth0UserTOKENfield: \", validator.data.app_metadata.TOKEN)\n return validator.data.app_metadata.TOKEN;\n //return validator.data.app_metadata;\n });\n\n } catch (error) {\n console.log(error);\n }\n\n} */\n\n//cb - callback - must be at the end of the call\nconst postOrder = async(products, user, cart, total, cartLocalStorage, totalLocalStorage, cb) => {\n console.log('Used payment provider:', cart.isCartPaid)\n //ALWAYS CHECK IF YOU HAVE SOMETHING IN THE LOCALSTORAGE BEFORE USING IT\n console.log('user', user)\n console.log('cart', cart)\n console.log('total', total)\n console.log('cartLocalStorage', cartLocalStorage)\n console.log('totalLocalStorage', totalLocalStorage)\n //TO MAKE THIS FUCNTION DUMMY, JUST COMMENT EVERYTHING WITHOUT THE cb()\n //cb()\n console.log('products: ',products);\n //console.log('products[0].account_id: ', products[0].account_id);\n //console.log('cb: ',cb);\n //console.log('inv mapped', cartQuantities(cart));\n //TOTAL IS WRONG!!! IF TOTAL IS 5.00, EPAY SEND 500!!! ASK EPAY SUPPORT\n //console.log('total= ', total);\n //console.log('total/100= ', total/100);\n //const APPID = '2123128777047314469988321512492541281777074012414332339158786136';\n //const auth0TempToken = await getTempTokenAuth0();\n //console.log('auth0TempToken ', auth0TempToken)\n //const checkAuth0UserTokenFiled = await checkAuth0UserTOKENfield(user.id, auth0TempToken[0]);\n //console.log('checkAuth0UserTokenFiled ', checkAuth0UserTokenFiled)\n //const DEVICEID = 'google-oauth2%7C106229277036146591397';\n //const DEVICEID = user.id;\n //console.log('DEVICEID ',DEVICEID)\n //const TOKEN = '26051567688179934894851805989213';\n //const TOKEN = checkAuth0UserTokenFiled[0];\n\n const findPipe = user.sub.indexOf(\"|\");\n const id = user.sub.substr(findPipe+1);\n\n //console.log('APPID, DEVICEID, TOKEN: ', APPID, DEVICEID, TOKEN)\n //const epayUserInfo = await EpayBGgetUserInfo(APPID, DEVICEID, TOKEN);\n //console.log('epayUserInfo[0].ID', epayUserInfo[0].ID)\n //const epayIdPayment = await EpayBGgetIDforPayment(APPID, DEVICEID, TOKEN);\n //console.log('epayIdPayment[0]: ', epayIdPayment[0]);\n /* const epayMakePayment = await EpayBGMakePayment(\n APPID, \n DEVICEID, \n TOKEN,\n epayUserInfo[0].ID, \n total/100, \n cartQuantities(cart), \n `Buy food from ${products[0].account_id}`, \n epayIdPayment[0], \n epayUserInfo[0].NAME\n ); */\n //console.log('epayMakePayment', epayMakePayment)\n //console.log('epayMakePayment[0].payment.ID: ', epayMakePayment[0].payment.ID)\n //const epayCheckPayment = await EpayBGCheckPayment(APPID, DEVICEID, TOKEN, epayMakePayment[0].payment.ID);\n //console.log('epayCheckPayment', epayCheckPayment)\n //wait 10 seconds then check the PAYMENT\n if(cart.isCartPaid === 'yesByStripe') {\n console.log('Stripe payment -> order will be created automatically...')\n if(Object.keys(cart.quantityById).length > 0 && total > 0) {\n console.log('stripe if')\n try {\n await axios.post(\"https://api.dontwaste.me/orders/\", {\n \"account_id\": id,\n \"created_by\": user.nickname,\n \"vendor_id\": cart.addedIds_placeIds[0],\n \"user_contacts\": user.email,\n \"inventories\": cartQuantities(cart),\n \"total_amount\": total\n }).then(\n res => {\n if (res.status === 201) {\n console.log(\"orderid\", res.data.order._id)\n cb()\n notifyOrderCreated()\n sendOrderEmail(user, products, res.data.order.created)\n } else {\n notifyError()\n }\n }\n )\n } catch (err) {\n console.log(err);\n notifyError()\n }\n } else {\n console.log('stripe else')\n await axios.post(\"https://api.dontwaste.me/orders/\", {\n \"account_id\": id,\n \"created_by\": user.nickname,\n \"vendor_id\": cartLocalStorage.addedIds_placeIds[0],\n \"user_contacts\": user.email,\n \"inventories\": cartQuantities(cartLocalStorage),\n \"total_amount\": totalLocalStorage\n }).then(\n res => {\n if (res.status === 201) {\n console.log(\"orderid\", res.data.order._id)\n cb()\n notifyOrderCreated()\n sendOrderEmail(user, cartQuantities(cartLocalStorage), res.data.order.created)\n }\n }\n ).catch(err => {\n console.log(err);\n notifyError()\n });\n }\n } else {\n if(Object.keys(cart.quantityById).length > 0 && total > 0) {\n await axios.post(\"https://api.dontwaste.me/orders/payment/makepayment\", {\n \"user\": user,\n \"total\": total,\n \"cart\": cartQuantities(cart),\n \"reason\": `Buy food from ${products[0].account_id}`,\n })\n .then(res => res.status === 200 && res.data.epayMakePayment[0].status !== 'ERR' ? ( notifyEpayBgPayment(), notifyEpayBgCheckPayment(), setTimeout(() => { checkPayment(res.data.epayMakePayment[0].payment.ID, user, id, products, cart, total, cb) }, 5000 ) ) : res.error)\n .catch(err => {\n console.log(err);\n notifyError()\n });\n } else {\n await axios.post(\"https://api.dontwaste.me/orders/payment/makepayment\", {\n \"user\": user,\n \"total\": totalLocalStorage,\n \"cart\": cartQuantities(cartLocalStorage),\n \"reason\": `Buy food from ${cartLocalStorage.addedIds_placeIds[0]} after browser REFRESH`,\n })\n .then(res => res.status === 200 ? ( console.log('else res ', res), notifyEpayBgPayment(), notifyEpayBgCheckPayment(), setTimeout(() => { checkPayment(res.data.epayMakePayment[0].payment.ID, user, id, cartLocalStorage.addedIds_placeIds[0], cartLocalStorage, totalLocalStorage, cb) }, 5000 ) ) : res.error)\n .catch(err => {\n console.log(err);\n notifyError()\n });\n }\n }\n \n\n //await axios.post(\"http://localhost:3004/payment/makepayment\", {\n /* await axios.post(\"https://api.dontwaste.me/orders/payment/makepayment\", {\n \"user\": user,\n \"total\": total,\n \"cart\": cartQuantities(cart),\n \"reason\": `Buy food from ${products[0].account_id}`,\n })\n .then(res => res.status === 200 ? ( notifyEpayBgPayment(), notifyEpayBgCheckPayment(), setTimeout(() => { checkPayment(res.data.epayMakePayment[0].payment.ID, user, id, products, cart, total, cb) }, 5000 ) ) : res.error)\n .catch(err => {\n console.log(err);\n notifyError()\n }); */\n \n\n //notifyEpayBgCheckPayment();\n //const epayCheckPayment = setTimeout(() => { EpayBGCheckPayment(APPID, DEVICEID, TOKEN, epayMakePayment[0].payment.ID, id, products, user, cart, total, cb); }, 5000);\n //const epayCheckPayment = await EpayBGCheckPayment(APPID, DEVICEID, TOKEN, epayMakePayment[0].payment.ID);\n //const epayCheckPaymentTime = setTimeout(() => { console.log('5 sec'); }, 5000);\n //console.log('epayCheckPayment', epayCheckPayment)\n \n //epayCheckPayment.data.payment[\"STATE.TEXT\"] === 'Извършено плащане' ? notifyEpayBgCheckPaymentDone() : notifyErrorDeclinedPayment()\n //console.log(typeof epayCheckPayment)\n\n /* await axios.post(\"https://api.dontwaste.me/orders/\", {\n \"account_id\": id,\n \"vendor_id\": products[0].account_id,\n \"created_by\": user.nickname,\n \"user_contacts\": user.nickname,\n \"inventories\": cartQuantities(cart),\n \"total_amount\": total,\n \"payment_method\": \"CARD\",\n \"user_notes\": \"WRONG some notes...\"\n })\n .then(console.log('products: ', products, 'user: ', user, 'cart: ', parseInt(Object.values(cart.quantityById),0) ))\n .then(res => res.status === 201 ? (cb(), notifyOrderCreated(), sendOrderEmail(user, products, res.data.order.created)) : 'res.error')\n .catch(err => {\n console.log(err);\n notifyError()\n }); */\n};\n\nconst sendOrderEmail = async(user, products, created) => {\n console.log('sendOrderEmail products ', products)\n const findPipe = user.sub.indexOf(\"|\");\n const id = user.sub.substr(findPipe+1);\n await axios.post(\"https://api.dontwaste.me/email/smtp/order_created\", {\n \"from_id\": id,\n \"to_id\": products[0].account_id,\n \"products\": {...products},\n \"created\": created\n }\n )\n};\n\n/* \nawait axios.post(\"http://139.59.205.81/orders/\", {\n \"account_id\": \"5c891024ba001f00067381e8\",\n \"created_by\": \"pepo9\",\n \"contact\": \"User Nickname or Name\",\n \"inventory\": {\n \"_id\": \"5dc52d0658e0806eab4446ad\",\n \"account_id\": \"5c891024ba001f00067381e8\",\n \"place_id\": \"5d877978832f356ffb03512e\",\n \"product_id\": \"5dc400aff88830515dc9fe0d\",\n \"quantity_available\": 2,\n \"original_price\": 8,\n \"reduced_price\": 2,\n \"expiry_date\": \"1573484118334000\",\n \"created\": \"1573203206\",\n \"__v\": 0\n },\n \"quantity\": 2\n })\n*/\n\nexport default {\n postOrder\n};\n","import shop from '../api/shop'\nimport { getTotal } from './rootReducer'\nimport { toast } from 'react-toastify';\n//import { func } from 'prop-types';\n\nconst request = async () => {\n const response = await fetch('https://api.dontwaste.me/inventories/');\n const json = await response.json();\n return json;\n}\n\nconst makeid = (length) => {\n var result = '';\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var charactersLength = characters.length;\n for ( var i = 0; i < length; i++ ) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n\nconst notifyProductsFetch = () => toast.success(\"FOODCHAIN RUNNING OK\");\nconst notifyProductsUpdateFetch = () => toast.info(\"FOODCHAIN RELOADED SUCCESSFULLY\");\nconst notifyError = () => toast.error(\"FOODCHAIN HAS PROBLEMS!\");\n\n//request();\n\n/* function getProducts() {\n //return fetch(\"http://localhost:3001/api/getData\")\n return fetch(\"http://139.59.205.81/inventories/\")\n .then(items => console.log('res: ', items))\n .then(handleErrors)\n .then(items => items.json())\n} */\n\n/*function fakeGetProducts() {\n return new Promise(resolve => {\n // Resolve after a timeout so we can see the loading indicator\n setTimeout(\n () =>\n resolve({\n products: [\n {\n id: 0,\n name: \"Apple\"\n },\n {\n id: 1,\n name: \"Bananas\"\n },\n {\n id: 2,\n name: \"Strawberries\"\n }\n ]\n }),\n 1000\n );\n });\n}*/\n\nexport function fetchProducts() {\n return dispatch => {\n dispatch(fetchProductsBegin());\n dispatch(getDeviceId());\n return request()\n .then(json => {\n dispatch(fetchProductsSuccess(json.items));\n notifyProductsFetch();\n return json.items;\n })\n .catch(error => {\n dispatch(fetchProductsFailure(error));\n notifyError()\n }\n );\n };\n}\n\nexport function fetchProductsAfterUpdateItem() {\n return dispatch => {\n dispatch(fetchProductsBegin());\n return request()\n .then(json => {\n dispatch(fetchProductsSuccess(json.items));\n notifyProductsUpdateFetch();\n return json.items;\n })\n .catch(error => {\n dispatch(fetchProductsFailure(error));\n notifyError()\n }\n );\n };\n}\n\n// Handle HTTP errors since fetch won't.\n/* function handleErrors(response) {\n if (!response.ok) {\n throw Error(response.statusText);\n }\n return response;\n} */\n\nexport const FETCH_PRODUCTS_BEGIN = \"FETCH_PRODUCTS_BEGIN\";\nexport const FETCH_PRODUCTS_SUCCESS =\n \"FETCH_PRODUCTS_SUCCESS\";\nexport const FETCH_PRODUCTS_FAILURE =\n \"FETCH_PRODUCTS_FAILURE\";\n\nexport const fetchProductsBegin = () => ({\n type: FETCH_PRODUCTS_BEGIN\n});\n\nexport const fetchProductsSuccess = products => ({\n type: FETCH_PRODUCTS_SUCCESS,\n payload: { products }\n});\n\nexport const fetchProductsFailure = error => ({\n type: FETCH_PRODUCTS_FAILURE,\n payload: { error }\n});\n\nexport const GET_DEVICE_ID = 'GET_DEVICE_ID'\nexport const SET_LANGUAGE = 'SET_LANGUAGE'\nexport const ADD_TO_CART = 'ADD_TO_CART'\nexport const REMOVE_FROM_CART = 'REMOVE_FROM_CART'\nexport const SUBTRACT_FROM_CART = 'SUBTRACT_FROM_CART'\nexport const CLEAR_CART = 'CLEAR_CART'\nexport const CHECKOUT_REQUEST = 'CHECKOUT_REQUEST'\nexport const CHECKOUT_SUCCESS = 'CHECKOUT_SUCCESS'\nexport const CHECKOUT_FAILURE = 'CHECKOUT_FAILURE'\nexport const CHOOSE_PAYMENT_PROVIDER = 'CHOOSE_PAYMENT_PROVIDER'\nexport const CARD_PAID_SUCCESSFULLY = 'CARD_PAID_SUCCESSFULLY'\n\nexport const getDeviceId = (userid) => ({\n type: GET_DEVICE_ID,\n //payload: 'google-oauth2|106229277036146591397'\n payload: makeid(30)\n //payload: userid\n})\n\nconst addToCartUnsafe = (productId, placeId, itemPrice, expDate, placeName, productName) => ({\n type: ADD_TO_CART,\n productId, placeId, itemPrice, expDate, placeName, productName\n})\n\nconst removeFromCartUnsafe = (productId, placeId, itemPrice, expDate, placeName, productName) => ({\n type: REMOVE_FROM_CART,\n productId, placeId, itemPrice, expDate, placeName, productName\n})\n\nconst subtractFromCartUnsafe = (productId, placeId, itemPrice, expDate, placeName, productName) => ({\n type: SUBTRACT_FROM_CART,\n productId, placeId, itemPrice, expDate, placeName, productName\n})\n\nexport const addToCart = (productId, placeId, itemPrice, expDate, placeName, productName) => (dispatch, getState) => {\n if (getState().byId[productId].quantity_available > 0) {\n dispatch(addToCartUnsafe(productId, placeId, itemPrice, expDate, placeName, productName))\n } \n}\n\nexport const removeFromCart = (productId, placeId, itemPrice, expDate, placeName, productName) => (dispatch, getState) => {\n if (getState().byId[productId].quantity_available > 0) {\n console.log('productId', productId)\n console.log('getState().cart.quantityById', getState().cart.quantityById)\n console.log('getState().cart.addedIds.length', getState().cart.addedIds.length)\n if (getState().cart.quantityById[productId].quantity === 1) {\n dispatch(removeFromCartUnsafe(productId, placeId, itemPrice, expDate, placeName, productName))\n } else {\n dispatch(subtractFromCartUnsafe(productId, placeId, itemPrice, expDate, placeName, productName))\n }\n \n }\n}\n\nexport const clearCart = () => (dispatch) => {\n console.log('clearCart')\n localStorage.removeItem(\"cart\");\n dispatch({\n type: CLEAR_CART\n })\n}\n\n//it does nothing maybe\nexport const paymentProvider = (payment_option) => (dispatch) => {\n dispatch({\n type: CHOOSE_PAYMENT_PROVIDER,\n payload: payment_option\n })\n}\n\nexport const setCartToPaid = () => (dispatch) => {\n dispatch({\n type: CARD_PAID_SUCCESSFULLY,\n payload: 'yesByStripe'\n })\n}\n\nexport const checkout = (products, user, cartLocalStorage, totalLocalStorage) => (dispatch, getState) => {\n const { cart } = getState()\n const total = getTotal(getState())\n console.log('total_Action: ', total)\n console.log('cartLocalStorage: ', cartLocalStorage)\n console.log('totalLocalStorage: ', totalLocalStorage)\n\n dispatch({\n type: CHECKOUT_REQUEST\n })\n shop.postOrder(products, user, cart, total, cartLocalStorage, totalLocalStorage, () => {\n localStorage.clear();\n dispatch({\n type: CHECKOUT_SUCCESS,\n cart\n })\n // Replace the line above with line below to rollback on failure:\n // dispatch({ type: types.CHECKOUT_FAILURE, cart })\n })\n}\n","import {\n FETCH_PRODUCTS_BEGIN,\n FETCH_PRODUCTS_SUCCESS,\n FETCH_PRODUCTS_FAILURE,\n ADD_TO_CART,\n REMOVE_FROM_CART,\n SUBTRACT_FROM_CART,\n GET_DEVICE_ID,\n SET_LANGUAGE\n} from \"./productActions\";\n\nconst initialState = {\n items: [],\n deviceID: '',\n loading: false,\n error: null\n};\n\nexport default function productReducer(\n state = initialState,\n action\n) {\n switch (action.type) {\n case GET_DEVICE_ID:\n return {\n ...state,\n deviceID: action.payload\n };\n \n case FETCH_PRODUCTS_BEGIN:\n // Mark the state as \"loading\" so we can show a spinner or something\n // Also, reset any errors. We're starting fresh.\n return {\n ...state,\n loading: true,\n error: null\n };\n\n case FETCH_PRODUCTS_SUCCESS:\n // All done: set loading \"false\".\n // Also, replace the items with the ones from the server\n return {\n ...state,\n loading: false,\n items: action.payload.products\n };\n\n case FETCH_PRODUCTS_FAILURE:\n // The request failed, but it did stop, so set loading to \"false\".\n // Save the error, and we can display it somewhere\n // Since it failed, we don't have items to display anymore, so set it empty.\n // This is up to you and your app though: maybe you want to keep the items\n // around! Do whatever seems right.\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n items: []\n };\n\n default:\n // ALWAYS have a default case in a reducer\n return state;\n }\n}\n\nconst products = (state, action) => {\n switch (action.type) {\n case ADD_TO_CART:\n return {\n ...state,\n quantity_available: state.quantity_available - 1\n }\n case REMOVE_FROM_CART:\n return {\n ...state,\n quantity_available: state.quantity_available + 1\n }\n case SUBTRACT_FROM_CART:\n return {\n ...state,\n quantity_available: state.quantity_available + 1\n }\n default:\n return state\n }\n}\n\nexport const byId = (state = {}, action) => {\n switch (action.type) {\n case FETCH_PRODUCTS_SUCCESS:\n return {\n ...state,\n ...action.payload.products.reduce((obj, product) => {\n obj[product._id] = product\n return obj;\n }, {})\n }\n default:\n const { productId } = action\n if (productId) {\n return {\n ...state,\n [productId]: products(state[productId], action)\n }\n }\n return state\n }\n}\n\nexport const visibleIds = (state = [], action) => {\n switch (action.type) {\n case FETCH_PRODUCTS_SUCCESS:\n return action.payload.products.map(\n (product) => (\n product._id\n )\n )\n default:\n return state\n }\n}\n\n/* export const visibleIds_placeIds = (state = [], action) => {\n switch (action.type) {\n case FETCH_PRODUCTS_SUCCESS:\n return action.payload.products.map(product => product.place_id)\n default:\n return state\n }\n} */\n\nexport const getProduct = (state, _id) => (\n state.byId[_id]\n)\n\nexport const getVisibleProducts = state =>\n state.visibleIds.map(\n (_id) => (\n getProduct(state, _id)\n )\n )\n\n/* export const getVisiblePlace = state =>\n state.visibleIds_placeIds.map(\n (place_id) => (\n console.log('placeReducer: ', place_id),\n getProduct(state, place_id)\n )\n ) */\n\n","import { \r\n ADD_TO_CART,\r\n REMOVE_FROM_CART,\r\n SUBTRACT_FROM_CART,\r\n CLEAR_CART,\r\n CHECKOUT_REQUEST,\r\n CHECKOUT_FAILURE,\r\n CHOOSE_PAYMENT_PROVIDER,\r\n CARD_PAID_SUCCESSFULLY,\r\n SET_LANGUAGE\r\n} from './productActions'\r\n\r\nconst initialState = {\r\n addedIds: [],\r\n quantityById: {},\r\n addedIds_placeIds: [],\r\n isCartPaid: 'no',\r\n payment_provider: 'none',\r\n language: 'en'\r\n }\r\n\r\n export const PaymentProvider = (state = initialState.payment_provider, action) => {\r\n switch (action.type) {\r\n case CHOOSE_PAYMENT_PROVIDER:\r\n return action.payload\r\n default:\r\n return state\r\n }\r\n }\r\n\r\n export const setLanguage = (state = initialState.language, action) => {\r\n switch (action.type) {\r\n case SET_LANGUAGE:\r\n return action.payload\r\n default:\r\n return state\r\n }\r\n }\r\n\r\n //it is imported in the rootReducer too, so it has two copies in the state, check console\r\n export const isCartPaid = ( state = initialState.isCartPaid, action ) => {\r\n switch (action.type) {\r\n case CARD_PAID_SUCCESSFULLY:\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n }\r\n\r\n const addedIds = (state = initialState.addedIds, action) => {\r\n switch (action.type) {\r\n case ADD_TO_CART:\r\n if (state.indexOf(action.productId) !== -1) {\r\n return state\r\n }\r\n return [ ...state, action.productId ]\r\n case REMOVE_FROM_CART:\r\n if (state.indexOf(action.productId) !== -1) {\r\n state.splice(action.productId, 1)\r\n return state\r\n }\r\n return state\r\n default:\r\n return state\r\n }\r\n }\r\n\r\n const addedIds_placeIds = (state = initialState.addedIds_placeIds, action) => {\r\n switch (action.type) {\r\n case ADD_TO_CART:\r\n if (state.indexOf(action.placeId) !== -1) {\r\n return state\r\n }\r\n return [ ...state, action.placeId ]\r\n case REMOVE_FROM_CART:\r\n if (state.indexOf(action.placeId) !== -1) {\r\n state.splice(action.placeId, 1)\r\n return state\r\n }\r\n return state\r\n default:\r\n return state\r\n }\r\n }\r\n \r\n const quantityById = (state = initialState.quantityById, action) => {\r\n const { productId, placeId, itemPrice, expDate, placeName, productName } = action\r\n switch (action.type) {\r\n case ADD_TO_CART:\r\n \r\n return { ...state,\r\n [productId]: \r\n {\r\n \"quantity\": !state[productId] ? 1 : state[productId].quantity + 1, \r\n \"place_id\": placeId, \r\n \"item_price\": itemPrice, \r\n \"exp_date\": expDate,\r\n \"place_name\": placeName,\r\n \"product_name\": productName\r\n }\r\n \r\n }\r\n case SUBTRACT_FROM_CART:\r\n return { ...state,\r\n [productId]: \r\n {\r\n \"quantity\": state[productId].quantity - 1, \r\n \"place_id\": placeId, \r\n \"item_price\": itemPrice, \r\n \"exp_date\": expDate,\r\n \"place_name\": placeName,\r\n \"product_name\": productName\r\n }\r\n \r\n } \r\n case REMOVE_FROM_CART:\r\n console.log('state: ',state)\r\n console.log('state[action.productId]: ',state[action.productId])\r\n console.log('action:', action)\r\n console.log('action.productId: ',action.productId)\r\n console.log('typeof(state): ',typeof(state));\r\n delete state[action.productId]\r\n console.log('state after delete: ',state)\r\n return state\r\n //return state.filter(({ id }) => id !== action.productId);\r\n default:\r\n return state\r\n }\r\n }\r\n \r\n export const getQuantity = (state, productId) => {\r\n //console.log('state.quantityById[productId].quantity', state.quantityById[productId].quantity)\r\n if (state.quantityById[productId] === undefined) {\r\n //console.log('undefined')\r\n return 0\r\n }\r\n //console.log('getQuantity productId', productId)\r\n //console.log('state.quantityById[productId].quantity', state.quantityById[productId].quantity)\r\n return state.quantityById[productId].quantity || 0\r\n }\r\n\r\n \r\n \r\n export const getAddedIds = state => state.addedIds\r\n\r\n export const getAddedIds_placeIds = state => state.addedIds_placeIds\r\n\r\n const cart = (state = [], action) => {\r\n switch (action.type) {\r\n case CHECKOUT_REQUEST:\r\n return initialState\r\n case CLEAR_CART:\r\n return initialState\r\n case CHECKOUT_FAILURE:\r\n return action.cart\r\n default:\r\n return {\r\n addedIds: addedIds(state.addedIds, action),\r\n quantityById: quantityById(state.quantityById, action),\r\n addedIds_placeIds: addedIds_placeIds(state.addedIds_placeIds, action),\r\n isCartPaid: isCartPaid(state.isCartPaid, action)\r\n }\r\n }\r\n }\r\n\r\nexport default cart\r\n","import { combineReducers } from \"redux\";\nimport products, * as fromProducts from \"./productReducer\";\nimport cart, * as fromCart from './cartReducer'\nimport { byId, visibleIds, /* visibleIds_placeIds */ } from './productReducer'\nimport { PaymentProvider, setLanguage } from './cartReducer'\n//adding new table structure and functions\n//import { reducer as form } from \"redux-form\";\n//adding new table structure and functions\n\nexport default combineReducers({\n byId,\n visibleIds,\n /* visibleIds_placeIds, */\n products,\n cart,\n PaymentProvider,\n setLanguage\n /* form */\n});\n\nconst getAddedIds = state => fromCart.getAddedIds(state.cart)\nexport const getPlaceAddedIds = state => fromCart.getAddedIds_placeIds(state.cart)\nconst getQuantity = (state, _id) => fromCart.getQuantity(state.cart, _id)\nconst getProduct = (state, _id) => fromProducts.getProduct(state, _id)\n\nexport const getTotal = state =>\n getAddedIds(state)\n .reduce((total, _id) =>\n total + getProduct(state, _id).reduced_price * getQuantity(state, _id),\n 0\n )\n .toFixed(2)\n\nexport const getCartProducts = state =>\n getAddedIds(state).map(_id => ({\n ...getProduct(state, _id),\n quantity_available: getQuantity(state, _id)\n }))\n\n","import React, { useState, useEffect, useContext } from \"react\";\nimport createAuth0Client from \"@auth0/auth0-spa-js\";\n\nconst DEFAULT_REDIRECT_CALLBACK = () =>\n window.history.replaceState({}, document.title, window.location.pathname);\n\nexport const Auth0Context = React.createContext();\nexport const useAuth0 = () => useContext(Auth0Context);\nexport const Auth0Provider = ({\n children,\n onRedirectCallback = DEFAULT_REDIRECT_CALLBACK,\n ...initOptions\n}) => {\n const [isAuthenticated, setIsAuthenticated] = useState();\n const [user, setUser] = useState();\n const [auth0Client, setAuth0] = useState();\n const [loading, setLoading] = useState(true);\n const [popupOpen, setPopupOpen] = useState(false);\n\n useEffect(() => {\n const initAuth0 = async () => {\n const auth0FromHook = await createAuth0Client(initOptions);\n setAuth0(auth0FromHook);\n\n if (\n window.location.search.includes(\"code=\") &&\n window.location.search.includes(\"state=\")\n ) {\n const { appState } = await auth0FromHook.handleRedirectCallback();\n onRedirectCallback(appState);\n }\n\n const isAuthenticated = await auth0FromHook.isAuthenticated();\n\n setIsAuthenticated(isAuthenticated);\n\n if (isAuthenticated) {\n const user = await auth0FromHook.getUser();\n setUser(user);\n }\n\n setLoading(false);\n };\n initAuth0();\n // eslint-disable-next-line\n }, []);\n\n const loginWithPopup = async (params = {}) => {\n setPopupOpen(true);\n try {\n await auth0Client.loginWithPopup(params);\n } catch (error) {\n console.error(error);\n } finally {\n setPopupOpen(false);\n }\n const user = await auth0Client.getUser();\n setUser(user);\n setIsAuthenticated(true);\n };\n\n const handleRedirectCallback = async () => {\n setLoading(true);\n await auth0Client.handleRedirectCallback();\n const user = await auth0Client.getUser();\n setLoading(false);\n setIsAuthenticated(true);\n setUser(user);\n };\n return (\n auth0Client.getIdTokenClaims(...p),\n loginWithRedirect: (...p) => auth0Client.loginWithRedirect(...p),\n getTokenSilently: (...p) => auth0Client.getTokenSilently(...p),\n getTokenWithPopup: (...p) => auth0Client.getTokenWithPopup(...p),\n logout: (...p) => auth0Client.logout(...p)\n }}\n >\n {children}\n \n );\n};\n","import { createBrowserHistory } from \"history\";\nexport default createBrowserHistory();","import React, { useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Route, withRouter } from \"react-router-dom\";\nimport { useAuth0 } from \"../react-auth0-spa\";\n\nconst PrivateRoute = ({ component: Component, path, ...rest }) => {\n const { loading, isAuthenticated, loginWithRedirect } = useAuth0();\n\n useEffect(() => {\n if (loading || isAuthenticated) {\n return;\n }\n const fn = async () => {\n await loginWithRedirect({\n appState: { targetUrl: path }\n });\n };\n fn();\n }, [loading, isAuthenticated, loginWithRedirect, path]);\n\n const render = props =>\n isAuthenticated === true ? : null;\n\n return ;\n};\n\nPrivateRoute.propTypes = {\n component: PropTypes.oneOfType([PropTypes.element, PropTypes.func])\n .isRequired,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]).isRequired\n};\n\nexport default withRouter(PrivateRoute);\n","import React from \"react\";\n//import loading from \"../assets/loading.svg\";\nimport logoFoodChain2 from \"../assets/logoFoodChain2.svg\"\n\nconst Loading = () => (\n
\n \"Loading\"\n
\n);\n\nexport default Loading;\n","const rules = {\r\n VISITOR: {\r\n static: [\r\n \"items:list\",\r\n \"orders:list\",\r\n \"venues:list\", \r\n \"home-page:visit\",\r\n \"profile-page:visit\",\r\n \"dashboard-demo-page:visit\"\r\n ],\r\n dynamic: {\r\n \"items:edit\": ({userId, itemOwnerId}) => {\r\n if (!userId || !itemOwnerId) return false;\r\n return userId === itemOwnerId;\r\n }\r\n }\r\n },\r\n BASIC: {\r\n static: [\r\n \"items:list\",\r\n \"orders:list\",\r\n \"orders:create\",\r\n \"venues:list\",\r\n \"home-page:visit\",\r\n \"profile-page:visit\",\r\n \"dashboard-page:visit\",\r\n \"product-detail-page:visit\",\r\n \"users:getSelf\",\r\n \"users:updateSelf\",\r\n \"payment-method:add\",\r\n \"payment-method:remove\"\r\n ],\r\n dynamic: {\r\n \"items:edit\": ({userId, itemOwnerId}) => {\r\n if (!userId || !itemOwnerId) return false;\r\n return userId === itemOwnerId;\r\n }\r\n }\r\n },\r\n VENUE: {\r\n static: [\r\n \"items:list\",\r\n \"items:create\",\r\n \"items:edit\",\r\n \"items:delete\",\r\n \"items:status\",\r\n \"orders:list\",\r\n \"orders:create\",\r\n \"orders:edit\",\r\n \"orders:delete\",\r\n \"orders:status\",\r\n \"home-page:visit\",\r\n \"profile-page:visit\",\r\n \"dashboard-page:visit\",\r\n \"product-detail-page:visit\",\r\n \"users:list\",\r\n \"users:getSelf\",\r\n \"users:updateSelf\",\r\n \"payment-method:add\",\r\n \"payment-method:remove\"\r\n ],\r\n dynamic: {\r\n \"items:edit\": ({userId, itemOwnerId}) => {\r\n if (!userId || !itemOwnerId) return false;\r\n return userId === itemOwnerId;\r\n },\r\n \"orders:edit\": ({userId, itemOwnerId}) => {\r\n if (!userId || !itemOwnerId) return false;\r\n return userId === itemOwnerId;\r\n }\r\n }\r\n },\r\n VENDOR: {\r\n static: [\r\n \"items:list\",\r\n \"items:create\",\r\n \"items:edit\",\r\n \"items:delete\",\r\n \"items:status\",\r\n \"orders:list\",\r\n \"orders:create\",\r\n \"orders:edit\",\r\n \"orders:delete\",\r\n \"orders:status\",\r\n \"home-page:visit\",\r\n \"profile-page:visit\",\r\n \"dashboard-page:visit\",\r\n \"product-detail-page:visit\",\r\n \"users:list\",\r\n \"users:getSelf\",\r\n \"users:updateSelf\",\r\n \"payment-method:add\",\r\n \"payment-method:remove\"\r\n ],\r\n dynamic: {\r\n \"items:edit\": ({userId, itemOwnerId}) => {\r\n if (!userId || !itemOwnerId) return false;\r\n return userId === itemOwnerId;\r\n }\r\n }\r\n },\r\n ADMIN: {\r\n static: [\r\n \"items:list\",\r\n \"items:create\",\r\n \"items:edit\",\r\n \"items:delete\",\r\n \"items:status\",\r\n \"orders:list\",\r\n \"orders:create\",\r\n \"orders:edit\",\r\n \"orders:delete\",\r\n \"orders:status\",\r\n \"venues:list\",\r\n \"venues:create\",\r\n \"venues:edit\",\r\n \"venues:delete\",\r\n \"venues:status\",\r\n \"account:list\",\r\n \"account:create\",\r\n \"account:edit\",\r\n \"account:delete\",\r\n \"account:status\",\r\n \"home-page:visit\",\r\n \"profile-page:visit\",\r\n \"dashboard-page:visit\",\r\n \"product-detail-page:visit\",\r\n \"users:list\",\r\n \"users:getSelf\",\r\n \"users:updateSelf\",\r\n \"payment-method:add\",\r\n \"payment-method:remove\"\r\n ],\r\n dynamic: {\r\n \"items:edit\": ({userId, itemOwnerId}) => {\r\n if (!userId || !itemOwnerId) return false;\r\n return userId === itemOwnerId;\r\n },\r\n \"orders:edit\": ({userId, itemOwnerId}) => {\r\n if (!userId || !itemOwnerId) return false;\r\n return userId === itemOwnerId;\r\n }\r\n }\r\n }\r\n };\r\n \r\n export default rules;","import rules from \"../rbac-rules\";\r\n\r\nconst check = (rules, role, action, data) => {\r\n const permissions = rules[role];\r\n if (!permissions) {\r\n // role is not present in the rules\r\n return false;\r\n }\r\n\r\n const staticPermissions = permissions.static;\r\n\r\n if (staticPermissions && staticPermissions.includes(action)) {\r\n // static rule not provided for action\r\n return true;\r\n }\r\n\r\n const dynamicPermissions = permissions.dynamic;\r\n\r\n if (dynamicPermissions) {\r\n const permissionCondition = dynamicPermissions[action];\r\n if (!permissionCondition) {\r\n // dynamic rule not provided for action\r\n return false;\r\n }\r\n\r\n return permissionCondition(data);\r\n }\r\n return false;\r\n};\r\n\r\nconst Can = props =>\r\n check(rules, props.role, props.perform, props.data)\r\n ? props.yes()\r\n : props.no();\r\n\r\nCan.defaultProps = {\r\n yes: () => null,\r\n no: () => null\r\n};\r\n\r\nexport default Can;","import React from 'react';\nimport {\n NumberBox,\n RangeSlider,\n DataSearch,\n SelectedFilters,\n DatePicker,\n ToggleButton,\n SingleRange\n} from '@appbaseio/reactivesearch';\nimport dayjs from \"dayjs\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter\";\ndayjs.extend(isSameOrAfter);\n\nexport default class FilterComponents extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n value: '',\n selectedDate: dayjs().format(\"YYYY-MM-DD\"),\n currentDate: {}\n }\n }\n\n /* defaultQuery() {\n return {\n query: {\n match_all: {}\n }\n }\n } */\n\n render() {\n return (\n <>\n

{this.props.filters_header}

\n
\n \n (\n
\n {this.props.filters_no_suggestions}\n
\n )\n }\n //categoryField=\"authors.raw\"\n //showIcon = \"true\"\n />\n{\n // \n}\n \n\n \n\n {/* */}\n\n {\n console.log(\"onValueChange date\", value);\n }}\n customQuery={function (value, props) {\n // console.log(\"time value\", value);\n if (value !== null) {\n //this.setState({ selectedDate: value });\n let selected = dayjs(value);\n //let now = dayjs().valueOf() * 1000;\n // console.log(\"now\", now);\n // console.log(\"GTE\", selected.startOf(\"day\").valueOf() * 1000);\n return {\n query: {\n range: {\n item_exp: {\n gte: selected.startOf(\"day\").valueOf()\n }\n }\n }\n };\n }\n }}\n \n />\n\n {\n if(value[0] !== undefined) {\n //console.log('value[0]:', value[0])\n return {\n query: {\n match: {\n \"deal_type\": value[0].value\n }\n }\n }\n }\n \n }\n }\n multiSelect={false}\n URLParams={false}\n defaultValue={['']}\n data={[ { label: this.props.filters_deal_type_personal, value: 'PERSONAL' }, { label: this.props.filters_deal_type_business, value: 'BUSINESS' } ]}\n />\n\n\n \n\n )\n }\n}\n\n/* \nonValueChange={\n value => {\n if(value) {\n if(value[0] !== undefined) {\n if(value[0].value === 'PERSONAL') {\n console.log('PERSONAL')\n return {\n query: {\n match: {\n deal_type:\"PERSONAL\"\n }\n }\n }\n } else if(value[0].value === 'BUSINESS') {\n console.log('BUSINESS')\n return {\n query: {\n match: {\n deal_type:\"BUSINESS\"\n }\n }\n }\n }\n }\n }\n }\n }\n*/\n\n","\nimport React, { PureComponent } from 'react';\nimport GMap from \"react-rainbow-components/components/GMap\";\nimport MapMarker from \"react-rainbow-components/components/MapMarker\";\n\nexport default class productMap extends PureComponent {\n\nrender () {\n return (\n \n )\n }\n}","import React from 'react'\nimport PropTypes from 'prop-types'\n\nconst ProductsList = ({ _id, children }) => (\n
\n

{_id}

\n
{children}
\n
\n)\n\nProductsList.propTypes = {\n children: PropTypes.node,\n _id: PropTypes.string.isRequired\n}\n\nexport default ProductsList\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { connect, ReactReduxContext } from 'react-redux';\nimport { addToCart, removeFromCart } from '../reducers/productActions';\nimport { getVisibleProducts } from '../reducers/productReducer';\nimport ProductsList from '../components/Cart/ProductList';\nimport { Grid, Icon, Button } from 'semantic-ui-react';\n\nconst ProductsContainerSingleItem = ({ products, addToCart, removeFromCart, productId, qty, product_detail_qty_choose, product_detail_qty_available }) => {\n const saveState = (state) => {\n //console.log(state)\n try {\n const serializedState = JSON.stringify(state.cart);\n //console.log('serializedStateSaveState+++++++: ', serializedState);\n localStorage.setItem('cart', serializedState);\n } catch {\n // ignore write errors\n }\n };\n\n const getCardAddedIds = (state, product) => {\n //console.log('getCardAddedIds',state)\n /* if (!state.cart.addedIds.length) {\n return (\n \n \n \n \n \n \n \n \n )\n } else return (\n

Only one item in cart is allowed!

\n ) */\n return (\n \n \n \n \n \n \n \n \n )\n }\n \n return (\n \n {products.map(product =>\n productId === product._id ?\n
\n

{product_detail_qty_choose} ({product.quantity_available} {product_detail_qty_available}):

\n \n {({ store }) => (\n getCardAddedIds(store.getState(), product)\n \n \n \n )}\n \n
\n : null\n )\n }\n \n
\n )\n}\n\nProductsContainerSingleItem.propTypes = {\n products: PropTypes.shape({\n _id: PropTypes.string.isRequired,\n place_id: PropTypes.string.isRequired,\n reduced_price: PropTypes.number.isRequired,\n quantity_available: PropTypes.number.isRequired\n }).isRequired,\n onAddToCartClicked: PropTypes.func.isRequired\n}\nconst mapStateToProps = (state, props) => ({\n //products: state.products.items\n products: getVisibleProducts(state),\n //product: getProduct(state, _id),\n /* productId: this.props.productId,\n productName: this.props.productName */\n})\n\nexport default connect(\n mapStateToProps,\n { addToCart, removeFromCart }\n)(ProductsContainerSingleItem)\n","import React, { Component } from 'react';\nimport { Grid, Image, Header, Label, Segment, Icon, Button, Container } from 'semantic-ui-react'\nimport { Link } from 'react-router-dom'\nimport dayjs from \"dayjs\";\nimport 'dayjs/locale/en-gb';\nimport 'dayjs/locale/bg';\nimport ProductMap from './productMap.js'\n//import ItemsByVendor from '../MapPageItemsByVendor';\nimport \"./style.css\"\nimport * as moment from \"moment\";\nimport 'moment/locale/bg';\nimport 'moment/locale/en-gb';\nimport co2 from \"../images/dashboard/factory.svg\";\nimport water from \"../images/dashboard/save-water.svg\";\n//import Application from \"react-rainbow-components/components/Application\";\n//import Colors from '../../constants/Colors'\nimport ProductsContainerSingleItem from '../../containers/ProductsContainerSingleItem';\n/* const theme = {\n rainbow: {\n palette: {\n brand: Colors.fcPink,\n },\n },\n}; */\n/* require('moment-countdown');\nrequire('moment-timer') */\n\nclass Detailpage2 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n qty: 1,\n opened: false,\n time_remaining: ''\n \n };\n this.countdownTimer = this.countdownTimer.bind(this)\n }\n componentDidMount() {\n this.setState({ time_remaining: this.countdownTimer() })\n }\n componentDidUpdate() {\n setTimeout(() => {\n this.setState({ time_remaining: this.countdownTimer() })\n }, 1000);\n }\n\n countdownTimer() {\n let difference;\n console.log('exp_date', this.props.inventory.expiry_date)\n const exp_date = dayjs(this.props.inventory.expiry_date)\n //const today = dayjs()\n difference = exp_date.diff(difference)\n // console.log('exp date', exp_date)\n // console.log('today', today)\n // console.log('diff', difference)\n let timeLeft = {};\n\n if (difference > 0) {\n timeLeft = {\n days: Math.floor(difference / (1000 * 60 * 60 * 24)),\n hours: Math.floor((difference / (1000 * 60 * 60)) % 24),\n minutes: Math.floor((difference / 1000 / 60) % 60),\n seconds: Math.floor((difference / 1000) % 60)\n }\n }\n\n return timeLeft;\n }\n\n calculatePickUpTime(timestamp) {\n moment.locale(this.props.moment_locale_prop)\n const divided = timestamp / 1000;\n var date = moment.unix(divided).format(\"h:mm a on dddd, MMMM Do\");\n return date;\n }\n\n openExtra = () => {\n this.setState({ opened: !this.state.opened })\n }\n \n render() {\n const { opened, time_remaining } = this.state;\n const { location, place_name } = this.props.item\n const { image, description, allergens, eco, ingredients } = this.props.product;\n const { product_name, deal_type, quantity_available, reduced_price, original_price, expiry_date, place_id, account_id, _id } = this.props.inventory;\n const place = this.props.place;\n// clock needs to be improved to get time on first open instantenously without updating the duration after that\n/* var timerFirst = moment.duration(1000).timer( ()=> {\n this.countdownTimer(expiry_date)}); */\n const timerComponents = [];\n\n Object.keys(time_remaining).forEach(interval => {\n if (!time_remaining[interval]) {\n return;\n }\n\n timerComponents.push(\n \n {time_remaining[interval]} {interval}{\" \"}\n \n );\n });\n\n return (\n \n \n {/* {timerFirst.start()} */}\n {/* {console.log('this.stateHomePr: ', this.state)} */}\n {/* {console.log('this.propsHomePr: ', this.props)} */}\n \n \n \n \n \n
{product_name}\n {this.props.dist} {this.props.product_detail_away}\n {this.props.offers_area_time}{this.calculatePickUpTime(expiry_date)}\n \n
\n {!opened ? null :\n ( \n <>\n
{this.props.product_detail_desc}
\n

{description}

\n
{this.props.product_detail_ingr}
\n

\n {\n Object.entries(ingredients).map(\n row => (\n \n {row[0]} - {row[1]}
\n
\n )\n )\n }\n

\n
{this.props.product_detail_aller}
\n

\n {\n allergens.map(allergen => {`${allergen} `})\n }\n

\n
{this.props.product_detail_cat_type}
\n

{deal_type === 'PERSONAL' ? this.props.filters_deal_type_personal : this.props.filters_deal_type_business}

\n
{this.props.product_detail_delivery}
\n

{this.props.product_detail_pick_by}

\n
{this.props.product_detail_sold_by}
\n {/*
Account ID: {account_id}
*/}\n

{this.props.product_detail_vendor_desc}

\n

{this.props.product_detail_place} {place_name}

\n {/*

Place ID: {place_id}

*/}\n \n )}\n \n
\n
\n \n {/* \n
{this.props.offers_area_red_price}{reduced_price}{this.props.filters_price_range_currency}
\n

{this.props.offers_area_org_price}{original_price}{this.props.filters_price_range_currency}

\n \n\n { (quantity_available > 0) ?\n \n \n \n :\n \n }\n\n

\n
{this.props.product_detail_env_header}
\n \n \n \n \n \n \n \n {eco}\n \n \n \n
*/}\n \n
\n \n
\n {/* \n \n */}\n \n \n
{this.props.place.name}\n {this.props.place.location.geolocation}\n
\n {this.props.place.description && \n \n

{this.props.place.description}

\n
}\n \n \n \n
\n \n \n \n
\n\n
\n \n );\n }\n}\n\nexport default Detailpage2;","import React from \"react\";\nimport axios from 'axios';\nimport { ReactiveBase } from \"@appbaseio/reactivesearch\";\nimport { ReactiveGoogleMap } from \"@appbaseio/reactivemaps\";\nimport { Grid, Card, Image, Label, Icon, Header, Modal} from \"semantic-ui-react\";\nimport Filters from \"./Filters\";\nimport \"./mapstyles.css\";\nimport * as moment from \"moment\";\nimport 'moment/locale/bg';\nimport 'moment/locale/en-gb';\nimport HomeProduct from \"../components/HomeProduct\";\nimport no_results from \"../components/images/empty/no_results.png\";\nimport posthog from 'posthog-js'\n\nposthog.init('phc_gtRKYeaZQMQKmTiA4taevgqvuKrL25gRcD98dPVJbZs', { api_host: 'https://eu.posthog.com' })\n\nposthog.capture('Main Page', { property: 'value' })\n//moment.locale don't work, check docs\n\nconst providers = [\n {\n label: \"Google Map\",\n value: \"googleMap\"\n },\n {\n label: \"OpenStreet Map\",\n value: \"openstreetMap\"\n }\n];\n\nexport default class MapPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n mapProvider: providers[0],\n latitude: 42.069325,\n longitude: 25.606698,\n loading: true,\n loadingLat: true,\n loadingLng: true,\n noProducts: true,\n noResults: false,\n selectedProduct: [],\n productClicked: false, \n account_info: [],\n product_info: [],\n place_info: [],\n inventory_info: [],\n dist: Number\n };\n this.setProvider = this.setProvider.bind(this);\n }\n\n componentDidMount() {\n navigator.geolocation.getCurrentPosition(\n this.geo_lat,\n this.geo_error,\n this.geo_options\n );\n navigator.geolocation.getCurrentPosition(\n this.geo_lng,\n this.geo_error,\n this.geo_options\n );\n navigator.geolocation.getCurrentPosition(\n this.geo_success,\n this.geo_error,\n this.geo_options\n );\n this.setState({ loading: false });\n }\n\n calculateTimeRemaining(timestamp, id) {\n //console.log(this.props.moment_locale_prop)\n moment.locale(this.props.moment_locale_prop)\n const divided = timestamp / 1000;\n var date = moment.unix(divided)\n var displayDate= moment().isAfter(date) ? \n (\n this.deleteItem(id)\n )\n : date.fromNow(true)+this.props.offers_time_remaining;\n return displayDate;\n }\n\n async deleteItem(itemid) {\n //this.setState({ openActionDelete: false });\n //console.log(itemid)\n await axios.delete(`https://api.dontwaste.me/inventories/exp/${itemid}`)\n //.then ( this.props.deleteCallback(itemid), console.log('update id: ', itemid))\n // this.setState({ loading: true });\n }\n\n calculatePickUpTime(timestamp) {\n moment.locale(this.props.moment_locale_prop)\n const divided = timestamp / 1000;\n var date = moment.unix(divided).format(\"h:mm a on dddd, MMMM Do\");\n return date;\n }\n geo_lat = position => {\n this.setState({ latitude: position.coords.latitude, loadingLat: false });\n //console.log(\"geo_lat= \", this.state.latitude);\n };\n\n geo_lng = position => {\n this.setState({ longitude: position.coords.longitude, loadingLng: false });\n //console.log(\"geo_lng= \", this.state.longitude);\n };\n\n geo_success(position) {\n return (\n position.coords.latitude,\n position.coords.longitude\n //console.log(\"lat= \", position.coords.latitude, \"lon= \", position.coords.longitude)\n );\n }\n\n geo_error() {\n alert(this.props.alert_geolocation);\n }\n\n geo_options(enableHighAccuracy, maximumAge, timeout) {\n return (\n (enableHighAccuracy = false), (maximumAge = 30000), (timeout = 27000)\n );\n }\n\n setProvider(mapProvider) {\n this.setState({\n mapProvider\n });\n }\n \n handleCardClick = (product) => {\n fetch(`https://api.dontwaste.me/inventories/${product.item_id}`)\n .then(res => res.json())\n .then(res => \n this.setState({ inventory_info: res.item, product_info: res.itemProduct[0], place_info: res.itemPlace[0] },\n /* this.fetchProductInfo(res.item.product_id), */\n /* this.fetchPlaceInfo(res.item.place_id), */\n /* this.fetchAccountInfo(res.item.account_id), */\n this._findDistance(product.location)))\n .then(() => this.setState({productClicked:true, selectedProduct: product}))\n };\n\n /* fetchProductInfo = (id) => {\n axios.get(`https://api.dontwaste.me/products/${id}`)\n .then((res) => (this.setState({product_info: res.data.product}), console.log('product_info: ', res.data.product)))\n }; */\n\n /* fetchPlaceInfo = (id) => {\n axios.get(`https://api.dontwaste.me/places/${id}`)\n .then((res) => (this.setState({place_info: res.data.place}), console.log('place_info: ', res.data.place)))\n }; */\n\n //Don't work, because we are using Auth0 Database, not our own Mongo in Atlas.\n /* fetchAccountInfo = (id) => {\n axios.get(`https://api.dontwaste.me/accounts/${id}`)\n .then((res) => (this.setState({ account_info: res.data.account}), console.log('account_info: ', res.data.account)))\n }; */\n\n _findDistance(location) {\n var lat1 = this.state.latitude;\n var lon1 = this.state.longitude;\n var lat2 = location[1];\n var lon2 = location[0];\n var radlat1 = (Math.PI * lat1) / 180;\n var radlat2 = (Math.PI * lat2) / 180;\n var theta = lon1 - lon2;\n var radtheta = (Math.PI * theta) / 180;\n var dist =\n Math.sin(radlat1) * Math.sin(radlat2) +\n Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);\n dist = Math.acos(dist);\n dist = (dist * 180) / Math.PI;\n dist = dist * 60 * 1.1515;\n dist = dist * 1.609344;\n dist = dist.toFixed(1);\n this.setState({dist: dist})\n }\n\n GoBack = () => {\n this.setState({productClicked: false, product_info: [], place_info: [], account_info: [], inventory_info: [] })\n };\n \n defaultQuery = function() {\n return {\n query: {\n match_all: {}\n }\n }\n };\n\n render() {\n const {selectedProduct, productClicked} = this.state\n const { product_info, place_info, inventory_info } = this.state\n return (\n \n \n \n \n \n \n {\n return (\n
\n
\n
\n this.handleCardClick(data)}\n />\n {this.props.map_popup_place_row} {data.place_id}
\n {data.quantity_available} {this.props.map_popup_qty_row}\n
\n
{data.name}
\n
\n {data.reduced_price} {this.props.filters_price_range_currency} {this.props.map_popup_price_row}\n
\n
\n
\n );\n }}\n autoClosePopover\n renderAllData={(\n hits,\n streamHits,\n loadMore,\n renderMap,\n renderPagination\n ) => {\n return(\n\n \n \n \n {hits.map(data => (\n hits.length > 0 ?\n this.handleCardClick(data)}\n >\n \n {console.log('data.item_exp: ', data.item_exp)}\n \n\n \n \n {data.name}\n \n \n \n {data.place_name}\n \n {/* \n \n \n */}\n \n \n

\n \n {this.props.offers_area_qty} {\" \"}\n {data.quantity_available}\n

\n

\n {this.props.offers_area_timе}{\" \"}\n {this.calculatePickUpTime(\n data.item_exp\n )}\n

\n
\n \n :\n <>\n \n
{this.props.offers_area_no_res}\n \n {this.props.оffers_area_no_res_text}\n \n
\n \n ))}\n
\n \n
\n \n {renderMap()}\n \n
\n\n )\n }\n }\n\n renderData={data => ({\n label: (\n \n ${data.reduced_price}\n \n )\n })}\n renderError={error => (\n
\n {this.props.map_render_error}\n
\n {this.props.map_render_error_text}\n
\n {error}\n
\n )}\n react={{\n and: [\n \"Search\",\n \"Price range\",\n \"Available quantity\",\n \"DateSensor\",\n \"DealTypes\"\n ]\n }}\n />\n
\n
\n this.GoBack()}>\n \n \n {/* {console.log('clicked state in product: ', productClicked)} */}\n \n );\n }\n}\n","\nconst Colors = {\n fcPink: \"#ED5E5E\",\n fcOrange: \"#EF9564\",\n fcGreen: '#99D68F',\n fcBlue: '#129490',\n fcPinkAlpha: 'rgba(237,94,94,0.4)',\n fcOrangeAlpha: 'rgba(239,149,100, 0.4)',\n fcGreenAlpha: 'rgba(152,214,143,0.2)',\n fcDarkGreen: 'rgb(15,122, 118)',\n fcGrey: '#737373',\n fcDarkGreenAlpha: 'rgba(15,122, 118, 0.2)',\n fcWhite: 'rgba(255, 255, 255, 0.5)',\n tintColor: '#ED5E5E',\n tabIconDefault: '#ccc',\n tabIconSelected: '#ED5E5E',\n tabBar: '#fefefe',\n errorBackground: 'red',\n errorText: '#fff', \n title: '#404040',\n desc: '#737373',\n red: '#db2828',\n warningBackground: '#EAEB5E',\n warningText: '#666804',\n noticeBackground: '#ED5E5E',\n noticeText: '#fff',\n };\n export default Colors","\nimport React from 'react'\nimport VisualPickerOption from 'react-rainbow-components/components/VisualPickerOption';\nimport VisualPicker from 'react-rainbow-components/components/VisualPicker';\nimport {Image, Header} from 'semantic-ui-react'\n\nimport restaurant from \"./restaurant.svg\"\nimport supermarket from \"./supermarket.svg\"\nimport caffe from \"./caffe.svg\"\nimport producer from \"./producer.svg\"\n\nimport './styles.css'\n\nconst textStyles = {\n fontSize: 15,\n color: '#a4a7b5',\n marginTop: 4,\n};\n\nexport default class MultipleVisualPicker extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n value: ['BASIC'],\n };\n this.handleOnChange = this.handleOnChange.bind(this);\n }\n\n handleOnChange(value) {\n this.props.defineVendorType(value)\n return this.setState({ value });\n }\n\n render() {\n return (\n <>\n
\n \n \n \n

{this.props.icon_restaurant}

\n
\n \n \n

{this.props.icon_supermarket}

\n
\n \n \n

{this.props.icon_caffe}

\n
\n \n \n

{this.props.icon_producer}

\n
\n \n \n );\n }\n}","import React, { useEffect } from \"react\";\n\nimport GMap from \"react-rainbow-components/components/GMap\";\nimport MapMarker from \"react-rainbow-components/components/MapMarker\";\n\nconst RainbowMap = ({ latitude, longitude, zoom, label, description }) => {\n const [local_latitude, setLatitude] = React.useState()\n const [local_longitude, setLongitude] = React.useState()\n const [local_zoom, setZoom] = React.useState()\n const [local_label, setLabel] = React.useState('')\n const [local_description, setDescription] = React.useState('')\n useEffect(()=>{\n console.log('latitude in rainbow', label)\n setLatitude(latitude)\n setLongitude(longitude)\n setZoom(zoom)\n setDescription(description)\n setLabel(label)\n })\n return (\n \n \n )\n}\n\nexport default RainbowMap","import firebase from \"firebase\";\nvar firebaseConfig = {\n apiKey: \"AIzaSyAzJBKcCTgX1u0RNBcC97AEEKo0GjsB0cA\",\n authDomain: \"foodchainapp-1531482755524.firebaseapp.com\",\n databaseURL: \"https://foodchainapp-1531482755524.firebaseio.com\",\n projectId: \"foodchainapp-1531482755524\",\n storageBucket: \"foodchainapp-1531482755524.appspot.com\",\n messagingSenderId: \"405510406126\",\n appId: \"1:405510406126:web:6c0be95a23cccca592d8ff\"\n };\n // Initialize Firebase\n firebase.initializeApp(firebaseConfig);","import React from \"react\";\nimport LocalizedStrings from 'react-localization';\nimport ProgressIndicator from \"react-rainbow-components/components/ProgressIndicator\";\nimport ProgressStep from \"react-rainbow-components/components/ProgressStep\";\nimport CustomUploadButton from 'react-firebase-file-uploader/lib/CustomUploadButton';\nimport Application from \"react-rainbow-components/components/Application\";\nimport Colors from '../../constants/Colors'\nimport axios from 'axios';\nimport {\n Form,\n Icon,\n TextArea,\n Header,\n Button,\n Dropdown,\n Container,\n Dimmer,\n Loader,\n Grid,\n Card,\n Image,\n} from \"semantic-ui-react\";\nimport \"./styles.css\";\nimport StepOne from \"./StepOne\";\nimport RainbowMap from \"./Map\"\nimport Autocomplete from \"react-google-autocomplete\";\nimport Geocode from \"react-geocode\";\nimport firebase from \"firebase\";\n//import FileUploader from \"react-firebase-file-uploader\";\nimport \"../../../src/firebaseConfig.js\";\nimport restaurant from \"./restaurant4.jpg\"\nconst theme = {\n rainbow: {\n palette: {\n brand: Colors.fcPink,\n },\n },\n};\nconst currencyOptions = [\n {\n key: \"BGN\",\n text: \"Български лев\",\n value: \"BGN\",\n flag: \"bg\"\n },\n {\n key: \"EUR\",\n text: \"Euro\",\n value: \"EUR\",\n flag: \"eu\"\n }\n];\nconst countryOptions = [\n { key: 'Bulgaria', value: 'Bulgaria', flag: 'bg', text: 'Bulgaria' }]\n//const steps = [\"first\", \"second\", \"third\", \"fourth\", \"fifth\"];\nconst stepNames = [\"step-1\", \"step-2\", \"step-3\", \"step-4\", \"step-5\"];\nconst MAX_SIZE = 1e6;\n\n// implement this https://semantic-ui.com/behaviors/form.html#/examples\n// state explanations: completed is Submit button clicked, but not yet posted by server , submitted is successfully received by server\n//set currentStepIndex:5 in state in order to test submit form functionality without filling it out\nexport default class ProgressIndicatorWithLabel extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n currentStepIndex: 0,\n clicked: false,\n loading: true,\n completed: false,\n submitted: false,\n vendorType: \"undefined\",\n stepOneCompleted: false,\n stepTwoCompleted: false,\n stepThreeCompleted: false,\n stepFourCompleted: false,\n company_name: \"\",\n email: \"\",\n short_description: \"\",\n contact_name: \"\",\n website: \"\",\n avatarURL: \"\",\n avatar: \"\",\n logoURL: '',\n logo: '',\n contact_email: \"\",\n contact_phone: \"\",\n placeLat: 42.65,\n placeLng: 23.33,\n zoom: 10,\n marker_name: \"Your first place\",\n marker_description: \"Your unique description\",\n legal_name: \"\",\n registered_to: \"\",\n VAT: \"\",\n registered_to_country: \"\",\n registered_to_city: \"\",\n registered_to_address_line1: \"\",\n registered_to_address_line2: \"\",\n registered_to_phone: \"\",\n registered_to_postcode: \"\",\n currency: \"\",\n IBAN: \"\",\n termsChecked: false,\n isUploading: false,\n disabled: true,\n error: false\n };\n this.handleNextClick = this.handleNextClick.bind(this);\n this.handleBackClick = this.handleBackClick.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n strings = new LocalizedStrings({\n en:{\n step_venue:\"Venue\",\n step_general_info:\"General Information\",\n step_business_det:\"Business Details\",\n step_payment_info:\"Payment Information\",\n step_terms:\"Terms and Conditions\",\n header_venue: \"What type of venue are you?\",\n icon_restaurant: \"Restaurant\",\n icon_supermarket: \"Supermarket\",\n icon_caffe: \"Caffe\",\n icon_producer: \"Producer\",\n button_back:\"Back\",\n button_next:\"Next\",\n header_gen_info:\"Company Details\",\n company_name:\"Company name\",\n company_website:\"Company website\",\n this_is_how:\"This is how our customers will see your store\",\n input_name:\"Name\",\n input_website:\"Website\",\n upload_image:\"Upload an image\",\n upload_image_text:\"Upload an image of your venue\",\n upload_logo:\"Upload your logo\",\n upload_logo_not_m:\"* not mandatory\",\n input_desc:\"Short description\",\n input_desc_text:\"This description will be shown to clients on our platform. Introduce your business in a couple of sentences and make it stand out!\",\n your_first_place:\"Your first place\",\n your_unique_desc:\"Your unique description\",\n select_your_location:\"Select your location\",\n input_text:\"Enter a location\",\n text_below_location_input:\"*If you have multiple venues, just enter the address of one of them and you will be able to add others stores to your profile at a later stage!\",\n marker_text_1:\"Your first place\",\n marker_text_2:\"Your unique description\",\n input_contact_name_header:\"Contact person name\",\n input_contact_name_placeholder:\"Name\",\n input_contact_email_header:\"Contact e-mail\",\n input_contact_email_placeholder:\"Email\",\n input_contact_phone_header:\"Contact phone\",\n input_contact_phone_placeholder:\"Phone number\",\n header_business_details:\"Business Details\",\n header_text_below_b_d:\"All of the data collected here will be stored securely and will not be shared with anyone on our platform. The data that you provide will only be used for invoices and payments.\",\n input_legal_name:\"Company legal name\",\n input_legal_name_pl:\"Legal name\",\n input_contact_number:\"Contact number\",\n input_contact_number_pl:\"+359886777666\",\n input_registered_to:\"Registered to\",\n input_registered_to_pl:\"Person name\",\n input_vat:\"VAT\",\n input_vat_pl:\"8501010123\",\n header_company_legal_addr:\"Company legal address\",\n input_address_1:\"Address Line 1\",\n input_address_2:\"Address Line 2 (optional)\",\n input_country:\"Country\",\n input_city:\"City\",\n input_postcode:\"Postcode\",\n header_payment_info:\"Payment information\",\n header_text_below_p_i:\"Payments will be made to this bank account based on the terms and conditions in the next section. Please provide a valid bank account in the currency that you have selected.\",\n input_select_currency:\"Select currency\",\n input_select_currency_dropdowrn:\"Select currency\",\n input_iban:\"IBAN\",\n input_iban_placeholder:\"BG18RZBB91550123456789\",\n header_terms:\"Terms and Conditions\",\n text_terms:\"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa strong. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede link mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi.\",\n agree_checkbox:\"I agree to the Terms and Conditions\",\n completed_text_1:\"Your details have been successfully submitted! We will contact you as soon as your venue has been approved!\",\n completed_text_2:\"We will contact you as soon as your venue has been approved!\",\n error_text:\"Something went wrong... Please contact support at support@dontwaste.me !\",\n button_submit:\"Submit\",\n },\n bg: {\n step_venue:\"Магазин\",\n step_general_info:\"Обща информация\",\n step_business_det:\"Бизнес детайли\",\n step_payment_info:\"Финансова информация\",\n step_terms:\"Общи условия\",\n header_venue: \"Какъв е вашият бизнес?\",\n icon_restaurant: \"Ресторант\",\n icon_supermarket: \"Супермаркет\",\n icon_caffe: \"Кафе\",\n icon_producer: \"Производител\",\n button_back:\"Назад\",\n button_next:\"Напред\",\n header_gen_info:\"Детайли за Компанията\",\n company_name:\"Име на Компанията\",\n company_website:\"Уебсайт на Компанията\",\n this_is_how:\"Това ще е основната картинка на вашия магазин\",\n input_name:\"Име\",\n input_website:\"Уебсайт\",\n upload_image:\"Качете снимка\",\n upload_image_text:\"Качете снимка на вашия магазин\",\n upload_logo:\"Качете лого\",\n upload_logo_not_m:\"* не е задължително\",\n input_desc:\"Кратко описание\",\n input_desc_text:\"Това описание ще се показва на клиентите Ви в платформата. Напишете няколко изречения описващи вашия бизнес!\",\n your_first_place:\"Вашия първи магазин\",\n your_unique_desc:\"Вашето уникално описание\",\n select_your_location:\"Изберете локация\",\n input_text:\"Изберете локация\",\n text_below_location_input:\"*Ако имате няколко обекта, напишете адреса на един от тях, останалите ще имате възможност да ги въведете по-късно!\",\n marker_text_1:\"Добавете първи обект\",\n marker_text_2:\"Вашето уникално описание\",\n input_contact_name_header:\"Име на контактно лице\",\n input_contact_name_placeholder:\"Име\",\n input_contact_email_header:\"Имейл на контактно лице\",\n input_contact_email_placeholder:\"Имейл\",\n input_contact_phone_header:\"Телефон на контактно лице\",\n input_contact_phone_placeholder:\"Телефон\",\n header_business_details:\"Бизнес детайли\",\n header_text_below_b_d:\"Информацията ще се запази сигурно и няма да бъде споделяна с никого. Информацията ще се използва само за фактури и плащания.\",\n input_legal_name:\"Име на компанията\",\n input_legal_name_pl:\"Име по регистрация\",\n input_contact_number:\"Телефон\",\n input_contact_number_pl:\"+359886777666\",\n input_registered_to:\"МОЛ\",\n input_registered_to_pl:\"Име\",\n input_vat:\"ДДС номер\",\n input_vat_pl:\"8501010123\",\n header_company_legal_addr:\"Адрес по регистрация\",\n input_address_1:\"Адрес 1\",\n input_address_2:\"Адрес 2 (опция)\",\n input_country:\"Държава\",\n input_city:\"Град\",\n input_postcode:\"Пощенски код\",\n header_payment_info:\"Финансова информация\",\n header_text_below_p_i:\"Плащанията ще бъдат насочвани към този адрес съгласно Общите условия по-долу. Моля, въведете валиден банков номер в избраната валута.\",\n input_select_currency:\"Изберете държава\",\n input_select_currency_dropdowrn:\"Изберете държава\",\n input_iban:\"IBAN\",\n input_iban_placeholder:\"BG18RZBB91550123456789\",\n header_terms:\"Общи условия и условия за ползване на платформата\",\n text_terms:\"Примерен текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст\",\n agree_checkbox:\"Съгласен съм с всички условия\",\n completed_text_1:\"Вашата информация беше успешно запазена! Ще се свържен с вас когато я обработим и валидираме!\",\n completed_text_2:\"Ще се свържем с вас когато удобрим кандидатурата ви!\",\n error_text:\"Нещо се обърка... Моля, свържете се с нас на имейл support@dontwaste.me !\",\n button_submit:\"Изпрати\",\n }\n });\n\n handleUploadStart = () => this.setState({ isUploading: true });\n handleUploadError = error => {\n this.setState({ isUploading: false });\n console.error(error);\n };\n handleAvatarUploadSuccess = async (filename) => {\n this.setState({ avatar: filename, isUploading: false });\n await firebase\n .storage()\n .ref(\"images\")\n .child(filename)\n .getDownloadURL()\n .then(url => this.setState({ avatarURL: url }));\n };\n //need a different progress state if you want to visualize upload process\n handleLogoUploadSuccess = filename => {\n this.setState({ logo: filename, isUploading: false });\n firebase\n .storage()\n .ref(\"images\")\n .child(filename)\n .getDownloadURL()\n .then(url => this.setState({ logoURL: url }));\n };\n handleSubmit = async (user) => {\n //post data to account id\n const { submitted, loading, error } = this.state;\n const { vendorType, company_name, email, short_description,\n contact_name, website, avatarURL, avatar, logoURL, logo,\n contact_email, contact_phone, legal_name, registered_to, VAT,\n registered_to_country, registered_to_city, registered_to_address_line1, registered_to_address_line2,\n registered_to_phone, registered_to_postcode, currency, IBAN } = this.state;\n // after successfull submit set state]\n // await axios.post(\"https://api.dontwaste.me/places/\", {\n await axios.post(\"http://localhost:3004/register/\", {\n userid: user,\n vendorType: vendorType,\n company_name: company_name,\n email: email,\n short_description: short_description,\n contact_name: contact_name,\n website: website,\n avatarURL: avatarURL,\n avatar: avatar,\n logoURL: logoURL,\n logo: logo,\n contact_email: contact_email,\n contact_phone: contact_phone,\n legal_name: legal_name,\n registered_to: registered_to,\n VAT: VAT,\n registered_to_country: registered_to_country,\n registered_to_city: registered_to_city,\n registered_to_address_line1: registered_to_address_line1,\n registered_to_address_line2: registered_to_address_line2,\n registered_to_phone: registered_to_phone,\n registered_to_postcode: registered_to_postcode,\n currency: currency,\n IBAN: IBAN,\n },\n {\n headers: {\n \"Content-Type\": \"application/json\"\n }\n }\n )\n .then(res => res.status === 201 ? \n ( this.setState({ completed: true, loading: false })\n // this.props.handleFinalSubmit(submitted)\n )\n :\n (this.setState({ completed: true, loading: false, error: true }))\n // this.props.handleFinalSubmit(submitted)\n )\n .catch(err => {\n console.log(err);\n this.setState({ completed: true, loading: false, error: true })\n // this.props.handleFinalSubmit(submitted);\n });\n\n console.log(\"loading\", loading);\n console.log(\"handle submit\", submitted);\n \n };\n\n receiveVendorType = vendorType => {\n this.setState({ vendorType: vendorType });\n this.setState({ stepOneCompleted: true });\n };\n\n receiveVendorDetails = vendorDetails => {\n // (this.setState({ name :vendorDetails.name }, console.log('name: ', this.state.name)))\n //( this.setState({ email :vendorDetails.email }, console.log('email: ', this.state.email)))\n // (this.setState({ website :vendorDetails.website }, console.log('website: ', this.state.website)))\n console.log(\"receive from child:\", vendorDetails);\n //(this.state.contact_phone !== '' ? this.setState({stepOneCompleted: true}) : null)\n };\n convertPlaceToGeoCode = place1 => {\n this.setState({ placeAddressByGoogle: place1 });\n console.log(this.state.placeAddressByGoogle);\n Geocode.setApiKey(\"AIzaSyDfeHv6QM9PqtzE_MM5O_X81ZUjwU_jR0Q\");\n Geocode.enableDebug();\n Geocode.fromAddress(place1.formatted_address).then(\n response => {\n const { lat, lng } = response.results[0].geometry.location;\n this.setState({ placeLat: lat, placeLng: lng });\n this.setState({ zoom: 15 });\n console.log(lat, lng);\n //console.log('state.lat= ', this.state.placeLat)\n //console.log('state.lng= ', this.state.placeLng)\n },\n error => {\n console.error(error);\n }\n );\n };\n\n handleChange = (e, { name, value }) => {\n //this.updateMarker is one state behind....\n\n this.setState({ [name]: value });\n\n if (name === \"company_name\") {\n this.setState(\n { marker_name: value },\n console.log(this.state.marker_name)\n );\n }\n if (name === \"short_description\") {\n this.setState(\n { marker_description: value },\n console.log(this.state.marker_description)\n );\n }\n };\n\n handleCurrencyChange = (e, { value }) => {\n this.setState({ currency: value }, console.log(this.state.currency));\n };\n\n handleTermsChange = () => {\n this.setState(prevState => ({ termsChecked: !prevState.termsChecked }));\n console.log(this.state.termsChecked);\n };\n\n changeCompleted = () => {\n this.setState({ stepOneCompleted: true });\n };\n\n handleNextClick() {\n const { currentStepIndex } = this.state;\n if (currentStepIndex < stepNames.length - 1) {\n const nextStepIndex = currentStepIndex + 1;\n //this.setState({ stepOneCompleted: false });\n console.log(this.state);\n return this.setState({ currentStepIndex: nextStepIndex, disabled: true });\n }\n return this.setState({ isNextDisabled: false });\n }\n\n handleBackClick() {\n const { currentStepIndex } = this.state;\n if (currentStepIndex > 0) {\n const previewStepIndex = currentStepIndex - 1;\n this.setState({ currentStepIndex: previewStepIndex });\n }\n }\n componentDidUpdate() {\n const { currentStepIndex, stepOneCompleted, stepTwoCompleted, stepThreeCompleted, stepFourCompleted } = this.state;\n const {\n contact_email,\n /* contact_name,\n contact_phone,\n short_description,\n website,\n avatarURL,\n company_name,\n isUploading, */\n disabled\n } = this.state;\n\n const {\n legal_name,\n registered_to,\n VAT,\n registered_to_country,\n registered_to_city,\n registered_to_address_line1,\n /* registered_to_address_line2, */\n registered_to_phone,\n registered_to_postcode\n } = this.state;\n\n const { currency, IBAN } = this.state;\n console.log(\"state\", this.state)\n // if (isUploading) {\n // console.log('isUploading,', isUploading)\n // return false\n // };\n if (\n currentStepIndex === 0 &&\n stepOneCompleted &&\n disabled\n ) {\n this.setState({ disabled: false })\n }\n if (\n currentStepIndex === 1 &&\n stepOneCompleted &&\n !stepTwoCompleted &&\n contact_email !== \"\" //&&\n // UNCOMMENT!!!\n // contact_name !== \"\" &&\n // contact_phone !== \"\" &&\n // short_description !== \"\" &&\n // website !== \"\" &&\n // avatarURL !== \"\"\n ) {\n this.setState({ stepTwoCompleted: true })\n }\n if (\n currentStepIndex === 1 &&\n stepOneCompleted &&\n stepTwoCompleted &&\n disabled\n ) {\n this.setState({ disabled: false })\n }\n\n if (\n currentStepIndex === 2 &&\n stepOneCompleted &&\n stepTwoCompleted &&\n !stepThreeCompleted &&\n legal_name !== \"\" &&\n registered_to !== \"\" &&\n VAT !== \"\" &&\n registered_to_country !== \"\" &&\n registered_to_city !== \"\" &&\n registered_to_address_line1 !== \"\" &&\n registered_to_phone !== \"\" &&\n registered_to_postcode !== \"\"\n ) {\n this.setState({ stepThreeCompleted: true });\n }\n if (\n currentStepIndex === 2 &&\n stepOneCompleted &&\n stepTwoCompleted &&\n stepThreeCompleted &&\n disabled\n ) {\n this.setState({ disabled: false })\n }\n\n if (\n currentStepIndex === 3 &&\n stepOneCompleted &&\n stepTwoCompleted &&\n stepThreeCompleted &&\n !stepFourCompleted &&\n currency !== \"\" &&\n IBAN !== \"\"\n ) {\n this.setState({ stepFourCompleted: true });\n }\n if (\n currentStepIndex === 3 &&\n stepOneCompleted &&\n stepTwoCompleted &&\n stepThreeCompleted &&\n stepFourCompleted &&\n disabled\n ) {\n this.setState({ disabled: false })\n }\n\n }\n isBackDisabled() {\n const { currentStepIndex } = this.state;\n if (currentStepIndex > 0 && currentStepIndex < stepNames.length) {\n return false;\n }\n return true;\n }\n\n _setLanguage = (lang) => {\n //console.log(lang)\n this.strings.setLanguage(lang)\n }\n\n render() {\n const {\n currentStepIndex,\n zoom,\n company_name,\n marker_name,\n marker_description,\n placeLat,\n placeLng,\n contact_email,\n contact_name,\n contact_phone,\n short_description,\n website\n } = this.state;\n\n const {\n legal_name,\n registered_to,\n VAT,\n registered_to_country,\n registered_to_city,\n registered_to_address_line1,\n registered_to_address_line2,\n registered_to_phone,\n registered_to_postcode\n } = this.state;\n\n const { IBAN, termsChecked } = this.state;\n\n const { loading, completed, disabled } = this.state;\n\n const { avatarURL, logoURL } = this.state;\n\n\n return (\n \n {/* */}\n {this._setLanguage(this.props.user[\"https://fc-demo/language\"])}\n {completed ? (\n \n \n \n \n {!this.state.error ?\n <>\n
\n {this.strings.completed_text_1}\n
\n
\n {this.strings.completed_text_2}\n
\n \n :\n
\n {this.strings.error_text}\n
\n }\n \n ) : (\n
\n
\n \n \n \n \n \n \n \n\n
\n {\n //put the entire code from step two,three etc here and still use current stepindex, bu wrap\n //everything in a form component and make a submit button appear when currentstepindex = stepname.len - 1\n }\n\n {currentStepIndex === 0 ? (\n \n ) : currentStepIndex === 1 ? (\n
\n \n \n {console.log('sstae', this.state)}\n \n \n \n\n \n\n \n
\n \n { if (file.size > MAX_SIZE) throw Error('File too large') }}\n onUploadStart={this.handleUploadStart}\n onUploadError={this.handleUploadError}\n onUploadSuccess={this.handleAvatarUploadSuccess}\n metadata={{ cacheControl: 'max-age=3600' }}\n >\n {this.strings.upload_image_text}\n \n { if (file.size > MAX_SIZE) throw Error('File too large') }}\n onUploadStart={this.handleUploadStart}\n onUploadError={this.handleUploadError}\n onUploadSuccess={this.handleLogoUploadSuccess}\n metadata={{ cacheControl: 'max-age=3600' }}\n >\n {this.strings.upload_logo}\n

{this.strings.upload_logo_not_m}

\n \n
\n \n \n \n
\n \n \n \n \n {logoURL !== '' ?\n (\n )\n : null}\n {marker_name}\n \n \n {marker_description}\n \n \n \n \n \n
\n {\n this.convertPlaceToGeoCode(place1);\n }}\n types={[\"establishment\"]}\n componentRestrictions={{ country: \"bg\" }}\n />\n

{this.strings.text_below_location_input}

\n \n \n \n \n \n \n
\n ) : currentStepIndex === 2 ? (\n
\n
\n {this.strings.header_business_details}\n \n {this.strings.header_text_below_b_d}\n \n
\n \n \n \n \n \n \n \n \n\n
\n \n \n \n \n \n \n \n \n \n
\n ) : currentStepIndex === 3 ? (\n
\n
\n {this.strings.header_payment_info}\n \n {this.strings.header_text_below_p_i}\n \n
\n \n {\n // we can render different iban/ sort-code etc for different countries\n }\n \n \n \n
\n ) : (\n <>\n \n
\n {this.strings.header_terms}\n
\n

\n {this.strings.text_terms}\n

\n \n \n \n )}\n
\n
\n \n {this.strings.button_back}\n \n {currentStepIndex < stepNames.length - 1 ? (\n \n {this.strings.button_next}\n \n ) : (\n this.handleSubmit(this.props.user)}\n disabled={!termsChecked}\n className=\"rainbow-m-horizontal_medium\"\n >\n {this.strings.button_submit}\n \n )}\n
\n
\n
\n )}\n {/*
*/}\n
\n \n )\n }\n}\n","import React, { useState } from \"react\";\nimport axios from 'axios';\nimport { useAuth0 } from \"../react-auth0-spa\";\nimport LocalizedStrings from 'react-localization';\nimport Can from \"../components/Can\";\nimport MapPage from '../components/MapPage3';\nimport { ToastContainer, toast } from 'react-toastify';\nimport { Modal, Card, Image, Header } from \"semantic-ui-react\";\nimport AuthFlow from \"../components/AuthFlow\"\nimport sell_food from \"./images/sell_food.svg\";\nimport find_food from \"./images/find_food.svg\";\nimport \"./home.css\";\n//import { string } from \"prop-types\";\n\nconst Home = () => {\n const { user, isAuthenticated } = useAuth0();\n //const [ userLanguage, setUserLanguage ] = useState(user[\"https://fc-demo/language\"]);\n const [isOpenBuySell, setIsOpenBuySell] = useState(user[\"https://fc-demo/firstLogin\"]);\n console.log('Home user', user)\n const [isOpenAuthFlow, setIsOpenAuthFlow] = useState(false);\n const toggle = () => setIsOpenBuySell(!isOpenBuySell);\n const toggleAuthFlow = () => setIsOpenAuthFlow(!isOpenAuthFlow);\n const user_geo_lat = 42.6954108;\n const user_geo_lng = 23.2539073;\n //const [loadingFirstTime, setloadingFirstTime] = useState(user[\"https://fc-demo/firstLogin\"]);\n\n const strings = new LocalizedStrings({\n en:{\n moment_locale_prop: 'en-gb',\n notifyFirstCreatedPlace:\"Your first FoodVenue is created. Congrats.\",\n notifyConfirmPlace:\"You already has a place.\",\n notifyError:\"Something went wrong!\",\n welcome: \"Welcome to FoodChain!\",\n how_to_use_platform: \"How would you like to use the platform?\",\n buy_food: \"Find food\",\n i_want_to: \"I want to discover reduced food around me.\",\n sell_food: \"Sell food\",\n sell_food_desc: \"I am a restaurant, cafe, supermarket or a food producer looking to sell my excess food.\",\n sell_food_cont: \"Register as a FoodChain supplier\",\n alert_geolocation: \"Sorry, no position available.\",\n map_popup_place_row: \"Venue\",\n map_popup_qty_row: \"qty\",\n map_popup_price_row: \"per 1 pcs\",\n offers_time_remaining: \" remaining\",\n offers_area_org_price: \"Original price: \",\n offers_area_red_price: \"Reduced price: \",\n offers_area_qty: \"Quantity available: \",\n offers_area_time: \"Collect before: \",\n offers_area_no_res: \"No results\",\n offers_area_no_res_text: \"Looks like there are no food items around you :( /n FoodChain vendors are busy uploading their left-over food, so be sure to check again soon.\",\n map_render_error: \"Something went wrong!\",\n map_render_error_text: \"Error details\",\n filters_header: \"Filter Results\",\n filters_data_search_header: \"Find food...\",\n filters_data_search_pl: \"Search\",\n filters_price_range_header: \"Price Range\",\n filters_price_range_currency: \"$\",\n filters_quantity_header: \"Available Quantity\",\n filters_date_header: \"Pick a date\",\n filters_date_pl: \"Pick a date\",\n filters_deal_type_header: \"Choose deal type\",\n filters_deal_type_personal: \"PERSONAL\",\n filters_deal_type_business: \"BUSINESS\",\n filters_no_suggestions: \"No suggestions found\",\n product_detail_qty_choose: \"Choose quantity\",\n product_detail_qty_available: \"available\",\n product_detail_cart_but_text: \"Go to Cart\",\n product_detail_cart_sold_out: \"Sold Out\",\n product_detail_report: \"Report a problem with this item\",\n product_detail_env_header: \"By buying this item you are saving:\",\n product_detail_env_co2: \"kg of C02\",\n product_detail_env_water: \"l of water\",\n product_detail_away: \"km away from you\",\n product_detail_see_all: \"See all products by this vendor\",\n product_detail_buy_before: \"Buy before: \",\n product_detail_pick_up_before: \"Pick-up before: \",\n product_detail_desc: \"Description: \",\n product_detail_aller: \"Allergens: \",\n product_detail_ingr: \"Ingredients: \",\n product_detail_cat_type: \"Categoty type: \",\n product_detail_delivery: \"Delivery: \",\n product_detail_pick_by: \"Pick up by the Buyer\",\n product_detail_sold_by: \"Sold by\",\n product_detail_vendor_desc: \"Vendor description\",\n product_detail_place: \"Place:\",\n product_detail_but_show: \"Show\",\n product_detail_but_show_more: \"more\",\n product_detail_but_show_less: \"less\",\n },\n bg: {\n moment_locale_prop: 'bg',\n notifyFirstCreatedPlace:\"Поздравления! Вашият първи магазин е създаден.\",\n notifyConfirmPlace:\"Имате създаден магазин.\",\n notifyError:\"Нещо се обърка!\",\n welcome: \"Добре дошли във FoodChain!\",\n how_to_use_platform: \"Как искате да използвате нашата платформа?\",\n buy_food: \"Купувач\",\n i_want_to: \"Искам да намирам оферти за храна около мен.\",\n sell_food: \"Търговец\",\n sell_food_desc: \"Аз имам прекрасен ресторант, кафе, супермаркет или съм производител на хранителни продукти и искам да продавам.\",\n sell_food_cont: \"Регистрирайте се във FoodChain като бизнес.\",\n alert_geolocation: \"Геолокацията невъзможна!.\",\n map_popup_place_row: \"Обект\",\n map_popup_qty_row: \"бр.\",\n map_popup_price_row: \"за 1 брой\",\n offers_time_remaining: \" остават\",\n offers_area_org_price: \"Стандартна цена: \",\n offers_area_red_price: \"Намалена цена: \",\n offers_area_qty: \"Налично количество: \",\n offers_area_time: \"Вземете преди: \",\n offers_area_no_res: \"Няма резултати\",\n offers_area_no_res_text: \"Изглежда, че няма оферти около Вас :( /n Доставчиците във FoodChain въвеждат оферти моля, проверете по-късно.\",\n map_render_error: \"Нещо се обърка!\",\n map_render_error_text: \"Детайли за грешка\",\n filters_header: \"Филтриране на резултати\",\n filters_data_search_header: \"Намерете оферта по ключова дума...\",\n filters_data_search_pl: \"Търси\",\n filters_price_range_header: \"Ценови диапазон\",\n filters_price_range_currency: \"лв\",\n filters_quantity_header: \"Налично количество\",\n filters_date_header: \"Изберете срок на годност - до дата\",\n filters_date_pl: \"Изберете дата\",\n filters_deal_type_header: \"Тип на офертата\",\n filters_deal_type_personal: \"ПОТРЕБИТЕЛ\",\n filters_deal_type_business: \"БИЗНЕС\",\n filters_no_suggestions: \"Няма резултати\",\n product_detail_qty_choose: \"Изберете количество\",\n product_detail_qty_available: \"налични\",\n product_detail_cart_but_text: \"Към Кошницата\",\n product_detail_cart_sold_out: \"Продадено\",\n product_detail_report: \"Докладвай проблем с този продукт\",\n product_detail_env_header: \"Като закупите този продукт вие спестявате:\",\n product_detail_env_co2: \"кг C02\",\n product_detail_env_water: \"литра вода\",\n product_detail_away: \"км разстояние от вас\",\n product_detail_see_all: \"Вижте всички продукти от този доставчик\",\n product_detail_buy_before: \"Купете преди: \",\n product_detail_pick_up_before: \"Вземете преди: \",\n product_detail_desc: \"Описание: \",\n product_detail_aller: \"Алергени: \",\n product_detail_ingr: \"Хранителен състав: \",\n product_detail_cat_type: \"Категория: \",\n product_detail_delivery: \"Доставка: \",\n product_detail_pick_by: \"Взимане от купувача\",\n product_detail_sold_by: \"Продава се от\",\n product_detail_vendor_desc: \"Описание доставчик\",\n product_detail_place: \"Обект:\",\n product_detail_but_show: \"Покажи\",\n product_detail_but_show_more: \"повече\",\n product_detail_but_show_less: \"по-малко\",\n }\n });\n\n const _setLanguage = () => {\n //console.log(lang)\n strings.setLanguage(user[\"https://fc-demo/language\"])\n }\n\n _setLanguage();\n\n const notifyFirstCreatedPlace = () => toast.success(strings.notifyFirstCreatedPlace);\n const notifyConfirmPlace = () => toast.info(strings.notifyConfirmPlace);\n const notifyError = () => toast.error(strings.notifyError);\n\n const savePlaceToDBFirstTimeLogin = (idsub, name, user_geo_lat, user_geo_lng, geolocation, telephone) => {\n const findPipe = idsub.indexOf(\"|\");\n const id = idsub.substr(findPipe+1);\n if(isOpenBuySell) {\n if(typeof user_geo_lat === 'number' && typeof user_geo_lng === 'number') {\n axios.post(\"https://api.dontwaste.me/places/\", {\n account_id: id,\n name: name,\n location: {\n coordinates: [user_geo_lat, user_geo_lng],\n geolocation: geolocation,\n id: id,\n type: 'Point'\n },\n contact: {\n name: name,\n phone_number: telephone\n },\n // place_image_url: image_url,\n // place_image_name: place_image_name,\n // description: description,\n created_by: name\n },\n {\n headers: {\n \"Content-Type\": \"application/json\"\n }\n }\n )\n .then(res => res.status === 201 ? notifyFirstCreatedPlace() : null)\n .catch(err => {\n console.log(err);\n notifyError();\n });\n } else {\n axios.post(\"https://api.dontwaste.me/places/\", {\n account_id: id,\n name: name,\n location: {\n coordinates: [42.6954108, 23.2539073],\n geolocation: geolocation,\n id: id,\n type: 'Point'\n },\n contact: {\n name: name,\n phone_number: telephone\n },\n // place_image_url: image_url,\n // place_image_name: place_image_name,\n // description: description,\n created_by: name\n },\n {\n headers: {\n \"Content-Type\": \"application/json\"\n }\n }\n )\n .then(res => res.status === 201 ? notifyFirstCreatedPlace() : null)\n .catch(err => {\n console.log(err);\n notifyError();\n });\n }\n }\n };\n /* {isOpenBuySell ? savePlaceToDBFirstTimeLogin(user.sub, user.nickname, user_geo_lat, user_geo_lng) : notifyConfirmPlace()} */\n\n return (\n isAuthenticated ?\n
\n \n \n
\n {strings.welcome}\n
\n \n
\n {strings.how_to_use_platform}\n
\n \n \n \n \n {strings.buy_food}\n\n \n {strings.i_want_to}\n \n \n \n \n \n \n {strings.sell_food}\n\n \n {strings.sell_food_desc}\n \n \n \n \n
\n \n \n
\n \n \n \n \n (\n
\n \n
\n )}\n no={() => (\n
\n

You account is DEMO

You account is DEMO

You account is DEMO

You account is DEMO

You account is DEMO

\n
\n )}\n />\n {isOpenBuySell ? savePlaceToDBFirstTimeLogin(user.sub, user.nickname, user_geo_lat, user_geo_lng, 'geolocation', 'telephone') : notifyConfirmPlace()}\n
\n :

not logged in

\n )\n}\n\nexport default Home\n","import React, { useState } from 'react';\r\n//import PropTypes from 'prop-types'\r\nimport { connect, ReactReduxContext } from 'react-redux'\r\nimport { paymentProvider } from '../../reducers/productActions'\r\nimport { Link } from 'react-router-dom';\r\nimport { Icon, Card, Image, Segment, Button } from 'semantic-ui-react';\r\n//import StripeUI from './StripeUI';\r\nimport EpayBGLogo from './images/epaybg_logo.png';\r\nimport StripeLogo from './images/stripe_logo.png';\r\n\r\nconst PaymentCards = ({ paymentProvider }) => {\r\n\r\n const [cardLabelElementEpay, setLabelEpay] = useState(false);\r\n const [cardLabelElementStripe, setLabelStripe] = useState(false);\r\n\r\n //console.log('cardLabelElementEpay', cardLabelElementEpay)\r\n //console.log('cardLabelElementStripe', cardLabelElementStripe)\r\n\r\n const showCardLabelEpay = () => {\r\n setLabelEpay(!cardLabelElementEpay)\r\n cardLabelElementEpay ? paymentProvider('none') : paymentProvider('epaybg')\r\n setLabelStripe(false)\r\n }\r\n\r\n const showCardLabelStripe = () => {\r\n setLabelStripe(!cardLabelElementStripe)\r\n cardLabelElementStripe ? paymentProvider('none') : paymentProvider('stripe')\r\n setLabelEpay(false)\r\n }\r\n \r\n //onClick={() => paymentProvider('stripe')}\r\n\r\n const isSetPaymentMethod = (store) => {\r\n console.log('isSetPaymentMethod', store.PaymentProvider)\r\n if(store.PaymentProvider === 'none') {\r\n return
\r\n } else {\r\n return
\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n (showCardLabelEpay()) }>\r\n \r\n \r\n EpayBG\r\n \r\n Only for Bulgaria\r\n \r\n {/* \r\n Matthew is a musician living in Nashville.\r\n */}\r\n \r\n \r\n \r\n Configured!\r\n \r\n \r\n \r\n \r\n (showCardLabelStripe()) }>\r\n \r\n \r\n Stripe\r\n \r\n Worldwide\r\n \r\n {/* \r\n Matthew is a musician living in Nashville.\r\n */}\r\n \r\n \r\n \r\n Configured!\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {({ store }) => (\r\n isSetPaymentMethod(store.getState())\r\n )}\r\n \r\n \r\n \r\n {/* {\r\n !cardLabelElementStripe ? \r\n null\r\n :\r\n
\r\n \r\n
\r\n } */}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default connect('', { paymentProvider })(PaymentCards)\r\n","import React from 'react';\r\nimport { Icon, Card, Image } from 'semantic-ui-react';\r\nimport StripeLogo from './images/stripe_logo.png';\r\n\r\nconst PaymentCardsNoToken = (props) => { \r\n\r\n return (\r\n\r\n \r\n \r\n \r\n Stripe\r\n \r\n {props.logo_desc}\r\n \r\n {/* \r\n Matthew is a musician living in Nashville.\r\n */}\r\n \r\n \r\n \r\n {props.is_conf}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default PaymentCardsNoToken\r\n","import React from 'react';\r\nimport LocalizedStrings from 'react-localization';\r\nimport { Header, Button, Icon, Card, Image } from 'semantic-ui-react';\r\nimport EpayBGLogo from './images/epaybg_logo.png';\r\nimport PaymentCards from './PaymentCards';\r\nimport PaymentCardsProfile from './PaymentCardsProfile';\r\n\r\nconst APPID_PROD='6554291183785013076003440952844464939156359335971190257260323942'\r\nconst SECRET_PROD='cBZGZK4ACubeCVUCMNrPNzDdHaNN56ZrG2nA5816abfT2PkZkOG7GyhwWWuVcObrcV4zspDblMtVOOkyu5lpRGmh3IC8GrcMBLxPaRVhajYlVDxlg567G0SleycE5YfW'\r\nconst APPID='2123128777047314469988321512492541281777074012414332339158786136'\r\n//const DEVICEID='deviceid16' //must be different in every request. We can ask EpayBG Support about this. Current deviceid10!!!\r\nconst KEY='MwomssTWpZ9vgBz3RnBYk0uB6CKiCVFtiRsWYtxA3sbUYbgXigVpcVBxe9qWXNVE7IgEvc7sHefOUvMqgxocxkeJpqCQsjXQjGzCy1Uhk0pdTHVWfYGJA3X7nAbtkBQV'\r\nconst DEVICE_NAME='myphone'\r\nconst BRAND='iPhone'\r\nconst OS='iOS'\r\nconst MODEL='iPhone5s'\r\nconst OS_VERSION='8.0'\r\nconst PHONE='1'\r\n\r\n//Redirected URL after success authorization: https://dontwaste.me/platform/orders/success?ret=authok&deviceid=deviceid12\r\n\r\nclass PaymentOption extends React.Component {\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n displayEpayBG: 'none',\r\n deviceID: '',\r\n cardLabelElementEpay: false,\r\n cardLabelElementStripe: false,\r\n }\r\n }\r\n\r\n showCardLabelEpay = () => {\r\n if(!this.state.cardLabelElementEpay) {\r\n this.setState({ cardLabelElementEpay: { corner: 'left', icon: 'check', color: 'green'}, cardLabelElementStripe: false })\r\n } else {\r\n this.setState({ cardLabelElementEpay: false })\r\n }\r\n //paymentProvider('EpayBG')\r\n \r\n }\r\n\r\n showCardLabelStripe = () => {\r\n if(!this.state.cardLabelElementStripe) {\r\n this.setState({ cardLabelElementStripe: { corner: 'left', icon: 'check', color: 'green'}, cardLabelElementEpay: false })\r\n } else {\r\n this.setState({ cardLabelElementStripe: false })\r\n }\r\n //paymentProvider('Stripe')\r\n \r\n }\r\n\r\n _setLanguage = (lang) => {\r\n //console.log(lang)\r\n this.strings.setLanguage(lang)\r\n }\r\n\r\n strings = new LocalizedStrings({\r\n en:{\r\n header:\"Available Payment Providers\",\r\n logo_desc_epaybg:\"Only for Bulgaria\",\r\n logo_desc_stripe:\"Worldwide\",\r\n is_ready_small_text:\"Configured\",\r\n epay_button_activate:\"Activate ePayBG\"\r\n },\r\n bg: {\r\n header:\"Валидни Платежни Инструменти\",\r\n logo_desc_epaybg:\"Само за България\",\r\n logo_desc_stripe:\"Свят\",\r\n is_ready_small_text:\"Конфигурирано\",\r\n epay_button_activate:\"Активирай ИпейБГ\"\r\n }\r\n });\r\n\r\n render() {\r\n return (\r\n
\r\n {this._setLanguage(this.props.user[\"https://fc-demo/language\"])}\r\n
{this.strings.header}
\r\n \r\n \r\n \r\n \r\n ePay.bg\r\n \r\n {this.strings.logo_desc_epaybg}\r\n \r\n \r\n \r\n \r\n \r\n \r\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 PaymentOption\r\n","import React from \"react\";\nimport axios from 'axios';\nimport { ToastContainer, toast } from 'react-toastify';\nimport LocalizedStrings from 'react-localization';\nimport { Segment, Input, Button, Dimmer, Loader, Container, Header, Image, Grid, List } from \"semantic-ui-react\";\nimport \"./Profile.css\";\n\n//ONLY FOR DEV, NOT FOR PRODUCTION\n//Bearer Token is refreshed every 84600 seconds according Auth)\naxios.defaults.headers.common['Authorization'] = 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlEwSTNPRGs1UlRNM01qWTFNek0xUTBOQ05USTROakZDTXpsQ1FrTkdRa05EUmtVNE16RkdNUSJ9.eyJpc3MiOiJodHRwczovL2ZjLWRlbW8uZXUuYXV0aDAuY29tLyIsInN1YiI6Im05TktHN3liQlZEa044b0RHbjkxZ0ZaREFYWFZqYW5hQGNsaWVudHMiLCJhdWQiOiJodHRwczovL2ZjLWRlbW8uZXUuYXV0aDAuY29tL2FwaS92Mi8iLCJpYXQiOjE3MTU3Nzk3ODksImV4cCI6MTcxNTg2NjE4OSwic2NvcGUiOiJyZWFkOmNsaWVudF9ncmFudHMgY3JlYXRlOmNsaWVudF9ncmFudHMgZGVsZXRlOmNsaWVudF9ncmFudHMgdXBkYXRlOmNsaWVudF9ncmFudHMgcmVhZDp1c2VycyB1cGRhdGU6dXNlcnMgZGVsZXRlOnVzZXJzIGNyZWF0ZTp1c2VycyByZWFkOnVzZXJzX2FwcF9tZXRhZGF0YSB1cGRhdGU6dXNlcnNfYXBwX21ldGFkYXRhIGRlbGV0ZTp1c2Vyc19hcHBfbWV0YWRhdGEgY3JlYXRlOnVzZXJzX2FwcF9tZXRhZGF0YSBjcmVhdGU6dXNlcl90aWNrZXRzIHJlYWQ6Y2xpZW50cyB1cGRhdGU6Y2xpZW50cyBkZWxldGU6Y2xpZW50cyBjcmVhdGU6Y2xpZW50cyByZWFkOmNsaWVudF9rZXlzIHVwZGF0ZTpjbGllbnRfa2V5cyBkZWxldGU6Y2xpZW50X2tleXMgY3JlYXRlOmNsaWVudF9rZXlzIHJlYWQ6Y29ubmVjdGlvbnMgdXBkYXRlOmNvbm5lY3Rpb25zIGRlbGV0ZTpjb25uZWN0aW9ucyBjcmVhdGU6Y29ubmVjdGlvbnMgcmVhZDpyZXNvdXJjZV9zZXJ2ZXJzIHVwZGF0ZTpyZXNvdXJjZV9zZXJ2ZXJzIGRlbGV0ZTpyZXNvdXJjZV9zZXJ2ZXJzIGNyZWF0ZTpyZXNvdXJjZV9zZXJ2ZXJzIHJlYWQ6ZGV2aWNlX2NyZWRlbnRpYWxzIHVwZGF0ZTpkZXZpY2VfY3JlZGVudGlhbHMgZGVsZXRlOmRldmljZV9jcmVkZW50aWFscyBjcmVhdGU6ZGV2aWNlX2NyZWRlbnRpYWxzIHJlYWQ6cnVsZXMgdXBkYXRlOnJ1bGVzIGRlbGV0ZTpydWxlcyBjcmVhdGU6cnVsZXMgcmVhZDpydWxlc19jb25maWdzIHVwZGF0ZTpydWxlc19jb25maWdzIGRlbGV0ZTpydWxlc19jb25maWdzIHJlYWQ6aG9va3MgdXBkYXRlOmhvb2tzIGRlbGV0ZTpob29rcyBjcmVhdGU6aG9va3MgcmVhZDplbWFpbF9wcm92aWRlciB1cGRhdGU6ZW1haWxfcHJvdmlkZXIgZGVsZXRlOmVtYWlsX3Byb3ZpZGVyIGNyZWF0ZTplbWFpbF9wcm92aWRlciBibGFja2xpc3Q6dG9rZW5zIHJlYWQ6c3RhdHMgcmVhZDp0ZW5hbnRfc2V0dGluZ3MgdXBkYXRlOnRlbmFudF9zZXR0aW5ncyByZWFkOmxvZ3MgcmVhZDpzaGllbGRzIGNyZWF0ZTpzaGllbGRzIGRlbGV0ZTpzaGllbGRzIHJlYWQ6YW5vbWFseV9ibG9ja3MgZGVsZXRlOmFub21hbHlfYmxvY2tzIHVwZGF0ZTp0cmlnZ2VycyByZWFkOnRyaWdnZXJzIHJlYWQ6Z3JhbnRzIGRlbGV0ZTpncmFudHMgcmVhZDpndWFyZGlhbl9mYWN0b3JzIHVwZGF0ZTpndWFyZGlhbl9mYWN0b3JzIHJlYWQ6Z3VhcmRpYW5fZW5yb2xsbWVudHMgZGVsZXRlOmd1YXJkaWFuX2Vucm9sbG1lbnRzIGNyZWF0ZTpndWFyZGlhbl9lbnJvbGxtZW50X3RpY2tldHMgcmVhZDp1c2VyX2lkcF90b2tlbnMgY3JlYXRlOnBhc3N3b3Jkc19jaGVja2luZ19qb2IgZGVsZXRlOnBhc3N3b3Jkc19jaGVja2luZ19qb2IgcmVhZDpjdXN0b21fZG9tYWlucyBkZWxldGU6Y3VzdG9tX2RvbWFpbnMgY3JlYXRlOmN1c3RvbV9kb21haW5zIHJlYWQ6ZW1haWxfdGVtcGxhdGVzIGNyZWF0ZTplbWFpbF90ZW1wbGF0ZXMgdXBkYXRlOmVtYWlsX3RlbXBsYXRlcyByZWFkOm1mYV9wb2xpY2llcyB1cGRhdGU6bWZhX3BvbGljaWVzIHJlYWQ6cm9sZXMgY3JlYXRlOnJvbGVzIGRlbGV0ZTpyb2xlcyB1cGRhdGU6cm9sZXMgcmVhZDpwcm9tcHRzIHVwZGF0ZTpwcm9tcHRzIHJlYWQ6YnJhbmRpbmcgdXBkYXRlOmJyYW5kaW5nIHJlYWQ6bG9nX3N0cmVhbXMgY3JlYXRlOmxvZ19zdHJlYW1zIGRlbGV0ZTpsb2dfc3RyZWFtcyB1cGRhdGU6bG9nX3N0cmVhbXMiLCJndHkiOiJjbGllbnQtY3JlZGVudGlhbHMiLCJhenAiOiJtOU5LRzd5YkJWRGtOOG9ER245MWdGWkRBWFhWamFuYSJ9.SVY4WmXrmm4fJxF82ZYylURqmbI2r08uPEwOmBSfCudg1Oh-9jkeIVG4GKSCObpsNJYH5Kh2GqiM6AcTfa1lF13yiRS9O4F2gc7rr77RIWJUhf_6X5rbvAtiD61JxpugDjGGqAPHsEhG5f68wvwARsCNbvqii5NS8EHwZnrSF1PO6jzz4FRJMlhOCzZ9IPQTLCuYrTMEkFOKWawPdfNQbDF-0X9J9RbQTnyhzW29XFOPE938c8Gpv3ylSQDA2e4g1HPbvb0jGwGbX1FKe3Qzxl2JwZlHeKMgND1VxcB9gqTaGJKu6mOhe9qXfYymfLvVk2hQMH6pylxEBb8LuAIKhw';\nclass Profile extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n edit: false,\n newNickname: '',\n newEmail: '',\n newLanguage: '',\n tempToken: '',\n newAccount_type_detail: '',\n loading: false,\n userInfo: {}\n }\n }\n\n strings = new LocalizedStrings({\n en:{\n header:\"Your Profile\",\n id:\"ID\",\n name:\"Name\",\n email:\"Email\",\n email_verified:\"Email Verified\",\n email_verified_yes:\"YES\",\n email_verified_no:\"NO\",\n role:\"Role\",\n ever_login: \"Ever login\",\n language: \"Language\",\n account_type: \"Account Type\",\n deviceId: \"Device ID\",\n token: \"TOKEN\",\n expires: \"EXPIRES\",\n edit_button: 'Edit',\n delete_button: 'Delete Account',\n save_button: 'Save',\n cancel_button: 'Cancel',\n notifySuccess: \"Success! User info is received.\",\n notifyProfileUpdate: \"Success! Your Profile is updated.\",\n notifyError: \"Something went wrong!\",\n },\n bg: {\n header:\"Вашият профил\",\n id:\"Идентификационен номер\",\n name:\"Име\",\n email:\"Имейл\",\n email_verified:\"Потвърден имейл\",\n email_verified_yes:\"ДА\",\n email_verified_no:\"НЕ\",\n role:\"Роля\",\n ever_login: \"Предишно влизане\",\n language: \"Език\",\n account_type: \"Тип на акаунта\",\n deviceId: \"Иден. номер на устройство\",\n token: \"ТОКЕН\",\n expires: \"ВАЛИДЕН ДО\",\n edit_button: 'Промяна',\n delete_button: 'Изтриване на акаунта',\n save_button: 'Запазване',\n cancel_button: 'Отказ',\n notifySuccess: \"Успешно! Информацията за потребителя е получена.\",\n notifyProfileUpdate: \"Успешно! Профила е променен.\",\n notifyError: \"Нещо се обърка!\",\n }\n });\n\n async getTempToken() {\n await axios.post('https://fc-demo.eu.auth0.com/oauth/token', {\n \"grant_type\": \"client_credentials\",\n \"client_id\": \"m9NKG7ybBVDkN8oDGn91gFZDAXXVjana\",\n \"client_secret\": \"LFTgAp7Zh7NfJNIy6rSoiTYGPbZXZeoiYy0M0M7srhe0KUvjbzI89HnFliFc_59f\",\n \"audience\": \"https://fc-demo.eu.auth0.com/api/v2/\",\n })\n .then(response => (this.setState({tempToken: response.data.access_token}), console.log('token: ', response.data.access_token)))\n .catch(err => {\n console.log(err);\n this.notifyError();\n });\n }\n\n async getUserInfo(deviceid, token) {\n await axios.get(\"https://demo.epay.bg/xdev/api/user/info\", {\n params: {\n APPID: '2123128777047314469988321512492541281777074012414332339158786136',\n DEVICEID: '9i9q49QJJw6YG19MPjlDPBNyU0KaDH',\n TOKEN: '35319729688471428012946277912838',\n PINS: 1 //If you want information about the Payment Instruments\n }\n })\n .then(res => (this.setState({ userInfo: res.data }), this.notifySuccess(), console.log('res.data: ',res.data)))\n .catch(err => {\n console.log(err);\n this.notifyError();\n });\n }\n\n async updateUserInfo(userid, token) {\n console.log('tempToken: ',this.state.tempToken)\n await axios.patch(`https://fc-demo.eu.auth0.com/api/v2/users/${userid}`, {\n headers: {\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*',\n 'Authorization': \"Bearer \" + token,\n },\n \"app_metadata\": {\n \"status\": \"OK\"\n },\n })\n .then(this.setState({ edit: false, loading: false }))\n .then(res => res.status === 200 ? this.notifyProfileUpdate() : null)\n .catch(err => {\n console.log(err);\n this.notifyError();\n });\n }\n\n async updateUserInfo2(userid, token) {\n this.setState({ loading: true })\n console.log('tempToken: ',this.state.tempToken)\n await fetch(`https://fc-demo.eu.auth0.com/api/v2/users/${userid}`, {\n method: 'PATCH',\n headers: {\n 'Authorization': \"Bearer \" + token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n nickname: this.state.newNickname,\n email: this.state.newEmail,\n user_metadata: {\n language: this.state.newLanguage\n }\n })\n })\n .then(res => res.status === 200 ? this.notifyProfileUpdate() : this.notifyError())\n .then(this.setState({ edit: false, loading: false }))\n .catch(err => {\n console.log(err);\n this.notifyError();\n });\n }\n\n notifySuccess = () => toast.success(this.strings.notifySuccess)\n notifyProfileUpdate = () => toast.info(this.strings.notifyProfileUpdate)\n notifyError = () => toast.error(this.strings.notifyError)\n\n _setLanguage = (lang) => {\n //console.log(lang)\n this.strings.setLanguage(lang)\n }\n\n render() {\n const { loading, userInfo } = this.state;\n return (\n
\n {this._setLanguage(this.props.user[\"https://fc-demo/language\"])}\n \n \n \n \n \n \n
{this.strings.header}
\n
\n \n \n \n \"profile\"\n \n \n {this.state.edit ? \n (\n \n \n \n this.setState({ newNickname: e.target.value })} />} />\n this.setState({ newEmail: e.target.value })} />} />\n \n \n this.setState({ newLanguage: e.target.value })} />} />\n this.setState({ newAccount_type_detail: e.target.value })} />} />\n \n \n \n \n \n \n

THE CHANGES WILL APPEAR ON THE NEXT LOGIN

\n
\n )\n : (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n
\n
\n
\n \n {/*
\n

User EpayBG data:

\n \n
*/}\n
\n
\n
\n )}\n \n}\n\nexport default Profile;\n","import React from 'react';\r\nimport { useAuth0 } from \"../../react-auth0-spa\";\r\nimport { ToastContainer } from 'react-toastify';\r\nimport LocalizedStrings from 'react-localization';\r\nimport { Tab } from 'semantic-ui-react';\r\nimport PaymentProvidersProfile from './PaymentProvidersProfile';\r\nimport Profile from './Profile';\r\nimport { css } from \"emotion\";\r\nimport AuthFlow from '../AuthFlow';\r\n\r\nconst ProfileTabs = () => {\r\n const { user } = useAuth0();\r\n const ui = css`\r\n .menu {\r\n display: flex;\r\n justify-content: center;\r\n\r\n .active{\r\n color: #129490 !important;\r\n }\r\n }\r\n `;\r\n\r\n const strings = new LocalizedStrings({\r\n en:{\r\n menuItem_your_profile:\"Your Profile\",\r\n menuItem_payment_prov:\"Payment Providers\",\r\n menuItem_sell_food:\"Sell Food\"\r\n },\r\n bg: {\r\n menuItem_your_profile:\"Вашият профил\",\r\n menuItem_payment_prov:\"Платежни инструменти\",\r\n menuItem_sell_food:\"Продавай храна\"\r\n }\r\n });\r\n\r\n const _setLanguage = () => {\r\n //console.log(lang)\r\n strings.setLanguage(user[\"https://fc-demo/language\"])\r\n }\r\n\r\n _setLanguage();\r\n\r\n const panes = [\r\n { menuItem: strings.menuItem_your_profile, render: () => },\r\n { menuItem: strings.menuItem_payment_prov, render: () => },\r\n { menuItem: strings.menuItem_sell_food, render: () => },\r\n ]\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default ProfileTabs\r\n","import React, { Component } from 'react';\r\nimport axios from 'axios';\r\nimport LocalizedStrings from 'react-localization';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport * as moment from \"moment\";\r\nimport { Icon, Label, Button, Header, Dimmer, Loader, Item, Segment, Grid, Statistic, Image, List} from 'semantic-ui-react';\r\nimport product from \"../images/dashboard/barcode.svg\";\r\nimport sleeping from \"../images/empty/sleeping.png\";\r\nimport \"./styles.css\";\r\n\r\nclass OrdersNew extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n orders: [],\r\n loading: true,\r\n loadingOrders: true,\r\n opened: false\r\n };\r\n }\r\n\r\n strings = new LocalizedStrings({\r\n en:{\r\n header: \"Purchases\",\r\n header_desc: \"These are your purchases.\",\r\n ord_box: \"Purchases\",\r\n no_ord: \"You have no purchases!\",\r\n ord_det: \"Purchase details:\",\r\n ord_item: \"item\",\r\n ord_itemid: \"item_id\",\r\n ord_qty: \"Quantity:\",\r\n ord_id: \"Purchase ID:\",\r\n ord_created: \"Created by:\",\r\n ord_purchased: \"Purchased by\",\r\n ord_date: \"Date:\",\r\n show: \"Show\",\r\n hide: \"Hide\",\r\n notifyError: \"Something went wrong!\"\r\n },\r\n bg: {\r\n header: \"Покупки\",\r\n header_desc: \"Това табло показва твоите покупки.\",\r\n ord_box: \"Покупки\",\r\n no_ord: \"Нямате покупки!\",\r\n ord_det: \"Детайли за покупката:\",\r\n ord_item: \"Продукт\",\r\n ord_itemid: \"Продукт Ид.Н.\",\r\n ord_qty: \"Количество:\",\r\n ord_id: \"Покупка Ид.Н.:\",\r\n ord_created: \"Създадена от:\",\r\n ord_purchased: \"Покупка от\",\r\n ord_date: \"Дата:\",\r\n show: \"Покажи\",\r\n hide: \"Скрий\",\r\n notifyError: \"Нещо се обърка!\"\r\n }\r\n });\r\n\r\n _setLanguage = (lang) => {\r\n //console.log(lang)\r\n this.strings.setLanguage(lang)\r\n }\r\n\r\n getOrdersByToken = (userid) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n if (this.state.loadingOrders) {\r\n axios.get(`https://api.dontwaste.me/orders/purchases/accounts/${id}`, {\r\n })\r\n .then(res => { this.setState({ orders: res.data.orders, loadingOrders: false, loading: false }) })\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n });\r\n }\r\n }\r\n\r\n calculatePickUpTime(timestamp) {\r\n //const divided = timestamp / 1000000;\r\n //var date = moment.unix(divided).format()\r\n var date = moment.unix(timestamp).format(\"dddd, MMMM Do YYYY, h:mm:ss a\");\r\n //const date = new Date(timestamp/1000).toString()\r\n return date;\r\n }\r\n\r\n openExtra = () => {\r\n this.setState({opened: !this.state.opened})\r\n }\r\n\r\n notifyError = () => toast.error(this.strings.notifyError);\r\n\r\n render() {\r\n const { orders, loading, opened } = this.state;\r\n return (\r\n
\r\n {this._setLanguage(this.props.user[\"https://fc-demo/language\"])}\r\n \r\n \r\n \r\n Loading\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {this.strings.header}\r\n \r\n {this.strings.header_desc}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.state.loading ?\r\n \r\n :\r\n {this.state.orders.length}\r\n }\r\n {this.strings.ord_box}\r\n \r\n \r\n \r\n \r\n \r\n \r\n { orders.length <= 0 ?\r\n ( <>\r\n \r\n
{this.strings.no_ord}
\r\n )\r\n :\r\n \r\n {\r\n Object.values(orders).map(\r\n (order, i) => (\r\n \r\n {loading ? (\r\n \r\n Header\r\n Description\r\n \r\n \r\n \r\n Additional Details\r\n \r\n )\r\n :(\r\n \r\n {this.strings.ord_id} {order._id}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.strings.created} {order.account_id}\r\n \r\n \r\n {this.strings.ord_id} {order.vendor_id}\r\n \r\n \r\n {this.strings.ord_date} {this.calculatePickUpTime(order.created)}\r\n \r\n \r\n Address Line 1 \r\n \r\n \r\n Address Line 2 \r\n \r\n \r\n \r\n \r\n \r\n
{this.strings.ord_det}
\r\n {\r\n order.inventories.map(\r\n (item, i) => (\r\n \r\n {this.strings.ord_item} {i+1}\r\n \r\n \r\n {this.strings.ord_itemid} {item.inventory_id}\r\n \r\n \r\n \r\n {this.strings.ord_qty} {item.quantity} \r\n \r\n \r\n )\r\n )\r\n }\r\n
\r\n
\r\n
\r\n {!opened ? null :\r\n ( \r\n \r\n \r\n \r\n {order.total_amount}\r\n \r\n \r\n \r\n {order.user_notes}\r\n \r\n \r\n \r\n {order.user_contacts} \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n
\r\n )\r\n )\r\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 OrdersNew","import React, { Component } from 'react';\r\nimport axios from 'axios';\r\nimport LocalizedStrings from 'react-localization';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.min.css';\r\nimport { Icon, Button, Modal, Segment, Header, Form, Dimmer, Loader, Card, List, Image, Divider, TextArea, Dropdown, Input, Item, Grid, Statistic } from 'semantic-ui-react'\r\n//import Autocomplete from 'react-google-autocomplete';\r\nimport Geocode from 'react-geocode';\r\nimport CustomUploadButton from 'react-firebase-file-uploader/lib/CustomUploadButton';\r\nimport firebase from \"firebase\";\r\nimport \"../../../src/firebaseConfig.js\";\r\nimport \"./styles.css\"\r\nimport product from \"../images/dashboard/barcode.svg\"\r\nimport heart from \"../images/dashboard/heart.svg\"\r\nimport no_products from \"../images/empty/no_products.png\"\r\nconst unitsDropDown = [\r\n { key: 'gr', text: 'gr', value: 'gr' },\r\n { key: 'kg', text: 'kg', value: 'kg' },\r\n { key: 'l', text: 'liter', value: 'liter' },\r\n { key: 'ml', text: 'ml', value: 'ml' },\r\n]\r\nconst unitsDropDownBG = [\r\n { key: 'gr', text: 'гр', value: 'gr' },\r\n { key: 'kg', text: 'кг', value: 'kg' },\r\n { key: 'l', text: 'литър', value: 'liter' },\r\n { key: 'ml', text: 'милилитър', value: 'ml' },\r\n]\r\nconst MAX_SIZE = 1e6;\r\nconst allergens = [\r\n { key: 'gluten', text: 'Gluten', value: 'Gluten' },\r\n { key: 'crustaceans', text: 'Crustaceans', value: 'Crustaceans' },\r\n { key: 'eggs', text: 'Eggs', value: 'Eggs' },\r\n { key: 'fish', text: 'Fish', value: 'Fish' },\r\n { key: 'peanuts', text: 'Peanuts', value: 'Peanuts' },\r\n { key: 'soya', text: 'Soya', value: 'Soya' },\r\n { key: 'milk', text: 'Milk', value: 'Milk' },\r\n { key: 'nuts', text: 'Nuts', value: 'Nuts' },\r\n { key: 'celery', text: 'Celery', value: 'Celery' },\r\n { key: 'mustard', text: 'Mustard', value: 'Mustard' },\r\n { key: 'sesame', text: 'Sesame', value: 'Sesame' },\r\n { key: 'sulphites', text: 'Sulphites', value: 'Sulphites' },\r\n { key: 'lupin', text: 'Lupin', value: 'Lupin' },\r\n { key: 'molluscs', text: 'Molluscs', value: 'Molluscs' }\r\n]\r\nconst allergensBG = [\r\n { key: 'gluten', text: 'Глутен', value: 'Глутен' },\r\n { key: 'crustaceans', text: 'Ракообразни', value: 'Ракообразни' },\r\n { key: 'eggs', text: 'Яйца', value: 'Яйца' },\r\n { key: 'fish', text: 'Риба', value: 'Риба' },\r\n { key: 'peanuts', text: 'Фъстъци', value: 'Фъстъци' },\r\n { key: 'soya', text: 'Соя', value: 'Соя' },\r\n { key: 'milk', text: 'Мляко', value: 'Мляко' },\r\n { key: 'nuts', text: 'Ядки', value: 'Ядки' },\r\n { key: 'celery', text: 'Целина', value: 'Целина' },\r\n { key: 'mustard', text: 'Горчица', value: 'Горчица' },\r\n { key: 'sesame', text: 'Сусам', value: 'Сусам' },\r\n { key: 'sulphites', text: 'Сулфити', value: 'Сулфити' },\r\n { key: 'lupin', text: 'Лупин', value: 'Лупин' },\r\n { key: 'molluscs', text: 'Мекотели', value: 'Мекотели' }\r\n]\r\nexport default class ProductBasedOnStores extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n products: [],\r\n open: false,\r\n open1: false,\r\n intervalIsSet: false,\r\n loading: true,\r\n selectedProductId: [],\r\n openActionDelete: false,\r\n newProductName: '',\r\n newProductDesc: '',\r\n newProductAller: [],\r\n newProductIngredients: '',\r\n newProductAgreeTerms: false,\r\n newProductCal: '0',\r\n newProductCarb: '0',\r\n newProductFat: '0',\r\n newProductProt: '0',\r\n newProductSavedWater: '2',\r\n newProductSavedCO2: '50',\r\n editProductId: '',\r\n editProductName: '',\r\n newProductUnitsValue: '',\r\n newProductUnitsType: 'гр',\r\n newProductImageURL: 'https://firebasestorage.googleapis.com/v0/b/foodchainapp-1531482755524.appspot.com/o/default%2Ffood_bag.svg?alt=media&token=7d5a0451-c8c7-418c-94bd-f90f41eab67d',\r\n newProductImageName:'default',\r\n newProductEco: '',\r\n newProductDescription: '',\r\n productTypeSelected: 'none'\r\n };\r\n this.deleteProduct = this.deleteProduct.bind(this);\r\n }\r\n\r\n strings = new LocalizedStrings({\r\n en:{\r\n header: \"Products\",\r\n header_desc: \"This section contains all of your company's products. Think of it as a database where you can store all of the data for your products and when any of these products are about to expire you can quickly sell it at a reduced price by adding it to your 'Inventory'. Products are shared across all of your stores so that you don't have to list the same product many times.\",\r\n products_box: \"Products\",\r\n rating_box: \"Rating\",\r\n no_products: \"You have no products yet!\",\r\n product_row: \"\",\r\n button_edit: \"Edit\",\r\n button_delete: \"Delete\",\r\n product_row_header: \"\",\r\n product_row_desc:\"\",\r\n product_row_details:\"Product details\",\r\n product_row_weight:\"\",\r\n product_row_location: \"\",\r\n product_row_allergens: \"\",\r\n button_add_product: \"Add Product\",\r\n add_new_header: \"Add new Product\",\r\n add_new_product_type: \"What type of product would you like to add?\",\r\n add_new_surprise_box_header: \"Surprise Box\",\r\n add_new_surprise_box_desc: \"FoodChain surprise boxex are...\",\r\n add_new_custom_box_header: \"Custom product\",\r\n add_new_custom_box_desc: \"You can add anything you want as a custom product\",\r\n add_new_edit: \"Edit product\",\r\n add_new_upload_image: \"Upload image for your product.\",\r\n add_new_image: \"Add Image\",\r\n add_new_update: \"Update product\",\r\n add_new_are_you: \"Are you ready to update the product?\",\r\n add_new_yes: \"yes\",\r\n add_new_no: \"no\",\r\n add_new_def_image: \"Use our default image\",\r\n add_new_or: \"OR\",\r\n add_new_own: \"Upload your own\",\r\n surprise_box_label: \"Product name\",\r\n surprise_box_label_placeholder: \"Name\",\r\n surprise_box_placeholder: \"Surprise Box\",\r\n desc_short: \"Short description\",\r\n desc_form_placeholder: \"This description will be shown to clients on our platform. Introduce your business in a couple of sentences and make it stand out!\",\r\n allergens_label: \"Allergens\",\r\n allergend_placeholder: \"Allergens...\",\r\n terms: \"I agree to the Terms and Conditions\",\r\n weight: \"Select the weight of your product\",\r\n notifyProductCreated: \"Success! Your Product is created.\",\r\n notifyProductUpdate: \"Success! Your Product is updated.\",\r\n notifyProductDeleted: \"Product DELETED!\",\r\n notifyError: \"Something went wrong!\",\r\n food_info_label: \"Food information\",\r\n food_info_cal: \"Calories\",\r\n food_info_carb: \"Carbohydrates\",\r\n food_info_fat: \"Fat\",\r\n food_info_prot: \"Proteins\",\r\n food_eco_save_water: \"Water saved\",\r\n food_eco_save_co2: \"CO2 saved\",\r\n unit_kcal: 'kcal',\r\n unit_gr: 'gr',\r\n unit_liter: 'l',\r\n placeholder_cal: 'Calories',\r\n placeholder_carb: 'Carbohydrates',\r\n placeholder_fat: 'Fars',\r\n placeholder_prot: 'Proteins'\r\n },\r\n bg: {\r\n header: \"Продукти\",\r\n header_desc: \"На този екран виждате вашите продукти. Това е вашата база данни, където можете да съхранявате вашата информация и когато някой продукт е с изтичащ срок на годност, вие можете бързо да намалите неговата цена, като го добавите във вашия 'Инвентар'. Продукти за общи за всички ваши обекти, така че няма нужда да създавате еднакъв продукт от различни ресторанти.\",\r\n products_box: \"Продукти\",\r\n rating_box: \"Рейтинг\",\r\n no_products: \"Нямате продукти!\",\r\n product_row: \"\",\r\n button_edit: \"Промени\",\r\n button_delete: \"Изтрий\",\r\n product_row_header: \"\",\r\n product_row_desc:\"\",\r\n product_row_details:\"Детайли на продукта\",\r\n product_row_weight:\"\",\r\n product_row_location: \"\",\r\n product_row_allergens: \"\",\r\n button_add_product: \"Добави продукт\",\r\n add_new_header: \"Добави нов продукт\",\r\n add_new_product_type: \"Какъв тип продукт искате да добавите?\",\r\n add_new_surprise_box_header: \"Кутия с изненади\",\r\n add_new_surprise_box_desc: \"FoodChain кутийте с изненади са...\",\r\n add_new_custom_box_header: \"Определен продукт\",\r\n add_new_custom_box_desc: \"Можете да добвите всякакъв продукт\",\r\n add_new_edit: \"Промени продукт\",\r\n add_new_upload_image: \"Качете снимка на продукта.\",\r\n add_new_image: \"Добави снимка\",\r\n add_new_update: \"Промени продукта\",\r\n add_new_are_you: \"Сигурни ли сте, че искате да промените продукта?\",\r\n add_new_yes: \"да\",\r\n add_new_no: \"не\",\r\n add_new_def_image: \"Използвайте нашата базова снимка\",\r\n add_new_or: \"ИЛИ\",\r\n add_new_own: \"Качете ваша снимка\",\r\n surprise_box_label: \"Име на продукта\",\r\n surprise_box_label_placeholder: \"Име\",\r\n surprise_box_placeholder: \"Кутия с изненади\",\r\n desc_short: \"Кратко описание\",\r\n desc_form_placeholder: \"Това описание ще виждат вашите клиенти. Опишете добре продукта си!\",\r\n allergens_label: \"Алергени\",\r\n allergend_placeholder: \"Алергени...\",\r\n terms: \"Съгласен съм с условията на ползване.\",\r\n weight: \"Изберете тегло на продукта\",\r\n notifyProductCreated: \"Успешно! Вашият продукт е създаден.\",\r\n notifyProductUpdate: \"Успешно! Продукта е променен.\",\r\n notifyProductDeleted: \"Продукта е изтрит!\",\r\n notifyError: \"Нещо се обърка!\",\r\n food_info_label: \"Хранителна информация\",\r\n food_info_cal: \"Калорий\",\r\n food_info_carb: \"Въглехидрати\",\r\n food_info_fat: \"Мазнини\",\r\n food_info_prot: \"Протеини\",\r\n food_eco_save_water: \"Спестена вода\",\r\n food_eco_save_co2: \"Намалено CO2\",\r\n unit_kcal: 'кал',\r\n unit_gr: 'гр',\r\n unit_liter: 'л',\r\n placeholder_cal: 'Количество калорий',\r\n placeholder_carb: 'Количество въглехидрати',\r\n placeholder_fat: 'Количество мазнини',\r\n placeholder_prot: 'Количество протеини'\r\n }\r\n });\r\n\r\n _setLanguage = (lang) => {\r\n //console.log(lang)\r\n this.strings.setLanguage(lang)\r\n }\r\n\r\n handleUploadStart = () => this.setState({ isUploading: true, progress: 0 });\r\n handleProgress = progress => this.setState({ progress });\r\n handleUploadError = error => {\r\n this.setState({ isUploading: false });\r\n console.error(error);\r\n };\r\n handleUploadSuccess = filename => {\r\n this.setState({ newProductImageName: filename, progress: 100, isUploading: false });\r\n firebase\r\n .storage()\r\n .ref(\"images\")\r\n .child(filename)\r\n .getDownloadURL()\r\n .then(url => this.setState({ newProductImageURL: url }));\r\n };\r\n chooseBox = () => {\r\n this.setState({productTypeSelected: 'box', newProductUnitsType: 'box', newProductUnitsValue: 1})\r\n }\r\n chooseCustom = () => {\r\n this.setState({productTypeSelected: 'custom'})\r\n }\r\n /* getProductsDataFromDb = () => {\r\n fetch(\"https://api.dontwaste.me/products/\")\r\n .then(res => res.json())\r\n .then(res => this.setState({ products: res.products, loading: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n });\r\n }; */\r\n\r\n getProductsDataFromDbByAccountId = (userid) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n //console.log('id', id)\r\n if (this.state.loading) {\r\n fetch(`https://api.dontwaste.me/products/accounts/${id}`)\r\n .then(res => res.json())\r\n .then(res => this.setState({ products: res.products, loading: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n });\r\n }\r\n };\r\n\r\n getProductsData = () => {\r\n //console.log('id', id)\r\n if (this.state.loading) {\r\n fetch(`https://api.dontwaste.me/products/`)\r\n .then(res => res.json())\r\n .then(res => this.setState({ products: res.products, loading: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n });\r\n }\r\n };\r\n\r\n async saveProductToDB(account_id, name, description, allergens, ingredients, units, units_value, calories, carbo, fats, proteins) {\r\n console.log('account_id: ', account_id)\r\n console.log('name: ', name)\r\n console.log('description: ', description)\r\n console.log('allergens: ', allergens)\r\n console.log('ingredients: ', ingredients)\r\n console.log('units: ', units)\r\n console.log('units_value: ', units_value)\r\n console.log('calories: ', calories)\r\n console.log('carbo: ', carbo)\r\n console.log('fats: ', fats)\r\n console.log('proteins: ', proteins)\r\n const findPipe = account_id.indexOf(\"|\");\r\n const id = account_id.substr(findPipe+1);\r\n this.setState({ open: false });\r\n this.setState({ newProductAgreeTerms: false });\r\n await axios.post(\"https://api.dontwaste.me/products/\", {\r\n account_id: id,\r\n name: name,\r\n image: this.state.newProductImageURL,\r\n allergens: allergens,\r\n description: description,\r\n eco: `${this.strings.food_eco_save_water} ${this.state.newProductSavedWater} ${this.strings.unit_liter} | ${this.strings.food_eco_save_co2} ${this.state.newProductSavedCO2} ${this.strings.unit_gr}`,\r\n ingredients: {\r\n 'Калорий': `${calories} ${this.strings.unit_kcal}`,\r\n 'Въглехидрати': `${carbo} ${this.strings.unit_gr}`,\r\n 'Мазнини': `${fats} ${this.strings.unit_gr}`,\r\n 'Протеини': `${proteins} ${this.strings.unit_gr}`\r\n },\r\n weight: {\r\n units: units_value,\r\n value: units\r\n }\r\n },\r\n {\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n }\r\n }\r\n )\r\n .then(res => res.status === 201 ? this.notifyProductCreated() : null)\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n\r\n this.setState({ loading: true,\r\n newProductName: '',\r\n newProductAller: [],\r\n newProductIngredients: '',\r\n newProductAgreeTerms: false, \r\n newProductUnitsValue: '',\r\n newProductUnitsType: '',\r\n newProductImageURL: 'https://firebasestorage.googleapis.com/v0/b/foodchainapp-1531482755524.appspot.com/o/default%2Ffood_bag.svg?alt=media&token=7d5a0451-c8c7-418c-94bd-f90f41eab67d',\r\n newProductImageName:'default',\r\n newProductEco: 'Eco 1, Eco 2',\r\n newProductDescription: '' });\r\n };\r\n\r\n async deleteProduct(productid) {\r\n //this.setState({ openActionDelete: false });\r\n //console.log(productid)\r\n await axios.delete(`https://api.dontwaste.me/products/${productid}`)\r\n .then(res => res.status === 204 ? this.notifyProductDeleted() : null)\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n this.setState({ loading: true });\r\n }\r\n\r\n async editProduct(name, ingredients, allergens, units) {\r\n console.log(this.state.editProductId)\r\n this.setState({ open: false, open1: false })\r\n await axios.put(`https://api.dontwaste.me/products/${this.state.editProductId}`, {\r\n name: name,\r\n allergens: allergens,\r\n ingredients: ingredients,\r\n units: units\r\n })\r\n .then(res => res.status === 200 ? this.notifyProductUpdate() : null)\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n this.setState({ loading: true });\r\n }\r\n\r\n closeConfigShow = (closeOnEscape, closeOnDimmerClick) => () => {\r\n this.setState({ closeOnEscape, closeOnDimmerClick, open: true })\r\n this.setState({productTypeSelected:'none'})\r\n }\r\n\r\n closeConfigShow1 = (closeOnEscape1, closeOnDimmerClick1, id, name, ingredients, allergens, units) => () => {\r\n console.log(id)\r\n this.setState({ closeOnEscape1, closeOnDimmerClick1, editProductId: id, editProductName: name, newProductIngredients: ingredients, newProductAller: allergens, newProductUnits: units, open1: true })\r\n }\r\n\r\n closeConfigShowActionDelete = (dimmer) => () => {\r\n this.setState({ dimmer, openActionDelete: true })\r\n }\r\n\r\n handleChangeCheckBox = e => this.setState(({ newProductAgreeTerms }) => ({ newProductAgreeTerms: !newProductAgreeTerms }))\r\n\r\n handleAllergensChange = (e, { value }) => this.setState({ newProductAller: value }, console.log('allergens', this.state.newProductAller))\r\n\r\n handleChange = (e, { value }) => this.setState({ newProductUnits: value })\r\n show = dimmer => () => this.setState({ dimmer, open: true })\r\n close = () => this.setState({ open: false, open1: false })\r\n closeActionDelete = () => this.setState({ openActionDelete: false })\r\n\r\n disableItem = (productId) => {\r\n this.setState({ selectedProductId: this.state.selectedProductId.concat(productId) })\r\n console.log(this.state.selectedProductId)\r\n console.log(typeof (this.state.selectedProductId))\r\n };\r\n handleFormChange = (e, { value }) => this.setState({ newProductDesc: value })\r\n\r\n convertProductToGeoCode = (product1) => {\r\n this.setState({ productAddressByGoogle: product1 });\r\n console.log(this.state.productAddressByGoogle);\r\n Geocode.setApiKey('AIzaSyDfeHv6QM9PqtzE_MM5O_X81ZUjwU_jR0Q');\r\n Geocode.enableDebug();\r\n Geocode.fromAddress(product1.formatted_address).then(\r\n response => {\r\n const { lat, lng } = response.results[0].geometry.location;\r\n this.setState({ productLat: lat, productLng: lng })\r\n //console.log(lat, lng);\r\n //console.log('state.lat= ', this.state.placeLat)\r\n //console.log('state.lng= ', this.state.placeLng)\r\n },\r\n error => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\nMapAllergens = (allergens) => {\r\n const lenAllergen= allergens.length;\r\n return (\r\n Object.values(allergens).map((allergen, i, ) => \r\n (lenAllergen === (i+1) ? allergen : allergen + \", \" )\r\n )\r\n )\r\n}\r\n\r\nnotifyProductCreated = () => toast.success(this.strings.notifyProductCreated);\r\nnotifyProductUpdate = () => toast.info(this.strings.notifyProductUpdate);\r\nnotifyProductDeleted = () => toast.warn(this.strings.notifyProductDeleted);\r\nnotifyError = () => toast.error(this.strings.notifyError);\r\n\r\n render() {\r\n const {\r\n products,\r\n open,\r\n closeOnEscape,\r\n closeOnDimmerClick,\r\n loading,\r\n closeOnEscape1,\r\n closeOnDimmerClick1,\r\n open1\r\n } = this.state;\r\n const {\r\n newProductName,\r\n productTypeSelected,\r\n newProductImageURL,\r\n newProductImageName,\r\n newProductDescription,\r\n newProductAller,\r\n newProductCal,\r\n newProductCarb,\r\n newProductFat,\r\n newProductProt,\r\n newProductSavedWater,\r\n newProductSavedCO2\r\n } = this.state;\r\n return (\r\n
\r\n {this._setLanguage(this.props.user[\"https://fc-demo/language\"])}\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {this.strings.header} \r\n \r\n {this.strings.header_desc} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.state.loading ?\r\n \r\n :\r\n {this.state.products.length}\r\n }\r\n {this.strings.products_box}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {\r\n this.state.loading ?\r\n \r\n :\r\n 4.8\r\n }\r\n {this.strings.rating_box}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {products.length <= 0\r\n ? \r\n ( <>\r\n \r\n
{this.strings.no_products}
\r\n \r\n )\r\n :\r\n Object.values(products).map(\r\n (product, i) => (\r\n product.isMarkedForDeletion !== true ?\r\n\r\n \r\n {loading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {loading ? (\r\n \r\n Header\r\n Description\r\n \r\n \r\n \r\n Additional Details\r\n \r\n )\r\n :(\r\n \r\n {product.name}\r\n {/* {product.weight ? (Object.values(product.weight).map(row => row)) : null} */}\r\n \r\n \r\n {product.description ? product.description : this.strings.desc_form_placeholder}\r\n \r\n
{this.strings.product_row_details}
\r\n \r\n \r\n \r\n {product.weight ? (Object.values(product.weight).map(row => row)) : null}\r\n \r\n \r\n \r\n {\r\n Object.entries(product.ingredients).map(\r\n row => (\r\n {row[0]} - {row[1]}\r\n )\r\n )\r\n }\r\n {/* {product.ingredients} */}\r\n \r\n \r\n \r\n {this.MapAllergens(product.allergens)}\r\n \r\n \r\n \r\n {product.eco}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {this.strings.button_edit}}\r\n centered={false}\r\n open={open1}\r\n closeOnEscape={closeOnEscape1}\r\n closeOnDimmerClick={closeOnDimmerClick1}\r\n onClose={this.close}\r\n closeIcon\r\n >\r\n {this.strings.add_new_edit}\r\n \r\n \r\n
\r\n \r\n {this.strings.add_new_upload_image}\r\n
\r\n \r\n
\r\n \r\n
{this.strings.product_row_details}
\r\n
\r\n \r\n this.setState({ newProductName: e.target.value })} />\r\n this.setState({ newProductIngredients: e.target.value })} />\r\n this.setState({ newProductAller: e.target.value })} />\r\n this.setState({ newProductUnits: e.target.value })} />\r\n \r\n \r\n {this.strings.add_new_update}\r\n }\r\n basic\r\n size='small'\r\n closeOnEscape={false}\r\n closeOnDimmerClick={false}\r\n onClose={this.close}\r\n >\r\n
\r\n \r\n

\r\n {this.strings.add_new_are_you}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n \r\n : \r\n null\r\n )\r\n )\r\n }\r\n \r\n \r\n
\r\n \r\n
{this.strings.button_add_product}
\r\n
\r\n
\r\n \r\n }\r\n centered={false}\r\n open={open}\r\n closeOnEscape={closeOnEscape}\r\n closeOnDimmerClick={closeOnDimmerClick}\r\n onClose={this.close}\r\n closeIcon\r\n >\r\n {this.strings.add_new_header}\r\n { productTypeSelected === 'none' ?\r\n (\r\n
\r\n {this.strings.add_new_product_type}\r\n
\r\n \r\n \r\n {/**/}\r\n \r\n {this.strings.add_new_surprise_box_header}\r\n\r\n \r\n {this.strings.add_new_surprise_box_desc}\r\n \r\n \r\n \r\n \r\n {/**/}\r\n \r\n {this.strings.add_new_custom_box_header}\r\n\r\n \r\n {this.strings.add_new_custom_box_desc}\r\n \r\n \r\n \r\n \r\n
\r\n ) \r\n : productTypeSelected === \"box\" ?\r\n (\r\n \r\n \r\n { newProductImageName === \"default\" ?\r\n (<>\r\n \r\n

{this.strings.add_new_def_image}

\r\n \r\n )\r\n :\r\n (\r\n \r\n )\r\n }\r\n {this.strings.add_new_or}\r\n { if (file.size > MAX_SIZE) throw Error('File too large') }}\r\n onUploadStart={this.handleUploadStart}\r\n onUploadError={this.handleUploadError}\r\n onUploadSuccess={this.handleUploadSuccess}\r\n onProgress={this.handleProgress}\r\n metadata={{cacheControl: 'max-age=3600'}}\r\n >\r\n {this.strings.add_new_own}\r\n \r\n
\r\n \r\n
{this.strings.product_row_details}
\r\n
\r\n \r\n this.setState({ newProductName: e.target.value })} className= \"short_input\"/>\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ) \r\n :\r\n (\r\n \r\n \r\n \r\n { newProductImageName === \"default\" ?\r\n (<>\r\n \r\n

{this.strings.add_new_def_image}

\r\n \r\n )\r\n :\r\n (\r\n \r\n )\r\n }\r\n {this.strings.add_new_or}\r\n { if (file.size > MAX_SIZE) throw Error('File too large') }}\r\n onUploadStart={this.handleUploadStart}\r\n onUploadError={this.handleUploadError}\r\n onUploadSuccess={this.handleUploadSuccess}\r\n onProgress={this.handleProgress}\r\n metadata={{cacheControl: 'max-age=3600'}}\r\n >\r\n {this.strings.add_new_own}\r\n \r\n
\r\n \r\n
{this.strings.product_row_details}
\r\n
\r\n \r\n this.setState({ newProductName: e.target.value })} />\r\n this.setState({newProductUnitsType: e.target.value})} />}\r\n labelPosition='right'\r\n placeholder={this.strings.weight}\r\n onChange={e => this.setState({ newProductUnitsValue: e.target.value })}\r\n className=\"input_dropdown_label\"\r\n type=\"number\"\r\n />\r\n \r\n\r\n \r\n this.setState({ newProductCal: e.target.value })} />{this.strings.unit_kcal}\r\n this.setState({ newProductCarb: e.target.value })} />{this.strings.unit_gr}\r\n \r\n\r\n \r\n this.setState({ newProductFat: e.target.value })} />{this.strings.unit_gr}\r\n this.setState({ newProductProt: e.target.value })} />{this.strings.unit_gr}\r\n \r\n\r\n \r\n this.setState({ newProductSavedWater: e.target.value })} />{this.strings.unit_liter}\r\n this.setState({ newProductSavedCO2: e.target.value })} />{this.strings.unit_gr}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n \r\n \r\n \r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport axios from 'axios';\r\nimport { ReactReduxContext } from 'react-redux';\r\nimport { fetchProductsAfterUpdateItem } from \"../../reducers/productActions\";\r\nimport { Icon, Button, Modal, Segment, Header, Form, Card, List, Placeholder, Image, Divider, Loader } from 'semantic-ui-react';\r\nimport * as moment from 'moment';\r\nimport _, { replace } from \"lodash\";\r\nimport QRCode from 'qrcode';\r\nimport \"./styles.css\"\r\n\r\nexport default class ItemCard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state= {\r\n open1: false,\r\n open:false,\r\n newItemAgreeTerms: false,\r\n editItemId: '',\r\n newItemQyAv: 0,\r\n newItemRedPrice: 0,\r\n newItemExDate: '',\r\n currentProductLoading: false,\r\n currentProduct: [],\r\n currentPlace: [],\r\n currentPlaceLoading: false,\r\n fetch_needed: false,\r\n confirmDelete: false,\r\n confirmPrint: false,\r\n confirmQR: false,\r\n qr_code_state: '',\r\n qr_link: ''\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n console.log('item', this.props.item)\r\n console.log('item id', this.props.item.product_id)\r\n this.getProductDetails(this.props.item.product_id)\r\n this.getPlaceDetails(this.props.item.place_id)\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.item !== prevProps.item) {\r\n console.log('different item!')\r\n this.getProductDetails(this.props.item.product_id)\r\n this.getPlaceDetails(this.props.item.place_id)\r\n }\r\n }\r\n\r\n async editItem(newItemQyAv, newItemRedPrice, itemid) {\r\n // console.log(this.state.editItemId)\r\n this.setState({ open: false, open1: false })\r\n await axios.put(`https://api.dontwaste.me/inventories/${this.state.editItemId}`, {\r\n quantity_available: newItemQyAv,\r\n reduced_price: newItemRedPrice,\r\n // expiry_date: newItemExDate,\r\n })\r\n .then( res => res.status === 200 ? this.setState({ fetch_needed: true }) : null)\r\n .then( this.props.updateCallback(itemid, newItemRedPrice, newItemQyAv))\r\n .catch(err => {\r\n console.log(err);\r\n this.props.errorCallback();\r\n })\r\n // this.setState({ loading: true });\r\n }\r\n\r\n async deleteItem(itemid) {\r\n //this.setState({ openActionDelete: false });\r\n //console.log(itemid)\r\n await axios.delete(`https://api.dontwaste.me/inventories/${itemid}`)\r\n .then(this.props.deleteCallback(itemid), console.log('update id: ', itemid))\r\n .catch(err => {\r\n console.log(err);\r\n this.props.errorCallback();\r\n });\r\n // this.setState({ loading: true });\r\n }\r\n\r\n async generateQRforItem(itemid) {\r\n //console.log(itemid)\r\n this.setState({ confirmQR: false})\r\n //console.log('QRCode.toString(itemid): ', QRCode.toString(itemid))\r\n console.log('QRCode.toDataURL(itemid): ', QRCode.toDataURL(`https://app.traceground.com/items_details/${itemid}`))\r\n //console.log('QRCode.toFile(itemid): ', QRCode.toFile(itemid))\r\n await QRCode.toDataURL(`https://app.traceground.com/items_details/${itemid}`)\r\n .then(\r\n QRCode.toDataURL(`https://app.traceground.com/items_details/${itemid}`).then(url => {\r\n this.setState({ qr_code_state: url })\r\n }\r\n )\r\n /* this.setState({ qr_code_state: QRCode.toString(itemid) }) */\r\n )\r\n .then( this.props.updateCallback(itemid))\r\n .catch(err => {\r\n console.log(err);\r\n this.props.errorCallback();\r\n })\r\n //let qr_code_promise = await QRCode.toString(itemid);\r\n //console.log('this.state.qr_code_state: ', this.state.qr_code_state)\r\n\r\n await axios.put(`https://api.dontwaste.me/inventories/${itemid}`, {\r\n //await axios.put(`http://localhost:3004/${itemid}`, {\r\n qr_code: this.state.qr_code_state\r\n })\r\n .then( res => res.status === 200 ? this.setState({ fetch_needed: true }) : null)\r\n .catch(err => {\r\n console.log(err);\r\n this.props.errorCallback();\r\n });\r\n\r\n // this.setState({ loading: true });\r\n }\r\n\r\n /* qrcodeES6(qrcode) {\r\n QRCode.toDataURL(qrcode)\r\n .then(url => {\r\n console.log('qrcodeURL: ', url)\r\n })\r\n .catch(err => {\r\n console.error(err)\r\n })\r\n } */\r\n\r\n /* autoCorrect(qrcode) {\r\n this.setState({ qr_link: qrcode.replace('<','X').replace('>','Y') });\r\n } */\r\n\r\n async printItem(newItemQyAv, newItemRedPrice, itemid) {\r\n // console.log(this.state.editItemId)\r\n this.setState({ open: false, open1: false })\r\n await axios.put(`https://api.dontwaste.me/inventories/${this.state.editItemId}`, {\r\n quantity_available: newItemQyAv,\r\n reduced_price: newItemRedPrice,\r\n // expiry_date: newItemExDate,\r\n })\r\n .then( res => res.status === 200 ? this.setState({ fetch_needed: true }) : null)\r\n .then( this.props.updateCallback(itemid, newItemRedPrice, newItemQyAv))\r\n .catch(err => {\r\n console.log(err);\r\n this.props.errorCallback();\r\n })\r\n // this.setState({ loading: true });\r\n }\r\n\r\n close = () => this.setState({ open1: false , confirmDelete: false , confirmPrint: false , confirmQR: false})\r\n\r\n getProductDetails(value) {\r\n console.log('getting product data')\r\n fetch(`https://api.dontwaste.me/products/${value}`)\r\n .then(res => res.json())\r\n .then(res => this.setState({ currentProduct: res.product }))\r\n }\r\n\r\n getPlaceDetails(value) {\r\n console.log('getting place data')\r\n fetch(`https://api.dontwaste.me/places/${value}`)\r\n .then(res => res.json())\r\n .then(res => this.setState({ currentPlace: res.place }))\r\n \r\n }\r\n\r\n openConfirmDeleteModal = () => this.setState({confirmDelete: true })\r\n openConfirmPrintModal = () => this.setState({confirmPrint: true })\r\n openConfirmQRModal = () => this.setState({confirmQR: true })\r\n\r\n getDateFromStamp (timestamp) {\r\n const divided = timestamp;\r\n var date = moment.unix(divided).format()\r\n //var date = moment.unix(divided).format(\"dddd, MMMM Do YYYY, h:mm:ss a\")\r\n //const date = new Date(timestamp/1000).toString()\r\n\r\n return date\r\n }\r\n calculateTimeRemaining (timestamp) {\r\n const divided = timestamp/1000;\r\n var date = moment.unix(divided).fromNow()\r\n //var date = moment.unix(divided).format(\"dddd, MMMM Do YYYY, h:mm:ss a\")\r\n //const date = new Date(timestamp/1000).toString()\r\n return date\r\n }\r\n getCreatedDateFromStamp (timestamp) {\r\n //console.log(\"timestamp in received:\", timestamp)\r\n //const date = new Date(timestamp*1000).toString()\r\n //console.log(\"date in received:\", date)\r\n //var date = moment.unix(timestamp).format(\"dddd, MMMM Do YYYY, h:mm:ss a\")\r\n var date = moment.unix(timestamp).fromNow()\r\n return date\r\n }\r\n\r\n closeConfigShow1 = (closeOnEscape1, closeOnDimmerClick1, id, quantity_available, reduced_price, expiry_date) => () => {\r\n this.setState({ closeOnEscape1, closeOnDimmerClick1, editItemId: id, newItemQyAv: quantity_available, newItemRedPrice: reduced_price, newItemExDate: expiry_date, open1: true })\r\n }\r\n\r\n handleChangeCheckBox = e => this.setState(({ newItemAgreeTerms }) => ({ newItemAgreeTerms: !newItemAgreeTerms }))\r\n\r\n render() {\r\n const {\r\n closeOnEscape1,\r\n closeOnDimmerClick1,\r\n open1,\r\n currentProductLoading,\r\n currentProduct,\r\n currentPlace,\r\n currentPlaceLoading,\r\n fetch_needed,\r\n confirmDelete,\r\n confirmPrint,\r\n confirmQR\r\n } = this.state;\r\n return (\r\n \r\n {\r\n fetch_needed ? \r\n \r\n {({ store }) => {\r\n console.log('ReactReduxContextItem')\r\n store.dispatch(fetchProductsAfterUpdateItem())\r\n this.setState({ fetch_needed: false })\r\n }}\r\n \r\n : null\r\n } \r\n {(this.props.loading && currentProductLoading && currentPlaceLoading)? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n \r\n {(this.props.loading && currentProductLoading && currentPlaceLoading) ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n {currentProduct.name}\r\n {currentPlace.name ? currentPlace.name : 'Something wrong happened'}\r\n \r\n \r\n \r\n \r\n \r\n {this.props.available_qty}: {this.props.item.quantity_available}\r\n \r\n {/* \r\n \r\n {this.props.org_price}: {this.props.item.original_price} {this.props.currency}\r\n \r\n \r\n \r\n {this.props.reduced_price}: {this.props.item.reduced_price} {this.props.currency}\r\n */}\r\n \r\n \r\n \r\n {this.props.created} {this.getCreatedDateFromStamp(this.props.item.created)}\r\n \r\n \r\n \r\n \r\n \r\n {this.props.deal_type} {this.props.item.deal_type === 'PERSONAL' ? this.props.deal_personal : this.props.deal_business}\r\n \r\n \r\n \r\n \r\n \r\n {this.props.expires} {this.calculateTimeRemaining(this.props.item.expiry_date)}\r\n \r\n \r\n \r\n {\r\n this.props.item.qr_code.length > 0 ? : \r\n }\r\n \r\n {/* 123 */}\r\n \r\n {/* \r\n \r\n \r\n Blockchain Txs: 0x8522222222\r\n \r\n */}\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n \r\n QR Код\r\n }\r\n open={confirmQR}\r\n basic\r\n size='small'\r\n closeOnEscape={false}\r\n closeOnDimmerClick={false}\r\n onClose={this.close}\r\n >\r\n
\r\n \r\n

\r\n {this.props.are_you_qr}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n Етикет}\r\n centered={false}\r\n open={open1}\r\n closeOnEscape={closeOnEscape1}\r\n closeOnDimmerClick={closeOnDimmerClick1}\r\n onClose={this.close}\r\n closeIcon\r\n >\r\n Етикет Номер 1234\r\n \r\n \r\n
\r\n \r\n {/* */}\r\n {/* {this.props.upload_text} */}\r\n
\r\n {/* */}\r\n
\r\n \r\n
Информация от производителя
\r\n
\r\n \r\n this.setState({ newItemQyAv: e.target.value })} />\r\n this.setState({ newItemRedPrice: e.target.value })} />\r\n {/* this.setState({ newItemExDate: e.target.value })} /> */}\r\n \r\n \r\n \r\n {/* window.print()}>Принтиране\r\n }\r\n basic\r\n size='small'\r\n closeOnEscape={false}\r\n closeOnDimmerClick={false}\r\n onClose={this.close}\r\n >\r\n
\r\n \r\n

\r\n {this.props.are_you_update}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n {this.props.delete}\r\n }\r\n open={confirmDelete}\r\n basic\r\n size='small'\r\n closeOnEscape={false}\r\n closeOnDimmerClick={false}\r\n onClose={this.close}\r\n >\r\n
\r\n \r\n

\r\n {this.props.are_you_delete}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n )\r\n }\r\n}","import React, { Component } from \"react\";\r\n//import update from 'immutability-helper';\r\nimport { ReactReduxContext } from 'react-redux';\r\nimport axios from \"axios\";\r\nimport LocalizedStrings from 'react-localization';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport { fetchProductsAfterUpdateItem } from \"../../reducers/productActions\";\r\nimport Colors from '../../constants/Colors'\r\nimport 'react-toastify/dist/ReactToastify.min.css';\r\nimport _ from \"lodash\";\r\nimport {\r\n Icon,\r\n Button,\r\n Modal,\r\n Header,\r\n Form,\r\n Card,\r\n Loader,\r\n Dimmer,\r\n Item,\r\n Grid,\r\n TextArea,\r\n Divider,\r\n Image,\r\n Statistic,\r\n Segment,\r\n Label\r\n} from \"semantic-ui-react\";\r\nimport ItemCard from \"./itemCard\";\r\nimport DatePicker from \"react-rainbow-components/components/DatePicker\";\r\nimport TimePicker from \"react-rainbow-components/components/TimePicker\";\r\nimport Application from \"react-rainbow-components/components/Application\";\r\n//import * as moment from 'moment'\r\nimport discount_tag from \"../images/dashboard/discount-tag.svg\";\r\nimport favorite from \"../images/dashboard/favorite.svg\";\r\nimport no_purchases from \"../images/empty/no_purchases.png\";\r\nimport \"./styles.css\";\r\n\r\n// THERE IS BUG WITH CONTINOUS LOADING ON ACCOUNTS WITH NO PLACESS\r\nconst theme = {\r\n rainbow: {\r\n palette: {\r\n brand: Colors.fcDarkGreen,\r\n },\r\n },\r\n};\r\nexport default class InventoriesBasedOnStores extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n open: false,\r\n places: [],\r\n places_ids: [],\r\n inventories: [],\r\n item: [],\r\n placesDropdown: [],\r\n dealtypeDropdown: [\r\n {\r\n key: 'PERSONAL',\r\n text: 'PERSONAL',\r\n value: 'PERSONAL',\r\n },\r\n {\r\n key: 'BUSINESS',\r\n text: 'BUSINESS',\r\n value: 'BUSINESS',\r\n }\r\n ],\r\n dealtypeDropdownBG: [\r\n {\r\n key: 'PERSONAL',\r\n text: 'ПОТРЕБИТЕЛ',\r\n value: 'PERSONAL',\r\n },\r\n {\r\n key: 'BUSINESS',\r\n text: 'БИЗНЕС',\r\n value: 'BUSINESS',\r\n }\r\n ],\r\n selectedProduct: null,\r\n selectedPlace: null,\r\n selectedPlaceValue: '',\r\n selectedDealTypeValue: 'BUSINESS',\r\n selectedProductloading: true,\r\n selectedProductValue: \"\",\r\n fetchedProducts: [],\r\n products: [],\r\n loading: true,\r\n loadingPlaces: true,\r\n loadingProducts: true,\r\n newItemAgreeTerms: false,\r\n newItemQyAv: 0,\r\n newItemSaveTemp: 0,\r\n newItemTransTemp: 0,\r\n newItemOrgPrice: 2,\r\n newItemRedPrice: 1,\r\n newItemExDate: new Date(),\r\n newItemPackDate: new Date(),\r\n newItemHarvDate: new Date(),\r\n newItemSaveDate: new Date(),\r\n newItemTransDate: new Date(),\r\n newItemExTime: \"21:30\",\r\n created: new Date(),\r\n place_id: \"5d80bc09832f3587250335a8\",\r\n product_id: \"5d8c6dfb19aebf5e05ba6236\",\r\n fetch_needed: false\r\n };\r\n }\r\n\r\n strings = new LocalizedStrings({\r\n en:{\r\n header: \"Inventories\",\r\n header_desc: \"This is where the magic happens! Choose the store where you have left-over food, select the product, and set the reduced price and pick-up time for the customer. You can monitor the items that you have sold and adjust the price and quantity available if necessary.\",\r\n inv_box: \"Items on sale\",\r\n perc_box: \"of Items sold\",\r\n no_inv: \"You have no items on sale now!\",\r\n button_edit: \"Edit\",\r\n button_delete: \"Delete\",\r\n button_add_inv: \"Add Item\",\r\n place: \"Choose a place\",\r\n place_label: \"Where do you have left-over food?\",\r\n prod: \"Choose one of your existing products\",\r\n prod_label: \"What product is expiring?\",\r\n prod_det: \"Product details\",\r\n weight: \"Select the weight of your product\",\r\n sh_desc: \"Short description\",\r\n desc: \"This description will be shown to clients on our platform. Introduce your business in a couple of sentences and make it stand out!\",\r\n aller: \"Allergens\",\r\n aller_pl: \"Allergens...\",\r\n off_det: \"Offer details\",\r\n prod_name: \"Product name\",\r\n price_org: \"Original Price\",\r\n part_number: \"Part Number\",\r\n price_org_hold: \"10 BGN\",\r\n price: \"Reduced Price\",\r\n price_hold: \"5 BGN\",\r\n qty: \"Quantity Available\",\r\n qty_hold: \"Item quantity\",\r\n deal: \"Deal Type\",\r\n deal_hold: \"Deal Type\",\r\n exp: \"Choose the expiry date\",\r\n time: \"Choose the pick-up time\",\r\n notifyItemCreated: \"Success! Your Item is created.\",\r\n notifyItemUpdate: \"Success! Your Item is updated.\",\r\n notifyItemDeleted: \"Item DELETED!\",\r\n notifyError: \"Something went wrong!\",\r\n available_qty: 'Available quantity',\r\n org_price: 'Original price',\r\n reduced_price: 'Reduced price',\r\n created: 'Created',\r\n deal_type: 'Deal type',\r\n expires: 'Expires in',\r\n currency: 'USD',\r\n edit_item: 'Edit item',\r\n upload_text: 'Upload image for your item',\r\n add_image: 'Add Image',\r\n item_details: 'Item details',\r\n are_you_update: 'Are you ready to update the item?',\r\n no: 'No',\r\n yes: 'Yes',\r\n delete: 'Delete',\r\n are_you_delete: 'Are you sure you want to delete this item?',\r\n edit_qty_label: 'Item Quantity Available',\r\n edit_price_label: 'Item Reduced Price',\r\n terms: 'I agree to the Terms and Conditions',\r\n update_button: 'Update Item',\r\n sell_item: 'Sell Item',\r\n deal_personal: 'PERSONAL',\r\n deal_business: 'BUSINESS'\r\n },\r\n bg: {\r\n header: \"Инвентар\",\r\n header_desc: \"Тук се случва магията! Избере магазина, в който имате храна, изберете продукт и определете намалена цена заедно с време за взимане от клиента. Можете да следите стоките, които продавате и да променяте тяхната цена и количество.\",\r\n inv_box: \"Налични стоки за продажба\",\r\n perc_box: \"стоки продадени\",\r\n no_inv: \"Нямате стоки все още!\",\r\n button_edit: \"Промени\",\r\n button_delete: \"Изтрий\",\r\n button_add_inv: \"Добави стока\",\r\n place: \"Изберете ресторант\",\r\n place_label: \"Къде имате останала храна?\",\r\n prod: \"Изберете продуктова група\",\r\n prod_label: \"Кой продукт е с изтичащ срок на годност?\",\r\n prod_det: \"Детайли за продукта\",\r\n weight: \"Тегло на продукта\",\r\n sh_desc: \"Кратко описание\",\r\n desc: \"Това описание ще видят вашите клиенти. Напишете нещо интересно!\",\r\n aller: \"Алергени\",\r\n aller_pl: \"Алергени...\",\r\n off_det: \"Детайли на офертата\",\r\n prod_name: \"Име на продукта\",\r\n price_org: \"Стандартна цена\",\r\n part_number: \"Номер Партида\",\r\n price_org_hold: \"10 лв.\",\r\n price: \"Намалена цена\",\r\n price_hold: \"5 лв.\",\r\n qty: \"Налично количество\",\r\n qty_hold: \"Брой оферти\",\r\n deal: \"Тип на офертата\",\r\n deal_hold: \"Тип на офертата\",\r\n exp: \"Срок на годност\",\r\n time: \"Час на годност\",\r\n notifyItemCreated: \"Успешно! Офертата е създадена.\",\r\n notifyItemUpdate: \"Успешно! Офертата е променена.\",\r\n notifyItemDeleted: \"Офертата е изтрита!\",\r\n notifyError: \"Нещо се обърка!\",\r\n available_qty: 'Налично количество',\r\n org_price: 'Регулярна цена',\r\n reduced_price: 'Намалена цена',\r\n created: 'Създаден',\r\n deal_type: 'Тип на сделката',\r\n expires: 'Изтича',\r\n currency: 'лв.',\r\n edit_item: 'Промяна инвентар',\r\n upload_text: 'Качване на снимка',\r\n add_image: 'Качи снимка',\r\n item_details: 'Детайли на инвентар',\r\n are_you_update: 'Искате ли да промените продукта?',\r\n no: 'Не',\r\n yes: 'Да',\r\n delete: 'Изтрий',\r\n are_you_delete: 'Искате ли да изтриете продукта?',\r\n edit_qty_label: 'Ново количество',\r\n edit_price_label: 'Нова намалена цена',\r\n terms: 'Съгласен съм с условията на платформата FoodChain',\r\n update_button: 'Промени',\r\n sell_item: 'Продажба на продукт',\r\n deal_personal: 'ПОТРЕБИТЕЛ',\r\n deal_business: 'БИЗНЕС'\r\n }\r\n });\r\n\r\n _setLanguage = (lang) => {\r\n //console.log(lang)\r\n this.strings.setLanguage(lang)\r\n }\r\n\r\n getPlaces = async userid => {\r\n if (this.state.loadingPlaces) {\r\n await fetch(`https://api.dontwaste.me/places/accounts/${userid}`)\r\n .then(res => res.json())\r\n .then(res => (\r\n this.setState({ places: res.places, loadingPlaces: false }),\r\n this.mapPlacesforDropdown(res.places)\r\n )\r\n )\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError();\r\n });\r\n }\r\n }\r\n\r\n getPlacesAll = async () => {\r\n if (this.state.loadingPlaces) {\r\n await fetch(`https://api.dontwaste.me/places/`)\r\n .then(res => res.json())\r\n .then(res => (\r\n this.setState({ places: res.places, loadingPlaces: false }),\r\n this.mapPlacesforDropdown(res.places)\r\n )\r\n )\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError();\r\n });\r\n }\r\n }\r\n\r\n getPlacesIds = (userid, userrole) => {\r\n userrole === \"ADMIN\" ? this.getPlacesAll() : this.getPlaces(userid);\r\n Object.values(this.state.places).map((place, i) =>\r\n this.state.places_ids.push(place._id)\r\n );\r\n // console.log(\"(this.state.places_ids: \", this.state.places_ids);\r\n };\r\n\r\n getItems = (userid, userrole) => {\r\n if (this.state.loading) {\r\n this.getPlacesIds(userid, userrole)\r\n console.log(userrole)\r\n userrole === \"ADMIN\" ? this.getProductsData() : this.getProductsDataFromDbByAccountId(userid);\r\n console.log(\"this.state.places_ids\", this.state.places_ids)\r\n this.state.places_ids.map(async id =>\r\n await fetch(`https://api.dontwaste.me/inventories/places/${id}`)\r\n .then(res => res.json())\r\n .then(res => res.items)\r\n .then(res => res === undefined ? null : this.setState(prevState => ({\r\n inventories: [...prevState.inventories, ...res]\r\n }), console.log('inventory to place id:', id, \"and inventory\", this.state.inventories)))\r\n .then(this.setState({ loading: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError();\r\n })\r\n );\r\n }\r\n };\r\n getProductsDataFromDbByAccountId = userid => {\r\n if (this.state.loadingProducts) {\r\n fetch(`https://api.dontwaste.me/products/accounts/${userid}`)\r\n .then(res => res.json())\r\n .then(res => this.mapProductsforDropdown(res.products))\r\n .then(() => this.setState({ loadingProducts: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n }\r\n };\r\n\r\n getProductsData = () => {\r\n if (this.state.loadingProducts) {\r\n fetch(`https://api.dontwaste.me/products/`)\r\n .then(res => res.json())\r\n .then(res => this.mapProductsforDropdown(res.products))\r\n .then(() => this.setState({ loadingProducts: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n }\r\n };\r\n\r\n handleProductChange = (e, { value }) => {\r\n this.setState({ selectedProductValue: value });\r\n fetch(`https://api.dontwaste.me/products/${value}`)\r\n .then(res => res.json())\r\n .then(res => this.setState({ selectedProduct: res.product }))\r\n .then(() => this.setState({ selectedProductloading: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n };\r\n\r\n handlePlaceChange = (e, { value }) => {\r\n this.setState({ selectedPlaceValue: value })\r\n }\r\n\r\n handleDealTypeChange = (e, { value }) => {\r\n this.setState({ selectedDealTypeValue: value })\r\n }\r\n\r\n mapProductsforDropdown = fetchedProducts => {\r\n const products = _.map(fetchedProducts, (product, index) => ({\r\n key: product._id,\r\n text: product.name,\r\n value: product._id,\r\n image: { avatar: true, src: product.image }\r\n }));\r\n this.setState({ products: products });\r\n };\r\n mapPlacesforDropdown = places => {\r\n const placesDropdown = _.map(places, (place, index) => ({\r\n key: place._id,\r\n text: place.name,\r\n value: place._id,\r\n }));\r\n this.setState({ placesDropdown: placesDropdown });\r\n };\r\n getItemsArray = (userid, userrole) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe + 1);\r\n this.getItems(id, userrole);\r\n Object.values(this.state.inventories).map((item, i) =>\r\n this.state.item.push(item._id)\r\n );\r\n // console.log('(this.state.item: ',this.state.item)\r\n // console.log('(items._id.length: ',this.state.item.length)\r\n };\r\n\r\n closeConfigShow = (closeOnEscape, closeOnDimmerClick) => () => {\r\n this.setState({ closeOnEscape, closeOnDimmerClick, open: true });\r\n };\r\n\r\n close = () => this.setState({ open: false });\r\n\r\n handleChangeCheckBox = e =>\r\n this.setState(({ newItemAgreeTerms }) => ({\r\n newItemAgreeTerms: !newItemAgreeTerms\r\n }));\r\n\r\n handleChange = (e, { value }) => this.setState({ newItemUnits: value });\r\n\r\n async saveItemToDB(\r\n account_id,\r\n quantity,\r\n original_price,\r\n reduce_price,\r\n exp_date,\r\n exp_time,\r\n part_number,\r\n pack_date,\r\n harv_date,\r\n save_date,\r\n save_temp,\r\n trans_date,\r\n trans_temp\r\n ) {\r\n const findPipe = account_id.indexOf(\"|\");\r\n const id = account_id.substr(findPipe + 1);\r\n this.setState({ open: false });\r\n this.setState({ newItemAgreeTerms: false });\r\n console.log('exp_time: ', exp_time)\r\n const hours = exp_time.substr(0, 2)\r\n const minutes = exp_time.substr(3, 4)\r\n exp_date.setMinutes(minutes)\r\n exp_date.setHours(hours)\r\n\r\n const calculatedTimestamp = exp_date.getTime()\r\n console.log(\"calculatedTimestamp\", calculatedTimestamp)\r\n let selectedPlace = this.state.places.find(place => place.id = this.state.selectedPlaceValue)\r\n\r\n\r\n\r\n await axios.post(\r\n \"https://api.dontwaste.me/inventories/\",\r\n //\"http://localhost:3004/\",\r\n {\r\n account_id: id,\r\n place_id: this.state.selectedPlaceValue,\r\n place_name: selectedPlace.name,\r\n product_id: this.state.selectedProductValue,\r\n product_name: this.state.selectedProduct.name,\r\n quantity_available: quantity,\r\n original_price: original_price,\r\n reduced_price: reduce_price,\r\n deal_type: this.state.selectedDealTypeValue,\r\n expiry_date: calculatedTimestamp,\r\n part_number: part_number,\r\n pack_date: pack_date.getTime(),\r\n harvest_date: harv_date.getTime(),\r\n save_date: save_date.getTime(),\r\n save_temp: save_temp,\r\n transport_date: trans_date.getTime(),\r\n transport_temp: trans_temp,\r\n },\r\n {\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n }\r\n }\r\n )\r\n .then(res => res.data.item._id)\r\n .then(id =>\r\n fetch(`https://api.dontwaste.me/inventories/${id}`)\r\n .then(res => res.json())\r\n .then(res => res.item)\r\n .then(res => (this.setState((prevState) => ({ inventories: [...prevState.inventories, res], fetch_needed: true })), this.notifyItemCreated()))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n )\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n });\r\n }\r\n\r\n ItemCardUpdateCallback = (id, reduced_price_edit, quantity_available_edit) => {\r\n var index = this.state.inventories.findIndex(inventory => inventory._id === id)\r\n console.log(\"index\", index)\r\n let inventoriesToEdit = [...this.state.inventories]\r\n let inventoryToEdit = { ...inventoriesToEdit[index] }\r\n inventoryToEdit.reduced_price = reduced_price_edit\r\n inventoryToEdit.quantity_available = quantity_available_edit\r\n inventoriesToEdit[index] = inventoryToEdit\r\n this.setState({ inventories: inventoriesToEdit })\r\n this.notifyItemUpdate();\r\n };\r\n\r\n ItemCardDeleteCallback = (id) => {\r\n console.log('current state:', this.state.inventories)\r\n\r\n this.setState(prevState => ({ inventories: prevState.inventories.filter(inventory => inventory._id !== id) }))\r\n this.notifyItemDeleted();\r\n console.log('new state', this.state.inventories)\r\n }\r\n\r\n notifyItemCreated = () => toast.success(this.strings.notifyItemCreated);\r\n notifyItemUpdate = () => toast.info(this.strings.notifyItemUpdate);\r\n notifyItemDeleted = () => toast.warn(this.strings.notifyItemDeleted);\r\n notifyError = () => toast.error(this.strings.notifyError);\r\n\r\n render() {\r\n const {\r\n inventories,\r\n open,\r\n closeOnEscape,\r\n closeOnDimmerClick,\r\n loading\r\n } = this.state;\r\n\r\n const {\r\n products,\r\n selectedProduct,\r\n selectedProductloading,\r\n selectedProductValue,\r\n newItemExDate,\r\n newItemPackDate,\r\n newItemHarvDate,\r\n newItemSaveDate,\r\n newItemTransDate,\r\n newItemExTime,\r\n created,\r\n selectedPlaceValue,\r\n placesDropdown,\r\n dealtypeDropdown,\r\n dealtypeDropdownBG,\r\n selectedDealTypeValue,\r\n fetch_needed\r\n } = this.state;\r\n\r\n return (\r\n \r\n
\r\n {this._setLanguage(this.props.user[\"https://fc-demo/language\"])}\r\n \r\n {\r\n fetch_needed ?\r\n \r\n {({ store }) => {\r\n console.log('ReactReduxContext')\r\n store.dispatch(fetchProductsAfterUpdateItem())\r\n this.setState({ fetch_needed: false })\r\n }}\r\n \r\n : null\r\n }\r\n \r\n \r\n \r\n {console.log(\"inventories\", inventories)}\r\n \r\n \r\n \r\n \r\n {this.strings.header}\r\n \r\n {this.strings.header_desc}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {\r\n this.state.loading ?\r\n \r\n :\r\n {this.state.inventories.length}\r\n }\r\n {this.strings.inv_box}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {\r\n this.state.loading ?\r\n \r\n :\r\n 87%\r\n }\r\n {this.strings.perc_box}\r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n
\r\n

Items: ${JSON.stringify(items)}

\r\n

Places: ${JSON.stringify(places)}

\r\n

places_ids: ${JSON.stringify(places_ids)}

\r\n

Inventories: ${JSON.stringify(inventories)}

\r\n

Selected Place: ${JSON.stringify(selectedPlaceValue)}

\r\n
*/}\r\n \r\n \r\n {\r\n inventories.length <= 0\r\n ?\r\n (<>\r\n \r\n
{this.strings.no_inv}
\r\n \r\n \r\n )\r\n :\r\n inventories.map((inventory, i) => (\r\n <>\r\n {/* {console.log('inventories mapping', inventory)} */}\r\n \r\n \r\n ))}\r\n\r\n 0 ?\r\n \r\n \r\n
\r\n \r\n
\r\n {this.strings.button_add_inv}\r\n
\r\n
\r\n \r\n \r\n :\r\n \r\n \r\n
\r\n \r\n
{this.strings.button_add_inv}
\r\n
\r\n
\r\n
\r\n }\r\n centered={false}\r\n open={open}\r\n closeOnEscape={closeOnEscape}\r\n closeOnDimmerClick={closeOnDimmerClick}\r\n onClose={this.close}\r\n closeIcon\r\n >\r\n {this.strings.sell_item}\r\n \r\n \r\n
\r\n \r\n {selectedPlaceValue !== '' ?\r\n \r\n :\r\n null\r\n }\r\n\r\n {!selectedProductloading ? (\r\n <>\r\n \r\n
\r\n {this.strings.prod_det}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*needs to become .description*/}\r\n \r\n {/*needs to become a dropdown*/}\r\n \r\n {/*needs to follow new unit format*/}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n {this.strings.off_det}\r\n
\r\n \r\n\r\n \r\n \r\n\r\n {/* \r\n this.setState({\r\n newItemOrgPrice: e.target.value\r\n })\r\n }\r\n />\r\n \r\n this.setState({\r\n newItemRedPrice: e.target.value\r\n })\r\n }\r\n /> */}\r\n\r\n \r\n this.setState({ part_number: e.target.value })\r\n }\r\n />\r\n \r\n \r\n \r\n this.setState({ newItemPackDate: value })\r\n }\r\n className=\"date_picker\"\r\n />\r\n \r\n\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({ newItemHarvDate: value })\r\n }\r\n className=\"date_picker\"\r\n />\r\n \r\n \r\n this.setState({ newItemQyAv: e.target.value })\r\n }\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n this.setState({ newItemSaveDate: value })\r\n }\r\n className=\"date_picker\"\r\n />\r\n \r\n \r\n this.setState({ newItemSaveTemp: e.target.value })\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n this.setState({ newItemTransDate: value })\r\n }\r\n className=\"date_picker\"\r\n />\r\n \r\n \r\n this.setState({ newItemTransTemp: e.target.value })\r\n\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n this.setState({ newItemExDate: value })\r\n }\r\n className=\"date_picker\"\r\n />\r\n \r\n \r\n \r\n \r\n this.setState({ newItemExTime: value })\r\n }\r\n className=\"time_picker\"\r\n />\r\n \r\n \r\n
\r\n {console.log('date', newItemExDate)}\r\n {console.log('time', newItemExTime)}\r\n \r\n this.saveItemToDB(\r\n this.props.user.sub,\r\n this.state.newItemQyAv,\r\n this.state.newItemOrgPrice,\r\n this.state.newItemRedPrice,\r\n this.state.newItemExDate,\r\n this.state.newItemExTime,\r\n this.state.part_number,\r\n this.state.newItemPackDate,\r\n this.state.newItemHarvDate,\r\n this.state.newItemSaveDate,\r\n this.state.newItemSaveTemp,\r\n this.state.newItemTransDate,\r\n this.state.newItemTransTemp,\r\n created\r\n )\r\n }\r\n >\r\n {this.strings.button_add_inv}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n )}\r\n \r\n}\r\n","import React, { Component } from 'react';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport axios from 'axios';\r\nimport LocalizedStrings from 'react-localization';\r\nimport * as moment from \"moment\";\r\nimport { Icon, Label, Button, Header, Dimmer, Loader, Item, Segment, Grid, Statistic, Image, List} from 'semantic-ui-react';\r\nimport product from \"../images/dashboard/barcode.svg\";\r\nimport sleeping from \"../images/empty/sleeping.png\";\r\nimport \"./styles.css\";\r\n\r\nclass OrdersNew extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loadingOrders: true,\r\n open: false,\r\n orders: [],\r\n loading: true,\r\n opened: false\r\n };\r\n this.openExtra=this.openExtra.bind(this)\r\n }\r\n\r\n strings = new LocalizedStrings({\r\n en:{\r\n header: \"Orders\",\r\n header_desc: \"This section contains all of your company's products. Think of it as a database where you can store all of the data for your products and when any of these products are about to expire you can quickly sell it at a reduced price by adding it to your 'Inventory'. Products are shared across all of your stores so that you don't have to list the same product many times.\",\r\n ord_box: \"Orders\",\r\n no_ord: \"You have no pending orders!\",\r\n ord_det: \"Order details:\",\r\n ord_item: \"item\",\r\n ord_itemid: \"item_id\",\r\n ord_qty: \"Quantity:\",\r\n ord_id: \"Order ID:\",\r\n ord_created: \"Created by:\",\r\n ord_purchased: \"Purchased by\",\r\n ord_date: \"Date:\",\r\n show: \"Show\",\r\n hide: \"Hide\",\r\n notifyError: \"Something went wrong!\",\r\n total_amount: \"Total amount\",\r\n currency: \"BGN\",\r\n },\r\n bg: {\r\n header: \"Поръчки\",\r\n header_desc: \"Това табло показва всички поръчки направени към теб. От тук можете да ги следите и да информирате клиента ако има проблем.\",\r\n ord_box: \"Поръчки\",\r\n no_ord: \"Нямате поръчки!\",\r\n ord_det: \"Детайли за поръчката:\",\r\n ord_item: \"Продукт\",\r\n ord_itemid: \"Продукт Ид.Н.\",\r\n ord_qty: \"Количество:\",\r\n ord_id: \"Поръчка Ид.Н.:\",\r\n ord_created: \"Създадена от:\",\r\n ord_purchased: \"Закупена от\",\r\n ord_date: \"Дата:\",\r\n show: \"Покажи\",\r\n hide: \"Скрий\",\r\n notifyError: \"Нещо се обърка\",\r\n total_amount: \"Обща сума\",\r\n currency: \"лв.\",\r\n }\r\n });\r\n\r\n _setLanguage = (lang) => {\r\n //console.log(lang)\r\n this.strings.setLanguage(lang)\r\n }\r\n \r\n show = dimmer => () => this.setState({ dimmer, open: true})\r\n close = () => this.setState({ open: false })\r\n\r\n getOrdersByToken = (userid) => {\r\n const findPipe = userid.indexOf(\"|\")\r\n const id = userid.substr(findPipe+1)\r\n if (this.state.loadingOrders) {\r\n axios.get(`https://api.dontwaste.me/orders/accounts/${id}`, {\r\n })\r\n .then(res => ( this.setState({ orders: res.data.orders, loadingOrders: false, loading: false }), console.log('orders: ', res.data.orders) ))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError();\r\n });\r\n }\r\n };\r\n\r\n getOrdersAll = () => {\r\n if (this.state.loadingOrders) {\r\n axios.get(`https://api.dontwaste.me/orders/`, {\r\n })\r\n .then(res => ( this.setState({ orders: res.data.orders, loadingOrders: false, loading: false }), console.log('orders: ', res.data.orders) ))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError();\r\n });\r\n }\r\n };\r\n\r\n calculatePickUpTime(timestamp) {\r\n var date = moment.unix(timestamp).format(\"dddd, MMMM Do YYYY, h:mm:ss a\");\r\n return date;\r\n }\r\n\r\n openExtra = () => {\r\n this.setState({opened: !this.state.opened})\r\n }\r\n\r\n notifyError = () => toast.error(this.strings.notifyError);\r\n\r\n render() {\r\n const { orders, loading, opened } = this.state\r\n return (\r\n
\r\n {this._setLanguage(this.props.user[\"https://fc-demo/language\"])}\r\n \r\n \r\n Loading\r\n \r\n \r\n \r\n \r\n \r\n {this.strings.header} \r\n \r\n {this.strings.header_desc} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.state.loading ?\r\n \r\n :\r\n {this.state.orders.length}\r\n }\r\n {this.strings.ord_box}\r\n \r\n \r\n \r\n \r\n \r\n \r\n { orders.length <= 0 ?\r\n ( <>\r\n \r\n
{this.strings.no_ord}
\r\n )\r\n :\r\n \r\n {\r\n orders.map(\r\n (order, i) => (\r\n \r\n {console.log(\"order: \", order)}\r\n {loading ? (\r\n \r\n Header\r\n Description\r\n \r\n \r\n \r\n Additional Details\r\n \r\n )\r\n :(\r\n \r\n {this.strings.ord_id} {order._id}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.strings.total_amount} {order.total_amount} {this.strings.currency}\r\n \r\n \r\n {this.strings.ord_created} {order.account_id}\r\n \r\n \r\n {this.strings.ord_purchased} (Vendor ID): {order.vendor_id}\r\n \r\n \r\n {this.strings.ord_date} {this.calculatePickUpTime(order.created)}\r\n \r\n \r\n \r\n \r\n \r\n
{this.strings.ord_det}
\r\n {\r\n order.inventories.map(\r\n (item, i) => (\r\n \r\n {this.strings.ord_item} {i+1}\r\n \r\n \r\n {this.strings.ord_itemid} {item.inventory_id}\r\n \r\n \r\n \r\n {this.strings.ord_qty} {item.quantity} \r\n \r\n \r\n )\r\n )\r\n }\r\n
\r\n
\r\n
\r\n {opened ?\r\n ( \r\n \r\n \r\n \r\n \r\n {order.user_notes}\r\n \r\n \r\n Payment method: { order.payment_method }\r\n \r\n \r\n User contacts: { order.user_contacts }\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n
\r\n )\r\n )\r\n }\r\n
\r\n\r\n }\r\n
\r\n
\r\n \r\n )\r\n }\r\n \r\n}\r\n\r\nexport default OrdersNew","import React, { Component, Fragment } from 'react';\r\nimport axios from 'axios';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.min.css';\r\nimport { Icon, Button, Grid, Statistic, Modal, Segment, Header, Form, Dimmer, Loader, Card, List, Placeholder, Image, Label, Item, TextArea, Progress, Divider } from 'semantic-ui-react';\r\nimport LocalizedStrings from 'react-localization';\r\nimport firebase from \"firebase\";\r\nimport Autocomplete from 'react-google-autocomplete';\r\nimport Geocode from 'react-geocode';\r\nimport CustomUploadButton from 'react-firebase-file-uploader/lib/CustomUploadButton';\r\nimport store from \"../images/dashboard/store.svg\";\r\nimport no_people from \"../images/empty/no_people.png\";\r\nimport \"./styles.css\";\r\n//const MAX_SIZE = 2000000;\r\nconst GOOGLE_KEY = \"AIzaSyDfeHv6QM9PqtzE_MM5O_X81ZUjwU_jR0Q\"\r\nexport default class StoresPage extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n places: [],\r\n open: false,\r\n open1: false,\r\n confirmDelete: false,\r\n intervalIsSet: false,\r\n loading: true,\r\n isUploading: false,\r\n progress: 0,\r\n uploadError: '',\r\n loadingFirstTime: true,\r\n selectedPlaceId: [],\r\n openActionDelete: false,\r\n newStoreName: '',\r\n newStoreAddress: {\r\n coordinates: [],\r\n id: '',\r\n type: 'Point'\r\n },\r\n placeLat: '',\r\n placeLng: '',\r\n newStoreContactPerson: '',\r\n newStorePhoneNumber: '',\r\n newStoreImage: '',\r\n newStoreAgreeWithTerms: false,\r\n editPlaceId: '',\r\n editPlaceName: '',\r\n newStoreImageURL: 'https://firebasestorage.googleapis.com/v0/b/foodchainapp-1531482755524.appspot.com/o/places%2Fmixkit-freshly-picked-lemons-391-desktop-wallpaper.png?alt=media&token=fcca43fd-1f93-46d7-b2bc-4fae0473a598',\r\n newStoreImageName: 'default',\r\n newStoreDescription: '',\r\n newPlaceWorkDaysDropDown: [\r\n {\r\n key: 'WEEKDAYS',\r\n text: 'Weekdays',\r\n value: 'WEEKDAYS'\r\n },\r\n {\r\n key: 'WEEKEND',\r\n text: 'Weekend',\r\n value: 'WEEKEND'\r\n },\r\n {\r\n key: 'ALLDAYS',\r\n text: 'All days',\r\n value: 'ALLDAYS'\r\n }\r\n ],\r\n newPlaceWorkDaysDropDownBG: [\r\n {\r\n key: 'WEEKDAYS',\r\n text: 'Седмични дни',\r\n value: 'WEEKDAYS'\r\n },\r\n {\r\n key: 'WEEKEND',\r\n text: 'Събота и Неделя',\r\n value: 'WEEKEND'\r\n },\r\n {\r\n key: 'ALLDAYS',\r\n text: 'Всички дни',\r\n value: 'ALLDAYS'\r\n }\r\n ],\r\n newPlaceWorkHoursDropDown: [\r\n {\r\n key: '24hours',\r\n text: '24 Hours',\r\n value: '24hours'\r\n },\r\n {\r\n key: '12hours',\r\n text: '12 Hours',\r\n value: '12hours'\r\n },\r\n {\r\n key: '8hours',\r\n text: '8 Hours',\r\n value: '8hours'\r\n }\r\n ],\r\n newPlaceWorkHoursDropDownBG: [\r\n {\r\n key: '24hours',\r\n text: '24 Часа',\r\n value: '24hours'\r\n },\r\n {\r\n key: '12hours',\r\n text: '12 Часа',\r\n value: '12hours'\r\n },\r\n {\r\n key: '8hours',\r\n text: '8 Часа',\r\n value: '8hours'\r\n }\r\n ],\r\n newPlaceWorkDays: '',\r\n newPlaceWorkTime: '',\r\n user_geo_lat: Number,\r\n user_geo_lng: Number,\r\n };\r\n this.deletePlace = this.deletePlace.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n navigator.geolocation.getCurrentPosition(\r\n this.geo_lat,\r\n this.geo_error,\r\n this.geo_options\r\n );\r\n navigator.geolocation.getCurrentPosition(\r\n this.geo_lng,\r\n this.geo_error,\r\n this.geo_options\r\n );\r\n navigator.geolocation.getCurrentPosition(\r\n this.geo_success,\r\n this.geo_error,\r\n this.geo_options\r\n );\r\n }\r\n\r\n strings = new LocalizedStrings({\r\n en:{\r\n header: \"Places\",\r\n header_desc: \"Do you own a food truck? Simply change the location associated with your store and you can start saving food wherever you are!\",\r\n header_desc_extra: \"These are all of the stores that belong to your Company.\",\r\n pl_box: \"Places\",\r\n pl_box_s: \"Place\",\r\n no_pl: \"You have no places!\",\r\n but_edit: \"Edit\",\r\n but_del: \"Delete\",\r\n but_add: \"Add Store\",\r\n add_header: \"Add new store\",\r\n pl_det: \"Place details\",\r\n store_name: \"Store name\",\r\n store_name_plh: \"Store name\",\r\n cont_per: \"Contact person\",\r\n cont_per_plh: \"Contact person\",\r\n ph_num: \"Phone number\",\r\n ph_num_plh: \"0888 777 888\",\r\n pl_desc: \"Place description\",\r\n pl_desc_plh: \"Describe your place with a couple of sentences.\",\r\n pl_worktime_plh: \"Working time\",\r\n pl_worktime_h_plh: \"Working hours\",\r\n location: \"Location\",\r\n location_plh: \"Enter a location\",\r\n image_size: \"2MB max upload size\",\r\n image_but: \"Upload an image of your place\",\r\n upload_successful: \"Upload successful\",\r\n longitude: \"Longitude\",\r\n latitude: \"Latitude\",\r\n submit_changes: \"Submit changes\",\r\n are_you_sure_del: \"Are you sure you want to delete this place?\",\r\n no: \"No\",\r\n yes: \"Yes\",\r\n notifyFirstPlaceCreated:\"Success! By default Your First Place is created.\",\r\n notifyPlaceCreated:\"Success! Your Place is created.\",\r\n notifyPlaceUpdate:\"Success! Your Place is updated.\",\r\n notifyPlaceDeleted:\"Place DELETED!\",\r\n notifyError:\"Something went wrong!\",\r\n worktime_days_weekdays: 'Weekdays',\r\n worktime_days_weekend: 'Weekend',\r\n worktime_days_alldays: 'All days',\r\n worktime_hours_24hours: '24 hours',\r\n worktime_hours_12hours: '12 hours',\r\n worktime_hours_8hours: '8 hours'\r\n },\r\n bg: {\r\n header: \"Обекти\",\r\n header_desc: \"Всички тези обекти са собственост на вашата компания. Имате транспорт? Само променете локацията на вашия обекти и ще можете да продавате от ново място.\",\r\n header_desc_extra: \"Или добавете нов допълнителен обект!\",\r\n pl_box: \"Обекти\",\r\n pl_box_s: \"Обект\",\r\n no_pl: \"Нямате обекти!\",\r\n but_edit: \"Промени\",\r\n but_del: \"Изтрий\",\r\n but_add: \"Добави Обект\",\r\n add_header: \"Добавяне на нов обект\",\r\n pl_det: \"Детайли на обекта\",\r\n store_name: \"Име на обекта\",\r\n store_name_plh: \"Име на обекта\",\r\n cont_per: \"Лице за контакти\",\r\n cont_per_plh: \"Лице за контакти\",\r\n ph_num: \"Телефонен номер\",\r\n ph_num_plh: \"0888 777 888\",\r\n pl_desc: \"Описание на обекта\",\r\n pl_desc_plh: \"Опишете с няколко изречения вашият обект.\",\r\n pl_worktime_plh: \"Работно време\",\r\n pl_worktime_h_plh: \"Работни часове\",\r\n location: \"Локация\",\r\n location_plh: \"Напишете локация\",\r\n image_size: \"2MB макс. размер на снимката\",\r\n image_but: \"Добавете снимка на вашият обект\",\r\n upload_successful: \"Снимката запазена\",\r\n longitude: \"Геогр. дължина\",\r\n latitude: \"Геогр. ширина\",\r\n submit_changes: \"Запази промените\",\r\n are_you_sure_del: \"Сигурни ли сте, че искате да изтриете този обект?\",\r\n no: \"Не\",\r\n yes: \"Да\",\r\n notifyFirstPlaceCreated:\"Успешно! Системата създаде вашият първи обект.\",\r\n notifyPlaceCreated:\"Успешно! Вашият първи обект е създаден.\",\r\n notifyPlaceUpdate:\"Успешно! Вашият обект е променен.\",\r\n notifyPlaceDeleted:\"Обекта е изтрит от системата!\",\r\n notifyError:\"Нещо се обърка!\",\r\n worktime_days_weekdays: 'Седмични дни',\r\n worktime_days_weekend: 'Събота и Неделя',\r\n worktime_days_alldays: 'Всички дни',\r\n worktime_hours_24hours: '24 часа',\r\n worktime_hours_12hours: '12 часа',\r\n worktime_hours_8hours: '8 часа'\r\n }\r\n });\r\n\r\n _setLanguage = (lang) => {\r\n //console.log(lang)\r\n this.strings.setLanguage(lang)\r\n }\r\n\r\n geo_lat = position => {\r\n this.setState({ user_geo_lat: position.coords.latitude })\r\n //console.log(\"geo_lat= \", position.coords.latitude);\r\n };\r\n\r\n geo_lng = position => {\r\n this.setState({ user_geo_lng: position.coords.longitude })\r\n //console.log(\"geo_lng= \", osition.coords.longitude);\r\n };\r\n\r\n async geo_success(position) {\r\n return (\r\n position.coords.latitude,\r\n position.coords.longitude\r\n //console.log(\"lat= \", position.coords.latitude, \"lon= \", position.coords.longitude)\r\n );\r\n }\r\n\r\n geo_error() {\r\n alert(\"Sorry, no position available.\");\r\n }\r\n\r\n geo_options(enableHighAccuracy, maximumAge, timeout) {\r\n return (\r\n (enableHighAccuracy = false), (maximumAge = 30000), (timeout = 27000)\r\n );\r\n }\r\n\r\n getPlacesDataFromDbByAccountId = (userid) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe + 1);\r\n if (this.state.loading) {\r\n fetch(`https://api.dontwaste.me/places/accounts/${id}`)\r\n .then(res => res.json())\r\n .then(res => this.setState({ places: res.places, loading: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n }\r\n };\r\n\r\n getPlacesDataFromDbByAccountIdLocal = (userid) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe + 1);\r\n if (this.state.loading) {\r\n fetch(`http://localhost:3004/accounts/${id}`)\r\n .then(res => res.json())\r\n .then(res => this.setState({ places: res.places, loading: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n }\r\n };\r\n\r\n getPlacesData = () => {\r\n if (this.state.loading) {\r\n fetch(`https://api.dontwaste.me/places/`)\r\n .then(res => res.json())\r\n .then(res => this.setState({ places: res.places, loading: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n }\r\n };\r\n\r\n async savePlaceToDB(account_id, name, person, lat, lng, geolocation, contact_name, contact_number, description, image_url, image_name, workdays, worktime ) {\r\n const findPipe = account_id.indexOf(\"|\");\r\n const id = account_id.substr(findPipe + 1);\r\n console.log('savePlaceToDB: ', id, name, person, lat, lng, geolocation)\r\n //Note that longitude comes first in a GeoJSON coordinate array, not latitude.\r\n //ELASTIC IS latitude & longitude !!!\r\n this.setState({ open: false });\r\n await axios.post(\"https://api.dontwaste.me/places/\", {\r\n account_id: id,\r\n name: name,\r\n location: {\r\n coordinates: [lat, lng],\r\n geolocation: geolocation,\r\n id: id,\r\n type: 'Point'\r\n },\r\n contact: {\r\n name: contact_name,\r\n phone_number: contact_number\r\n },\r\n hours: {\r\n time: worktime,\r\n days: workdays\r\n },\r\n // place_image_url: image_url,\r\n // place_image_name: place_image_name,\r\n // description: description,\r\n created_by: person\r\n },\r\n {\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n }\r\n }\r\n )\r\n .then(res => res.status === 201 ? this.notifyPlaceCreated() : null)\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n this.setState({ loading: true })\r\n };\r\n\r\n async savePlaceToDBLocal(account_id, name, person, lat, lng, geolocation, contact_name, contact_number, description, image_url, image_name, workdays, worktime ) {\r\n const findPipe = account_id.indexOf(\"|\");\r\n const id = account_id.substr(findPipe + 1);\r\n console.log('savePlaceToDB: ', id, name, person, lat, lng, geolocation)\r\n //Note that longitude comes first in a GeoJSON coordinate array, not latitude.\r\n //ELASTIC IS latitude & longitude !!!\r\n this.setState({ open: false });\r\n await axios.post(\"http://localhost:3004/\", {\r\n account_id: id,\r\n name: name,\r\n location: {\r\n coordinates: [lat, lng],\r\n geolocation: geolocation,\r\n id: id,\r\n type: 'Point'\r\n },\r\n contact: {\r\n name: contact_name,\r\n phone_number: contact_number\r\n },\r\n hours: {\r\n time: worktime,\r\n days: workdays\r\n },\r\n // place_image_url: image_url,\r\n // place_image_name: place_image_name,\r\n // description: description,\r\n created_by: person\r\n },\r\n {\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n }\r\n }\r\n )\r\n .then(res => res.status === 201 ? this.notifyPlaceCreated() : null)\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n this.setState({ loading: true })\r\n };\r\n\r\n async deletePlace(storeid) {\r\n //this.setState({ openActionDelete: false });\r\n //console.log(storeid)\r\n await axios.delete(`https://api.dontwaste.me/places/${storeid}`)\r\n .then(res => res.status === 204 ? this.notifyPlaceDeleted() : null)\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n this.setState({ loading: true })\r\n }\r\n\r\n async editPlace( account_id, name, person, lat, lng, geolocation, contact_name, contact_number, description, image_url, image_name) {\r\n const findPipe = account_id.indexOf(\"|\");\r\n const id = account_id.substr(findPipe + 1);\r\n console.log('place id ',this.state.editPlaceId)\r\n this.setState({ open: false, open1: false })\r\n await axios.put(`https://api.dontwaste.me/places/${this.state.editPlaceId}`, {\r\n name: name,\r\n location: {\r\n coordinates: [lat, lng],\r\n geolocation: geolocation,\r\n id: id,\r\n type: 'Point'\r\n },\r\n contact: {\r\n name: contact_name,\r\n phone_number: contact_number\r\n },\r\n //place_image_url: image_url,\r\n //place_image_name: image_name,\r\n //description: description,\r\n //created_by: person\r\n })\r\n .then(res => res.status === 200 ? this.notifyPlaceUpdate() : null)\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n })\r\n this.setState({ loading: true, newStoreName: '', placeLat: '', placeLng: '',\r\n newStoreDescription: '', newStoreImageURL: '', newStoreContactPerson: '', newStorePhoneNumber: ''})\r\n }\r\n\r\n closeConfigShow = (closeOnEscape, closeOnDimmerClick) => () => {\r\n this.setState({ closeOnEscape, closeOnDimmerClick, open: true })\r\n }\r\n\r\n editModalConfig = (place) => () => {\r\n console.log('place',place)\r\n this.setState({ editPlaceId: place._id })\r\n this.setState({newStoreName: place.name, placeLat: place.location.coordinates[0], placeLng: place.location.coordinates[1]})\r\n place.description && this.setState({newStoreDescription: place.description});\r\n place.place_image_url && this.setState({newStoreImageURL: place.place_image_url});\r\n place.contact && place.contact.name && this.setState({newStoreContactPerson: place.contact.name});\r\n place.contact && place.contact.phone_number && this.setState({newStorePhoneNumber: place.contact.phone_number});\r\n this.setState({open1: true})\r\n \r\n }\r\n\r\n closeConfigShowActionDelete = (dimmer) => () => {\r\n this.setState({ dimmer, openActionDelete: true })\r\n }\r\n\r\n handleChange = (e, { value }) => this.setState({ value })\r\n show = dimmer => () => this.setState({ dimmer, open: true })\r\n close = () => this.setState({ open: false, open1: false, confirmDelete: false })\r\n openConfirmDeleteModal = () => this.setState({confirmDelete: true })\r\n closeActionDelete = () => this.setState({ openActionDelete: false })\r\n\r\n disableItem = (placeId) => {\r\n this.setState({ selectedPlaceId: this.state.selectedPlaceId.concat(placeId) })\r\n console.log(this.state.selectedPlaceId)\r\n console.log(typeof (this.state.selectedPlaceId))\r\n };\r\n\r\n convertPlaceToGeoCode = (place1) => {\r\n this.setState({ placeAddressByGoogle: place1 });\r\n console.log(this.state.placeAddressByGoogle);\r\n Geocode.setApiKey(GOOGLE_KEY);\r\n Geocode.enableDebug();\r\n Geocode.fromAddress(place1.formatted_address).then(\r\n response => {\r\n console.log('Geocode: ', response)\r\n //destruction variables from response\r\n const { lat, lng } = response.results[0].geometry.location;\r\n const { formatted_address } = response.results[0];\r\n this.setState({ placeLat: lat, placeLng: lng, geolocation: formatted_address })\r\n //console.log(lat, lng);\r\n //console.log('state.lat= ', this.state.placeLat)\r\n //console.log('state.lng= ', this.state.placeLng)\r\n },\r\n error => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n handleUploadStart = (file) => (\r\n console.log('firebase file', file),\r\n this.setState({ isUploading: true, progress: 1, uploadError: '' }));\r\n handleProgress = progress => this.setState({ progress });\r\n handleUploadError = error => {\r\n this.setState({ isUploading: false, uploadError: 'There was a problem with your upload. Please try again.' });\r\n console.error(error);\r\n };\r\n handleUploadSuccess = filename => {\r\n this.setState({ newStoreImageName: filename, progress: 100, isUploading: false });\r\n firebase\r\n .storage()\r\n .ref(\"images\")\r\n .child(filename)\r\n .getDownloadURL()\r\n .then(url => this.setState({ newStoreImageURL: url }));\r\n };\r\n\r\n handleWorkDaysChange = (e, { value }) => {\r\n this.setState({ newPlaceWorkDays: value })\r\n }\r\n\r\n handleWorkHoursChange = (e, { value }) => {\r\n this.setState({ newPlaceWorkTime: value })\r\n }\r\n\r\n notifyFirstPlaceCreated = () => toast.success(this.strings.notifyFirstPlaceCreated);\r\n notifyPlaceCreated = () => toast.success(this.strings.notifyPlaceCreated);\r\n notifyPlaceUpdate = () => toast.info(this.strings.notifyPlaceUpdate);\r\n notifyPlaceDeleted = () => toast.warn(this.strings.notifyPlaceDeleted);\r\n notifyError = () => toast.error(this.strings.notifyError);\r\n\r\n showWorkTimeDays = (days) => {\r\n if(days === 'WEEKDAYS') {\r\n return this.strings.worktime_days_weekdays\r\n } else if(days === 'WEEKEND') {\r\n return this.strings.worktime_days_weekend\r\n } else if(days === 'ALLDAYS') {\r\n return this.strings.worktime_days_alldays\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n showWorkTimeHours = (hours) => {\r\n if(hours === '24hours') {\r\n return this.strings.worktime_hours_24hours\r\n } else if(hours === '12hours') {\r\n return this.strings.worktime_hours_12hours\r\n } else if(hours === '8hours') {\r\n return this.strings.worktime_hours_8hours\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n places,\r\n open,\r\n closeOnEscape,\r\n closeOnDimmerClick,\r\n loading,\r\n open1,\r\n confirmDelete\r\n } = this.state;\r\n return (\r\n
\r\n {this._setLanguage(this.props.user[\"https://fc-demo/language\"])}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.strings.header}\r\n \r\n {this.strings.header_desc_extra}\r\n \r\n \r\n {this.strings.header_desc}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {\r\n this.state.loading ?\r\n \r\n :\r\n {this.state.places.length}\r\n }\r\n {this.state.places.length > 1 ? this.strings.pl_box : this.strings.pl_box_s}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {places.length <= 0\r\n ?\r\n (<>\r\n \r\n
{this.strings.no_pl}
\r\n \r\n \r\n )\r\n :\r\n Object.values(places).map(\r\n (place, i) => (\r\n place.status !== 'FOR_DELETION' ?\r\n\r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : (\r\n place.place_image_url ?\r\n \r\n :\r\n \r\n )}\r\n \r\n {loading ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n {place.name}\r\n {\r\n place.description && {place.description}\r\n }\r\n \r\n \r\n {place.contact &&\r\n (\r\n \r\n {place.contact.name ? place.contact.name : ''}\r\n )}\r\n\r\n {place.contact &&\r\n (\r\n \r\n {place.contact.phone_number ? place.contact.phone_number : ''}\r\n )}\r\n\r\n {place.location.geolocation &&\r\n (\r\n \r\n {place.location.geolocation}\r\n )}\r\n \r\n {place.hours &&\r\n (\r\n \r\n \r\n {this.showWorkTimeHours(place.hours.time)}\r\n {this.showWorkTimeDays(place.hours.days)}\r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n \r\n\r\n {this.strings.but_edit}}\r\n centered={false}\r\n open={open1}\r\n closeOnEscape={true}\r\n closeOnDimmerClick={true}\r\n onClose={this.close}\r\n closeIcon\r\n >\r\n {this.strings.but_edit}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {this.strings.image_but}\r\n \r\n {(this.state.progress > 0) &&\r\n \r\n {this.state.uploadError &&

{this.state.uploadError}

}\r\n {(this.state.progress === 100 && this.state.uploadError === \"\") &&

{this.strings.upload_successful}

}\r\n
\r\n }\r\n
\r\n \r\n
{this.strings.pl_det}
\r\n
this.editPlace(this.props.user.sub, this.state.newStoreName, this.state.newStoreContactPerson, this.state.placeLat, this.state.placeLng, this.state.geolocation, this.state.newStoreContactPerson, this.state.newStorePhoneNumber, this.state.newStoreDescription, this.state.newStoreImageURL, this.state.newStoreImageName)}>\r\n this.setState({ newStoreName: e.target.value })} />\r\n \r\n this.setState({ newStoreContactPerson: e.target.value })} />\r\n this.setState({ newStorePhoneNumber: e.target.value })} />\r\n \r\n this.setState({ newStoreDescription: e.target.value })}\r\n label={this.strings.pl_desc}\r\n placeholder={this.state.newStoreDescription ? this.state.newStoreDescription : this.strings.pl_desc_plh}\r\n />\r\n \r\n \r\n {\r\n this.convertPlaceToGeoCode(place1);\r\n }}\r\n types={['establishment', 'geocode']}\r\n componentRestrictions={{ country: \"bg\" }}\r\n />\r\n {console.log(\"place coord\", this.state.newStoreAddress.coordinates)}\r\n {this.state.placeLat !== '' ?\r\n (<>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n : null}\r\n \r\n {this.strings.submit_changes}\r\n \r\n
\r\n
\r\n \r\n {this.strings.but_del}\r\n }\r\n open={confirmDelete}\r\n basic\r\n size='small'\r\n closeOnEscape={false}\r\n closeOnDimmerClick={false}\r\n onClose={this.close}\r\n >\r\n
\r\n \r\n

\r\n {this.strings.are_you_sure_del}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : null\r\n )\r\n )\r\n }\r\n 0 ?\r\n \r\n \r\n
\r\n \r\n
{this.strings.but_add}
\r\n
\r\n
\r\n
\r\n :\r\n \r\n \r\n
\r\n \r\n
{this.strings.but_add}
\r\n
\r\n
\r\n
\r\n }\r\n centered={false}\r\n open={open}\r\n closeOnEscape={closeOnEscape}\r\n closeOnDimmerClick={closeOnDimmerClick}\r\n onClose={this.close}\r\n closeIcon\r\n >\r\n\r\n {this.strings.add_header}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {this.strings.image_but}\r\n \r\n {(this.state.progress > 0) &&\r\n \r\n {this.state.uploadError &&

{this.state.uploadError}

}\r\n {(this.state.progress === 100 && this.state.uploadError === \"\") &&

{this.strings.upload_successful}

}\r\n
\r\n }\r\n\r\n
\r\n \r\n
{this.strings.pl_det}
\r\n
this.savePlaceToDB(this.props.user.sub, this.state.newStoreName, this.state.newStoreContactPerson, this.state.placeLat, this.state.placeLng, this.state.geolocation, this.state.newStoreContactPerson, this.state.newStorePhoneNumber, this.state.newStoreDescription, this.state.newStoreImageURL, this.state.newStoreImageName, this.state.newPlaceWorkDays, this.state.newPlaceWorkTime)}>\r\n this.setState({ newStoreName: e.target.value })} />\r\n \r\n this.setState({ newStoreContactPerson: e.target.value })} />\r\n this.setState({ newStorePhoneNumber: e.target.value })} />\r\n \r\n \r\n \r\n this.setState({ newStoreDescription: e.target.value })}\r\n label={this.strings.pl_desc}\r\n placeholder={this.strings.pl_desc_plh}\r\n />\r\n \r\n \r\n \r\n {\r\n this.convertPlaceToGeoCode(place1);\r\n }}\r\n types={['establishment', 'geocode']}\r\n componentRestrictions={{ country: \"bg\" }}\r\n />\r\n {console.log(\"place coord\", this.state.newStoreAddress.coordinates)}\r\n {this.state.placeLat !== '' ?\r\n (<>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n : null}\r\n \r\n\r\n {this.strings.but_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","import React, { Component } from 'react';\r\nimport axios from 'axios';\r\nimport { Icon, Table, Button, Modal, Segment, Header, Form, Dimmer, Loader, Label} from 'semantic-ui-react';\r\nimport Autocomplete from 'react-google-autocomplete';\r\nimport Geocode from 'react-geocode';\r\n\r\nexport default class StoresPage extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n places: [],\r\n open: false,\r\n open1: false,\r\n loading: true,\r\n selectedPlaceId: [],\r\n openActionDelete: false,\r\n newStoreName: '',\r\n newStoreAddress: {\r\n coordinates: [],\r\n id: '',\r\n type: 'Point'\r\n },\r\n newStoreContactPerson: '',\r\n newStoreImage: '',\r\n newStoreAgreeWithTerms: false,\r\n editPlaceId: '',\r\n editPlaceName: ''\r\n };\r\n this.deletePlace = this.deletePlace.bind(this);\r\n }\r\n\r\n getPlacesDataFromDbByAccountId = (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/places/' : `https://api.dontwaste.me/places/accounts/${id}`\r\n if (this.state.loading) {\r\n axios.get(`${url}`, {})\r\n .then(places => { this.setState({ places: places.data.places, loading: false}) })\r\n .catch(err => {console.log(err);});\r\n }\r\n };\r\n\r\n async savePlaceToDB(account_id, name, person, lat, lng ) {\r\n const findPipe = account_id.indexOf(\"|\");\r\n const id = account_id.substr(findPipe+1);\r\n this.setState({ open: false });\r\n this.setState({ newStoreAgreeWithTerms: false });\r\n await axios.post(\"https://api.dontwaste.me/places/\", {\r\n account_id: id,\r\n name: name,\r\n location: {\r\n coordinates: [lat, lng],\r\n id: id,\r\n type: 'Point'\r\n },\r\n created_by: person\r\n },\r\n {\r\n headers: { \r\n \"Content-Type\" : \"application/json\"\r\n }\r\n }\r\n );\r\n\r\n this.setState({ loading: true });\r\n };\r\n\r\n async deletePlace(storeid) {\r\n //this.setState({ openActionDelete: false });\r\n //console.log(storeid)\r\n await axios.delete(`https://api.dontwaste.me/places/${storeid}`);\r\n this.setState({ loading: true });\r\n }\r\n\r\n async editPlace(place_name, place_address) {\r\n console.log(this.state.editPlaceId)\r\n this.setState({ open: false, open1: false })\r\n await axios.put(`https://api.dontwaste.me/places/${this.state.editPlaceId}`, {\r\n name: place_name\r\n });\r\n this.setState({ loading: true });\r\n }\r\n\r\n closeConfigShow = (closeOnEscape, closeOnDimmerClick) => () => {\r\n this.setState({ closeOnEscape, closeOnDimmerClick, open: true })\r\n }\r\n\r\n closeConfigShow1 = (closeOnEscape1, closeOnDimmerClick1, placeid, placename) => () => {\r\n console.log(placeid)\r\n this.setState({ closeOnEscape1, closeOnDimmerClick1, editPlaceId: placeid , editPlaceName: placename, open1: true })\r\n }\r\n\r\n handleChangeCheckBox = e => this.setState(({ newStoreAgreeWithTerms }) => ({ newStoreAgreeWithTerms: !newStoreAgreeWithTerms }))\r\n \r\n close = () => this.setState({ open: false, open1: false })\r\n\r\n disableItem = (placeId) => {\r\n this.setState({ selectedPlaceId: this.state.selectedPlaceId.concat(placeId) })\r\n console.log(this.state.selectedPlaceId)\r\n console.log(typeof(this.state.selectedPlaceId))\r\n };\r\n\r\n convertPlaceToGeoCode = (place1) => {\r\n this.setState({ placeAddressByGoogle: place1 });\r\n console.log(this.state.placeAddressByGoogle);\r\n Geocode.setApiKey('AIzaSyDfeHv6QM9PqtzE_MM5O_X81ZUjwU_jR0Q');\r\n Geocode.enableDebug();\r\n Geocode.fromAddress(place1.formatted_address).then(\r\n response => {\r\n const { lat, lng } = response.results[0].geometry.location;\r\n this.setState({ placeLat: lat, placeLng: lng })\r\n //console.log(lat, lng);\r\n //console.log('state.lat= ', this.state.placeLat)\r\n //console.log('state.lng= ', this.state.placeLng)\r\n },\r\n error => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const { \r\n places, \r\n open, \r\n closeOnEscape, \r\n closeOnDimmerClick, \r\n loading,\r\n closeOnEscape1, \r\n closeOnDimmerClick1,\r\n open1\r\n } = this.state;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.dashboard_segment_stores_name}\r\n {this.props.dashboard_segment_stores_status}\r\n {this.props.dashboard_segment_stores_type}\r\n {this.props.dashboard_segment_stores_contact}\r\n {this.props.dashboard_segment_stores_actions}\r\n \r\n \r\n\r\n \r\n {\r\n places.length <= 0\r\n ? Please wait!\r\n :\r\n Object.values(places).map(\r\n (place, i) => (\r\n i <= 10 ?\r\n place.status !== 'FOR_DELETION' ?\r\n \r\n {place.name}\r\n \r\n \r\n {place.place_type}\r\n {place.contact ? place.contact.name : null} | {place.contact ? place.contact.phone_number : null}\r\n \r\n\r\n {this.props.dashboard_segment_stores_but_edit}} \r\n centered={false}\r\n open={open1}\r\n closeOnEscape={closeOnEscape1}\r\n closeOnDimmerClick={closeOnDimmerClick1}\r\n onClose={this.close}\r\n closeIcon\r\n >\r\n Edit store\r\n \r\n \r\n
\r\n \r\n Upload image for your store.\r\n
\r\n \r\n
\r\n \r\n
Store details
\r\n
\r\n \r\n this.setState({ newStoreName: e.target.value })} /> \r\n \r\n \r\n \r\n \r\n \r\n Add store\r\n } \r\n basic \r\n size='small'\r\n closeOnEscape={false}\r\n closeOnDimmerClick={false}\r\n onClose={this.close}\r\n >\r\n
\r\n \r\n

\r\n Are you ready to update the 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 : null\r\n :null\r\n )\r\n )\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {this.props.dashboard_segment_stores_but_add}\r\n } \r\n centered={false}\r\n open={open}\r\n closeOnEscape={closeOnEscape}\r\n closeOnDimmerClick={closeOnDimmerClick}\r\n onClose={this.close}\r\n closeIcon\r\n >\r\n Add new store\r\n \r\n \r\n
\r\n \r\n Upload image for your store.\r\n
\r\n \r\n
\r\n \r\n
Store details
\r\n
\r\n \r\n this.setState({ newStoreName: e.target.value })} />\r\n this.setState({ newStoreContactPerson: e.target.value })} />\r\n \r\n \r\n {/* this.setState({ newStoreAddress: e.target.value })} /> */}\r\n {\r\n this.convertPlaceToGeoCode(place1);\r\n }}\r\n types={['establishment']}\r\n componentRestrictions={{country: \"bg\"}}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Add store\r\n } \r\n basic \r\n size='small'\r\n closeOnEscape={false}\r\n closeOnDimmerClick={false}\r\n onClose={this.close}\r\n >\r\n
\r\n \r\n

\r\n Are you ready to add your new store to your 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 \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Icon, Table, Button, Modal, Segment, Header, Form, Dimmer, Loader, Image } from \"semantic-ui-react\";\r\nimport food_bag from \"./food_bag.svg\";\r\n\r\nconst unitsDropDown = [\r\n { key: 'gr', text: 'gr', value: 'gr' },\r\n { key: 'kg', text: 'kg', value: 'kg' },\r\n { key: 'l', text: 'liter', value: 'liter' },\r\n { key: 'ml', text: 'ml', value: 'ml' },\r\n];\r\n\r\nexport default class ProductsTableDashboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n products: [],\r\n open: false,\r\n open1: false,\r\n newProductName: \"\",\r\n newProductAller: \"\",\r\n newProductIngredients: \"\",\r\n newProductImage: food_bag,\r\n newProductAgreeTerms: false,\r\n editProductId: \"\",\r\n editProductName: \"\",\r\n newProductUnits: \"\",\r\n newProductEco: \"Eco 1, Eco 2\"\r\n };\r\n } \r\n\r\n getProductsDataFromDbByAccountId = async (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/products/' : `https://api.dontwaste.me/products/accounts/${id}`\r\n if (this.state.loading) {\r\n await axios.get(`${url}`, {})\r\n .then(products => (this.setState({ products: products.data.products, loading: false})) )\r\n .catch(err => {console.log(err);});\r\n }\r\n }\r\n\r\n async saveProductToDB(userid, name, allergens, ingredients, units) {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n this.setState({ open: false });\r\n this.setState({ newProductAgreeTerms: false });\r\n await axios.post(\"https://api.dontwaste.me/products/\", {\r\n account_id: id,\r\n name: name,\r\n image: this.state.newProductImage,\r\n allergens: allergens,\r\n eco: this.state.newProductEco,\r\n ingredients: ingredients,\r\n units: units\r\n },\r\n {\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n }\r\n }\r\n );\r\n\r\n this.setState({ loading: true });\r\n };\r\n\r\n async editProduct(name, ingredients, allergens, units) {\r\n //console.log(this.state.editProductId)\r\n this.setState({ open: false, open1: false })\r\n await axios.put(`https://api.dontwaste.me/products/${this.state.editProductId}`, {\r\n name: name,\r\n allergens: allergens,\r\n ingredients: ingredients,\r\n units: units\r\n });\r\n this.setState({ loading: true });\r\n }\r\n\r\n closeConfigShow = (closeOnEscape, closeOnDimmerClick) => () => {\r\n this.setState({ closeOnEscape, closeOnDimmerClick, open: true })\r\n }\r\n\r\n closeConfigShow1 = (closeOnEscape1, closeOnDimmerClick1, id, name, ingredients, allergens, units) => () => {\r\n //console.log(id)\r\n this.setState({ closeOnEscape1, closeOnDimmerClick1, editProductId: id, editProductName: name, newProductIngredients: ingredients, newProductAller: allergens, newProductUnits: units, open1: true })\r\n }\r\n\r\n handleChangeCheckBox = e => this.setState(({ newProductAgreeTerms }) => ({ newProductAgreeTerms: !newProductAgreeTerms }))\r\n\r\n handleChange = (e, { value }) => this.setState({ newProductUnits: value })\r\n \r\n close = () => this.setState({ open: false, open1: false })\r\n\r\n render() {\r\n const {\r\n products,\r\n open,\r\n closeOnEscape,\r\n closeOnDimmerClick,\r\n loading,\r\n closeOnEscape1,\r\n closeOnDimmerClick1,\r\n open1\r\n } = this.state;\r\n \r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.dashboard_segment_products_image}\r\n {this.props.dashboard_segment_products_name}\r\n {this.props.dashboard_segment_products_desc}\r\n \r\n \r\n \r\n\r\n \r\n {products.length <= 0 ? (\r\n \r\n {this.props.dashboard_segment_products_no_products}\r\n \r\n ) : (\r\n Object.values(products).map((product, i) =>\r\n i <= 10 ? (\r\n product.isMarkedForDeletion !== true ? (\r\n \r\n \r\n \r\n \r\n {product.name}\r\n \r\n {product.description\r\n ? product.description\r\n : \"Product description\"}\r\n \r\n \r\n \r\n {this.props.dashboard_segment_products_but_edit}\r\n \r\n }\r\n centered={false}\r\n open={open1}\r\n closeOnEscape={closeOnEscape1}\r\n closeOnDimmerClick={closeOnDimmerClick1}\r\n onClose={this.close}\r\n closeIcon\r\n >\r\n Edit product\r\n \r\n \r\n
\r\n \r\n Upload image for your product.\r\n
\r\n \r\n
\r\n \r\n
Product details
\r\n
\r\n \r\n \r\n this.setState({\r\n newProductName: e.target.value\r\n })\r\n }\r\n />\r\n \r\n this.setState({\r\n newProductIngredients:\r\n e.target.value\r\n })\r\n }\r\n />\r\n \r\n this.setState({\r\n newProductAller: e.target.value\r\n })\r\n }\r\n />\r\n \r\n this.setState({\r\n newProductUnits: e.target.value\r\n })\r\n }\r\n />\r\n \r\n \r\n \r\n Update product\r\n \r\n }\r\n basic\r\n size=\"small\"\r\n closeOnEscape={false}\r\n closeOnDimmerClick={false}\r\n onClose={this.close}\r\n >\r\n \r\n \r\n

\r\n Are you ready to update the product?\r\n

\r\n
\r\n \r\n \r\n No\r\n \r\n \r\n this.editProduct(\r\n this.state.newProductName,\r\n this.state.newProductIngredients,\r\n this.state.newProductAller,\r\n this.state.newProductUnits\r\n )\r\n }\r\n >\r\n Yes\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : null\r\n ) : null\r\n )\r\n )}\r\n
\r\n\r\n \r\n \r\n \r\n \r\n {this.props.dashboard_segment_products_but_add}\r\n \r\n \r\n }\r\n centered={false}\r\n open={open}\r\n closeOnEscape={closeOnEscape}\r\n closeOnDimmerClick={closeOnDimmerClick}\r\n onClose={this.close}\r\n closeIcon\r\n >\r\n Add new Product\r\n \r\n \r\n
\r\n \r\n Upload image for your product.\r\n
\r\n \r\n
\r\n \r\n
Product details
\r\n
\r\n \r\n \r\n this.setState({\r\n newProductName: e.target.value\r\n })\r\n }\r\n />\r\n \r\n this.setState({\r\n newProductIngredients: e.target.value\r\n })\r\n }\r\n />\r\n \r\n this.setState({\r\n newProductAller: e.target.value\r\n })\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n Add product\r\n \r\n }\r\n basic\r\n size=\"small\"\r\n closeOnEscape={false}\r\n closeOnDimmerClick={false}\r\n onClose={this.close}\r\n >\r\n \r\n \r\n

\r\n Are you ready to add your new product to your\r\n Company?\r\n

\r\n
\r\n \r\n \r\n No\r\n \r\n \r\n this.saveProductToDB(\r\n this.props.userid,\r\n this.state.newProductName,\r\n this.state.newProductAller,\r\n this.state.newProductIngredients,\r\n this.state.newProductUnits\r\n )\r\n }\r\n >\r\n Yes\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\nimport { Link } from 'react-router-dom'\nimport axios from 'axios';\nimport { Label, Table, Button, Header, Dimmer, Loader, Image } from 'semantic-ui-react'\nimport \"./styles.css\"\nimport no_orders from \"../images/empty/no_orders_person.png\"\n\nclass OrdersDashboard extends Component {\n constructor(props) {\n super(props);\n this.state = {\n orders: [],\n loading: true,\n opened: false\n };\n }\n\n getOrdersByToken = (userid, user_type) => {\n const findPipe = userid.indexOf(\"|\")\n const id = userid.substr(findPipe+1)\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/orders/' : `https://api.dontwaste.me/orders/purchases/accounts/${id}`\n if (this.state.loading) {\n axios.get(`${url}`, {})\n .then(res => ( this.setState({ orders: res.data.orders, loading: false}) ))\n .catch(err => {console.log(err);});\n }\n }\n\n openExtra = () => {\n this.setState({opened: !this.state.opened})\n }\n\n render() {\n const { orders, loading } = this.state;\n return (\n
\n \n Loading\n \n { console.log('ordersTable: ', orders) }\n {\n orders.length <= 0 ?\n <>\n \n
You have no pending orders!
\n \n :\n (\n \n \n \n {this.props.dashboard_segment_orders_table_id}\n {this.props.dashboard_segment_orders_table_status}\n {this.props.dashboard_segment_orders_table_item_id}\n {this.props.dashboard_segment_orders_table_item_qty}\n {this.props.dashboard_segment_orders_table_item_actions}\n \n \n \n { orders.map(\n (order, i) => (\n i < 10 &&\n \n #{order._id}\n \n \n \n \n {\n console.log('order.inventories.length: ',order.inventories.length),\n order.inventories.length > 1 ?\n <> \n \n {\n order.inventories.map(\n item => (\n <>\n {item.inventory_id}
\n \n )\n )\n }\n
\n \n {\n order.inventories.map(\n item => (\n <>\n {item.quantity}
\n \n )\n )\n }\n
\n \n : \n order.inventories.map(\n item => (\n <>\n {item.inventory_id}\n {item.quantity}\n \n )\n )\n }\n \n \n \n \n
\n \n ))\n }\n
\n {/* \n \n \n \n \n \n \n \n */}\n
\n )\n }\n
\n )\n }\n}\n\nexport default OrdersDashboard","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Segment, Image, Grid, Statistic } from \"semantic-ui-react\";\r\nimport product from \"../images/dashboard/barcode.svg\";\r\n\r\nexport default class ProductsCountDashboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n products: [],\r\n loading: true\r\n };\r\n } \r\n\r\n getProductsDataFromDbByAccountId = (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/products/' : `https://api.dontwaste.me/products/accounts/${id}`\r\n if (this.state.loading) {\r\n axios.get(`${url}`, {})\r\n .then(products => { this.setState({ products: products.data.products, loading: false }) })\r\n .catch(err => {console.log(err);});\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.products.length}\r\n \r\n {this.props.dashboard_box_products}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Segment, Image, Grid, Statistic } from \"semantic-ui-react\";\r\nimport client from \"../images/dashboard/network.svg\";\r\n\r\nexport default class OrdersClientsDashboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n orders: [],\r\n sumClients: [],\r\n loading: true\r\n };\r\n } \r\n\r\n getOrdersByToken = (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/orders/' : `https://api.dontwaste.me/orders/purchases/accounts/${id}`\r\n if (this.state.loading) {\r\n axios.get(`${url}`, {})\r\n .then(orders => { this.setState({ orders: orders.data.orders, loading: false }) })\r\n .catch(err => {console.log(err);});\r\n }\r\n };\r\n\r\n getTotalClients(value) {\r\n let counts = {};\r\n for(let i=0; i <= value; i++) {\r\n counts[value[i]] = 1 + (counts[value[i]] || 0)\r\n }\r\n //console.log('counts: ',counts)\r\n }\r\n\r\n getTotalClients2(value) {\r\n return new Set(value).size;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.state.orders.map(\r\n (order) => (\r\n this.state.sumClients.push(order.account_id)\r\n )\r\n ),\r\n this.getTotalClients2(this.state.sumClients)\r\n }\r\n \r\n \r\n {this.props.dashboard_box_clients}\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Segment, Image, Grid, Statistic } from \"semantic-ui-react\";\r\nimport factory from \"../images/dashboard/factory.svg\";\r\n\r\nexport default class StoresCountDashboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n places: [],\r\n loading: true\r\n };\r\n } \r\n\r\n getPlacesDataFromDbByAccountId = (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/places/' : `https://api.dontwaste.me/places/accounts/${id}`\r\n if (this.state.loading) {\r\n axios.get(`${url}`, {})\r\n .then(places => { this.setState({ places: places.data.places, loading: false}) })\r\n .catch(err => {console.log(err);});\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.places.length}\r\n \r\n Обекти\r\n {/* {this.props.dashboard_box_products} */}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Segment, Image, Grid, Statistic } from \"semantic-ui-react\";\r\nimport order from \"../images/dashboard/list.svg\"\r\n\r\nexport default class OrdersCountDashboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n orders: [],\r\n loading: true\r\n };\r\n } \r\n\r\n getOrdersByToken = (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/orders/' : `https://api.dontwaste.me/orders/purchases/accounts/${id}`\r\n if (this.state.loading) {\r\n axios.get(`${url}`, {})\r\n .then(orders => { this.setState({ orders: orders.data.orders, loading: false }) })\r\n .catch(err => {console.log(err);});\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.orders.length}\r\n \r\n {this.props.dashboard_box_orders}\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Segment, Image, Grid, Statistic } from \"semantic-ui-react\";\r\nimport revenue from \"../images/dashboard/graph.svg\"\r\n\r\nexport default class OrdersRevenueDashboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n orders: [],\r\n sumValue: [],\r\n loading: true\r\n };\r\n } \r\n\r\n getOrdersByToken = (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/orders/' : `https://api.dontwaste.me/orders/purchases/accounts/${id}`\r\n if (this.state.loading) {\r\n axios.get(`${url}`, {})\r\n .then(orders => { this.setState({ orders: orders.data.orders, loading: false }) })\r\n .catch(err => {console.log(err);});\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n\r\n \r\n \r\n \r\n \r\n {\r\n this.state.orders.map(\r\n (order) => (\r\n this.state.sumValue.push(order.total_amount)\r\n )\r\n ),\r\n this.state.sumValue.reduce(function(acc, val) { return acc + val; }, 0).toFixed(2)\r\n } ЛВ.\r\n \r\n Оборот\r\n \r\n \r\n\r\n \r\n );\r\n }\r\n }\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Segment, Image, Grid, Statistic } from \"semantic-ui-react\";\r\nimport waste from \"../images/dashboard/planet-earth.svg\"\r\n\r\nvar coSavedFactor = 1\r\n\r\nexport default class StoresCO2 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n orders: [],\r\n loading: true\r\n };\r\n } \r\n\r\n getOrdersByToken = (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/orders/' : `https://api.dontwaste.me/orders/accounts/${id}`\r\n if (this.state.loading) {\r\n axios.get(`${url}`, {})\r\n .then(orders => { this.setState({ orders: orders.data.orders, loading: false }) })\r\n .catch(err => {console.log(err);});\r\n }\r\n };\r\n\r\n calculateFoodWaste() {\r\n //needs to be .nickname but not working\r\n var randFMultiplier = (12/8)\r\n var coSaved = this.state.orders.length*coSavedFactor*randFMultiplier.toFixed(2)\r\n //console.log('ccoSaved', coSaved)\r\n return coSaved\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.calculateFoodWaste()} {this.props.dashboard_box_co2_kg}\r\n \r\n {this.props.dashboard_box_co2}\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Segment, Image, Grid, Statistic } from \"semantic-ui-react\";\r\nimport water from \"../images/dashboard/save-water.svg\";\r\n\r\nvar waterSavedFactor = 3000;\r\n\r\nexport default class StoresWater extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n orders: [],\r\n loading: true\r\n };\r\n } \r\n\r\n getOrdersByToken = (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/orders/' : `https://api.dontwaste.me/orders/accounts/${id}`\r\n if (this.state.loading) {\r\n axios.get(`${url}`, {})\r\n .then(orders => { this.setState({ orders: orders.data.orders, loading: false }) })\r\n .catch(err => {console.log(err);});\r\n }\r\n };\r\n\r\n calculateWaterWaste() {\r\n //needs to be .nickname but not working\r\n var randWMultiplier = (13/10)\r\n var waterSaved = this.state.orders.length*waterSavedFactor*randWMultiplier.toFixed(1)\r\n //console.log('ccoSaved', waterSaved)\r\n return waterSaved\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.calculateWaterWaste()} {this.props.dashboard_box_water_l}\r\n \r\n {this.props.dashboard_box_water}\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Segment, Image, Grid, Statistic } from \"semantic-ui-react\";\r\nimport waste from \"../images/dashboard/planet-earth.svg\";\r\nimport electroicon from \"../images/dashboard/energy-consumption-icon.png\";\r\n\r\nvar coSavedFactor = 1\r\n\r\nexport default class StoresElectro extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n orders: [],\r\n loading: true\r\n };\r\n } \r\n\r\n getOrdersByToken = (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/orders/' : `https://api.dontwaste.me/orders/accounts/${id}`\r\n if (this.state.loading) {\r\n axios.get(`${url}`, {})\r\n .then(orders => { this.setState({ orders: orders.data.orders, loading: false }) })\r\n .catch(err => {console.log(err);});\r\n }\r\n };\r\n\r\n calculateFoodWaste() {\r\n //needs to be .nickname but not working\r\n var randFMultiplier = (16/8)\r\n var coSaved = this.state.orders.length*coSavedFactor*randFMultiplier.toFixed(2)\r\n //console.log('ccoSaved', coSaved)\r\n return coSaved\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.calculateFoodWaste()} kWh\r\n \r\n Спестена ел. енергия\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Segment, Image, Grid, Statistic } from \"semantic-ui-react\";\r\nimport waste from \"../images/dashboard/planet-earth.svg\";\r\nimport fuelicon from \"../images/dashboard/fuel-consumption-icon.png\";\r\n\r\nvar coSavedFactor = 1\r\n\r\nexport default class StoresFuel extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n orders: [],\r\n loading: true\r\n };\r\n } \r\n\r\n getOrdersByToken = (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/orders/' : `https://api.dontwaste.me/orders/accounts/${id}`\r\n if (this.state.loading) {\r\n axios.get(`${url}`, {})\r\n .then(orders => { this.setState({ orders: orders.data.orders, loading: false }) })\r\n .catch(err => {console.log(err);});\r\n }\r\n };\r\n\r\n calculateFoodWaste() {\r\n //needs to be .nickname but not working\r\n var randFMultiplier = (12/8)\r\n var coSaved = this.state.orders.length*coSavedFactor*randFMultiplier.toFixed(2)\r\n //console.log('ccoSaved', coSaved)\r\n return coSaved\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.calculateFoodWaste()} л.\r\n \r\n Спестено гориво\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Segment, Image, Grid, Statistic } from \"semantic-ui-react\";\r\nimport waste from \"../images/dashboard/planet-earth.svg\";\r\nimport waste2 from \"../images/dashboard/waste-div-icon.png\";\r\n\r\nvar coSavedFactor = 1\r\n\r\nexport default class StoresWaste extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n orders: [],\r\n loading: true\r\n };\r\n } \r\n\r\n getOrdersByToken = (userid, user_type) => {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n let url = user_type === \"ADMIN\" ? 'https://api.dontwaste.me/orders/' : `https://api.dontwaste.me/orders/accounts/${id}`\r\n if (this.state.loading) {\r\n axios.get(`${url}`, {})\r\n .then(orders => { this.setState({ orders: orders.data.orders, loading: false }) })\r\n .catch(err => {console.log(err);});\r\n }\r\n };\r\n\r\n calculateFoodWaste() {\r\n //needs to be .nickname but not working\r\n var randFMultiplier = (10/8)\r\n var coSaved = this.state.orders.length*coSavedFactor*randFMultiplier.toFixed(2)\r\n //console.log('ccoSaved', coSaved)\r\n return coSaved\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.calculateFoodWaste()} кг.\r\n \r\n Диверсификация Отпадък\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n","/* eslint-disable max-len */\r\n// For this screen we need to consider pending orders, completed orders, inventories\r\nimport React, { Component } from 'react'\r\nimport { Segment, Statistic, Dimmer, Loader, Grid, Item, Image, Header } from 'semantic-ui-react'\r\nimport axios from 'axios';\r\nimport { css } from \"emotion\";\r\nimport StoresTableDashboard from \"./../Stores/StoresTableDashboard\";\r\nimport ProductsTableDashboard from \"./../Products/ProductsTableDashboard\";\r\nimport OrdersTableDashboard from \"./../Orders/ordersDashboardTable\";\r\nimport ProductsCountDashboard from \"./../Products/ProductsCountDashboard\";\r\nimport OrdersClientsDashboard from \"./../Orders/ordersDashboardClients\";\r\nimport StoresCountDashboard from \"./../Stores/StoresCountDashboard\";\r\nimport OrdersDashboardCount from \"./../Orders/ordersDashboardCount\";\r\nimport OrdersDashboardRevenue from \"./../Orders/ordersDashboardRevenue\";\r\nimport StoresCO2 from \"./../Stores/StoreCO2\";\r\nimport StoresWater from \"./../Stores/StoreWater\";\r\nimport StoresElectro from \"./../Stores/StoreElectro\";\r\nimport StoresFuel from \"./../Stores/StoreFuel\";\r\nimport StoresWaste from \"./../Stores/StoreWaste\";\r\nimport dog from \"./../avatars/dog.png\"\r\nimport cat from \"./../avatars/cat.png\"\r\nimport chick from \"./../avatars/chick.png\"\r\nimport rabbit from \"./../avatars/rabbit.png\"\r\nimport fish from \"./../avatars/fish.png\"\r\nimport parrot from \"./../avatars/parrot.png\"\r\nimport revenue from \"./../images/dashboard/graph.svg\"\r\n\r\nvar avatars = [dog, cat, chick, rabbit, fish, parrot];\r\n\r\nconst ui = css`\r\n .ui\r\n { \r\n .statistic {\r\n display: flex;\r\n align-items: center;\r\n .label {\r\n margin-bottom: 1em;\r\n }\r\n}}\r\n`;\r\n\r\nexport default class ContainerExampleContainer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n products: [],\r\n orders: [],\r\n accounts: [],\r\n loading: true,\r\n loadingProducts: true,\r\n loadingOrders: true,\r\n loadingAccounts: true,\r\n avatar: null,\r\n sumValue: [],\r\n sumClients: [],\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ avatar: this.chooseRandom(avatars) })\r\n }\r\n\r\n chooseRandom(list) {\r\n var rand = list[Math.floor(Math.random() * list.length)];\r\n return rand\r\n }\r\n\r\n getData(userid) {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe+1);\r\n if (this.state.loading) {\r\n this.getOrdersByToken(id)\r\n //this.getProductsDataFromDbByAccountId(userid)\r\n this.setState({ loading: false })\r\n }\r\n };\r\n\r\n getProductsDataFromDbByAccountId = (userid) => {\r\n axios.get(`https://api.dontwaste.me/products/accounts/${userid}`, {})\r\n .then(products => { this.setState({ products: products.data.products}) })\r\n .catch(err => {console.log(err);});\r\n };\r\n\r\n getOrdersByToken = (userid) => {\r\n axios.get(`https://api.dontwaste.me/orders/accounts/${userid}`, {})\r\n .then(orders => (this.setState({ orders: orders.data.orders}), console.log('orders: ',orders.data.orders)))\r\n .catch(err => {console.log(err);});\r\n };\r\n\r\n render() {\r\n const { loading, avatar } = this.state\r\n return (\r\n
\r\n \r\n Loading\r\n \r\n {console.log('Refresh outside Dimmer')}\r\n \r\n \r\n\r\n \r\n {this.props.dashboard_welcome}, {this.props.user.nickname ? this.props.user.nickname : 'FoodChain Hero'} \r\n \r\n {this.props.dashboard_label}\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n */}\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n {this.props.dashboard_segment_products_header}\r\n {this.props.dashboard_segment_products_label}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n {this.props.dashboard_segment_stores_header}\r\n \r\n {this.props.dashboard_segment_stores_label}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n
\r\n \r\n {this.props.dashboard_box_orders}\r\n {this.props.dashboard_segment_orders_label}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\n","import React, { useEffect, useState } from 'react'\nimport { Grid, Segment, Statistic, Image } from 'semantic-ui-react'\nimport { ToastContainer, toast } from 'react-toastify';\nimport axios from 'axios';\nimport waste from \"../images/dashboard/planet-earth.svg\"\nimport water from \"../images/dashboard/save-water.svg\";\n\nconst coSavedFactor = 1;\nconst waterSavedFactor = 3000;\n\nconst FoodDataRow = ({ userid }) => {\n const [purchases, setPurchases] = useState([]);\n const notifyError = () => toast.error(\"Something went wrong!\");\n useEffect(() => {\n const getPurchasesByToken = async (userid) => {\n const findPipe = userid.indexOf(\"|\");\n const id = userid.substr(findPipe + 1);\n await axios.get(`https://api.dontwaste.me/orders/purchases/accounts/${id}`, {\n })\n .then(res => (\n console.log('purchases res', res),\n setPurchases(res.data.orders)))\n .catch(err => {\n console.log(err);\n notifyError()\n });\n }\n console.log('userid', userid)\n getPurchasesByToken(userid)\n }, [])\n const calculateWaterWaste = () => {\n //needs to be .nickname but not working\n let waterSaved\n const randWMultiplier = (13 / 10)\n console.log(\"purchases.length\", purchases.length)\n waterSaved = purchases.length < 1 ? 0 : purchases.length * waterSavedFactor * randWMultiplier.toFixed(1)\n console.log('waterSaved', waterSaved)\n return waterSaved\n }\n\n const calculateFoodWaste = () => {\n //needs to be .nickname but not working\n const randFMultiplier = (12 / 8)\n let coSaved\n coSaved = purchases.length < 1 ? 0 : purchases.length * coSavedFactor * randFMultiplier.toFixed(2)\n console.log('ccoSaved', coSaved)\n return coSaved\n }\n\n const calculatePurchases = () => { \n return purchases.length\n }\n const calculateFoodRescued = () => {\n let totalWeight = 0;\n purchases.map(purchase =>\n purchase.inventories && purchase.inventories.map(item =>\n item.weight ? (\n totalWeight += item.weight.units === \"kg\" ? item.weight.value : item.weight.value/1000\n )\n :\n totalWeight+=0.300\n )\n )\n return totalWeight.toFixed(2)\n }\n return (\n \n \n \n \n \n \n \n\n {calculatePurchases()}\n\n Total Purchases\n \n \n \n \n \n \n \n \n \n\n {calculateFoodRescued()} kg\n\n Food rescued\n \n \n \n \n \n \n \n \n \n\n {calculateFoodWaste()} kg\n\n CO2 emissions reduced\n \n \n \n \n \n \n \n \n \n\n {calculateWaterWaste()} l\n\n Water saved\n \n \n \n \n )\n}\nexport default FoodDataRow","/* eslint-disable max-len */\r\n// For this screen we need to consider pending orders, completed orders, inventories\r\nimport React, { Component } from 'react'\r\nimport { Segment, Statistic, Dimmer, Loader, Grid, Item, Image, Header } from 'semantic-ui-react'\r\nimport axios from 'axios';\r\nimport { css } from \"emotion\";\r\nimport OrdersTableDashboard from \"./../Orders/ordersDashboardTable\";\r\nimport FoodDataRow from './../Purchases/FoodDataRow'\r\nimport dog from \"./../avatars/dog.png\"\r\nimport cat from \"./../avatars/cat.png\"\r\nimport chick from \"./../avatars/chick.png\"\r\nimport rabbit from \"./../avatars/rabbit.png\"\r\nimport fish from \"./../avatars/fish.png\"\r\nimport parrot from \"./../avatars/parrot.png\"\r\nimport revenue from \"./../images/dashboard/graph.svg\"\r\n\r\nvar avatars = [dog, cat, chick, rabbit, fish, parrot];\r\n\r\nconst ui = css`\r\n .ui\r\n { \r\n .statistic {\r\n display: flex;\r\n align-items: center;\r\n .label {\r\n margin-bottom: 1em;\r\n }\r\n}}\r\n`;\r\n\r\nexport default class ContainerExampleContainer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n products: [],\r\n orders: [],\r\n accounts: [],\r\n loading: true,\r\n loadingProducts: true,\r\n loadingOrders: true,\r\n loadingAccounts: true,\r\n avatar: null,\r\n sumValue: [],\r\n sumClients: [],\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ avatar: this.chooseRandom(avatars) })\r\n }\r\n\r\n chooseRandom(list) {\r\n var rand = list[Math.floor(Math.random() * list.length)];\r\n return rand\r\n }\r\n\r\n getData(userid) {\r\n const findPipe = userid.indexOf(\"|\");\r\n const id = userid.substr(findPipe + 1);\r\n if (this.state.loading) {\r\n this.getOrdersByToken(id)\r\n //this.getProductsDataFromDbByAccountId(userid)\r\n this.setState({ loading: false })\r\n }\r\n };\r\n\r\n getProductsDataFromDbByAccountId = (userid) => {\r\n axios.get(`https://api.dontwaste.me/products/accounts/${userid}`, {})\r\n .then(products => { this.setState({ products: products.data.products }) })\r\n .catch(err => { console.log(err); });\r\n };\r\n\r\n getOrdersByToken = (userid) => {\r\n axios.get(`https://api.dontwaste.me/orders/accounts/${userid}`, {})\r\n .then(orders => (this.setState({ orders: orders.data.orders }), console.log('orders: ', orders.data.orders)))\r\n .catch(err => { console.log(err); });\r\n };\r\n\r\n render() {\r\n const { loading, avatar } = this.state\r\n return (\r\n
\r\n \r\n Loading\r\n \r\n {console.log('Refresh outside Dimmer')}\r\n \r\n \r\n\r\n \r\n Welcome back, {this.props.user.nickname ? this.props.user.nickname : 'FoodChain Hero'} \r\n \r\n This is your FoodChain dashboard. View your purchases and food savings in a glance!\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Purchases\r\n View your latest purchases and let us know if there is a problem\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport Iframe from 'react-iframe'\r\n\r\nexport default class ContainerExampleContainer extends Component {\r\n\r\n render() {\r\n return (\r\n
\r\n {/*

It was KIBANA in iframe

*/}\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import React from 'react';\nimport { useAuth0 } from \"../react-auth0-spa\";\nimport LocalizedStrings from 'react-localization';\nimport { Tab } from 'semantic-ui-react';\nimport MyProfile from '../components/MyProfile';\nimport Purchases from '../components/Purchases/';\nimport Products from '../components/Products';\nimport Inventories from '../components/Inventories/';\nimport OrdersNew from '../components/Orders';\nimport Stores from '../components/Stores';\nimport VendorDashboard from '../components/Dashboard/VendorDashboard';\nimport UserDashboard from '../components/Dashboard/UserDashboard';\nimport Insights from '../components/Insights';\nimport \"./dashboard.css\";\n\nconst DashboardAdmin = () => {\n const { user } = useAuth0();\n\n const strings = new LocalizedStrings({\n en:{\n tab_dashboard_content:\"Dashboard\",\n tab_insights_content:\"Insights\",\n tab_products_content:\"Products\",\n tab_inventories_content:\"Inventories\",\n tab_orders_content:\"Orders\",\n tab_places_content:\"Places\",\n tab_purchases_content:\"My Purchases\",\n tab_profile_content:\"My Profile\",\n dashboard_welcome: \"Welcome back\",\n dashboard_currency: \"$\",\n dashboard_label: \"This is your FoodChain dashboard. View your orders, stores, and food metrics in a glance\",\n dashboard_box_revenue: \"REVENUE\",\n dashboard_box_orders: \"ORDERS\",\n dashboard_segment_orders_header: \"Orders\",\n dashboard_segment_orders_label: \"View your latest orders and let us know if there is a problem\",\n dashboard_segment_orders_table_id: \"ID\",\n dashboard_segment_orders_table_status: \"Status\",\n dashboard_segment_orders_table_item_id: \"Item ID\",\n dashboard_segment_orders_table_item_qty: \"Quantity\",\n dashboard_segment_orders_table_item_actions: \"Actions\",\n dashboard_segment_orders_table_but_report: \"Report a problem\",\n dashboard_segment_products_header: \"Products\",\n dashboard_segment_products_label: \"View your latest products and quickly add them to your inventory\",\n dashboard_segment_products_image: \"Image\",\n dashboard_segment_products_name: \"Name\",\n dashboard_segment_products_desc: \"Description\",\n dashboard_segment_products_but_edit: \"Edit\",\n dashboard_segment_products_but_add: \"Add Product\",\n dashboard_segment_products_no_products: \"No products\",\n dashboard_box_products: \"Products\",\n dashboard_box_clients: \"Clients\",\n dashboard_box_co2_kg: \"KG\",\n dashboard_box_co2: \"CO2 emissions reduced\",\n dashboard_box_water_l: \"L\",\n dashboard_box_water: \"Water rescued\",\n dashboard_segment_stores_header: \"View your stores\",\n dashboard_segment_stores_label: \"View and manage your latest stores at a glance. Click View more to find all of your places\",\n dashboard_segment_stores_name: \"Name\",\n dashboard_segment_stores_status: \"Status\",\n dashboard_segment_stores_type: \"Type\",\n dashboard_segment_stores_contact: \"Contact\",\n dashboard_segment_stores_actions: \"Actions\",\n dashboard_segment_stores_but_edit: \"Edit\",\n dashboard_segment_stores_but_add: \"Add Store\",\n products_header: \"Products\",\n products_label: \"This section contains all of your company's products. Think of it as a database where you can store all of the data for your products and when any of these products are about to expire you can quickly sell it at a reduced price by adding it to your 'Inventory'. Products are shared across all of your stores so that you don't have to list the same product many times.\",\n products_products: \"Products\",\n products_rating: \"Rating\",\n products_product_detail_label: \"Product details\",\n products_but_edit: \"Edit\",\n products_but_delete: \"Delete\",\n products_add_product: \"Add Product\",\n inv_header: \"Inventories\",\n inv_label: \"This is where the magic happens! Choose the store where you have left-over food, select the product, and set the reduced price and pick-up time for the customer. You can monitor the items that you have sold and adjust the price and quantity available if necessary.\",\n inv_items_on_sale: \"Items on sale\",\n inv_items_sold: \"of Items sold\",\n inv_but_edit: \"Edit\",\n inv_but_delete: \"Delete\",\n inv_add_item: \"Add Item\",\n orders_header: \"Orders\",\n orders_label: \"This section contains all of your company's products. Think of it as a database where you can store all of the data for your products and when any of these products are about to expire you can quickly sell it at a reduced price by adding it to your 'Inventory'. Products are shared across all of your stores so that you don't have to list the same product many times.\",\n orders_orders: \"ORDERS\",\n orders_orders_id: \"Order ID\",\n orders_show: \"Show\",\n orders_show_more: \"more\",\n orders_show_less: \"less\",\n orders_order_details: \"Order details\",\n places_header: \"Places\",\n places_label: \"These are all of the stores that belong to your Company. Do you own a food truck? Simply change the location associated with your store and you can start saving food wherever you are!\",\n places_places: \"PLACES\",\n places_but_edit: \"Edit\",\n places_but_delete: \"Delete\",\n places_add_item: \"Add Store\",\n purchases_header: \"Purchases\",\n purchases_label: \"These are your purchases.\",\n purchases_purchases: \"Purchases\",\n purchases_orders_id: \"Purchase ID\",\n purchases_show: \"Show\",\n purchases_show_more: \"more\",\n purchases_show_less: \"less\",\n purchases_order_details: \"Purchase details\",\n },\n bg: {\n tab_dashboard_content:\"Табло\",\n tab_insights_content:\"Метрики\",\n tab_products_content:\"Продукти\",\n tab_inventories_content:\"Инвентар\",\n tab_orders_content:\"Поръчки\",\n tab_places_content:\"Обекти\",\n tab_purchases_content:\"Покупки\",\n tab_profile_content:\"Профил\",\n dashboard_welcome: \"Добре дошли отново\",\n dashboard_currency: \"лв\",\n dashboard_label: \"Това е твоето FoodChain табло. Информация за продукти, поръчки, обекти и други метрики на едно място.\",\n dashboard_box_revenue: \"Оборот\",\n dashboard_box_orders: \"Поръчки\",\n dashboard_segment_orders_header: \"Поръчки\",\n dashboard_segment_orders_label: \"Виж последните си поръчки и ни сигнализирай ако има проблем\",\n dashboard_segment_orders_table_id: \"Иден. номер\",\n dashboard_segment_orders_table_status: \"Статут\",\n dashboard_segment_orders_table_item_id: \"Инвентар Ид.Н.\",\n dashboard_segment_orders_table_item_qty: \"Количество\",\n dashboard_segment_orders_table_item_actions: \"Действия\",\n dashboard_segment_orders_table_but_report: \"Сигнализирай за проблем\",\n dashboard_segment_products_header: \"Продукти\",\n dashboard_segment_products_label: \"Виж най-новите си продукти и бързо създай инвентар\",\n dashboard_segment_products_image: \"Снимка\",\n dashboard_segment_products_name: \"Име\",\n dashboard_segment_products_desc: \"Описание\",\n dashboard_segment_products_but_edit: \"Промени\",\n dashboard_segment_products_but_add: \"Добави продукт\",\n dashboard_segment_products_no_products: \"Нямате продукти\",\n dashboard_box_products: \"Продукти\",\n dashboard_box_clients: \"Клиенти\",\n dashboard_box_co2_kg: \"КГ\",\n dashboard_box_co2: \"CO2 спестени емисии\",\n dashboard_box_water_l: \"Литра\",\n dashboard_box_water: \"Запазена вода\",\n dashboard_segment_stores_header: \"Твоите обекти\",\n dashboard_segment_stores_label: \"Прегледай и промени обектите си ако има нужда\",\n dashboard_segment_stores_name: \"Име\",\n dashboard_segment_stores_status: \"Статут\",\n dashboard_segment_stores_type: \"Тип\",\n dashboard_segment_stores_contact: \"Контакт\",\n dashboard_segment_stores_actions: \"Действия\",\n dashboard_segment_stores_but_edit: \"Промени\",\n dashboard_segment_stores_but_add: \"Добави обект\",\n products_header: \"Продукти\",\n products_label: \"This section contains all of your company's products. Think of it as a database where you can store all of the data for your products and when any of these products are about to expire you can quickly sell it at a reduced price by adding it to your 'Inventory'. Products are shared across all of your stores so that you don't have to list the same product many times.\",\n products_products: \"Продукти\",\n products_rating: \"Рейтинг\",\n products_product_detail_label: \"Детайли продукт\",\n products_but_edit: \"Промени\",\n products_but_delete: \"Изтрий\",\n products_add_product: \"Добави продукт\",\n inv_header: \"Инвентар\",\n inv_label: \"This is where the magic happens! Choose the store where you have left-over food, select the product, and set the reduced price and pick-up time for the customer. You can monitor the items that you have sold and adjust the price and quantity available if necessary.\",\n inv_items_on_sale: \"Позиции за продажба\",\n inv_items_sold: \"продадени позиции\",\n inv_but_edit: \"Промени\",\n inv_but_delete: \"Изтрий\",\n inv_add_item: \"Добави инвентар\",\n orders_header: \"Поръчки\",\n orders_label: \"This section contains all of your company's products. Think of it as a database where you can store all of the data for your products and when any of these products are about to expire you can quickly sell it at a reduced price by adding it to your 'Inventory'. Products are shared across all of your stores so that you don't have to list the same product many times.\",\n orders_orders: \"ПОРЪЧКИ\",\n orders_orders_id: \"Поръчка Ид.Н.\",\n orders_show: \"Покажи\",\n orders_show_more: \"повече\",\n orders_show_less: \"по-малко\",\n orders_order_details: \"Детайли поръчка\",\n places_header: \"Обекти\",\n places_label: \"These are all of the stores that belong to your Company. Do you own a food truck? Simply change the location associated with your store and you can start saving food wherever you are!\",\n places_places: \"ОБЕКТИ\",\n places_but_edit: \"Промени\",\n places_but_delete: \"Изтрий\",\n places_add_item: \"Добави обект\",\n purchases_header: \"Покупки\",\n purchases_label: \"Това са твоите покупки.\",\n purchases_purchases: \"Покупки\",\n purchases_orders_id: \"Покупка Ид.Н.\",\n purchases_show: \"Покажи\",\n purchases_show_more: \"повече\",\n purchases_show_less: \"по-малко\",\n purchases_order_details: \"Детайли покупка\",\n }\n });\n\n const _setLanguage = () => {\n //console.log(lang)\n strings.setLanguage(user[\"https://fc-demo/language\"])\n }\n\n _setLanguage();\n\n let panes;\n console.log('user', user[\"https://fc-demo.platform/meta_data\"].account_type)\n user[\"https://fc-demo.platform/meta_data\"].account_type === \"BASIC\" ? (\n panes = [\n { menuItem: { key: 'dashboard', icon: 'dashboard', content: 'Dashboard' }, render: () => },\n { menuItem: { key: 'mypurchases', icon: 'cart arrow down', content: 'My Purchases' }, render: () => },\n ])\n :\n (\n panes = [\n { menuItem: { key: 'dashboard', icon: 'dashboard', content: strings.tab_dashboard_content }, render: () => \n \n },\n { menuItem: { key: 'insights', icon: 'chart area', content: strings.tab_insights_content }, render: () => \n \n },\n { menuItem: { key: 'products', icon: 'food', content: strings.tab_products_content }, render: () => \n \n },\n { menuItem: { key: 'Inventories', icon: 'percent', content: strings.tab_inventories_content }, render: () => \n \n },\n { menuItem: { key: 'orders', icon: 'ordered list', content: strings.tab_orders_content }, render: () => \n \n },\n { menuItem: { key: 'places', icon: 'building', content: strings.tab_places_content }, render: () => \n \n },\n { menuItem: { key: 'mypurchases', icon: 'cart arrow down', content: strings.tab_purchases_content }, render: () => \n \n },\n ]\n )\n return (\n \n )\n}\n\nexport default DashboardAdmin\n","import React, { Component } from 'react';\nimport { Grid, Image, Header, Label, Segment, Icon, Button, Container } from 'semantic-ui-react'\nimport { Link } from 'react-router-dom'\nimport dayjs from \"dayjs\";\nimport ProductMap from './productMap.js'\nimport ItemsByVendor from '../MapPageItemsByVendor';\nimport \"./style.css\"\nimport * as moment from \"moment\";\nimport co2 from \"../images/dashboard/factory.svg\"\nimport water from \"../images/dashboard/save-water.svg\"\nimport Application from \"react-rainbow-components/components/Application\";\nimport Colors from '../../constants/Colors'\nimport ProductsContainerSingleItem from '../../containers/ProductsContainerSingleItem'\nconst theme = {\n rainbow: {\n palette: {\n brand: Colors.fcPink,\n },\n },\n};\n/* require('moment-countdown');\nrequire('moment-timer') */\n\nclass Detailpage2 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n qty: 1,\n opened: false,\n time_remaining: ''\n \n };\n this.countdownTimer = this.countdownTimer.bind(this)\n }\n componentDidMount() {\n this.setState({ time_remaining: this.countdownTimer() })\n }\n componentDidUpdate() {\n setTimeout(() => {\n this.setState({ time_remaining: this.countdownTimer() })\n }, 1000);\n }\n\n countdownTimer() {\n let difference;\n console.log('exp_date', this.props.inventory.expiry_date)\n const exp_date = dayjs(this.props.inventory.expiry_date)\n const today = dayjs()\n difference = exp_date.diff(difference)\n // console.log('exp date', exp_date)\n // console.log('today', today)\n // console.log('diff', difference)\n let timeLeft = {};\n\n if (difference > 0) {\n timeLeft = {\n days: Math.floor(difference / (1000 * 60 * 60 * 24)),\n hours: Math.floor((difference / (1000 * 60 * 60)) % 24),\n minutes: Math.floor((difference / 1000 / 60) % 60),\n seconds: Math.floor((difference / 1000) % 60)\n }\n }\n\n return timeLeft;\n }\n\n calculatePickUpTime(timestamp) {\n const divided = timestamp / 1000;\n var date = moment.unix(divided).format(\"h:mm a on dddd, MMMM Do\");\n return date;\n }\n\n openExtra = () => {\n this.setState({ opened: !this.state.opened })\n }\n \n render() {\n const { opened, time_remaining } = this.state;\n const { location, place_name } = this.props.item\n const { image, description, allergens, } = this.props.product;\n const { product_name, deal_type, quantity_available, reduced_price, original_price, expiry_date, place_id, account_id, _id } = this.props.inventory;\n const place = this.props.place;\n// clock needs to be improved to get time on first open instantenously without updating the duration after that\n/* var timerFirst = moment.duration(1000).timer( ()=> {\n this.countdownTimer(expiry_date)}); */\n const timerComponents = [];\n\n Object.keys(time_remaining).forEach(interval => {\n if (!time_remaining[interval]) {\n return;\n }\n\n timerComponents.push(\n \n {time_remaining[interval]} {interval}{\" \"}\n \n );\n });\n\n return (\n \n \n {/* {timerFirst.start()} */}\n {/* {console.log('this.stateHomePr: ', this.state)} */}\n {/* {console.log('this.propsHomePr: ', this.props)} */}\n \n \n \n \n \n
{product_name}\n {this.props.dist} km away from you\n Collect before: {this.calculatePickUpTime(expiry_date)}\n \n
\n {!opened ? null :\n ( \n <>\n
{this.props.product_detail_desc}
\n

Id: {_id}

\n
{this.props.product_detail_cat_type}
\n

{deal_type}

\n
{this.props.product_detail_delivery}
\n

{this.props.product_detail_pick_by}

\n
{this.props.product_detail_sold_by}
\n
Account ID: {account_id}
\n

{this.props.product_detail_vendor_desc}

\n

{this.props.product_detail_place} {place_name}

\n

Place ID: {place_id}

\n \n )}\n \n
\n
\n \n {/* \n
Reduced price: ${reduced_price}
\n

Original price: ${original_price}

\n \n\n\n { (quantity_available > 0) ?\n \n \n \n :\n \n }\n\n

\n
{this.props.product_detail_env_header}
\n \n \n \n \n \n \n \n 0.5 {this.props.product_detail_env_co2}\n 20 {this.props.product_detail_env_water}\n \n \n
*/}\n \n
\n \n
\n {/* \n \n */}\n \n \n
{this.props.place.name}\n {this.props.place.location.geolocation}\n
\n {this.props.place.description && \n \n

{this.props.place.description}

\n
}\n \n \n \n
\n \n \n \n
\n\n
\n \n );\n }\n}\n\nexport default Detailpage2;","import React from \"react\";\nimport axios from 'axios';\nimport { ReactiveBase } from \"@appbaseio/reactivesearch\";\nimport { ReactiveGoogleMap } from \"@appbaseio/reactivemaps\";\nimport { Link } from \"react-router-dom\";\nimport { Grid, Card, Image, Label, Icon, Header, Modal, Segment, Button, Divider } from \"semantic-ui-react\";\nimport \"./mapstyles.css\";\nimport * as moment from \"moment\";\nimport HomeProductNoVendorItemsButton from \"../components/HomeProduct/index_no_itemsVendorButton\";\nimport no_results from \"../components/images/empty/no_results.png\";\nimport YouTube from 'react-youtube';\n\nconst providers = [\n {\n label: \"Google Map\",\n value: \"googleMap\"\n },\n {\n label: \"OpenStreet Map\",\n value: \"openstreetMap\"\n }\n];\n\nexport default class MapPageItemsByVendor extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n mapProvider: providers[0],\n latitude: 42.069325,\n longitude: 25.606698,\n loading: true,\n loadingLat: true,\n loadingLng: true,\n noProducts: true,\n noResults: false,\n selectedProduct: [],\n productClicked: false, \n account_info: [],\n product_info: [],\n place_info: [],\n inventory_info: [],\n dist: Number,\n PlaceID: '',\n isSetVendorId: false,\n vendorID: '',\n };\n this.setProvider = this.setProvider.bind(this);\n }\n\n componentDidMount() {\n navigator.geolocation.getCurrentPosition(\n this.geo_lat,\n this.geo_error,\n this.geo_options\n );\n navigator.geolocation.getCurrentPosition(\n this.geo_lng,\n this.geo_error,\n this.geo_options\n );\n navigator.geolocation.getCurrentPosition(\n this.geo_success,\n this.geo_error,\n this.geo_options\n );\n console.log(\"component did mount\")\n fetch(`https://api.dontwaste.me/places/${this.getPlaceID()}`)\n .then(res => res.json())\n .then(res => (\n console.log('res', res.place),\n this.setState({ place_info: res.place, loading: false }, console.log('place info set state'))))\n }\n\n calculateTimeRemaining(timestamp, id) {\n const divided = timestamp / 1000;\n var date = moment.unix(divided)\n var displayDate = moment().isAfter(date) ? \n (\n this.deleteItem(id)\n )\n : date.fromNow(true) + \" remaining\";\n return displayDate;\n }\n\n async deleteItem(itemid) {\n //this.setState({ openActionDelete: false });\n //console.log(itemid)\n await axios.delete(`https://api.dontwaste.me/inventories/exp/${itemid}`)\n //.then ( this.props.deleteCallback(itemid), console.log('update id: ', itemid))\n // this.setState({ loading: true });\n }\n\n calculatePickUpTime(timestamp) {\n const divided = timestamp / 1000;\n var date = moment.unix(divided).format(\"dddd, MMMM Do YYYY, h:mm:ss a\");\n return date;\n }\n geo_lat = position => {\n this.setState({ latitude: position.coords.latitude, loadingLat: false });\n //console.log(\"geo_lat= \", this.state.latitude);\n };\n\n geo_lng = position => {\n this.setState({ longitude: position.coords.longitude, loadingLng: false });\n //console.log(\"geo_lng= \", this.state.longitude);\n };\n\n geo_success(position) {\n return (\n position.coords.latitude,\n position.coords.longitude\n //console.log(\"lat= \", position.coords.latitude, \"lon= \", position.coords.longitude)\n );\n }\n\n geo_error() {\n alert(\"Sorry, no position available.\");\n }\n\n geo_options(enableHighAccuracy, maximumAge, timeout) {\n return (\n (enableHighAccuracy = false), (maximumAge = 30000), (timeout = 27000)\n );\n }\n\n setProvider(mapProvider) {\n this.setState({\n mapProvider\n });\n }\n \n handleCardClick = (product) => {\n fetch(`https://api.dontwaste.me/inventories/${product.item_id}`)\n .then(res => res.json())\n .then(res => \n this.setState({ inventory_info: res.item, product_info: res.itemProduct[0], place_info: res.itemPlace[0] },\n /* this.fetchProductInfo(res.item.product_id),\n this.fetchPlaceInfo(res.item.place_id),\n this.fetchAccountInfo(res.item.account_id), */\n this._findDistance(product.location)))\n .then(() => this.setState({ productClicked: true, selectedProduct: product }))\n };\n\n /* fetchProductInfo = (id) => {\n axios.get(`https://api.dontwaste.me/products/${id}`)\n .then((res) => this.setState({product_info: res.data.product}))\n }; */\n\n /* fetchPlaceInfo = (id) => {\n axios.get(`https://api.dontwaste.me/places/${id}`)\n .then((res) => this.setState({place_info: res.data.place}))\n }; */\n\n /* fetchAccountInfo = (id) => {\n axios.get(`https://api.dontwaste.me/accounts/${id}`)\n .then((res) => this.setState({ account_info: res.data.account}))\n }; */\n\n _findDistance(location) {\n var lat1 = this.state.latitude;\n var lon1 = this.state.longitude;\n var lat2 = location[1];\n var lon2 = location[0];\n var radlat1 = (Math.PI * lat1) / 180;\n var radlat2 = (Math.PI * lat2) / 180;\n var theta = lon1 - lon2;\n var radtheta = (Math.PI * theta) / 180;\n var dist =\n Math.sin(radlat1) * Math.sin(radlat2) +\n Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);\n dist = Math.acos(dist);\n dist = (dist * 180) / Math.PI;\n dist = dist * 60 * 1.1515;\n dist = dist * 1.609344;\n dist = dist.toFixed(1);\n this.setState({ dist: dist })\n }\n\n GoBack = () => {\n this.setState({ productClicked: false, product_info: [], place_info: [], account_info: [], inventory_info: [] })\n };\n \n defaultQuery() {\n return {\n query: {\n match: {\n \"place_id\": this.getPlaceID()\n }\n }\n }\n };\n\n getPlaceID = function () {\n console.log()\n let subUrl = window.location.pathname.substring(15)\n console.log('subUrl: ', subUrl)\n return subUrl\n }\n\n render() {\n const { selectedProduct, productClicked, loading } = this.state\n const { product_info, place_info, inventory_info } = this.state\n const { name, description, location, address, contact, hours, place_image_url } = this.state.place_info\n return (\n\n // window.location.pathname.includes(\"/itemsbyvendor/\") ?\n !loading &&\n \n {console.log('props item by vendor', this.state.place_info)}\n \n {/* \n \n */}\n \n {\n return {\n query: {\n match: {\n \"place_id\": this.getPlaceID()\n }\n }\n }\n }\n }\n defaultMapStyle=\"Midnight Commander\"\n title=\"FoodChain Map\"\n dataField=\"location\"\n size={100}\n defaultZoom={6}\n defaultRadius={10}\n unit=\"km\"\n showMapStyles\n showMarkerClusters\n showSearchAsMove\n searchAsMove\n innerClass={{\n checkboxContainer: 'map_checkbox',\n list: \"map_list\",\n checkbox: \"map_checkbox_other\",\n select: \"map_select\",\n icon: \"map_icon\",\n button: \"map_button\",\n active: \"map_active\",\n paginaiton: \"map_pagination\"\n }}\n \n \n renderAllData={(\n hits,\n streamHits,\n loadMore,\n renderMap,\n renderPagination\n ) => {\n return (\n\n
\n \n \n \n \n \n
{name}\n {description && {description}}\n
\n \n

Looks like there are no food items around you :(

\n FoodChain vendors are busy uploading their left-over food, so be sure to check again soon\n FoodChain vendors are busy uploading their left-over food, so be sure to check again soon\n FoodChain vendors are busy uploading their left-over food, so be sure to check again soon\n FoodChain vendors are busy uploading their left-over food, so be sure to check again soon\n FoodChain vendors are busy uploading their left-over food, so be sure to check again soon\n FoodChain vendors are busy uploading their left-over food, so be sure to check again soon\n
\n
\n \n \n \n
\n\n \n
\n \n Данни за продукта\n
\n
\n\n \n \n \n
\n \n \n
\n \n \n
\n \n \n\n \n \n
\n \n \n
\n \n \n
\n \n \n \n\n \n
\n \n Галерия\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
\n \n Видео\n
\n
\n\n \n \n \n \n \n \n \n \n\n \n
\n \n Наши Продукти\n
\n
\n\n \n \n
\n {/* Also on sale at the same place: */}\n
\n \n {hits.map(data => (\n hits.length > 0 ?\n this.handleCardClick(data)}\n >\n \n \n\n \n \n {data.name}\n \n \n \n {data.place_name}\n \n \n \n \n \n \n \n

\n \n Quantity available:{\" \"}\n {data.quantity_available}\n

\n

\n Collect before:{\" \"}\n {this.calculatePickUpTime(\n data.item_exp\n )}\n

\n
\n \n :\n <>\n \n
No results\n \n

Looks like there are no food items around you :(

\n FoodChain vendors are busy uploading their left-over food, so be sure to check again soon\n
\n
\n \n ))}\n
\n \n
\n \n
\n
\n )\n }\n }\n\n \n renderError={error => (\n
\n Something went wrong!\n
\n Error details\n
\n {error}\n
\n )}\n \n />\n
\n
\n this.GoBack()}>\n \n \n {/* {console.log('clicked state in product: ', productClicked)} */}\n \n )\n }\n}\n","import React, { Component } from \"react\";\nimport MapPageItemsByVendor from '../components/MapPageItemsByVendor';\nimport \"./home.css\";\n\nexport default class Home extends Component {\n\n render() {\n return (\n
\n \n
\n );\n }\n}\n","import React from \"react\";\n//import axios from 'axios';\n//import { Link } from \"react-router-dom\";\nimport { \n Grid, Image, Icon, Header, Divider, Container, Label, Button, TableRow, TableHeaderCell, TableHeader, TableCell, TableBody, Table, CardMeta, CardHeader, CardDescription, CardContent, Card\n} from \"semantic-ui-react\";\nimport \"./mapstyles.css\";\nimport YouTube from 'react-youtube';\n/* import Reci5763 from \"../pages/images/recipe5763.png\";\nimport Reci240 from \"../pages/images/recipe-bg-240.png\";\nimport Reci349 from \"../pages/images/recipe-bg-349.png\";\nimport Reci734 from \"../pages/images/recipe-bg-734.png\"; */\nimport posthog from 'posthog-js';\nimport ProductMap from './HomeProduct/productMap';\n//import { padEnd } from \"lodash\";\nimport calories from './images/calories-icon-s.png';\nimport carbon from './images/carbon-icon-s.png';\nimport fats from './images/fats-icon-s.png';\nimport protein from './images/protein-icon-s.png';\nimport co2 from './images/co2-icon.png';\nimport recycle from './images/recycle-icon.png';\nimport transport from './images/transport-icon-s.png';\n//import shareicon from './images/share-icon.png';\nimport { shareOnMobile } from \"react-mobile-share\";\n\n//posthog.init('phc_gtRKYeaZQMQKmTiA4taevgqvuKrL25gRcD98dPVJbZs', { api_host: 'https://eu.posthog.com' })\n\nposthog.capture('Kaufland QR Scan', { property: 'visited' })\n\nexport default class MapPageItemsDetails extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n latitude: 42.069325,\n longitude: 25.606698,\n loading: true,\n loadingLat: true,\n loadingLng: true,\n noProducts: true,\n noResults: false,\n selectedProduct: [],\n productClicked: false, \n account_info: [],\n product_info: [],\n place_info: [],\n inventory_info: [],\n inventory_info_details: [],\n dist: Number,\n PlaceID: '',\n isSetVendorId: false,\n vendorID: '',\n };\n }\n\n componentDidMount() {\n fetch(`https://api.dontwaste.me/inventories/${this.getItemID()}`)\n .then(res => res.json())\n .then(res => this.setState({ inventory_info_details: res.item, product_info: res.itemProduct[0], place_info: res.itemPlace[0], loading: false }));\n \n /* fetch(`https://api.dontwaste.me/places/${this.state.place_info.place_id}`)\n .then(res => res.json())\n .then(res => this.setState({ inventory_info_details: res.item, product_info: res.itemProduct[0], place_info: res.itemPlace[0], loading: false })); */\n }\n \n getItemID = function () {\n let subUrl = window.location.pathname.substring(15)\n console.log('subUrlgetItemID: ', subUrl)\n return subUrl\n }\n\n getCreatedDateFromStamp (timestamp) {\n //console.log(\"timestamp in received:\", timestamp)\n //const date = new Date(timestamp*1000).toString()\n //console.log(\"date in received:\", date)\n //var date = moment.unix(timestamp).format(\"dddd, MMMM Do YYYY, h:mm:ss a\")\n //var date = moment.unix(timestamp).fromNow()\n const date = new Date(timestamp).toString()\n return date\n }\n\n render() {\n const { loading } = this.state\n const { product_info, place_info, inventory_info_details } = this.state\n const { description, place_image_url } = this.state.place_info\n //console.log('this.state.place_info: ',this.state.place_info)\n return (\n\n // window.location.pathname.includes(\"/itemsbyvendor/\") ?\n !loading &&\n \n\n
\n \n \n \n {/* */}\n \n \n
{inventory_info_details.product_name}\n {description && {description}}\n
\n \n

{`Производител - \"${place_info.name}\"`}

\n \n {/* \"Тракия Агрикола\" e българска семейна фирма, която се занимава с производството на листни зеленчуци и зелени подправки. Създадена през 2004 г. от Ивайло Малджански, днес тя разполага с две землища в с. Златитрап и с. Калековец, област Пловдив, както и два пакетажни цеха. */}\n
\n
\n \n {/* */}\n {/* */}\n \n
\n\n\n {/* \n
\n \n Снимки за продукта\n
\n
*/}\n\n {/* \n \n \n \n \n \n \n \n \n \n \n \n */}\n\n\n \n
\n \n Данни за продукта\n
\n
\n\n {\n /* morkovi */\n product_info._id === '6654b8a5c294260cc4268339' &&\n
\n Дата на бране: 27.09.24\n
\n }\n\n {\n /* qbulki chervena*/\n product_info._id === '6654ba33a4b98a6e25742321' &&\n
\n Дата на бране: 28.09.24\n
\n }\n\n {\n /* qbulki zlatna*/\n product_info._id === '6654bd3aa4b98a4d52742323' &&\n
\n Дата на бране: 28.09.24\n
\n }\n \n {\n /* spanak */\n inventory_info_details._id === '65f7f66a652f61fe5d461bb9' &&\n
\n Дата на бране: 28.09.24\n
\n }\n \n\n
\n Хранителни вещества на 100 гр.\n
\n\n \n {/* \n \n \n
\n \n \n
\n \n \n
\n \n */}\n\n \n \n {/* \n
\n */}\n {/* \n
\n */}\n {/* \n
\n
\n */}\n\n {/* \n
\n */}\n \n
\n \n \n \n
\n \n \n \n
\n \n \n \n
\n \n \n
\n {/* \n
\n */}\n\n \n \n \n \n \n\n \n
\n \n \n \n
\n \n \n \n
\n \n \n {/*
Въглероден отпечатък CO2
*/}\n \n {/* */}\n \n {/*
Пакетиране
*/}\n \n {/* */}\n \n \n \n {/*

Как да съхраняваме спанака

\n

Пресният спанак трябва да се съхранява опакован в торбичка в отделението за зеленчуци в хладилника, за да се запази свежестта му. Там може да престои три-четири дни. Друг вариант е замразяването. За целта предварително опаковайте насипния спанак в торбичка за замразяване.

*/}\n \n
\n \n
\n\n {/* \n \n \n {product_info.name}\n ОБЩИ\n ВЪГЛЕХИДРАТИ\n ВИТАМИНИ\n Аминокиселини\n Мазнини\n Минерали\n Стероли\n Още\n \n \n\n \n \n ОБЩИ\n Калории\n 200\n Протеин\n 310\n \n \n Протеин\n 310\n \n \n
*/}\n\n \n \n \n
\n\n \n
\n \n Локация на фермата\n
\n
\n\n \n \n {/* */}\n {/* \n
\n */}\n
\n\n \n
\n \n Информация за фермата\n
\n
\n {/*
Чудни родни вкуснотии, както ги обичаме по нашите земи. Където кравите пасат най-сладко и киселото мляко е най-кисело. Където вием най-правите хора и най-витите баници. Където морето е най-черно, а сиренето — е не е ли най-бяло! Тук избираме най-дебелата сянка и най-тънките мезета, а седнем ли на масата – няма ставане. Брей! Това е българско!
*/}\n {\n this.state.place_info.created_by.length > 50 ?\n \n

{this.state.place_info.created_by}

\n
\n :
Чудни родни вкуснотии, както ги обичаме по нашите земи. Където кравите пасат най-сладко и киселото мляко е най-кисело. Където вием най-правите хора и най-витите баници. Където морето е най-черно, а сиренето — е не е ли най-бяло! Тук избираме най-дебелата сянка и най-тънките мезета, а седнем ли на масата – няма ставане. Брей! Това е българско!
\n }\n\n {\n this.state.place_info.hours.time.length > 50 &&\n
\n \n
\n \n Галерия\n
\n
\n \n \n \n \n {\n this.state.place_info.hours.days.length > 50 ?\n \n \n \n : null\n }\n \n
\n }\n\n {/* \n
\n \n Галерия\n
\n
*/}\n \n {/* \n \n \n {\n this.state.place_info.hours.time.length > 50 ?\n \n \n \n \n {\n this.state.place_info.hours.days.length > 50 ?\n \n \n \n : null\n }\n \n :\n \n \n \n }\n \n */}\n {\n this.state.place_info.contact.name.length === 11 &&\n
\n \n
\n \n Видео\n
\n
\n \n \n \n \n \n
\n }\n\n {\n this.state.product_info._id === '64f1b4d6875ddb85fd36c1d7' &&\n \n }\n\n {\n this.state.product_info._id === '6654b8a5c294260cc4268339' &&\n \n }\n\n {\n this.state.product_info._id === '6654ba33a4b98a6e25742321' &&\n \n }\n\n{\n this.state.product_info._id === '6654bd3aa4b98a4d52742323' &&\n \n }\n\n \n\n {/* \n
\n \n Видео\n
\n
*/}\n {/* {console.log(this.state.place_info.contact.name.length)} */}\n \n \n\n {/* \n
\n \n Наши Продукти\n
\n
*/}\n\n \n\n {/* \n
\n \n Препоръчани рецепти\n
\n
\n \n */}\n\n {/* \n
\n Актуални предложения - от дата до дата\n
\n
\n \n \n \n \n */}\n\n {/* */}\n\n \n
\n Български зеленчуци\n
\n
\n \n \n \n \n \n\n
\n\n \n
\n Проследяване на храната\n
\n
\n \n \n \n \n \n \n\n {/* {console.log('this.state.place_info: ', this.state.place_info)} */}\n
Виж повече на: kaufland.bg
\n\n
\n )\n }\n}\n","import React, { Component } from \"react\";\nimport MapPageItemsDetails from '../components/MapPageItemsDetails';\nimport \"./home.css\";\n\nexport default class Home extends Component {\n\n render() {\n return (\n
\n \n
\n );\n }\n}\n","import React from \"react\";\r\nimport { Tab } from \"semantic-ui-react\";\r\nimport MyProfile from \"./MyProfile\";\r\n\r\nconst panes = [\r\n {\r\n menuItem: { key: \"myprofile\", icon: \"user\", content: \"My Profile\" },\r\n render: () => (\r\n \r\n \r\n \r\n )\r\n }\r\n];\r\n\r\nconst TabExamplePointing = () => (\r\n \r\n);\r\n\r\nexport default TabExamplePointing;\r\n","import React, { Component } from 'react';\nimport SecBar2 from '../components/SecBar2';\n\nexport default class ProfileMenuPage extends Component {\n render() {\n return (\n
\n \n
\n )\n }\n}\n","import React from 'react'\r\nimport { Segment, Step } from 'semantic-ui-react'\r\n\r\nconst style = {\r\n h1: {\r\n marginTop: '3em',\r\n },\r\n h2: {\r\n margin: '4em 0em 2em',\r\n },\r\n h3: {\r\n marginTop: '2em',\r\n padding: '2em 0em',\r\n },\r\n last: {\r\n marginTop: '50px',\r\n },\r\n}\r\n\r\nconst OrderingStepsShipping = (props) => (\r\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 OrderingStepsShipping\r\n","import React, { useState } from 'react';\r\nimport { useAuth0 } from \"../react-auth0-spa\";\r\nimport LocalizedStrings from 'react-localization';\r\nimport { Form, Checkbox, Segment, Button } from 'semantic-ui-react';\r\nimport OrderingStepsShipping from '../components/OrderingSteps/indexShipping';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst Shipping = () => {\r\n const { user } = useAuth0();\r\n const [ checkBoxTake, setCheckBoxTake ] = useState(false);\r\n const [ checkBoxDel, setCheckBoxDel ] = useState(false);\r\n const [ nextBut, setNextBut ] = useState(true);\r\n\r\n const strings = new LocalizedStrings({\r\n en:{\r\n steps_cart_header: \"Shopping Cart\",\r\n steps_cart_label: \"Your shopping cart\",\r\n steps_shipping_header: \"Shipping\",\r\n steps_shipping_label: \"Choose your shipping options\",\r\n steps_billing_header: \"Billing\",\r\n steps_billing_label: \"Enter billing information\",\r\n steps_confirm_header: \"Confirm Order\",\r\n steps_confirm_label: \"Verify order details\",\r\n checkbox_take_by_myself: \"Take by myself\",\r\n checkbox_other_delivery: \"Order delivery - only available for large quantities\",\r\n but_next: \"Next\",\r\n but_back: \"Back\"\r\n },\r\n bg: {\r\n steps_cart_header: \"Кошница\",\r\n steps_cart_label: \"Вашите продукти\",\r\n steps_shipping_header: \"Доставка\",\r\n steps_shipping_label: \"Изберете опция за доставка\",\r\n steps_billing_header: \"Плащане\",\r\n steps_billing_label: \"Въведете информация за плащане\",\r\n steps_confirm_header: \"Потвърждаване\",\r\n steps_confirm_label: \"Потвърдете информацията на поръчката\",\r\n checkbox_take_by_myself: \"Взимане на място\",\r\n checkbox_other_delivery: \"Доставка - възможна само за Бизнес сделки\",\r\n but_next: \"Напред\",\r\n but_back: \"Назад\"\r\n }\r\n });\r\n\r\n const _setLanguage = () => {\r\n //console.log(lang)\r\n strings.setLanguage(user[\"https://fc-demo/language\"])\r\n }\r\n\r\n _setLanguage();\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n (setCheckBoxDel(!checkBoxDel), setNextBut(!nextBut))}/>\r\n {/* */}\r\n {/* */}\r\n \r\n \r\n (setCheckBoxTake(!checkBoxTake), setNextBut(!nextBut))}/>\r\n {/* */}\r\n {/* */}\r\n \r\n {/* \r\n \r\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 Shipping\r\n","import React from 'react'\r\nimport { Segment, Step } from 'semantic-ui-react'\r\n\r\nconst style = {\r\n h1: {\r\n marginTop: '3em',\r\n },\r\n h2: {\r\n margin: '4em 0em 2em',\r\n },\r\n h3: {\r\n marginTop: '2em',\r\n padding: '2em 0em',\r\n },\r\n last: {\r\n marginTop: '50px',\r\n },\r\n}\r\n\r\nconst OrderingStepsBilling = (props) => (\r\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 OrderingStepsBilling\r\n","/**\r\n* Use the CSS tab above to style your Element's container.\r\n*/\r\nimport React from 'react';\r\nimport {CardElement} from '@stripe/react-stripe-js';\r\nimport './CardSectionStyles.css'\r\n\r\nconst CARD_ELEMENT_OPTIONS = {\r\n style: {\r\n base: {\r\n color: \"#32325d\",\r\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\r\n fontSmoothing: \"antialiased\",\r\n fontSize: \"16px\",\r\n \"::placeholder\": {\r\n color: \"#aab7c4\",\r\n },\r\n },\r\n invalid: {\r\n color: \"#fa755a\",\r\n iconColor: \"#fa755a\",\r\n },\r\n },\r\n};\r\n\r\nfunction CardSection(props) {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default CardSection;\r\n","import React from 'react';\r\nimport LocalizedStrings from 'react-localization';\r\nimport axios from 'axios';\r\nimport { getTotal } from '../../reducers/rootReducer';\r\n//import { setCartToPaid } from '../../reducers/productActions';\r\nimport { toast } from 'react-toastify';\r\nimport { CardElement} from '@stripe/react-stripe-js';\r\n\r\nimport CardSection from './CardSection';\r\n\r\n\r\n\r\nclass CheckoutForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state ={\r\n payButtonClick: false,\r\n result: {},\r\n total: 0,\r\n store: {},\r\n totalLocalStorage: 0,\r\n totalSendToStripe: 0,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ total: parseFloat(getTotal(this.props.storeRedux)), totalLocalStorage: parseFloat(this.props.totalLocalStorageToStripe) })\r\n }\r\n\r\n strings = new LocalizedStrings({\r\n en:{\r\n notifyStripePayment: \"Stripe Succesfull payment request\",\r\n notifyStripeCheckPayment: \"Stripe Checking payment...\",\r\n notifyStripeErrorInfo: \"Problem, please call Stripe Support.\",\r\n notifyStripeCheckPaymentDone: \"Stripe Payment is done, thank you!\",\r\n notifyError: \"Something went wrong!\",\r\n },\r\n bg: {\r\n notifyStripePayment: \"Успешна заявка за плащане през Stripe\",\r\n notifyStripeCheckPayment: \"Stripe Плашането се проверява...\",\r\n notifyStripeErrorInfo: \"Има проблем, моля свържете се с поддръжката.\",\r\n notifyStripeCheckPaymentDone: \"Успешно плащане през Stripe, благодарим Ви!\",\r\n notifyError: \"Нещо се обърка!\",\r\n \r\n }\r\n });\r\n \r\n _setLanguage = (lang) => {\r\n //console.log(lang)\r\n this.strings.setLanguage(lang)\r\n }\r\n\r\n notifyStripePayment = () => toast.info(this.strings.notifyStripePayment);\r\n notifyStripeCheckPayment = () => toast.info(this.strings.notifyStripeCheckPayment);\r\n notifyStripeErrorInfo = () => toast.info(this.strings.notifyStripeErrorInfo);\r\n //const notifyStripeErrorInfo2 = () => toast.info(\"Payment was processed, but there is a problem with your account. Please call Stripe Support.\");\r\n notifyStripeCheckPaymentDone = () => toast.success(this.strings.notifyStripeCheckPaymentDone);\r\n notifyError = () => toast.error(this.strings.notifyError);\r\n\r\n /* //total check must be outside Submit func\r\n //total is set in the button below! this.state.total === 0\r\n if(totalAmount > 0) {\r\n //totalToStripe = totalAmount\r\n this.setState({ total: totalAmount })\r\n } else if(totalLocalStorageToStripe > 0) {\r\n //totalToStripe = totalLocalStorageToStripe\r\n this.setState({ total: totalLocalStorageToStripe })\r\n } else {\r\n //totalToStripe = 0\r\n this.setState({ total: 0 })\r\n } */\r\n\r\n checkTotalToBeSentToStripe = () => {\r\n if(this.state.total > 0) {\r\n return this.state.total\r\n } else if(this.state.totalLocalStorage > 0) {\r\n return this.state.totalLocalStorage\r\n } else {\r\n return 0\r\n }\r\n }\r\n \r\n handleSubmit = async (event) => {\r\n this.setState({ payButtonClick: true })\r\n let clientSecret = '';\r\n //let totalToStripe = 0;\r\n // We don't want to let default form submission happen here,\r\n // which would refresh the page.\r\n event.preventDefault();\r\n\r\n const { stripe, elements, storeRedux, totalLocalStorageToStripe, cartLocalStorageToStripe, user, setCartToPaid } = this.props\r\n console.log('user CheckourFromClass:', user)\r\n //console.log('get storeRedux from handleSubmit', storeRedux)\r\n const totalAmount = getTotal(storeRedux)\r\n //console.log('totalAmount from Redux', totalAmount)\r\n //console.log('totalAmount from LocalStorage', totalLocalStorageToStripe)\r\n //console.log('Cart from Redux', storeRedux.cart)\r\n //console.log('Length Cart from Redux', Object.keys(storeRedux.cart.addedIds).length)\r\n //console.log('Cart from LocalStorage', cartLocalStorageToStripe)\r\n //console.log('Length Cart from LocalStorage', Object.keys(cartLocalStorageToStripe.addedIds).length)\r\n \r\n if ( !stripe || !elements || !storeRedux ) {\r\n // Stripe.js has not yet loaded.\r\n // Make sure to disable form submission until Stripe.js has loaded.\r\n return 'loading';\r\n }\r\n\r\n const checkCartToBeSentToStripe = () => {\r\n if (Object.keys(storeRedux.cart.addedIds).length > 0) {\r\n return cartQuantities(storeRedux.cart)\r\n } else if (Object.keys(cartLocalStorageToStripe.addedIds).length > 0) {\r\n return cartQuantities(cartLocalStorageToStripe)\r\n } else return []\r\n }\r\n\r\n const cartQuantities = (cart) => {\r\n let quantities = [];\r\n Object.entries(cart.quantityById).map(\r\n (item, i) => {\r\n quantities.push({\r\n 'inventory_id': item[0],\r\n 'quantity': item[1].quantity,\r\n 'product_name': item[1].product_name,\r\n 'item_price': item[1].item_price,\r\n 'exp_date': item[1].exp_date,\r\n 'place_name': item[1].place_name,\r\n 'place_id': item[1].place_id\r\n });\r\n console.log('item:', item)\r\n console.log('item[0]:', item[0])\r\n console.log('item[1].place_name:', item[1].place_name)\r\n }\r\n );\r\n console.log('quantities: ',quantities);\r\n return quantities;\r\n };\r\n\r\n //const makePaymentStripe = await axios.post('https://api.dontwaste.me/orders/stripe/create_payment_intent', {\r\n //const makePaymentStripe = await axios.post('http://localhost:3004/stripe/create-payment-intent', {\r\n try {\r\n const makePaymentStripe = await axios.post('https://api.dontwaste.me/orders/stripe/create_payment_intent', {\r\n customer: user['https://fc-demo/stripe_customer_id'],\r\n //amount: 333,\r\n items: checkCartToBeSentToStripe(),\r\n total: this.checkTotalToBeSentToStripe(),\r\n currency: 'bgn',\r\n metadata: {\r\n integration_check: \"accept_a_payment\"\r\n }\r\n })\r\n .then(res => res.status === 200 ? (this.notifyStripePayment(), clientSecret = res.data.clientSecret) : this.notifyError())\r\n } catch (error) {\r\n console.log(error);\r\n this.notifyError();\r\n }\r\n \r\n\r\n console.log(clientSecret)\r\n \r\n\r\n const result = await stripe.confirmCardPayment(clientSecret, {\r\n payment_method: {\r\n card: elements.getElement(CardElement),\r\n billing_details: {\r\n //name: 'Jenny Rosen',\r\n name: user.name\r\n },\r\n }\r\n });\r\n this.setState({ result: result.paymentIntent.status })\r\n\r\n \r\n if (result.error) {\r\n // Show error to your customer (e.g., insufficient funds)\r\n this.notifyStripeErrorInfo()\r\n console.log(result.error.message);\r\n } else {\r\n // The payment has been processed!\r\n this.notifyStripeCheckPayment();\r\n if (result.paymentIntent.status === 'succeeded') {\r\n this.notifyStripeCheckPaymentDone();\r\n setCartToPaid()\r\n // Show a success message to your customer\r\n // There's a risk of the customer closing the window before callback\r\n // execution. Set up a webhook or plugin to listen for the\r\n // payment_intent.succeeded event that handles any business critical\r\n // post-payment actions.\r\n }\r\n }\r\n\r\n };\r\n \r\n buttonText = () => {\r\n if(this.state.result === 'succeeded') {\r\n return this.props.stripe_success_pay_thank_you\r\n } else return this.props.stripe_but_text\r\n }\r\n\r\n isPaidProp = () => {\r\n if(this.state.result === 'succeeded') {\r\n return 'none'\r\n } else return 'block'\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this._setLanguage(this.props.user[\"https://fc-demo/language\"])}\r\n {/* {console.log('this.state.total:', this.state.total)} */}\r\n {/* {console.log('this.state.total:', typeof this.state.total)} */}\r\n {/* {console.log('this.state.totalLocalStorage:', this.state.totalLocalStorage)} */}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default CheckoutForm\r\n","import React from 'react';\r\nimport { useAuth0 } from \"../../react-auth0-spa\";\r\nimport LocalizedStrings from 'react-localization';\r\nimport { connect, ReactReduxContext } from 'react-redux';\r\nimport CheckoutFormClass from './CheckoutFromClass';\r\nimport { setCartToPaid } from '../../reducers/productActions';\r\nimport {ElementsConsumer} from '@stripe/react-stripe-js';\r\n\r\nconst InjectedCheckoutForm = ({setCartToPaid}) => {\r\n const { user } = useAuth0();\r\n let total2 = [0];\r\n const reducer = (accumulator, currentValue) => accumulator + currentValue;\r\n\r\n const strings = new LocalizedStrings({\r\n en:{\r\n stripe_enter_card_details: \"Please enter your card details\",\r\n stripe_but_text: \"Make Payment\",\r\n stripe_success_pay_thank_you: \"Thank you! Please click Order Now button.\",\r\n notifyStripePayment: \"Stripe successful payment request\",\r\n notifyStripeCheckPayment: \"Stripe Checking payment...\",\r\n notifyStripeErrorInfo: \"Problem, please call Stripe Support.\",\r\n notifyStripeErrorInfo2: \"Payment was processed, but there is a problem with your account. Please call Stripe Support.\",\r\n notifyStripeCheckPaymentDone: \"Stripe Payment is done, thank you!\",\r\n notifyError: \"Something went wrong!\",\r\n\r\n },\r\n bg: {\r\n stripe_enter_card_details: \"Моля, въведете данните на вашата карта\",\r\n stripe_but_text: \"Направи плащане\",\r\n stripe_success_pay_thank_you: \"Благодарим Ви! Моля, натиснете бутона за поръчка.\",\r\n notifyStripePayment: \"Успешно плащане със Stripe\",\r\n notifyStripeCheckPayment: \"Проверяване на плащане със Stripe...\",\r\n notifyStripeErrorInfo: \"Възникна проблем, моля свържете с FoodChain поддръжка.\",\r\n notifyStripeErrorInfo2: \"Плащането беше заявено, но има проблем с вашия банков акаунт. Моля, свържете с вашата банка.\",\r\n notifyStripeCheckPaymentDone: \"Stripe Payment is done, thank you!\",\r\n notifyError: \"Нещо се обърка!\",\r\n }\r\n });\r\n\r\n const _setLanguage = () => {\r\n //console.log(lang)\r\n strings.setLanguage(user[\"https://fc-demo/language\"])\r\n }\r\n\r\n _setLanguage();\r\n\r\n const loadState = () => {\r\n //console.log('loadState: ', loadState)\r\n try {\r\n const serializedState = localStorage.getItem('cart');\r\n //console.log('serializedStateLoadState: ', serializedState)\r\n if (serializedState === null) {\r\n return undefined;\r\n }\r\n return JSON.parse(serializedState);\r\n } catch (err) {\r\n return undefined;\r\n }\r\n };\r\n\r\n const loadStateTotal = () => {\r\n //console.log('loadState: ', loadState)\r\n try {\r\n const serializedState = localStorage.getItem('cart');\r\n //console.log('serializedStateLoadState: ', serializedState)\r\n if (serializedState === null) {\r\n return false;\r\n } \r\n return JSON.parse(serializedState);\r\n } \r\n catch (err) {\r\n return undefined;\r\n }\r\n };\r\n\r\n const totalLocalStorage = loadStateTotal() ? (\r\n Object.entries(loadStateTotal().quantityById).map(item => {\r\n //console.log('item_price: ', item)\r\n //console.log(item[1].item_price)\r\n total2.push(item[1].item_price*item[1].quantity);\r\n //console.log('total2', total2.reduce(reducer).toFixed(2))\r\n }\r\n )\r\n ) : null\r\n\r\n return ( \r\n \r\n {({stripe, elements}) => (\r\n \r\n {({ store }) => (\r\n setCartToPaid()}\r\n stripe_enter_card_details= {strings.stripe_enter_card_details}\r\n stripe_but_text= {strings.stripe_but_text}\r\n stripe_success_pay_thank_you= {strings.stripe_success_pay_thank_you}\r\n />\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default connect('', { setCartToPaid })(InjectedCheckoutForm)\r\n","import React from 'react';\r\nimport { ToastContainer } from 'react-toastify';\r\n//import Stripe from 'stripe';\r\nimport {Elements} from '@stripe/react-stripe-js';\r\nimport {loadStripe} from '@stripe/stripe-js';\r\n//import { Button, Icon, Form } from 'semantic-ui-react';\r\n\r\nimport CheckoutForm from './CheckoutForm';\r\n//import CheckoutFormClass from './CheckoutFromClass';\r\n\r\n// Make sure to call `loadStripe` outside of a component’s render to avoid\r\n// recreating the `Stripe` object on every render.\r\n\r\n/* \r\nStripe Demo Api Keys\r\nPublishable pk_test_16o0KaVABd1UsMRWvFHeZbhG00JFsLfHuW\r\nSecret sk_test_4oO9HQAJyvgo1ZG5RKbInLAG00FGGWuJTy\r\n*/\r\n\r\nconst StripeUI = (props) => {\r\n /* const stripe = new Stripe('sk_test_4oO9HQAJyvgo1ZG5RKbInLAG00FGGWuJTy', {\r\n apiVersion: '2020-03-02',\r\n }); */\r\n\r\n //pk_test_16o0KaVABd1UsMRWvFHeZbhG00JFsLfHuW -> dontwaste.me Our US Company\r\n //pk_test_51HEBrgLWJ2wuJk1aDNZmdnMTNZtURCX0kwGfqomwZQcFJWHuse7kIhlNs8NHGiCbA7y369kaHtG19sIUOKZeqbIv00VFfkkprd -> Veloxoft LTD Our BG Company\r\n const stripePromise = loadStripe('pk_test_51HEBrgLWJ2wuJk1aDNZmdnMTNZtURCX0kwGfqomwZQcFJWHuse7kIhlNs8NHGiCbA7y369kaHtG19sIUOKZeqbIv00VFfkkprd');\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\nexport default StripeUI","import React, { useState } from 'react';\r\nimport { connect, ReactReduxContext } from 'react-redux'\r\nimport { paymentProvider } from '../../reducers/productActions';\r\nimport { Link } from 'react-router-dom';\r\nimport { Icon, Card, Image, Button, Segment } from 'semantic-ui-react';\r\nimport StripeUI from './StripeUI';\r\nimport EpayBGLogo from './images/epaybg_logo.png';\r\nimport StripeLogo from './images/stripe_logo.png';\r\n\r\nconst PaymentCardsNoToken = ({ paymentProvider }) => {\r\n\r\n const [onlyOnce, setOnlyOnce] = useState(false);\r\n const [cardLabelElementEpay, setLabelEpay] = useState(false);\r\n const [cardLabelElementStripe, setLabelStripe] = useState(false);\r\n\r\n console.log(cardLabelElementEpay)\r\n console.log(cardLabelElementStripe)\r\n\r\n const showCardLabelEpay = () => {\r\n if(!cardLabelElementEpay) {\r\n console.log('epay false')\r\n setLabelEpay({ cardLabelElementEpay: { corner: 'left', icon: 'check', color: 'green'} })\r\n setLabelStripe({ cardLabelElementStripe: false })\r\n \r\n } else {\r\n setLabelEpay({ cardLabelElementEpay: false })\r\n }\r\n }\r\n\r\n const showCardLabelStripe = () => {\r\n setLabelStripe(!cardLabelElementStripe)\r\n console.log('Stripe clicked')\r\n cardLabelElementStripe ? paymentProvider('none') : paymentProvider('stripe')\r\n setLabelEpay(false)\r\n}\r\n\r\n const isSetPaymentMethod = (store) => {\r\n console.log('isSetPaymentMethod', store.PaymentProvider)\r\n if(store.PaymentProvider === 'none') {\r\n return
\r\n } else {\r\n return
\r\n }\r\n }\r\n\r\n const setPaymentProvOnlyOnce = () => {\r\n if(!onlyOnce) {\r\n paymentProvider('stripe')\r\n setOnlyOnce(true)\r\n } else console.log('Payment Prov is set by default to Stripe!')\r\n }\r\n\r\n return (\r\n\r\n (showCardLabelStripe()) }>\r\n {setPaymentProvOnlyOnce()}\r\n \r\n \r\n Stripe\r\n \r\n Worldwide\r\n \r\n {/* \r\n Matthew is a musician living in Nashville.\r\n */}\r\n \r\n \r\n \r\n Configured!\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default connect('', { paymentProvider })(PaymentCardsNoToken)\r\n","import React from 'react';\r\nimport { connect, ReactReduxContext } from 'react-redux'\r\nimport { Link } from 'react-router-dom';\r\nimport { Button, Segment } from 'semantic-ui-react';\r\n\r\nconst BottomButtons = (props) => {\r\n\r\n const isSetPaymentMethod = (store) => {\r\n console.log('isSetPaymentMethod', store.PaymentProvider)\r\n if(store.PaymentProvider === 'none') {\r\n return
\r\n } else {\r\n return
\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {({ store }) => (\r\n isSetPaymentMethod(store.getState())\r\n )}\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n\r\nexport default connect()(BottomButtons)\r\n","import React from 'react';\r\n//import axios from 'axios';\r\n//import Stripe from 'stripe';\r\nimport { Header, Button, Icon, Card, Image } from 'semantic-ui-react';\r\nimport StripeUI from './StripeUI';\r\nimport EpayBGLogo from './images/epaybg_logo.png';\r\nimport StripeLogo from './images/stripe_logo.png';\r\nimport PaymentCards from './PaymentCards';\r\nimport PaymentCardsNoToken from './PaymentCardsNoToken';\r\nimport BottomButtons from './Billing_bottom_buttons';\r\n\r\n\r\n//const stripe = require('stripe')('sk_test_4oO9HQAJyvgo1ZG5RKbInLAG00FGGWuJTy', {apiVersion: ''});\r\n/* const stripe = new Stripe('sk_test_4oO9HQAJyvgo1ZG5RKbInLAG00FGGWuJTy', {\r\n apiVersion: '2020-03-02',\r\n}); */\r\n\r\nconst APPID_PROD='6554291183785013076003440952844464939156359335971190257260323942'\r\nconst SECRET_PROD='cBZGZK4ACubeCVUCMNrPNzDdHaNN56ZrG2nA5816abfT2PkZkOG7GyhwWWuVcObrcV4zspDblMtVOOkyu5lpRGmh3IC8GrcMBLxPaRVhajYlVDxlg567G0SleycE5YfW'\r\nconst APPID='2123128777047314469988321512492541281777074012414332339158786136'\r\n//const DEVICEID='deviceid16' //must be different in every request. We can ask EpayBG Support about this. Current deviceid10!!!\r\nconst KEY='MwomssTWpZ9vgBz3RnBYk0uB6CKiCVFtiRsWYtxA3sbUYbgXigVpcVBxe9qWXNVE7IgEvc7sHefOUvMqgxocxkeJpqCQsjXQjGzCy1Uhk0pdTHVWfYGJA3X7nAbtkBQV'\r\nconst DEVICE_NAME='myphone'\r\nconst BRAND='iPhone'\r\nconst OS='iOS'\r\nconst MODEL='iPhone5s'\r\nconst OS_VERSION='8.0'\r\nconst PHONE='1'\r\n\r\n//Redirected URL after success authorization: https://dontwaste.me/platform/orders/success?ret=authok&deviceid=deviceid12\r\n\r\nclass PaymentOption extends React.Component {\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n displayEpayBG: 'none',\r\n deviceID: '',\r\n cardLabelElementEpay: false,\r\n cardLabelElementStripe: false,\r\n }\r\n }\r\n\r\n showCardLabelEpay = () => {\r\n if(!this.state.cardLabelElementEpay) {\r\n this.setState({ cardLabelElementEpay: { corner: 'left', icon: 'check', color: 'green'}, cardLabelElementStripe: false })\r\n } else {\r\n this.setState({ cardLabelElementEpay: false })\r\n }\r\n //paymentProvider('EpayBG')\r\n \r\n }\r\n\r\n showCardLabelStripe = () => {\r\n if(!this.state.cardLabelElementStripe) {\r\n this.setState({ cardLabelElementStripe: { corner: 'left', icon: 'check', color: 'green'}, cardLabelElementEpay: false })\r\n } else {\r\n this.setState({ cardLabelElementStripe: false })\r\n }\r\n //paymentProvider('Stripe')\r\n \r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
{this.props.choose_header}
\r\n {\r\n this.props.user[\"https://fc-demo/TOKEN\"] ?\r\n \r\n :\r\n
\r\n \r\n \r\n \r\n \r\n ePay.bg\r\n \r\n {this.props.epaybg_text}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\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 PaymentOption\r\n","import React from 'react';\r\nimport { useAuth0 } from \"../react-auth0-spa\";\r\nimport LocalizedStrings from 'react-localization';\r\nimport { Segment, Button } from 'semantic-ui-react';\r\nimport OrderingStepsBilling from '../components/OrderingSteps/indexBilling';\r\nimport { Link } from 'react-router-dom';\r\nimport PaymentOptions from '../components/MyProfile/PaymentForm';\r\n\r\nconst Billing = () => {\r\n const { user } = useAuth0();\r\n\r\n const strings = new LocalizedStrings({\r\n en:{\r\n steps_cart_header: \"Shopping Cart\",\r\n steps_cart_label: \"Your shopping cart\",\r\n steps_shipping_header: \"Shipping\",\r\n steps_shipping_label: \"Choose your shipping options\",\r\n steps_billing_header: \"Billing\",\r\n steps_billing_label: \"Enter billing information\",\r\n steps_confirm_header: \"Confirm Order\",\r\n steps_confirm_label: \"Verify order details\",\r\n choose_header: \"Choose Payment Provider\",\r\n epaybg_text: \"Only for Bulgaria\",\r\n epaybg_activate: \"Activate ePayBG\",\r\n stripe_text: \"Worldwide\",\r\n configured_text: \"Configured\",\r\n but_next: \"Next\",\r\n but_back: \"Back\"\r\n },\r\n bg: {\r\n steps_cart_header: \"Кошница\",\r\n steps_cart_label: \"Вашите продукти\",\r\n steps_shipping_header: \"Доставка\",\r\n steps_shipping_label: \"Изберете опция за доставка\",\r\n steps_billing_header: \"Плащане\",\r\n steps_billing_label: \"Въведете информация за плащане\",\r\n steps_confirm_header: \"Потвърждаване\",\r\n steps_confirm_label: \"Потвърдете информацията на поръчката\",\r\n choose_header: \"Изберете услуга за плащане\",\r\n epaybg_text: \"Само за България\",\r\n epaybg_activate: \"Активиране на ИпейБГ\",\r\n stripe_text: \"За целия свят\",\r\n configured_text: \"Настроен\",\r\n but_next: \"Напред\",\r\n but_back: \"Назад\"\r\n }\r\n });\r\n\r\n const _setLanguage = () => {\r\n //console.log(lang)\r\n strings.setLanguage(user[\"https://fc-demo/language\"])\r\n }\r\n\r\n _setLanguage();\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\nexport default Billing\r\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nconst Product = ({ _id, name, place_name, reduced_price, quantity_available, removeFromCart }) => (\n
\n {console.log('_id',_id)}\n {console.log('name',name)}\n {console.log('place_name',place_name)}\n {console.log('reduced_price',reduced_price)}\n {console.log('quantity_available',quantity_available)}\n {/* {name} - {place_name} - ${reduced_price} {quantity_available ? ` x ${quantity_available}` : null} */}\n
\n)\n\nProduct.propTypes = {\n name: PropTypes.string,\n place_name: PropTypes.string,\n reduced_price: PropTypes.number,\n quantity_available: PropTypes.number,\n _id: PropTypes.string\n}\n\nexport default Product\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { ReactReduxContext } from 'react-redux';\nimport Product from './Product'\nimport { Link } from 'react-router-dom'\nimport { Segment, Button } from 'semantic-ui-react'\n\nconst Cart = ({ products, total, onCheckoutClicked, cartLocalStorage, totalLocalStorage, cart_no_products, cart_header, cart_total, total_currency, but_order, but_back }) => {\n console.log(products)\n //let total2 = [0];\n //const reducer = (accumulator, currentValue) => accumulator + currentValue;\n\n const hasProducts = products.length > 0;\n const hasProductsLocalStorage = cartLocalStorage ? Object.keys(cartLocalStorage.quantityById).length > 0 : null;\n const nodes = hasProducts ? (\n products.map(product =>\n \n )\n ) : (\n {cart_no_products}\n )\n\n const nodesLocalStorage = hasProductsLocalStorage ? (\n Object.entries(cartLocalStorage.quantityById).map(product => \n \n )\n ) : (\n {cart_no_products}\n )\n\n /* const totalLocalStorage = hasProductsLocalStorage ? (\n Object.entries(cartLocalStorage.quantityById).map(item => {\n //console.log('item_price: ', item)\n //console.log(item[1].item_price)\n total2.push(item[1].item_price)\n }\n )\n ) : (\n null\n )\n */\n\n const getStateRedux = (store) => {\n if(store.cart.isCartPaid === 'no') {\n //console.log('isCartPaid if', store.cart.isCartPaid)\n //console.log('store.PaymentProvider', store.PaymentProvider)\n if(store.PaymentProvider === 'epaybg') {\n return false\n } else return true\n } else \n //console.log('isCartPaid else', store.cart.isCartPaid)\n return false\n }\n\n const showCart = (store) => {\n if(store.cart.isCartPaid === 'no') {\n return 'block'\n } else \n return 'none'\n }\n\n return (\n
\n \n {({ store }) => (\n\n
\n
\n

{cart_header}

\n {\n hasProducts ?
{nodes}

{cart_total}: {total} {total_currency}

:
{nodesLocalStorage}

{cart_total}: {totalLocalStorage} {total_currency}

\n }\n
\n\n \n \n \n {\n hasProducts || hasProductsLocalStorage ?\n \n : \n }\n \n \n\n
\n )}\n
\n
\n )\n}\n\nCart.propTypes = {\n products: PropTypes.array,\n total: PropTypes.string,\n onCheckoutClicked: PropTypes.func\n}\n\nexport default Cart\n","import React from 'react'\nimport LocalizedStrings from 'react-localization';\nimport PropTypes from 'prop-types'\nimport { connect } from 'react-redux'\nimport { checkout } from '../reducers/productActions'\nimport { getTotal, getCartProducts } from '../reducers/rootReducer'\nimport Cart from '../components/Cart/Cart'\n\nconst CartContainer = ({ products, total, checkout, user, cartLocalStorage, totalLocalStorage }) => {\n\n const strings = new LocalizedStrings({\n en:{\n cart_no_products: \"Please add some products to cart.\",\n cart_header: \"Your Cart\",\n cart_total: \"Total\",\n total_currency: \"$\",\n but_order: \"Order now\",\n but_back: \"Back\",\n },\n bg: {\n cart_no_products: \"Моля, добавете продукти във вашата кошница.\",\n cart_header: \"Вашата кошница\",\n cart_total: \"Общо\",\n total_currency: \"лв.\",\n but_order: \"Потвърди\",\n but_back: \"Назад\",\n }\n })\n\n const _setLanguage = () => {\n //console.log(lang)\n strings.setLanguage(user[\"https://fc-demo/language\"])\n }\n\n _setLanguage();\n\n return (\n
\n checkout(products, user, cartLocalStorage, totalLocalStorage)}\n cart_no_products= {strings.cart_no_products}\n cart_header= {strings.cart_header}\n cart_total= {strings.cart_total}\n total_currency= {strings.total_currency}\n but_order= {strings.but_order}\n but_back= {strings.but_back}\n />\n
\n )\n \n}\n\nCartContainer.propTypes = {\n products: PropTypes.arrayOf(PropTypes.shape({\n _id: PropTypes.number.isRequired,\n //name: PropTypes.string.isRequired,\n reduced_price: PropTypes.number.isRequired,\n quantity_available: PropTypes.number.isRequired\n })).isRequired,\n total: PropTypes.string,\n checkout: PropTypes.func.isRequired\n}\n\nconst mapStateToProps = (state) => ({\n products: getCartProducts(state),\n total: getTotal(state)\n})\n\nexport default connect(\n mapStateToProps,\n { checkout }\n)(CartContainer)\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom'\nimport { clearCart, addToCart, removeFromCart } from '../reducers/productActions';\nimport { getTotal, getCartProducts, getPlaceAddedIds } from '../reducers/rootReducer';\nimport { Segment, Header, Icon, Button } from 'semantic-ui-react';\n\nconst CartPage = ({ products, total, places, cartLocalStorage, clearCart, addToCart, removeFromCart }) => {\n console.log(products)\n const hasProducts = products.length > 0;\n\n /* const saveState = (state) => {\n try {\n const serializedState = JSON.stringify(state);\n console.log('serializedStateSaveState: ', serializedState);\n localStorage.setItem('cart', serializedState);\n } catch {\n // ignore write errors\n }\n }; */\n\n const loadState = () => {\n //console.log('loadState: ', loadState)\n try {\n const serializedState = localStorage.getItem('persist:root');\n console.log('serializedStateLoadState: ', serializedState)\n if (serializedState === null) {\n return undefined;\n }\n return JSON.parse(serializedState);\n } catch (err) {\n return undefined;\n }\n };\n\n return (\n
\n
\n {/* */}\n \n\n {\n products.map(\n product => (\n product.quantity_available > 0 ?\n
\n

\n {product.product_name} - {product.place_name} - BGN{parseFloat(product.reduced_price).toFixed(2)} x {product.quantity_available} pcs\n

\n

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

\n {\n hasProducts ?

Total: ${total}

\n : \n
{/* {nodesLocalStorage}

Total: ${totalLocalStorage, total2.reduce(reducer).toFixed(2)}

*/}
\n }\n \n
\n
\n
\n )\n}\n\nCartPage.propTypes = {\n products: PropTypes.arrayOf(PropTypes.shape({\n _id: PropTypes.string.isRequired,\n product_name: PropTypes.string.isRequired,\n place_name: PropTypes.string.isRequired,\n price: PropTypes.number.isRequired,\n quantity_ordered: PropTypes.number.isRequired\n })).isRequired,\n total: PropTypes.string,\n}\n\nconst mapStateToProps = (state) => ({\n products: getCartProducts(state),\n total: getTotal(state),\n places: getPlaceAddedIds(state)\n})\n\nexport default connect(mapStateToProps, { clearCart, addToCart, removeFromCart })(CartPage)\n","import React from 'react'\r\nimport { Segment, Step } from 'semantic-ui-react'\r\n\r\nconst style = {\r\n h1: {\r\n marginTop: '3em',\r\n },\r\n h2: {\r\n margin: '4em 0em 2em',\r\n },\r\n h3: {\r\n marginTop: '2em',\r\n padding: '2em 0em',\r\n },\r\n last: {\r\n marginTop: '50px',\r\n },\r\n}\r\n\r\nconst OrderingStepsConfirm = (props) => (\r\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 OrderingStepsConfirm\r\n","import React from 'react';\r\nimport { useAuth0 } from \"../react-auth0-spa\";\r\nimport LocalizedStrings from 'react-localization';\r\nimport { ReactReduxContext } from 'react-redux';\r\nimport CartContainer from '../containers/CartContainer';\r\nimport CartContainerNew from '../containers/CartContainerNew';\r\nimport { Segment, Image, Header } from 'semantic-ui-react';\r\nimport OrderingStepsConfirm from '../components/OrderingSteps/indexConfirm';\r\nimport StripeUI from '../components/MyProfile/StripeUI';\r\nimport EpayBGLogo from '../components/MyProfile/images/epaybg_logo.png';\r\nimport StripeLogo from '../components/MyProfile/images/stripe_logo.png';\r\n\r\nconst ConfirmOrder = () => {\r\n const { user } = useAuth0();\r\n let total2 = [0];\r\n const reducer = (accumulator, currentValue) => accumulator + currentValue;\r\n\r\n const strings = new LocalizedStrings({\r\n en:{\r\n steps_cart_header: \"Shopping Cart\",\r\n steps_cart_label: \"Your shopping cart\",\r\n steps_shipping_header: \"Shipping\",\r\n steps_shipping_label: \"Choose your shipping options\",\r\n steps_billing_header: \"Billing\",\r\n steps_billing_label: \"Enter billing information\",\r\n steps_confirm_header: \"Confirm Order\",\r\n steps_confirm_label: \"Verify order details\",\r\n epaybg_info_text: \"Your order will be paid by EpayBG.\",\r\n no_payment_provider_text: \"Please go back on step and choose Payment Provider!\",\r\n cart_no_products: \"Please add some products to cart.\",\r\n cart_header: \"Your Cart\",\r\n cart_total: \"Total\",\r\n total_currency: \"$\"\r\n },\r\n bg: {\r\n steps_cart_header: \"Кошница\",\r\n steps_cart_label: \"Вашите продукти\",\r\n steps_shipping_header: \"Доставка\",\r\n steps_shipping_label: \"Изберете опция за доставка\",\r\n steps_billing_header: \"Плащане\",\r\n steps_billing_label: \"Въведете информация за плащане\",\r\n steps_confirm_header: \"Потвърждаване\",\r\n steps_confirm_label: \"Потвърдете информацията на поръчката\",\r\n epaybg_info_text: \"Плащането ще бъде извършено чрез иПейБГ.\",\r\n no_payment_provider_text: \"Не е избран платежен инструмент. Моля, върнете се една стъпка назад!\",\r\n cart_no_products: \"Моля, добавете продукти във вашата кошница.\",\r\n cart_header: \"Вашата кошница\",\r\n cart_total: \"Общо\",\r\n total_currency: \"лв.\"\r\n }\r\n });\r\n\r\n const _setLanguage = () => {\r\n //console.log(lang)\r\n strings.setLanguage(user[\"https://fc-demo/language\"])\r\n }\r\n\r\n _setLanguage();\r\n\r\n const loadState = () => {\r\n //console.log('loadState: ', loadState)\r\n try {\r\n const serializedState = localStorage.getItem('cart');\r\n //console.log('serializedStateLoadState: ', serializedState)\r\n if (serializedState === null) {\r\n return undefined;\r\n }\r\n return JSON.parse(serializedState);\r\n } catch (err) {\r\n return undefined;\r\n }\r\n };\r\n\r\n const loadStateTotal = () => {\r\n //console.log('loadState: ', loadState)\r\n try {\r\n const serializedState = localStorage.getItem('cart');\r\n //console.log('serializedStateLoadState: ', serializedState)\r\n if (serializedState === null) {\r\n return false;\r\n } \r\n return JSON.parse(serializedState);\r\n } \r\n catch (err) {\r\n return undefined;\r\n }\r\n };\r\n\r\n const totalLocalStorage = loadStateTotal() ? (\r\n Object.entries(loadStateTotal().quantityById).map(item => {\r\n //console.log('item_price: ', item)\r\n //console.log(item[1].item_price)\r\n total2.push(item[1].item_price*item[1].quantity);\r\n }\r\n )\r\n ) : null\r\n\r\n\r\n const showPaymentDialog = (store) => {\r\n if(store.PaymentProvider === 'stripe') {\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n )\r\n } else if(store.PaymentProvider === 'epaybg') {\r\n return (\r\n
\r\n \r\n
{strings.epaybg_info_text}
\r\n
\r\n
\r\n )\r\n } else {\r\n return
{strings.no_payment_provider_text}
\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {({ store }) => (\r\n showPaymentDialog(store.getState())\r\n )}\r\n \r\n {totalLocalStorage}\r\n \r\n {/* */}\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default ConfirmOrder\r\n","import React from 'react'\r\nimport { Segment, Step } from 'semantic-ui-react'\r\n\r\nconst style = {\r\n h1: {\r\n marginTop: '3em',\r\n },\r\n h2: {\r\n margin: '4em 0em 2em',\r\n },\r\n h3: {\r\n marginTop: '2em',\r\n padding: '2em 0em',\r\n },\r\n last: {\r\n marginTop: '50px',\r\n },\r\n}\r\n\r\nconst OrderingStepsOrdered = (props) => (\r\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 OrderingStepsOrdered\r\n","import React from 'react';\r\nimport { useAuth0 } from \"../react-auth0-spa\";\r\nimport LocalizedStrings from 'react-localization';\r\nimport { Link } from 'react-router-dom'\r\nimport { Segment, Button, Header, Icon, Table } from 'semantic-ui-react';\r\nimport OrderingStepsOrdered from '../components/OrderingSteps/indexOrdered'\r\n\r\nconst Ordered = () => {\r\n const { user } = useAuth0();\r\n \r\n\r\n const strings = new LocalizedStrings({\r\n en:{\r\n steps_cart_header: \"Shopping Cart\",\r\n steps_cart_label: \"Your shopping cart\",\r\n steps_shipping_header: \"Shipping\",\r\n steps_shipping_label: \"Choose your shipping options\",\r\n steps_billing_header: \"Billing\",\r\n steps_billing_label: \"Enter billing information\",\r\n steps_confirm_header: \"Confirm Order\",\r\n steps_confirm_label: \"Verify order details\",\r\n ordered_header: \"YOUR ORDER IS CONFIRMED\",\r\n but_home: \"GO TO HOME\"\r\n },\r\n bg: {\r\n steps_cart_header: \"Кошница\",\r\n steps_cart_label: \"Вашите продукти\",\r\n steps_shipping_header: \"Доставка\",\r\n steps_shipping_label: \"Изберете опция за доставка\",\r\n steps_billing_header: \"Плащане\",\r\n steps_billing_label: \"Въведете информация за плащане\",\r\n steps_confirm_header: \"Потвърждаване\",\r\n steps_confirm_label: \"Потвърдете информацията на поръчката\",\r\n ordered_header: \"ВАШАТА ПОРЪЧКА Е ПОТВЪРДЕНА\",\r\n but_home: \"КЪМ НАЧАЛО\"\r\n }\r\n });\r\n\r\n const _setLanguage = () => {\r\n //console.log(lang)\r\n strings.setLanguage(user[\"https://fc-demo/language\"])\r\n }\r\n\r\n _setLanguage();\r\n\r\n return (\r\n
\r\n \r\n
{strings.ordered_header}
\r\n {/*
PLEASE WAIT THE PAYMENT CONFIRMATION DIALOG!
*/}\r\n \r\n \r\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 Ordered\r\n","import React from 'react'\r\nimport { Segment, Step } from 'semantic-ui-react'\r\n\r\nconst style = {\r\n h1: {\r\n marginTop: '3em',\r\n },\r\n h2: {\r\n margin: '4em 0em 2em',\r\n },\r\n h3: {\r\n marginTop: '2em',\r\n padding: '2em 0em',\r\n },\r\n last: {\r\n marginTop: '50px',\r\n },\r\n}\r\n\r\nconst OrderingStepsIndex = (props) => (\r\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 OrderingStepsIndex\r\n","import React from 'react';\r\nimport { useAuth0 } from \"../react-auth0-spa\";\r\nimport LocalizedStrings from 'react-localization';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { clearCart, addToCart, removeFromCart } from '../reducers/productActions';\r\nimport { getTotal, getCartProducts, getPlaceAddedIds } from '../reducers/rootReducer';\r\nimport { Link } from 'react-router-dom'\r\n//import CartContainerNoCheckout from '../containers/CartContainerNoCheckout';\r\nimport { Segment, Header, Icon, Button } from 'semantic-ui-react';\r\nimport OrderingSteps from '../components/OrderingSteps';\r\n\r\nconst CartPage = ({ products, total, places, cartLocalStorage, clearCart, addToCart, removeFromCart }) => {\r\n //console.log(products)\r\n const { user } = useAuth0();\r\n const hasProducts = products.length > 0;\r\n\r\n const strings = new LocalizedStrings({\r\n en:{\r\n steps_cart_header: \"Shopping Cart\",\r\n steps_cart_label: \"Your shopping cart\",\r\n steps_shipping_header: \"Shipping\",\r\n steps_shipping_label: \"Choose your shipping options\",\r\n steps_billing_header: \"Billing\",\r\n steps_billing_label: \"Enter billing information\",\r\n steps_confirm_header: \"Confirm Order\",\r\n steps_confirm_label: \"Verify order details\",\r\n cart_header:\"Your Cart\",\r\n cart_empty_label:\"Empty cart or items from different vendors. Please check again!\",\r\n cart_one_place_label:\"Your cart has products from one PLACE.\",\r\n cart_but_remove: \"remove\",\r\n cart_but_add: \"add\",\r\n cart_currency: \"$\",\r\n cart_pcs: \"pcs\",\r\n cart_total: \"Total\",\r\n cart_back_to: \"Back to Products\",\r\n cart_reset: \"Reset cart\",\r\n cart_but_next: \"Next\"\r\n },\r\n bg: {\r\n steps_cart_header: \"Кошница\",\r\n steps_cart_label: \"Вашите продукти\",\r\n steps_shipping_header: \"Доставка\",\r\n steps_shipping_label: \"Изберете опция за доставка\",\r\n steps_billing_header: \"Плащане\",\r\n steps_billing_label: \"Въведете информация за плащане\",\r\n steps_confirm_header: \"Потвърждаване\",\r\n steps_confirm_label: \"Потвърдете информацията на поръчката\",\r\n cart_header:\"Вашата кошница\",\r\n cart_empty_label:\"Празна кошница или имате стоки от различни доставчици. Моля, проверете!\",\r\n cart_one_place_label:\"Вашата кошница има продукти само от един доставчик.\",\r\n cart_but_remove: \"премахни\",\r\n cart_but_add: \"добави\",\r\n cart_currency: \"лв\",\r\n cart_pcs: \"бр.\",\r\n cart_total: \"Общо\",\r\n cart_back_to: \"Обратно към продуктите\",\r\n cart_reset: \"Изтриване на кошницата\",\r\n cart_but_next: \"Напред\"\r\n }\r\n });\r\n\r\n const _setLanguage = () => {\r\n //console.log(lang)\r\n strings.setLanguage(user[\"https://fc-demo/language\"])\r\n }\r\n\r\n _setLanguage();\r\n\r\n /* const saveState = (state) => {\r\n try {\r\n const serializedState = JSON.stringify(state);\r\n console.log('serializedStateSaveState: ', serializedState);\r\n localStorage.setItem('cart', serializedState);\r\n } catch {\r\n // ignore write errors\r\n }\r\n }; */\r\n\r\n const loadState = () => {\r\n //console.log('loadState: ', loadState)\r\n try {\r\n const serializedState = localStorage.getItem('persist:root');\r\n console.log('serializedStateLoadState: ', serializedState)\r\n if (serializedState === null) {\r\n return undefined;\r\n }\r\n return JSON.parse(serializedState);\r\n } catch (err) {\r\n return undefined;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n {/* */}\r\n\r\n

{strings.cart_header}

\r\n\r\n {\r\n ((places.length > 1) || !hasProducts) ? \r\n
{strings.cart_empty_label}
\r\n : \r\n
{strings.cart_one_place_label}
\r\n }\r\n\r\n {\r\n products.map(\r\n product => (\r\n product.quantity_available > 0 ?\r\n
\r\n

\r\n \r\n |\r\n \r\n | {product.product_name} - {product.place_name} - {strings.cart_currency}{parseFloat(product.reduced_price).toFixed(2)} x {product.quantity_available} {strings.cart_pcs}\r\n

\r\n

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

\r\n {\r\n hasProducts ?

{strings.cart_total}: ${total}

\r\n : \r\n
{/* {nodesLocalStorage}

Total: ${totalLocalStorage, total2.reduce(reducer).toFixed(2)}

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

\r\n \r\n \r\n {\r\n ((places.length > 1) || !hasProducts) ? \r\n \r\n : \r\n \r\n }\r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nCartPage.propTypes = {\r\n products: PropTypes.arrayOf(PropTypes.shape({\r\n _id: PropTypes.string.isRequired,\r\n product_name: PropTypes.string.isRequired,\r\n place_name: PropTypes.string.isRequired,\r\n price: PropTypes.number.isRequired,\r\n quantity_ordered: PropTypes.number.isRequired\r\n })).isRequired,\r\n total: PropTypes.string,\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n products: getCartProducts(state),\r\n total: getTotal(state),\r\n places: getPlaceAddedIds(state)\r\n})\r\n\r\nexport default connect(mapStateToProps, { clearCart, addToCart, removeFromCart })(CartPage)\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux'\r\nimport { getAddedIds } from '../../reducers/cartReducer';\r\nimport { Label } from 'semantic-ui-react';\r\n\r\nconst CartGetQ = ({ quantities, qtyLocalStorage }) => {\r\n //console.log('qtyLocalStorage', Object.keys(qtyLocalStorage.quantityById).length)\r\n return (\r\n
\r\n {\r\n qtyLocalStorage ?\r\n quantities.length || Object.keys(qtyLocalStorage.quantityById).length > 0 ? : null\r\n : \r\n quantities.length > 0 ? : null\r\n }\r\n {/* {quantities.length || Object.keys(qtyLocalStorage.quantityById).length > 0 ? : null} */}\r\n
\r\n )\r\n}\r\n\r\nCartGetQ.propTypes = {\r\n quantities: PropTypes.object.isRequired\r\n }\r\n \r\n const mapStateToProps = state => ({\r\n quantities: getAddedIds(state.cart)\r\n })\r\n \r\n export default connect(mapStateToProps)(CartGetQ)","import React, { Component } from 'react'\r\nimport axios from 'axios';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport { Button, Header, Icon, Image, Modal } from 'semantic-ui-react'\r\nimport ImageImage from '../../pages/images/wireframe/image.png'\r\nimport ParagraphImage from '../../pages/images/wireframe/paragraph.png'\r\n\r\nexport default class Notifications extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n open: false,\r\n loading: true,\r\n notifications: []\r\n }\r\n }\r\n \r\n show = dimmer => () => this.setState({ dimmer, open: true})\r\n close = () => this.setState({ open: false })\r\n\r\n notifySuccess = () => toast.success('Notification deleted');\r\n notifyError = () => toast.error('Notification error');\r\n\r\n getNotificationsByAccountId = (accountid) => {\r\n console.log(\"getNotificationsByAccountId\")\r\n console.log(accountid)\r\n if (this.state.loading) {\r\n /* axios.get(`http://localhost:3004/${accountid}`) */\r\n axios.get(`https://api.dontwaste.me/info/${accountid}`)\r\n .then(res => this.setState({ notifications: res.data.notifications, loading: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n });\r\n }\r\n };\r\n\r\n getNotifications = () => {\r\n console.log('getNotifications')\r\n if (this.state.loading) {\r\n axios.get(`https://api.dontwaste.me/info/`)\r\n .then(res => this.setState({ notifications: res.data.notifications, loading: false }))\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n });\r\n }\r\n };\r\n\r\n deleteNotification = (id) => {\r\n console.log(`${id} is deleted`)\r\n axios.delete(`https://api.dontwaste.me/info/${id}`)\r\n .then(res => res.status = 204 ? this.notifySuccess() : null)\r\n .catch(err => {\r\n console.log(err);\r\n this.notifyError()\r\n });\r\n }\r\n\r\n render() {\r\n const { open, dimmer,notifications } = this.state\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n }\r\n dimmer={dimmer}\r\n open={open}\r\n onClose={this.close}\r\n closeIcon\r\n >\r\n Notification Center\r\n \r\n {/* */}\r\n \r\n
Notifications
\r\n {\r\n this.props.user === \"ADMIN\" ? this.getNotifications() : this.getNotificationsByAccountId(this.props.userid)\r\n }\r\n {\r\n notifications.length <= 0\r\n ? \r\n ( <>\r\n

No notifications

\r\n \r\n )\r\n :\r\n Object.values(notifications).map(\r\n (notif, i) => (\r\n

{i+1}. {notif.content} (this.deleteNotification(notif._id), this.setState({ loading: true }))}>

\r\n )\r\n )\r\n }\r\n
\r\n
\r\n {/* \r\n \r\n */}\r\n
\r\n )\r\n }\r\n}","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom'\nimport { clearCart, addToCart, removeFromCart } from '../reducers/productActions';\nimport { getTotal, getCartProducts, getPlaceAddedIds } from '../reducers/rootReducer';\nimport { Segment, Header, Icon, Button } from 'semantic-ui-react';\n\nconst CartPage = ({ products, total, places, cartLocalStorage, clearCart, addToCart, removeFromCart }) => {\n //console.log(products)\n const hasProducts = products.length > 0;\n\n /* const saveState = (state) => {\n try {\n const serializedState = JSON.stringify(state);\n console.log('serializedStateSaveState: ', serializedState);\n localStorage.setItem('cart', serializedState);\n } catch {\n // ignore write errors\n }\n }; */\n\n const loadState = () => {\n //console.log('loadState: ', loadState)\n const serializedState = JSON.parse(localStorage.getItem('persist:root'));\n const serializedState2 = JSON.parse(serializedState.cart)\n //console.log(serializedState2.quantityById)\n /* Object.entries(serializedState2.quantityById).map(\n row => {\n console.log(row)\n }\n ) */\n /* try {\n const serializedState = JSON.parse(localStorage.getItem('persist:root'));\n const serializedState2 = JSON.parse(serializedState.cart)\n if ((serializedState === null) || (serializedState === null)) {\n return undefined;\n }\n return serializedState2;\n } catch (err) {\n return undefined;\n } */\n return serializedState2\n };\n\n return (\n
\n
\n {/* */}\n \n

Your Cart

\n {\n ((places.length > 1) || !hasProducts) ? \n
Empty cart or items from different vendors. Please check again!
\n : \n
Your cart has products from one PLACE.
\n }\n\n {/* {\n console.log(Object.entries(loadState().quantityById).length)\n } */}\n\n {\n products.map(\n product => (\n product.quantity_available > 0 ?\n
\n

\n \n |\n \n | {product.product_name} - {product.place_name} - BGN{parseFloat(product.reduced_price).toFixed(2)} x {product.quantity_available} pcs\n

\n

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

\n {\n hasProducts ?

Total: ${total}

\n : \n
{/* {nodesLocalStorage}

Total: ${totalLocalStorage, total2.reduce(reducer).toFixed(2)}

*/}
\n }\n

\n \n \n \n
\n
\n
\n )\n}\n\nCartPage.propTypes = {\n products: PropTypes.arrayOf(PropTypes.shape({\n _id: PropTypes.string.isRequired,\n product_name: PropTypes.string.isRequired,\n place_name: PropTypes.string.isRequired,\n price: PropTypes.number.isRequired,\n quantity_ordered: PropTypes.number.isRequired\n })).isRequired,\n total: PropTypes.string,\n}\n\nconst mapStateToProps = (state) => ({\n products: getCartProducts(state),\n total: getTotal(state),\n places: getPlaceAddedIds(state)\n})\n\nexport default connect(mapStateToProps, { clearCart, addToCart, removeFromCart })(CartPage)\n","import React, { useState, useEffect } from 'react';\nimport { useAuth0 } from \"../../react-auth0-spa\";\nimport { Menu, Icon, Ref, Header, Divider } from 'semantic-ui-react';\nimport { Link } from 'react-router-dom';\nimport './menuStyles.css';\n\nconst PopUpMenu = (props) => {\n console.log(props)\n const { user, logout } = useAuth0();\n const [isOpenPopUpMenu, setIsOpenPopUpMenu] = useState(props.visible);\n const toggleMenu = React.createRef();\n\n const onClickOutsideHandler= (event) => {\n if (isOpenPopUpMenu && !toggleMenu.current.contains(event.target)) {\n props.handleSideMenuClick();\n }\n };\n\n const onClickMenuItem = (event) => {\n if(isOpenPopUpMenu) {\n props.handleSideMenuClick();\n }\n };\n\n useEffect(() => {\n setTimeout(() => {window.addEventListener('click', onClickOutsideHandler);}, 10);\n setTimeout(() => {window.addEventListener('click', onClickMenuItem);}, 20);\n setIsOpenPopUpMenu({ isOpenPopUpMenu: props.visible });\n return () => {\n window.removeEventListener('click', onClickOutsideHandler);\n window.removeEventListener('click', onClickMenuItem);\n }\n }, []);\n\n const logoutWithRedirect = () =>\n logout({\n returnTo: window.location.origin\n });\n\n return (\n \n \n <>\n
\n {user.nickname}\n \n {user.role}\n \n
\n \n \n \n \n \n {props.popup_menu_my_profile}\n \n \n \n \n \n {props.popup_menu_dashboard}\n \n \n \n \n \n {props.popup_menu_help}\n \n \n \n \n \n {props.popup_menu_cust_care}\n \n \n \n \n \n {props.popup_menu_faq}\n \n \n \n logoutWithRedirect()}\n >\n \n {props.popup_menu_logout}\n \n \n
\n
\n )\n}\n\nexport default PopUpMenu","import React, { useState, useEffect } from 'react';\r\nimport { useAuth0 } from \"../../react-auth0-spa\";\r\nimport LocalizedStrings from 'react-localization';\r\nimport Cart from './Cart';\r\nimport { Button, Icon, Image, Menu, Modal, Header } from 'semantic-ui-react';\r\nimport { Link } from 'react-router-dom';\r\nimport WhiteLogo from '../../pages/images/white_logo.png';\r\nimport WhiteLogoTG from '../../pages/images/TG-logo-8-2.png';\r\nimport KauflandLogo from '../../pages/images/Kaufland_Logo.png';\r\nimport NotificationsIconTopBar from './Notifications';\r\n//import CartTopBar from '../../containers/CartContainerTopBar';\r\nimport CartTopBarNew from '../../containers/CartContainerTopBarNew';\r\nimport PopUpMenu from \"./PopUpMenu.js\";\r\nimport \"./topBarStyles.css\";\r\n\r\nconst TopBar = () => {\r\n const { user, isAuthenticated, loginWithRedirect, logout } = useAuth0();\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [isOpenPopUpMenu, setIsOpenPopUpMenu] = useState(false);\r\n const toggle = () => setIsOpen(!isOpen);\r\n const togglePopUpMenu = () => setIsOpenPopUpMenu(!isOpenPopUpMenu);\r\n\r\n const strings = new LocalizedStrings({\r\n en:{\r\n shop_cart_header:\"My shopping cart\",\r\n popup_menu_my_profile:\"My profile\",\r\n popup_menu_dashboard:\"Dashboard\",\r\n popup_menu_help:\"Help\",\r\n popup_menu_cust_care:\"Customer Care\",\r\n popup_menu_faq:\"FAQ\",\r\n popup_menu_logout:\"Logout\",\r\n },\r\n bg: {\r\n shop_cart_header:\"Моята кошница\",\r\n popup_menu_my_profile:\"Профил\",\r\n popup_menu_dashboard:\"Табло\",\r\n popup_menu_help:\"Помощ\",\r\n popup_menu_cust_care:\"Поддръжка\",\r\n popup_menu_faq:\"Въпроси\",\r\n popup_menu_logout:\"Изход\",\r\n }\r\n });\r\n\r\n const _setLanguage = () => {\r\n //console.log(lang)\r\n user ? strings.setLanguage(user[\"https://fc-demo/language\"]) \r\n : strings.setLanguage('en')\r\n }\r\n\r\n _setLanguage();\r\n\r\n const logoutWithRedirect = () =>\r\n logout({\r\n returnTo: window.location.origin\r\n });\r\n\r\n const loadState = () => {\r\n //console.log('loadState: ', loadState)\r\n try {\r\n const serializedState = localStorage.getItem('cart');\r\n //console.log('serializedStateLoadState: ', serializedState)\r\n if (serializedState === null) {\r\n return undefined;\r\n }\r\n return JSON.parse(serializedState);\r\n } catch (err) {\r\n return undefined;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n isAuthenticated ?\r\n
\r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n } centered={false} dimmer={isOpen} open={isOpen} onClose={toggle} closeIcon closeOnDocumentClick>\r\n My shopping cart\r\n
\r\n \r\n \r\n
\r\n
*/}\r\n \r\n
\r\n : \r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n\r\n { \r\n !isOpenPopUpMenu ? \r\n null \r\n : \r\n \r\n }\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default TopBar\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react'\r\nimport { Table, Header, Image } from 'semantic-ui-react'\r\n\r\nconst HelpPage = () => (\r\n
\r\n
FoodChain - Preventing food waste. It's not a waste yet!
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Проект: BG16RFOP002-1.002-0067-C01 „Разработване на иновативно маркетингово компютърно и мобилно приложение целящо намаляване на излишната храна\".\r\n
\r\n
\r\n \r\n
\r\n Главна цел: Повишаване на иновационната дейност на \"Вилоксофт\" ООД в тематична област \"Нови технологии в креативни и рекреативни индустрии\", направление \"Компютърни и мобилни приложения и игри с образователен, маркетинг и/или развлекателен характер\" от ИСИС, чрез разработването на продуктова иновация в сферата на услугите, а именно маркетинг приложение целящо намаляване на излишната храна.\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Бенефициент: “Вилоксофт\" ООД \r\n
\r\n
\r\n \r\n
\r\n Обща стойност: 397 804.94 лв., от които 304 320.79 лв. европейско и 53 703.65лв. национално съфинансиране
Начало: 09.05.2017 г.
Край: 09.05.2019 г.\u000b\r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default HelpPage\r\n","import React from 'react'\r\nimport { Table, Header, Button } from 'semantic-ui-react'\r\n\r\nfunction productUrl() {\r\n let url = window.location.href.toString()\r\n let subUrl = url.substring(34)\r\n return (\r\n subUrl\r\n )\r\n }\r\n\r\nconst ReportItem = () => (\r\n
\r\n
Reporting Item
\r\n \r\n \r\n \r\n
\r\n ID: \r\n {productUrl()}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default ReportItem\r\n","import React from 'react';\nimport { Route, Switch, BrowserRouter, Router } from \"react-router-dom\";\nimport { Container } from \"reactstrap\";\nimport { useAuth0 } from \"./react-auth0-spa\";\nimport history from './utils/history';\nimport PrivateRoute from \"./components/PrivateRoute\";\nimport Loading from \"./components/Loading\";\nimport { DashboardAdmin, Home, ItemsByVendor, ItemsDetails, DetailPageBuyNowShipping, DetailPageBuyNowBilling, DetailPageBuyNowConfirm, DetailPageBuyNowOrdered, ProfileMenuPage, CartPage } from './pages';\nimport TopBar from './components/TopBar';\nimport Help from './components/Help';\nimport ReportItem from './components/ReportItem';\n\nconst App = () => {\n const { loading } = useAuth0();\n\n if (loading) {\n return ;\n }\n\n return (\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n );\n}\n\nexport default App;","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { createStore, applyMiddleware, compose } from 'redux';\n//persist\nimport { persistStore, persistReducer } from 'redux-persist';\nimport storage from 'redux-persist/lib/storage';\nimport autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';\nimport { PersistGate } from 'redux-persist/integration/react';\n//persist\nimport { Provider } from \"react-redux\";\nimport ReduxThunk from 'redux-thunk';\n//import reducers from \"./reducers\";\nimport './ReactotronConfig'\nimport logger from 'redux-logger'\nimport 'semantic-ui-less/semantic.less'\nimport rootReducer from './reducers/rootReducer'\nimport { fetchProducts } from \"./reducers/productActions\";\nimport './index.css';\nimport App from './App';\n//import { makeMainRoutes } from './routes'\nimport * as serviceWorker from './serviceWorker';\nimport { Auth0Provider } from \"./react-auth0-spa\";\nimport history from './utils/history';\nimport config from \"./auth_config.json\";\n\nconst onRedirectCallback = appState => {\n history.push(\n appState && appState.targetUrl\n ? appState.targetUrl\n : window.location.pathname\n );\n};\n\nif(process.env.NODE_ENV === 'production') {\n console.log('We are running in production mode')\n // We are running in production mode\n} else {\n console.log('We are running in development mode')\n // We are running in development mode\n}\n\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\n//const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({ trace: true, traceLimit: 25 }) || compose;\nconst middleware = [ReduxThunk, logger];\n\nconst persistConfig = {\n\tkey: 'root',\n\tstorage: storage,\n\tstateReconciler: autoMergeLevel2\n}\n\nconst pReducer = persistReducer(persistConfig, rootReducer);\n\n//const store = createStore(rootReducer, /* preloadedState, */ composeEnhancers(\n\nconst store = createStore(pReducer, /* preloadedState, */ composeEnhancers(\n applyMiddleware(...middleware)\n ));\n\nconst persistor = persistStore(store);\n\n//store.dispatch(getAllProducts())\nstore.dispatch(fetchProducts())\nconsole.log('store: ', store.getState())\n\n//const routes = makeMainRoutes();\n\nconst disableStyle = styleName => {\n const styles = document.styleSheets;\n let href = \"\";\n for (let i = 0; i < styles.length; i++) {\n if (!styles[i].href) {\n continue;\n }\n href = styles[i].href.split(\"/\");\n href = href[href.length - 1];\n if (href === styleName) {\n styles[i].disabled = true;\n break;\n }\n }\n};\n\n/* \n \n \n \n*/\n\n\nReactDOM.render(\n \n \n \n \n \n , document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","module.exports = __webpack_public_path__ + \"static/media/save-water.aa90c334.svg\";","module.exports = __webpack_public_path__ + \"static/media/factory.49591ac0.svg\";","module.exports = __webpack_public_path__ + \"static/media/graph.8eb825b9.svg\";","module.exports = __webpack_public_path__ + \"static/media/no_results.bb16bebb.png\";","module.exports = __webpack_public_path__ + \"static/media/sleeping.477ca41c.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/cat.870dcf42.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAADdgAAA3YBfdWCzAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAABw7SURBVHic7Z15dBzVne+/t5auXtVqLd2yFrzJmyxhbMeQCIjBNpglYBLMsNmAMjNMHi9vJpl5BCYzk8lklrzHe0neI4Tk8UjMTEhIAskQlhDWMCzGx8aAN9mW5E2SZS3W2t3VVV3LnT9aLbVaXb1UV6sl0Occn+Puqruof9/63aV+915CKcXHjafbBqoY0JucHNnoYfTFFRio9WKsjAe16bybENZBCGMjIHYAAKUyKI1SnSq6qmuaRHkpqNlHxzTH+QhlWkWVvq2APHfr8spzRf7TLIfMdQG8fqq/ngB3cASXuliyysuhqoQDTywuhwIYVaGOqDgfVGmHqGFfWMMTt67wH7S4qBllTgrg6eN9t3h55ssBG92wQCAOq42dLRRAr0zD/QrZM6LoP9q+PPBMkapimrkiAO7NU/0tNobcGxCwpoQFX+wKpWJUhdoj4+iQQp8idtf3ttW5pGLXKROzWgAPH+xdv9LN/I96B9no4Wan0Y0YU6l2MoLXByTty3c0LGgvdn2MmJUC+PXxvm0VAvnOMidZanljPsOoFOgQ6bFemf71LSsCzxa7PsnMKgG8dXrgv3o5fKNagL/YdSkE3TKGuiR8/8b6ym8Wuy5xZoUAnj7ef9tyF75fLZCKYtdlJuiW6MjJCO69ebn/6WLXpagCeKG18wavw/bDFW62Zo57+pyhAI6H6bFuSf/87SurjhWrHkURwJFR2SX29+7zUnmVz+eb8fJnE5IOekzECyLnvG1bnUuc6fKZmS7wrbauf+D6u4IlurSK47iZLn7WYWdALnLjhpWsOPKbtv4/m+nyZ8wD/Lqtr+ICiAdKaLQ6/p3L5YIgCDNS/lxAp8DBEH1F5F3Xb6tzqTNR5ox4gN8d7bpxFYJ9icYHAJvNNhPFzxkYAlzkIVfXEbHvl8f7L5yRMgtdwFttnT+pZ6XfslSbUhbP8yDkk9b1y446AWWXeMmHz7b3/3WhyypkE0A+PNHZ4VQjS1JddDqdsNvthSr7YwEFcCSEPWOc89JtdS69EGUURAC/PHQm0GDXTtp0xWl0T2lpKRhmxvugc5IOkZ7uZ1yrCzFKsNwCvz3SuaTRrnanMz4hZN74OVDvJItqED79s6O9lk+UWWqFF492Ni23Rds4XU07vpsf/uXOQjupbPSwJ57uGFxoZb6WCeC1tu5Ll3LRjxhdYzPdy7IZb5knBdUCSlY79WNWjhAsEcArx7uvqiPS20TXsspv3gOYp5KHfV0Jef/p9oH1VuSXtwCePXy64QIm8jJ0bWJMpzMsZMb49f1s8QD82CHwY4eKXY2MtIYoeuTJz6Uc+NVOvP3LtoEF+ead1yjg2dZuzzJeHuR0lQdiht8v2/GHMR46gCanhi0uGYIenSyQEBR7/p8fOwRX95PgR2PhfIr3QoRrd0ApaSpqvZJpDQOvDuo4KwMEQIMLuKqcQfX45GmnhPPdcNblE3mUlwAOdJwasWtRb7Lhk2lyaNjijgmB4ziUlJSYLjMfkg2fzGwRQqLhk0kWwrEwPXr5In+D2bJMC2Bv++k2D9Rl6QyfzIUODZd6KRZ7ZnYK2NDw/HgzpShTvi6WENIZPplEIfRH6UtXLfFfZ6ZMUwJ46sjZb2sUD/xhjCNmpqcejd4PpfoWyL5Pm0idPWkN768Eykpjn4dGgP6BoglBGN4DZfAN/Hf6YM5pCYAGN6E8wV/9RZP/ezmnz1UALbv7FgI4DMCda2EAcK/8MD4TfBkAoLqWQqzbYbkQ0ho+UAH4fEDyewhKgeFhoO/8jAlBGN4DZ9eT4MInAAC/qrgPL+F6s9mFADTuag6cySWRGQG8DODqnBKNw5Mo/t/gdhBdm/K9VUJIb/hKwFc63fDJUAoMjwB9hfMIyYaPI5X48WXhcWjU9CjplV3Nga25JMhJAC27++4BsCvHSk3wp/qP0Dz0vOF1s0IwNLzNBvgrsjN8MnEh9J8HotEpl8wKwcjwcNiBgB8o8eCJkZvxH+IludV1Ki27mgNPZHtz1gJo2d1XBaAVgKkxnAAJj47eAUbJ3MPJVgjGhh9v4zMYngZVEIEFbGnEMSGEASBqziNkY/g4g5oPD/R/LR8vMAygYVdzoDebm3OZkvsBTBofAL6oP5aV8QGAC59AybF/MBRCesP7AZ83qyde+sM5OBZWAmvSvJYmBCjzxcQ0PAr0908IgR89iNLRrxkKIRfDxylnh3G5cx/eDJtuDn2I2ermbG7OygO07O7bDsB0CLMLYTw8cicYVcl8cwriQtAZJ1xnf2bg6hN69VmgnRURevYUvDW1wBYP4M5hUjQ+akjVNNTcCUYXczb8lOy1UjzQ/wBU814AAG7Z1Zx5rWJGAbTs7itDzPUHzNbkz9X/jbUjfzCb3BgTho8z+pNWsCoHd2UAqOWBDYZvr40xEMI0sjR8Ij8d/TzeCH8m9zpN0odYUzCU7qZsZP895GF8gUSxJvSu2eQGmdqA2mpg5TJTxlfaRyH1DYOLB6R2K8CIlj5RKspKY3WorY7VKRmHHVh0AbBsaU7GB4DPud8AR0zUaZIAYrZLS1oBtOzuuxLAXfnU4o/0p8CoGZ6QTNTVxH5MwRb7/4plsXbZJKFXTwMUYG0Jbf/hPBbylvlidaqridUxD8PH8bGj2GDPe+uBu8ZtaEgmD/BAvjVoFl/JLwOHA5q3FMfZOrwTrMF5c/NPE0Q/OI/oSAggAJcYlTygAn3m+ihxzsONd4I1aOPqoLnNGT6RTa7deeeBDDY0HAW07O5rAJDTpEIyzXgX9siI6fQhieA7L9nwzpEuSPLkpHNVBYs/va0UV1+eoxh0iuBbnQAAlrOBJIelHZYBPx+bX82Bl98O4/FfDKP3/KTLttsJNm5w4qt/XAaXw9xb93rbGSzkz+KMUmMq/ThbW3b3NexqDrSmupiuZl/Jp1QA2Cb/0nTatl4GX/yxE699oE0xPgD0ntfwj48M4qHHBqGo2U9kSW/1QhUjAAA21ZqEMQ3oyr65iioU3/7hIP7pkfNTjA8AkkTx8tthfPGBXrSfMt8EbnK9ZzptAoa2TCmAlt19FQB25lNiFc7BHzppKm1EIXjwVw6cG5n+KBJCINgEMAyD518P4clnR7PKkyoaQu93T3zmBIOxf6scW6KTBU/8ehS/ezOU8hrLcbDxNvT0KXjwfw1Aksy9df2040M4mYiptAnsHLfpNIw8wJcA5BW0f7v209gsmgkef9OGgWBqP1xWVo4FC6pRU10LluXw02fH0N2bue2OvHIWWsJwjTNalRTRgROZ8+vsUfGL58dSXhMEAbXVtaiuroHHU4L+QRVP/CY7oSZjIwouc75vKm0CdsRsOo1pAmjZ3WcDcF++JTaI5iodloFn9qUOJ2MYBp7xzhXLsnC5XFAUip8/l9oQcWhQQfjw1B3e2HRrEtskQEkv3l+8MGrY/HjcnolVT97x4JdfvTgGOWrugdjo3GsqXRL3jdt2Cqk8wK0A8oo1uxAfgZPDptKe7GcNPXDyQtL4yqJMbWz4953QtalrLTlbGgFEKdCWfto6XZmC4Jgsh+PBsiwUleJkp7m+QDXXBz83aCptAgsQs+0UUgngq/mWtFUxfuOXiRP9xv3S5MWk8c+nuhXoBpEp2oAM8UT/lO8YlgWTKTL5RBQwaLd1PVZmKggh4Pmpecfr2XbafGdwrf2I6bQJTLPtlF+7ZXffRgBr8y1lmWh+AkNM8xspSW/jonLsZkWFoTsOv3QKNEkdUyaAjNAo0Jp6ckhRKRSDxduUUqhJ7zyi4/UWI+bjLy8SjppOm8DacRtPkPy43Z5vCY3aAfCK+SVsSyqNg8wisoTEdxeyHDNQTYCDkOKVrno6hEj39KlwLtW0bSo6o7GhYRKCjaAmYOxBJHmy+VAUFdp481O/yHws5HLhFFz5jwaAJBsnC2BTvrlvVc27fwCorzIWANV1hMKxYZemaQiFY/2M+oWpO42hl08jtsZ2KoZDwGkFAjiS2gsYlQkAwdDYhFCDwcne//I8BMBAx4WCJVsJTbHxhABadvfVAViWT84EFCsiH+WTBSrcFJ9abPwSZGhoEL2959DT0z3xZF27cfqMYPTwMOTB1EOvlJNARvSqwOB0f39NijLjyJKMs2e70XOuB2PB2AjlM+sc8HryW4dzkT3lZF6uLBu3NYCpHiDtS4NsWKh1gFfzd1N/eY0Enks9D0AphSRL0Mbb9cs3OPCZdY5p94XeOG2Yf9YeIM6h6V6geV3qcuOomopoNNYU8DzBX9xdlluZKWiyHweb3xvCOBO2ThRA3u7/j5Sf5ZsFAKCujOLLO73ItIK8NsDhKy3Tf1h5dx+UUOp+CCEMWC7HXWeHNeDs9F7/V1vKUB1InxfDAP9tpw81Vfmvh3QQCTeR3+adDxJsbZkASvVBrFQsWmfH8/jCNV48/I0AKstSR8VcdZkLP35oAfzlST+sDgT3dBlmzQq2nF/2AIiNCJK6Ewv8HH7yP6uwuTl1MEmggsMjf1+Fz2/N/81gnGbbXqyJ7ss3mwlbE0opWnb31QPIa0PjPw9+C2uje01P/07B4wYWx5bBS7KO1vYoDrfJGBjWsHKJDY3LBSysSf3kRV7txtg+49B4u7cU3upac/W6yAEsTt1/OHNWweE2GcdORuEvY9G4QkBDvZBydJIPqkIxenwAf+P7IWRi3ARlwbJdzYGO+OOT19O/Lvoe1tIPrTE+EAuoGMcuMFjXaMe6xsztNo1oCH3Yk/Yew3cA2XBMBup4IEX/ZGENj4U1PK7PuyeVHo4nKLcFcbP4U/zcdW8+WW0C0MEkfDCFg4rYEfoRYOWSb5ObR4kvd0LPEHjK5toBTETSgY48o5usoMSDLdLzWKzm5bQ3AQC5591eAqAXMLdD987Qo9gkvRgLyY7mF1EzwfJ6wJ77BpJS2xCCL3QAakE21AI4BiU3LoNQX+TtbcUI0HESXewSfNP3f6DD1MPXD6CKAVALk8avV4/iSul3AMdZZ3wgdYBlFtiXl8H7heWgDIWuapb+owyF9wvLi298AHA6AI5DnXYS14q/MZuLH0AtA5MRvyxVcU/wYRDQ2NNvFRyX+zKuBGyLSuG7rRHEbt02NMTOwXdbI2yLco9ALhjOWAfwxsjP4ddMH2YWYABUmkl5XeQZ1Gix+Lp8DDYNPn/D8bUelN3ZCMaZvzAZJ4+yOxvB11o3lLOE8X6SjUZxd+gRs7lUMjDh/qu0s7hR/MXkF5qFbS5vjTfhAi74djaCzWMzCtZjg29nI7iAy5I6WUpCH6lB+QiXSq+bycVvygNsD/8rOCS0+ZlWxuSChTuIceVO+O5qAuvLvefP+uzw3dUErtzEiqGZIKmTfLP4b7DRnO1QmbMAlihtWB9NWOlDCAyjMcxgkQeIw3rtKNvZBK4ye0NylU6U7WwC653FexkLwpSm16efx2Yp5zexuTcB28Unpn5h9Z5/FvQBkmHcNvh2NIGvyryOgK9yw7ejCYx7lm9lT8i00dL1kV/BoecUipdbE9AQ/QirlANTv2Qs3vLdYg8Qh3Fw8O1ohK3OeIcyW10JfDsawTjmyEaWSRNmLj2Ea6Vf55JDbh7gluSnH0gVb5EfBdxFlNhYlN6+GsLS6WN5YakPpbevBrHNjk0ssyLFZNnV4m9Rome9Git7D7Au+h4WpZp61Cx5Pz1JAZqARAjHoPSWVbCvLJ/4zr6yHKW3rALh5tgO5immzAVI+Fwk6xVZ2XuAa8R/T33BSgEQUlAPMAFD4L1pBRxrAnCsCcB70wrrm7KZwGC6/LORV+CiqVcsJeFnkMU2MYvUdixTU4QlW73nf4Gf/ikwBCXX1aPkuvq5aXwgtkFGChsIkLBR+n02OXAMgGCmu66OGEShWN1hyzVSJ18IzAWHzCYMVjhtkZ4DSzMePBZkENtg0JBSfRAXR99OfXEue4CPCwbNgE8bxAb5nUypQxk9wObIi8ZKsvrpKdAQ8GNNmtiJrZJBv22SYFoBMNBwhfSScXIrZwCBeQ9ghjRxE4vUDixRj6dLnV4Aq5SDcNM0K2+N1keZZf4kkdzJEDizQU67QVeQAWC4jdinomkSE2L9HMD8SWK5k+GhWZ9eAEMMgI5UVwjVsU5Osz1JIYw1f5Jo7hCS1haVei/qNMOdWjoYGISDL1db008pFsJY8x7AHBl+t/XyHqNL7YYeYH069w8UZvJk3gOYg80gAGNbGnuAhmimRZ6F8ADzAjAFk/4FVq16Gh6acqFsO7OrOTAAYMpVBjoCmQINC/G0kvkmwBQZPAAALFC7k78a3dUcGGAAYLNXHU3cy7Bc758a8pWKQjyshh6AQGYbIXGfwgyceJ8HDCTuU5DZRszoHHMWi3Kq4wG8AHgCNLpJDzD+ImilTaUXl4s4qdrx3KgNC5SzmQstxKnz0zwAgcyuhmi7GipTDQAQ+avgVF6DXd0PZHVW2UzAQOLWQ+S3QGNir5k5vQfO6CsQtCMozI+VWHwWHkDrBk+AT3sJrigjOCHSAWBcAEM685QH+oOLGRFfKZcQilZAD7vBqOleExTgj5rwANMNH0djyhEUboVo2wJntNhCGDe8bQs0Uj7lispUY8x+z8wIIYMHoIwNS8vr8GA1A8/4rQMKngLGVwd/68B5x23OYTFxMyWGIfBGDqK86wdgtRSThYIAyNmdAJI1Tash800Q+aumGd4Ilg7CGX0ddvV9zJwQYq5etG2eZngjOL0HTuVVCOphWC6Evv7YIVdJUEaAFLgeYs126PxkFFRIA/1+l+787oaANHFgxIGOU2G7Fp0WOsswBCXiQVR0JwlBsAGyVeHgBHL5pRDrvwiVMbdFIUuHxj1CIYUQN/wWaMTcjh+cfm5cCIdgmRAGzgPn+iY+UkaAVPU5iNU3TzF8nNYw7dm4yF8DJJwY8sbxrrdqIF5uVAYhgDdyaFIIlghg3PC1d0J1LsozrxiTQtgPwKqpajbB1ee/1QtgsRCGhoHungTDb4fOGy9je2OIPnnrCv9OIEEAjx48d80We/ClTEfIEAJ4pUOo6H8MrJj2NJJ0uVhu+GRiQog3DWaFwCa4emsMn4wVQqCjEUSUtYhkMDwQ2wf7sbP6Z/9ubeBtIEEALbv7yP3+sMZqSlbjl5gQDqOi6wdgtfR79U7CIFy5FdHqGwtm+GTMCaHwhk+G03vHhXAQ2QqBwoYI34wItxE6k93axdMRKI9268Ku5gAFkg6NerftzNkKKmXX+xonJoQjqOh6JI0QGAxV34Vh72YwnB1ud36nfpiBpcPjQtgHYyGwkLgN44YvzjLwbIQQM/yliPAboZPcfst3R+iHNy3zr4t/niKAF492fb2eEf/ZTMUZApQkC4GwGFpwF4a9m6DqsbEqwzAoLS3eMuuYEN6AXd2LSSGwkLiLIdo2Fc3wycSE8BoE9QDiQpg0/BXQibkFq787T+++e5X/3+Kfpx0b19berlNdNz2NxRCgRG4FJ/diuOQKaHT6JEVpaSmYIr/5Y+gIXNHYitqwbTN0MovW/ifA6n1wKa9BI6V5GR4AxlQoSxdUTllPNk0AH3Wcbndocr3pUrLA4/GAn4//m3GOhelLly/yX5f43bTHcFhjtpMCv5ZVVYtDyebJiKyDDin4L8nfTxPAlSsuODBGbH3J31vJvABmnqNhemDbMv+0DRRTNsRHZNt9hfQC8wKYWRQKHAzhr1JdMzw7eG/b6ZCXygXbG8Xr9YK1cm/BeQzZN0Z7r1vqTznHbtgV/0iyPVi4KsX2+5+n8KgUOBDE/UbX054evr/91JhbjxZkeyy73Q6nc5buv/Mx4kCQdm5Z4l9odD3tYLxb4b5UqL5A1MqNpeZJiUaBTgl/nO6etB4AAA62nxoW9GhBZknm5wMKS5tIWy9d6F+d7p6M03ERhrt73gvMPXQKRHTclem+jAK4ZGndcyHGlte21EbMC6BwtIbp77cs9u/PdF9WE/Kt8K7RWN7yMBtK6bwICkCnhMjeMdyUzb1ZCWBHvS/yoWz/M1KAuH3Z6rjCTziiBrw9Qu98YI0/qx82YycwkdeOd71ZB3Fj5jtzw+fzodDvHz4pvDpIn7xjZSzcKxtyeqR/Nmi7UmSFrLafyoX5ZsAaDoVo16tDNGPHL5GcBLCrOUAPRu3rKMNaGtcsSalP55wnewaiUPeP4dJ4qFe25Nyo391Q1X5Ks38z13Tp0DRtvi+QByoF9gfpvfev8Rufl2dATn2ARN5rO3OojEqNphKngGVZlJSUzPcFTLB3lL5wfb3/BjNpTXfrHztvX2MjomVNgaZp830BE8hKV+SZfrrNbHrTAtjVHNAjUusyG7HkSHMAQCRiXV6fBDT1jHI6NLB4V3PA9BxNXgP7hgvvPBEM7W4SSOpzenNF1/X5DmGW6MpJtXW0Z/Fly7fmFb2V98zOhevuOzw68uplQvoNR7MmEonAbL/kkwJV2rWDI10rN628MYt1/OmxZGpvzcVfe3d05KVr7Zm3Hc4IpXTeC6RDOaZ/ONK55qqG7SesyM6yud01l/zt74OjL2y3I+VeNDkhSdJ83GAKqHJU2z985tNbG25LsXW7OUwPA4049P5Da0s8V+yX4M1rPMcwDLxe7/ywcBwl2iYfGulevnX1rZ2Z784eywUAAK2HHi912S8alHRPXh7GZrMVZR3hbEOKnhppC56r2bxymzW97QQKIgAAEEWR6+/aPxolAWc+ZbhcLggGe+J//NExKp047rUva6isrCzIrhcFW6DndDrVRSsud/Hy3vdZxrwAwuHwJzKCmNEH0TW271/r65pXFsr4wAzsuba4accGefT5LzkxaDqPUCj0iRoaqtFD0QPDh65Zt/Rz9xS6rII1Acns2/MNW5VzeY/kuLhc13Mvk+d5eDyz7ABni2FoCH2hgx+0h4OXbGvaMSPDoBkTQJzjHzzykOBuvl+muS864jgOJSXGBz/OZajSobcFz9172Yov/Hgmy51xAQDA+3v+rrLKs/6MyDc4ci2f53m43e6PzfCQ0CiGxQMnjwYH197YtDPbvXYsLL+IbWvbkWf+ycYv+bpMXTlZ8+MhAoqo0in2REb/ZMPSzU8VqxZFFUCc9oNP/kQQlt4joYxkWxuO4+DxeOagCDQo0Ta5OxL++sX113632LWZFQKI0/HBd3/jcFz0+TBbg2yqxbIs3G73nFhlTKgMLXpIOREee6h5xa1/W+z6xJlVAojT/v6//H+Ha32LyC5is6me0+mEPc3xacWE0BDCUtvwGXHwnz+78o7vFLs+ycxKAcRp/ejRq9z2pc9E2UUlWoapEI7j4Ha7i7751AT6KB2WOg+flcbuvHLFTYeKXR0jZrUA4pw794EjMtjxGs9WXBJl/axKUy8oJYTA6XQWaepYB9HO0bAyODSkaE/xbOVfNi5cm+HQheIzJwSQyL49f896OM+3XfYL/oRytaVRtpwkeweGYWC32yEIQkE7iQwdRlTpiY5EQ60DcuT/fnblLU8UrLACMecEkMwH7/1Ng89e9TgnLL1I42vsUeqY8jcJggBBEMBZcSgljUJVe+WwMnhuWB57rVcWv3VD0105h2LPJua8AJIRRZHr7tx3A6uH7+UIt5Yw9jKNuDjC2sByLAhhwbAsWIYnhLWBEAJCFVAolFIVlGq6TlVN06WookeCkq53KDrzDsu6n/Y76g4U8sVMMfhPS3ljbsf67TsAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAADdgAAA3YBfdWCzAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAB9sSURBVHic7Z15eBvHleB/faBxg6eo05KoC5IsWZHkQ4xlK5Ks2IYd25vE8RknOzPJbJKZMNfmQHazY2/MybWTZbzZTL6dbLKJr8Q5PLFN37bsRKFk0aIly5Kp+6BIiodIggQBAo3u/QMESJE4GkCDpBT/vo+fxEZ1dRH1+lXVe69eCbquM56Wlpa7AN3r9T4+4cMCaWxs/C7wi5qamoNm152gtqHOAywDvCM/i4FSwAO4x/0LEAAGxv3bBxwFWkZ+DtX7/IFitXmqENIIwC+Be4Gveb3e75v5wMbGxrOABbitpqbm9ULrq22ocwIbgS3AlcQ7fHah9aahnbgwvAG8Avy53ucPFulZk0I6ATgNzBv59cfA571er1bowxobG1cBb4/8Ogx8oqam5te51FHbUKcw2uGbgSuIC9RUEAV2ExeGV4kLRGSK2pIXEwSgpaVlKXBoXLl/B+7yer2hQh7W2Nj4j8CPxlzSga/W1NT8INu9tQ11G4CPA3cC5YW0o4icAx4HflXv8++c6sYYIZUA/D3wrynK7gI+5PV6u/J9WGNj4x+A21J89BDwhZqamvO0TG1D3QLinf5x4mP6hcQh4FfEheHkVDcmHakE4HHgjjTljwA3er3eI7k+qLGxUQS6gbI0RZ4E7q6pqQnVNtRdDviJC4uQ67OmGTrxv62u3udvmurGjCeVAIwd/1PRTVwT5KTiGhsbLwX2ZyoT0dV3ng280RnShjfnUvcFxPPAg/U+/5+muiEJzhOAlpaWMuLjWDZCwN1er/dJow9qbGy8E3gsW7kBLcRrA3sZ1Aqabkx3/gTcX+/zvzzVDRHH/b7K4H124HctLS3/kMOzVhsp5BbtbPOsp0L2ZC984XIN8FJtQ90TtQ11mbRt0clXABL3PtTS0vL9lpYWI+O04bqtgoUtrvcx11KZQ3MuSD4KHKxtqPtybUOdPBUNGC8Aht7ScXwFeKylpcWapVxOdUuCxEbXKpZa5+bRpAsKF/ADoLm2oW7jZD98/BzgdeLqKR9eB27zer294z9obGx0ETev5jWjPxg+xd7Q0TybdUGhA98B/mu9zx+bjAcWMgSM51pgR0tLy4LxH7RHezZTwHJuhW0+Nc6ViBOae9EhAN8Atk/W3CD5jY6sANKt0Y2yAmhsaWlZm7hQ21DnOxnpfLTAelmgzOQD7jUowpQMlZPNRuCt2oY6X7EflBwC0piA82VQR//YT47+fhPw1WXWecI6x1JTKg7Egmwf3MeQFjalvmmODnwP+Ea9zz/RaWMCY3XqDBPrdQHPrPAs/BogWEXzfDUeyck293rKJJdpdU5jBOBrwKMjTjDTKZYAICAIm2es58rylVgFc511dlFhq3sdsyzT1SdkOncCT9c21Jku9WMFoCiL7svLVrCkdL7p9cqCxCbXZVQrxXL9Tzu2Aa/WNtSZ+qLmrAHymcqX20twu90Igrl+HQGBq5zLWWVbaGq905jLgT/XNtSZ9kblJACSBrM6VMRY7vMRi8WCx+NBFM1fyq2yV3OVcznCBe84NMQy4EWzNEFOAqAM69hCGnM6VGQ1dyGQJAmPx4MkSTnfm41qZTbXui5DFsyvexqyDGgwY04wVgCy2gCUSDxewxLRmdumYhvOXQhEUcTj8WCxmB/FNdtSzlb3OuxiUSbM043Lgd8XujoYKwBqtsJKZLTDxZjOrPYozmDuoYKCIOB2u1EU8zuqTHKxzb0ej+Q0ve5pyDbg/9U21OU99o0VgKwOeGXcGy/oUNWpUtqfX7yoy+XCZrPldW8mHKKN69zrqJJLTa97GnIn8M/53jxWAIYyFRR0sERTq/yycyqVXWpeUzCHw4HTaf7bqggyH3CvYb5SZXrd05Cv5ms2NqwBJC3zEtA9qDGrPZrXCsFqtRZlmSgi8n7npaywmW+HmGYIwC/zcSAZFgDBQMfawjpz2lXkNJoiExaLBbfbXZRl4hr7YtY7ll3sy8QK4LHahrqclkGGBUA02KeWaFwI8lkhyLJctGXiUutcNrpWIV3cy8SNwH/P5QbTBQBASqwQBnOPaUgsE2XZfLfvXEslW1zvM903Mc34ei6RRYYngWi5vdGCDlVdMUr7cheCYi4TK2QP2zzrcYl20+ueJgjAT4zGGBZFA4ylrDcWXyHkeL8gCEVbJrou/sjjVUCtkYJjBaAjU8FCpk/uQY1ZHVGkPMwFDocDh8NRwNNTE488Xsu8izfy+J+MrArGCsCeTAVjUmEzaFtYZ3ZbNK8Vgs1mw+UyPwBEEkSudq1iqXVKQ/OLhQv4YbZCSQHwer1ngM50BaMmzMmSK4Rw7qpAURQ8Hk9RXMrrHUt5n32xqfVOEz5a21C3NVOB8d3aDFyfqmChGiCBFNOZ1aHSPUNm0Jnbmj+xTBwYGEDTchciURRT2hl0XedSZzUrnQuJ6ioRXSWCymAsTEfsHP3RQc5FAqj6pERqm81/A9JuQRu/L6COeFhySuafiiCZ+B30lkr0leW+Ltc0jcHBQVQ1q/8KSZIQBAFN07IKjSAIyLKMxWLBYrGcZ49Q9Rinh85yPNjGiaEOwrHhnNs9hVybbkPqeA2QcR6gygJSHqbedJT1xbCoOt2VMnoOCkYURdxuN4ODg0Sj0QmfJ2wImqYRi2WXWEVRsFqtGV3UsiBR7ZxDtXMOOjrtoR6OD7VxPNhGIDrts8R8E7gh1QfjNcAi4omRUlJ1VsU5VHCmmAmE7SKdVTKxPKzAwWCQ4eH42yjLsqE3HeJvu6Io2Gy2gi2PhwZOsevcOwyomU0pU8wVqfITnPeVe73eY0B/uhpiluLY0m0hjdlnoljyiDJyOp3Y7XYkSUJVVUNq3m63U1JSgtPpNMXsvMw9n3vmX8/VFZdhk6ZtMIo/1cUJCSLeefdAoyxIG1IVdg3EmNFdvIlQTITOmTJhmzFVEIvFGBoaSjkMpMJiseB0OovicEoQ0aI09x1ib9/h6TZp1IHq8elqJnwTbaH0PRxyFNeRkgg6dQ1mV+FDQ0P09/cb6nxBEHA4HEXzNo5FES1cVX4p98y/ntm2aWVkEojnWjqPCd/GwYHjC9PVEJMgYi2uS1XQYUaXSlkaH4Ku6wQCAcJhY1vDEoGoxTApZ8Ip27l1zjWscC+c1OdmIbMA1DbUbTgebJ8bjqVPdReyT84O3dLeGDPG+RBisRj9/f2Gln8QDzQpKSkpinvZCKIgsrlqPRsr10yXWIRlI+n2kozvzY9rusbRYGvaGgYdk7dF2zWoMatDRdIgEokQCAQMG4CsVmtRQs3y4bKSJdw8+2rM3CNZAPeN/SXZmyPhxXcCHBo4nfbuiFUgbJs8abaFNWL9QwwODpIqq2nKe2y2adP5CS5xzOQj87bgls13bOXIHWNDyce+zhsZycDZHu5mMMOaNuCePJXa5o5xTje+FdxmsxXFe2gGpRYXN82+Gos4pTkOyon3NXC+AGwZW2p//7G0NQy5RGKTIAN9No0O6eLo/ATliodtVVdOdTOSfT1WAM5Lzvh24CjDWurJoA70lRZXisOyznF72LDal2V52nd+goXO2WwoLyQbT8Ek+1qEZMr1K8aWiGoqe/sOp61hwCMSKZJlMCboHHKHDU/4EtFDFxLryrwsdV0yVY+/YqTPkxpgIylSru/rP8qwltrQogM9lcXRAofLokQ141a0Ylv3isXmqvVUWQtNy5QXFkbmAYlvbUuqUhEtyr4MWiBsEwjm6NPPRqdLI5jBDjEeq9ValODRyUAWJLZUXT5VNoItMCoAaWclzX2H6M/g7uyplInJ5vwBOtBmMT7pkyTJ1HFf13Uiw+af95DwVqaiXPHgdU/IrDcZXAmj8QDedKVUPcb2rje5dc61KT+PidBRJTG7Xc07cjjBGU+MWA6RPjabzZQQMVVV+d1v/kDTriYCgQGWr/By8203sXTZkoLq3f7K62x/+TVaT7cyf8F8Nl+3iWs2TQzZv7J8JUcGT0+288gLIPVeqXiABzOVHFCHcMi2tONVTBZQLUJeW8WTdYjkNOtPvP2FCoCmafz0x/+HHa//hXA4/vyuzi6adr3JykuXU1ae3xj9wrMv8tjDvyYQiJ8z1d/fz97mfbjdbqoXLTyvrCJaiGgqHeGegv6WHHE/d/hPPxQxeBLHX3reZlBNv3Ug6BTpLc3fOHDak92XPxar1WrK2//s08+xp6l5wvXh4WF+9MMfE4nkPiQcPnSE3zz225SfPfqrxzl+7MSE6+vLvFgnP7HFMpEM6n8sUU3llc4mdNK/oX1lEr3luQtBRIZzGI+xE0XRFO+eqqq8/OKrE667XG48bg8DgQF27tiVc70vPvfShGuKolBZUYmuw0vPT4zRVEQLl5ctz/lZBeI1LAAAraFO/tT1VsYyfSUSXTNyi/Frd6qGVT9gmmt3T1Mzgf7zjwK0WOIdVV5egc1q5ZWXtudU57mec7y1Z++E61UzZuJyuSn1lND0xpsEAgMTyqz0VE/25lWvSPxQRcPsDxyjuS9zRtlBl0jHLAuawVDygGjMvQtxo49ZAnD0yERz99glpUWx0nq6Nadh4MTxkxOGMkmUkoGqitVKLBbj5PGJ50hZRJlL7JOa0GKxSPxEzZxo7HmbI4PpXcYQtxG0zZIZVjILwbAMEc24AJi5a7i7q3vCNWVMZHAiSjhVuVzqtIwRKkXJXGe1c47hZ5lAqcjo8ak58XJnE+3hzF9MVBFomyPTUy6hpZGDLkduSx8zs4ul6gRBHG2oODLJ7O4yPjtPVac4ZrIqCGLachD3E0yiYcgjEj9DN2dieoyn23dwPNiWuaAgECiRODNPIZQimKRfMv72g7kCoFgnHnISjYy2JzoSeaRYjc/OU9Y5Jm4x8f9U5QDskpWZtknLgezOWwNAfGXwXMfOjE6jBKoMHTNlOqvkpBMpJsKwblwARFE0NbxrxoyJQZsRdXS8j46M/anKpaMyRVk1pqLp8XlBJJq9zkkcBvLXAAl0dHb07OO1rmY0AzP5oFPkzDwLHbNk2j1aTrN/s5NLVlZWTLg2HB5maChIKBQiFA4hSVJOxqAZVRM7Vtd1+np7UVWVQH9820XljInPTlDtnLQE2IVpgLG8EzjGMx07CGYwFo0lZBcZyDFJh9kCsGbdmhRXdTq7uujsOouu66y+bFVOnsaly5ak9E8EBgKcaTuDGlPxeDwsWrwobR0lFtd584Yi4hEB0/Z6nR46y6OnX6C5ryWp8jKR6w5fs12+i5csYtHi6hSf6EnNdN0NGXdXT0BRFK7dnPrcLX3kO9m05VpkS/rVjICAXZqUMHZNBCac8lUIUU2lsWc/j59+idNDZzM/fYoFAODWD9+Stt4Vly5n+QrDdrIk112/BY8ntWItKS1h83WbstbhnBwB6DVdABL0RQd4qv3PPN2+g5NDHSlNyLkKgNnJIQAuXb2ST/7tfRPqrl5czedqP5NXnaWlpXzxq7U4nOcPBS6Xky9/7QtphWMsDnlyBEAG+or5hFNDHZwa6sAl21nhqWaFeyEuOT745yIAgiAURQAA3n9NDbPmzKLpjTfp7upmzdrLWH/FuqwWx2g0yqkTpzh54hQnjp9EtsgsWDifhdULuWT+PL71wDd5Y1cTRw4dwbt8GVdcdTnlFcaWeE5pUrKY9coUSQOMZ1ANsfvcAZrOHWSOvZI5tkqWCMZnu5k6X48Oc+53D4Eg4t54C8rc3P34ixZXs3yFF4vFgizLCIJANBolEomk3H944J2D/OLffsm5ntRnbc+dN5e//fQn8d18/rZ8URSRZRmr1YokSWiaRjQaJRqNnrfjyVmgBnD39lK9bz9yJMrb124kmtqW0TdpApBAR+dMqIuwOsxi1yzD92Ua/6Odpwk2xT1wwd0vYFu2Ds+WO7AtSTXLP5/E9nKYqJGsVitWqxWbzYYoivT39xMIBHj4F4/y2quvZ6z3TOsZHrz/O9z64Q9x0y0+SkpKsFgsExJWJAQikRIvFAoxMDCAI885QNnZsyzZs5eqk6cQRiayp5cvo+uSlImwJk8DjMcuZjtq+HwyaQBl7hJKrr+Pge1PoA2HCB/aQ/jQHqzzvbg3fwz7qpqkCTZBIv1cpoQSVqsVh8OR9D84nU5KPCXMXzAfSZKyZh9xuV1c+4FrKC8vR9f1lOUTgS2J4cbhcFBRUYG1xME7QyfoCqbWMOOpOnWaJc1vUd42mu0vJkucWrmSrkvSnr/cK111z9YNQPZpqcl4ZCfzLcY9X5IkYU1jPgWwLV6N6/03I9rsRDtOoEeGifX3MLT3dUJvvYagWLHMWoggilRUVCDLclojlCRJlJWVYbfbJ2geRVFYf8U6Lr9iPbvfaCIYTB0vec2mjdR9/0FKy9L72lwuV9q0uG67k40L1hHVohzvPZPyfkHXmHv0GGtf2s6ivW9jHxgEIGpVOL5mNc3bttK+qJoMWR6fl666Z+tq4Ma0rSwSZgsAgGBRsC5ajfvqW5A85ahnT6GFg2hDAULv7CS4+wVcLie2uYsR5NRGJVmWKS0tzWpyrppZxY03Xc/RI0c503p+B33l61/ijrtvJ9Oc1ciWdUEQWF65iHJ7CQe6jiYFVlJjLDjwLuteepX5B9/FGoob38IOB0fWr6X5ui10LriEWHbD2W+lq+7Zagc+ma2k2RRDABIIkhxX/xtvRa6ci9rdijbYjz48RGD/Tnq2/x5teAjbvCWI1tFOkGWZkpISw/YGq9XKB7ZsYvcbTUnv3qc+83dsue4DGe/zeDyG/xaAeZ6ZVDkrOHDybar3vc26F19hztFjWEaijYMlHlo2XMHeLZvomTMbzbi/5LvC55950E08L9CkBqfPs85go8P49qjEeQJ5oetY2lroeOrnBI+MRusIFisV19xC1Y334ph5CaWlpXktNXu6e/jUJ/+elatW8IWv1Gb0b5SUlOS9j+Hwrx/ixMP/kvw9UFnB4bXvo2PxQnQhZyOZBpQIuq5T21D3LjmEhpnBZArA2CQRwcN7OfvMLwjs25H8XJAkqq6+iUW3fxbXwvy+hsOHDmcc7yGuMYwYgdKi6zT57+TIudMcXbuGzvkFbS07WO/zr0yIzYT0YRcLgiCc50RyLl3Doi/8kOUPPErZhhsQRAk9FuPs63+k8R9voPn+v6HvQO5fx5Kl2W0PBW9iEQRmfem7NN56c6GdD/AmjO4MerPQ2qYrZWVlKZd5tnlLWPDpB1jxnd8x94Z7EJX4mNzd9Cq7v/4xevZkXufnis1mMyWcbd6MhayeaSiSPxtNMCoAF60GyDabd81ZyMrPfZtr/u8Oqm//LLLTjaTYwGTHk5lb2DbMy27gMsCbMLo1rJn4pODC22KbAUVRshprEhMypaSCJff9Z6o/9jli4SGUUvNSvEmSZGokk7eyGkWyEIkZy4+YAo14n8cFoN7nHxyZCK40p4nFQ+3rJtaTJQ5xBMXtZjBbIZeLsEWhZNlliIoNyeZAspmbaMLs848sksx6wcOhtv153R+T5eP3f/KHQTg/WfTTTHMBiJ49RccP/lMysCIbmaMRzse1cDk1Dz2bX8OyUIw0dWtPnqXij0/ndW9H9YJAwvIzVuU/XnCriowgWyCNBa9QZEfxMowU4wQ0a4VxR9p4wi7no4n/J1tW7/M31zbUHQaWFta04iFXzGbutx5BPWfs3U63AkiQyCIqiCLO+cX7s4uhAXrXrOX12z+c832CrvfPOBH8ceL38aL5a+C/FNi2oiLaXShzjb2tjhkzMk4CRVHEXZE+Otcs8jndJBsBKW4JzINHH/jEvyQjd8fP+qf9MJAL2ULONS23sPR8MZraNhf6wxM3lxrkV2N/OU8A6n3+d4B38q15umHkzVNVlf6WZt769qd5+SPLOfXUL0xvh5FTS3LlXCiQvdBEjtb7/I1jL6SanTxOjufPTlfC4XBGl2vg7b9w/PlH6D+wO3kteCrzzud8MFsD6LrO4Z4T+dz68PgLqQTgMeB+LgKj0NDQUDLqJ4Guxejb/RKdDb8kdHp0S5tsdzL3hrtZdJehAzdzIhaLoeu6aUGtbW1HGAoNQG6TS51x6h9SCEC9z3+0tqHut8DH8m/i9CExxuvRYXr+/BSdzz5MpHvUkCS7y5h/y39kwYc+gewszlGyuq4zNDRkWgLrgWceYesrT3Bs9SpOXroSVTG0NH6y3uefcB5UugXqA8DtTHKMQDHo7ThDpOkFOl94DHVgNPxRqZxD1Y33UrHxFuxuD7KzoC2SWQmFQilDzHJlqLudM889hjUaYcXON1jS/BYnV67kxGWXEs7sb/hOqosTzgxKUNtQ9wTw0YJam4FixwPEAj0EXvs9wZ0NaMOj+xXtlyylyncfpVdchyCOqtCysrKCDDbRaJT+/v6Mqwq73V5wSttH3vojJ3c8zdLmvZSeHT3oVZMkTnuXcex9lxEsmaDJXq33+VMmA830Fz8AfIQLTAuoXWcIbH+CYNNL6LHRyZd7+Xpm3PhxPKvfn/K+YDBISUlJXs/UdZ1Dhw7hcrkyev0SWiBfw9DejnfZ3bYfvXohZ6sXUtHWzuLmvVSdOo0Yi7HgwEHmH2yhfdFCjqxbQ6Ay6dD653R1ptUAALUNdb8Dcjc3GcBsDRA5fZj+V35NeP9fRn0FgoB95QZKtt6Bc/FqPB5Pxjc034ido0eP0tkZfxurq6szdrAoioaCTsfTGjhLfeMvU3oAPT09LN6zlzlHjyOM8ZN0z5vL4XVr3/3Wpx5aka7ebDrvAeA/MI21QKT1MH1P/4zwkTHZyyQJ59oteDbfjmXmfCCuooPBIC6XK619YHh4mEAgkJMQtLa2Jjsf4Pjx4yxZkj46SNM0+vr6KCkpMTzktPZ38NOm36R1/wYqKmjetoWWDQMsbt7HvHcPIcVUKlvPECwtnTDzH0tGDQBQ21D3B+A2Qy3NAbM0QOs/3Yk2GN/eKCg2XBtuxH3th5FLZ6SsR5ZlysrKMhpnjJxUHo1GOXLkCH19qbdWzps3D7vdnlbjCIJAaWlpViF4q+NdHtn7VE6+fyUUpnrffko7O8/e/ZM/Z/QaGRHBLwHbgOl1CM8IrvVbCTZvx1Xjw331LYiOzBNFVVXp6elJBoqm0gaRSIRz584ld+yMF4Te3l6OHTuWMX1ca2srHo+HWbNmpXyGruv09vYmTzkZPyQMDYd44uDzNLcdyJCaMzURu42Wqy4PA5vuzlI2qwYAqG2o+wfgoRzbkZFJDQtPgyRJyX0A6YYFURSx2+0oikIgEKCzs5Pe3tx2082aNSs5/0j3fVutVux2O9FolEAgwJ62AzzfsTPnv2kM36j3+VMu/cZidN3zY+J2gdQpwy9QYrEY587F994pipKcoSe2oid27iYOqNY0LXn2cCiUPRVO4sTSSCRCd3d3cnOLoijJ50B8XhAMBunq6kqajQt0Uu0BfmCkoCENAFDbULcY2AeYEi81HTRAIaiqSjAYTDuXSOz4zdfwc2SwlRfO5p6nGFCJnxSeOafvCIZbN2JG/GY+LboYSWwjKy0tTW7tThh6SktL8Xg8U3WMzXeNdj7k7vD5EbAja6m/IkRRRFEUHA5Hcq4whecXNZOjJzenltb7/BrwN5A92PY9Jp0e4MP1Pr/xvPvk4fKt9/kPET9idlLPN3mPjMSAO+t9/hO53piXrqr3+Z8BvpDPve9RFPz1Pv/EUyoMkPdgVe/z/y/ic4L3mFqeqPf5v5fvzYXOVr4IPFVgHe+RP7uJz8nypiABGJkU3sXIPrP3mFT2AB+s9/kLmpAXvF6p9/mDwM3AqULreg/D7AW21fv8BSf5NGXBWu/ztwFXcxGFlE9j9gPX1fv8xvLHZcE0i0W9z98KXAP8yaw632MCB4Gt9T6/8UOMsmCqyare5+8FPgj83sx63wOA14CN9T5/Z9aSOWC6zbLe5w8T9xz+b7Pr/ivmZ8THfFPU/ljM37dMcnXwudqGujbg28V4xl8JGvDVep//fxTrAUX1WtT7/A8SDyqd1FORLwYEBBW4rZidD5Ow/ave5/8DsAooTvqNi5Cu4d6+gBr8YL3PX3Qjm+GAEDOobaj7LPB9wHGhB4QUg4im6seCZx4dUIfuu3fDbeYnFUjBpAoAQG1DnRd4eJ51xuXvCcAoHeGerrZw9013XXXL7uylzWPSIxfqff4WoMYmKj+f7GdPR4a1iH4wcOJfN615f9Vkdz5MgQYYyzO7XvyIB8fPZU3M+mpfjBqgLdTV2h7uuf7uDbcemKo2TKkAJGjY+dLnS0Tn98QYaXOoX0wC0BHu6ewc7n3w9itvmnJ3+rQQgATP73rle27sXxS0ifaJC10ANF3jTKjrcE+k/8t3XPWhaeNCn1YCkODZXS/XuwX738ma6Ei070IVgIgW1VtDXbv6IgOfuWvDLYajdSeLaSkACf79L89d5ZEd/2bXlUtlSRYuJAEIqiH1TKjrmYA69Jl7NtzaPtXtSce0FoAxiM/sevFLsmL5+Gxb5WqraJmWu5V7IwOh3mhgz6Aa+tWwFv3ZvRtuMz8/nMlcKAKQ5JGdT3qsovJph2T7kMfivKxccZdKgvmZOI0Q1VS9a7ivPaAOvjikDv/P6ajis3HBCcB4Htn5pEcRLZ9wSLZbPRbn2nLFUy4XQSA0XWcoFooOxYYHgmro6KAaemxYi/z0ng23DZn+sEnkgheA8Ty880lZQlwtidJaWZBWWgRpiUW0XGIV5SqrpJTZJKtNjB/olviBeAo1XdM1PRQbDoa1SM9wLNoa0aOHVU19O6rH3ojpWtO9G25Lvx/8AuX/Aw/2Ghbb9N+fAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/logoFoodChain2.58d623fa.svg\";","module.exports = __webpack_public_path__ + \"static/media/restaurant.1275e841.svg\";","module.exports = __webpack_public_path__ + \"static/media/supermarket.907b3556.svg\";","module.exports = __webpack_public_path__ + \"static/media/caffe.a90bb0cd.svg\";","module.exports = __webpack_public_path__ + \"static/media/producer.61f04e76.svg\";","module.exports = __webpack_public_path__ + \"static/media/restaurant4.d95e5788.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sell_food.a9f78056.svg\";","module.exports = __webpack_public_path__ + \"static/media/find_food.9801b222.svg\";","module.exports = __webpack_public_path__ + \"static/media/heart.24fcca9b.svg\";","module.exports = __webpack_public_path__ + \"static/media/no_products.2ce89bd5.png\";","module.exports = __webpack_public_path__ + \"static/media/discount-tag.55274403.svg\";","module.exports = __webpack_public_path__ + \"static/media/favorite.3856ecbd.svg\";","module.exports = __webpack_public_path__ + \"static/media/no_purchases.1a86f47e.png\";","module.exports = __webpack_public_path__ + \"static/media/store.a563b240.svg\";","module.exports = __webpack_public_path__ + \"static/media/no_people.09fa978d.png\";","module.exports = __webpack_public_path__ + \"static/media/food_bag.cd0cdaff.svg\";","module.exports = __webpack_public_path__ + \"static/media/no_orders_person.ca088da7.png\";","module.exports = __webpack_public_path__ + \"static/media/network.67495e3f.svg\";","module.exports = __webpack_public_path__ + \"static/media/list.6360ff4d.svg\";","module.exports = __webpack_public_path__ + \"static/media/energy-consumption-icon.765178d2.png\";","module.exports = __webpack_public_path__ + \"static/media/fuel-consumption-icon.efc41645.png\";","module.exports = __webpack_public_path__ + \"static/media/waste-div-icon.137a514f.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEhElEQVR4nO2bOUgzQRSAx58fj0KLqEjAm3ghNqaxUDsRESvRQiu1sFLQUtHOVjsrsfHoFOyso4UHggSU2GgTsTAeRBCxyc9biP+67012dneO/McHj+CbdefNm+vNsQWZTCbD/mF+/MuFB/LKAW9vb0inmrxxwNHRESstLUV61eSFA2ZnZ1lvby/SayFjkN3dXRiALYlGo0YMMdYClpeX2djY2NffplrAT6TRwNTUFNvc3PyWUU1NjQlT9I8B8/PzqPDA3d0d0mkBdQqFrK+vf/V5p5gaA7RFgqenp6yrqwvp7ZgISrV0AejzboU3hZYWUFBQgHQU8XicdXR0ECnqyKtQeGJiAulUo9wBPT09SMfj4uLCai3X19ecJ+SjtAtAQdrb25FehFQqxcrLy5U7QGkL2NnZQTpRmpubVZr2GzQxSiIej6O53o8kEgmlcYCyFnB8fIx0fmhtbWX7+/uqzFTXAoaGhqS0gKyoQtmbqULIkKWlJZRXEKTMAk9PT9avfdQWDX78kE6npe0eSRkDIHr7+PhAelWUlZWxm5sbKW8P5IDt7W2rph8eHlCaamBwhLxhkRWEQF3A3swTiQRraWkh01QTpBdLmwY/Pz+RThfZMcgPvh3grOGzszP0jC4qKirY4uKiv9z8zCBbW1toSpubm9MyDeaS8/NzZKvrdI00AoRCIWQI6Ew7IBwOq3fA5OQkypiK1qh0HaLcAbkKkQ8OODw8RDbnQqoD9vb2jDugu7sb2ZwLqQ4AGR8ft56DXypdh2xsbCC7eUhfDsMmyNraGotGoyhNJpFIhPu2g4MDpOPCcQxJKpUSrkGYkii9zKae66BFSReIxWIoI1OSnXZ5ThAdDD11gcfHR6QzRUNDg5Xz6OgoacHt7S3SUXhywMvLC9KZAlaDzLEH4cdWTw4wueBxMjg4iHR2Li8vkY7ij70l1tnZiXR2RDdoPDmgsLAQ6Uxh33ugKC4uJrQYTw6orq5GOhPEYrFvuYZCIWRFU1MT0lF4cgBvwNGN87zx+fkZWQB7BNIdEA6HkS5fqaurE7MMRQYuUEGHTrEvuL6iOSJ/4fIgjQtUZroETpsoqDD5r3QArEUonM9BeKzMASsrKyhDHcJjZmbmW/5eb5vx38whmUxqLzyvRilbqDEiF742RXVudsAONI+RkRH0vFd8nw47m55s4Q14GU7NM2JnWgTfDkin08gAGQJb225r+aqqKjKvk5MT9Kwbge4HUEYEEZH++/7+TubhPJgRJdBtcfABhKVu12EgVh8YGLDO9WGVBmv5trY21tjYyPr7+9HzFHBNZnh4mEgJeKMsSAvI1kgkEkE14pTp6WnuPO7G1dUVel+Qgc+OlCsyok5gtm1zEWAP0u2uEdxGM+6ALNAPKSNlCwQ7fluTE+mXpGAEV+0AmSi5JaZqioRFjuyLk8q/GOEFLaICp9F+zv1F0fbJDBRidXU109fX51p46OMLCwvW4KoaIx9P39/fs2QyyV5fX63foqIiVllZyerr61ltbS0rKSlB/6OK/1+P54EN5mCM/QJhdEspiFRzIwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEZklEQVR4nO2bvy8sURTH7z6v0Fhaik2Izj9AFOhUulVQbLeNVktFR70Sqi2pNCQaREGiROFHIhoSnaWgui/fybuTMWfuzP1xZneT2U8ywZm5v879dc65V0lKKUWB+VPkxoOeAoikYPQUQCQFo6cAIsmRq6srsb29LZaXl0WpVAqewcFBsbi4KA4ODsTb21u72y+EzImjoyPYF+GzsLAgDw8P5evra2KBz8/PstFoyEqlEqaZmpqSHx8f5FtO2BXw9PQUNqBWq5H3plxfX/9S4OXlZXcr4Pv7O7fKrqysBPlWq1XyzhcWUxhz+f90Iu84OT8/F7Ozs6xleS2CrVYraHyz2cy98WBmZiYsRyndG9cRhGGe17A0YWNjQ3Ks4U45nJycBIXv7e2Rd+1ErTltVQC2sRx3TytQj/39/eDn2dmZWx5EkkE3Nf7+/j74vdlsOtfLKhXHkOMgqR4wmqAIW4xbs7a2RgrtlsZH31nnRyQJqHnWaVAHWJo6XOpp9HUeK77qya2tLfIuieicT8PWBDdWACfKUYIDhJ+YXmmkDfs4Nzc3VvXN/BLbi2kvmRDfRpXTo8Nl4bUaWUSSkBkXcHeRHxynrHKUpZc253XY2CqpX3EbPcpwSSLe06ZzXgeLArCYcCnAZChHLTuXno8yMTFBZEmk1ojLt1exAqMKCRH4Gr60Wq3MxTUoj0hileHAJh94l+0sVxsQ+fz8FOVy2dvP//n5Ef39/Vb5wNfniC+Y5KMNiNzd3RGZC6Ojo9ap5ufng2BLO/irK+Px8ZHIXECo27Y3j4+P2UZBFtoR8P7+TmS2INbf7WgVMDQ0RGS2NBoNUalUnNNj/cgbrQJGRkaIzJbT01NRq9WCVC5BzJeXFyLjRquA6elpInPBpxf7+vqIjBvtNigYtqPJyUnx9fUlbm9vybssUDZ2goGBgYwv9Xhtg4qHhwciM6VarYbbKeyKnZ0dq/Q+jQf1ep3ICMQ0illSOJZyJepMqTNDTisuDcQHERvILIdIItgGF+Jsbm7+OjxR5wlZ/gXcZpwk+8DiDUqPnlD+PBoSzQOhNfydFsFlOfHhUgDO622JBzOUIuIVTKqkTm4D7iKwKUBa9ojuzE41DMM7iXK5zBJ8hRucVL4OYwWYLCi6xivUGqB7OEA+Y2NjvApQFxTSUI03DWMh8oN1gPMyhe1OA4y/Rsarq6tELhPmfKdAHer1ej4KUErAApPU+E6DMPjS0pJ1LaxqHo8Sd0vjfaLX1qnUUbQycnxC11z4WKxOalOrOI62Oo26T+iK8/jFYoPCcc7XCTDydKdMVp1JJBao6QDjo52YbMttUYCMWF4+t0Jt4J5+LGpUqzDXqU4S6hR5fHw84a07LLfFh4eHxX9liouLi/AmOG6H+7C+vh7mtbu7G+TPFa4PyaW7pJRzc3O/bH6TxRLDGgZNNJ3uNJmL3K0YXHeHCa1zgJIeW3PWh9SgaBHo/csMkRSMngKIpGD0FEAkBaPYChBC/ANedBRjBp5XXwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/co2-icon.ac960ca6.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAAG50lEQVR4nO2cb0gTbxzAb9roQssIYc3CGWYUVDBkqEkZEUJoLwp8E2UMohfVi94EKb6KKJHyH0QQUQkV64/VXvRma5JEE0UTVAhcKe1FU6aETt3O2i7k4Hq479xvy1/7Pje+n1e77/N9zt3389zds7vzDLIsCwQeWVR7XEgAMiQAGRKADAlAhgQgQwKQIQHIkABkSAAyJAAZEoAMCUCGBCBDApAhAciQAGRIADIkABkSgAwJQIYEIEMCkCEByJAAZEgAMiQAGRKADAlAhgQgQwKQIQHIkABkSAAyJAAZEoAMCUCGBCBDApAhAcjoVYDf76+vrzebzfn5+TU1NQMDAyBFJ8g6xOfz5efns/U1Go0ul0uP26LLVxUcPny4t7dXEzSbzePj47m5uSCda/R3CHr16hWsviAIgUDg5s2bIMw7OtsDJEnas2fP5OSkspiTk2MymSYmJpRFURQ/f/5cVFQE+vGLzvaA9vZ2tfqCIDQ0NHR2dqqLkUikoaEBdOIbcFbgl6mpqY0bN6rVtFgsS0tLsixXV1ezJf748aOONkpPAs6dO8cW2uFwKPGxsbHs7Gw1brPZYrEY2zEUCt29exesjwt0I2B4eNhgMKhVrqysZKt84cIF1k1XV5cSj8Vijx8/LigosNvtYJVcoBsBVVVVan0NBsPg4CDbOjMzs3nzZjWhoKBgYWFhaGjowIEDSuTJkydglVygDwHd3d3sAI87nNva2tgcq9XK7jHT09OgBxfoQEAkEtmxY4daytzc3EAgALLk5eXlXbt2xZ3w7N+/H6Tzgg6moZqpZ2Nj49atW0HWytWIM2fOgPAKR48eBTFu4HZoKASDQXbqWVRUFA6HQZY8MTFx8uTJ1Wr69u1b0IMXdHAIcjgc27dvV0r5/PlzTevi4mJTU5MoiqDsf/aMhYUFsFZe0MdJWKlydXW1Jv7hwwfVzWocOnQIrI8j9PRDTPPzSuHLly937tw5ceJEXl5eXAXXrl0DnTgic96cG41G+/v7371753a7+/r6otGoEvd6vRUVFSCdF7gW4PP5Zmdny8vLQct/MD8///79e7fb7fV6+/v7161blzgfEe4EzM7Oejwet9vtcrn8fn9paeng4CDIyhy4ECBJktfrVYr+6dMn9itlZWUFg8EtW7aATpkC7uno/v37x44d27BhQ4Jqvnz5EvRLmV+/fr148SLuaRwX5F/CtbW1ZrM5EomAlj94PB4QS43e3t7S0tK6ujqHw/FPN+dv4GEUDAwMJDjTlpSUgB4pwN5FKCwsVO7h8AMX14JsNpvX63306JHJZAKNK3Mhv98Pwsmyc+dONdPv97e2tv7DLfkL+BkLkiQVFxfH3YIHDx6A9GTRXEzNycmJezEVC46uhnZ0dHz9+hWEhTWeBtavX3/r1i11cXFxsbGxEWThwclAmJ6e3rRpk1oFi8XS3d2tHj1MJtMaJzCaG2rDw8MgBQdeBJw/f54dg0+fPlUOSs3NzcrDbqOjo6BTIqLRKNs6NDTE3iCrqqpK0DedcCFgZGSEfayhoqKCHe/fv3+vr69vb28H/VbF6XTCm8B2u511/Pr169W6pxMuBGjuWPX19YEU+cePHyAWH6fTaTQaHz58qGkNBALsk6PFxcWSJMVdQzrBF+B0Otnqnzp1CqSktjaj0SgIAhQgy/KNGzfYv3X79m2Qkm6QBUiSVFJSolZEFMVv376BrGRRq7+agHA4zD45mpeXFwwGQVZaQZ6GdnV1+Xw+dfHKlSuFhYUgKyl6enrq6up+/vyZIFkUxZaWFnVxbm6uubkZZKUXXP81NTXq1prN5lAoBFKSwuPxaK7oxd0DFA4ePKimWSwW0J5WkO9UTE1NqZ9FUTx9+jRI0bJ3797r16+zwZ6entra2nA4zAY7OzvfvHkDeq8QCoXUz8FgELSnF1z/Z8+eTXVrNVN4OPZTwmq1gi+VVpDPARcvXszK+vvvsLy8bLfbNWM/JS5durTGTVgruP5lWb537546dUkGzR4wMjKi+Ye95Ll8+TL4OumGi1uSk5OTz549Gx8fj8VioFHL7t27r169ygZHR0ePHDkyMzPDBisrK9kL0SzZ2dnbtm07fvy4zWYDjWkHfQj8L8D9IMEsiCsy5D/l9+3b53K52OupeiFzXlVgtVr16CCj3hVRVlamOweZ9rIO3TnIwLelKA5We1aXNzLn4VydQu8LQoYEIEMCkCEByJAAZEgAMiQAGRKADAlAhgQgQwKQIQHIkABkSAAyJAAZEoAMCUCGBCBDApAhAciQAGRIADIkABkSgAwJQIYEIEMCkCEByJAAZEgAMiQAGRKADAlAhgQgQwKQIQHIkABkSAAyJAAZEoCJIAi/AcU9+HuJmaluAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/TG-logo-8-2.ee21f139.png\";","module.exports = __webpack_public_path__ + \"static/media/Kaufland_Logo.b6857ec4.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL8AAABbCAYAAAAiP1SSAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADJGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkMyNzk1RDA2RDEzRDExRTQ5NjVCREIwRDc2MkM5MkY5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkMyNzk1RDA3RDEzRDExRTQ5NjVCREIwRDc2MkM5MkY5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzI3OTVEMDREMTNEMTFFNDk2NUJEQjBENzYyQzkyRjkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzI3OTVEMDVEMTNEMTFFNDk2NUJEQjBENzYyQzkyRjkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4g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\"","module.exports = __webpack_public_path__ + \"static/media/stripe_logo.14e67e24.png\";"],"sourceRoot":""}