{"version":3,"sources":["helpers/general.js","components/Header/PageHeader.module.scss","Views/MapsSection/MapsSection.module.scss","Views/MapsSection/Zone.module.scss","components/FiltersForm/FiltersForm.module.scss","components/Forms/DishForm/DietaryConsiderations.module.scss","components/Wrappers/MenuWrapper.module.scss","components/Header/index.jsx","components/Header/TopBar.jsx","Templates/Classic Template/SingleMenuPage/SingleMenuPage.module.scss","Layouts/AdminPanel.module.scss","Views/UpdateAccount/UpdateAccount.module.scss","components/Forms/MenuForm/MenuForm.module.scss","QRTemplates/Template 1/index.jsx","QRTemplates/Template 2/index.jsx","QRTemplates/Template 3/index.jsx","QRTemplates/Template 4/index.jsx","store-redux/actions/auth.js","store-redux/reducers/auth.js","store-redux/actions/restaurant.js","store-redux/reducers/restaurant.js","store-redux/actions/menu.js","store-redux/reducers/menu.js","store-redux/actions/category.js","store-redux/reducers/category.js","store-redux/actions/dish.js","store-redux/reducers/dish.js","store-redux/actions/ingredient.js","store-redux/reducers/ingredient.js","store-redux/actions/admin.js","store-redux/reducers/admin.js","store-redux/connect/store.js","components/QrCode/QrCode.module.scss","QRTemplates/Template 1/QR.module.scss","QRTemplates/Template 3/QR.module.scss","components/Section/Section.module.scss","images/foodi-footer.png","QRTemplates/Template 2/QR.module.scss","Views/CreateCategory/CreateCategory.module.scss","Views/Register/Register.module.scss","components/TabsView/TabsView.module.scss","components/IngredientAttrubution/IngredientAttribution.module.scss","Views/MapsSection/Menu.module.scss","Views/MapsSection/MapMenu.module.scss","components/ImageInput/ImageInput.module.scss","components/RestaurantForm/RestaurantForm.module.scss","Views/VerifyAccount/VerifyAccount.module.scss","Views/ResetPassword/ResetPassword.module.scss","Views/MapsSection/MapAction.module.scss","components/Modal/index.jsx","components/Modal/Modal.jsx","components/Forms/MediaForm/ChooseFromMedia.module.scss","components/Modal/ModalFooter.module.scss","components/Forms/CSVForm/CSVForm.module.scss","Views/MapsSection/Location.module.scss","components/Forms/UpdateAccountForm/UpdateAccountForm.module.scss","components/Forms/CustomizationForm/CustomizationForm.module.scss","components/MenuPreviewBtn/MenuPreviewBtn.module.scss","Views/PaymentSystem/PaymentSystem.module.scss","QRTemplates lazy /^/.//.*$/ groupOptions: {} namespace object","QRTemplates/Template 1/screenshot.png","QRTemplates/Template 2/screenshot.png","QRTemplates/Template 3/screenshot.png","QRTemplates/Template 4/screenshot.png","Views/Timeline/Timeline.module.scss","components/Header/Header.jsx","assets/img/logo.svg","assets/img/logo_min.svg","components/LoadingSpinner/LoadingSpinner.module.scss","utils/constants.js","components/Categories/Categories.jsx","components/Categories/CategoriesHeader.jsx","Views/Admin/Admin.module.scss","components/MenuPreviewBtn/MenuPreviewBtn.jsx","App.module.scss","components/MenuPrint/MenuPrint.jsx","components/MenuPrint/index.jsx","components/Header/Header.module.scss","QRTemplates sync /^/.//.*$","Templates lazy /^/.//.*//Menu$/ groupOptions: {} namespace object","Views/Members/Members.module.scss","components/SelectList/SelectList.jsx","components/SelectList/index.jsx","components/LoadingSpinner/index.jsx","components/LoadingSpinner/LoadingSpinner.jsx","components/Pagination/Pagination.jsx","components/Pagination/index.jsx","components/Forms/MediaForm/ChooseFromMedia.jsx","components/ImageInput/ImageInput.jsx","components/ImageInput/index.jsx","components/Section/SectionHeader.jsx","components/Section/Section.jsx","components/Section/index.jsx","components/Colors/ColorInput.jsx","components/ImageInput/MediaOnlyInput.jsx","components/Forms/TransferOwnershipForm/TransferOwnershipForm.jsx","components/Modal/ModalFooter.jsx","components/Modal/General.jsx","constants/index.js","constants/templates.js","constants/QRTemplates.js","components/RestaurantForm/EmbedMenuOptions.jsx","utils/file.js","components/Checkbox/index.jsx","components/Checkbox/Checkbox.jsx","components/RestaurantForm/RestaurantForm.jsx","hoc/withMenu.js","hoc/withSelectedMenu.js","hoc/useInterval.js","components/Alerts/IncomingMenus.jsx","components/Wrappers/MenuWrapper.jsx","components/Forms/SwitchAccountForm/SwitchAccountForm.jsx","components/Forms/SwitchAccountForm/index.jsx","components/Forms/DeleteConfirmation/DeleteConfirmation.jsx","components/Forms/DeleteConfirmation/index.jsx","components/Header/PageHeader.jsx","Layouts/AdminPanel.jsx","Views/Settings/Settings.jsx","Views/Settings/index.jsx","components/TabsView/TabsView.jsx","Views/Login/MultiAccounts.jsx","components/ReCaptcha/index.jsx","components/ReCaptcha/ReCaptcha.jsx","utils/ReCaptcha.js","hoc/useReCaptcha.js","Views/Login/Login.jsx","Views/Login/index.jsx","Views/Register/Register.jsx","Views/Register/index.jsx","components/SelectDishes/index.jsx","components/SelectDishes/SelectDishes.jsx","components/Forms/IngredientForm/index.jsx","components/Forms/IngredientForm/IngredientForm.jsx","components/Forms/DishForm/EditDietary.jsx","components/Forms/DishForm/DietaryConsiderations.jsx","components/Forms/CustomizationForm/DefaultData.jsx","components/Forms/CustomizationForm/LoadGlobalTemplates.jsx","components/Forms/CustomizationForm/index.jsx","components/Forms/CustomizationForm/CustomizationForm.jsx","components/IngredientAttrubution/IngredientAttribution.jsx","components/TextEditor/TextEditor.jsx","components/TextEditor/index.jsx","components/Forms/DishForm/DishForm.jsx","components/Forms/DishForm/index.jsx","components/Forms/CategoryForm/CategoryForm.jsx","components/Forms/CategoryForm/index.jsx","components/Forms/CategoryForm/AddDishToCategory.jsx","components/Forms/MenuForm/MenuNames.jsx","components/Colors/Colors.jsx","components/SelectFontList/SelectFontList.jsx","components/SelectFontList/index.jsx","components/SelectItem/SelectItem.jsx","components/SelectItem/index.jsx","components/Forms/MenuForm/MenuCTA.jsx","components/Alerts/Warning.jsx","components/Modal/SubscribeRequiredModal.jsx","components/Forms/MenuForm/MenuForm.jsx","components/TourDashboard/index.jsx","components/TourDashboard/TourDashboard.jsx","components/Forms/SelectCategoriesForm/index.jsx","components/Forms/SelectCategoriesForm/SelectCategoriesForm.jsx","components/Table/Table.jsx","components/Table/Dishes.jsx","components/Table/Ingredients.jsx","Views/Dashboard/Dashboard.jsx","Views/Dashboard/index.jsx","Views/VerifyAccount/EnterPasswordAndVerify.jsx","Views/VerifyAccount/VerifyAccount.jsx","Views/VerifyAccount/index.jsx","Views/ForgotPassword/ForgotPassword.jsx","Views/ForgotPassword/index.jsx","Views/ResetPassword/ResetPassword.jsx","Views/ResetPassword/index.jsx","components/Forms/MenuForm/index.jsx","Views/CreateMenu/CreateMenu.jsx","Views/CreateMenu/index.jsx","components/Forms/CSVForm/CSVForm.jsx","components/Forms/CSVForm/index.jsx","components/Table/Categories.jsx","Views/CreateCategory/CreateCategory.jsx","Views/CreateCategory/index.jsx","Views/CreateDish/CreateDish.jsx","Views/CreateDish/index.jsx","Views/CreateIngredient/CreateIngredient.jsx","Views/CreateIngredient/index.jsx","components/Forms/MediaForm/index.jsx","components/Forms/MediaForm/MediaForm.jsx","Views/MediaSection/EditMedia.jsx","Views/MediaSection/MediaSection.jsx","Views/MediaSection/index.jsx","Views/MapsSection/DeleteItem.jsx","Views/MapsSection/Menu.jsx","Views/MapsSection/EditButtonMap.jsx","Views/MapsSection/CancelChanges.jsx","Views/MapsSection/QrCodeBtn.jsx","components/QrCode/QRTemplateComponent.jsx","Views/MapsSection/Map.jsx","Views/MapsSection/Zone.jsx","Views/MapsSection/Location.jsx","Views/MapsSection/MapMenu.jsx","Views/MapsSection/MapAction.jsx","images/magnifier.svg","images/map.svg","images/share.svg","Views/MapsSection/MapsSection.jsx","Views/MapsSection/index.jsx","components/Table/index.jsx","Views/Members/Members.jsx","Views/Members/VerifyAccountMember.jsx","Views/Members/AddMember.jsx","components/Forms/DeleteAccountForm/DeleteAccountForm.jsx","components/Forms/DeleteAccountForm/index.jsx","components/Forms/UpdateAccountForm/UpdateAccountForm.jsx","components/Forms/UpdateAccountForm/index.jsx","components/Forms/UpdateAccountForm/UpdatePassword.jsx","Views/UpdateAccount/UpdateAccount.jsx","Views/UpdateAccount/index.jsx","components/Forms/AddRestaurantForm/AddRestaurantForm.jsx","components/Forms/AddRestaurantForm/index.jsx","Views/AddRestaurant/AddRestaurant.jsx","Views/AddRestaurant/index.jsx","components/charts/CustomLineChart.js","components/charts/CustomBarChart.js","components/charts/CustomPieChart.js","components/InteractionsDashboard/InteractionsDashboard.jsx","components/InteractionsDashboard/index.jsx","Views/MenuInteractions/MenuInteractions.jsx","Views/Admin/Logs.jsx","Views/TransferOwnership/TransferOwnership.jsx","Views/TransferOwnership/index.jsx","components/Forms/DashboardStatistics/index.jsx","components/Forms/DashboardStatistics/DashboardStatistics.jsx","components/Forms/AddAdminForm/AddAdminFrom.jsx","Views/Admin/RestaurantInformation.jsx","components/Forms/DeleteUser/index.jsx","components/Forms/DeleteUser/DeleteUser.jsx","Views/Admin/AddDMA.jsx","utils/stripe.js","components/Forms/DMA/ClientsSubscribe/ChoosePlan.jsx","components/Forms/AddUserForm/AddUserForm.jsx","components/Forms/AddUserForm/index.jsx","components/Forms/ViewDMALicenses/ViewDMALicenses.jsx","components/Forms/ViewDMALicenses/index.jsx","Views/Admin/Dashboard.jsx","Views/Admin/CompleteAndVerifyAccount.jsx","components/Forms/DietaryConsiderationsForm/index.jsx","components/Forms/DietaryConsiderationsForm/DietaryConsiderationsForm.jsx","Views/Admin/DietaryConsiderations.jsx","assets/img/logo.png","Views/PaymentSystem/Purchase.jsx","components/Forms/MenuForm/Days.jsx","Views/Timeline/Menu.jsx","Views/Timeline/Categories.jsx","Views/Timeline/Timeline.jsx","Views/Timeline/index.jsx","Views/Toggle/Toggle.jsx","Views/Toggle/index.jsx","hoc/withMenuSingle.js","components/Wrappers/SingleMenuWrapper.jsx","Views/Customizations/Customizations.jsx","Views/Customizations/index.jsx","Views/DMA/register.jsx","components/Forms/DMA/AddClientStepper.jsx","components/Forms/DMA/AddClient/AddClient.jsx","components/Forms/DMA/AddClient/AddOrSelectRestaurant.jsx","components/Forms/DMA/AddClient/Complete.jsx","components/Forms/DMA/AddClient/Main.jsx","components/Forms/DMA/AddPaymentMethods.jsx","components/Forms/DMA/ClientsSubscribe/SelectPaymentMethod.jsx","components/Forms/DMA/ClientsSubscribe/PromotionCode.jsx","components/Forms/DMA/ClientsSubscribe/Complete.jsx","components/Forms/DMA/ClientsSubscribe/ProcessCompleted.jsx","components/Forms/DMA/ClientsSubscribe/Main.jsx","hoc/usePrevious.js","components/Forms/DMA/LicensesSubscriptionStatus.jsx","components/Forms/DMA/AddCardForClient.jsx","Views/DMA/dashboard.jsx","Views/DMA/client-verify-invitations.jsx","components/Forms/DMA/CancelSubscription.jsx","Views/DMA/single-client.jsx","Views/Admin/Analytics.jsx","components/FiltersForm/FiltersForm.jsx","components/FiltersForm/index.jsx","Views/Filters/Filters.jsx","Views/Filters/index.jsx","constants/email-templates.js","Views/Admin/EmailTemplates.jsx","Views/Admin/EditEmailTemplate.jsx","constants/routes.js","Templates sync /.jpg$","Templates/Classic Template/screenshot.jpg","Templates/Pizza Restaurant/screenshot.jpg","Templates/Sushi Restaurant/screenshot.jpg","components/Table/Table.module.scss","Views/MapsSection/Map.module.scss","api/Api.js","api/Endpoint.js","Templates lazy /^/.//.*//SingleMenuPage$/ groupOptions: {} namespace object","Routes/PrivateRoute.js","Routes/PublicNotAuthRoute.jsx","components/NotFound/index.jsx","components/NotFound/NotFound.jsx","Routes/Routes.js","constants/config_fonts.js","App.jsx","index.jsx","components/Categories/Categories.module.scss","Views/Toggle/Toggle.module.scss","components/Pagination/Pagination.module.scss","components/Templates/Templates.module.scss","Views/Login/Login.module.scss","components/Alerts/Alerts.module.scss","assets/img/placeholder_food.png","Views/MediaSection/MediaSection.module.scss","QRTemplates/Template 4/QR.module.scss","components/Header/TopBar.module.scss","components/Forms/SwitchAccountForm/SwitchAccountForm.module.scss"],"names":["general","validatePrice","price","String","prototype","isNumber","test","this","Error","err","message","formatPrice","Intl","NumberFormat","style","currency","format","isDarkColor","color","c","substring","rgb","parseInt","compareColors","color1","color2","c1","c2","getPasswordRegex","passwordRegex","passwordMessage","timeAsDate","time","includes","today","Date","date","toDateString","dateAsTime","toLocaleString","moment","toString","checkPermissionDeniedResponse","response","permissionStatusCode","process","statusCode","incrementPriceByPercentage","percentage","num","Math","round","Number","EPSILON","parseJSON","target","onErrorReturn","JSON","parse","reorder","list","startIndex","endIndex","result","Array","from","splice","removed","getExceptedMinutesFromDate","startDate","exceptMinutes","nowDate","minutes","duration","diff","asMinutes","isBefore","abs","findClosestMenus","menusTimeline","menus","menu_period_transition","notifyMenus","Object","keys","length","filteredMenusTimeline","values","filter","timeline","find","menu","_id","forEach","startTime","push","checkPermissions","params","$connector","exceptPermissions","originalPermissions","some","permission","every","arr_diff","a1","a2","a","i","k","ellipsePagination","currentPage","totalPages","l","last","left","right","range","rangeWithDots","generateUrl","url","startsWith","paginate","items","current_page","per_page_items","page","per_page","offset","paginatedItems","slice","total_pages","ceil","pagination","previous_page","next_page","total","data","withPromiseTimeout","milliseconds","promise","timeout","Promise","resolve","reject","setTimeout","race","generateTimeOptions","thisWeek","dDay","getDay","first","getDate","value","setDate","label","thisMonth","thisQuarter","quarter","floor","getMonth","start","getFullYear","thisYear","convertToReadableRestaurantType","type","FOOD_TRUCK","RESTAURANT","module","exports","Header","TopBar","className","styles","topBar","topBarItem","QR","fields","restaurantId","qrSettings","advancedQrCode","qrUrl","logo","text_bottom","text_top","title","wifi_name","wifi_password","useState","text","window","location","origin","width","height","qrOptions","setQrOptions","qrRef","useRef","qrElement","setQrElement","useEffect","clear","EasyQR","current","temp","optionFields","option","qrStyles","qrWrapper","placeholder","ref","QrCode","path","transformation","loading","lqip","active","alt","src","text_box_1","text_box_2","text_box_3","middle","sideBoxes","box","menuUrl","LOGIN_SUCCEED","REGISTER_FAILED","LOGOUT","USER_UPDATED_SUCCESSFULLY","cookies","Cookies","setAuthToken","key","token","set","getAuthToken","get","getUserFromSessionStorage","localStorage","getItem","resetAuthState","remove","removeItem","setUserOnCookiesWithoutTokens","user","tempUser","setItem","stringify","resetStateData","store","dispatch","methods","LOGIN","Api","call","Endpoint","login","confirmation","multipleAccounts","account_unverified","accessToken","refreshToken","REGISTER","register","registerError","logout","REFRESH_TOKEN","newAccessToken","newRefreshToken","IS_ADMIN","Auth","getState","role","CONSTANTS","USER","ROLES","ADMIN","SUPER_ADMIN","UPDATE_ACCOUNT","updateAccount","ADD_RESTAURANT","addRestaurant","SWITCH_ACCOUNT","switchAccount","SHAPE_SHIFT","endpoint","ME","me","VERIFY_ACCOUNT","verifyAccount","LOGGED_IN","initialState","getCurrentUserFromLocalStorage","RESTAURANT_FETCHED_SUCCESSFULLY","RESTAURANT_FETCHED_FAILED","RESTAURANT_RESET","RESTAURANT_MEMBERS_LOADED_SUCCESSFULLY","obj","state","Restaurant","forceRender","getRestaurant","restaurant","update","updateRestaurant","loadMembers","getMembers","members","MENU_CREATED_SUCCESSFULLY","MENUS_LOADED_SUCCESSFULLY","TEMPLATES_LOADED_SUCCESSFULLY","MENU_SELECTED_LOCALLY","MENU_RESET","create","query","createMenu","getMenuFromSessionStorage","firstTimeLoggedIn","setMenuSelectedLocally","findSingle","id","findSingleMenu","updateMenu","menuFromStorage","load","selectCategories","removeCategory","removeCategoryFromMenu","reorderMenu","Menu","loadMenus","isArray","selected","delete","deleteMenu","templates","CATEGORY_CREATED_SUCCESSFULLY","CATEGORIES_LOADED_SUCCESSFULLY","CATEGORIES_RESET","selectedMenuID","createCategory","category","findById","findCategoryById","updateCategory","resp","ids","deleteCategory","Category","options","selectedMenu","loadCategories","categories","categoryQuickEdit","addDishes","categoryID","dishesID","addDishesToCategory","removeDish","dishID","removeDishFromCategory","uploadCSV","uploadCategoryCSV","csvFile","DISH_CREATED_SUCCESSFULLY","DISH_LOADED_SUCCESSFULLY","DISH_DELETED_SUCCESSFULLY","DISH_RESET","fromDashboard","createDish","dish","CategoryMethods","findDishById","updateDish","dismissRender","deleteDish","Dish","loadDishes","dishes","uploadDishCSV","INGREDIENT_CREATED_SUCCESSFULLY","INGREDIENTS_LOADED_SUCCESSFULLY","INGREDIENTS_RESET","createIngredient","ingredient","updateIngredient","deleteIngredient","Ingredient","exceptChildren","exceptParentID","loadIngredients","ingredients","uploadIngredientCSV","ADMIN_USERS_LOADED_SUCCESSFULLY","ADMIN_RESTAURANTS_LOADED_SUCCESSFULLY","ADMIN_STATISTICS_LOADED_SUCCESSFULLY","ADMIN_LOADED_SUCCESSFULLY","ADMIN_DIETARY_CONSIDERATIONS_LOADED","ADMIN_RESET_DATA","dispatchType","field","accessObject","loadDietaryConsiderations","admin","dietary","read","dietaryConsiderations","users","admins","restaurants","statistics","rootReducer","combineReducers","action","TYPES","tempMenus","tempCategories","unshift","tempDishes","tempIngredients","Admin","createStore","Modal","visible","closeModal","Component","size","dialogClassName","backgroundColor","show","onHide","closeButton","Title","Body","map","webpackAsyncContext","req","then","__webpack_require__","o","e","code","t","connect","routes","navCollapsed","setNavCollapsed","preview","setPreview","history","useHistory","toggleBtn","collapseRef","navbarRef","openSubMenu","setModal","modal","document","addEventListener","handleClick","removeEventListener","contains","classList","getElementById","click","siteHeaderWrapper","closed","siteHeader","onClick","viewBox","fill","d","x","y","filterUnits","colorInterpolationFilters","floodOpacity","in","dx","dy","stdDeviation","in2","operator","mode","headerContainer","to","brand","logoMin","navBarLinks","adminRoutes","DMA","DMARoutes","privateRoutes","noAuthenticatedRoutes","route","showInMenu","permissions","private","except","subs","subRoute","checkSubMenuPermissions","pathname","activeNav","tour","icon","name","j","roles","checkRouteRole","footerMenu","cursor","enterTouchDelay","subMenu","href","REACT_APP_HELP","rel","REACT_APP_SIDE_DISHES","REACT_APP_CSV_DOCUMENTS","REACT_APP_UPLOAD_IMAGES","REACT_APP_QR_CUSTOMIZATIONS","REACT_APP_QR_CODES","REACT_APP_ADMIN_EMAIL","REACT_APP_MENU_CTA_DEFAULT_TITLE","_g","_defs","_excluded","_extends","assign","bind","arguments","source","hasOwnProperty","apply","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgLogo","_ref","svgRef","titleId","props","xmlns","clipPath","x1","y1","x2","y2","gradientUnits","stopColor","ForwardRef","SvgLogoMin","MEMBER","DMA_CLIENT","CTA_TYPES","link","take_me_there","website","order_online","order_ahead","call_to_order","CTA_COLORS","primary","secondary","tertiary","DIETARY_CONSIDERATIONS","diets","foodTypes","other","CONJUNCTIONS","OR","AND","LAYOUT","nav","collapsed_nav","categoriesToShow","addDishToCategory","editCategory","onDragEnd","clone","menuSelected","generateSlides","draggableWrapper","index","imagePath","placeholderFood","image","REACT_APP_API_PORT","draggableId","provided","innerRef","draggableProps","swiperSlide","dragHandleProps","fromParent","closeBtn","categoryItem","categoryImage","categoryItemContent","dishPrice","dishName","categoryAddItem","categoryHolder","categorySlider","droppableWrapper","droppableId","direction","droppableProps","CategoriesHeader","categoriesHeader","marginLeft","deleteCategoryDashboard","disabled","previewBtn","printArea","handlePrint","useReactToPrint","content","marginBottom","dangerouslySetInnerHTML","__html","description","cat","maxWidth","margin","padding","borderBottom","fontSize","fontWeight","marginTop","Tooltip","preventDefault","toast","MenuPrint","webpackContext","webpackContextResolve","all","getSelectStyles","highlightColor","container","control","textAlign","minHeight","borderColor","boxShadow","singleValue","input","position","isSelected","SelectList","isMulti","onChange","onMenuOpen","customCSSProperty","rest","isDisabled","LoadingSpinner","fullScreen","fullScreenLoader","Spinner","animation","CustomPagination","Pagination","changePage","pages","Prev","elem","Ellipsis","paginationActive","Item","Next","ChooseFromMedia","setFileSelectedLocally","handleImage","setData","setLoading","setPagination","getData","listMedia","loadingSpinnerParent","chooseFromMediaParent","el","fileName","placeHolderImage","placeHolderTitle","uploadFromMedia","modalStyle","multiple","accept","onImageRemove","updateIndex","imageRemoved","setImageRemoved","fileSelected","setFileSelected","chooseFromMedia","getPlaceHolderLabel","dashboardStyles","imageInputWrapper","Button","fileWrapperContainer","fileInputWrapper","event","files","ImageInput","SectionHeader","tooltip","generateStyle","act","sectionHeader","actionsWrapper","Fragment","dropdownItems","DropdownButton","loadingState","downloadBtn","item","Dropdown","funk","art","variant","Section","section","children","ColorInput","initValue","inputValue","setInputValue","colorInputWrapper","placement","colorInfo","placeHolder","displayFile","fileSelectedLocally","filePathWrapper","TransferOwnershipForm","checkTransferOwnershipStatus","error","setError","useForm","handleSubmit","errors","submit","request_transfer_ownership","Form","onSubmit","Group","Alert","Label","Control","required","pattern","email","autocomplete","password","marginRight","ModalFooter","decorationLine","parent","GeneralModal","customMessage","customButtonMessage","toastMessage","template","template_meta","QRTemplates","EmbedMenuOptions","freeze","default","px","setOptions","generateEmbedMenu","widthStyle","heightStyle","iframeCode","navigator","clipboard","writeText","entries","opt","toLowerCase","ButtonGroup","btn","newState","handleChangeOption","opacity","maxFileSize","allowed_extensions","file","fileError","success","endsWith","Checkbox","checked","inputProps","utils_constants","qrTemplates","constants","initialMedia","media","canvasRef","showCancelOwnership","setShowCancelOwnership","loadingDownload","setLoadingDownload","customError","setCustomError","logoSelected","setLogoSelected","setFileError","socialMedia","setSocialMedia","setQrSettings","SelectedQRTemplate","setSelectedQRTemplate","qrTemplateMeta","setQrTemplateMeta","toUpperCase","restaurantType","setRestaurantType","initialCTATypes","initialCTAColors","newTab","lightText","enabled","cta","setCta","toSelectListData","convertToImage","selector","add","toPng","imagePlaceholder","dataUrl","download","finally","toJpeg","toSvg","appendCanvas","html2canvas","scale","profile","useCORS","allowTaint","canvas","innerHTML","appendChild","templateMeta","tm","console","updateTemplateMeta","handleQRTemplate","selectedTemplate","selectedQrTemplate","slug","resFields","moveToQrCodeField","undefined","validatedFile","File","validate","formData","FormData","append","alert","backgroundImageAlpha","addSocialMedia","exist","getSocialMedia","filtered","social","temporary_transfer_ownership_status","React","lazy","handleTemplateValues","copy","showEmbedModal","copyQrCodeUrl","letterCase","str","charAt","qrShareActions","toLocaleLowerCase","parentRestaurant","defaultValue","registerStyle","registerErrorText","img","as","min","max","sideDishesLabel","Row","Col","md","qrColumn","fallback","Divider","display","require","colorDark","val","MediaOnlyInput","specialInput","General","cancel_transfer_ownership","withMenu","BaseComponent","customerMenu","setCustomerMenu","setMenusTimeline","match","useRouteMatch","matchMap","getCustomerMenu","mapId","adminSocialFallback","adminSocials","adminMedia","tempData","init","log","centeredWrapper","menuNotFound","objectFit","borderRadius","backimg","withSelectedMenu","useSelector","menuIndex","setMenuIndex","setSelectedMenu","restaurantID","setRestaurantID","findIndex","useInterval","callback","delay","savedCallback","interval","setInterval","clearInterval","reset","IncomingMenus","onClose","onSwitch","currentMenu","transitionPeriod","useLocation","LazyLoadedTemplate","setLazyLoadedTemplate","setNotifyMenus","scrollTo","top","menuIDSelectedFromCustomer","replaceState","onCloseIncomingMenu","onSwitchIncomingMenu","toAddMenu","mn","introPage","introHeader","restaurantLogo","menuDescription","multipleMenus","behavior","cover","menuContent","capitalize","SwitchAccountForm","accounts","accountID","replace","account","firstRow","radius","username","accountData","DeleteConfirmation","closeLabel","deleteAccount","deleteButtonTooltip","removeButtonTooltip","removeCategoryFromMenuLoading","setRemoveCategoryFromMenuLoading","deleteItem","dropdownActive","setDropdownActive","renderRoutes","showInDropdown","header2","headerDropdown","header","firstName","actions","logoutBtn","body","profileRoutes","switchAccountText","Dashboard","disablePreview","setDisablePreview","isMapPage","setIsMapPage","windowSize","setWindowSize","handleResize","innerWidth","panel","mainWrapper","noPadding","previewContainer","MenuWrapper","withLayout","Settings","TabsView","tabsContainer","tabsHeader","tabBody","MultiAccounts","List","dense","ListItem","button","ListItemAvatar","Avatar","substr","listItemWrapper","ListItemSecondaryAction","ReCaptcha","recaptchaRef","executeAsync","useReCaptcha","reCaptchaRef","reCaptchaToken","setReCaptchaToken","executeReCaptchaToken","ReCaptchaService","onChangeReCaptcha","accountSelected","setAccountSelected","setMultipleAccounts","accountUnVerifiedData","setAccountUnVerifiedData","resendEmailConfirmation","resendEmailAccountVerify","loginPageWrapper","pageContainer","formTitle","tabIndex","accountUnVerified","Login","Helpers","accountVerified","setAccountVerified","phoneNumber","setPhoneNumber","watch","setValue","emailConfirmationAlreadySent","URLSearchParams","search","accountVerifiedSuccessfully","inputStyle","country","phone","restaurantName","confirm_password","Register","SelectDishes","addToSelect","selectedDishes","localPagination","setLocalPaginationData","dishImage","flexDirection","IngredientForm","handleDataOnDishForm","IngredientRedux","tagInputRef","duplicateErrors","setDuplicateErrors","ingredientsUploadedSuccessfully","setIngredientsUploadedSuccessfully","ingredientNames","setIngredientNames","updateIngredientError","setUpdateIngredientError","ingredientRef","resetFormAfterCreating","tag","trim","insertedIngredients","onlyUnique","tags","EditDietary","restaurantDietary","adminDietary","dietaryEditedSuccessfully","dietaryExists","tempRestaurantDietary","tempAdminDietary","dataTypeAdmin","dataTypeRestaurant","existsAdminDietary","existsRestaurantDietary","dish_id","updateDietary","DietaryConsiderations","setDietaryConsiderations","setRestaurantDietary","dietaryConsiderationsApi","setDietaryConsiderationsApi","checkedAdminDietary","setCheckedAdminDietary","checkedDefaultDietary","setCheckedDefaultDietary","tempDietaryConsiderations","tempDefaultDietary","handleOnChangeRestaurantDietary","handleKeyDown","array","onChangeRestaurantDietaryExists","onChangeAdminDietaryExists","prepareEditDietary","newDietaryName","oldDietaryName","checkedTemp","restaurantDietaryTemp","typeTemp","checkedDietary","renderRestaurantDietary","dishDietaryWrapper","textTransform","deleteDietary","removeDietary","loadingWrapper","dietaryKey","dietaryKeyIndex","handleOnChangeAdminDietary","onKeyDown","initialCustomization","isCustom","isFixedPrice","isAvailable","initialCustomizationOptions","customizations","custom","LoadGlobalTemplates","setCustomizations","setCollapseIndex","selectedCustomizations","setSelectedCustomizations","transformCustomizations","customization","paddingBottom","tempRestaurant","copied","CustomizationForm","stateCustomizations","metadata","customizationsObject","customModalStyle","duplicateValidationsError","setDuplicateValidationErrors","validationIngredientErrors","setValidationIngredientError","duplicateIngredientsError","setDuplicateIngredientsError","saveChangesLoading","setSaveChangesLoading","collapseIndex","DefaultData","clearErrors","transformIngredients","ingredientsArr","foundIngredient","ing","removeOption","parentIndex","tempCustomizations","tempIngredientsError","clearIngredientsError","displayError","optionIndex","handleOnChangeCustomizationOptions","validateIngredients","handleCustomizationInput","hasDuplicates","customizationData","seenDuplicates","foundDuplicates","duplicate","hasDuplicateIngredients","stateData","count","validatedIngredients","fromRestaurant","tempCustomizationsObj","hasErrors","loadFromGlobalTemplates","transition","customizationsWrapper","openCustomization","transform","deleteWrapper","deleteCustomization","Collapse","collapseExpanded","FormControlLabel","Radio","labelPlacement","alignItems","fontFamily","lineHeight","letterSpacing","fixedPriceBtn","isFixedPriceButton","verticalAlign","repeaterOptionsWrapper","inputOptionsWrapper","isAvailableOptionWrapper","deleteOptionBtn","addOptionRepeaterWrapper","addOption","IngredientAttribution","addIngredient","selectedIngredients","setSelectedIngredients","ingredientsCopy","setIngredientsCopy","sm","ingredientBox","notSelectable","removeFromSelected","InputGroup","Prepend","FormControl","Editor","modules","toolbar","font","indent","matchVisual","formats","TextEditor","pointerEvents","theme","getValues","imageSelected","setImageSelected","setIsAvailable","sideDishes","setSideDishes","selectedSideDishes","setSelectedSideDishes","priceError","setPriceError","categorySideDishes","setCategorySideDishes","copyCategorySideDishes","setCopyCategorySideDishes","categoryUpdate","setCategoryUpdate","getTime","dietaryResetKey","setDietaryResetKey","editorValue","setEditorValue","DefaultCustomizationsData","getDishId","validateFile","validExtensionsFile","generateFormData","showGeneralModal","showSameNameModal","noIngredients","validatedPrice","querySelector","handleMissingIngredients","missedIngredients","ccsd","csd","catToRemove","dishesToRemove","extractDishIDsFromCategory","checkIfDishesMatchAnyCategory","newCategories","catIDs","dishIDs","concat","self","parseCustomizations","showCustomizationModal","selectedGlobalCustomizations","calories","alcoholPercentage","getCustomCustomizations","border","justifyContent","dataValues","categorySideDishesValues","categoryDishes","handleCategorySideDishes","DishForm","setSelectedDishes","setChecked","setCategory","getCategoryId","submitFunc","CategoryForm","MenuNames","excludeAddNewMenu","addMenuBtn","valid","tempMenu","showCTA","fonts","colors","draft","spaceBetween","slidesPerView","addNew","focus","Colors","meta","setColors","handleData","SingleListItem","innerProps","SelectFontList","selectedFont","components","Option","requestImageFile","SelectItem","templatesSlider","flexWrap","imgPath","templateScreenshot","MenuCTA","menuCTA","setMenuCTA","emails","emailsTags","setEmailsTags","tempMenuCta","Warning","actionButton","actionButtonTitle","loadingActionButton","alertWarning","warningText","buttonWrapper","SubscribeRequireModal","dma_parent_email","fixedActions","setDescription","showSubscribeRequired","defaultMenuCTA","setSelectedCategories","singleMenu","setSingleMenu","coverImage","setCoverImage","logoImage","setLogoImage","displayDietary","setDisplayDietary","displayIngredients","setDisplayIngredients","displaySideDishes","setDisplaySideDishes","templateSelected","setTemplateSelected","selectedFonts","setSelectedFonts","googleFonts","setGoogleFonts","deleteLoading","setDeleteLoading","saveLoading","setSaveLoading","publishLoading","setPublishLoading","setMenuSelected","selectedMeta","setSelectedMeta","menuNotSaved","setMenuNotSaved","imageInputKey","setImageInputKey","loadGoogleFonts","fetch","json","transformFonts","family","localStorageMenu","loadSingleMenu","tempFonts","schema","tmp","startLoading","publish","unPublish","stopLoading","showDeletePrompt","tempMenuCTA","menuCategories","notifyInputChanged","transformCategories","flexGrow","Text","TourDashboard","isTourOpen","setIsTourOpen","introduceSteps","setIntroduceSteps","baseNavbar","navbarToggler","sub_menu_classes","querySelectorAll","sub_menu","showInstructions","setFirstTimeLoggedIn","originalSteps","walkthroughSteps","dashboard","steps","filteredSteps","step","connector","filterSteps","parsedData","parsed","parseFromLocalStorage","isOpen","onRequestClose","disableInteraction","accentColor","SelectCategoriesForm","setSelected","categoriesSelected","saveChanges","selectedCategories","Table","columns","rows","paginationComponent","enableLocalPagination","enableSelectMultiple","onDeleteMultiple","onSelectRowsRenderView","onSelectRowsDisableDelete","checkedLength","final_rows","customTableWrapper","customTable","tempRows","selectAllCheckboxes","column","row","rowIndex","onChangeCheckbox","columnIndex","render","access","Dishes","deleteDishes","Ingredients","deleteIngredients","setCategoriesToShow","addIngredientsModal","deleteCategories","menuID","destination","currentCategory","menu_id","cloneIngredients","newIngredientName","cloneDishes","createdAt","restaurantDietaryConsiderations","cloneCategory","newCategory","customModalAddMember","Categories","EnterPasswordAndVerify","onSuccess","verifyAccountAndEnterPassword","requirePasswordStep","setRequirePasswordStep","extractToken","decoded_token","require_enter_password","bodyWrapper","loadingText","errorText","VerifyAccount","ForgotPassword","requestNewPassword","ResetPassword","loadingButton","setButtonLoading","checkToken","checkResetPasswordToken","resetPassword","registerFormStyle","errorMessage","confirmPassword","MenuForm","withDashboardLayout","CreateMenu","CSVForm","Controller","downloadExampleLink","setCSVFile","csvFileError","setCSVFileError","successMessage","setSuccessMessage","existValidationError","setExistValidationError","validationError","setValidationError","resetAllValidationCSV","csvErrorParent","successMessageCSV","footerContainer","uploadCSVButtonParent","alginSelf","CreateCategory","CreateDish","CreateIngredient","MediaForm","setFile","maxFileSizeErrorText","endsWithAny","arr","errorFileCount","FileList","uploadMedia","EditMedia","setScale","rect","getCroppingRect","editMedia","scrollBottom","main","scrollHeight","onWheel","s","deltaY","imageEditDesc","deleteFile","_","deleteMedia","uploadFile","mediaSection","imageWrapper","deleteBtn","editBtn","editFile","loadMoreWrapper","MediaSection","DeleteItem","menu_index","map_index","zone_index","location_index","findAndDeleteMenu","showConfirmationModal","theMenu","typeMenu","menuName","EditLocationButton","CancelChanges","QrCodeBtn","QRTemplateComponent","Map","findAndUpdateMap","findAndDeleteMap","findMenu","updateMaps","isUpdating","setIsUpdating","clickedMap","setClickedMap","currentText","setCurrentText","mapURL","updateItemHandler","downloadPrintActions","clicked","mapTitle","wrapper","whiteSpace","suppressContentEditableWarning","mapActions","editActive","editButtonMap","qrCodeBtnActive","qrCodeBtn","cancelChanges","menusWrapper","mapEdit","EditButtons","mapActionButtons","buttonQR","Zone","zone","findAndUpdateZone","findAndDeleteZone","findMap","zoneTitle","zoneActions","mapsWrapper","maps","Location","locationItem","zonesWrapper","zones","MapMenu","snapshot","isDragging","MapAction","maptype","maptype_index","isDropDisabled","isDragDisabled","typeMap","typeMapClone","locations","uuid","setCurrentTarget","collapsedTypes","setCollapsedTypes","MapTypes","magnifier","share","handleLocations","currentLocation","findLocation","isAdd","updateLocation","handleZones","currentZone","findZone","updateZone","handleMaps","currentMap","updateMap","handleMenus","droppableElement","zoneDroppableId","parentElement","getAttribute","containsCurrent","counts","m","addToAll","theCount","stateCopy","findAndUpdateLocation","findAndDeleteLocation","loc_index","zon_index","loadMaps","rewrite","post","mapActionsWrapper","mapToggleWrapper","typesOffMaps","collapsed","typesWrapper","mapType","mapTypes","locationsWrapper","MapsSection","updateMember","toastId","displayMembers","setDisplayMembers","membersObj","member","superAdmin","dma","dma_client","permissionsLabel","join","deleteMembers","deleteMember","resendInvitation","dismiss","TableStyle","memberVerifiedWrapper","VerifyAccountMember","submitLoading","setSubmitLoading","memberData","setMemberData","getToken","verifyAccountToken","verifyMemberToken","verifyMemberAccount","memberPermissionsNames","AddMember","memberPermissions","setMemberPermissions","allPermissionsSelected","disablePermission","tempPermissions","createMember","getUpdateMemberField","memberPermissionParent","selectAll","permissionBox","boolean","toggleSelectAll","keyPermission","onChangePermission","permissionDescription","DeleteAccountForm","autoComplete","UpdateAccountForm","User","getUserField","formGroupParent","company_name","UpdatePassword","new_password","updatePassword","current_password","confirm_new_password","tab_options","PERSONAL_INFORMATION","PASSWORD","UpdateAccount","tab","setTab","tabs_row","active_tab","isLocation","setIsLocation","selectedLocation","setSelectedLocation","dynamicLabels","setDynamicLabels","handleLocationToggle","restaurantRadioLabel","locationRadioLabel","tooltipLabel","submitLabel","Check","defaultChecked","inline","selectOptions","transformAccounts","AddRestaurantForm","AddRestaurant","CustomLineChart","bottom","yFormat","axisTop","axisRight","enableArea","enableSlices","pointSize","pointColor","pointBorderWidth","pointBorderColor","pointLabel","pointLabelYOffset","enableTouchCrosshair","useMesh","enableGridX","CustomBarChart","indexBy","valueScale","indexScale","enableLabel","CustomPieChart","sortByValue","innerRadius","padAngle","cornerRadius","activeOuterRadiusOffset","borderWidth","enableRadialLabels","modifiers","arcLinkLabelsSkipAngle","arcLinkLabelsTextColor","arcLinkLabelsThickness","arcLinkLabelsColor","arcLabelsSkipAngle","arcLabelsTextColor","legends","anchor","justify","translateX","translateY","itemsSpacing","itemWidth","itemHeight","itemTextColor","itemDirection","itemOpacity","symbolSize","symbolShape","timeOptions","helpers","InteractionsDashboard","setTime","titles","setTitles","activeUsers","bounceRate","screenPageViewsPerUser","userEngagementDuration","sessionByHour","sessions","screenPageViewsPerSession","sessionsPerUser","sessionsBySource","gapi","gap","sources","mostVisitedMenus","mostVisitedMenuItems","useStyles","makeStyles","table","minWidth","cell_short","wordWrap","limit","logs","setLogs","checkedRows","setCheckedRows","classes","loadLogs","deleteLogs","renderMessage","TableContainer","component","Paper","TableHead","TableRow","TableCell","newCheckedRows","align","TableBody","scope","status_code","method","copyLogId","TransferOwnership","formError","setFormError","fetchUser","transfer_ownership_status","accept_transfer_request","owner","lastName","DashboardStatistics","icons","adminStyle","minorGraph","statistic","radiusGraph","secondRow","AddAdminForm","loadAdmins","memberTable","memberTablePermissions","menuTable","RestaurantInformation","restaurantInformationTable","menuKey","indexKey","memberIndex","permissionIndex","DeleteUser","onComplete","submitCallback","warning_message","requires_password","toast_complete_message","setPassword","AddDMA","loadDMASPending","apiError","setApiError","Stripe","stripe","loadStripe","sessionId","redirectToCheckout","createStyles","root","ChoosePlan","plans","planSelected","setPlanSelected","plansLoading","planDesc","monthly_product","yearly_product","ListItemIcon","ListItemText","recurring","unit_amount","toFixed","STEPS","AddUserForm","loadUsers","setStep","userIdCreated","setUserIdCreated","baseProduct","setBaseProduct","getBaseProduct","subscription","newUser","makePurchase","plan_id","user_id","subscribe","ViewDMALicenses","loadDMAS","shapeshift","clients","setClients","shapeShift","client","IconButton","edge","dma_id","client_id","deleteClient","showDeleteClientModal","defaultPaginationData","setUsers","setRestaurants","setAdmins","setStatistics","dmas","setDMAS","dmas_pending","setDMASPending","usersPagination","setUsersPagination","restaurantsPagination","setRestaurantsPagination","dmasPagination","setDmasPagination","loadingUserShapeShift","setLoadingUserShapeShift","deleteAdmin","loadRestaurants","loadStatistics","list_pending","showCancelDMAInvitationModal","cancel_dma_invitation","pending_dmas","added_by","viewLicenses","AdminStyle","deleteIcon","table_styles","viewMoreInformationButton","renderPagination","DietaryConsiderationsForm","originalDietaryConsiderations","setOriginalDietaryConsiderations","onTagDeleteAndCreate","changed","setSubscription","customerPortalSessionLoading","setCustomerPortalSessionLoading","price_id","checkoutSession","checkSubscription","hasActive","manageBillingDetails","customerPortalSession","checkoutCompletedWrapper","customer","cancel_at_period_end","current_period_end","unix","logoWrapper","alreadySubscribedWrapper","purchaseButton","startIcon","iconWrapper","parentClassName","subscribeMenusWarning","purchaseWrapper","purchaseHeader","DAYS","sunday","monday","tuesday","wednesday","thursday","friday","saturday","Days","setValid","days","onChangeCheckBox","day","allSelected","toggleAll","allDays","MenuComponent","twentyFourHoursMenuAvailable","setTwentyFourHoursMenuAvailable","tempMenuSelected","setTempMenuSelected","menuVersionLoading","setMenuVersionLoading","endTime","onClickMenuVersion","menuTimeLineWrapper","menuStyles","daysOfTheWeek","timelineWrapper","timelineDates","noMenuSelectedWrapper","categoriesAdjustments","setCategoriesAdjustments","expanded","setExpanded","getRepeaterTimelineData","keyRenamed","updateCategoriesTimeline","onChangeValid","categoryTimeline","categoryName","twentyFourHoursAvailable","MenuRedux","setMenuCategories","categoryAdjustmentsModal","loadMenuCategories","menu_timeline","updateMenuTimeline","menuResponse","menuSectionWrapper","footer","Timeline","setTempDishes","setTempIngredients","categoriesData","setCategoriesData","dishesData","setDishesData","ingredientsData","setIngredientsData","menusCheckbox","setMenusCheckbox","categoriesCheckbox","setCategoriesCheckbox","dishesCheckbox","setDishesCheckbox","ingredientsCheckbox","setIngredientsCheckbox","customizationsCheckbox","setCustomizationsCheckbox","listenChange","setListenChange","transformList","transformed","hook","prepareDataObject","stored","settings","quickEdit","successToastMessage","menusUpdatedSuccessfully","loadQuickEdit","noMenuFoundWrapper","listWrapper","customSwitch","Switch","listMessage","saveChangesWrapper","Toggle","withMenuSingle","dishNotFound","setDishNotFound","dishId","setDishId","getMatchField","customerDish","theData","canRenderDietary","renderDietary","adminDietaryKeys","customAddedDietaryKeys","canRenderIngredients","DishLazyLoadedTemplate","setDishLazyLoadedTemplate","fetchRestaurant","dismissTree","Customizations","HorizontalLabelPositionBelowStepper","activeStep","handleNext","handleBack","handleReset","Stepper","alternativeLabel","Step","StepLabel","AddClient","unregister","shouldValidate","AddOrSelectRestaurant","restaurantSelected","setRestaurantSelected","defaultOption","transformRestaurants","handleOnChange","restaurant_id","Complete","ADD_USER_INFO","ADD_OR_SELECT_RESTAURANT","COMPLETE","Main","onSuccessCallback","loadTemporaryClients","setActiveStep","prevActiveStep","reValidateMode","shouldFocusError","shouldUnregister","criteriaMode","handleSubmitFirstStep","clearErrorsOnSecondStep","restaurant_name","AddPaymentMethods","addPaymentMethod","handleAddPaymentMethod","Heading","SelectPaymentMethod","paymentMethods","paymentMethodSelected","setPaymentMethodSelected","handleSelectPaymentMethod","savePayment","card","last4","billing_details","exp_month","exp_year","textDecoration","PromotionCode","promotionCode","setPromotionCode","productPrices","promotionCodeResponse","coupon","percent_off","amount_off","product","plan","calculatePriceBasedOnCoupon","ProcessCompleted","processCompletedResponse","fail","unSubscribedClients","loadClientsSubscriptionsStatus","updatePlans","setPlansLoading","setProductPrices","payment","filterPaymentMethods","previousPaymentMethodSelected","usePrevious","setPromotionCodeResponse","processCompleted","setProcessCompleted","setProcessCompletedResponse","checkPromotionCode","promo_code","check_promo_code","isCardForSpecificClient","checkForErrors","default_payment_method","create_subscription","LicensesSubscriptionStatus","subscribedClients","subscribeForAllClients","subscribeForMultipleUsers","viewMore","AddCardForClient","addCard","selectedClient","setSelectedClient","handleAddCard","term","handleSearch","temporaryClients","setTemporaryClients","setSubscribedClients","setUnSubscribedClients","setPaymentMethods","temporary","subscription_status","loadPaymentMethods","customerPaymentMethods","showCancelClientInvitationModal","cancelInvitation","addCardForClient","showAddCardForClientModal","manageSubscriptions","loadProductPrices","product_prices","temporary_clients","status","Card","showPaymentMethod","CancelSubscription","setResponse","fetchClient","single","cancelSubscription","subscription_id","deleteSubscription","copyMenuUrl","current_period_start","amount","discount","global_styles","filterData","setFilterData","filterOptions","requestData","conjunction","setFilter","transformDietaryConsiderations","handleSortChange","newData","newSort","sort","handleFieldChange","newFilterData","newArr","handleDietaryConsiderations","RadioGroup","exclusive","categoryFilter","categoryHeader","headerTitle","bold","deleteFilter","handleFilterFieldChange","newIngredients","found","handleAddIngredient","addWrapper","addFilter","blankFilter","showOptions","FiltersForm","Filters","emailTemplates","tmpIndex","templateResponse","setTemplateResponse","emailContent","setEmailContent","checkTemplate","getEmailTemplate","editEmailTemplate","subject","menuSubs","exact","settingsSubs","DMADashboard","DMASingleClient","AdminDashboard","Logs","Analytics","EmailTemplates","EditEmailTemplate","publicRoutes","adminData","setAdminData","verifyAdminAccountToken","completeAccount","acceptLoading","setAcceptLoading","rejectLoading","setRejectLoading","responseData","setResponseData","verify_temporary_token","shouldEnterPassword","accepted_invitation","rejected_invitation","verifyToken","decoded","Container","apiSubmitDataError","setApiSubmitDataError","dmaData","setDMAData","minLength","accountSubs","Members","Purchase","MenuInteractions","menuRoutes","SingleMenuWrapper","getAccessToken","humanReadableStatusCode","validateResponse","jsonResponse","resource","expiredToken","headers","fetchOptions","redirect","isFormData","param","Headers","API_URL","forgotUsername","getQRTemplates","getTemplates","getBounceRates","activeUsers2","activeUsers3","activeUsers4","NotFound","hash","getBoundingClientRect","checkRoutePermission","config","google","families","urlEndpoint","config_fonts","App","app","ReactDOM"],"mappings":"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","file":"static/js/main.d67e905b.chunk.js","sourcesContent":["/* eslint-disable import/no-anonymous-default-export */\n\nimport moment from \"moment\";\n\nconst general = {\n validatePrice: (price) => {\n try {\n // eslint-disable-next-line no-extend-native\n String.prototype.isNumber = function () {\n return /^\\d+[.\\d]*$/.test(this);\n };\n\n if (!price.isNumber()) {\n throw new Error(\"Price is not valid\");\n }\n\n return { err: false, message: null, price: price };\n } catch (err) {\n return { err: true, message: \"Price is not valid\" };\n }\n },\n formatPrice: (price) => {\n try {\n const formatted = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }).format(price);\n return formatted;\n } catch (err) {\n return price;\n }\n },\n isDarkColor: (color) => {\n if (!color) return false;\n const c = color.substring(1);\n const rgb = parseInt(c, 16);\n const r = (rgb >> 16) & 0xff;\n const g = (rgb >> 8) & 0xff;\n const b = (rgb >> 0) & 0xff;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n return luma < 40;\n },\n compareColors: (color1, color2) => {\n const c1 = general.isDarkColor(color1);\n const c2 = general.isDarkColor(color2);\n if (c1 === c2) {\n if (c1) {\n return \"white\";\n } else {\n return \"black\";\n }\n }\n return c1 !== c2;\n },\n getPasswordRegex: () => {\n // const passwordRegex = /^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?^&]{8,}$/;\n const passwordRegex = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z]).{8,}$/;\n const passwordMessage =\n \"Password should not be empty, minimum eight characters, at least one letter, one number and one special character.\";\n return { passwordRegex, passwordMessage };\n },\n timeAsDate: (time) => {\n if (typeof time !== \"string\" || !time.includes(\":\")) return false;\n try {\n const today = new Date();\n const date = new Date(today.toDateString() + \" \" + time);\n return new Date(date);\n } catch (err) {\n return false;\n }\n },\n dateAsTime: (date) => {\n try {\n date = new Date(date).toLocaleString();\n return moment(date).format(\"HH:mm\").toString();\n } catch (err) {\n return \"\";\n }\n },\n checkPermissionDeniedResponse: (response) => {\n try {\n const permissionStatusCode = parseInt(process.env.REACT_APP_PERMISSION_DENIED_ERROR_STATUS);\n return parseInt(response?.statusCode) === permissionStatusCode;\n } catch (err) {\n return false;\n }\n },\n /**\n * @param { Number } price\n * @param { Number } percentage\n * @return { Number }\n */\n incrementPriceByPercentage: (price, percentage) => {\n try {\n const num = price + (price * percentage) / 100;\n return Math.round((num + Number.EPSILON) * 100) / 100;\n } catch (err) {\n return price;\n }\n },\n /**\n * @param { String } target // String that is stringified using JSON.stringify()\n * @return { dynamic }\n */\n parseJSON: (target, onErrorReturn = []) => {\n try {\n return JSON.parse(target);\n } catch (err) {\n return onErrorReturn;\n }\n },\n reorder: (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n },\n /**\n * @param { Date } Date Start date\n * @param { Number } exceptMinutes Except minutes te check with start date\n * @return { boolean }\n */\n getExceptedMinutesFromDate: (startDate, exceptMinutes) => {\n const nowDate = moment(new Date());\n startDate = moment(startDate);\n const duration = moment.duration(nowDate.diff(startDate));\n\n let minutes = duration.asMinutes();\n\n if (startDate.isBefore(nowDate)) {\n return false;\n }\n\n const result = Math.round(Math.abs(minutes));\n return result <= parseInt(exceptMinutes);\n },\n /**\n * @param { Object } menusTimeline menusTimeline object from api\n * @param { Array } menus Restaurant available menus\n * @param { Number } menu_period_transition Restaurant menu_period_transition\n * @return { Array }\n */\n findClosestMenus: (menusTimeline, menus, menu_period_transition) => {\n const notifyMenus = [];\n if (menusTimeline && typeof menusTimeline === \"object\" && Object?.keys(menusTimeline)?.length > 0 && menus && menus?.length > 0) {\n const filteredMenusTimeline = Object?.values(menusTimeline)?.filter(\n (timeline) => !menus?.find((menu) => menu?._id?.toString() === timeline?._id?.toString())\n );\n if (filteredMenusTimeline && menu_period_transition) {\n filteredMenusTimeline?.forEach((menu) => {\n const startTime = general.timeAsDate(general.dateAsTime(menu?.startTime));\n if (general.getExceptedMinutesFromDate(startTime, menu_period_transition)) {\n notifyMenus?.push(menu);\n }\n });\n }\n }\n return notifyMenus;\n },\n /**\n * @param {Array} exceptPermissions Except permissions\n * @param {object} originalPermissions Auth user permissions\n * @param {string} $connector \"$or\" or \"$and\". Default will be \"$and\"\n * @return {boolean}\n */\n checkPermissions: (params = { $connector: \"$and\" }) => {\n const { exceptPermissions, $connector, originalPermissions } = params;\n if (!exceptPermissions || !originalPermissions) return false;\n if ($connector === \"$or\") {\n return exceptPermissions?.some((permission) => originalPermissions[permission]);\n }\n return exceptPermissions?.every((permission) => originalPermissions[permission]);\n },\n /**\n * @param {Array} arr1\n * @param {Array} arr2\n * @return {Array} arrayDifference\n */\n arr_diff: (a1, a2) => {\n const a = [],\n diff = [];\n for (let i = 0; i < a1.length; i++) {\n a[a1[i]] = true;\n }\n for (let i = 0; i < a2.length; i++) {\n if (a[a2[i]]) {\n delete a[a2[i]];\n } else {\n a[a2[i]] = true;\n }\n }\n\n for (var k in a) {\n diff.push(k);\n }\n\n return diff;\n },\n ellipsePagination: (currentPage, totalPages) => {\n let current = currentPage,\n last = totalPages,\n delta = 2,\n left = current - delta,\n right = current + delta + 1,\n range = [],\n rangeWithDots = [],\n l;\n for (let i = 1; i <= last; i++) {\n if (i === 1 || i === last || (i >= left && i < right)) {\n range.push(i);\n }\n }\n for (let i of range) {\n if (l) {\n if (i - l === 2) {\n rangeWithDots.push(l + 1);\n } else if (i - l !== 1) {\n rangeWithDots.push(\"...\");\n }\n }\n rangeWithDots.push(i);\n l = i;\n }\n return rangeWithDots;\n },\n /**\n * @param {String} url\n * @return {String} generatedURL\n */\n generateUrl: (url) => {\n if (url && url !== \"\" && !url.startsWith(\"http\")) {\n return \"https://\" + url;\n }\n return url;\n },\n paginate: (items, current_page, per_page_items) => {\n let page = current_page || 1,\n per_page = per_page_items || 10,\n offset = (page - 1) * per_page,\n paginatedItems = items.slice(offset).slice(0, per_page_items),\n total_pages = Math.ceil(items.length / per_page);\n\n return {\n pagination: {\n page: parseInt(page),\n per_page: parseInt(per_page),\n previous_page: page - 1 ? page - 1 : null,\n next_page: total_pages > page ? page + 1 : null,\n total: items.length,\n total_pages: total_pages,\n },\n data: paginatedItems,\n };\n },\n withPromiseTimeout: (milliseconds, promise) => {\n const timeout = new Promise((resolve, reject) => setTimeout(() => reject(`Timed out after ${milliseconds} ms.`), milliseconds));\n return Promise.race([promise, timeout]);\n },\n\n generateTimeOptions: {\n thisWeek: () => {\n const today = new Date();\n let dDay = today.getDay() > 0 ? today.getDay() : 7;\n let first = today.getDate() - dDay + 1;\n let firstDayWeek = new Date(today.setDate(first));\n return { value: firstDayWeek.getDate(), label: \"This Week\" };\n },\n thisMonth: () => {\n const today = new Date();\n return { value: today.getDate(), label: \"This Month\" };\n },\n thisQuarter: () => {\n const today = new Date();\n const quarter = Math.floor((today.getMonth() + 3) / 3);\n const start = new Date(today.getFullYear(), quarter * 3 - 3, 0);\n const diff = today - start;\n const oneDay = 1000 * 60 * 60 * 24;\n const dayQuarter = Math.floor(diff / oneDay);\n return { value: dayQuarter, label: \"This Quarter\" };\n },\n thisYear: () => {\n const today = new Date();\n const start = new Date(today.getFullYear(), 0, 0);\n const diff = today - start;\n const oneDay = 1000 * 60 * 60 * 24;\n const day = Math.floor(diff / oneDay);\n return { value: day, label: \"This Year\" };\n },\n },\n convertToReadableRestaurantType: (type) => {\n const types = {\n FOOD_TRUCK: \"Food truck\",\n RESTAURANT: \"Restaurant\",\n };\n return types[type];\n },\n};\n\nexport default general;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header2\":\"PageHeader_header2__33Ojj\",\"headerDropdown\":\"PageHeader_headerDropdown__M8Ax4\",\"header\":\"PageHeader_header__v6TKe\",\"actions\":\"PageHeader_actions__1hZ79\",\"toggleBtn\":\"PageHeader_toggleBtn__2AOHJ\",\"active\":\"PageHeader_active__2MmSr\",\"body\":\"PageHeader_body__2rxZo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mapToggleWrapper\":\"MapsSection_mapToggleWrapper__Cimgv\",\"toggleBtn\":\"MapsSection_toggleBtn__2bxjJ\",\"closed\":\"MapsSection_closed__2KIjU\",\"typesOffMaps\":\"MapsSection_typesOffMaps__2xsrj\",\"wrapper\":\"MapsSection_wrapper__20NyB\",\"collapsed\":\"MapsSection_collapsed__13yP9\",\"mapTypes\":\"MapsSection_mapTypes__cx-g-\",\"typesWrapper\":\"MapsSection_typesWrapper__EjwfY\",\"locationsWrapper\":\"MapsSection_locationsWrapper__2zUh2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mapsWrapper\":\"Zone_mapsWrapper__2-qZ9\",\"zone\":\"Zone_zone__14ZU6\",\"zoneTitle\":\"Zone_zoneTitle__UVLjq\",\"wrapper\":\"Zone_wrapper__2NUjb\",\"editButtonMap\":\"Zone_editButtonMap__3mGvj\",\"editActive\":\"Zone_editActive__3C3b8\",\"cancelChanges\":\"Zone_cancelChanges__1asXW\",\"deleteItem\":\"Zone_deleteItem__11C0y\",\"active\":\"Zone_active__1kuLG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"categoryFilter\":\"FiltersForm_categoryFilter__1566y\",\"categoryHeader\":\"FiltersForm_categoryHeader__1WHy2\",\"headerTitle\":\"FiltersForm_headerTitle__kvLfx\",\"bold\":\"FiltersForm_bold__CxYR0\",\"deleteWrapper\":\"FiltersForm_deleteWrapper__c7Y_p\",\"deleteIcon\":\"FiltersForm_deleteIcon__nB9K1\",\"addWrapper\":\"FiltersForm_addWrapper__32sJB\",\"addFilter\":\"FiltersForm_addFilter__2oQiF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dishDietaryWrapper\":\"DietaryConsiderations_dishDietaryWrapper__81cno\",\"loadingWrapper\":\"DietaryConsiderations_loadingWrapper__W5NWB\",\"customModalStyle\":\"DietaryConsiderations_customModalStyle__2VI-M\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"background\":\"MenuWrapper_background__XoLcw\",\"categoryContainer\":\"MenuWrapper_categoryContainer__MNLmu\",\"categoryWrapper\":\"MenuWrapper_categoryWrapper__24Hy-\",\"multipleMenus\":\"MenuWrapper_multipleMenus__3WPrK\",\"menu\":\"MenuWrapper_menu__1o5kp\",\"menuContent\":\"MenuWrapper_menuContent__3hMoq\",\"introPage\":\"MenuWrapper_introPage__rR7yS\",\"restaurantLogo\":\"MenuWrapper_restaurantLogo__3uzrn\",\"menuDescription\":\"MenuWrapper_menuDescription__1huJL\",\"logoPlanet\":\"MenuWrapper_logoPlanet__2ZDpx\",\"iconBack\":\"MenuWrapper_iconBack__3-9MB\",\"fa\":\"MenuWrapper_fa__12oHa\",\"contactUsAndWebsite\":\"MenuWrapper_contactUsAndWebsite__2OFYM\"};","import Header from \"./Header\";\nexport default Header;\n","import styles from \"./TopBar.module.scss\";\n\nexport default function TopBar() {\n return (\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"logoPlanet\":\"SingleMenuPage_logoPlanet__viQqa\",\"iconBack\":\"SingleMenuPage_iconBack__yCHOj\",\"fa\":\"SingleMenuPage_fa__2chTn\",\"header\":\"SingleMenuPage_header__1eHAi\",\"headerBg\":\"SingleMenuPage_headerBg__2AHrE\",\"imgtitle\":\"SingleMenuPage_imgtitle___doTm\",\"title\":\"SingleMenuPage_title__3E00y\",\"desc\":\"SingleMenuPage_desc__3kJjM\",\"itemPrice\":\"SingleMenuPage_itemPrice__2CzjH\",\"noFocus\":\"SingleMenuPage_noFocus__2SR3y\",\"centeredWrapper\":\"SingleMenuPage_centeredWrapper__RJ3kJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"panel\":\"AdminPanel_panel__-LDKe\",\"mainWrapper\":\"AdminPanel_mainWrapper__jBWN8\",\"noPadding\":\"AdminPanel_noPadding__ToX38\",\"preview\":\"AdminPanel_preview__vFjKq\",\"previewContainer\":\"AdminPanel_previewContainer__3W9Z5\",\"show\":\"AdminPanel_show__2vBn2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabs_row\":\"UpdateAccount_tabs_row__UOkIr\",\"active_tab\":\"UpdateAccount_active_tab__37Nyr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"daysOfTheWeek\":\"MenuForm_daysOfTheWeek__1ui21\",\"day\":\"MenuForm_day__yxf9E\",\"allDays\":\"MenuForm_allDays__3A8-X\",\"displayIngredientsAndDietary\":\"MenuForm_displayIngredientsAndDietary__2a1dv\",\"checkboxLabel\":\"MenuForm_checkboxLabel__Ie0dT\"};","import React, { useState, useEffect, useRef } from \"react\";\nimport styles from \"../../components/QrCode/QrCode.module.scss\";\nimport qrStyles from \"./QR.module.scss\";\nimport EasyQR from \"easyqrcodejs\";\nimport { IKImage } from \"imagekitio-react\";\n\nexport default function QR({ fields, values, restaurantId, qrSettings, advancedQrCode, qrUrl }) {\n const { logo, text_bottom, text_top, title, wifi_name, wifi_password } = values;\n const [qrOptions, setQrOptions] = useState({\n text: qrUrl ? qrUrl : `${window.location.origin}/menu/${restaurantId}`,\n width: 220,\n height: 220,\n });\n\n const qrRef = useRef(null);\n const [qrElement, setQrElement] = useState();\n\n useEffect(() => {\n if (!qrElement) return;\n qrElement.clear();\n setQrElement(new EasyQR(advancedQrCode.current, qrOptions));\n //eslint-disable-next-line\n }, [qrOptions]);\n\n useEffect(() => {\n setQrElement(new EasyQR(advancedQrCode.current, qrOptions));\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (restaurantId) {\n setQrOptions({ ...qrOptions, text: qrUrl ? qrUrl : `${window.location.origin}/menu/${restaurantId}` });\n }\n //eslint-disable-next-line\n }, [restaurantId]);\n\n useEffect(() => {\n let temp = { ...qrOptions };\n let optionFields = [\"colorDark\", \"colorLight\"];\n optionFields?.forEach((option) => {\n if (!qrSettings[option] && qrSettings[option] !== 0) {\n delete temp[option];\n } else {\n temp[option] = qrSettings[option];\n }\n });\n setQrOptions({ ...temp });\n //eslint-disable-next-line\n }, [qrSettings]);\n\n return (\n
\n

{title || fields?.title?.placeholder}

\n

{text_top || fields?.text_top?.placeholder}

\n
\n
\n
\n

{text_bottom || fields?.text_bottom?.placeholder}

\n \n {logo ? (\n \n ) : (\n \"\"\n )}\n
\n );\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport styles from \"../../components/QrCode/QrCode.module.scss\";\nimport qrStyles from \"./QR.module.scss\";\nimport EasyQR from \"easyqrcodejs\";\n\nexport default function QR({ fields, values, restaurantId, qrSettings, advancedQrCode, qrUrl }) {\n const { text_top, text_bottom } = values;\n const [qrOptions, setQrOptions] = useState({\n text: qrUrl ? qrUrl : `${window.location.origin}/menu/${restaurantId}`,\n width: 220,\n height: 220,\n });\n\n const qrRef = useRef(null);\n const [qrElement, setQrElement] = useState();\n\n useEffect(() => {\n if (!qrElement) return;\n qrElement.clear();\n setQrElement(new EasyQR(advancedQrCode.current, qrOptions));\n //eslint-disable-next-line\n }, [qrOptions]);\n\n useEffect(() => {\n setQrElement(new EasyQR(advancedQrCode.current, qrOptions));\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (restaurantId) {\n setQrOptions({ ...qrOptions, text: qrUrl ? qrUrl : `${window.location.origin}/menu/${restaurantId}` });\n }\n //eslint-disable-next-line\n }, [restaurantId]);\n\n useEffect(() => {\n let temp = { ...qrOptions };\n let optionFields = [\"colorDark\", \"colorLight\"];\n optionFields?.forEach((option) => {\n if (!qrSettings[option] && qrSettings[option] !== 0) {\n delete temp[option];\n } else {\n temp[option] = qrSettings[option];\n }\n });\n setQrOptions({\n ...temp,\n });\n //eslint-disable-next-line\n }, [qrSettings]);\n\n return (\n
\n

{text_top || fields?.text_top?.placeholder}

\n
\n
\n
\n

{text_bottom || fields?.text_bottom?.placeholder}

\n
\n );\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport styles from \"../../components/QrCode/QrCode.module.scss\";\nimport qrStyles from \"./QR.module.scss\";\nimport EasyQR from \"easyqrcodejs\";\nimport { IKImage } from \"imagekitio-react\";\n\nexport default function QR({ fields, values, restaurantId, qrSettings, advancedQrCode, qrUrl }) {\n const { title, text_top, logo, wifi_name, wifi_password } = values;\n const [qrOptions, setQrOptions] = useState({\n text: qrUrl ? qrUrl : `${window.location.origin}/menu/${restaurantId}`,\n width: 220,\n height: 220,\n });\n\n const qrRef = useRef(null);\n const [qrElement, setQrElement] = useState();\n\n useEffect(() => {\n if (!qrElement) return;\n qrElement.clear();\n setQrElement(new EasyQR(advancedQrCode.current, qrOptions));\n //eslint-disable-next-line\n }, [qrOptions]);\n\n useEffect(() => {\n setQrElement(new EasyQR(advancedQrCode.current, qrOptions));\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (restaurantId) {\n setQrOptions({ ...qrOptions, text: qrUrl ? qrUrl : `${window.location.origin}/menu/${restaurantId}` });\n }\n //eslint-disable-next-line\n }, [restaurantId]);\n\n useEffect(() => {\n let temp = { ...qrOptions };\n let optionFields = [\"colorDark\", \"colorLight\"];\n optionFields?.forEach((option) => {\n if (!qrSettings[option] && qrSettings[option] !== 0) {\n delete temp[option];\n } else {\n temp[option] = qrSettings[option];\n }\n });\n setQrOptions({\n ...temp,\n });\n //eslint-disable-next-line\n }, [qrSettings]);\n\n return (\n
\n

{title || fields?.title?.placeholder}

\n

{text_top || fields?.text_top?.placeholder}

\n
\n
\n
\n \n
\n );\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport styles from \"../../components/QrCode/QrCode.module.scss\";\nimport qrStyles from \"./QR.module.scss\";\nimport EasyQR from \"easyqrcodejs\";\nimport { IKImage } from \"imagekitio-react\";\n\nexport default function QR({ fields, values, restaurantId, qrSettings, advancedQrCode, qrUrl }) {\n const { logo, title, text_box_1, text_box_2, text_box_3, wifi_name, wifi_password } = values;\n const [qrOptions, setQrOptions] = useState({\n text: qrUrl ? qrUrl : `${window.location.origin}/menu/${restaurantId}`,\n width: 220,\n height: 220,\n });\n\n const qrRef = useRef(null);\n const [qrElement, setQrElement] = useState();\n\n useEffect(() => {\n if (!qrElement) return;\n qrElement.clear();\n setQrElement(new EasyQR(advancedQrCode.current, qrOptions));\n //eslint-disable-next-line\n }, [qrOptions]);\n\n useEffect(() => {\n setQrElement(new EasyQR(advancedQrCode.current, qrOptions));\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (restaurantId) {\n setQrOptions({ ...qrOptions, text: qrUrl ? qrUrl : `${window.location.origin}/menu/${restaurantId}` });\n }\n //eslint-disable-next-line\n }, [restaurantId]);\n\n useEffect(() => {\n let temp = { ...qrOptions };\n let optionFields = [\"colorDark\", \"colorLight\"];\n optionFields?.forEach((option) => {\n if (!qrSettings[option] && qrSettings[option] !== 0) {\n delete temp[option];\n } else {\n temp[option] = qrSettings[option];\n }\n });\n setQrOptions({\n ...temp,\n });\n //eslint-disable-next-line\n }, [qrSettings]);\n\n return (\n
\n {logo ? (\n \n ) : (\n \"\"\n )}\n

{title || fields?.title?.placeholder}

\n
\n
\n
\n
\n
\n
{text_box_1 || fields?.text_box_1?.placeholder}
\n
{text_box_2 || fields?.text_box_2?.placeholder}
\n
{text_box_3 || fields?.text_box_3?.placeholder}
\n
\n
\n \n
\n );\n}\n","import { Api, Endpoint } from \"../../api\";\nimport { store } from \"../connect/store\";\nimport { Cookies } from \"react-cookie\";\nimport CONSTANTS from \"../../utils/constants\";\n\nexport const LOGIN = \"LOGIN\";\nexport const LOGIN_SUCCEED = \"LOGIN_SUCCEED\";\nexport const REGISTER_SUCCEED = \"REGISTER_SUCCEED\";\nexport const REGISTER_FAILED = \"REGISTER_SUCCEED\";\nexport const LOGOUT = \"LOGOUT\";\nexport const USER_UPDATED_SUCCESSFULLY = \"USER_UPDATED_SUCCESSFULLY\";\n\nconst cookies = new Cookies();\n\nconst setAuthToken = (key, token) => cookies.set(key, token, { path: \"/\" });\nconst getAuthToken = (key) => cookies.get(key);\n\nconst getUserFromSessionStorage = () => {\n try {\n return JSON.parse(localStorage?.getItem(\"user\"));\n } catch (err) {\n return {};\n }\n};\n\nconst resetAuthState = () => {\n cookies.remove(\"accessToken\", { path: \"/\" });\n cookies.remove(\"refreshToken\", { path: \"/\" });\n localStorage.removeItem(\"user\");\n localStorage.removeItem(\"menuSelected\");\n};\n\nconst setUserOnCookiesWithoutTokens = (user) => {\n let tempUser = { ...user };\n delete tempUser[\"accessToken\"];\n delete tempUser[\"newRefreshToken\"];\n delete tempUser[\"refreshToken\"]; // Just for security\n localStorage.setItem(\"user\", JSON.stringify(tempUser));\n};\n\nconst resetStateData = () => {\n const types = [\"LOGOUT\", \"CATEGORIES_RESET\", \"DISH_RESET\", \"INGREDIENTS_RESET\", \"RESTAURANT_RESET\", \"MENU_RESET\", \"ADMIN_RESET_DATA\"];\n types.forEach((type) => store.dispatch({ type: type }));\n};\n\nexport const methods = {\n resetAuthState: resetAuthState,\n resetStateData: resetStateData,\n LOGIN: async (data) => {\n localStorage?.removeItem(\"menuSelected\"); // Just for security\n const response = await Api.call(Endpoint.login, { data });\n if (response?.confirmation === \"Success\" && !response?.message?.multipleAccounts && !response?.message?.account_unverified) {\n setAuthToken(\"accessToken\", response?.message?.accessToken);\n setAuthToken(\"refreshToken\", response?.message?.refreshToken);\n setUserOnCookiesWithoutTokens(response?.message);\n store.dispatch({ type: LOGIN_SUCCEED, user: response?.message });\n }\n return response;\n },\n REGISTER: async (data) => {\n const response = await Api.call(Endpoint.register, { data });\n if (response?.confirmation === \"Fail\") {\n store.dispatch({\n type: REGISTER_FAILED,\n registerError: response.message,\n });\n return response;\n }\n return response;\n },\n LOGOUT: async () => {\n const response = await Api.call(Endpoint.logout, {\n data: { refreshToken: getAuthToken(\"refreshToken\") },\n });\n resetAuthState();\n resetStateData();\n return response;\n },\n REFRESH_TOKEN: async () => {\n const data = { refreshToken: getAuthToken(\"refreshToken\") };\n const response = await Api.call(Endpoint.newAccessToken, { data });\n\n if (response?.message?.newRefreshToken && response?.message?.accessToken) {\n setAuthToken(\"accessToken\", response?.message?.accessToken);\n setAuthToken(\"refreshToken\", response?.message?.newRefreshToken);\n return true;\n }\n\n resetAuthState();\n resetStateData();\n return false;\n },\n IS_ADMIN: () => {\n const { Auth } = store.getState();\n //eslint-disable-next-line\n return (Auth?.user && Auth?.user?.role === CONSTANTS.USER.ROLES.ADMIN) || Auth?.user?.role === CONSTANTS.USER.ROLES.SUPER_ADMIN;\n },\n UPDATE_ACCOUNT: async (data) => {\n const response = await Api.call(Endpoint.updateAccount, { data });\n if (response?.confirmation === \"Success\" && typeof response?.message === \"object\") {\n store.dispatch({\n type: USER_UPDATED_SUCCESSFULLY,\n user: {\n ...getUserFromSessionStorage(\"user\"),\n ...response?.message,\n },\n });\n localStorage.setItem(\n \"user\",\n JSON.stringify({\n ...getUserFromSessionStorage(\"user\"),\n ...response.message,\n })\n );\n }\n return response;\n },\n ADD_RESTAURANT: async (data) => {\n const response = await Api.call(Endpoint.addRestaurant, { data });\n if (response?.confirmation === \"Success\" && typeof response?.message === \"object\") {\n localStorage?.removeItem(\"menuSelected\");\n setAuthToken(\"accessToken\", response?.message?.accessToken);\n setAuthToken(\"refreshToken\", response?.message?.newRefreshToken);\n setUserOnCookiesWithoutTokens(response?.message);\n return response;\n }\n return response;\n },\n SWITCH_ACCOUNT: async (data) => {\n data = { ...data, refreshToken: getAuthToken(\"refreshToken\") };\n const response = await Api.call(Endpoint?.switchAccount, { data });\n if (response?.confirmation === \"Success\" && typeof response?.message === \"object\") {\n setAuthToken(\"accessToken\", response?.message?.accessToken);\n setAuthToken(\"refreshToken\", response?.message?.newRefreshToken);\n localStorage?.removeItem(\"menuSelected\");\n setUserOnCookiesWithoutTokens(response?.message);\n return response;\n }\n return response;\n },\n SHAPE_SHIFT: async (data, endpoint) => {\n const response = await Api.call(endpoint, { data });\n if (response?.confirmation === \"Success\" && response?.message?.accessToken && response?.message?.newRefreshToken) {\n setAuthToken(\"accessToken\", response?.message?.accessToken);\n setAuthToken(\"refreshToken\", response?.message?.newRefreshToken);\n setUserOnCookiesWithoutTokens(response?.message);\n return response;\n }\n return response;\n },\n ME: async () => {\n const response = await Api.call(Endpoint.me);\n if (response?.confirmation === \"Success\" && typeof response?.message === \"object\") {\n store.dispatch({\n type: USER_UPDATED_SUCCESSFULLY,\n user: response?.message,\n });\n localStorage.setItem(\"user\", JSON.stringify(response.message));\n }\n return response;\n },\n VERIFY_ACCOUNT: async (token) => {\n return await Api.call(Endpoint.verifyAccount, { params: [token] });\n },\n LOGGED_IN: () => {\n try {\n const accessToken = getAuthToken(\"accessToken\");\n const refreshToken = getAuthToken(\"refreshToken\");\n const user = JSON.parse(localStorage.getItem(\"user\"));\n if (\n !accessToken ||\n !refreshToken ||\n !user ||\n user === \"undefined\" ||\n typeof user !== \"object\" ||\n accessToken === \"undefined\" ||\n refreshToken === \"undefined\"\n )\n return false;\n return true;\n } catch (err) {\n return false;\n }\n },\n};\n","import * as TYPES from \"../actions/auth\";\nimport { methods } from \"../actions/auth\";\n\nconst getCurrentUserFromLocalStorage = () => {\n try {\n return JSON.parse(localStorage.getItem(\"user\"));\n } catch (err) {\n return null;\n }\n};\n\nconst initialState = {\n ...methods,\n user: getCurrentUserFromLocalStorage(),\n};\n\nconst authReducer = (state = initialState, action) => {\n switch (action.type) {\n case TYPES.LOGIN_SUCCEED:\n return { ...state, user: action?.user };\n case TYPES.LOGOUT:\n return { ...state, user: null };\n case TYPES.USER_UPDATED_SUCCESSFULLY:\n return { ...state, user: action?.user };\n case TYPES.REGISTER_FAILED:\n return { ...state, user: null };\n default:\n return { ...state };\n }\n};\n\nexport { authReducer };\n","import { Api, Endpoint } from \"../../api\";\nimport { store } from \"../connect/store\";\n\nexport const GET_RESTAURANT = \"GET_RESTAURANT\";\nexport const RESTAURANT_FETCHED_SUCCESSFULLY = \"RESTAURANT_FETCHED_SUCCESSFULLY\";\nexport const RESTAURANT_FETCHED_FAILED = \"RESTAURANT_FETCHED_SUCCESSFULLY\";\nexport const RESTAURANT_RESET = \"RESTAURANT_RESET\";\nexport const RESTAURANT_MEMBERS_LOADED_SUCCESSFULLY = \"RESTAURANT_MEMBERS_LOADED_SUCCESSFULLY\";\nexport const QR_TEMPLATES_LOADED_SUCCESSFULLY = \"QR_TEMPLATES_LOADED_SUCCESSFULLY \";\n\nexport const methods = {\n find: async (obj = false) => {\n const state = store.getState().Restaurant;\n const forceRender = typeof obj === \"object\" && obj.forceRender ? true : false;\n\n if (forceRender) {\n const response = await Api.call(Endpoint.getRestaurant);\n if (response?.confirmation === \"Success\" && response?.message?.length > 0) {\n store.dispatch({ type: RESTAURANT_FETCHED_SUCCESSFULLY, restaurant: response?.message[0] });\n return response;\n }\n store.dispatch({ type: RESTAURANT_FETCHED_FAILED });\n return response;\n }\n\n if (state?.restaurant && Object.keys(state?.restaurant)?.length === 0) return await methods.find({ forceRender: true });\n return state?.restaurant;\n },\n update: async (data) => {\n const response = await Api.call(Endpoint.updateRestaurant, { data });\n store.dispatch({ type: RESTAURANT_FETCHED_SUCCESSFULLY, restaurant: response?.message });\n return response;\n },\n loadMembers: async (params = {}) => {\n const state = store.getState().Restaurant;\n if (params?.forceRender) {\n const response = await Api.call(Endpoint.getMembers);\n if (response?.confirmation === \"Success\") {\n store.dispatch({\n type: RESTAURANT_MEMBERS_LOADED_SUCCESSFULLY,\n members: response?.message?.members ? response?.message.members : [],\n });\n }\n return response;\n }\n\n if (state?.members?.length === 0) return await methods.loadMembers({ forceRender: true });\n },\n};\n","import * as TYPES from \"../actions/restaurant\"\nimport { methods } from \"../actions/restaurant\"\n\nconst initialState = {\n ...methods,\n restaurant: {},\n members: []\n}\n\nconst restaurantReducer = (state = initialState, action) => {\n switch (action.type) {\n case TYPES.RESTAURANT_FETCHED_SUCCESSFULLY:\n return { ...state, restaurant: action.restaurant }\n case TYPES.RESTAURANT_FETCHED_FAILED: \n return { ...state, restaurant: {} }\n case TYPES.RESTAURANT_RESET: \n return { ...state, restaurant: {}, members: [] }\n case TYPES.RESTAURANT_MEMBERS_LOADED_SUCCESSFULLY:\n return { ...state, members: action?.members }\n default:\n return { ...state }\n }\n} \n\nexport { restaurantReducer }\n","import { Api, Endpoint } from \"../../api\";\nimport { store } from \"../connect/store\";\n\nexport const MENU_CREATED_SUCCESSFULLY = \"MENU_CREATED_SUCCESSFULLY\";\nexport const MENUS_LOADED_SUCCESSFULLY = \"MENUS_LOADED_SUCCESSFULLY\";\nexport const TEMPLATES_LOADED_SUCCESSFULLY = \"TEMPLATES_LOADED_SUCCESSFULLY\";\nexport const MENU_SELECTED_LOCALLY = \"MENU_SELECTED_LOCALLY\";\nexport const MENU_RESET = \"MENU_RESET\";\n\nexport const methods = {\n create: async (data, query = {}) => {\n const response = await Api.call(Endpoint.createMenu, { data, query });\n if (response?.confirmation === \"Success\") {\n store.dispatch({ type: MENU_CREATED_SUCCESSFULLY, menu: response?.message });\n store.getState().Restaurant.find({ forceRender: true });\n }\n return response;\n },\n getMenuFromSessionStorage: () => {\n try {\n const menu = localStorage.getItem(\"menuSelected\");\n const firstTimeLoggedIn = localStorage.getItem(\"first_time_logged_in\");\n if (!menu || !firstTimeLoggedIn) return null;\n return JSON.parse(menu);\n } catch (err) {\n return null;\n }\n },\n setMenuSelectedLocally: (menu, params = {}) => {\n if (typeof menu === \"object\") {\n store.dispatch({ type: MENU_SELECTED_LOCALLY, menu: menu });\n }\n },\n findSingle: async (id) => {\n const response = await Api.call(Endpoint.findSingleMenu, { params: [id] });\n return response;\n },\n update: async (id, data) => {\n const response = await Api.call(Endpoint.updateMenu, { data, params: [id] });\n if (response?.confirmation === \"Success\" && typeof response?.message === \"object\") {\n const menuFromStorage = methods?.getMenuFromSessionStorage();\n if (menuFromStorage && menuFromStorage?._id?.toString() === response?.message?._id?.toString()) {\n localStorage.setItem(\"menuSelected\", JSON.stringify(response?.message));\n methods.setMenuSelectedLocally(response?.message);\n }\n store.getState().Restaurant.find({ forceRender: true });\n methods.load({ forceRender: true });\n }\n return response;\n },\n selectCategories: async (data) => {\n const response = await Api.call(Endpoint.selectCategories, { data });\n if (response?.confirmation === \"Success\") {\n const menuFromStorage = methods?.getMenuFromSessionStorage();\n if (menuFromStorage && menuFromStorage?._id?.toString() === response?.message?._id?.toString()) {\n localStorage.setItem(\"menuSelected\", JSON.stringify(response?.message));\n methods.setMenuSelectedLocally(response?.message);\n }\n store.getState().Restaurant.find({ forceRender: true });\n methods.load({ forceRender: true });\n }\n return response;\n },\n removeCategory: async (data) => {\n const response = await Api.call(Endpoint.removeCategoryFromMenu, { data });\n if (response?.confirmation === \"Success\") {\n const menuFromStorage = methods?.getMenuFromSessionStorage();\n if (menuFromStorage && menuFromStorage?._id?.toString() === response?.message?._id?.toString()) {\n localStorage.setItem(\"menuSelected\", JSON.stringify(response?.message));\n methods.setMenuSelectedLocally(response?.message);\n }\n store.getState().Restaurant.find({ forceRender: true });\n methods.load({ forceRender: true });\n }\n return response;\n },\n reorder: async (data) => {\n const response = await Api.call(Endpoint?.reorderMenu, { data });\n if (response?.confirmation === \"Success\") {\n store.getState().Restaurant.find({ forceRender: true });\n methods.load({ forceRender: true });\n }\n return response;\n },\n load: async (obj = false) => {\n const { Menu, Auth } = store.getState();\n if (Auth?.IS_ADMIN()) return;\n const forceRender = typeof obj === \"object\" && obj.forceRender ? true : false;\n\n if (forceRender) {\n const response = await Api.call(Endpoint.loadMenus);\n if (response?.message && Array.isArray(response?.message)) {\n response?.message?.forEach((menu) => {\n if (menu && menu?._id && Menu?.selected?._id && menu?._id?.toString() === Menu?.selected?._id?.toString()) {\n Menu.setMenuSelectedLocally(menu);\n }\n });\n }\n if (response?.confirmation === \"Success\") {\n store.dispatch({ type: MENUS_LOADED_SUCCESSFULLY, menus: response?.message });\n }\n return;\n }\n\n if (!Menu?.menus?.length) return methods.load({ forceRender: true });\n },\n delete: async (id) => {\n const response = await Api.call(Endpoint.deleteMenu, { params: [id] });\n localStorage?.removeItem(\"menuSelected\");\n store.dispatch({ type: MENU_SELECTED_LOCALLY, menu: null });\n store.getState().Restaurant.find({ forceRender: true });\n methods.load({ forceRender: true });\n return response;\n },\n};\n","import * as TYPES from \"../actions/menu\"\nimport { methods } from \"../actions/menu\"\n\nconst initialState = {\n ...methods,\n menus: [],\n templates: [],\n selected: methods.getMenuFromSessionStorage()\n}\n\nconst menuReducer = (state = initialState, action) => {\n switch (action.type) {\n case TYPES.MENU_CREATED_SUCCESSFULLY:\n let tempMenus = [...state.menus]\n tempMenus.push(action.menu)\n return { ...state, menus: tempMenus }\n case TYPES.MENUS_LOADED_SUCCESSFULLY:\n return { ...state, menus: action.menus }\n case TYPES.TEMPLATES_LOADED_SUCCESSFULLY:\n return { ...state, templates: action.templates }\n case TYPES.MENU_SELECTED_LOCALLY:\n return { ...state, selected: action?.menu }\n case TYPES.MENU_RESET:\n return { ...state, menus: [], templates: [], selected: {} }\n default: \n return { ...state }\n }\n} \n\nexport { menuReducer }\n","import { Api, Endpoint } from \"../../api\";\nimport { store } from \"../connect/store\";\n\nexport const CATEGORY_CREATED_SUCCESSFULLY = \"CATEGORY_CREATED_SUCCESSFULLY\";\nexport const CATEGORIES_LOADED_SUCCESSFULLY = \"CATEGORIES_LOADED_SUCCESSFULLY\";\nexport const CATEGORIES_RESET = \"CATEGORIES_RESET\";\n\nexport const methods = {\n create: async (data, selectedMenuID) => {\n const state = store.getState();\n const response = await Api.call(Endpoint.createCategory, { data });\n if (response?.confirmation === \"Success\") {\n store.dispatch({ type: CATEGORY_CREATED_SUCCESSFULLY, category: response?.message });\n if (selectedMenuID) {\n state?.Restaurant.find({ forceRender: true });\n state?.Menu.load({ forceRender: true });\n }\n }\n return response;\n },\n findById: async (id) => {\n return await Api.call(Endpoint.findCategoryById, { params: [id] });\n },\n update: async (id, data) => {\n const state = store.getState();\n let resp = await Api.call(Endpoint.updateCategory, { data, params: [id] });\n if (resp?.confirmation === \"Success\") {\n methods.load({ forceRender: true });\n state?.Restaurant.find({ forceRender: true });\n state?.Menu.load({ forceRender: true });\n }\n return resp;\n },\n delete: async (ids) => {\n const state = store.getState();\n const data = { ids };\n const response = await Api.call(Endpoint.deleteCategory, { data });\n if (response?.confirmation === \"Success\") {\n methods.load({ forceRender: true });\n state?.Restaurant.find({ forceRender: true });\n state?.Menu.load({ forceRender: true });\n }\n return response;\n },\n load: async (obj = false) => {\n const { Auth, Category } = store.getState();\n if (Auth?.IS_ADMIN()) return;\n\n const forceRender = typeof obj === \"object\" && obj.forceRender ? true : false;\n const options = {};\n\n if (obj?.selectedMenu) {\n options.query = { menu: obj?.selectedMenu };\n }\n\n if (forceRender) {\n const response = await Api.call(Endpoint.loadCategories, options);\n if (response?.confirmation === \"Success\") {\n if (!obj?.selectedMenu) store.dispatch({ type: CATEGORIES_LOADED_SUCCESSFULLY, categories: response?.message });\n }\n return response;\n }\n\n if (!Category?.categories?.length) return methods.load({ forceRender: true });\n },\n categoryQuickEdit: async (data) => {\n const state = store.getState();\n const response = await Api.call(Endpoint?.categoryQuickEdit, { data });\n if (response?.confirmation === \"Success\") {\n methods.load({ forceRender: true });\n state?.Restaurant.find({ forceRender: true });\n state?.Menu.load({ forceRender: true });\n }\n return response;\n },\n addDishes: async (categoryID, dishesID) => {\n const response = await Api.call(Endpoint.addDishesToCategory, { data: { categoryID: categoryID, dishesID: dishesID } });\n if (response?.confirmation === \"Success\") {\n methods.load({ forceRender: true });\n store.getState().Restaurant.find({ forceRender: true });\n }\n return response;\n },\n removeDish: async (categoryID, dishID) => {\n const response = await Api.call(Endpoint.removeDishFromCategory, { data: { categoryID: categoryID, dishID: dishID } });\n methods.load({ forceRender: true });\n store.getState().Restaurant.find({ forceRender: true });\n return response;\n },\n uploadCSV: async (data) => {\n const response = await Api.call(Endpoint.uploadCategoryCSV, { data, query: { csvFile: true } });\n if (response?.confirmation === \"Success\") {\n methods.load({ forceRender: true });\n }\n return response;\n },\n};\n","import * as TYPES from \"../actions/category\"\nimport { methods } from \"../actions/category\"\n\nconst initialState = {\n ...methods,\n categories: [],\n}\n\nconst categoryReducer = (state = initialState, action) => {\n switch (action.type) {\n case TYPES.CATEGORY_CREATED_SUCCESSFULLY:\n let tempCategories = [...state.categories]\n tempCategories.unshift(action.category)\n return { ...state, categories: tempCategories }\n case TYPES.CATEGORIES_LOADED_SUCCESSFULLY:\n return { ...state, categories: action.categories }\n case TYPES.CATEGORIES_RESET:\n return { ...state, categories: [] }\n default: \n return { ...state }\n }\n} \n\nexport { categoryReducer }\n","import { Api, Endpoint } from \"../../api\"\nimport { methods as CategoryMethods } from './category'\nimport { store } from '../connect/store'\n\nexport const DISH_CREATED_SUCCESSFULLY = \"DISH_CREATED_SUCCESSFULLY\"\nexport const DISH_LOADED_SUCCESSFULLY = \"DISH_LOADED_SUCCESSFULLY\"\nexport const DISH_DELETED_SUCCESSFULLY = \"DISH_DELETED_SUCCESSFULLY\"\nexport const DISH_RESET = \"DISH_RESET\"\n\nexport const methods = {\n create: async (data, fromDashboard) => {\n const response = await Api.call(Endpoint.createDish, { data })\n if (response?.confirmation === \"Success\") {\n store.dispatch({ type: DISH_CREATED_SUCCESSFULLY, dish: response?.message })\n if (fromDashboard) CategoryMethods.load({ forceRender: true })\n }\n return response;\n },\n findById: async (id) => {\n return await Api.call(Endpoint.findDishById, { params: [id] })\n },\n update: async (data, id, params = {}) => {\n const response = await Api.call(Endpoint.updateDish, { data, params: [id] })\n if (response?.confirmation === \"Success\") {\n methods.load({ forceRender: true })\n if (!params?.dismissRender?.category) {\n CategoryMethods.load({ forceRender: true })\n } \n store.getState().Restaurant.find({ forceRender: true });\n }\n return response;\n },\n delete: async (data) => {\n const response = await Api.call(Endpoint.deleteDish, { data })\n if (response?.confirmation === \"Success\") {\n methods.load({ forceRender: true })\n CategoryMethods.load({ forceRender: true })\n store.getState().Restaurant.find({ forceRender: true });\n }\n return response;\n },\n load: async (obj = false) => {\n const { Auth, Dish } = store.getState();\n if (Auth?.IS_ADMIN()) return\n\n const forceRender = (typeof obj === \"object\" && obj.forceRender) ? true : false;\n \n if (forceRender) {\n const response = await Api.call(Endpoint.loadDishes);\n if (response?.confirmation === \"Success\") store.dispatch({ type: DISH_LOADED_SUCCESSFULLY, dishes: response?.message })\n return;\n }\n \n if (!Dish?.dishes?.length) return methods.load({ forceRender: true })\n },\n uploadCSV: async (data) => {\n const response = await Api.call(Endpoint.uploadDishCSV, { data, query: { csvFile: true } })\n methods.load({ forceRender: true })\n return response\n }\n}","import * as TYPES from \"../actions/dish\"\nimport { methods } from \"../actions/dish\"\n\nconst initialState = {\n ...methods,\n dishes: [],\n}\n\nconst dishReducer = (state = initialState, action) => {\n switch (action.type) {\n case TYPES.DISH_CREATED_SUCCESSFULLY:\n let tempDishes = [...state.dishes]\n tempDishes.unshift(action.dish)\n return { ...state, dishes: tempDishes }\n case TYPES.DISH_LOADED_SUCCESSFULLY: \n return { ...state, dishes: action.dishes }\n case TYPES.DISH_DELETED_SUCCESSFULLY:\n return { ...state }\n case TYPES.DISH_RESET: \n return { ...state, dishes: [] }\n default: \n return { ...state }\n }\n} \n\nexport { dishReducer }\n","import { Api, Endpoint } from \"../../api\";\nimport { store } from \"../connect/store\";\n\nexport const INGREDIENT_CREATED_SUCCESSFULLY = \"INGREDIENT_CREATED_SUCCESSFULLY\";\nexport const INGREDIENTS_LOADED_SUCCESSFULLY = \"INGREDIENTS_LOADED_SUCCESSFULLY\";\nexport const TREE_INGREDIENTS_LOADED_SUCCESSFULLY = \"TREE_INGREDIENTS_LOADED_SUCCESSFULLY\";\nexport const INGREDIENTS_RESET = \"INGREDIENTS_RESET\";\n\nexport const methods = {\n create: async (data) => {\n const response = await Api.call(Endpoint.createIngredient, { data });\n if (response?.confirmation === \"Success\") {\n store.dispatch({ type: INGREDIENT_CREATED_SUCCESSFULLY, ingredient: response?.message });\n }\n return response;\n },\n update: async (data, id) => {\n const response = await Api.call(Endpoint.updateIngredient, { data, params: [id] });\n methods.load({ forceRender: true });\n return response;\n },\n delete: async (ids) => {\n if (Array.isArray(ids)) {\n const response = await Api.call(Endpoint.deleteIngredient, { data: { ids } });\n await methods.load({ forceRender: true });\n await store.getState().Dish.load({ forceRender: true });\n return response;\n }\n return {};\n },\n load: async (obj = false) => {\n const { Ingredient } = store.getState();\n\n const forceRender = typeof obj === \"object\" && obj.forceRender ? true : false;\n\n if (forceRender) {\n const query = obj && obj.query ? { exceptChildren: true, exceptParentID: obj.query.exceptParentID } : {};\n const response = await Api.call(Endpoint.loadIngredients, { query });\n if (response?.confirmation === \"Success\") {\n store.dispatch({ type: INGREDIENTS_LOADED_SUCCESSFULLY, ingredients: response?.message });\n }\n return response;\n }\n\n if (!Ingredient?.ingredients?.length) return methods.load({ ...obj, forceRender: true });\n },\n uploadCSV: async (data) => {\n const response = await Api.call(Endpoint.uploadIngredientCSV, { data, query: { csvFile: true } });\n methods.load({ forceRender: true });\n return response;\n },\n};\n","import * as TYPES from \"../actions/ingredient\";\nimport { methods } from \"../actions/ingredient\";\n\nconst initialState = {\n ...methods,\n ingredients: [],\n};\n\nconst ingredientReducer = (state = initialState, action) => {\n switch (action.type) {\n case TYPES.INGREDIENT_CREATED_SUCCESSFULLY:\n let tempIngredients = [...state.ingredients];\n tempIngredients.push(action.ingredient);\n return { ...state, ingredients: tempIngredients };\n case TYPES.INGREDIENTS_LOADED_SUCCESSFULLY:\n return { ...state, ingredients: action?.ingredients };\n case TYPES.INGREDIENTS_RESET:\n return { ...state, ingredients: [] };\n default:\n return { ...state };\n }\n};\n\nexport { ingredientReducer };\n","import { Api, Endpoint } from \"../../api\"\nimport { store } from '../connect/store'\n\nexport const ADMIN_USERS_LOADED_SUCCESSFULLY = \"ADMIN_USERS_LOADED_SUCCESSFULLY\"\nexport const ADMIN_RESTAURANTS_LOADED_SUCCESSFULLY = \"ADMIN_RESTAURANTS_LOADED_SUCCESSFULLY\"\nexport const ADMIN_STATISTICS_LOADED_SUCCESSFULLY = \"ADMIN_STATISTICS_LOADED_SUCCESSFULLY\"\nexport const ADMIN_LOADED_SUCCESSFULLY = \"ADMIN_LOADED_SUCCESSFULLY\"\nexport const ADMIN_DIETARY_CONSIDERATIONS_LOADED = \"ADMIN_DIETARY_CONSIDERATIONS_LOADED\" \nexport const ADMIN_RESET_DATA = \"ADMIN_RESET_DATA\"\n\nexport const methods = {\n load: async ({ Endpoint, dispatchType, field, accessObject, query = {} }) => {\n const response = await Api.call(Endpoint, { query })\n if (response?.confirmation === \"Success\") {\n store.dispatch({ type: dispatchType, [field]: accessObject ? accessObject(response) : response?.message })\n }\n return response;\n },\n loadDietaryConsiderations: async () => {\n const response = await Api?.call(Endpoint?.admin?.dietary?.read);\n if (response?.confirmation === \"Success\" && typeof response?.message?.dietaryConsiderations === \"object\") {\n store.dispatch({ type: ADMIN_DIETARY_CONSIDERATIONS_LOADED, dietaryConsiderations: response?.message?.dietaryConsiderations })\n }\n return response;\n },\n}","import * as TYPES from \"../actions/admin\"\nimport { methods } from \"../actions/admin\"\n\nconst initialState = {\n ...methods,\n users: [],\n admins: [],\n restaurants: [],\n statistics: {},\n dietaryConsiderations: {}\n}\n\nconst adminReducer = (state = initialState, action) => {\n switch (action.type) {\n case TYPES?.ADMIN_USERS_LOADED_SUCCESSFULLY:\n return { ...state, users: action?.users }\n case TYPES?.ADMIN_RESTAURANTS_LOADED_SUCCESSFULLY:\n return { ...state, restaurants: action?.restaurants }\n case TYPES?.ADMIN_STATISTICS_LOADED_SUCCESSFULLY:\n return { ...state, statistics: action?.statistics }\n case TYPES?.ADMIN_LOADED_SUCCESSFULLY:\n return { ...state, admins: action?.admins }\n case TYPES?.ADMIN_DIETARY_CONSIDERATIONS_LOADED:\n return { ...state, dietaryConsiderations: action?.dietaryConsiderations }\n case TYPES?.ADMIN_RESET_DATA:\n return { ...state, users: [], restaurants: [], statistics: {}, admins: [], dietaryConsiderations: {} }\n default: \n return { ...state }\n }\n} \n\nexport { adminReducer }","import { createStore, combineReducers } from 'redux'\nimport { authReducer } from \"../reducers/auth\"\nimport { restaurantReducer } from \"../reducers/restaurant\"\nimport { menuReducer } from \"../reducers/menu\"\nimport { categoryReducer } from \"../reducers/category\"\nimport { dishReducer } from \"../reducers/dish\"\nimport { ingredientReducer } from \"../reducers/ingredient\"\nimport { adminReducer } from \"../reducers/admin\"\n\nconst rootReducer = combineReducers({\n Auth: authReducer,\n Restaurant: restaurantReducer,\n Menu: menuReducer,\n Category: categoryReducer,\n Dish: dishReducer,\n Ingredient: ingredientReducer,\n Admin: adminReducer\n})\n\nconst store = createStore(rootReducer)\n\nexport { store }\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"qrCodeLayout\":\"QrCode_qrCodeLayout__2kkyo\",\"qrArea\":\"QrCode_qrArea__21xU7\",\"content\":\"QrCode_content__XPB1G\",\"QrCodeButton\":\"QrCode_QrCodeButton__23sU-\",\"rotateBtn\":\"QrCode_rotateBtn__2VerJ\",\"rotateIcon\":\"QrCode_rotateIcon__1E-gP\",\"QrCode\":\"QrCode_QrCode__1_QCw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"qrWrapper\":\"QR_qrWrapper__Tt2lE\",\"title\":\"QR_title__1-eCF\",\"qrRef\":\"QR_qrRef__bAnJx\",\"logo\":\"QR_logo__1Canz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"qrWrapper\":\"QR_qrWrapper__lrgTL\",\"title\":\"QR_title__1g7At\",\"qrRef\":\"QR_qrRef__243ka\",\"logo\":\"QR_logo__3njfP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"section\":\"Section_section__2mYr1\",\"sectionHeader\":\"Section_sectionHeader__38SKe\",\"actionsWrapper\":\"Section_actionsWrapper__15ek-\"};","export default \"data:image/png;base64,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\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"qrWrapper\":\"QR_qrWrapper__Qa5uT\",\"title\":\"QR_title__1g_Q5\",\"qrRef\":\"QR_qrRef__21OpL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uploadCSVButtonParent\":\"CreateCategory_uploadCSVButtonParent__3nxmP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loginPageWrapper\":\"Register_loginPageWrapper__2Y-oI\",\"pageContainer\":\"Register_pageContainer__1to43\",\"accountVerifiedSuccessfully\":\"Register_accountVerifiedSuccessfully__3_kNb\",\"registerErrorText\":\"Register_registerErrorText__2Wq4J\",\"successMessageCSV\":\"Register_successMessageCSV__13ejC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabsContainer\":\"TabsView_tabsContainer__3Xkk8\",\"tabsHeader\":\"TabsView_tabsHeader__3w9J3\",\"active\":\"TabsView_active__2DxDB\",\"tabBody\":\"TabsView_tabBody__2BuKX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ingredientBox\":\"IngredientAttribution_ingredientBox__Qjdl7\",\"notSelectable\":\"IngredientAttribution_notSelectable__3A6BR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"theMenu\":\"Menu_theMenu__7Lr_e\",\"deleteMenu\":\"Menu_deleteMenu__2t_tk\",\"typeMenu\":\"Menu_typeMenu__SEqJ1\",\"menuName\":\"Menu_menuName__3CYci\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"typeMenu\":\"MapMenu_typeMenu__1BWQ9\",\"menuName\":\"MapMenu_menuName__2D76A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fileWrapperContainer\":\"ImageInput_fileWrapperContainer__3lMpq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"qrCodeImageWrapper\":\"RestaurantForm_qrCodeImageWrapper__3l5ym\",\"imageInputWrapper\":\"RestaurantForm_imageInputWrapper__3tiLs\",\"qrColumn\":\"RestaurantForm_qrColumn__CIYN1\",\"downloadBtn\":\"RestaurantForm_downloadBtn__2CJB3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bodyWrapper\":\"VerifyAccount_bodyWrapper__rgeBr\",\"loadingText\":\"VerifyAccount_loadingText__3CBw6\",\"errorText\":\"VerifyAccount_errorText__2LO59\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bodyWrapper\":\"ResetPassword_bodyWrapper__24uEa\",\"errorMessage\":\"ResetPassword_errorMessage__1xr7U\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"typeMap\":\"MapAction_typeMap__2aXCq\",\"typeMapClone\":\"MapAction_typeMapClone__3WXtp\"};","import Modal from \"./Modal\"\nexport default Modal","import React from \"react\";\nimport Modal from \"react-bootstrap/Modal\";\n\nexport default function CustomModal({\n visible,\n closeModal,\n title,\n Component,\n style,\n size = \"md\",\n dialogClassName,\n confirmation = false,\n}) {\n return (\n {\n typeof closeModal === \"function\" && closeModal();\n }}\n className={confirmation ? \"confirmation-modal\" : \"\"}\n >\n {!confirmation && (\n \n {title ? title : \"\"}\n \n )}\n {Component}\n \n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chooseFromMediaParent\":\"ChooseFromMedia_chooseFromMediaParent__2wmbe\",\"loadingSpinnerParent\":\"ChooseFromMedia_loadingSpinnerParent__1buxF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"parent\":\"ModalFooter_parent__1I8qd\",\"decorationLine\":\"ModalFooter_decorationLine__2HrF-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"csvErrorParent\":\"CSVForm_csvErrorParent__2JSNa\",\"footerContainer\":\"CSVForm_footerContainer__Wzi9s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"locationItem\":\"Location_locationItem__3r2W6\",\"editButtonMap\":\"Location_editButtonMap__94VIE\",\"active\":\"Location_active__1Fppe\",\"locationTitle\":\"Location_locationTitle__19w8K\",\"editActive\":\"Location_editActive__2iCNO\",\"cancelChanges\":\"Location_cancelChanges__xXm4p\",\"deleteItem\":\"Location_deleteItem__2FT9U\",\"zonesWrapper\":\"Location_zonesWrapper__261Iw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"formGroupParent\":\"UpdateAccountForm_formGroupParent__h9rzw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"repeaterOptionsWrapper\":\"CustomizationForm_repeaterOptionsWrapper__2mPQj\",\"inputOptionsWrapper\":\"CustomizationForm_inputOptionsWrapper__uFzWp\",\"input\":\"CustomizationForm_input__1wKMJ\",\"deleteOptionBtn\":\"CustomizationForm_deleteOptionBtn__3BZsk\",\"customizationOptionsRepeater\":\"CustomizationForm_customizationOptionsRepeater__2FJLB\",\"addOptionRepeaterWrapper\":\"CustomizationForm_addOptionRepeaterWrapper__2VGz9\",\"customizationsWrapper\":\"CustomizationForm_customizationsWrapper__FyIqz\",\"openCustomization\":\"CustomizationForm_openCustomization__3uIZ4\",\"deleteWrapper\":\"CustomizationForm_deleteWrapper__1PKQz\",\"disabled\":\"CustomizationForm_disabled__2uHOO\",\"isAvailableOptionWrapper\":\"CustomizationForm_isAvailableOptionWrapper__2FjDg\",\"addAnotherCustomization\":\"CustomizationForm_addAnotherCustomization__nPrmF\",\"collapseExpanded\":\"CustomizationForm_collapseExpanded__MyM8N\",\"selectIngredients\":\"CustomizationForm_selectIngredients__1Yx4P\",\"customModalStyle\":\"CustomizationForm_customModalStyle__2Fbm4\",\"loadFromGlobalTemplates\":\"CustomizationForm_loadFromGlobalTemplates__3QB6x\",\"fixedPriceBtn\":\"CustomizationForm_fixedPriceBtn__Frt68\",\"isFixedPriceButton\":\"CustomizationForm_isFixedPriceButton__3xMPv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"previewBtn\":\"MenuPreviewBtn_previewBtn__26MKg\",\"active\":\"MenuPreviewBtn_active__2JtXj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"centeredWrapper\":\"PaymentSystem_centeredWrapper__2PqUM\",\"alreadySubscribedWrapper\":\"PaymentSystem_alreadySubscribedWrapper__3kaTF\",\"iconWrapper\":\"PaymentSystem_iconWrapper__xkok-\",\"logoWrapper\":\"PaymentSystem_logoWrapper__iehN4\",\"purchaseWrapper\":\"PaymentSystem_purchaseWrapper__1nEom\",\"loadingWrapper\":\"PaymentSystem_loadingWrapper__2PG8I\",\"invoicesWrapper\":\"PaymentSystem_invoicesWrapper__2Trhx\",\"invoices\":\"PaymentSystem_invoices__1HMVe\",\"checkoutCompletedWrapper\":\"PaymentSystem_checkoutCompletedWrapper__fDG2m\"};","var map = {\n\t\"./Template 1\": [\n\t\t152,\n\t\t9\n\t],\n\t\"./Template 1/\": [\n\t\t152,\n\t\t9\n\t],\n\t\"./Template 1/QR.module.scss\": [\n\t\t165,\n\t\t7\n\t],\n\t\"./Template 1/index\": [\n\t\t152,\n\t\t9\n\t],\n\t\"./Template 1/index.jsx\": [\n\t\t152,\n\t\t9\n\t],\n\t\"./Template 1/screenshot.png\": [\n\t\t399,\n\t\t9\n\t],\n\t\"./Template 1/template_meta\": [\n\t\t199,\n\t\t3\n\t],\n\t\"./Template 1/template_meta.json\": [\n\t\t199,\n\t\t3\n\t],\n\t\"./Template 2\": [\n\t\t153,\n\t\t9\n\t],\n\t\"./Template 2/\": [\n\t\t153,\n\t\t9\n\t],\n\t\"./Template 2/QR.module.scss\": [\n\t\t212,\n\t\t7\n\t],\n\t\"./Template 2/index\": [\n\t\t153,\n\t\t9\n\t],\n\t\"./Template 2/index.jsx\": [\n\t\t153,\n\t\t9\n\t],\n\t\"./Template 2/screenshot.png\": [\n\t\t400,\n\t\t9\n\t],\n\t\"./Template 2/template_meta\": [\n\t\t200,\n\t\t3\n\t],\n\t\"./Template 2/template_meta.json\": [\n\t\t200,\n\t\t3\n\t],\n\t\"./Template 3\": [\n\t\t154,\n\t\t9\n\t],\n\t\"./Template 3/\": [\n\t\t154,\n\t\t9\n\t],\n\t\"./Template 3/QR.module.scss\": [\n\t\t166,\n\t\t7\n\t],\n\t\"./Template 3/index\": [\n\t\t154,\n\t\t9\n\t],\n\t\"./Template 3/index.jsx\": [\n\t\t154,\n\t\t9\n\t],\n\t\"./Template 3/screenshot.png\": [\n\t\t401,\n\t\t9\n\t],\n\t\"./Template 3/template_meta\": [\n\t\t201,\n\t\t3\n\t],\n\t\"./Template 3/template_meta.json\": [\n\t\t201,\n\t\t3\n\t],\n\t\"./Template 4\": [\n\t\t155,\n\t\t9\n\t],\n\t\"./Template 4/\": [\n\t\t155,\n\t\t9\n\t],\n\t\"./Template 4/QR.module.scss\": [\n\t\t94,\n\t\t7\n\t],\n\t\"./Template 4/index\": [\n\t\t155,\n\t\t9\n\t],\n\t\"./Template 4/index.jsx\": [\n\t\t155,\n\t\t9\n\t],\n\t\"./Template 4/screenshot.png\": [\n\t\t402,\n\t\t9\n\t],\n\t\"./Template 4/template_meta\": [\n\t\t202,\n\t\t3\n\t],\n\t\"./Template 4/template_meta.json\": [\n\t\t202,\n\t\t3\n\t]\n};\n\nfunction webpackAsyncContext(req) {\n\treturn Promise.resolve().then(function() {\n\t\tif(!__webpack_require__.o(map, req)) {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\n\t\tvar ids = map[req], id = ids[0];\n\t\treturn __webpack_require__.t(id, ids[1])\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 398;\nmodule.exports = webpackAsyncContext;","export default __webpack_public_path__ + \"static/media/screenshot.23a372be.png\";","export default __webpack_public_path__ + \"static/media/screenshot.63c69198.png\";","export default __webpack_public_path__ + \"static/media/screenshot.1ea305ac.png\";","export default __webpack_public_path__ + \"static/media/screenshot.73ab7fde.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"noMenuSelectedWrapper\":\"Timeline_noMenuSelectedWrapper__1rCFf\",\"categoryAdjustmentsModal\":\"Timeline_categoryAdjustmentsModal__1tboA\",\"timelineWrapper\":\"Timeline_timelineWrapper__xaxze\",\"timelineDates\":\"Timeline_timelineDates__20Y4b\",\"footer\":\"Timeline_footer__1B3My\",\"menuSectionWrapper\":\"Timeline_menuSectionWrapper__1UEBi\",\"days\":\"Timeline_days__xFBl8\",\"categoryName\":\"Timeline_categoryName__3qPN1\"};","import React, { useRef, useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { ReactComponent as Logo } from \"../../assets/img/logo.svg\";\nimport { ReactComponent as LogoMin } from \"../../assets/img/logo_min.svg\";\nimport { privateRoutes, adminRoutes, noAuthenticatedRoutes, DMARoutes } from \"../../constants/routes\";\nimport styles from \"./Header.module.scss\";\nimport { connect } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport Modal from \"../../components/Modal\";\nimport general from \"../../helpers/general\";\nimport MenuPrint from \"../MenuPrint\";\n\nimport CONSTANTS from \"../../utils/constants\";\nimport MenuPreviewBtn from \"../MenuPreviewBtn/MenuPreviewBtn\";\nimport { Tooltip } from \"@material-ui/core\";\n\nconst { USER } = CONSTANTS;\n\nfunction Header({ Auth, navCollapsed, setNavCollapsed, preview, setPreview }) {\n const history = useHistory();\n const toggleBtn = useRef(null);\n const collapseRef = useRef(null);\n const navbarRef = useRef(null);\n const [openSubMenu] = useState([]);\n\n const checkRouteRole = (route) => {\n if (!route?.roles || !Array.isArray(route?.roles)) return true;\n return route?.roles?.includes(Auth?.user?.role);\n };\n\n const checkSubMenuPermissions = (route, $connector = \"$and\") => {\n if (!route || !route?.subs || route?.subs?.length === 0) {\n return false;\n }\n if ($connector === \"$and\") {\n return route?.subs?.every((subRoute) =>\n general?.checkPermissions({\n exceptPermissions: subRoute?.permissions?.except,\n $connector: subRoute?.permissions?.$connector,\n originalPermissions: Auth?.user?.permissions,\n })\n );\n }\n return route?.subs?.some((subRoute) =>\n general?.checkPermissions({\n exceptPermissions: subRoute?.permissions?.except,\n $connector: subRoute?.permissions?.$connector,\n originalPermissions: Auth?.user?.permissions,\n })\n );\n };\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const renderRoutes = (routes) => {\n //eslint-disable-next-line\n return (\n \n );\n };\n\n useEffect(() => {\n document.addEventListener(\"click\", handleClick);\n return () => document.removeEventListener(\"click\", handleClick);\n function handleClick(e) {\n if (collapseRef && collapseRef.current) {\n const ref = collapseRef.current;\n if (!ref.contains(e.target) && navbarRef.current.classList.contains(\"show\")) {\n const tourOpened = document.getElementById(\"tour-opened\");\n if (!tourOpened) {\n toggleBtn.current.click();\n }\n }\n }\n }\n }, []);\n\n return (\n
\n \n
\n {\n setNavCollapsed(!navCollapsed);\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n
\n \n \n \n \n \n \n \n
\n
\n
\n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(Header);\n","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 140,\n height: 43,\n viewBox: \"0 0 140 43\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_482_8524)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.6141 9.65015C16.9685 9.65015 13.5039 13.1133 13.5039 17.3547V17.3936C13.5039 21.6351 16.9291 25.0204 21.5748 25.0204C26.2204 25.0204 29.685 21.5572 29.685 17.3158V17.2769C29.685 13.0355 26.2598 9.65015 21.6141 9.65015ZM25.5118 17.3936C25.5118 19.5727 24.0551 21.4016 21.6535 21.4016C19.2913 21.4016 17.7165 19.4949 17.7165 17.3158V17.2769C17.7165 15.0978 19.1732 13.269 21.5748 13.269C23.937 13.269 25.5118 15.1757 25.5118 17.3547V17.3936Z\",\n fill: \"#F36E27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.71654 7.12091V10.9343H0V14.6309H2.71654V24.3979H7.12598V14.6698H11.5748V10.9732H7.12598V7.15982C7.12598 5.09748 7.99213 3.93012 9.48819 3.93012C10.2756 3.93012 11.1024 4.35815 11.5748 4.63053C12.0866 3.93012 13.0709 2.02343 13.4646 1.36192C12.874 0.817153 11.1811 0 9.33071 0C5.59055 0 2.71654 2.49037 2.71654 7.12091Z\",\n fill: \"#F36E27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.3547 9.53345H70.8271V24.7091H75.3547V9.53345Z\",\n fill: \"#F36E27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.0318 7.93805C74.7247 7.93805 75.5514 6.92634 75.5514 5.72006C75.5514 4.5527 74.7247 3.50208 73.0318 3.50208C71.4176 3.50208 70.5908 4.51379 70.5908 5.72006C70.5908 6.96525 71.4176 7.93805 73.0318 7.93805Z\",\n fill: \"#F36E27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.8193 10.7397C62.6382 10.0782 61.2209 9.72798 59.6854 9.72798C55.0398 9.72798 51.5752 13.1911 51.5752 17.4326V17.4715C51.5752 21.7129 55.0004 25.0982 59.6461 25.0982C61.2209 25.0982 62.6382 24.7091 63.8193 24.0476V24.7091H68.3468V2.29578H63.8193V10.7397ZM63.5437 17.4326C63.5437 19.6116 62.087 21.4405 59.6461 21.4405C57.2839 21.4405 55.7091 19.5338 55.7091 17.3547V17.3158C55.7091 15.1368 57.1657 13.3079 59.5673 13.3079C61.9295 13.3079 63.5043 15.2146 63.5043 17.3937V17.4326H63.5437Z\",\n fill: \"#F36E27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.9369 28.1334C66.4566 28.1334 64.685 29.6121 64.0944 30.2347C62.9527 28.8727 61.5747 28.1334 59.6062 28.1334C58.1102 28.1334 56.9291 28.6393 56.1023 29.184V28.1334H52.0078V41.4413H56.1023V33.9313C56.4566 32.9974 57.2834 31.7912 58.9763 31.7912C60.748 31.7912 61.5354 32.9196 61.5354 34.6706V41.4024H65.433V34.515C65.433 33.8924 65.3936 33.2309 65.3936 33.2309C65.3936 33.2309 66.2991 31.7912 68.2677 31.7912C69.9999 31.7912 70.8661 32.9196 70.8661 34.6706V41.4024H74.9606V34.943C74.9606 31.3631 73.3464 28.1334 68.9369 28.1334Z\",\n fill: \"#F36E27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.8028 28.1334C80.7083 28.1334 77.7949 31.4409 77.7949 35.2543C77.7949 39.1455 80.7083 42.3752 84.8422 42.3752C87.0863 42.3752 89.7634 41.2857 90.8658 40.2351C90.1965 39.5736 88.9367 38.056 88.5823 37.7447C87.5587 38.7564 86.0626 38.8731 84.9996 38.8731C82.9918 38.8731 81.8107 37.3167 81.6926 35.9158C81.6926 35.9158 91.0233 35.9158 91.1414 35.6824C91.2595 35.41 91.2201 34.6706 91.2201 34.4372C91.2201 30.7794 88.3461 28.1334 84.8028 28.1334ZM82.0075 33.5811C82.165 32.297 83.3067 31.2853 84.6847 31.2853C85.9839 31.2853 87.0863 32.3359 87.2044 33.5811H82.0075Z\",\n fill: \"#F36E27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.969 28.1334C100.315 28.1334 99.0554 28.7171 98.1892 29.2619V28.5615H94.0947V29.1062V41.8305H98.1498H98.1892V33.8535C98.5829 32.9585 99.6459 31.7912 101.378 31.7912C103.032 31.7912 103.977 32.9196 103.977 34.6706V41.8305H108.11V34.9041C108.11 31.3631 106.339 28.1334 101.969 28.1334Z\",\n fill: \"#F36E27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M120.236 36.4995C119.921 37.628 118.897 38.7175 117.559 38.7175C115.984 38.7175 115.039 37.589 115.039 35.7991V28.328H110.905V35.7213C110.905 39.1844 112.441 42.4141 116.732 42.4141C118.346 42.4141 119.488 41.9083 120.236 41.3635V42.4141H124.33V28.1334H120.236V36.4995Z\",\n fill: \"#F36E27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M134.252 33.3477C132.638 33.0364 131.772 32.7251 131.772 32.0636C131.772 31.4021 132.52 30.974 133.741 30.974C135.473 30.974 136.969 31.7523 137.717 32.4916L137.914 32.6861L139.607 29.8456L139.489 29.7288C137.874 28.4836 135.906 27.8221 133.741 27.8221C129.685 27.8221 127.835 30.1569 127.835 32.3359C127.835 35.7602 131.063 36.3439 133.426 36.8108H133.465C135.158 37.161 136.103 37.4723 136.103 38.2506C136.103 39.2234 134.961 39.4568 133.977 39.4568C132.284 39.4568 130.276 38.523 129.292 37.628L129.134 37.4723L127.323 40.3518L127.441 40.4686C128.937 41.8305 131.3 42.6476 133.78 42.6476C137.559 42.6476 140 40.8577 140 38.056C140 34.4372 136.536 33.7757 134.252 33.3477Z\",\n fill: \"#F36E27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.2671 15.4091C43.2671 15.4091 43.2278 15.3313 43.1884 15.3313C42.5191 14.592 41.653 14.2418 40.6687 14.2029C40.1175 14.1639 39.6057 14.3196 39.1333 14.5531C38.2671 14.9422 37.6766 15.6037 37.3223 16.4987C37.0467 17.238 37.0467 17.9773 37.2829 18.7167C37.4404 19.2225 37.716 19.6895 38.1097 20.0786C38.149 20.1175 38.1884 20.1564 38.2278 20.1953C38.2671 20.2342 38.2671 20.2342 38.3065 20.2731C38.9364 20.8568 39.7632 21.207 40.6687 21.207C42.5978 21.207 44.1726 19.6505 44.1726 17.7439C44.1333 16.8489 43.8183 16.0317 43.2671 15.4091ZM37.6766 18.4443C37.6372 17.7439 37.7947 17.0823 38.1884 16.4598C38.6608 15.6815 39.3695 15.1367 40.275 14.9033C41.1805 14.6698 42.0467 14.7476 42.8734 15.2146C42.9128 15.2146 42.9128 15.2535 42.9522 15.2535C43.6215 15.8761 44.0545 16.7321 44.0545 17.7439C44.0545 19.5727 42.5191 21.0903 40.6687 21.0903C39.7238 21.0903 38.8577 20.7012 38.2278 20.0397C37.9128 19.5338 37.7159 19.028 37.6766 18.4443Z\",\n fill: \"#CACBCF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.9134 15.2536C42.874 15.2536 42.874 15.2147 42.8346 15.2147C42.0079 14.7477 41.1417 14.6699 40.2362 14.9034C39.3307 15.1368 38.6614 15.6816 38.1496 16.4598C37.7953 17.0435 37.5984 17.7439 37.6378 18.4444C37.6772 19.028 37.8346 19.5339 38.1496 20.0398C38.7795 20.6624 39.6457 21.0904 40.5905 21.0904C42.4409 21.0904 43.9764 19.5728 43.9764 17.7439C44.0551 16.7322 43.622 15.8762 42.9134 15.2536Z\",\n fill: \"#E8E8EA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.3776 11.3623C44.6453 9.84477 42.7161 9.06653 40.6689 9.06653C39.6846 9.06653 38.7004 9.26109 37.6768 9.6113C34.6059 10.7008 32.7555 12.9966 32.165 16.1874C31.7319 18.6 32.2831 20.8569 33.8579 22.8025C36.1807 25.6431 38.228 28.6393 39.9996 31.869C40.1965 32.2192 40.3933 32.6083 40.6295 32.9974C40.7083 32.8807 40.7476 32.8418 40.7476 32.8029C41.6925 31.0518 42.6768 29.3397 43.7791 27.7054C44.8421 26.11 45.9445 24.5535 47.2043 23.1138C48.3854 21.674 49.0941 20.0786 49.2122 18.2109C49.3303 15.487 48.4248 13.1523 46.3776 11.3623ZM40.8657 22.569C40.787 22.569 40.7083 22.569 40.6295 22.569C37.8342 22.569 35.7083 20.351 35.6295 17.7439C35.5508 15.0201 37.7555 12.7632 40.472 12.6853C43.2673 12.6075 45.5508 14.7477 45.6295 17.5104C45.6689 20.2343 43.5429 22.4523 40.8657 22.569Z\",\n fill: \"url(#paint0_linear_482_8524)\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_482_8524\",\n x1: 32.0278,\n y1: 21.0254,\n x2: 49.1811,\n y2: 21.0254,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FDC694\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0421348,\n stopColor: \"#FDC694\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0934066,\n stopColor: \"#FCBD86\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4117,\n stopColor: \"#F6883B\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5556,\n stopColor: \"#F37421\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#F37421\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_482_8524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 140,\n height: 42.6087,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.fbd15358.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogoMin(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 32,\n viewBox: \"18 12 26 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_206_5459)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.6905 18.8507C34.6905 18.8507 34.6356 18.7421 34.5806 18.7421C33.6467 17.7105 32.4382 17.2218 31.0648 17.1675C30.2957 17.1132 29.5815 17.3304 28.9223 17.6562C27.7137 18.1991 26.8897 19.1222 26.3953 20.371C26.0107 21.4026 26.0107 22.4342 26.3403 23.4658C26.5601 24.1717 26.9446 24.8232 27.494 25.3662C27.5489 25.4205 27.6039 25.4748 27.6588 25.5291C27.7137 25.5834 27.7137 25.5834 27.7687 25.6377C28.6476 26.4521 29.8013 26.9408 31.0648 26.9408C33.7566 26.9408 35.954 24.7689 35.954 22.1084C35.8991 20.8596 35.4596 19.7194 34.6905 18.8507ZM26.8897 23.0858C26.8348 22.1084 27.0545 21.1854 27.6039 20.3167C28.2631 19.2307 29.2519 18.4706 30.5154 18.1448C31.7789 17.819 32.9875 17.9276 34.1411 18.5792C34.1961 18.5792 34.1961 18.6335 34.251 18.6335C35.1849 19.5022 35.7892 20.6967 35.7892 22.1084C35.7892 24.6603 33.6467 26.7779 31.0648 26.7779C29.7463 26.7779 28.5378 26.2349 27.6588 25.3119C27.2193 24.6061 26.9446 23.9002 26.8897 23.0858Z\",\n fill: \"#CACBCF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.1964 18.6338C34.1414 18.6338 34.1414 18.5795 34.0865 18.5795C32.9329 17.928 31.7243 17.8194 30.4608 18.1452C29.1973 18.471 28.2634 19.2311 27.5492 20.317C27.0548 21.1315 26.7801 22.1088 26.8351 23.0861C26.89 23.9006 27.1097 24.6064 27.5492 25.3123C28.4282 26.181 29.6368 26.7783 30.9552 26.7783C33.5371 26.7783 35.6796 24.6607 35.6796 22.1088C35.7895 20.6971 35.1852 19.5026 34.1964 18.6338Z\",\n fill: \"#E8E8EA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.0304 13.2035C36.6133 11.0859 33.9215 10 31.0648 10C29.6915 10 28.3181 10.2715 26.8898 10.7601C22.6048 12.2804 20.0229 15.4839 19.1988 19.9362C18.5945 23.3025 19.3636 26.4517 21.561 29.1665C24.8022 33.1301 27.6589 37.3109 30.1309 41.8175C30.4056 42.3062 30.6803 42.8491 31.0099 43.3921C31.1198 43.2292 31.1747 43.1749 31.1747 43.1206C32.4931 40.6773 33.8665 38.2882 35.4047 36.0078C36.888 33.7817 38.4261 31.6098 40.1841 29.6009C41.8321 27.5919 42.821 25.3658 42.9858 22.7596C43.1506 18.9589 41.8871 15.7011 39.0304 13.2035ZM31.3395 28.8407C31.2296 28.8407 31.1198 28.8407 31.0099 28.8407C27.1095 28.8407 24.143 25.7459 24.0331 22.108C23.9233 18.3073 26.9996 15.1581 30.7902 15.0495C34.6906 14.9409 37.8768 17.9272 37.9867 21.7822C38.0416 25.583 35.0751 28.6778 31.3395 28.8407Z\",\n fill: \"url(#paint0_linear_206_5459)\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_206_5459\",\n x1: 19.0074,\n y1: 26.6869,\n x2: 42.9424,\n y2: 26.6869,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FDC694\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0421348,\n stopColor: \"#FDC694\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0934066,\n stopColor: \"#FCBD86\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4117,\n stopColor: \"#F6883B\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5556,\n stopColor: \"#F37421\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#F37421\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_206_5459\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 60,\n height: 43,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogoMin);\nexport default __webpack_public_path__ + \"static/media/logo_min.627a6ecb.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fullScreenLoader\":\"LoadingSpinner_fullScreenLoader__2XsQX\",\"spinner\":\"LoadingSpinner_spinner__2s3zP\"};","const USER = {\n ROLES: {\n RESTAURANT: \"RESTAURANT\",\n SUPER_ADMIN: \"SUPER_ADMIN\",\n ADMIN: \"ADMIN\",\n MEMBER: \"MEMBER\",\n DMA: \"DMA\",\n DMA_CLIENT: \"DMA_CLIENT\",\n },\n};\n\nconst RESTAURANT = {\n TYPES: {\n RESTAURANT: \"restaurant\",\n FOOD_TRUCK: \"food truck\",\n },\n CTA_TYPES: {\n link: \"Link\",\n take_me_there: \"Take Me There\",\n website: \"View Website\",\n order_online: \"Order Online\",\n order_ahead: \"Order Ahead\",\n call_to_order: \"Call to Order\",\n },\n CTA_COLORS: {\n primary: \"Primary\",\n secondary: \"Secondary\",\n tertiary: \"Tertiary\",\n },\n DIETARY_CONSIDERATIONS: {\n diets: \"Include Only these Diets\",\n foodTypes: \"Exclude These Potential Allergens\",\n other: \"Other Dietary Considerations\",\n },\n CONJUNCTIONS: {\n OR: \"or\",\n AND: \"and\",\n },\n};\n\nconst LAYOUT = {\n nav: 200,\n collapsed_nav: 60,\n preview: 450,\n};\n\nconst data = {\n USER,\n RESTAURANT,\n LAYOUT,\n};\n\nexport default data;\n","import React from \"react\";\nimport styles from \"./Categories.module.scss\";\nimport CategoriesHeader from \"./CategoriesHeader\";\nimport placeholderFood from \"../../assets/img/placeholder_food.png\";\nimport general from \"../../helpers/general\";\nimport { connect } from \"react-redux\";\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport { IKImage } from \"imagekitio-react\";\n\nfunction DndCategories({\n categoriesToShow,\n Auth,\n category,\n addDishToCategory,\n removeDishFromCategory,\n editCategory,\n deleteCategory,\n onDragEnd,\n clone,\n menuSelected,\n}) {\n function generateSlides(category) {\n return (\n
\n {category?.dishes.map((dish, index) => {\n let imagePath = placeholderFood;\n\n if (dish?.image) {\n imagePath = `${process.env.REACT_APP_API_URL}${\n process?.env?.REACT_APP_API_PORT ? `:${process.env.REACT_APP_API_PORT}` : \"\"\n }/api/settings/show-image/${dish?.image}`;\n }\n return (\n
\n \n {(provided) => (\n
\n
\n
\n {general?.checkPermissions({\n exceptPermissions: [\"category\"],\n originalPermissions: Auth?.user?.permissions,\n }) &&\n !menuSelected?.fromParent && (\n \n \n \n )}\n
\n {dish?.image ? (\n \n ) : (\n {dish?.name}\n )}\n
\n

{dish?.price && general.formatPrice(dish?.price)}

\n

{dish?.name}

\n
\n
\n
\n {provided.placeholder}\n
\n
\n )}\n
\n
\n );\n })}\n {general?.checkPermissions({ exceptPermissions: [\"category\"], originalPermissions: Auth?.user?.permissions }) &&\n !menuSelected?.fromParent && (\n \n addDishToCategory(category, category?._id?.toString())}\n >\n
\n \n
\n
\n \n )}\n \n );\n }\n return (\n <>\n {categoriesToShow ? (\n <>\n {categoriesToShow?.length > 0 &&\n categoriesToShow.map((category, index) => (\n
\n \n {(provided) => (\n
\n \n
\n \n \n \n
\n {category?.category && category?.category?.dishes && (\n \n \n {(provided) => (\n
\n {generateSlides(category?.category)}\n {provided.placeholder}\n
\n )}\n
\n
\n )}\n
\n
\n {provided.placeholder}\n
\n )}\n
\n
\n ))}\n \n ) : (\n <>\n )}\n \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state?.Auth });\nexport default connect(mapStateToProps)(DndCategories);\n","import React from \"react\";\nimport styles from \"./Categories.module.scss\";\nimport general from \"../../helpers/general\";\nimport { Tooltip } from \"@material-ui/core\";\n\nexport default function CategoriesHeader({ Auth, category, addDishToCategory, editCategory, deleteCategory, clone, menuSelected }) {\n return (\n
\n
\n
\n {category?.name}\n {category?.dishes?.length === 0 ? \"0\" : category?.dishes?.length}\n
\n
\n {general?.checkPermissions({ exceptPermissions: [\"category\"], originalPermissions: Auth?.user?.permissions }) && (\n <>\n
\n \n \n \n
\n {!menuSelected?.fromParent && (\n <>\n
\n \n \n \n
\n \n \n \n \n )}\n \n )}\n
\n
\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bodyWrapper\":\"Admin_bodyWrapper__34SE-\",\"loadingText\":\"Admin_loadingText__3ojT_\",\"errorText\":\"Admin_errorText__3NW6a\",\"minorGraph\":\"Admin_minorGraph__18Ahv\",\"radiusGraph\":\"Admin_radiusGraph__109VW\",\"secondRow\":\"Admin_secondRow__nwJZZ\",\"listRestaurantDataWrapper\":\"Admin_listRestaurantDataWrapper__2cJjn\",\"memberPermission\":\"Admin_memberPermission__2-FHo\",\"customModalStyle\":\"Admin_customModalStyle__2IIza\",\"deleteIcon\":\"Admin_deleteIcon__31JP3\",\"restaurantInformationTable\":\"Admin_restaurantInformationTable__mWf_A\"};","import { connect } from \"react-redux\";\nimport styles from \"./MenuPreviewBtn.module.scss\";\n\nfunction MenuPreviewBtn({ closed, preview, setPreview, Menu }) {\n if (!closed || !setPreview) return null;\n\n return (\n setPreview(!preview)}\n >\n \n \n );\n}\n\nconst mapStateToProps = (state) => ({ Menu: state.Menu });\nexport default connect(mapStateToProps)(MenuPreviewBtn);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"App\":\"App_App__15LM-\",\"col\":\"App_col__3Pkl9\",\"fileInputWrapper\":\"App_fileInputWrapper__r23SM\",\"panel\":\"App_panel__2A9BU\",\"mainWrapper\":\"App_mainWrapper__3XP2F\",\"noPadding\":\"App_noPadding__1-An0\",\"formTitle\":\"App_formTitle__gZ3Oc\",\"specialInput\":\"App_specialInput__IS7ou\",\"dashboard\":\"App_dashboard__1wMgQ\",\"colorInputWrapper\":\"App_colorInputWrapper__1eRlI\",\"colorInfo\":\"App_colorInfo__3Btar\",\"imageInputWrapper\":\"App_imageInputWrapper__32FxI\",\"filePathWrapper\":\"App_filePathWrapper__1errq\",\"flexFormQrCodeFields\":\"App_flexFormQrCodeFields__8ybxj\"};","import React, { useEffect, useRef } from \"react\";\nimport { connect } from \"react-redux\";\nimport { useReactToPrint } from \"react-to-print\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport { toast } from \"react-toastify\";\nimport { IKImage } from \"imagekitio-react\";\n\nfunction MenuPrint({ Restaurant, Menu, Auth }) {\n const printArea = useRef(null);\n\n const { restaurant } = Restaurant;\n const { selected } = Menu;\n\n useEffect(() => {\n if (Auth?.LOGGED_IN()) {\n Menu?.load();\n }\n //eslint-disable-next-line\n }, []);\n\n const printMenu = (e) => {\n e.preventDefault();\n if (selected && Object.keys(selected).length !== 0) {\n handlePrint();\n } else {\n toast(\"Please select a menu!\");\n }\n };\n\n const handlePrint = useReactToPrint({\n content: () => printArea.current,\n });\n\n return (\n
\n
\n
\n

{restaurant?.name}

\n
\n {restaurant?.logo && (\n \n )}\n
\n {selected?.categories &&\n selected?.categories.map((cat, index) => (\n
\n
    \n

    \n {cat?.category?.name}\n

    \n {cat?.category?.dishes &&\n cat?.category?.dishes.map((dish) => (\n \n
    \n
    {dish?.name}
    \n
    \n
    \n {dish?.price &&
    ${dish?.price}
    }\n \n ))}\n
\n
\n ))}\n
\n \n {/* eslint-disable-next-line */}\n \n \n \n \n
\n );\n}\n\nconst mapStateToProps = (state) => ({ Restaurant: state.Restaurant, Menu: state.Menu, Auth: state?.Auth });\nexport default connect(mapStateToProps)(MenuPrint);\n","import MenuPrint from \"./MenuPrint\";\nexport default MenuPrint;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activeNav\":\"Header_activeNav__MViRx\",\"siteHeaderWrapper\":\"Header_siteHeaderWrapper__7Uese\",\"siteHeader\":\"Header_siteHeader__3xowK\",\"headerContainer\":\"Header_headerContainer__1HSoZ\",\"navBarLinks\":\"Header_navBarLinks__bLzOX\",\"brand\":\"Header_brand__1Eas8\",\"logo\":\"Header_logo__3T0lc\",\"logoMin\":\"Header_logoMin__1lCcP\",\"footerMenu\":\"Header_footerMenu__3VxUH\",\"subMenu\":\"Header_subMenu__3Mi72\",\"toggleBtn\":\"Header_toggleBtn__2TCqJ\",\"closed\":\"Header_closed__3jmwe\"};","var map = {\n\t\"./Template 1\": 152,\n\t\"./Template 1/\": 152,\n\t\"./Template 1/QR.module.scss\": 165,\n\t\"./Template 1/index\": 152,\n\t\"./Template 1/index.jsx\": 152,\n\t\"./Template 1/screenshot.png\": 399,\n\t\"./Template 1/template_meta\": 199,\n\t\"./Template 1/template_meta.json\": 199,\n\t\"./Template 2\": 153,\n\t\"./Template 2/\": 153,\n\t\"./Template 2/QR.module.scss\": 212,\n\t\"./Template 2/index\": 153,\n\t\"./Template 2/index.jsx\": 153,\n\t\"./Template 2/screenshot.png\": 400,\n\t\"./Template 2/template_meta\": 200,\n\t\"./Template 2/template_meta.json\": 200,\n\t\"./Template 3\": 154,\n\t\"./Template 3/\": 154,\n\t\"./Template 3/QR.module.scss\": 166,\n\t\"./Template 3/index\": 154,\n\t\"./Template 3/index.jsx\": 154,\n\t\"./Template 3/screenshot.png\": 401,\n\t\"./Template 3/template_meta\": 201,\n\t\"./Template 3/template_meta.json\": 201,\n\t\"./Template 4\": 155,\n\t\"./Template 4/\": 155,\n\t\"./Template 4/QR.module.scss\": 94,\n\t\"./Template 4/index\": 155,\n\t\"./Template 4/index.jsx\": 155,\n\t\"./Template 4/screenshot.png\": 402,\n\t\"./Template 4/template_meta\": 202,\n\t\"./Template 4/template_meta.json\": 202\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 553;","var map = {\n\t\"./Classic Template/Menu\": [\n\t\t754,\n\t\t0,\n\t\t4,\n\t\t10\n\t],\n\t\"./Classic Template/Menu/Menu\": [\n\t\t751,\n\t\t0,\n\t\t4\n\t],\n\t\"./Pizza Restaurant/Menu\": [\n\t\t755,\n\t\t0,\n\t\t6,\n\t\t12\n\t],\n\t\"./Pizza Restaurant/Menu/Menu\": [\n\t\t752,\n\t\t0,\n\t\t6\n\t],\n\t\"./Sushi Restaurant/Menu\": [\n\t\t756,\n\t\t0,\n\t\t5,\n\t\t14\n\t],\n\t\"./Sushi Restaurant/Menu/Menu\": [\n\t\t753,\n\t\t0,\n\t\t5\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 554;\nmodule.exports = webpackAsyncContext;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bodyWrapper\":\"Members_bodyWrapper__2CwqD\",\"loadingText\":\"Members_loadingText__3hvKB\",\"errorText\":\"Members_errorText__DLH6b\",\"memberPermissionParent\":\"Members_memberPermissionParent__2Fm60\",\"addIngredientsModal\":\"Members_addIngredientsModal__2d5DK\",\"selectAll\":\"Members_selectAll__1_SAs\",\"customModalAddMember\":\"Members_customModalAddMember__32luP\",\"permissionsDescriptionLabel\":\"Members_permissionsDescriptionLabel__S0C4A\",\"permissionBox\":\"Members_permissionBox__37oxf\",\"permissionDescription\":\"Members_permissionDescription__3HQeW\"};","import React from \"react\";\nimport Select from \"react-draggable-multi-select\";\nfunction getSelectStyles(color) {\n let highlightColor = color || \"var(--brand)\";\n\n return {\n container: (styles) => ({ ...styles }),\n control: (styles) => ({\n ...styles,\n textAlign: \"left\",\n \"& > div:first-of-type\": { minHeight: 40 },\n \"&:hover, &:focus\": {\n borderColor: highlightColor,\n boxShadow: `0 0 0 1px ${highlightColor}`,\n },\n }),\n placeholder: (styles) => ({ ...styles }),\n singleValue: (styles) => ({ ...styles }),\n input: (styles) => ({\n ...styles,\n boxShadow: \"none\",\n position: \"absolute\",\n \"& input\": { height: 40, boxShadow: \"none\" },\n }),\n option: (provided, state) => ({\n ...provided,\n backgroundColor: \"transparent\",\n cursor: \"pointer\",\n fontWeight: state.isSelected ? \"600\" : \"400\",\n color: \"inherit\",\n \"&:not(:last-child)\": { borderBottom: \"solid 1px #efefef\" },\n }),\n };\n}\n\nexport default function SelectList({\n isMulti,\n options,\n onChange,\n value,\n placeholder = \"Select...\",\n onMenuOpen,\n disabled,\n customCSSProperty,\n ...rest\n}) {\n return (\n \n );\n}\n","import SelectList from \"./SelectList\"\nexport default SelectList","import LoadingSpinner from './LoadingSpinner'\nexport default LoadingSpinner;","import React from \"react\";\nimport Spinner from \"react-bootstrap/Spinner\";\nimport styles from \"./LoadingSpinner.module.scss\";\n\nexport default function LoadingSpinner({ size, text, fullScreen = false }) {\n if (fullScreen) {\n return (\n
\n \n {text && Loading...}\n \n
\n );\n }\n return (\n \n {text && Loading...}\n \n );\n}\n","import { Pagination } from \"react-bootstrap\";\nimport general from \"../../helpers/general\";\nimport styles from \"./Pagination.module.scss\";\n\nfunction CustomPagination({ changePage, currentPage, totalPages }) {\n if (!totalPages || totalPages < 2) {\n return null;\n }\n\n const pages = () => {\n let pages = [];\n\n pages.push(\n
\n {\n changePage(e, currentPage - 1);\n }}\n />\n
\n );\n\n general.ellipsePagination(currentPage, totalPages).forEach((elem, i) => {\n if (elem === \"...\") {\n pages.push(\n
\n \n
\n );\n } else {\n pages.push(\n
\n {\n changePage(e, elem - 1);\n }}\n active={elem - 1 === currentPage}\n >\n {elem}\n \n
\n );\n }\n });\n\n pages.push(\n
\n {\n changePage(e, currentPage + 1);\n }}\n />\n
\n );\n\n return pages;\n };\n\n return (\n \n {pages()}\n \n );\n}\n\nexport default CustomPagination;\n","\nimport Pagination from \"./Pagination\"\nexport default Pagination","import React, { useEffect, useState } from \"react\";\nimport { Api, Endpoint } from \"../../../api\";\nimport style from \"./ChooseFromMedia.module.scss\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport Pagination from \"../../Pagination\";\nimport { IKImage } from \"imagekitio-react\";\n\nexport default function ChooseFromMedia({ closeModal, setFileSelectedLocally, handleImage }) {\n const [data, setData] = useState([]);\n const [loading, setLoading] = useState(true);\n\n const [pagination, setPagination] = useState({});\n\n useEffect(() => {\n getData();\n }, []);\n\n const getData = async (query = {}) => {\n const response = await Api.call(Endpoint.listMedia, { query });\n if (response?.confirmation === \"Success\" && typeof response?.message === \"object\" && response?.message?.data?.length > 0) {\n setData(response?.message?.data);\n setPagination(response?.message?.pagination);\n }\n setLoading(false);\n };\n\n const fileSelected = (elem) => {\n setFileSelectedLocally(elem?.key);\n handleImage(elem?.key);\n closeModal();\n };\n\n const changePage = async (e, page) => {\n setPagination({ ...pagination, page: page + 1 });\n await getData({ currentPage: page + 1 });\n };\n\n if (loading) {\n return (\n
\n \n

Loading data...

\n
\n );\n } else if (data && data?.length > 0) {\n return (\n
\n
\n {data.map((el, i) => (\n fileSelected(el)}\n />\n ))}\n
\n
\n \n
\n
\n );\n }\n return

No images available to upload

;\n}\n","import React from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport { useState } from \"react\";\nimport dashboardStyles from \"../../App.module.scss\";\nimport Modal from \"../Modal\";\nimport ChooseFromMedia from \"../Forms/MediaForm/ChooseFromMedia\";\nimport { connect } from \"react-redux\";\nimport general from \"../../helpers/general\";\nimport styles from \"./ImageInput.module.scss\";\n\nfunction ImageInput({\n Auth,\n handleImage,\n placeHolderImage,\n placeHolderTitle,\n uploadFromMedia,\n modalStyle,\n multiple,\n accept,\n onImageRemove,\n}) {\n const [modal, setModal] = useState({\n visible: false,\n update: false,\n updateIndex: null,\n Component: null,\n title: \"Select an image\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n const [imageRemoved, setImageRemoved] = useState(false);\n const [fileSelected, setFileSelected] = useState(null);\n\n const onChange = (event) => {\n if (multiple && event?.target?.files) {\n setFileSelected(`${event?.target?.files?.length} files selected`);\n handleImage(event.target.files);\n } else {\n setFileSelected(event?.target?.files?.[0]?.name);\n handleImage(event.target.files[0]);\n }\n setImageRemoved(false);\n };\n\n const chooseFromMedia = async () => {\n setModal({\n ...modal,\n visible: true,\n Component: ,\n });\n };\n\n const removeImage = () => {\n setFileSelected(null);\n onImageRemove();\n setImageRemoved(true);\n };\n\n const getPlaceHolderLabel = () => {\n if (fileSelected && typeof fileSelected === \"string\") {\n // File selected manually\n return fileSelected;\n }\n if (placeHolderImage && !imageRemoved) {\n return placeHolderImage;\n }\n if (placeHolderTitle) {\n return placeHolderTitle;\n }\n return \"Select an image\";\n };\n\n return (\n
\n \n\n {uploadFromMedia && general?.checkPermissions({ exceptPermissions: [\"dish\"], originalPermissions: Auth?.user?.permissions }) && (\n \n )}\n
\n
\n \n \n
\n {onImageRemove && typeof onImageRemove === \"function\" && (fileSelected || (placeHolderImage && !imageRemoved)) && (\n \n )}\n
\n
\n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(ImageInput);\n","import ImageInput from \"./ImageInput\";\nexport default ImageInput;\n","import { Button, Dropdown, DropdownButton } from \"react-bootstrap\";\nimport React from \"react\";\nimport styles from \"./Section.module.scss\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport LoadingSpinner from \"../LoadingSpinner\";\n\nexport default function SectionHeader({ title, action = null, tooltip, tour }) {\n const generateStyle = (act) => {\n return {\n marginLeft: 10,\n backgroundColor: !act?.state ? \"var(--light-bg-color)\" : \"var(--brand)\",\n color: !act?.state ? \"var(--text-color)\" : \"var(--white)\",\n borderColor: !act?.state ? \"var(--light-bg-color)\" : \"var(--brand)\",\n };\n };\n\n return (\n
\n

{title}

\n
\n
\n {action && Array.isArray(action)\n ? action.map((act, i) => (\n \n {act?.dropdownItems && act?.dropdownItems?.length > 0 ? (\n \n \n \n ) : (\n {act?.name}\n )\n }\n >\n {act?.dropdownItems?.map((item, i) => (\n {\n item.funk();\n }}\n >\n {item?.name}\n \n ))}\n \n ) : (\n \n {act.name}\n \n )}\n \n ))\n : typeof action?.funk === \"function\" &&\n (tooltip && tooltip?.title ? (\n \n \n \n ) : (\n \n ))}\n
\n
\n );\n}\n","import React from \"react\";\nimport SectionHeader from \"./SectionHeader\";\nimport styles from \"./Section.module.scss\";\n\nexport default function Section(props) {\n return (\n
\n \n {props.children}\n
\n );\n}\n","import Section from \"./Section\";\nexport default Section;\n","import React, { useState } from \"react\";\nimport { Tooltip } from \"@material-ui/core\";\nimport dashboardStyles from \"../../App.module.scss\";\n\nexport default function ColorInput({ initValue, register, name, onChange, label, description }) {\n const [inputValue, setInputValue] = useState(\"#ffffff\");\n return (\n
\n \n \n \n \n {\n setInputValue(e.target.value);\n onChange(name, e.target.value);\n }}\n />\n
\n );\n}\n","import React, { useEffect } from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport { useState } from \"react\";\nimport dashboardStyles from \"../../App.module.scss\";\nimport Modal from \"../Modal\";\nimport ChooseFromMedia from \"../Forms/MediaForm/ChooseFromMedia\";\nimport { connect } from \"react-redux\";\nimport general from \"../../helpers/general\";\n\nfunction ImageInput({ Auth, handleImage, placeHolder, modalStyle, displayFile }) {\n const [modal, setModal] = useState({\n visible: false,\n update: false,\n updateIndex: null,\n Component: null,\n title: \"Select an image\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n const [fileSelectedLocally, setFileSelectedLocally] = useState(null);\n\n useEffect(() => {\n setFileSelectedLocally(displayFile);\n }, [displayFile]);\n\n const chooseFromMedia = async () => {\n setModal({\n ...modal,\n visible: true,\n Component: (\n \n ),\n });\n };\n\n return (\n
\n \n
\n {general?.checkPermissions({ exceptPermissions: [\"dish\"], originalPermissions: Auth?.user?.permissions }) && (\n \n )}\n \n \n
\n
\n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(ImageInput);\n","import React, { useState } from \"react\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport { toast } from \"react-toastify\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button, Alert } from \"react-bootstrap\";\nimport { Api, Endpoint } from \"../../../api\";\n\nexport default function TransferOwnershipForm({ closeModal, checkTransferOwnershipStatus, Auth }) {\n const [error, setError] = useState(null);\n const [loading, setLoading] = useState(false);\n const { register, handleSubmit, errors } = useForm();\n\n const submit = async (data) => {\n setLoading(true);\n const response = await Api.call(Endpoint.request_transfer_ownership, { data });\n\n if (!response || response?.confirmation === \"Fail\") {\n setLoading(false);\n setError(response?.message);\n return;\n }\n\n await checkTransferOwnershipStatus();\n setLoading(false);\n setError(null);\n typeof closeModal === \"function\" && closeModal();\n toast(\"Restaurant ownership request has been made successfully.\");\n };\n\n return (\n
\n
\n \n \n
Are you sure you want to proceed?
\n
This action cannot be undone!
\n
\n
\n\n \n
\n Email\n \n User email that you want to transfer ownership\n \n
\n \n {(errors?.email?.message || error) && {errors?.email?.message || error}}\n
\n\n \n
\n Password\n Your account password\n
\n \n {errors?.password?.message && {errors?.password?.message}}\n
\n\n \n {typeof closeModal === \"function\" && (\n \n )}\n \n \n
\n
\n );\n}\n","import React from \"react\";\nimport styles from \"./ModalFooter.module.scss\";\nexport default function ModalFooter({ children }) {\n return (\n
\n
\n
{children}
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport ModalFooter from \"./ModalFooter\";\nimport { toast } from \"react-toastify\";\nimport LoadingSpinner from \"../LoadingSpinner\";\n\nfunction GeneralModal({ id, funk, closeModal, customMessage, customButtonMessage, toastMessage }) {\n const [loading, setLoading] = useState(false);\n\n const submit = async () => {\n setLoading(true);\n const response = await funk(id);\n if (response?.confirmation === \"Success\") {\n toast(toastMessage);\n } else {\n toast(response?.message || \"Something went wrong.\");\n }\n setLoading(false);\n };\n\n return (\n
\n
{customMessage}
\n \n \n {typeof closeModal === \"function\" && (\n \n )}\n \n
\n );\n}\n\nexport default GeneralModal;\n","import templates from \"./templates\";\nimport QRTemplates from \"./QRTemplates\";\n\nconst data = {\n templates,\n QRTemplates,\n};\n\nexport default data;\n","import templateMeta1 from \"../Templates/Classic Template/template_meta.json\";\nimport templateMeta2 from \"../Templates/Pizza Restaurant/template_meta.json\";\nimport templateMeta3 from \"../Templates/Sushi Restaurant/template_meta.json\";\n\nconst templates = [\n {\n template: \"Classic Template\",\n image: \"screenshot.jpg\",\n template_meta: templateMeta1,\n },\n {\n template: \"Pizza Restaurant\",\n image: \"screenshot.jpg\",\n template_meta: templateMeta2,\n },\n {\n template: \"Sushi Restaurant\",\n image: \"screenshot.jpg\",\n template_meta: templateMeta3,\n },\n];\n\nexport default templates;\n","import templateMeta1 from \"../QRTemplates/Template 1/template_meta.json\";\nimport templateMeta2 from \"../QRTemplates/Template 2/template_meta.json\";\nimport templateMeta3 from \"../QRTemplates/Template 3/template_meta.json\";\nimport templateMeta4 from \"../QRTemplates/Template 4/template_meta.json\";\n\nconst templates = [\n {\n template: \"Template 1\",\n image: \"screenshot.png\",\n template_meta: templateMeta1,\n },\n {\n template: \"Template 2\",\n image: \"screenshot.png\",\n template_meta: templateMeta2,\n },\n {\n template: \"Template 3\",\n image: \"screenshot.png\",\n template_meta: templateMeta3,\n },\n {\n template: \"Template 4\",\n image: \"screenshot.png\",\n template_meta: templateMeta4,\n },\n];\n\nexport default templates;\n","import React, { useState } from \"react\";\nimport { toast } from \"react-toastify\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button, ButtonGroup } from \"react-bootstrap\";\n\nexport default function EmbedMenuOptions({ closeModal, restaurantId, url = `${window.location.origin}/menu/${restaurantId}` }) {\n const { register, handleSubmit } = useForm();\n\n const initialState = Object.freeze({\n default: {\n label: \"Default\",\n active: false,\n },\n px: {\n label: \"px\",\n active: false,\n },\n percentage: {\n label: \"%\",\n active: false,\n },\n });\n\n const [options, setOptions] = useState({ ...initialState, default: { ...initialState.default, active: true } });\n\n const generateEmbedMenu = (data, type, url) => {\n const width = type !== \"default\" && data.width && data.width + type;\n const height = type !== \"default\" && data.height && data.height + (type === \"%\" ? \"vh\" : type);\n\n let widthStyle = \"\";\n if (width) {\n widthStyle = `width: ${width};`;\n }\n let heightStyle = \"\";\n if (height) {\n heightStyle = `height: ${height};`;\n }\n\n const iframeCode = ``;\n\n navigator.clipboard.writeText(iframeCode).then(\n function () {\n toast(\"Embedded Menu has been copied successfully to clipboard\");\n },\n function (err) {\n toast(\"Error copying Embedded Menu url to clipboard. Please try again later\");\n }\n );\n };\n\n const submit = async (data) => {\n const type = Object.entries(options)\n .filter((opt) => opt?.[1]?.active)?.[0]?.[1]\n .label?.toLowerCase();\n generateEmbedMenu(data, type, url);\n closeModal();\n };\n\n const handleChangeOption = (type) => {\n const newState = { ...initialState };\n newState[type] = { ...newState[type], active: true };\n setOptions(newState);\n };\n\n return (\n
\n
\n \n \n {Object.entries(options).map((btn) => (\n \n ))}\n \n \n\n \n
\n Width\n {!options.default.active && (\n \n {Object.entries(options).map((opt) => (opt[1].active ? opt[1].label : null))}\n \n )}\n
\n \n
\n\n \n
\n Height\n {!options.default.active && (\n \n {Object.entries(options).map((opt) => (opt[1].active ? opt[1].label : null))}\n \n )}\n
\n \n
\n \n {typeof closeModal === \"function\" && (\n \n )}\n \n \n
\n
\n );\n}\n","const maxFileSize = parseInt(process.env.REACT_APP_MAX_FILE_SIZE);\nconst maxFileSizeErrorText = process.env.REACT_APP_MAX_FILE_SIZE_ERROR;\n\nclass File {\n constructor() {\n this.allowed_extensions = [\".jpg\", \".JPG\", \".png\", \".PNG\", \".jpeg\", \".JPEG\", \".png\", \".webp\"];\n }\n validate(file) {\n if (!file || typeof file === \"string\") {\n return { fileError: null, success: true };\n }\n\n if (file?.size > maxFileSize) {\n return { fileError: `This file ${file?.name} is big. Maximum size for file is ${maxFileSizeErrorText}.`, success: false };\n }\n\n try {\n for (let i = 0; i < this.allowed_extensions.length; i++) {\n if (file?.name?.endsWith(this.allowed_extensions[i])) {\n return { fileError: null, success: true };\n }\n }\n return { fileError: \"File not allowed\", success: false };\n } catch (err) {\n return { fileError: \"File not allowed\", success: false };\n }\n }\n}\n\nexport default new File();\n","import Checkbox from \"./Checkbox\"\nexport default Checkbox","import React from \"react\";\nimport { Checkbox as CustomCheckbox } from \"@material-ui/core\";\n\nexport default function Checkbox({ checked, onChange, name, color, size, disabled }) {\n return (\n \n );\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button, Col, Row, DropdownButton, Dropdown } from \"react-bootstrap\";\nimport ImageInput from \"../ImageInput\";\nimport registerStyle from \"../../Views/Register/Register.module.scss\";\nimport { connect } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport LoadingSpinner from \"../LoadingSpinner\";\nimport Section from \"../../components/Section\";\nimport dashboardStyles from \"../../App.module.scss\";\nimport { toast } from \"react-toastify\";\nimport ColorInput from \"../Colors/ColorInput\";\nimport styles from \"./RestaurantForm.module.scss\";\nimport { Suspense } from \"react\";\nimport MediaOnlyInput from \"../ImageInput/MediaOnlyInput\";\nimport { useReactToPrint } from \"react-to-print\";\nimport html2canvas from \"html2canvas\";\nimport Modal from \"../../components/Modal\";\nimport TransferOwnershipForm from \"../Forms/TransferOwnershipForm/TransferOwnershipForm\";\nimport GeneralModal from \"../Modal/General\";\nimport { Api, Endpoint } from \"../../api\";\nimport { toPng, toJpeg, toSvg } from \"html-to-image\";\nimport download from \"downloadjs\";\nimport constants from \"../../constants\";\nimport EmbedMenuOptions from \"./EmbedMenuOptions\";\nimport { useHistory } from \"react-router-dom\";\nimport utils_constants from \"../../utils/constants\";\n\nimport File from \"../../utils/file\";\nimport SelectList from \"../SelectList\";\nimport Checkbox from \"../Checkbox\";\n\nconst {\n USER: { ROLES },\n RESTAURANT: { TYPES, CTA_TYPES, CTA_COLORS },\n} = utils_constants;\n\nconst qrTemplates = constants.QRTemplates;\n\nconst initialMedia = [\n { media: \"facebook\", icon: \"fab fa-facebook-f\", url: \"\", placeHolder: \"Facebook\" },\n { media: \"instagram\", icon: \"fab fa-instagram\", url: \"\", placeHolder: \"Instagram\" },\n { media: \"twitter\", icon: \"fab fa-twitter\", url: \"\", placeHolder: \"Twitter\" },\n { media: \"yelp\", icon: \"fab fa-yelp\", url: \"\", placeHolder: \"Yelp\" },\n { media: \"website\", icon: \"fab fa-web\", url: \"\", placeHolder: \"Website\" },\n];\n\nfunction RestaurantForm({ Restaurant, Auth }) {\n const qrRef = useRef(null);\n const canvasRef = useRef(null);\n const advancedQrCode = useRef(null);\n\n const [showCancelOwnership, setShowCancelOwnership] = useState(false);\n\n const [loading, setLoading] = useState(false);\n const [loadingDownload, setLoadingDownload] = useState(false);\n const [customError, setCustomError] = useState(null);\n const [logoSelected, setLogoSelected] = useState(null);\n const [fileError, setFileError] = useState(null);\n const [socialMedia, setSocialMedia] = useState(initialMedia);\n const [modal, setModal] = useState({\n visible: false,\n update: false,\n updateIndex: null,\n title: \"Add media\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n const [qrSettings, setQrSettings] = useState({});\n\n const [SelectedQRTemplate, setSelectedQRTemplate] = useState(null); // holds selected template meta (fields) and it's Component\n const [qrTemplateMeta, setQrTemplateMeta] = useState(null); // holds the values of template fields for all templates\n const [restaurantType, setRestaurantType] = useState({ value: Object.keys(TYPES)[0], label: Object.values(TYPES)[0].toUpperCase() });\n\n const initialCTATypes = { type: Object.keys(CTA_TYPES)[0], label: Object.values(CTA_TYPES)[0] };\n const initialCTAColors = { type: Object.keys(CTA_COLORS)[0], label: Object.values(CTA_COLORS)[0] };\n\n const [cta, setCta] = useState({\n type: initialCTATypes,\n newTab: true,\n color: initialCTAColors,\n lightText: false,\n enabled: false,\n });\n\n const history = useHistory();\n\n const { restaurant } = Restaurant;\n const handlePrint = useReactToPrint({\n content: () => canvasRef.current,\n });\n\n const toSelectListData = (data) => {\n return Object.keys(data).map((key) => {\n return {\n value: key,\n label: data[key].toUpperCase(),\n };\n });\n };\n\n const convertToImage = async (selector, type) => {\n setLoadingDownload(true);\n\n selector.classList.add(\"download-width\");\n\n switch (type) {\n case \"png\":\n toPng(selector, { imagePlaceholder: \"\" })\n .then((dataUrl) => {\n download(dataUrl, \"qrcode.png\");\n setLoadingDownload(false);\n })\n .finally(() => {\n selector.classList.remove(\"download-width\");\n });\n break;\n\n case \"jpg\":\n toJpeg(selector, { imagePlaceholder: \"\" })\n .then((dataUrl) => {\n download(dataUrl, \"qrcode.jpeg\");\n setLoadingDownload(false);\n })\n .finally(() => {\n selector.classList.remove(\"download-width\");\n });\n break;\n\n case \"svg\":\n toSvg(selector, { imagePlaceholder: \"\" })\n .then((dataUrl) => {\n download(dataUrl, \"qrcode.svg\");\n setLoadingDownload(false);\n })\n .finally(() => {\n selector.classList.remove(\"download-width\");\n });\n break;\n\n default:\n break;\n }\n };\n\n const appendCanvas = (selector) => {\n html2canvas(selector, {\n scale: 1,\n profile: true,\n useCORS: false,\n allowTaint: true,\n }).then((canvas) => {\n canvasRef.current.innerHTML = \"\";\n canvasRef.current.appendChild(canvas);\n handlePrint();\n });\n };\n\n useEffect(() => {\n if (restaurant?.logo) {\n setLogoSelected(restaurant?.logo);\n }\n if (restaurant?.restaurantType) {\n setRestaurantType({\n value: restaurant?.restaurantType?.toUpperCase(),\n label: TYPES[restaurant?.restaurantType?.toUpperCase()]?.toUpperCase(),\n });\n }\n\n if (restaurant?.cta) {\n setCta({\n type: {\n value: restaurant?.cta?.type,\n label: CTA_TYPES[restaurant?.cta?.type],\n },\n newTab: restaurant?.cta?.newTab,\n color: {\n value: restaurant?.cta?.color,\n label: CTA_COLORS[restaurant?.cta?.color],\n },\n lightText: restaurant?.cta?.lightText,\n enabled: restaurant?.cta?.enabled,\n });\n }\n\n //eslint-disable-next-line\n }, [restaurant]);\n\n useEffect(() => {\n if (restaurant && restaurant.templateMeta) {\n try {\n let tm = JSON.parse(restaurant?.templateMeta);\n setQrTemplateMeta(tm);\n } catch (error) {\n console.error(error.message);\n }\n } else {\n // populate qrTemplateMeta with default Values\n updateTemplateMeta();\n }\n //eslint-disable-next-line\n }, [restaurant, SelectedQRTemplate]);\n\n useEffect(() => {\n if (!SelectedQRTemplate && qrTemplates && qrTemplates.length !== 0) {\n handleQRTemplate(qrTemplates[0]);\n }\n let selectedTemplate = restaurant?.selectedQrTemplate;\n qrTemplates &&\n qrTemplates.forEach((template) => {\n if (template.template === selectedTemplate) {\n handleQRTemplate(template);\n }\n });\n\n //eslint-disable-next-line\n }, [restaurant, qrTemplates]);\n\n useEffect(() => {\n if (SelectedQRTemplate) {\n if (qrTemplateMeta && !qrTemplateMeta?.[SelectedQRTemplate?.templateMeta?.slug]) {\n updateTemplateMeta();\n }\n }\n //eslint-disable-next-line\n }, [SelectedQRTemplate]);\n\n const updateTemplateMeta = () => {\n let slug = SelectedQRTemplate?.template_meta?.slug;\n let fields = SelectedQRTemplate?.template_meta?.fields;\n let resFields = restaurant?.templateMeta;\n try {\n if (resFields) {\n resFields = JSON.parse(resFields);\n resFields = resFields?.[SelectedQRTemplate?.template_meta?.slug];\n }\n } catch (error) {\n console.error(error);\n }\n\n let values = {};\n if (slug && fields) {\n Object.keys(fields).forEach((field) => {\n if (fields?.[field]?.type === \"file\") {\n values[field] = resFields?.logo || restaurant?.logo || \"\";\n } else {\n values[field] = resFields?.[field] || \"\";\n }\n });\n setQrTemplateMeta({ ...qrTemplateMeta, [slug]: values });\n }\n };\n\n const submit = async (data) => {\n let moveToQrCodeField = [\"colorDark\", \"backgroundImageAlpha\"];\n data.qrSettings = { ...qrSettings };\n\n data.selectedQrTemplate = null;\n if (qrTemplateMeta && SelectedQRTemplate) {\n data.templateMeta = JSON.stringify(qrTemplateMeta);\n data.selectedQrTemplate = SelectedQRTemplate?.template;\n }\n\n moveToQrCodeField.forEach((field) => {\n //eslint-disable-next-line\n if (data[field] != undefined && data[field] != null) data.qrSettings[field] = data[field];\n });\n\n const validatedFile = File.validate(logoSelected);\n if (!validatedFile?.success) {\n setFileError(validatedFile?.fileError);\n return false;\n }\n\n data.restaurantType = restaurantType.value;\n\n setLoading(true);\n\n data.cta.type = cta?.type?.value || initialCTATypes.value;\n data.cta.color = cta?.color?.value || initialCTAColors.value;\n data.cta.newTab = cta?.newTab;\n data.cta.lightText = cta?.lightText;\n data.cta.enabled = cta?.enabled;\n\n const formData = new FormData();\n Object.keys(data).forEach((key) => {\n key !== \"qrSettings\" && key !== \"cta\" && key !== null && formData.append(key, data[key]);\n });\n\n formData.append(\"social\", JSON.stringify(socialMedia));\n formData.append(\"qrSettings\", JSON.stringify(data.qrSettings));\n formData.append(\"logo\", logoSelected);\n formData.append(\"cta\", JSON.stringify(data.cta));\n\n const response = await Restaurant.update(formData);\n if (response?.confirmation === \"Fail\") {\n alert(\"failed\");\n setLoading(false);\n setCustomError(typeof response?.message === \"string\" ? response?.message : response?.message?.message);\n return;\n }\n\n if (response?.message?.qrSettings) {\n setQrSettings({ ...qrSettings, backgroundImageAlpha: response?.message?.qrSettings?.backgroundImageAlpha });\n }\n\n setLoading(false);\n setCustomError(null);\n toast(\"Restaurant updated successfully!\");\n window.location.href = \"/settings\";\n };\n\n const addSocialMedia = (media, icon, url) => {\n let temp = [...socialMedia];\n let exist = temp.filter((elem) => elem?.media === media);\n if (exist?.length === 0) {\n temp.push({ media: media, icon: icon, url: url });\n setSocialMedia(temp);\n } else {\n temp.forEach((elem) => {\n if (elem?.media === media) {\n elem.icon = icon;\n elem.url = url;\n }\n });\n }\n setSocialMedia(temp);\n };\n\n const getSocialMedia = (media) => {\n let temp = [...socialMedia];\n let filtered = temp.filter((elem) => elem.media === media);\n if (filtered.length > 0) {\n return filtered[0];\n }\n return {};\n };\n\n async function getData() {\n const response = await Restaurant.find({ forceRender: true });\n response?.confirmation === \"Fail\" ? setCustomError(response?.message) : setCustomError(null);\n if (response?.message[0]?.social) setSocialMedia(response?.message[0]?.social);\n if (response?.message[0]?.qrSettings) setQrSettings(response?.message[0]?.qrSettings);\n }\n\n async function checkTransferOwnershipStatus() {\n const response = await Api.call(Endpoint.temporary_transfer_ownership_status);\n if (response?.statusCode === 200) {\n setShowCancelOwnership(response?.message || false);\n return;\n }\n\n setShowCancelOwnership(false);\n }\n\n useEffect(() => {\n if (restaurant?.social) setSocialMedia(restaurant?.social);\n register({ name: \"QRCODE_logo\", value: null });\n register({ name: \"QRCODE_backgroundImage\", value: null });\n register({ name: \"cta.color\", value: Object.keys(CTA_COLORS)[0] });\n register({ name: \"cta.type\", value: Object.keys(CTA_TYPES)[0] });\n register({ name: \"cta.newTab\", value: false });\n register({ name: \"cta.lightText\", value: false });\n getData();\n checkTransferOwnershipStatus();\n //eslint-disable-next-line\n }, []);\n\n const { register, handleSubmit, errors } = useForm();\n\n const handleQRTemplate = (template) => {\n if (template === null) {\n setSelectedQRTemplate(null);\n return;\n }\n setSelectedQRTemplate({ ...template, Component: React.lazy(() => import(`../../QRTemplates/${template?.template}`)) });\n };\n\n const handleTemplateValues = (e, field) => {\n if (SelectedQRTemplate) {\n let copy = { ...qrTemplateMeta };\n if (e && e.target) {\n copy[SelectedQRTemplate?.template_meta?.slug][field] = e.target.value;\n } else {\n copy[SelectedQRTemplate?.template_meta?.slug][field] = e;\n }\n setQrTemplateMeta(copy);\n }\n };\n\n const showTransferOwnershipModal = () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Transfer ownership\",\n Component: (\n \n ),\n });\n };\n\n const showEmbedModal = () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Embed Menu\",\n Component: ,\n });\n };\n\n const showCancelOwnershipModal = () => {\n setModal({\n ...modal,\n title: \"Confirm modal\",\n visible: true,\n confirmation: true,\n dialogClassName: null,\n Component: (\n {\n const response = await Api.call(Endpoint.cancel_transfer_ownership);\n await checkTransferOwnershipStatus();\n setModal({ ...modal, visible: false, title: \"\" });\n return response;\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const onImageRemove = () => {\n setLogoSelected(null);\n };\n\n const copyQrCodeUrl = () => {\n const url = `${window.location.origin}/menu/${restaurant?._id}`;\n navigator.clipboard.writeText(url).then(\n function () {\n toast(\"Menu URL has been copied successfully to clipboard\");\n },\n function (err) {\n toast(\"Error copying Menu url to clipboard. Please try again later\");\n }\n );\n };\n\n const letterCase = (str) => {\n return str?.charAt(0)?.toUpperCase() + str?.slice(1)?.toLowerCase();\n };\n\n const qrShareActions = [\n {\n name: \"Copy Menu URL\",\n funk: copyQrCodeUrl,\n },\n {\n name: \"Copy Embed Code\",\n funk: showEmbedModal,\n },\n {\n name: \"Download\",\n loadingState: loadingDownload,\n dropdownItems: [\n {\n name: \"Download template as .jpg\",\n funk: () => convertToImage(qrRef.current, \"jpg\"),\n },\n {\n name: \"Download QR Code as .svg\",\n funk: () => convertToImage(advancedQrCode.current, \"svg\"),\n },\n {\n name: \"Download QR Code as .png\",\n funk: () => convertToImage(advancedQrCode.current, \"png\"),\n },\n {\n name: \"Download QR Code as .jpg\",\n funk: () => convertToImage(advancedQrCode.current, \"jpg\"),\n },\n ],\n },\n {\n name: \"Print\",\n dropdownItems: [\n {\n name: \"Print template\",\n funk: () => appendCanvas(qrRef.current),\n },\n {\n name: \"Print Code\",\n funk: () => appendCanvas(advancedQrCode.current),\n },\n ],\n },\n ];\n\n return (\n history.push(\"/add-restaurant\") }}\n margin=\"0\"\n >\n
\n \n
\n
\n \n {restaurantType.label} Name\n
\n {Restaurant.restaurant?.parentRestaurant && (\n
\n \n
\n )}\n \n
\n {(errors?.name?.message || customError) && (\n {errors?.name?.message || customError}\n )}\n
\n \n Business Type\n {\n setRestaurantType(data);\n }}\n />\n \n \n {restaurantType?.label} Logo\n setLogoSelected(img)}\n />\n {fileError && {fileError}}\n \n \n Description\n \n \n\n \n Menu transition period\n \n Type 0 to disable\n \n \n Upsell Label\n \n \n
\n \n \n \n Type\n {\n setCta({ ...cta, type: data });\n }}\n />\n \n \n \n \n Label\n \n \n \n \n \n Link\n \n \n \n\n \n {\n setCta({ ...cta, newTab: !cta?.newTab });\n }}\n />\n New Tab\n \n \n \n \n \n \n \n Color\n {\n setCta({ ...cta, color: data });\n }}\n />\n\n \n {\n setCta({ ...cta, lightText: !cta?.lightText });\n }}\n />\n Light text color\n \n \n \n \n \n \n {\n setCta({ ...cta, enabled: !cta?.enabled });\n }}\n />\n Enable CTA Button\n \n \n \n \n
\n
\n \n \n {SelectedQRTemplate && (\n
\n {SelectedQRTemplate && qrTemplateMeta && (\n Loading...

}>\n \n
\n )}\n
\n )}\n\n
\n \n \n
\n ) : (\n
Download / Print
\n )\n }\n >\n convertToImage(qrRef.current, \"png\")}>Download template as .png\n convertToImage(advancedQrCode.current, \"png\")}>Download QR code as .png\n convertToImage(qrRef.current, \"jpg\")}>Download template as .jpg\n convertToImage(advancedQrCode.current, \"jpg\")}>Download QR code as .jpg\n convertToImage(qrRef.current, \"svg\")}>Download template as .svg\n convertToImage(advancedQrCode.current, \"svg\")}>Download QR code as .svg\n \n appendCanvas(qrRef.current)}>Print template\n appendCanvas(advancedQrCode.current)}>Print Code\n \n \n The template will look the same as the preview on this page!\n \n \n Zooming in and out on the page will adjust the size of the template on the printed version\n \n\n
\n
\n
\n
\n \n \n \n
\n QR Code Templates\n
\n
\n {qrTemplates &&\n qrTemplates?.length &&\n qrTemplates.map((template, i) => (\n handleQRTemplate(template)}\n >\n \n
\n ))}\n \n
\n \n setQrSettings({ ...qrSettings, colorDark: val })}\n name=\"colorDark\"\n description={\"QR Code color\"}\n />\n \n\n {SelectedQRTemplate &&\n SelectedQRTemplate?.template_meta &&\n qrTemplateMeta?.[SelectedQRTemplate?.template_meta?.slug] &&\n Object.keys(SelectedQRTemplate?.template_meta?.fields).map((field, i) => (\n \n {SelectedQRTemplate?.template_meta?.fields[field].label}\n {SelectedQRTemplate?.template_meta?.fields[field].type === \"file\" ? (\n <>\n handleTemplateValues(e, field)}\n />\n \n ) : (\n handleTemplateValues(e, field)}\n />\n )}\n \n ))}\n \n \n
\n
\n \n \n
\n \n The menu URL will not become active until a{\" \"}\n \n subscription\n {\" \"}\n is purchased.\n \n
\n \n
\n \n Facebook\n addSocialMedia(\"facebook\", \"fab fa-facebook-f\", e.target.value)}\n />\n \n \n Instagram\n addSocialMedia(\"instagram\", \"fab fa-instagram\", e.target.value)}\n />\n \n \n Twitter\n addSocialMedia(\"twitter\", \"fab fa-twitter\", e.target.value)}\n />\n \n \n Yelp\n addSocialMedia(\"yelp\", \"fab fa-yelp\", e.target.value)}\n />\n \n \n Website\n addSocialMedia(\"website\", \"fab fa-web\", e.target.value)}\n />\n \n
\n
\n \n {Auth?.user?.role === ROLES.RESTAURANT && (\n <>\n {!showCancelOwnership ? (\n \n ) : (\n \n )}\n \n )}\n \n \n
\n \n \n \n );\n}\n\nconst mapStateToProps = (state) => ({\n Restaurant: state.Restaurant,\n Auth: state.Auth,\n});\nexport default connect(mapStateToProps)(RestaurantForm);\n","import React, { useState, useEffect } from \"react\";\nimport { Api, Endpoint } from \"../api\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { store } from \"../store-redux/connect/store\";\nimport styles from \"../Templates/Classic Template/SingleMenuPage/SingleMenuPage.module.scss\";\nimport LoadingSpinner from \"../components/LoadingSpinner\";\nimport backimg from \"../images/foodi-footer.png\";\nimport { IKImage } from \"imagekitio-react\";\nimport general from \"../helpers/general\";\n\nconst withMenu = (BaseComponent) => (props) => {\n const [loading, setLoading] = useState(true);\n const [customerMenu, setCustomerMenu] = useState(null);\n const [data, setData] = useState(null);\n const [menusTimeline, setMenusTimeline] = useState(null);\n\n // eslint-disable-next-line\n const {\n Auth,\n Restaurant: { restaurant, find },\n } = store.getState();\n\n const match = useRouteMatch(\"/menu/:id\");\n const matchMap = useRouteMatch(\"/menu/:restaurantId/:mapId\");\n\n const getCustomerMenu = async (id, mapId) => {\n const params = {\n params: [id],\n };\n if (mapId) {\n params.params.push(mapId);\n }\n\n const resp = await Api.call(Endpoint.getCustomerMenu, params);\n\n if (!resp || resp?.confirmation === \"Fail\" || !resp?.message || !resp?.message?.restaurant) {\n // setMenuNotFound(true);\n return resp;\n }\n\n // if (resp?.message?.menuNotFound) {\n // // setMenuNotFound(true);\n // } else {\n // // setMenuNotFound(false);\n // }\n\n setCustomerMenu(resp?.message);\n setMenusTimeline(resp?.message?.menusTimeline);\n adminSocialFallback(resp?.message?.restaurant);\n\n document.title = resp?.message?.restaurant?.name;\n return resp;\n };\n\n const adminSocialFallback = (data) => {\n const adminSocials = [\n { media: \"facebook\", icon: \"fab fa-facebook-f\", url: process.env.REACT_APP_FOODI_FB },\n { media: \"instagram\", icon: \"fab fa-instagram\", url: process.env.REACT_APP_FOODI_IN },\n { media: \"twitter\", icon: \"fab fa-twitter\", url: process.env.REACT_APP_FOODI_TW },\n { media: \"yelp\", icon: \"fab fa-yelp\", url: process.env.REACT_APP_FOODI_YE },\n { media: \"website\", icon: \"fab fa-web\", url: process.env.REACT_APP_FOODI_WEB },\n ];\n\n if (data && data?.social) {\n adminSocials.forEach((adminMedia, index) => {\n if (data?.parentRestaurant) {\n data?.parentRestaurant?.social.forEach((media) => {\n if (adminMedia.media === media.media && media.url !== \"\") {\n adminMedia.url = media.url;\n }\n });\n }\n data?.social.forEach((media) => {\n if (adminMedia.media === media.media && media.url !== \"\") {\n adminMedia.url = media.url;\n }\n });\n });\n const tempData = { ...data };\n tempData.social = adminSocials;\n setData(tempData);\n }\n };\n\n const init = async () => {\n setLoading(true);\n if (Auth.LOGGED_IN()) {\n await find();\n }\n if (match?.params?.id) {\n const resp = await getCustomerMenu(match?.params?.id);\n setCustomerMenu(resp?.message);\n }\n if (matchMap?.params?.restaurantId && matchMap?.params?.mapId) {\n const resp = await getCustomerMenu(matchMap?.params?.restaurantId, matchMap?.params?.mapId);\n setCustomerMenu(resp?.message);\n }\n setLoading(false);\n };\n\n useEffect(() => {\n init();\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n console.log({ customerMenu });\n }, [customerMenu]);\n\n useEffect(() => {\n if (restaurant && typeof restaurant === \"object\" && restaurant?._id && !match) {\n getCustomerMenu(restaurant?._id);\n }\n //eslint-disable-next-line\n }, [restaurant]);\n\n if (loading) {\n return (\n
\n \n
\n );\n } else if (customerMenu?.menuNotFound) {\n return (\n
\n {customerMenu?.restaurant?.logo ? (\n \n ) : (\n
\n \"\"\n
\n )}\n
\n

There are no published menus

\n

\n Please{\" \"}\n \n notify\n {\" \"}\n the {general.convertToReadableRestaurantType(customerMenu?.restaurant?.restaurantType)} that they need to publish it\n

\n
\n
\n );\n }\n\n return (\n <>\n \n \n );\n};\n\nexport default withMenu;\n","import React, { useState, useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useRouteMatch } from \"react-router-dom\";\n\nconst withSelectedMenu = (BaseComponent) => (props) => {\n const { data } = props;\n const { menus } = data ? data : {};\n const { Menu } = useSelector((state) => ({ Menu: state?.Menu }));\n\n const match = useRouteMatch(\"/menu/:id\");\n const matchMap = useRouteMatch(\"/menu/:restaurantId/:mapId\");\n\n const [menuIndex, setMenuIndex] = useState(0);\n const [selectedMenu, setSelectedMenu] = useState(null);\n const [restaurantID, setRestaurantID] = useState(null);\n\n useEffect(() => {\n if (selectedMenu && typeof menus === \"object\") {\n const index = menus.findIndex((menu) => menu?._id === selectedMenu?._id);\n setMenuIndex(index);\n }\n // eslint-disable-next-line\n }, [selectedMenu, menus]);\n\n useEffect(() => {\n if (selectedMenu) {\n document.title = selectedMenu?.name;\n }\n }, [selectedMenu]);\n\n useEffect(() => {\n if (match?.params?.id && match?.params?.id !== restaurantID) {\n setRestaurantID(match?.params?.id);\n }\n\n if (matchMap?.params?.restaurantId) {\n setRestaurantID(matchMap?.params?.restaurantId);\n }\n\n // eslint-disable-next-line\n }, [match]);\n\n useEffect(() => {\n if (restaurantID && data) {\n if (data?.menus?.length) {\n if (data?.menus?.length > 1) {\n /* We have multiple menus */\n if (!selectedMenu) setSelectedMenu(null);\n } else {\n /* We have just one menu */\n setSelectedMenu(data?.menus[0]);\n }\n } else {\n /* Restaurant does not have any menu */\n }\n }\n // eslint-disable-next-line\n }, [restaurantID, data]);\n\n useEffect(() => {\n if (match) return;\n if (Menu?.selected && typeof Menu?.selected === \"object\" && Object.keys(Menu?.selected)?.length) {\n setSelectedMenu(Menu?.selected);\n } else {\n setSelectedMenu(null);\n }\n // eslint-disable-next-line\n }, [Menu?.selected]);\n\n return ;\n};\n\nexport default withSelectedMenu;\n","import { useEffect, useRef } from \"react\";\n\nexport default function useInterval(callback, delay) {\n const savedCallback = useRef();\n const interval = useRef(null);\n\n const reset = () => {\n clearInterval(interval?.current);\n };\n\n const start = () => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n interval.current = setInterval(tick, delay);\n }\n };\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n interval.current = setInterval(tick, delay);\n return () => clearInterval(interval?.current);\n }\n }, [delay]);\n\n return { reset, start };\n}\n","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React from \"react\";\nimport styles from \"./Alerts.module.scss\";\n\nexport default function IncomingMenus({ menus, minutes, onClose, onSwitch, currentMenu }) {\n return (\n
\n {menus && menus?.length === 1 ? (\n
\n {currentMenu?.name} expires in {minutes} minutes. You can switch to {menus?.[0]?.name}{\" \"}\n by clicking here\n
\n ) : (\n
\n {currentMenu?.name} expires in {minutes} minutes. You can view the incoming menus by clicking\n here\n
\n )}\n \n \n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Suspense } from \"react\";\nimport \"swiper/swiper.scss\";\nimport \"swiper/components/navigation/navigation.scss\";\nimport \"swiper/components/pagination/pagination.scss\";\nimport \"swiper/components/scrollbar/scrollbar.scss\";\nimport withMenu from \"../../hoc/withMenu\";\nimport withSelectedMenu from \"../../hoc/withSelectedMenu\";\nimport backimg from \"../../images/foodi-footer.png\";\nimport { store } from \"../../store-redux/connect/store\";\nimport { useLocation } from \"react-router-dom\";\nimport styles from \"./MenuWrapper.module.scss\";\nimport useInterval from \"../../hoc/useInterval\";\nimport general from \"../../helpers/general\";\nimport IncomingMenus from \"../Alerts/IncomingMenus\";\nimport { IKImage } from \"imagekitio-react\";\n\nfunction MenuWrapper(props) {\n const { selectedMenu, setSelectedMenu } = props;\n const location = useLocation();\n const [LazyLoadedTemplate, setLazyLoadedTemplate] = useState(null);\n const { Menu, Auth } = store.getState();\n const [notifyMenus, setNotifyMenus] = useState(null);\n\n const delay = 30000;\n const interval = useInterval(checkClosestMenu, delay);\n\n function checkClosestMenu() {\n const menus = props?.data?.menus;\n const notifyMenus = general?.findClosestMenus(props?.menusTimeline, menus, props?.data?.menu_period_transition);\n if (notifyMenus?.length > 0) {\n interval?.reset();\n setNotifyMenus(notifyMenus);\n }\n }\n\n useEffect(() => {\n if (location?.state?.menu && location?.state?.menu?._id !== selectedMenu?._id) {\n setSelectedMenu(props?.data?.menus?.find((menu) => menu?._id?.toString() === location?.state?.menu?._id?.toString()));\n window.scrollTo({ top: 0 });\n }\n if (location?.state?.menuIDSelectedFromCustomer && props?.data?.menus?.length > 0) {\n setSelectedMenu(\n props?.data?.menus?.find((menu) => menu?._id?.toString() === location?.state?.menuIDSelectedFromCustomer?.toString())\n );\n }\n location.state = undefined;\n if (window?.history?.replaceState) {\n window.history.replaceState({}, document.title);\n }\n // eslint-disable-next-line\n }, [location]);\n\n useEffect(() => {\n let template = \"Classic Template\";\n if (selectedMenu?._id && selectedMenu?.selectedTemplate) {\n if (selectedMenu?.selectedTemplate !== \"undefined\") {\n template = selectedMenu?.selectedTemplate;\n }\n setLazyLoadedTemplate(React.lazy(() => import(`../../Templates/${template}/Menu`)));\n }\n // eslint-disable-next-line\n }, [selectedMenu]);\n\n const onCloseIncomingMenu = () => {\n setNotifyMenus([]);\n interval?.start();\n };\n\n const onSwitchIncomingMenu = async () => {\n if (notifyMenus?.length === 1) {\n const menu = notifyMenus?.[0];\n if (menu && typeof menu === \"object\") {\n const response = await props?.getCustomerMenu(props?.data?._id);\n if (response?.message?.restaurant?.menus?.length) {\n const toAddMenu = response?.message?.restaurant?.menus?.find((mn) => mn?._id?.toString() === menu?._id?.toString());\n setTimeout(() => {\n setSelectedMenu(toAddMenu);\n }, 500);\n }\n }\n } else {\n await props?.getCustomerMenu(props?.data?._id);\n setSelectedMenu(null);\n }\n setNotifyMenus([]);\n interval?.start();\n };\n\n if (props?.data?.menus?.length > 1 && !selectedMenu) {\n return (\n <>\n
\n {notifyMenus && notifyMenus?.length > 0 && (\n \n )}\n
\n {props?.data?.logo ? (\n \n ) : (\n {props?.data?.name}\n )}\n
{props?.data?.description}
\n
Choose a menu:
\n
\n
\n {props?.data?.menus?.map((menu) => (\n {\n setSelectedMenu(menu);\n window.scrollTo({ top: 0, behavior: \"smooth\" });\n if (Auth?.LOGGED_IN()) {\n Menu?.setMenuSelectedLocally(menu);\n localStorage.setItem(\"menuSelected\", JSON.stringify(menu));\n }\n }}\n >\n {menu?.cover ? (\n \n ) : (\n {menu.name}\n )}\n
\n

{menu.name}

\n
\n
\n ))}\n {props?.data?.parentRestaurant?.menus.map((menu) => (\n {\n setSelectedMenu(menu);\n window.scrollTo({ top: 0, behavior: \"smooth\" });\n if (Auth?.LOGGED_IN()) {\n Menu?.setMenuSelectedLocally(menu);\n localStorage.setItem(\"menuSelected\", JSON.stringify(menu));\n }\n }}\n >\n {menu?.cover ? (\n \n ) : (\n {menu.name}\n )}\n
\n

{menu.name}

\n
\n
\n ))}\n \n \n \n );\n } else {\n return (\n <>\n {LazyLoadedTemplate && (\n }>\n {notifyMenus && notifyMenus?.length > 0 && (\n \n )}\n \n \n )}\n \n );\n }\n}\n\nexport default withMenu(withSelectedMenu(MenuWrapper));\n","import React from \"react\";\nimport styles from \"./SwitchAccountForm.module.scss\";\nimport { connect } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { Button } from \"react-bootstrap\";\nimport { toast } from \"react-toastify\";\n\nimport CONSTANTS from \"../../../utils/constants\";\n\nconst { USER } = CONSTANTS;\n\n//eslint-disable-next-line\nString.prototype.capitalize = function () {\n return this.charAt(0).toUpperCase() + this.slice(1);\n};\n\nfunction SwitchAccountForm({ Auth, closeModal }) {\n const history = useHistory();\n if (Auth?.user?.accounts?.length > 1) {\n return (\n
\n {Auth?.user?.accounts?.map((user, index) => {\n return (\n {\n if (Auth?.user?._id?.toString() === user?._id?.toString()) {\n return;\n }\n const response = await Auth.SWITCH_ACCOUNT({\n accountID: user._id,\n });\n if (!response || !response.confirmation || response?.confirmation === \"Fail\") {\n typeof closeModal === \"function\" && closeModal();\n toast(response?.message);\n return;\n }\n localStorage?.removeItem(\"menuSelected\");\n window.location.replace(\"/\");\n }}\n key={index}\n className={styles.account}\n style={Auth?.user?._id?.toString() === user?._id?.toString() ? { backgroundColor: \"#f1f1f1\" } : {}}\n >\n
\n
\n
\n {user?.username ? user?.username?.charAt(0)?.capitalize() : \"\"}\n
\n
\n
\n {user?.username}\n {user?.email}\n \n {user?.role === USER.ROLES.RESTAURANT ? \"OWNER\" : user?.role === USER.ROLES.MEMBER ? USER.ROLES.MEMBER : \"\"}\n \n
\n
\n
\n {Auth?.user?._id?.toString() === user?._id?.toString() ? (\n \n ) : (\n \n )}\n
\n
\n );\n })}\n {\n typeof closeModal === \"function\" && closeModal();\n history.push(\"/add-restaurant\");\n }}\n >\n Add {Auth?.user?.restaurants?.[0]?.restaurantType === \"FOOD_TRUCK\" ? \"Food Truck\" : \"Restaurant\"} / Location\n \n \n );\n }\n return null;\n}\n\nconst mapStateToProps = (state) => ({ Auth: state?.Auth });\nexport default connect(mapStateToProps)(SwitchAccountForm);\n","import SwitchAccountForm from \"./SwitchAccountForm\"\nexport default SwitchAccountForm;","import React, { useState } from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport { useHistory } from \"react-router-dom\";\nimport ModalFooter from \"../../Modal/ModalFooter\";\nimport { toast } from \"react-toastify\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport { Tooltip } from \"@material-ui/core\";\n\nfunction DeleteConfirmation({\n id,\n type,\n funk,\n closeModal,\n closeLabel,\n customMessage,\n customButtonMessage,\n toastMessage,\n deleteAccount,\n removeCategoryFromMenu,\n ids,\n deleteButtonTooltip,\n removeButtonTooltip,\n}) {\n const history = useHistory();\n const [loading, setLoading] = useState(false);\n\n const [removeCategoryFromMenuLoading, setRemoveCategoryFromMenuLoading] = useState(false);\n\n const deleteItem = async () => {\n setLoading(true);\n const response = await funk(id);\n if (response?.confirmation === \"Success\") {\n if (toastMessage) toast(toastMessage);\n else toast(`${type} deleted successfully`);\n }\n typeof closeModal === \"function\" ? closeModal() : history.push(\"/\");\n setLoading(false);\n };\n\n const removeItem = async () => {\n setRemoveCategoryFromMenuLoading(true);\n await removeCategoryFromMenu(ids);\n setRemoveCategoryFromMenuLoading(false);\n };\n\n return (\n
\n
\n {customMessage ? customMessage : `Are you sure you want to delete this ${type}?`}\n {deleteAccount &&

All of this user data will be permanently deleted.

}\n
\n \n \n \n \n {typeof removeCategoryFromMenu === \"function\" && (\n \n \n \n )}\n {typeof closeModal === \"function\" && (\n \n )}\n \n
\n );\n}\n\nexport default DeleteConfirmation;\n","import DeleteConfirmation from \"./DeleteConfirmation\";\nexport default DeleteConfirmation;\n","import React, { useState } from \"react\";\nimport styles from \"./PageHeader.module.scss\";\nimport { connect } from \"react-redux\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport Modal from \"../Modal\";\nimport SwitchAccountForm from \"../Forms/SwitchAccountForm\";\nimport { profileRoutes, adminRoutes, DMARoutes } from \"../../constants/routes\";\nimport general from \"../../helpers/general\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport DeleteConfirmation from \"../Forms/DeleteConfirmation\";\n\nfunction PageHeader({ Auth }) {\n const history = useHistory();\n const [dropdownActive, setDropdownActive] = useState(false);\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const toggleDropdown = () => {\n setDropdownActive(!dropdownActive);\n };\n\n const checkSubMenuPermissions = (route, $connector = \"$and\") => {\n if (!route || !route?.subs || route?.subs?.length === 0) {\n return false;\n }\n if ($connector === \"$and\") {\n return route?.subs?.every((subRoute) =>\n general?.checkPermissions({\n exceptPermissions: subRoute?.permissions?.except,\n $connector: subRoute?.permissions?.$connector,\n originalPermissions: Auth?.user?.permissions,\n })\n );\n }\n return route?.subs?.some((subRoute) =>\n general?.checkPermissions({\n exceptPermissions: subRoute?.permissions?.except,\n $connector: subRoute?.permissions?.$connector,\n originalPermissions: Auth?.user?.permissions,\n })\n );\n };\n\n const renderRoutes = (routes) => {\n //eslint-disable-next-line\n return (\n <>\n {/* eslint-disable-next-line array-callback-return */}\n {routes?.map((route, i) => {\n if (route?.showInDropdown) {\n if (Auth.LOGGED_IN()) {\n if (!route?.permissions || typeof route?.permissions !== \"object\") {\n if (route?.private) {\n return (\n
  • \n \n \n {route.name}\n \n
  • \n );\n }\n } else {\n if (route?.private) {\n if (\n general?.checkPermissions({\n exceptPermissions: route?.permissions?.except,\n $connector: route?.permissions?.$connector,\n originalPermissions: Auth?.user?.permissions,\n }) ||\n checkSubMenuPermissions(route, \"$or\")\n ) {\n return (\n
  • \n \n \n {route.name}\n \n
  • \n );\n }\n }\n }\n } else {\n if (!route?.private) {\n return (\n
  • \n {route.name}\n
  • \n );\n }\n }\n } else {\n return null;\n }\n })}\n \n );\n };\n\n return (\n <>\n \n
    \n

    {/* TODO: page title here */}

    \n
    \n
    \n Hi {Auth?.user?.role === \"SUPER_ADMIN\" ? \"Admin\" : Auth.user.firstName}\n
    \n \n {\n setModal({\n ...modal,\n title: \"Save changes\",\n visible: true,\n confirmation: true,\n Component: (\n {\n await Auth.LOGOUT();\n history.push(\"/login\");\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n }}\n >\n \n \n \n\n \n
    \n
    \n
    \n
      \n {renderRoutes(profileRoutes)}\n {renderRoutes(adminRoutes)}\n {renderRoutes(DMARoutes)}\n {Auth?.user?.accounts?.length > 1 && (\n
    • \n \n {Auth.LOGGED_IN() && Auth?.user?.accounts?.length > 1 && (\n {\n setModal({\n ...modal,\n visible: true,\n Component: ,\n title: \"Switch account\",\n });\n setDropdownActive(false);\n }}\n >\n Switch account\n \n )}\n
    • \n )}\n
    \n
    \n
    \n
    \n \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(PageHeader);\n","import React, { useEffect, useState } from \"react\";\nimport { Suspense } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport Header from \"../components/Header\";\nimport styles from \"./AdminPanel.module.scss\";\nimport LoadingSpinner from \"../components/LoadingSpinner\";\nimport MenuWrapper from \"../components/Wrappers/MenuWrapper\";\nimport TopBar from \"../components/Header/TopBar\";\nimport PageHeader from \"../components/Header/PageHeader\";\nimport { useLocation } from \"react-router-dom\";\n\nexport default function Dashboard(BaseComponent) {\n return function Dashboard(props) {\n const { Menu } = useSelector((state) => state);\n const [loading, setLoading] = useState(true);\n const [disablePreview, setDisablePreview] = useState(false);\n const [navCollapsed, setNavCollapsed] = useState(false);\n const [preview, setPreview] = useState(false);\n const { selected: selectedMenu } = Menu;\n const [isMapPage, setIsMapPage] = useState(false);\n const [windowSize, setWindowSize] = useState(0);\n const location = useLocation();\n\n useEffect(() => {\n handleResize();\n (async () => {\n await Menu.load();\n setLoading(false);\n })();\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (location?.pathname.includes(\"menu-display\")) {\n setNavCollapsed(true);\n setDisablePreview(true);\n setIsMapPage(true);\n }\n }, [location?.pathname]);\n\n const handleResize = () => {\n setWindowSize(window?.innerWidth);\n };\n\n useEffect(() => {\n setNavCollapsed(windowSize <= 1200);\n }, [windowSize]);\n\n if (loading) return ;\n\n return (\n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n {selectedMenu && selectedMenu?._id && !disablePreview && (\n
    \n
    \n {MenuWrapper && (\n }>\n \n \n )}\n
    \n
    \n )}\n
    \n );\n };\n}\n","import React from \"react\";\nimport RestaurantForm from \"../../components/RestaurantForm/RestaurantForm\";\nimport withLayout from \"../../Layouts/AdminPanel\";\n\nfunction Settings() {\n return ;\n}\n\nexport default withLayout(Settings);\n","import Settings from \"./Settings\";\nexport default Settings;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport styles from \"./TabsView.module.scss\";\n\nexport default function TabsView({ active, children }) {\n return (\n
    \n
    \n \n \n Register\n \n \n \n Sign in\n \n
    \n
    {children}
    \n
    \n );\n}\n","import React from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport styles from \"./Login.module.scss\";\nimport CONSTANTS from \"../../utils/constants\";\n\nimport { List, ListItem, ListItemSecondaryAction, ListItemAvatar, Avatar } from \"@material-ui/core\";\n\nconst { USER } = CONSTANTS;\n\nexport default function MultiAccounts({ onClick, data }) {\n return (\n \n
    Please select an account that you want to continue with
    \n {data?.length > 0 &&\n data?.map((user) => (\n onClick(user)}>\n \n {user?.username?.substr(0, 1)?.toUpperCase()}\n \n
    \n

    {user?.username}

    \n {user?.email}
    \n Restaurant {user?.role === USER.ROLES.RESTAURANT ? \"owner\" : \"member\"}\n
    \n \n \n \n
    \n ))}\n
    \n );\n}\n","import ReCaptcha from \"./ReCaptcha\";\nexport default ReCaptcha;\n","import ReCAPTCHA from \"react-google-recaptcha\";\n\nexport default function ReCaptcha({ innerRef, onChange }) {\n if (!process.env.REACT_APP_RECAPTCHA_KEY || true) return null; // disable recaptcha on dev\n return ;\n}\n","class ReCaptcha {\n async executeAsync(recaptchaRef) {\n try {\n const token = await recaptchaRef.current.executeAsync();\n return token;\n } catch (err) {\n return null;\n }\n }\n reset(recaptchaRef) {\n try {\n return recaptchaRef.current.reset();\n } catch (err) {\n return null;\n }\n }\n}\n\nexport default new ReCaptcha();\n","import React, { useState } from \"react\";\nimport ReCaptchaService from \"../utils/ReCaptcha\";\n\nimport general from \"../helpers/general\";\n\nconst { withPromiseTimeout } = general;\n\nexport default function useReCaptcha() {\n const reCaptchaRef = React.useRef();\n const [reCaptchaToken, setReCaptchaToken] = useState(null);\n\n const executeReCaptchaToken = async () => {\n try {\n if (reCaptchaToken) {\n ReCaptchaService.reset(reCaptchaRef);\n }\n\n const token = await withPromiseTimeout(50000, ReCaptchaService.executeAsync(reCaptchaRef));\n return token;\n } catch (err) {\n return null;\n }\n };\n\n const onChangeReCaptcha = (value) => {\n setReCaptchaToken(value);\n };\n\n return { reCaptchaRef, reCaptchaToken, executeReCaptchaToken, onChangeReCaptcha };\n}\n","import React from \"react\";\nimport TabsView from \"../../components/TabsView/TabsView\";\nimport styles from \"./Login.module.scss\";\nimport dashboardStyles from \"../../App.module.scss\";\nimport { Button, Form } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { useState } from \"react\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { useForm } from \"react-hook-form\";\nimport MultiAccounts from \"./MultiAccounts\";\n\nimport ReCaptchaComponent from \"../../components/ReCaptcha\";\nimport useReCaptcha from \"../../hoc/useReCaptcha\";\nimport { Api, Endpoint } from \"../../api\";\nimport { useHistory } from \"react-router-dom\";\n\nfunction Login({ Auth }) {\n const { reCaptchaRef, executeReCaptchaToken, onChangeReCaptcha } = useReCaptcha();\n const [loading, setLoading] = useState(false);\n const [customError, setCustomError] = useState(null);\n const [accountSelected, setAccountSelected] = useState({});\n const [multipleAccounts, setMultipleAccounts] = useState([]);\n const [accountUnVerifiedData, setAccountUnVerifiedData] = useState({\n account_unverified: false,\n token: null,\n });\n\n const history = useHistory();\n\n const submit = async (data) => {\n setLoading(true);\n const reCaptchaToken = await executeReCaptchaToken();\n\n const field = data?.username?.includes(\"@\") ? { email: data?.username } : { username: data?.username };\n data = { ...field, password: data.password, reCaptchaToken };\n\n const response = await Auth.LOGIN(data);\n setLoading(false);\n\n // TODO: For a future use, the api should return error messages types in order to check the error type, instead of checking the response manually.\n if (response?.message?.multipleAccounts) {\n setCustomError(null);\n setMultipleAccounts(response?.message?.accounts);\n setAccountUnVerifiedData({});\n } else if (response?.message?.account_unverified) {\n setAccountUnVerifiedData({ account_unverified: true, token: response?.message?.token });\n setCustomError(null);\n setMultipleAccounts([]);\n } else {\n typeof response?.message === \"string\" && setCustomError(response?.message);\n setAccountUnVerifiedData({});\n }\n };\n\n const { register, handleSubmit, errors } = useForm();\n\n const accountClicked = (account) => {\n setMultipleAccounts([]);\n setAccountSelected(account);\n };\n\n const resendEmailConfirmation = async () => {\n await Api.call(Endpoint.resendEmailAccountVerify, { data: { token: accountUnVerifiedData?.token } });\n history.push(\"/register?email_confirmation_sent=true\");\n };\n\n return (\n
    \n \n
    \n {multipleAccounts?.length > 0 ? (\n \n ) : (\n \n \n

    Sign in

    \n

    Do you have an account with Foodi?

    \n
    \n \n \n \n {(errors?.username?.message || customError) && (\n {errors?.username?.message || customError}\n )}\n\n {accountUnVerifiedData?.account_unverified && (\n
    \n \n Your account has not been verified yet. Please click this link to\n resend an email confirmation.\n \n
    \n )}\n
    \n \n \n \n {errors?.password?.message && {errors.password.message}}\n \n \n \n Forgot Password?\n \n \n \n
    \n )}\n
    \n \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(Login);\n","import Login from \"./Login\";\nexport default Login;\n","import React, { useRef, useState, useEffect } from \"react\";\nimport { Form, Button, Alert } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\nimport dashboardStyles from \"../../App.module.scss\";\nimport TabsView from \"../../components/TabsView/TabsView\";\nimport styles from \"./Register.module.scss\";\nimport { useForm } from \"react-hook-form\";\nimport { connect } from \"react-redux\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport Helpers from \"../../helpers/general\";\nimport PhoneInput from \"react-phone-input-2\";\nimport \"react-phone-input-2/lib/style.css\";\n\nimport ReCaptchaComponent from \"../../components/ReCaptcha\";\nimport useReCaptcha from \"../../hoc/useReCaptcha\";\n\nconst { passwordRegex, passwordMessage } = Helpers.getPasswordRegex();\n\nfunction Register({ Auth }) {\n const { reCaptchaRef, executeReCaptchaToken, onChangeReCaptcha } = useReCaptcha();\n\n const [loading, setLoading] = useState(false);\n const [accountVerified, setAccountVerified] = useState(false);\n const [error, setError] = useState(null);\n const [phoneNumber, setPhoneNumber] = useState(\"+1\");\n\n const { register, handleSubmit, errors, watch, setValue } = useForm();\n const password = useRef({});\n password.current = watch(\"password\", \"\");\n\n useEffect(() => {\n register({ name: \"phoneNumber\", value: phoneNumber });\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n setValue(\"phoneNumber\", phoneNumber);\n //eslint-disable-next-line\n }, [phoneNumber]);\n\n const submit = async (data) => {\n setLoading(true);\n\n const reCaptchaToken = await executeReCaptchaToken();\n data.reCaptchaToken = reCaptchaToken;\n\n const response = await Auth.REGISTER(data);\n setLoading(false);\n\n if (response?.statusCode === 200) {\n setAccountVerified(true);\n setError(null);\n } else {\n setError(response?.message);\n setAccountVerified(false);\n }\n };\n\n const emailConfirmationAlreadySent = new URLSearchParams(window.location.search).get(\"email_confirmation_sent\");\n\n return (\n
    \n
    \n {accountVerified || emailConfirmationAlreadySent === \"true\" ? (\n
    \n \n

    We have sent you an email with an account confirmation link.

    \n

    Please open the link within 24 hours to finish creating your profile.

    \n
    \n ) : (\n \n
    \n \n\n \n

    Register

    \n

    Create an account with us.

    \n
    \n\n {error && {error}}\n \n \n \n \n \n \n \n \n \n setPhoneNumber(phone)} />\n \n \n \n \n {errors?.username?.message && {errors?.username?.message}}\n \n \n \n \n {errors?.email?.message && {errors?.email?.message}}\n \n \n \n \n {errors?.restaurantName?.message && {errors?.restaurantName?.message}}\n \n \n \n \n {errors?.password?.message && {errors?.password?.message}}\n \n \n \n value === password.current || \"The password confirmation does not match.\",\n })}\n type=\"password\"\n name=\"confirm_password\"\n placeholder=\"Confirm Password *\"\n />\n {errors?.confirm_password?.message && (\n {errors?.confirm_password?.message}\n )}\n \n\n \n \n Forgot Password?\n \n \n \n \n
    \n )}\n
    \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(Register);\n","import Register from \"./Register\";\nexport default Register;\n","import SelectDishes from \"./SelectDishes\"\nexport default SelectDishes","import React, { useEffect, useState } from \"react\";\nimport styles from \"../Templates/Templates.module.scss\";\nimport placeholderFood from \"../../assets/img/placeholder_food.png\";\nimport { Alert } from \"react-bootstrap\";\nimport general from \"../../helpers/general\";\nimport Pagination from \"../Pagination\";\nimport { IKImage } from \"imagekitio-react\";\n\nexport default function SelectDishes({ addToSelect, selectedDishes, dishes }) {\n const [localPagination, setLocalPaginationData] = useState({\n pagination: {},\n data: [],\n });\n\n useEffect(() => {\n const temp = { ...localPagination };\n\n let page = temp?.pagination?.page || 1;\n let per_page = temp?.pagination?.per_page || 24;\n let data = temp?.data;\n\n // If user deletes the last record, and page is greater than 1, then he should go back automatically one page back\n if ((!data || data?.length === 1) && page > 0) {\n page = page - 1;\n }\n\n setLocalPaginationData(general.paginate(dishes, page, per_page));\n //eslint-disable-next-line\n }, [dishes]);\n\n const changePage = async (e, page) => {\n setLocalPaginationData(general.paginate(dishes, page + 1, 24));\n };\n\n const data = localPagination?.data || [];\n return (\n
    \n
    \n {data && data?.length > 0 ? (\n data?.map((dish) => (\n addToSelect(dish?._id)}\n className={`${styles.swiperSlide} ${selectedDishes?.includes(dish?._id) ? styles.selected : \"\"}`}\n style={{ opacity: selectedDishes?.includes(dish?._id) ? 1 : 0.6 }}\n >\n
    \n {dish?.image ? (\n \n ) : (\n \"\"\n )}\n
    \n

    {dish?.price && general.formatPrice(dish?.price)}

    \n

    {dish?.name}

    \n
    \n
    \n
    \n ))\n ) : (\n \n There are no dishes to select!\n Please add some first!\n \n )}\n
    \n\n {dishes && dishes?.length > 0 && (\n
    \n \n
    \n )}\n \n );\n}\n","import IngredientForm from \"./IngredientForm\"\nexport default IngredientForm","import React, { useState, useRef } from \"react\";\nimport { Form, Button } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../../components/LoadingSpinner\";\nimport { toast } from \"react-toastify\";\nimport TagsInput from \"react-tagsinput\";\nimport ModalFooter from \"../../Modal/ModalFooter\";\n\nexport default function IngredientForm({ ingredient, closeModal, handleDataOnDishForm, IngredientRedux }) {\n const [loading, setLoading] = useState(false);\n const tagInputRef = useRef();\n\n const [duplicateErrors, setDuplicateErrors] = useState([]);\n const [ingredientsUploadedSuccessfully, setIngredientsUploadedSuccessfully] = useState(-1);\n const [ingredientNames, setIngredientNames] = useState([]);\n\n const [updateIngredientError, setUpdateIngredientError] = useState(null);\n\n const ingredientRef = useRef(null);\n //eslint-disable-next-line\n\n const resetFormAfterCreating = () => {\n setDuplicateErrors([]);\n setIngredientsUploadedSuccessfully(-1);\n setIngredientNames([]);\n setUpdateIngredientError(null);\n if (tagInputRef?.current?.state?.tag) {\n tagInputRef.current.state.tag = \"\";\n }\n if (ingredientRef && ingredientRef?.current && ingredientRef?.current?.value) {\n ingredientRef.current.value = \"\";\n }\n };\n\n const submit = async (e) => {\n e.preventDefault();\n setLoading(true);\n\n if (ingredient?._id && ingredient?.name) {\n const inputValue = ingredientRef?.current?.value;\n if (!inputValue || inputValue?.trim()?.length === 0) {\n setUpdateIngredientError(\"This field is required\");\n setLoading(false);\n return;\n }\n\n setUpdateIngredientError(null);\n\n const data = { name: inputValue };\n const response = await IngredientRedux.update(data, ingredient?._id);\n\n if (response?.confirmation === \"Success\") {\n setLoading(false);\n toast(\"Ingredient updated successfully!\");\n closeModal && closeModal();\n resetFormAfterCreating();\n return;\n }\n setLoading(false);\n setUpdateIngredientError(response?.message);\n return;\n }\n\n if ((!ingredientNames || ingredientNames?.length === 0) && !tagInputRef.current?.state?.tag) {\n toast(\"You must add at least one ingredient to submit.\");\n setDuplicateErrors([]);\n setLoading(false);\n return;\n }\n\n const response = await IngredientRedux.create({\n ingredients: ingredientNames?.length !== 0 ? ingredientNames : [tagInputRef.current?.state?.tag],\n });\n\n if (!response || response?.confirmation === \"Fail\") {\n toast(response?.message);\n setDuplicateErrors([]);\n setLoading(false);\n return;\n }\n\n IngredientRedux.load({ forceRender: true });\n\n typeof handleDataOnDishForm === \"function\" && handleDataOnDishForm(response?.message?.insertedIngredients);\n\n if (response?.message?.errors?.length === 0 && response?.message?.insertedIngredients) {\n const message = `${response?.message?.insertedIngredients?.length} ${\n response?.message?.insertedIngredients?.length === 1 ? \"ingredient\" : \"ingredients\"\n } uploaded successfully`;\n toast(message);\n setLoading(false);\n closeModal && closeModal();\n resetFormAfterCreating();\n return;\n }\n\n if (response?.message?.errors) {\n setDuplicateErrors(response?.message?.errors);\n } else {\n setDuplicateErrors([]);\n }\n\n if (response?.message?.insertedIngredients && Array.isArray(response?.message?.insertedIngredients)) {\n setIngredientsUploadedSuccessfully(response?.message?.insertedIngredients?.length);\n }\n\n setLoading(false);\n };\n\n return (\n
    \n
    \n \n
    \n {ingredient?._id ? \"Ingredient name\" : \"Create ingredients\"}\n {!ingredient?._id && (\n \n Add multiple ingredients by hitting Tab, Enter, or Return after each ingredient.\n \n )}\n
    \n {ingredient?._id ? (\n <>\n \n {updateIngredientError && {updateIngredientError}}\n \n ) : (\n
    \n setIngredientNames(tags)}\n ref={tagInputRef}\n />\n {ingredientsUploadedSuccessfully !== -1 && (\n
    \n \n \n {ingredientsUploadedSuccessfully} {ingredientsUploadedSuccessfully === 1 ? \"ingredient\" : \"ingredients\"}\n {\" \"}\n uploaded successfully\n \n
    \n )}\n {duplicateErrors &&\n duplicateErrors?.length > 0 &&\n duplicateErrors?.map((err, index) => (\n
    \n \n {err} already exists.\n \n
    \n ))}\n
    \n )}\n
    \n \n \n {typeof closeModal === \"function\" && (\n \n )}\n \n
    \n
    \n );\n}\n","import React, { useState } from \"react\";\nimport { Form, Button } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport ModalFooter from \"../../Modal/ModalFooter\";\nimport { Api, Endpoint } from \"../../../api\";\nimport { toast } from \"react-toastify\";\n\nexport default function EditDietary({\n name,\n closeModal,\n type,\n defaultValue,\n restaurantDietary,\n adminDietary,\n dietaryEditedSuccessfully,\n Dish,\n}) {\n const [loading, setLoading] = useState(false);\n const [value, setValue] = useState(name);\n const [error, setError] = useState(null);\n\n const dietaryExists = () => {\n const tempRestaurantDietary = { ...restaurantDietary };\n const tempAdminDietary = { ...adminDietary };\n\n const dataTypeAdmin = tempAdminDietary?.admin[type];\n const dataTypeRestaurant = tempRestaurantDietary[type];\n\n const existsAdminDietary = dataTypeAdmin.find(\n (el) => el?.name?.toString()?.toLowerCase()?.trim() === value?.toString()?.toLowerCase()?.trim()\n );\n const existsRestaurantDietary = dataTypeRestaurant.find(\n (el) => el?.toString()?.toLowerCase()?.trim() === value?.toString()?.toLowerCase()?.trim()\n );\n\n return existsAdminDietary || existsRestaurantDietary;\n };\n\n const submit = async () => {\n if (!value?.toString()?.trim()?.length) {\n setError(\"Dietary cannot be empty\");\n return;\n }\n if (dietaryExists() && value?.toString() !== defaultValue?.toString()) {\n setError(\"Dietary already exists.\");\n return;\n }\n setError(null);\n setLoading(true);\n const data = { name: value, type: type, defaultValue: defaultValue, dish_id: Dish?._id };\n const response = await Api.call(Endpoint?.updateDietary, { data });\n if (response?.confirmation === \"Success\") {\n setLoading(false);\n toast(\"Dietary updated successfully\");\n dietaryEditedSuccessfully(value);\n typeof closeModal === \"function\" && closeModal();\n return;\n }\n setLoading(false);\n toast(\"Dietary failed to update\");\n typeof closeModal === \"function\" && closeModal();\n };\n return (\n
    \n \n Edit dietary\n setValue(e?.target?.value)}\n placeholder=\"Edit dietary\"\n />\n {error && {error}}\n \n \n \n {typeof closeModal === \"function\" && (\n \n )}\n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { Form } from \"react-bootstrap\";\nimport Checkbox from \"../../../components/Checkbox\";\nimport { toast } from \"react-toastify\";\nimport { Api, Endpoint } from \"../../../api\";\nimport styles from \"./DietaryConsiderations.module.scss\";\nimport Modal from \"../../Modal\";\nimport DeleteConfirmation from \"../DeleteConfirmation\";\nimport EditDietary from \"./EditDietary\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\n\nexport default function DietaryConsiderations({ register, setValue, Dish, Restaurant, update, Admin }) {\n // We will use dietaryConsiderations to render in the view.\n const [dietaryConsiderations, setDietaryConsiderations] = useState({\n admin: { diets: [], foodTypes: [], other: [] },\n });\n\n //eslint-disable-next-line\n const [loading, setLoading] = useState(false);\n\n // When user adds custom\n const [restaurantDietary, setRestaurantDietary] = useState({ diets: [], foodTypes: [], other: [] });\n\n /* We will use dietaryConsiderationsApi to send directly to the api. */\n const [dietaryConsiderationsApi, setDietaryConsiderationsApi] = useState({\n admin: { diets: [], foodTypes: [], other: [] } /* we store id-s in admin field */,\n selected: { diets: [], foodTypes: [], other: [] } /* we store names in selected field */,\n });\n\n /* \n When user checked an admin dietary field \n Example structure: diets: { [id]: boolean }\n */\n const [checkedAdminDietary, setCheckedAdminDietary] = useState({ diets: {}, foodTypes: {}, other: {} });\n\n /* \n When user checked an dietary that he creates. \n Example structure: diets: { [id]: boolean }\n */\n const [checkedDefaultDietary, setCheckedDefaultDietary] = useState({ diets: {}, foodTypes: {}, other: {} });\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n useEffect(() => {\n setValue(\"restaurantDietaryConsiderations\", JSON.stringify(restaurantDietary));\n // eslint-disable-next-line\n }, [restaurantDietary]);\n\n useEffect(() => {\n /* When user toggle admin dietary checkbox */\n let temp = { ...checkedAdminDietary };\n for (const key in temp) {\n temp[key] = Object.keys(temp[key]).filter((el) => temp[key][el]);\n }\n setDietaryConsiderationsApi({ ...dietaryConsiderationsApi, admin: temp });\n // eslint-disable-next-line\n }, [checkedAdminDietary]);\n\n useEffect(() => {\n /* When user toggle restaurant dietary checkbox */\n let temp = { ...checkedDefaultDietary };\n for (const key in temp) {\n temp[key] = Object.keys(temp[key]).filter((el) => temp[key][el]);\n }\n setDietaryConsiderationsApi({ ...dietaryConsiderationsApi, selected: temp });\n // eslint-disable-next-line\n }, [checkedDefaultDietary]);\n\n useEffect(() => {\n setValue(\"dietaryConsiderations\", JSON.stringify(dietaryConsiderationsApi));\n // eslint-disable-next-line\n }, [dietaryConsiderationsApi]);\n\n useEffect(() => {\n if (Dish?._id && Dish?.dietaryConsiderations) {\n let tempDietaryConsiderations = { ...Dish?.dietaryConsiderations };\n let tempDefaultDietary = { ...checkedDefaultDietary };\n let tempAdminDietary = { ...checkedAdminDietary };\n\n for (const key in tempDietaryConsiderations?.selected) {\n if (tempDietaryConsiderations?.selected[key] && tempDietaryConsiderations?.selected[key]?.length) {\n tempDietaryConsiderations.selected[key].forEach((el) => (tempDefaultDietary[key][el] = true));\n }\n }\n\n setCheckedDefaultDietary(tempDefaultDietary);\n\n for (const key in tempDietaryConsiderations?.admin) {\n if (tempDietaryConsiderations?.admin[key]?.length) {\n tempDietaryConsiderations.admin[key]?.forEach((el) => (tempAdminDietary[key][el?._id?.toString()] = true));\n }\n }\n\n setTimeout(() => setCheckedAdminDietary(tempAdminDietary), 500);\n }\n // eslint-disable-next-line\n }, [Dish]);\n\n useEffect(() => {\n if (Restaurant?.dietaryConsiderations) {\n setRestaurantDietary(Restaurant?.dietaryConsiderations);\n }\n // eslint-disable-next-line\n }, [Restaurant]);\n\n useEffect(() => {\n if (Admin?.dietaryConsiderations) {\n setDietaryConsiderations({ ...dietaryConsiderations, admin: Admin?.dietaryConsiderations });\n }\n // eslint-disable-next-line\n }, [Admin?.dietaryConsiderations]);\n\n useEffect(() => {\n register({ name: \"dietaryConsiderations\", value: JSON.stringify(dietaryConsiderationsApi) });\n register({ name: \"restaurantDietaryConsiderations\", value: JSON.stringify(restaurantDietary) });\n // eslint-disable-next-line\n }, []);\n\n const handleOnChangeAdminDietary = (type, id, checked) => {\n let temp = { ...checkedAdminDietary };\n if (!temp[type]) {\n temp[type] = {};\n }\n temp[type] = { ...temp[type], [id]: checked };\n setCheckedAdminDietary(temp);\n };\n\n const handleOnChangeRestaurantDietary = (type, name, checked) => {\n let temp = { ...checkedDefaultDietary };\n if (!temp[type]) {\n temp[type] = {};\n }\n temp[type] = { ...temp[type], [name]: checked };\n setCheckedDefaultDietary(temp);\n };\n\n const onChangeAdminDietaryExists = (item, val, except = false) => {\n let tempAdminDietary = { ...dietaryConsiderations };\n let array = tempAdminDietary?.admin[item];\n for (let i = 0; i < array?.length; i++) {\n if (array[i]?.name?.toString()?.toLowerCase()?.trim() === val?.toString()?.toLowerCase()?.trim()) {\n return true;\n }\n }\n return false;\n };\n\n const onChangeRestaurantDietaryExists = (item, val, except) => {\n let temp = { ...restaurantDietary };\n let array = temp[item];\n for (let i = 0; i < array?.length; i++) {\n if (array[i]?.toString()?.toLowerCase()?.trim() === val?.toString()?.toLowerCase()?.trim()) {\n return true;\n }\n }\n return false;\n };\n\n const handleKeyDown = (e, item) => {\n if (e.key === \"Enter\" || e?.key === \"Tab\") {\n let temp = { ...restaurantDietary };\n const value = e?.target?.value;\n if (onChangeRestaurantDietaryExists(item, value) || onChangeAdminDietaryExists(item, value)) {\n toast(`${e.target.value} is already in ${item} list!`);\n e.target.value = \"\";\n return;\n }\n\n temp[item].push(e.target.value);\n handleOnChangeRestaurantDietary(item, e?.target?.value, true);\n e.target.value = \"\";\n setRestaurantDietary(temp);\n }\n };\n\n const removeDietary = (dietary, key, index) => {\n setModal({\n ...modal,\n visible: true,\n title: \"Delete dietary\",\n Component: (\n {\n const data = { type: key, name: dietary };\n const response = await Api.call(Endpoint?.deleteDietary, { data });\n if (response?.confirmation === \"Success\") {\n let checkedTemp = { ...checkedDefaultDietary };\n let restaurantDietaryTemp = { ...restaurantDietary };\n let typeTemp = { ...checkedTemp[key] };\n\n delete typeTemp[dietary];\n checkedTemp[key] = typeTemp;\n restaurantDietaryTemp[key].splice(index, 1);\n\n setRestaurantDietary(restaurantDietaryTemp);\n setCheckedDefaultDietary(checkedTemp);\n toast(\"Dietary deleted successfully!\");\n return;\n }\n toast(response?.message || \"Something went wrong.\");\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const prepareEditDietary = async (dietary, type, index) => {\n setModal({\n ...modal,\n visible: true,\n title: \"Edit dietary\",\n Component: (\n dietaryEditedSuccessfully(dietary, newDietaryName, type, index)}\n Dish={Dish}\n />\n ),\n });\n };\n\n const dietaryEditedSuccessfully = (oldDietaryName, newDietaryName, type, index) => {\n let checkedTemp = { ...checkedDefaultDietary };\n let restaurantDietaryTemp = { ...restaurantDietary };\n let typeTemp = { ...checkedTemp[type] };\n\n let checkedDietary = typeTemp[oldDietaryName] || false;\n delete typeTemp[oldDietaryName];\n typeTemp[newDietaryName] = checkedDietary;\n checkedTemp[type] = typeTemp;\n\n restaurantDietaryTemp[type].splice(index, 1);\n restaurantDietaryTemp[type].push(newDietaryName);\n\n setRestaurantDietary(restaurantDietaryTemp);\n setCheckedDefaultDietary(checkedTemp);\n };\n\n const renderRestaurantDietary = (key) => {\n if (!restaurantDietary || !restaurantDietary[key]) return null;\n return restaurantDietary[key].map((dietary, index) => (\n
    \n \n handleOnChangeRestaurantDietary(key, dietary, e?.target?.checked)}\n />\n {dietary}\n \n\n prepareEditDietary(dietary, key, index)}>\n\n removeDietary(dietary, key, index)}>\n
    \n ));\n };\n\n return (\n
    \n \n \n
    \n Dietary Considerations\n
    \n Add multiple items by hitting Tab, Enter, or Return after each item.\n
    \n
    \n {loading ? (\n <>\n
    \n \n

    Loading dietary...

    \n
    \n \n ) : (\n
    \n {dietaryConsiderations &&\n dietaryConsiderations?.admin &&\n Object?.keys(dietaryConsiderations?.admin).map((dietaryKey, dietaryKeyIndex) => (\n \n {dietaryKey}\n
    \n {dietaryConsiderations?.admin[dietaryKey]?.length > 0 &&\n dietaryConsiderations?.admin[dietaryKey].map((dietary, index) => (\n
    \n \n {\n handleOnChangeAdminDietary(dietaryKey, dietary?._id, e?.target?.checked);\n }}\n />\n {dietary?.name}\n \n
    \n ))}\n {renderRestaurantDietary(dietaryKey)}\n
    \n \n {\n handleKeyDown(e, dietaryKey);\n }}\n />\n
    \n
    \n ))}\n
    \n )}\n
    \n
    \n );\n}\n","const initialCustomization = () => {\n return {\n name: \"\",\n isCustom: true,\n isFixedPrice: true,\n isAvailable: true,\n options: [\n {\n name: \"\",\n price: 0,\n ingredient: null,\n isAvailable: true,\n },\n ],\n };\n};\n\nconst initialCustomizationOptions = () => {\n return {\n name: \"\",\n price: 0,\n ingredient: null,\n isAvailable: true,\n };\n};\n\n// eslint-disable-next-line import/no-anonymous-default-export\nexport default {\n initialCustomization: initialCustomization,\n initialCustomizationOptions: initialCustomizationOptions,\n dish: {\n customizations: function () {\n return {\n selected: [],\n custom: [],\n };\n },\n },\n};\n","import React, { useState } from \"react\";\nimport SelectList from \"../../SelectList\";\nimport { Button } from \"react-bootstrap\";\n\nexport default function LoadGlobalTemplates({ Restaurant, closeModal, customizations, setCustomizations, setCollapseIndex }) {\n const { restaurant } = Restaurant;\n const [selectedCustomizations, setSelectedCustomizations] = useState([]);\n\n const transformCustomizations = (customizations) => {\n if (!customizations || !Array.isArray(customizations) || customizations?.length === 0) return [];\n return customizations?.map((customization) => {\n if (customization?._id && customization?.name && !customization?.value) {\n return { value: customization?._id, label: customization?.name };\n } else {\n return { value: customization?.value, label: customization?.label };\n }\n });\n };\n\n const saveChanges = () => {\n const tempRestaurant = { ...restaurant };\n const data = [];\n if (selectedCustomizations && selectedCustomizations?.length > 0) {\n selectedCustomizations.forEach((selected) => {\n if (restaurant?.customizations?.length > 0) {\n const copied = tempRestaurant?.customizations?.find((el) => el?._id?.toString() === selected?.value?.toString());\n\n if (copied) {\n if (\n customizations?.[customizations?.length - 1]?.name === \"\" &&\n customizations?.[customizations?.length - 1]?.options?.[0].name === \"\"\n ) {\n let tempData = [...customizations];\n tempData[tempData.length - 1] = { ...copied, name: copied.name + \" (copy)\" };\n setCustomizations(tempData);\n setCollapseIndex(customizations.length - 1);\n closeModal();\n return;\n }\n\n data.push({ ...copied, name: copied.name + \" (copy)\" });\n }\n }\n });\n }\n if (data?.length > 0) {\n setCustomizations([...customizations, ...data]);\n setCollapseIndex(customizations.length);\n }\n\n closeModal();\n };\n\n return (\n
    \n
    \n setSelectedCustomizations(data)}\n />\n
    \n
    \n \n \n
    \n
    \n );\n}\n","import CustomizationForm from \"./CustomizationForm\";\nexport default CustomizationForm;\n","import React, { useState } from \"react\";\nimport { Form, Button } from \"react-bootstrap\";\nimport styles from \"./CustomizationForm.module.scss\";\nimport { Tooltip } from \"@material-ui/core\";\nimport { useForm } from \"react-hook-form\";\nimport Collapse from \"react-bootstrap/Collapse\";\nimport Modal from \"../../Modal\";\nimport { Api, Endpoint } from \"../../../api/index\";\nimport { toast } from \"react-toastify\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport Checkbox from \"../../Checkbox\";\nimport SelectList from \"../../SelectList\";\nimport DefaultData from \"./DefaultData\";\nimport LoadGlobalTemplates from \"./LoadGlobalTemplates\";\nimport Alert from \"react-bootstrap/Alert\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Radio from \"@material-ui/core/Radio\";\n\nexport default function CustomizationForm({\n closeModal,\n setValue,\n stateCustomizations,\n metadata,\n ingredients,\n customizationsObject,\n Restaurant,\n}) {\n const [modal, setModal] = useState({\n dialogClassName: styles?.customModalStyle,\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const [duplicateValidationsError, setDuplicateValidationErrors] = useState([]);\n const [validationIngredientErrors, setValidationIngredientError] = useState({});\n\n const [duplicateIngredientsError, setDuplicateIngredientsError] = useState([]);\n\n const [saveChangesLoading, setSaveChangesLoading] = useState(false);\n const [collapseIndex, setCollapseIndex] = useState(0);\n const [customizations, setCustomizations] = useState(\n stateCustomizations && stateCustomizations?.length > 0 ? stateCustomizations : [DefaultData?.initialCustomization()]\n );\n const { register, handleSubmit, errors, clearErrors } = useForm();\n\n const loadFromGlobalTemplates = () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Load menu-wide customizations\",\n Component: (\n \n ),\n });\n };\n\n const transformIngredients = (ingredientsArr) => {\n if (!ingredientsArr || ingredientsArr?.length === 0) return [];\n return ingredientsArr?.map((ingredient) => {\n if (typeof ingredient === \"string\" && ingredients && ingredients?.length > 0) {\n // TODO: Update this if we are using pagination. It might be wrong.\n const foundIngredient = ingredients.find((ing) => ing?._id?.toString() === ingredient?.toString());\n if (foundIngredient) {\n return { value: foundIngredient?._id, label: foundIngredient?.name };\n }\n }\n if (ingredient?._id && ingredient?.name && !ingredient?.value) {\n return { value: ingredient?._id, label: ingredient?.name };\n } else {\n return { value: ingredient?.value, label: ingredient?.label };\n }\n });\n };\n\n const addOption = (index) => {\n const tempCustomizations = [...customizations];\n tempCustomizations[index].options.push(DefaultData?.initialCustomizationOptions());\n setCustomizations(tempCustomizations);\n };\n\n const clearIngredientsError = (parentIndex, index) => {\n const tempIngredientsError = { ...validationIngredientErrors };\n if (tempIngredientsError?.[parentIndex]?.[index]) {\n if (Object?.keys(tempIngredientsError?.[parentIndex]).length === 1) {\n delete tempIngredientsError?.[parentIndex];\n } else {\n delete tempIngredientsError?.[parentIndex]?.[index];\n }\n }\n setValidationIngredientError(tempIngredientsError);\n };\n\n const removeOption = (parentIndex, index) => {\n const tempCustomizations = [...customizations];\n if (tempCustomizations?.[parentIndex]?.options?.length > 1) {\n tempCustomizations[parentIndex].options.splice(index, 1);\n setCustomizations(tempCustomizations);\n clearIngredientsError(parentIndex, index);\n }\n };\n\n const displayError = (parentIndex, optionIndex, input) => {\n if (errors?.options?.[parentIndex]?.[input]?.[optionIndex]?.message) {\n return errors?.options?.[parentIndex]?.[input]?.[optionIndex]?.message;\n }\n return null;\n };\n\n const handleOnChangeCustomizationOptions = (parentIndex, input, index, value, params = {}) => {\n const tempCustomizations = [...customizations];\n tempCustomizations[parentIndex].options[index][input] = value;\n setCustomizations(tempCustomizations);\n if (params?.ingredient) {\n validateIngredients(tempCustomizations);\n }\n };\n\n const handleCustomizationInput = (parentIndex, input, value, metadata) => {\n const tempCustomizations = [...customizations];\n if (metadata?.isCustom) {\n // Clear form error\n clearErrors(`options.${parentIndex}.names`);\n clearErrors(`options.${parentIndex}.prices`);\n\n // Clear ingredients validation error\n const tempIngredientsError = { ...validationIngredientErrors };\n delete tempIngredientsError?.[parentIndex];\n setValidationIngredientError(tempIngredientsError);\n\n tempCustomizations[parentIndex][\"options\"] = [DefaultData?.initialCustomizationOptions()];\n }\n\n tempCustomizations[parentIndex][input] = value;\n setCustomizations(tempCustomizations);\n };\n\n const validateIngredients = (data) => {\n let temp = {};\n data.forEach((elem, parentIndex) => {\n if (!elem?.isCustom && elem?.options?.length > 0) {\n elem.options.forEach((option, index) => {\n if (!option?.ingredient) {\n if (!temp[parentIndex]) temp[parentIndex] = {};\n temp[parentIndex][index] = true;\n } else {\n if (temp[parentIndex]) {\n temp[parentIndex][index] = null;\n }\n }\n });\n }\n });\n setValidationIngredientError(temp);\n return temp;\n };\n\n const hasDuplicates = (customizationData) => {\n const seenDuplicates = {};\n customizationData.forEach((customization) => {\n if (customization?.name && !customization?.ingredient) {\n const name = customization?.name?.trim();\n !seenDuplicates?.[name] ? (seenDuplicates[name] = 1) : seenDuplicates[name]++;\n }\n });\n\n if (seenDuplicates) {\n const foundDuplicates = Object?.keys(seenDuplicates)?.filter((duplicate) => seenDuplicates[duplicate] > 1);\n if (foundDuplicates?.length > 0) {\n setDuplicateValidationErrors(foundDuplicates);\n return true;\n } else {\n setDuplicateValidationErrors([]);\n return false;\n }\n }\n return false;\n };\n\n const hasDuplicateIngredients = (customizations) => {\n const seenDuplicates = {};\n for (const customization of customizations) {\n if (customization?.options?.length > 0) {\n const index = customization.name;\n for (const option of customization?.options) {\n const id = option?.ingredient?.value ? option?.ingredient?.value : option?.ingredient?._id ? option?.ingredient?._id : null;\n if (id) {\n if (!seenDuplicates[index]) {\n seenDuplicates[index] = {};\n seenDuplicates[index][\"count\"] = 1;\n seenDuplicates[index][\"id\"] = id;\n } else {\n if (id && seenDuplicates[index][\"id\"] && id.toString() === seenDuplicates?.[index]?.[\"id\"]?.toString()) {\n seenDuplicates[index][\"count\"]++;\n seenDuplicates[index][\"name\"] = option?.ingredient?.label ? option?.ingredient?.label : option?.ingredient?.name;\n seenDuplicates[index][\"parent\"] = customization?.name;\n }\n }\n }\n }\n }\n }\n\n let stateData = [];\n for (const duplicate in seenDuplicates) {\n if (seenDuplicates?.[duplicate]?.count > 1) {\n stateData = [...stateData, { ingredient: seenDuplicates?.[duplicate]?.name, parent: seenDuplicates?.[duplicate]?.parent }];\n }\n }\n\n setDuplicateIngredientsError(stateData);\n return stateData.length > 0;\n };\n\n const submit = async (data) => {\n let customizationData = [...customizations];\n\n const validatedIngredients = validateIngredients(customizationData);\n\n // If there are ingredients errors, return\n if (Object?.keys(validatedIngredients)?.length > 0) {\n return;\n }\n\n // If there are duplicates errors, return\n if (hasDuplicates(customizationData)) {\n return;\n }\n\n for (const customization of customizationData) {\n if (hasDuplicates(customization?.options)) {\n return;\n }\n }\n\n if (hasDuplicateIngredients(customizationData)) {\n return;\n }\n\n customizationData.forEach((customization) => {\n // Transform ingredient - from object to id\n customization?.options?.forEach((option) => {\n if (option?.ingredient?.value) {\n option.ingredient = option?.ingredient?.value;\n }\n });\n });\n\n metadata?.restaurant && metadata?.fromRestaurant && setSaveChangesLoading(true);\n\n if (metadata?.restaurant && metadata?.fromRestaurant) {\n const response = await Api.call(Endpoint?.setCustomizations, { data: { customizations: customizationData } });\n if (response?.confirmation === \"Success\" && response?.message && Array.isArray(response?.message)) {\n Restaurant.find({ forceRender: true });\n setCustomizations(response?.message);\n\n toast(\"Changes have been saved successfully\");\n setSaveChangesLoading(false);\n\n return;\n }\n toast(response?.message);\n setSaveChangesLoading(false);\n } else {\n const tempCustomizationsObj = { ...customizationsObject };\n tempCustomizationsObj.custom = customizationData;\n setValue(\"customizations\", JSON.stringify(tempCustomizationsObj));\n typeof closeModal === \"function\" && closeModal();\n }\n };\n\n const addCustomization = () => {\n const tempCustomizations = [...customizations];\n tempCustomizations.push(DefaultData?.initialCustomization());\n setCustomizations(tempCustomizations);\n setCollapseIndex(customizations?.length);\n };\n\n const deleteCustomization = (index) => {\n const tempCustomizations = [...customizations];\n if (tempCustomizations?.length > 1) {\n tempCustomizations.splice(index, 1);\n setCustomizations(tempCustomizations);\n }\n };\n\n const handleCollapseOnChange = (index) => {\n setCollapseIndex(collapseIndex === index ? -1 : index);\n };\n\n const hasErrors = () => {\n return Object?.keys(errors)?.length > 0 || (validationIngredientErrors && Object?.keys(validationIngredientErrors)?.length > 0);\n };\n\n return (\n
    \n \n {duplicateValidationsError && duplicateValidationsError?.length > 0 && (\n \n {duplicateValidationsError?.map((duplicate, index) => (\n
    \n \n {duplicate} already exists.\n \n
    \n ))}\n
    \n )}\n {duplicateIngredientsError && duplicateIngredientsError?.length > 0 && (\n \n {duplicateIngredientsError?.map((duplicate, index) => (\n
    \n \n {duplicate?.ingredient} already exists at{\" \"}\n {duplicate?.parent}.\n \n
    \n ))}\n
    \n )}\n
    \n {!metadata?.restaurant && Restaurant?.restaurant?.customizations?.length > 0 && (\n
    \n

    Load from global

    \n
    \n )}\n {customizations &&\n customizations?.length > 0 &&\n customizations?.map((customization, parentIndex) => {\n return (\n \n
    \n handleCollapseOnChange(parentIndex)}\n style={{\n transition: \"all .4s ease\",\n backgroundColor: collapseIndex !== parentIndex ? \"#f9f9f9\" : \"white\",\n }}\n >\n
    {customization?.name?.length > 0 ? customization?.name : \"Customization name\"}
    \n
    \n
    \n {\n customizations.length !== 1 && deleteCustomization(parentIndex);\n }}\n >\n \n \n \n
    \n \n\n \n
    \n \n
    \n Customization name\n
    \n handleCustomizationInput(parentIndex, \"name\", e?.target?.value)}\n ref={register({ required: `Please fill this field.` })}\n placeholder=\"Customization name\"\n />\n {errors?.name?.[parentIndex]?.message && (\n {errors?.name?.[parentIndex]?.message}\n )}\n
    \n\n
    \n
    \n {\n handleCustomizationInput(parentIndex, \"isCustom\", !customizations?.[parentIndex]?.isCustom, {\n isCustom: false,\n });\n }}\n checked={customizations?.[parentIndex]?.isCustom ? false : true}\n />\n }\n label=\"Select from ingredients\"\n labelPlacement=\"start\"\n style={{ textTransform: \"none\", marginBottom: 0 }}\n />\n {\n handleCustomizationInput(parentIndex, \"isCustom\", !customizations?.[parentIndex]?.isCustom, {\n isCustom: true,\n });\n }}\n checked={customizations?.[parentIndex]?.isCustom ? customizations?.[parentIndex]?.isCustom : false}\n />\n }\n label=\"Add custom properties\"\n labelPlacement=\"start\"\n style={{ textTransform: \"none\", marginBottom: 0 }}\n />\n
    \n
    \n
    \n \n Pricing option:\n

    \n
    \n handleCustomizationInput(parentIndex, \"isFixedPrice\", true)}\n >\n $\n \n \n handleCustomizationInput(parentIndex, \"isFixedPrice\", false)}\n >\n %\n \n \n
    \n
    \n
    \n
    \n \n Is Available\n {\n handleCustomizationInput(parentIndex, \"isAvailable\", e.target.checked);\n }}\n />\n \n
    \n
    \n\n \n Customization options\n {customization?.options &&\n customization?.options?.length > 0 &&\n customization?.options?.map((option, index) => {\n return (\n
    \n
    \n
    \n {customizations?.[parentIndex]?.isCustom && (\n
    \n \n
    \n {\n handleOnChangeCustomizationOptions(\n parentIndex,\n \"isAvailable\",\n index,\n customizations?.[parentIndex]?.options?.[index]?.isAvailable ? false : true\n );\n }}\n />\n
    \n
    \n
    \n )}\n\n
    \n \n {!customizations?.[parentIndex]?.isCustom ? (\n <>\n \n handleOnChangeCustomizationOptions(parentIndex, \"ingredient\", index, data, {\n ingredient: true,\n })\n }\n />\n {validationIngredientErrors?.[parentIndex]?.[index] && (\n This field is required\n )}\n \n ) : (\n <>\n \n handleOnChangeCustomizationOptions(parentIndex, \"name\", index, e?.target?.value)\n }\n ref={register({\n required: `Please fill this field.`,\n })}\n placeholder=\"Name\"\n />\n {displayError(parentIndex, index, \"names\") && (\n {displayError(parentIndex, index, \"names\")}\n )}\n \n )}\n \n
    \n\n
    \n \n handleOnChangeCustomizationOptions(parentIndex, \"price\", index, e?.target?.value)}\n placeholder=\"Price\"\n />\n \n
    \n
    \n\n
    \n \n removeOption(parentIndex, index)} className=\"far fa-trash-alt fa-1.5x\" />\n \n
    \n
    \n
    \n );\n })}\n
    \n \n

    addOption(parentIndex)}>Add option

    \n
    \n
    \n
    \n
    \n
    \n \n );\n })}\n
    \n \n \n \n\n \n
    \n \n
    \n
    \n
    \n \n \n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Button, Col, Form, FormControl, InputGroup, Row } from \"react-bootstrap\";\nimport general from \"../../helpers/general\";\nimport styles from \"./IngredientAttribution.module.scss\";\n\nexport default function IngredientAttribution({ Auth, addIngredient, ingredients, selectedIngredients, setSelectedIngredients }) {\n const [ingredientsCopy, setIngredientsCopy] = useState(ingredients);\n\n useEffect(() => {\n setIngredientsCopy(ingredients);\n }, [ingredients]);\n\n const addToSelected = (ingredient) => {\n setSelectedIngredients([...selectedIngredients, ingredient]);\n };\n\n const removeFromSelected = (ingredient) => {\n let temp = [...selectedIngredients];\n temp = temp.filter((ing) => ing?._id !== ingredient?._id);\n setSelectedIngredients(temp);\n };\n\n const filterIngredients = (e) => {\n let temp = [...ingredients];\n temp = temp.filter((ing) => ing?.name.toLowerCase().includes(e.target.value.toLowerCase()));\n setIngredientsCopy(temp);\n };\n\n return (\n \n \n \n Ingredients\n \n \n
    \n {general?.checkPermissions({ exceptPermissions: [\"ingredient\"], originalPermissions: Auth?.user?.permissions }) && (\n \n )}\n
    \n \n
    \n \n \n

    Selected Ingredients

    \n
    \n
      \n {selectedIngredients &&\n selectedIngredients.length !== 0 &&\n selectedIngredients.map((ing) => (\n
    • removeFromSelected(ing)}>\n {ing?.name}\n
    • \n ))}\n\n {selectedIngredients && selectedIngredients.length === 0 && (\n

      \n There aren't any selected ingredients on this dish!\n

      \n )}\n
    \n
    \n \n \n \n \n \n \n \n \n\n

    All Ingredients

    \n\n
    \n
      \n {ingredientsCopy &&\n ingredientsCopy\n .filter((ingredient) => !selectedIngredients.map((selected) => selected._id).includes(ingredient._id))\n .map((ing) => (\n
    • addToSelected(ing)}>\n {ing?.name}\n
    • \n ))}\n
    \n
    \n \n
    \n
    \n );\n}\n","import React from \"react\";\n\nimport ReactQuill from \"react-quill\";\nimport \"react-quill/dist/quill.snow.css\";\n\nconst Editor = {};\n\n/*\n * Quill modules to attach to editor\n * See https://quilljs.com/docs/modules/ for complete options\n */\nEditor.modules = {\n toolbar: [\n [{ header: \"1\" }, { header: \"2\" }, { font: [] }],\n [{ size: [] }],\n [\"bold\", \"italic\", \"underline\", \"strike\", \"blockquote\"],\n [{ list: \"ordered\" }, { list: \"bullet\" }, { indent: \"-1\" }, { indent: \"+1\" }],\n [\"link\"],\n [\"clean\"],\n ],\n clipboard: {\n // toggle to add extra line breaks when pasting HTML:\n matchVisual: false,\n },\n};\n/*\n * Quill editor formats\n * See https://quilljs.com/docs/formats/\n */\nEditor.formats = [\"header\", \"font\", \"size\", \"bold\", \"italic\", \"underline\", \"strike\", \"blockquote\", \"list\", \"bullet\", \"indent\", \"link\"];\n\nexport default function TextEditor(props) {\n return (\n \n );\n}\n","\nimport TextEditor from \"./TextEditor\"\nexport default TextEditor","import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button } from \"react-bootstrap\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport { connect } from \"react-redux\";\nimport LoadingSpinner from \"../../../components/LoadingSpinner\";\nimport registerStyle from \"../../../Views/Register/Register.module.scss\";\nimport Checkbox from \"../../../components/Checkbox\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport ImageInput from \"../../../components/ImageInput\";\nimport ModalFooter from \"../../Modal/ModalFooter\";\nimport SelectDishes from \"../../SelectDishes\";\nimport general from \"../../../helpers/general\";\nimport Modal from \"../../Modal\";\nimport IngredientForm from \"../IngredientForm\";\nimport { toast } from \"react-toastify\";\nimport DietaryConsiderations from \"./DietaryConsiderations\";\nimport SelectList from \"../../SelectList\";\nimport GeneralModal from \"../../../components/Modal/General\";\nimport CustomizationForm from \"../CustomizationForm\";\nimport styles from \"./DietaryConsiderations.module.scss\";\nimport DefaultCustomizationsData from \"../../Forms/CustomizationForm/DefaultData\";\nimport IngredientAttribution from \"../../IngredientAttrubution/IngredientAttribution\";\nimport File from \"../../../utils/file\";\nimport TextEditor from \"../../TextEditor\";\n\nfunction DishForm({ Category, Dish, Ingredient, Auth, Restaurant, update, dishID, closeModal, categoryID, Admin, dish }) {\n const { register, handleSubmit, errors, setValue, reset, getValues } = useForm();\n const [loading, setLoading] = useState(false);\n const [imageSelected, setImageSelected] = useState(null);\n const [isAvailable, setIsAvailable] = useState(true);\n const [fileError, setFileError] = useState(null);\n const [error, setError] = useState(null);\n const [sideDishes, setSideDishes] = useState([]);\n const [selectedSideDishes, setSelectedSideDishes] = useState([]);\n const [priceError, setPriceError] = useState(null);\n const [categorySideDishes, setCategorySideDishes] = useState([]);\n const [copyCategorySideDishes, setCopyCategorySideDishes] = useState([]);\n const [categoryUpdate, setCategoryUpdate] = useState(false);\n const [selectedIngredients, setSelectedIngredients] = useState([]);\n const [selectedCustomizations, setSelectedCustomizations] = useState([]);\n\n const [dietaryResetKey, setDietaryResetKey] = useState(new Date().getTime().toString());\n const [editorValue, setEditorValue] = useState(\"\");\n\n const maxFileSize = parseInt(process.env.REACT_APP_MAX_FILE_SIZE);\n const maxFileSizeErrorText = process.env.REACT_APP_MAX_FILE_SIZE_ERROR;\n\n const [modal, setModal] = useState({\n dialogClassName: null,\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const resetFormAfterCreating = () => {\n reset();\n setImageSelected(null);\n setIsAvailable(true);\n setSideDishes([]);\n setSelectedSideDishes([]);\n setSelectedIngredients([]);\n setDietaryResetKey(new Date().getTime().toString());\n };\n\n const { dishes } = Dish;\n const { ingredients } = Ingredient;\n const { restaurant } = Restaurant;\n const { categories } = Category;\n const match = useRouteMatch(\"/update-dish/:id\");\n\n useEffect(() => {\n if (update) {\n /* Check dish ingredients */\n if (dish?.ingredients && Array.isArray(dish?.ingredients)) {\n let selected = [];\n dish?.ingredients?.forEach((ing) => ing && ing?.ingredient && selected.push(ing?.ingredient));\n setSelectedIngredients(selected);\n }\n\n if (dish?.image) {\n setImageSelected(dish?.image);\n }\n\n setEditorValue(dish?.description || \"\");\n\n /* Check customizations */\n if (dish?.customizations) {\n register({ name: \"customizations\", value: JSON.stringify(dish?.customizations) });\n if (dish?.customizations?.selected && Array.isArray(dish?.customizations?.selected)) {\n setSelectedCustomizations(dish?.customizations?.selected);\n } else {\n setSelectedCustomizations([]);\n }\n } else {\n register({ name: \"customizations\", value: JSON.stringify(DefaultCustomizationsData?.dish?.customizations()) });\n }\n\n /* Check dish isAvailable */\n setIsAvailable(dish?.isAvailable ? true : false);\n\n /* Check side dishes */\n setSelectedSideDishes(dish?.sideDishes ? dish?.sideDishes?.map((dish) => dish?._id) : []);\n } else {\n /* When creating dish set default customizations */\n register({ name: \"customizations\", value: JSON.stringify(DefaultCustomizationsData?.dish?.customizations()) });\n }\n //eslint-disable-next-line\n }, [dish]);\n\n useEffect(() => {\n Ingredient?.load();\n Dish.load();\n Category.load();\n Restaurant?.find();\n register({ name: \"sideDishes\", value: JSON.stringify(selectedSideDishes) });\n register({ name: \"customizations\", value: JSON.stringify(DefaultCustomizationsData?.dish?.customizations()) });\n register({ name: \"description\", value: \"\" });\n //eslint-disable-next-line\n }, []);\n\n const transformCategories = () => {\n if (categories?.length === 0) return [];\n return categories.map((cat) => ({ value: cat._id, label: cat.name }));\n };\n\n const transformCustomizations = (customizations) => {\n if (!customizations || !Array.isArray(customizations) || customizations?.length === 0) return [];\n return customizations?.map((customization) => {\n if ((customization?._id || customization?.name) && !customization?.value) {\n return { value: customization?._id, label: customization?.name };\n } else {\n return { value: customization?.value, label: customization?.label };\n }\n });\n };\n\n const addIngredient = () => {\n setModal({\n ...modal,\n title: \"Add missing ingredients\",\n visible: true,\n dialogClassName: null,\n Component: (\n handleMissingIngredients(data)}\n closeModal={() => setModal({ ...modal, visible: false })}\n IngredientRedux={Ingredient}\n />\n ),\n });\n };\n\n const addToSelect = (id) => {\n let temp = [...selectedSideDishes];\n temp?.includes(id) ? temp.splice(temp.indexOf(id), 1) : temp.push(id);\n setSelectedSideDishes(temp);\n };\n\n const getDishId = () => {\n if (update && match?.params?.id) return match?.params?.id;\n else if (dishID) return dishID;\n return null;\n };\n\n useEffect(() => {\n setValue(\"description\", editorValue);\n // eslint-disable-next-line\n }, [editorValue]);\n\n useEffect(() => {\n const values = getValues();\n const customizations = general.parseJSON(values?.customizations, DefaultCustomizationsData.dish.customizations());\n customizations.selected = selectedCustomizations?.map((selected) => (selected?._id ? selected?._id : selected?.value));\n setValue(\"customizations\", JSON.stringify(customizations));\n // eslint-disable-next-line\n }, [selectedCustomizations]);\n\n useEffect(() => {\n if (typeof dishes === \"object\") setSideDishes(dishes.filter((dish) => dish?._id?.toString() !== getDishId()));\n // eslint-disable-next-line\n }, [dishes]);\n\n useEffect(() => {\n setValue(\"sideDishes\", JSON.stringify(selectedSideDishes));\n // eslint-disable-next-line\n }, [selectedSideDishes]);\n\n const validateFile = (file) => {\n if (!imageSelected || typeof imageSelected === \"string\") {\n setFileError(null);\n return true;\n }\n\n if (file?.size > maxFileSize) {\n setFileError(`This file ${file?.name} is big. Maximum size for file is ${maxFileSizeErrorText}.`);\n return false;\n }\n\n try {\n const validExtensionsFile = File.allowed_extensions;\n for (let i = 0; i < validExtensionsFile.length; i++) {\n if (file?.name?.endsWith(validExtensionsFile[i])) {\n setFileError(null);\n return true;\n }\n }\n setFileError(\"File not allowed\");\n return false;\n } catch (err) {\n return false;\n }\n };\n\n const generateFormData = (data) => {\n let ingredients = [];\n\n if (selectedIngredients && selectedIngredients?.length > 0) {\n ingredients = selectedIngredients?.map((ingredient) => ({\n ingredient: ingredient?._id ? ingredient?._id : ingredient?.value,\n }));\n }\n\n data.isAvailable = isAvailable;\n if (categoryID) data[\"category\"] = categoryID;\n\n const formData = new FormData();\n Object.keys(data).forEach((key) => formData.append(key, data[key]));\n\n formData.append(\"image\", imageSelected);\n formData.append(\"ingredients\", JSON.stringify(ingredients));\n return formData;\n };\n\n const showGeneralModal = (data) => {\n setModal({\n ...modal,\n title: \"Confirm modal\",\n visible: true,\n confirmation: true,\n dialogClassName: null,\n Component: (\n \n

    You didn't select any ingredient(s).

    \n

    Do you want to save/create this dish anyway?

    \n \n }\n // \"You didn't select any ingredient(s).\"\n customButtonMessage=\"Continue anyway\"\n toastMessage={update ? \"Dish updated successfully\" : \"Dish created successfully\"}\n funk={async (id) => {\n const response = update ? await Dish.update(data, dish?._id) : await Dish.create(data);\n if (response?.confirmation === \"Success\") {\n setModal({ ...modal, visible: false });\n typeof closeModal === \"function\" && closeModal();\n resetFormAfterCreating();\n } else {\n setModal({ ...modal, visible: false });\n }\n return response;\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const showSameNameModal = (data, noIngredients) => {\n setModal({\n ...modal,\n title: \"Confirm modal\",\n visible: true,\n confirmation: true,\n dialogClassName: null,\n Component: (\n \n

    {`You already have an item named \"${data?.name}\"`}

    \n

    {`${noIngredients ? \"You also did not select any ingredient(s).\" : \"\"}`}

    \n

    Do you want to save/create this dish anyway?

    \n \n }\n customButtonMessage=\"Continue anyway\"\n toastMessage={update ? \"Dish updated successfully\" : \"Dish created successfully\"}\n funk={async (id) => {\n const response = update ? await Dish.update(data, dish?._id) : await Dish.create(data);\n if (response?.confirmation === \"Success\") {\n setModal({ ...modal, visible: false });\n typeof closeModal === \"function\" && closeModal();\n resetFormAfterCreating();\n } else {\n setModal({ ...modal, visible: false });\n }\n return response;\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const submit = async (data) => {\n if (!validateFile(imageSelected)) return false;\n\n if (data?.price) {\n const validatedPrice = general.validatePrice(data?.price);\n if (validatedPrice?.err) {\n setPriceError(validatedPrice?.message);\n document?.querySelector(\".modal\")?.scrollTo({ top: 0 });\n document?.querySelector(\".panel-wrapper\")?.scrollTo({ top: 0 });\n return false;\n }\n data.price = validatedPrice.price;\n setPriceError(null);\n }\n\n // TEMP\n if (dishes.find((dish) => dish.name === data.name) && !update) {\n const noIngredients = !selectedIngredients || selectedIngredients?.length === 0;\n return showSameNameModal(data, noIngredients);\n }\n\n data = generateFormData(data);\n\n if (!selectedIngredients || selectedIngredients?.length === 0) {\n return showGeneralModal(data);\n }\n\n setLoading(true);\n\n const response = update ? await Dish.update(data, dish?._id) : await Dish.create(data, categoryID);\n if (response?.confirmation === \"Fail\") {\n setError(response?.message);\n setLoading(false);\n } else {\n setError(null);\n toast(update ? \"Dish updated successfully\" : \"Dish created successfully\");\n setLoading(false);\n typeof closeModal === \"function\" && closeModal();\n resetFormAfterCreating();\n }\n };\n\n const handleMissingIngredients = (ingredients) => {\n const missedIngredients = [];\n if (ingredients && Array.isArray(ingredients) && ingredients?.length > 0) {\n ingredients?.forEach((ingredient) => {\n if (ingredient?._id && ingredient?.name) {\n missedIngredients.push(ingredient);\n }\n });\n }\n if (missedIngredients?.length > 0) {\n setSelectedIngredients([...selectedIngredients, ...missedIngredients]);\n }\n };\n\n const handleCategorySideDishes = (data) => {\n if (!data) data = [];\n\n if (data.length < categorySideDishes.length) {\n const dataValues = data.map((d) => d.value);\n const categorySideDishesValues = categorySideDishes.map((cat) => cat.value);\n const diff = general.arr_diff(dataValues, categorySideDishesValues);\n let dishesToRemove = extractDishIDsFromCategory(diff);\n let copy = [...selectedSideDishes];\n copy = copy.filter((dish) => !dishesToRemove.includes(dish));\n setSelectedSideDishes(copy);\n } else {\n setCategorySideDishes(data || []);\n let categoryDishes = [];\n if (categories && categories.length !== 0 && data && data.length !== 0) {\n data.forEach((d) => {\n categories.forEach((cat) => {\n if (d.value === cat._id) {\n let dishes = [...cat.dishes];\n let ids = dishes.map((dish) => dish._id);\n categoryDishes.push(...ids);\n }\n });\n });\n }\n\n categoryDishes = [...categoryDishes, ...selectedSideDishes];\n categoryDishes = categoryDishes.filter((value, index, self) => self.indexOf(value) === index);\n setSelectedSideDishes(categoryDishes);\n checkIfDishesMatchAnyCategory();\n }\n setCategoryUpdate(true);\n };\n\n useEffect(() => {\n // Syncronize selectedSideDishes and categorySideDishes\n if (copyCategorySideDishes.length > categorySideDishes.length) {\n const ccsd = copyCategorySideDishes.map((c) => c.value);\n const csd = categorySideDishes.map((c) => c.value);\n const diff = general.arr_diff(ccsd, csd);\n let catToRemove = categories.filter((cat) => {\n return cat._id === diff[0];\n });\n catToRemove = catToRemove.map((cat) => cat._id);\n if (catToRemove && categoryUpdate) {\n let dishesToRemove = extractDishIDsFromCategory(catToRemove);\n let copy = [...selectedSideDishes];\n copy = copy.filter((dish) => !dishesToRemove.includes(dish));\n setSelectedSideDishes(copy);\n }\n }\n setCopyCategorySideDishes(categorySideDishes);\n //eslint-disable-next-line\n }, [selectedSideDishes, categorySideDishes]);\n\n useEffect(() => {\n checkIfDishesMatchAnyCategory();\n setCategoryUpdate(false);\n //eslint-disable-next-line\n }, [selectedSideDishes]);\n\n const checkIfDishesMatchAnyCategory = () => {\n const newCategories = [];\n categories.forEach((category) => {\n let all = category.dishes.every((dish) => selectedSideDishes.includes(dish._id));\n if (all && selectedSideDishes.length !== 0 && category?.dishes?.length !== 0) {\n newCategories.push({ value: category._id, label: category.name });\n }\n });\n\n setCategorySideDishes(newCategories);\n };\n\n const extractDishIDsFromCategory = (catIDs) => {\n if (!catIDs) return;\n\n const cats = categories.filter((cat) => catIDs.includes(cat._id));\n let dishes = cats.map((cat) => cat?.dishes);\n dishes = [].concat.apply([], dishes);\n const dishIDs = dishes.map((dish) => dish._id);\n return dishIDs.filter((value, index, self) => self.indexOf(value) === index);\n };\n\n const parseCustomizations = (customizations) => {\n try {\n return JSON.parse(customizations);\n } catch (err) {\n return [];\n }\n };\n\n const getCustomCustomizations = () => {\n try {\n const values = getValues();\n const customizations = parseCustomizations(values?.customizations);\n return customizations?.custom;\n } catch (err) {\n return [];\n }\n };\n\n const showCustomizationModal = () => {\n const values = getValues();\n const customizations = parseCustomizations(values?.customizations);\n setModal({\n ...modal,\n dialogClassName: styles?.customModalStyle,\n title: \"Customization Options\",\n visible: true,\n size: \"lg\",\n Component: (\n \n ),\n });\n };\n\n const onImageRemove = () => {\n setImageSelected(null);\n };\n\n return (\n
    \n \n
    \n \n Dish name\n \n {(errors?.name?.message || error) && {errors?.name?.message || error}}\n \n \n Dish description\n \n {errors?.description?.message && {errors?.description?.message}}\n \n\n \n \n Dish Calories\n \n {errors?.calories?.message && {errors?.calories?.message}}\n \n \n Dish Price\n \n {priceError && {priceError}}\n \n \n Alcohol Percentage\n \n {errors?.alcoholPercentage?.message && (\n {errors?.alcoholPercentage?.message}\n )}\n \n \n\n \n\n \n Select menu-wide customizations\n setSelectedCustomizations(data)}\n />\n \n\n \n Add dish specific customizations\n \n \n\n {sideDishes && sideDishes?.length > 0 && (\n \n
    \n Add Upsells by Category ({restaurant?.sideDishesLabel || \"Side Dishes\"})\n \n \n \n
    \n handleCategorySideDishes(data)}\n />\n Add Individual Upsells ({restaurant?.sideDishesLabel || \"Side Dishes\"})\n \n
    \n )}\n \n \n \n \n Dish Image\n setImageSelected(img)}\n onImageRemove={onImageRemove}\n />\n {fileError && {fileError}}\n \n \n Dish Available\n {\n setIsAvailable(e.target.checked);\n }}\n />\n \n {Object.keys(errors).length > 0 || loading ? true : false}\n \n \n {typeof closeModal === \"function\" && (\n \n )}\n \n \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({\n Dish: state?.Dish,\n Ingredient: state?.Ingredient,\n Auth: state?.Auth,\n Restaurant: state?.Restaurant,\n Category: state?.Category,\n Admin: state?.Admin,\n});\nexport default connect(mapStateToProps)(DishForm);\n","import DishForm from \"./DishForm\"\nexport default DishForm","import React, { useEffect, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button } from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport registerStyle from \"../../../Views/Register/Register.module.scss\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { useHistory } from \"react-router-dom\";\nimport ModalFooter from \"../../Modal/ModalFooter\";\nimport SelectDishes from \"../../SelectDishes\";\nimport { toast } from \"react-toastify\";\nimport Modal from \"../../Modal\";\nimport GeneralModal from \"../../../components/Modal/General\";\n\nfunction CreateCategory({ Category, Dish, update, closeModal, categoryID, menuSelected }) {\n const [loading, setLoading] = useState(false);\n const [selectedDishes, setSelectedDishes] = useState([]);\n const [error, setError] = useState(null);\n const [checked, setChecked] = useState(true);\n const [category, setCategory] = useState({});\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const match = useRouteMatch(\"/update-category/:id\");\n const { dishes } = Dish;\n const history = useHistory();\n const { register, handleSubmit, errors, reset } = useForm();\n\n const getCategoryId = () => {\n if (match?.params?.id) return match?.params?.id;\n else if (categoryID) return categoryID;\n return null;\n };\n\n const addToSelect = (id) => {\n let temp = [...selectedDishes];\n temp?.includes(id) ? temp.splice(temp.indexOf(id), 1) : temp.push(id);\n setSelectedDishes(temp);\n };\n\n useEffect(() => {\n Dish.load();\n async function getData() {\n if (update) {\n const id = getCategoryId();\n if (!id) return history.push(\"/\");\n const response = await Category.findById(id);\n if (response?.confirmation === \"Success\") {\n setCategory(response?.message);\n update && setChecked(response?.message?.isAvailable);\n if (response?.message?.dishes) setSelectedDishes(response?.message?.dishes?.map((dish) => dish?._id));\n } else if (response?.confirmation === \"Fail\") return history.push(\"/\");\n }\n }\n getData();\n //eslint-disable-next-line\n }, []);\n\n const resetFormAfterCreating = () => {\n reset();\n setSelectedDishes([]);\n setChecked(true);\n setCategory({});\n };\n\n const showGeneralModal = (submitFunc) => {\n setModal({\n ...modal,\n title: \"Confirm modal\",\n visible: true,\n confirmation: true,\n Component: (\n {\n const response = await submitFunc();\n typeof closeModal === \"function\" && closeModal();\n return response;\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const submit = async (data) => {\n data.isAvailable = checked;\n data.dishes = selectedDishes;\n\n data.menu = menuSelected?._id ? menuSelected?._id : null;\n\n if (data?.dishes?.length === 0) {\n return showGeneralModal(async () => {\n const response = update ? await Category.update(getCategoryId(), data) : await Category.create(data, data.menu);\n setModal({ ...modal, visible: false });\n return response;\n });\n }\n\n setLoading(true);\n const response = update ? await Category.update(getCategoryId(), data) : await Category.create(data, data.menu);\n\n if (response?.confirmation === \"Fail\") {\n setError(response?.message);\n setLoading(false);\n return;\n }\n\n resetFormAfterCreating();\n setError(null);\n setLoading(false);\n\n update ? toast(\"Category updated successfully\") : toast(\"Category created successfully\");\n typeof closeModal === \"function\" && closeModal();\n };\n\n return (\n
    \n \n
    \n \n Category name\n \n {(errors?.name?.message || error) && {errors?.name?.message || error}}\n \n {dishes && dishes?.length > 0 && (\n \n Dishes\n \n \n )}\n \n Category Available\n setChecked(event.target.checked)}\n inputProps={{ \"aria-label\": \"primary checkbox\" }}\n />\n \n \n {update ? (\n \n ) : (\n \n )}\n {typeof closeModal === \"function\" && (\n \n )}\n \n
    \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({ Category: state.Category, Dish: state.Dish });\nexport default connect(mapStateToProps)(CreateCategory);\n","import CategoryForm from \"./CategoryForm\"\nexport default CategoryForm","import React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport ModalFooter from \"../../Modal/ModalFooter\";\nimport SelectDishes from \"../../SelectDishes\";\n\nfunction AddDishToCategory({ Menu, Category, Dish, categoryID, closeModal, category }) {\n const [selectedDishes, setSelectedDishes] = useState([]);\n const [loading, setLoading] = useState(false);\n const { dishes } = Dish;\n\n const addToSelect = (id) => {\n let temp = [...selectedDishes];\n temp?.includes(id) ? temp.splice(temp.indexOf(id), 1) : temp.push(id);\n setSelectedDishes(temp);\n };\n\n const submit = async () => {\n setLoading(true);\n await Category.addDishes(categoryID, selectedDishes);\n closeModal();\n setLoading(false);\n };\n\n useEffect(() => {\n Dish.load();\n if (typeof category === \"object\" && category?.dishes) setSelectedDishes(category?.dishes?.map((dish) => dish?._id));\n //eslint-disable-next-line\n }, []);\n\n return (\n
    \n
    Select dishes
    \n \n \n \n {typeof closeModal === \"function\" && (\n \n )}\n \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({ Menu: state.Menu, Category: state.Category, Dish: state.Dish });\nexport default connect(mapStateToProps)(AddDishToCategory);\n","import React, { useRef } from \"react\";\nimport { Swiper, SwiperSlide } from \"swiper/react\";\nimport { Button } from \"react-bootstrap\";\nimport \"swiper/swiper.scss\";\nimport { useSelector } from \"react-redux\";\nimport { Tooltip as MaterialUiTooltip } from \"@material-ui/core\";\nimport { toast } from \"react-toastify\";\n\nexport default function MenuNames({ onClick, excludeAddNewMenu, tour, tooltip, title = \"Menus\" }) {\n const addMenuBtn = useRef(null);\n const Menu = useSelector((state) => state?.Menu);\n const { menus } = Menu;\n\n const clone = async (menu) => {\n const categories = menu?.categories?.map((category) => ({\n category: category?.category?._id,\n valid: category?.valid,\n }));\n\n const tempMenu = {\n ...menu,\n name: menu?.name + \" (copy)\",\n categories: JSON.stringify(categories),\n showCTA: JSON.stringify(menu?.showCTA),\n fonts: JSON.stringify(menu?.fonts),\n colors: JSON.stringify(menu?.colors),\n draft: true,\n };\n\n const response = await Menu.create(tempMenu);\n\n if (response?.confirmation === \"Fail\") {\n if (response?.statusCode === 412) {\n // if it fails because of duplicate name, add one more \"(copy)\" and try again\n menu.name = menu?.name + \" (copy)\";\n clone(menu);\n } else {\n toast(\"Menu can not be created\");\n }\n return;\n } else {\n toast(\"Menu created successfully\");\n await Menu.load({ forceRender: true });\n }\n };\n\n return (\n <>\n
    \n {menus && menus.length !== 0 && menus.filter((menu) => !menu?.fromParent).some((menu) => !menu?.draft) && (\n <>\n

    Published {title}

    \n \n {menus.map((menu) => {\n return !menu?.draft && !menu?.fromParent ? (\n \n
    \n \n {\n if (menu?._id === Menu?.selected?._id) {\n onClick({});\n } else {\n onClick(menu);\n }\n }}\n >\n {menu?.name}\n \n \n \n clone(menu)} />\n \n
    \n \n ) : null;\n })}\n
    \n \n )}\n
    \n
    \n

    Unpublished {title}

    \n \n {menus && menus.length !== 0 && (\n <>\n {menus.map((menu) => {\n return menu?.draft || menu?.fromParent ? (\n \n
    \n \n {\n if (menu?._id === Menu?.selected?._id) {\n onClick({});\n } else {\n onClick(menu);\n }\n }}\n >\n {menu?.name}\n \n \n \n clone(menu)} />\n \n
    \n \n ) : null;\n })}\n \n )}\n\n {!excludeAddNewMenu && (\n \n \n {\n onClick({}, { addNew: true });\n //TODO: use ref to focus on the input\n let input = document.querySelector(\"input\");\n input && input.focus();\n }}\n >\n \n \n \n \n )}\n
    \n
    \n \n );\n}\n","import React from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport ColorInput from \"./ColorInput\";\n\nexport default function Colors({ meta, colors, setColors, onChange }) {\n const { register } = useForm();\n\n const handleData = (name, value) => {\n let temp = { ...colors };\n temp[name] = value;\n setColors(temp);\n onChange();\n };\n\n return (\n
    \n {meta?.colors?.primary?.enabled && (\n \n )}\n {meta?.colors?.secondary?.enabled && (\n \n )}\n {meta?.colors?.tertiary?.enabled && (\n \n )}\n
    \n );\n}\n","import React from \"react\";\nimport Select from \"react-draggable-multi-select\";\n\nfunction getSelectStyles(selectedFont) {\n return {\n container: (styles) => ({ ...styles }),\n control: (styles) => ({\n ...styles,\n height: 40,\n textAlign: \"left\",\n \"& > div:first-of-type\": { minHeight: 40 },\n }),\n placeholder: (styles) => ({ ...styles }),\n singleValue: (styles) => ({\n ...styles,\n fontFamily: selectedFont?.value,\n }),\n input: (styles) => ({\n ...styles,\n boxShadow: \"none\",\n position: \"absolute\",\n \"& input\": { height: 40, boxShadow: \"none\" },\n }),\n option: (provided, state) => ({\n ...provided,\n backgroundColor: \"transparent\",\n cursor: \"pointer\",\n fontWeight: state.isSelected ? \"600\" : \"400\",\n color: \"inherit\",\n \"&:not(:last-child)\": { borderBottom: \"solid 1px #efefef\" },\n \"&:focus, &:active\": {\n backgroundColor: \"transparent\",\n },\n }),\n };\n}\n\nconst SingleListItem = (props) => {\n const { children, innerProps, options } = props;\n return (\n \n {children}\n \n );\n};\n\nexport default function SelectFontList({ isMulti, options, onChange, value }) {\n return (\n \n );\n}\n","import SelectFontList from \"./SelectFontList\";\nexport default SelectFontList;\n","import React from \"react\";\nimport styles from \"../Templates/Templates.module.scss\";\nimport placeholderFood from \"../../assets/img/placeholder_food.png\";\n\nconst requestImageFile = require.context(\"../../Templates/\", true, /.jpg$/);\n\nexport default function SelectItem({ data, handleClick, selected }) {\n return (\n
    \n {typeof data === \"object\" &&\n data?.length > 0 &&\n data?.map((elem, index) => {\n let imgPath = placeholderFood;\n if (elem && elem.template && elem.image) {\n imgPath = requestImageFile(`./${elem.template}/${elem.image}`).default;\n }\n let isSelected = elem?.template === selected;\n return (\n handleClick(elem?.template)}\n className={styles.swiperSlide}\n style={{\n marginRight: \"10px\",\n opacity: isSelected ? 1 : 0.6,\n filter: isSelected ? \"grayscale(0%)\" : \"grayscale(100%)\",\n }}\n >\n \n \"\"\n
    \n

    {elem?.template}

    \n
    \n
    \n \n );\n })}\n \n );\n}\n","import SelectItem from \"./SelectItem\"\nexport default SelectItem","import React, { useState, useEffect } from \"react\";\nimport { Form } from \"react-bootstrap\";\nimport TagsInput from \"react-tagsinput\";\nimport \"react-tagsinput/react-tagsinput.css\";\n\nexport default function MenuCTA({ user, menuCTA, setMenuCTA, onChange, disabled }) {\n const [emailsTags, setEmailsTags] = useState(Array.isArray(menuCTA?.emails) ? menuCTA?.emails : []);\n\n useEffect(() => {\n if (emailsTags && Array.isArray(emailsTags)) {\n const tempMenuCta = { ...menuCTA };\n tempMenuCta.emails = emailsTags;\n setMenuCTA(tempMenuCta);\n }\n //eslint-disable-next-line\n }, [emailsTags]);\n\n useEffect(() => {\n if (menuCTA?.emails && Array.isArray(menuCTA?.emails)) {\n if (menuCTA?.emails?.length > 0) {\n setEmailsTags(menuCTA?.emails);\n } else {\n setEmailsTags([user?.email]);\n }\n }\n //eslint-disable-next-line\n }, [menuCTA]);\n\n return (\n
    \n \n Emails to receive issue reports\n {\n if (emailsTags?.length >= 1) {\n setEmailsTags(tags);\n onChange();\n }\n }}\n />\n {!disabled && (\n Add multiple emails by hitting Tab, Enter, or Return after each email.\n )}\n
    \n
    \n
    \n );\n}\n","import React from \"react\";\nimport styles from \"./Alerts.module.scss\";\nimport LoadingSpinner from \"../LoadingSpinner\";\n\nexport default function Warning({ title, actionButton, actionButtonTitle, tour, loadingActionButton }) {\n return (\n
    \n
    \n
    \n \n
    \n
    \n

    {title}

    \n
    \n
    \n\n
    \n {actionButton && (\n \n )}\n
    \n
    \n );\n}\n","import React from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport { useHistory } from \"react-router-dom\";\nimport ModalFooter from \"./ModalFooter\";\n\nimport CONSTANTS from \"../../utils/constants\";\n\nconst { USER } = CONSTANTS;\nconst { ROLES } = USER;\n\nexport default function SubscribeRequireModal({ Auth, closeModal, customMessage }) {\n const history = useHistory();\n\n const subscribe = function () {\n if (Auth?.user?.role === ROLES.DMA_CLIENT) {\n window.location.href = `mailto:${Auth?.user?.dma_parent_email}`;\n } else {\n history.push(\"/subscribe\");\n }\n };\n return (\n
    \n
    \n {customMessage &&

    {customMessage}

    }\n {Auth?.user?.role === ROLES.DMA_CLIENT ? (\n

    \n It looks like your account subscription isn’t set up just yet. Please contact your{\" \"}\n account manager.\n

    \n ) : (\n

    In order to publish this menu, you have to subscribe to Foodi menus.

    \n )}\n
    \n \n {typeof closeModal === \"function\" && (\n \n )}\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button } from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport registerStyle from \"../../../Views/Register/Register.module.scss\";\nimport { useHistory } from \"react-router-dom\";\nimport Colors from \"../../Colors/Colors\";\nimport ImageInput from \"../../ImageInput\";\nimport SelectList from \"../../SelectList\";\nimport SelectFontList from \"../../SelectFontList\";\nimport MenuNames from \"./MenuNames\";\nimport SelectItem from \"../../SelectItem\";\nimport styles from \"./MenuForm.module.scss\";\nimport { toast } from \"react-toastify\";\nimport Section from \"../../Section\";\nimport MenuCTA from \"./MenuCTA\";\nimport general from \"../../../helpers/general\";\nimport WarningAlert from \"../../../components/Alerts/Warning\";\nimport Modal from \"../../../components/Modal\";\nimport SubscribeRequireModal from \"../../Modal/SubscribeRequiredModal\";\nimport constants from \"../../../constants\";\nimport TextEditor from \"../../TextEditor\";\nimport File from \"../../../utils/file\";\nimport DeleteConfirmation from \"../DeleteConfirmation\";\n\nconst templates = constants.templates;\n\nfunction MenuForm({ Auth, Menu, Category, Restaurant, update, fromDashboard, closeModal, fixedActions = true }) {\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const [description, setDescription] = useState(\"\");\n\n const showSubscribeRequired = async () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Subscribe required\",\n Component: setModal({ ...modal, visible: false })} />,\n });\n };\n\n const defaultMenuCTA = {\n title: process.env.REACT_APP_MENU_CTA_DEFAULT_TITLE,\n content: process.env.REACT_APP_MENU_CTA_DEFAULT_CONTENT,\n emails: [Auth?.user?.email],\n };\n\n const history = useHistory();\n\n const maxFileSize = parseInt(process.env.REACT_APP_MAX_FILE_SIZE);\n const maxFileSizeErrorText = process.env.REACT_APP_MAX_FILE_SIZE_ERROR;\n\n const [error, setError] = useState(null);\n const [selectCategories, setSelectedCategories] = useState([]);\n const [singleMenu, setSingleMenu] = useState({});\n const [fileError, setFileError] = useState(null);\n const [coverImage, setCoverImage] = useState(null);\n const [logoImage, setLogoImage] = useState(null);\n const [colors, setColors] = useState({\n primary: \"#ff1616\",\n secondary: \"#83cdf1\",\n tertiary: \"#f46d26\",\n });\n\n const [displayDietary, setDisplayDietary] = useState(true);\n const [displayIngredients, setDisplayIngredients] = useState(true);\n const [displaySideDishes, setDisplaySideDishes] = useState(true);\n const [templateSelected, setTemplateSelected] = useState(\"\");\n const [selectedFonts, setSelectedFonts] = useState({\n primary: \"\",\n secondary: \"\",\n tertiary: \"\",\n });\n const [googleFonts, setGoogleFonts] = useState([]);\n const [deleteLoading, setDeleteLoading] = useState(false);\n //eslint-disable-next-line\n const [saveLoading, setSaveLoading] = useState(false);\n const [publishLoading, setPublishLoading] = useState(false);\n const [menuCTA, setMenuCTA] = useState({});\n\n /* This we will use to display name on menuNames */\n const [menuSelected, setMenuSelected] = useState({});\n const [selectedMeta, setSelectedMeta] = useState({});\n\n const { register, handleSubmit, errors, setValue, clearErrors } = useForm();\n const { menus } = Menu;\n const { categories } = Category;\n\n const [menuNotSaved, setMenuNotSaved] = useState(false);\n const [imageInputKey, setImageInputKey] = useState(new Date().getTime().toString());\n\n const loadGoogleFonts = async () => {\n const response = await fetch(\n \"https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity&key=AIzaSyA8F0vStR1zTh9MwYnHkop4rd8NacHtV8I\"\n );\n const resp = await response.json();\n let fonts = resp?.items;\n fonts.length = 50;\n setGoogleFonts(fonts);\n };\n\n const transformFonts = (googleFonts) => {\n if (googleFonts?.length === 0) return [];\n return googleFonts.map((font) => ({\n value: font?.family,\n label: font?.family,\n }));\n };\n\n useEffect(() => {\n const localStorageMenu = Menu.getMenuFromSessionStorage();\n if (localStorageMenu?._id) {\n loadSingleMenu(localStorageMenu?._id);\n }\n\n register({ name: \"description\", value: description });\n register({ name: \"categories\", value: JSON.stringify([]) });\n register({ name: \"fonts\" });\n register({ name: \"selectedTemplate\" });\n register({ name: \"showCTA\", value: JSON.stringify(menuCTA) });\n register({ name: \"displayIngredients\", value: displayIngredients });\n register({ name: \"displayDietary\", value: displayDietary });\n register({ name: \"displaySideDishes\", value: displaySideDishes });\n\n Menu.load();\n Category.load();\n\n loadGoogleFonts();\n // eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (Menu?.selected?._id) {\n if (Menu?.selected?._id?.toString() !== menuSelected?._id?.toString()) {\n setMenuSelected(Menu?.selected);\n return;\n }\n }\n\n //eslint-disable-next-line\n }, [Menu?.selected]);\n\n useEffect(() => {\n setTemplateSelected(Menu?.selected?.selectedTemplate);\n }, [Menu]);\n\n useEffect(() => {\n if (singleMenu?._id?.toString() !== menuSelected?._id?.toString()) {\n setSingleMenu(menuSelected);\n }\n //eslint-disable-next-line\n }, [menuSelected]);\n\n // useEffect(() => )\n\n useEffect(() => {\n setValue(\"description\", description);\n //eslint-disable-next-line\n }, [description]);\n\n useEffect(() => {\n setValue(\"showCTA\", JSON.stringify(menuCTA));\n //eslint-disable-next-line\n }, [menuCTA]);\n\n useEffect(() => {\n let tempFonts = {\n primary: selectedFonts.primary.value,\n secondary: selectedFonts.secondary.value,\n tertiary: selectedFonts.tertiary.value,\n };\n setValue(\"fonts\", JSON.stringify(tempFonts));\n // eslint-disable-next-line\n }, [selectedFonts]);\n\n useEffect(() => {\n setValue(\"categories\", selectCategories);\n //eslint-disable-next-line\n }, [selectCategories]);\n\n useEffect(() => {\n setValue(\"colors\", JSON.stringify(colors));\n //eslint-disable-next-line\n }, [colors]);\n\n useEffect(() => {\n setValue(\"selectedTemplate\", templateSelected);\n //eslint-disable-next-line\n }, [templateSelected]);\n\n useEffect(() => {\n setValue(\"displayIngredients\", displayIngredients);\n //eslint-disable-next-line\n }, [displayIngredients]);\n\n useEffect(() => {\n setValue(\"displayDietary\", displayDietary);\n //eslint-disable-next-line\n }, [displayDietary]);\n\n useEffect(() => {\n setValue(\"displaySideDishes\", displaySideDishes);\n //eslint-disable-next-line\n }, [displaySideDishes]);\n\n useEffect(() => {\n singleMenu?.categories\n ? setSelectedCategories(\n singleMenu?.categories?.map((schema) => ({\n value: schema?.category?._id,\n label: schema?.category?.name,\n valid: schema?.valid,\n }))\n )\n : setSelectedCategories([]);\n\n singleMenu?.cover ? setCoverImage(singleMenu?.cover) : setCoverImage(null);\n singleMenu?.logo ? setLogoImage(singleMenu?.logo) : setLogoImage(null);\n singleMenu?.colors ? setColors(singleMenu?.colors) : setColors({});\n\n setDisplayDietary(singleMenu?.displayDietary === undefined ? true : singleMenu?.displayDietary);\n setDisplayIngredients(singleMenu?.displayIngredients === undefined ? true : singleMenu?.displayIngredients);\n setDisplaySideDishes(singleMenu?.displaySideDishes === undefined ? true : singleMenu?.displaySideDishes);\n\n setValue(\"name\", singleMenu?.name);\n setDescription(singleMenu?.description || \"\");\n // setValue(\"description\", singleMenu?.description);\n setValue(\"content\", singleMenu?.showCTA ? singleMenu?.showCTA?.content : defaultMenuCTA?.content);\n\n singleMenu?.showCTA ? setMenuCTA(singleMenu?.showCTA) : setMenuCTA(defaultMenuCTA);\n\n if (singleMenu) {\n const primary = singleMenu?.fonts?.primary;\n const secondary = singleMenu?.fonts?.secondary;\n const tertiary = singleMenu?.fonts?.tertiary;\n setSelectedFonts({\n primary: { label: primary, value: primary },\n secondary: { label: secondary, value: secondary },\n tertiary: { label: tertiary, value: tertiary },\n });\n } else setSelectedFonts({ primary: \"\", secondary: \"\", tertiary: \"\" });\n //eslint-disable-next-line\n }, [singleMenu]);\n\n // useEffect(() => {\n // if (templates && templates[0] && templates[0]?.template) {\n // setTemplateSelected(templates[0].template);\n // }\n // }, [templates]);\n\n useEffect(() => {\n if (templates && templateSelected) {\n let index = templates.findIndex((tmp) => tmp.template === templateSelected);\n setSelectedMeta(templates[index]?.template_meta);\n }\n //eslint-disable-next-line\n }, [templates, templateSelected]);\n\n const transformCategories = (categories) => {\n if (categories?.length === 0) return [];\n let selectOptions = categories.map((category) => ({\n value: category?._id,\n label: category?.name,\n }));\n return selectOptions;\n };\n\n const startLoading = (params) => {\n if (params.publish || params.unPublish) setPublishLoading(true);\n else setSaveLoading(true);\n };\n\n const stopLoading = (params) => {\n if (params.publish || params.unPublish) setPublishLoading(false);\n else setSaveLoading(false);\n };\n\n const validateFile = (file, field) => {\n if (!file || typeof file === \"string\") {\n setFileError(null);\n return true;\n }\n\n if (file?.size > maxFileSize) {\n setFileError({ field, message: `This file ${file?.name} is big. Maximum size for file is ${maxFileSizeErrorText}.` });\n return false;\n }\n\n try {\n const allowed_extensions = File.allowed_extensions;\n for (let i = 0; i < allowed_extensions.length; i++) {\n if (file?.name?.endsWith(allowed_extensions[i])) {\n setFileError(null);\n return true;\n }\n }\n setFileError({ field, message: \"File not allowed\" });\n return false;\n } catch (err) {\n return false;\n }\n };\n\n const loadSingleMenu = async (id) => {\n const response = await Menu.findSingle(id);\n if (response?.confirmation === \"Success\") {\n setMenuSelected(response?.message);\n setSingleMenu(response?.message);\n }\n };\n\n const showDeletePrompt = async () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Delete Menu\",\n Component: (\n {\n await Menu.delete(singleMenu?._id);\n setDeleteLoading(false);\n toast(\"Menu deleted successfully\");\n if (typeof closeModal === \"function\") {\n closeModal();\n return;\n }\n history.push(\"/\");\n }}\n closeModal={() => {\n setModal({ ...modal, visible: false });\n setDeleteLoading(false);\n }}\n />\n ),\n });\n };\n\n const submit = async (data, params = {}) => {\n if (params.publish) {\n data.draft = false;\n }\n if (params.unPublish) data.draft = true;\n\n const tempMenuCTA = { ...menuCTA, content: data?.content };\n\n setMenuNotSaved(false);\n\n if (params.delete) {\n setDeleteLoading(true);\n showDeletePrompt();\n return;\n }\n\n startLoading(params);\n\n let menuCategories =\n selectCategories?.length > 0 ? selectCategories.map((category) => ({ category: category?.value, valid: category?.valid })) : [];\n data = {\n ...data,\n categories: JSON.stringify(menuCategories),\n colors: JSON.stringify(colors),\n ...{ showCTA: JSON.stringify(tempMenuCTA) },\n };\n\n if (!validateFile(coverImage, \"cover\")) {\n stopLoading(params);\n return false;\n }\n\n if (!validateFile(logoImage, \"logo\")) {\n stopLoading(params);\n return false;\n }\n\n // fallback on first template if not selected\n if (data.selectedTemplate === \"\") {\n if (templates && templates[0] && templates[0]?.template) {\n data.selectedTemplate = templates[0].template;\n }\n }\n\n const formData = new FormData();\n Object.keys(data).forEach((key) => formData.append(key, data[key]));\n\n formData.append(\"cover\", coverImage);\n formData.append(\"logo\", logoImage);\n\n const response = singleMenu?._id ? await Menu.update(singleMenu?._id, formData) : await Menu.create(formData);\n\n if (response?.confirmation === \"Fail\") {\n stopLoading(params);\n if (response?.message === \"Payment not setup!\") {\n showSubscribeRequired();\n return;\n }\n if (!general.checkPermissionDeniedResponse(response)) setError(response?.message);\n } else {\n stopLoading(params);\n setError(null);\n toast(singleMenu?._id ? \"Menu updated successfully\" : params?.publish ? \"Menu published successfully\" : \"Menu saved successfully\");\n typeof closeModal === \"function\" && closeModal();\n setSingleMenu(response?.message);\n }\n };\n\n const notifyInputChanged = () => {\n if (!menuNotSaved) {\n setMenuNotSaved(true);\n }\n };\n\n const onCoverRemove = () => {\n setCoverImage(null);\n setImageInputKey(new Date().getTime().toString());\n };\n const onLogoRemove = () => {\n setLogoImage(null);\n setImageInputKey(new Date().getTime().toString());\n };\n\n return (\n
    \n \n {singleMenu?.draft && }\n {menuNotSaved && }\n {singleMenu.fromParent && (\n \n )}\n {!fromDashboard && (\n {\n setImageInputKey(new Date().getTime().toString());\n if (obj?.addNew) {\n setError(null);\n clearErrors();\n setMenuSelected({});\n setSingleMenu({});\n localStorage.removeItem(\"menuSelected\");\n Menu?.setMenuSelectedLocally({});\n } else {\n setError(null);\n clearErrors();\n setSingleMenu(menu);\n setMenuSelected(menu);\n\n localStorage.setItem(\"menuSelected\", JSON.stringify(menu));\n Menu?.setMenuSelectedLocally(menu);\n }\n }}\n menuSelected={Menu?.selected}\n menus={menus}\n />\n )}\n
    \n
    \n \n Menu name\n \n {(errors?.name?.message || error) && (\n {errors?.name?.message || error}\n )}\n \n \n Menu description\n \n \n \n Menu Categories\n {\n notifyInputChanged();\n setSelectedCategories(data);\n }}\n />\n \n\n \n notifyInputChanged()}\n />\n \n \n Menu Logo\n {\n setLogoImage(img);\n notifyInputChanged();\n }}\n onImageRemove={onLogoRemove}\n />\n {fileError?.field === \"logo\" && fileError?.message !== \"\" && (\n {fileError?.message}\n )}\n \n \n Menu Cover\n {\n setCoverImage(img);\n notifyInputChanged();\n }}\n onImageRemove={onCoverRemove}\n />\n {fileError?.field === \"cover\" && fileError?.message !== \"\" && (\n {fileError?.message}\n )}\n \n \n Templates\n {\n setTemplateSelected(template === templateSelected ? \"\" : template);\n notifyInputChanged();\n }}\n data={templates}\n />\n \n\n
    \n \n notifyInputChanged()} meta={selectedMeta} colors={colors} setColors={setColors} />\n
    \n {selectedMeta?.fonts?.primary?.enabled && (\n \n Primary Font\n {\n setSelectedFonts({\n ...selectedFonts,\n primary: font,\n });\n notifyInputChanged();\n }}\n />\n {selectedMeta?.fonts?.primary?.description}\n \n )}\n {selectedMeta?.fonts?.secondary?.enabled && (\n \n Secondary Font\n {\n setSelectedFonts({\n ...selectedFonts,\n secondary: font,\n });\n notifyInputChanged();\n }}\n />\n {selectedMeta?.fonts?.secondary?.description}\n \n )}\n {selectedMeta?.fonts?.tertiary?.enabled && (\n \n Tertiary Font\n {\n setSelectedFonts({\n ...selectedFonts,\n tertiary: font,\n });\n notifyInputChanged();\n }}\n />\n {selectedMeta?.fonts?.tertiary?.description}\n \n )}\n
    \n
    \n
    \n {!singleMenu?.fromParent && (\n
    \n {singleMenu?._id ? (\n
    \n {singleMenu?.draft ? (\n <>\n 0 ? true : false}\n onClick={handleSubmit((data) => submit(data, { publish: true }))}\n >\n {publishLoading ? : \"Publish\"}\n \n \n ) : (\n 0 ? true : false}\n onClick={handleSubmit((data) => submit(data, { unPublish: true }))}\n >\n {publishLoading ? : \"UnPublish\"}\n \n )}\n\n \n\n 0 ? true : false}\n onClick={handleSubmit((data) => submit(data, { delete: true }))}\n >\n {deleteLoading ? : \"Delete\"}\n \n
    \n ) : (\n
    \n 0 ? true : false}\n style={{ marginRight: \"10px\" }}\n onClick={handleSubmit((data) => submit(data, { publish: true }))}\n >\n {publishLoading ? : \"Publish\"}\n \n \n
    \n )}\n
    \n )}\n
    \n
    \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({\n Category: state.Category,\n Menu: state.Menu,\n Auth: state?.Auth,\n Restaurant: state?.Restaurant,\n});\n\nexport default connect(mapStateToProps)(MenuForm);\n","import TourDashboard from \"./TourDashboard\"\nexport default TourDashboard;","import React, { useState, useEffect } from \"react\";\nimport Tour from \"reactour\";\nimport walkthroughSteps from \"../../walkthrough-steps.json\";\n\nexport default function TourComponent({ Menu, Auth }) {\n const [isTourOpen, setIsTourOpen] = useState(false);\n const [introduceSteps, setIntroduceSteps] = useState([]);\n\n const filterSteps = () => {\n const originalSteps = walkthroughSteps?.dashboard?.steps;\n const filteredSteps = [];\n for (const step of originalSteps) {\n if (!step?.permission || !step.permission?.connector) {\n filteredSteps.push(step);\n } else {\n let hasPermission;\n if (step?.permission?.connector === \"$or\") {\n hasPermission = step?.permission?.except?.some((permission) => Auth?.user?.permissions[permission]);\n } else {\n hasPermission = step?.permission?.except?.every((permission) => Auth?.user?.permissions[permission]);\n }\n if (hasPermission) {\n filteredSteps.push(step);\n }\n }\n }\n setIntroduceSteps(filteredSteps);\n return filteredSteps;\n };\n\n useEffect(() => {\n if (isTourOpen) {\n const baseNavbar = document.getElementById(\"foodi-navbar\");\n if (baseNavbar) {\n baseNavbar.click();\n }\n const navbarToggler = document.querySelector(\".navbar-toggler\");\n if (navbarToggler) {\n navbarToggler?.click();\n }\n }\n\n const sub_menu_classes = document.querySelectorAll(\".tour-sub-menu\");\n\n if (sub_menu_classes && sub_menu_classes?.length > 0) {\n for (const sub_menu of sub_menu_classes) {\n isTourOpen ? sub_menu?.classList.add(\"active\") : sub_menu?.classList.remove(\"active\");\n }\n }\n\n //eslint-disable-next-line\n }, [isTourOpen]);\n\n const parseFromLocalStorage = (value) => {\n try {\n const parsed = JSON.parse(value);\n if (typeof parsed === \"object\" && Array?.isArray(parsed)) {\n return parsed;\n }\n return false;\n } catch (err) {\n return false;\n }\n };\n\n const showInstructions = () => {\n localStorage.removeItem(\"menuSelected\");\n Menu?.setMenuSelectedLocally({});\n setTimeout(() => setIsTourOpen(true), 1000);\n };\n\n const getFirstTimeLoggedIn = function () {\n return localStorage.getItem(\"first_time_logged_in\");\n };\n\n const setFirstTimeLoggedIn = function (value) {\n localStorage?.setItem(\"first_time_logged_in\", value);\n };\n\n useEffect(() => {\n filterSteps();\n let firstTimeLoggedIn = getFirstTimeLoggedIn();\n const parsedData = parseFromLocalStorage(firstTimeLoggedIn);\n if (!firstTimeLoggedIn || !parsedData) {\n const data = [];\n data.push(Auth?.user?._id);\n setFirstTimeLoggedIn(JSON.stringify(data));\n showInstructions();\n } else {\n if (!parsedData?.includes(Auth?.user?._id?.toString())) {\n parsedData?.push(Auth?.user?._id?.toString());\n setFirstTimeLoggedIn(JSON.stringify(parsedData));\n showInstructions();\n }\n }\n //eslint-disable-next-line\n }, []);\n\n const onRequestClose = () => {\n setIsTourOpen(false);\n };\n\n if (!introduceSteps || introduceSteps?.length === 0) {\n return null;\n }\n\n return (\n
    \n \n {isTourOpen &&
    }\n
    \n );\n}\n","\nimport SelectCategoriesForm from \"./SelectCategoriesForm\"\nexport default SelectCategoriesForm","import React, { useEffect, useState } from \"react\";\nimport SelectList from \"../../SelectList\";\nimport { Button } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport { toast } from \"react-toastify\";\n\nexport default function SelectCategoriesForm({ Menu, Category, closeModal }) {\n const { categories } = Category;\n\n const [loading, setLoading] = useState(false);\n const [selected, setSelected] = useState([]);\n\n useEffect(() => {\n Menu.load();\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n const categoriesSelected = [];\n if (Menu?.selected?.categories?.length > 0) {\n Menu.selected.categories.forEach((schema) => {\n if (schema?.category?._id && schema?.category?.name) {\n categoriesSelected.push({\n _id: schema?.category?._id,\n name: schema?.category?.name,\n });\n }\n });\n }\n setSelected(categoriesSelected);\n //eslint-disable-next-line\n }, [Menu?.menus]);\n\n const transformCategories = (data) => {\n if (data && Array.isArray(data) && data?.length > 0) {\n return data.map((elem) => {\n if (elem?._id && elem?.name) {\n return { label: elem?.name, value: elem?._id };\n }\n return { value: elem?.value, label: elem?.label };\n });\n }\n return [];\n };\n\n const saveChanges = async () => {\n setLoading(true);\n\n const selectedCategories = [];\n if (selected?.length > 0) {\n selected.forEach((category) => {\n selectedCategories.push({ category: category?._id ? category?._id : category?.value });\n });\n }\n\n const data = {\n selected: selectedCategories,\n menu: Menu?.selected?._id,\n };\n\n const response = await Menu.selectCategories(data);\n setLoading(false);\n closeModal();\n toast(response?.confirmation === \"success\" ? \"Changes have been made successfully\" : response?.message);\n };\n\n return (\n
    \n
    \n setSelected(data)}\n />\n
    \n
    \n \n \n
    \n
    \n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Table as BootstrapTable } from \"react-bootstrap\";\nimport styles from \"./Table.module.scss\";\nimport general from \"../../helpers/general\";\nimport Pagination from \"../Pagination\";\nimport Checkbox from \"../Checkbox\";\n\nimport Button from \"@material-ui/core/Button\";\n\n/**\n * @param { Object } props\n * @param { Array } props.columns - Columns to render in table\n * @param { Array } props.rows - Rows data\n * @param { React.Component } props.paginationComponent - Pagination component\n * @param { Boolean } props.enableLocalPagination - Enable local pagination\n * @param { Boolean } props.enableSelectMultiple - Enable multiple selection\n * @param { Function } props.onDeleteMultiple - Callback when rows are selected and delete button is clicked\n * @param { React.Component } props.onSelectRowsRenderView - Callback to render view button or any html element when row is selected\n * @param { Boolean } props.onSelectRowsDisableDelete - Disable delete button when row is selected\n */\n\nexport default function Table({\n columns,\n rows,\n paginationComponent,\n enableLocalPagination = false,\n enableSelectMultiple = false,\n onDeleteMultiple,\n onSelectRowsRenderView,\n onSelectRowsDisableDelete = false,\n}) {\n const [checked, setChecked] = useState({});\n const [localPagination, setLocalPaginationData] = useState({\n pagination: {},\n data: [],\n });\n\n const checkedLength = Object?.keys(checked).length;\n\n const onChangeCheckbox = (id) => {\n id = id.toString();\n const temp = { ...checked };\n temp[id] ? delete temp[id] : (temp[id] = true);\n setChecked(temp);\n };\n\n const selectAllCheckboxes = () => {\n let temp = { ...checked };\n const tempRows = rows.filter((elem) => !elem?.fromParent);\n if (checkedLength === tempRows?.length) {\n temp = {};\n } else {\n for (let i = 0; i < tempRows?.length; i++) {\n temp[tempRows[i]?._id] = true;\n }\n }\n setChecked(temp);\n };\n\n const callbackDeleteMultiple = () => {\n onDeleteMultiple(Object?.keys(checked));\n setChecked({});\n };\n\n useEffect(() => {\n if (localPagination?.data?.length === 0 && localPagination?.pagination?.page > 1) {\n const temp = { ...localPagination };\n temp.pagination.page = localPagination?.pagination?.page - 1;\n setLocalPaginationData(general.paginate(rows, temp.pagination.page, 10));\n }\n // eslint-disable-next-line\n }, [localPagination]);\n\n useEffect(() => {\n if (enableLocalPagination && rows && Array.isArray(rows)) {\n const temp = { ...localPagination };\n\n const page = temp?.pagination?.page || 1;\n const per_page = temp?.pagination?.per_page || 10;\n\n setLocalPaginationData(general.paginate(rows, page, per_page));\n }\n // eslint-disable-next-line\n }, [rows]);\n\n const changePage = async (e, page) => {\n setLocalPaginationData(general.paginate(rows, page + 1, 10));\n };\n\n const final_rows = enableLocalPagination ? localPagination?.data || [] : rows;\n\n return (\n <>\n
    \n \n \n \n {enableSelectMultiple && (\n \n selectAllCheckboxes()} />\n \n )}\n {columns?.map((column, index) => (\n {column?.field}\n ))}\n \n \n\n \n {final_rows &&\n Array.isArray(final_rows) &&\n final_rows?.length > 0 &&\n final_rows.map((row, rowIndex) => (\n \n {enableSelectMultiple && (\n \n {row?.fromParent ? (\n \n ) : (\n onChangeCheckbox(row?._id)}\n />\n )}\n \n )}\n {columns.map((column, columnIndex) =>\n column?.render && typeof column?.render === \"function\" ? (\n {column?.render({ row, column, columnIndex })}\n ) : (\n {row?.[column?.access]}\n )\n )}\n \n ))}\n \n \n {(!rows || rows?.length === 0) && (\n
    \n

    No data available

    \n
    \n )}\n\n {paginationComponent && rows && rows?.length > 0 &&
    {paginationComponent}
    }\n
    \n\n
    0 ? \"between\" : \"center\"}`}>\n {checkedLength > 0 && (\n
    \n

    {checkedLength === 1 ? `${checkedLength} row` : `${checkedLength} rows`} selected

    \n
    \n )}\n {enableLocalPagination && rows && rows?.length > 0 && (\n
    \n \n
    \n )}\n\n {checkedLength > 0 && (\n
    \n {typeof onSelectRowsRenderView === \"function\" && onSelectRowsRenderView(checked, setChecked)}\n {!onSelectRowsDisableDelete && (\n \n )}\n
    \n )}\n
    \n \n );\n}\n","import React from \"react\";\nimport Table from \"./Table\";\nimport general from \"../../helpers/general\";\n\nimport placeholderFood from \"../../assets/img/placeholder_food.png\";\nimport { IKImage } from \"imagekitio-react\";\n\nexport default function Dishes({ Auth, data, updateDish, deleteDishes, clone }) {\n const columns = [\n {\n field: \"name\",\n access: \"name\",\n },\n {\n field: \"Price\",\n render: function ({ row, column, index }) {\n if (row?.price && typeof row?.price === \"number\") {\n return general.formatPrice(row?.price);\n }\n return null;\n },\n },\n {\n field: \"Image\",\n render: function ({ row }) {\n return (\n <>\n {row?.image ? (\n \n ) : (\n \"\"\n )}\n \n );\n },\n },\n general?.checkPermissions({ exceptPermissions: [\"dish\"], originalPermissions: Auth?.user?.permissions }) && {\n field: \"Actions\",\n render: ({ row, column, index }) => (\n
    \n <>\n {!row?.fromParent && updateDish(row)} className={`edit-icon fal fa-edit`} />}\n clone(row)} className={`edit-icon fal fa-copy`} />\n {!row?.fromParent && (\n {\n if (row?._id) {\n deleteDishes([row?._id], row?.name);\n return;\n }\n deleteDishes(row);\n }}\n className={`delete-icon far fa-trash-alt`}\n />\n )}\n \n
    \n ),\n },\n ];\n\n return (\n deleteDishes(ids)}\n />\n );\n}\n","import React from \"react\";\nimport Table from \"./Table\";\nimport general from \"../../helpers/general\";\n\nexport default function Ingredients({ Auth, data, addIngredient, deleteIngredients, clone }) {\n const columns = [\n {\n field: \"name\",\n access: \"name\",\n },\n general?.checkPermissions({ exceptPermissions: [\"ingredient\"], originalPermissions: Auth?.user?.permissions }) && {\n field: \"Actions\",\n render: ({ row, column, index }) => (\n
    \n <>\n {!row?.fromParent && addIngredient(row)} className={`edit-icon fal fa-edit`} />}\n clone(row)} className={`edit-icon fal fa-copy`} />\n {!row?.fromParent && (\n {\n if (row?._id) {\n deleteIngredients([row?._id], row?.name);\n return;\n }\n deleteIngredients(row);\n }}\n className={`delete-icon far fa-trash-alt`}\n />\n )}\n \n
    \n ),\n },\n ];\n return (\n deleteIngredients(ids)}\n />\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport Section from \"../../components/Section/Section\";\nimport Categories from \"../../components/Categories/Categories\";\nimport { connect } from \"react-redux\";\nimport Modal from \"../../components/Modal\";\nimport DishForm from \"../../components/Forms/DishForm\";\nimport CategoryForm from \"../../components/Forms/CategoryForm\";\nimport IngredientForm from \"../../components/Forms/IngredientForm\";\nimport DeleteConfirmation from \"../../components/Forms/DeleteConfirmation\";\nimport AddDishToCategory from \"../../components/Forms/CategoryForm/AddDishToCategory\";\nimport MenuNames from \"../../components/Forms/MenuForm/MenuNames\";\nimport { useHistory } from \"react-router-dom\";\nimport { DragDropContext, Droppable } from \"react-beautiful-dnd\";\nimport general from \"../../helpers/general\";\nimport MenuForm from \"../../components/Forms/MenuForm/MenuForm\";\nimport styles from \"../Members/Members.module.scss\";\nimport WarningAlert from \"../../components/Alerts/Warning\";\nimport TourDashboard from \"../../components/TourDashboard\";\nimport SelectCategoriesForm from \"../../components/Forms/SelectCategoriesForm\";\nimport Dishes from \"../../components/Table/Dishes\";\nimport Ingredients from \"../../components/Table/Ingredients\";\nimport CONSTANTS from \"../../utils/constants\";\nimport withLayout from \"../../Layouts/AdminPanel\";\nimport { toast } from \"react-toastify\";\n\nfunction Dashboard({ Restaurant, Category, Dish, Ingredient, Menu, Auth, Admin }) {\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n const [categoriesToShow, setCategoriesToShow] = useState();\n const history = useHistory();\n const [menuSelected, setMenuSelected] = useState(Menu?.getMenuFromSessionStorage() ? Menu?.getMenuFromSessionStorage() : {});\n\n const { dishes } = Dish;\n const { menus } = Menu;\n const { ingredients } = Ingredient;\n\n const init = async () => {\n await Dish?.load();\n await Category?.load();\n await Ingredient?.load();\n await Menu?.load();\n\n if (Auth?.user?.permissions?.dish) {\n await Admin?.loadDietaryConsiderations();\n }\n };\n\n useEffect(() => {\n if (Auth?.user?.role === CONSTANTS.USER.ROLES.ADMIN || Auth?.user?.role === CONSTANTS.USER.ROLES.SUPER_ADMIN) {\n return history.push(\"/admin/dashboard\");\n }\n if (Auth?.user?.role === CONSTANTS.USER.ROLES.DMA) {\n return history.push(\"/dma/dashboard\");\n }\n\n init();\n\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (menuSelected?._id !== Menu?.selected?._id) {\n setMenuSelected(Menu?.selected);\n }\n //eslint-disable-next-line\n }, [Menu?.selected]);\n\n useEffect(() => {\n (async () => {\n if (Menu?.selected?._id) {\n const response = await Category?.load({ forceRender: true, selectedMenu: Menu?.selected?._id });\n if (response?.confirmation === \"Success\" && Array.isArray(response?.message?.categories)) {\n setCategoriesToShow(response?.message?.categories);\n return;\n }\n setCategoriesToShow([]);\n return;\n }\n setCategoriesToShow([]);\n })();\n //eslint-disable-next-line\n }, [Restaurant?.restaurant, Menu?.selected]);\n\n const addDish = (categoryID = false) => {\n setModal({\n ...modal,\n visible: true,\n title: \"Add dish\",\n size: \"lg\",\n Component: setModal({ ...modal, visible: false })} />,\n });\n };\n\n const updateDish = (dish) => {\n setModal({\n ...modal,\n visible: true,\n title: \"Update dish\",\n size: \"lg\",\n Component: setModal({ ...modal, visible: false })} />,\n });\n };\n\n const deleteDishes = (ids, name) => {\n let customButtonMessage = Array?.isArray(ids) ? `Delete ${ids?.length} ${ids?.length === 1 ? \"dish\" : \"dishes\"}` : `Delete dish`;\n let customMessage = `Are you sure you want to delete ${ids?.length <= 1 ? `${name ? name : \"this dish\"}` : `${ids?.length} dishes`}?`;\n\n setModal({\n ...modal,\n visible: true,\n title: \"Delete dish\",\n confirmation: true,\n Component: (\n {\n return await Dish.delete({ ids: ids });\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const addCategory = () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Create category\",\n Component: setModal({ ...modal, visible: false })} />,\n });\n };\n\n const editCategory = (categoryID = false) => {\n setModal({\n ...modal,\n visible: true,\n title: \"Update category\",\n Component: setModal({ ...modal, visible: false })} />,\n });\n };\n\n const addIngredient = (ingredient) => {\n setModal({\n ...modal,\n dialogClassName: styles?.addIngredientsModal,\n title: ingredient?._id && ingredient?.name ? \"Update ingredient\" : \"Add ingredients\",\n visible: true,\n Component: (\n setModal({ ...modal, visible: false })} />\n ),\n });\n };\n\n const deleteCategories = (ids, name) => {\n if (typeof ids === \"string\") {\n ids = [ids];\n }\n\n let customButtonMessage = Array?.isArray(ids)\n ? `Delete ${ids?.length} ${ids?.length === 1 ? \"category\" : \"categories\"}`\n : `Delete categories`;\n let customMessage = `Are you sure you want to delete ${\n ids?.length <= 1 ? `${name ? name : \"this category\"}` : `${ids?.length} categories`\n }?`;\n\n setModal({\n ...modal,\n visible: true,\n confirmation: true,\n Component: (\n {\n const response = await Category.delete(ids);\n return response;\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const removeCategoryFromMenu = async (id) => {\n const data = {\n menuID: Menu?.selected?._id,\n categoryID: id && id[0] ? id[0] : null,\n };\n await Menu.removeCategory(data);\n setModal({ ...modal, visible: false });\n };\n\n const deleteIngredients = (ids, name) => {\n let customButtonMessage = Array?.isArray(ids)\n ? `Delete ${ids?.length} ${ids?.length === 1 ? \"ingredient\" : \"ingredients\"}`\n : `Delete ingredient`;\n let customMessage = `Are you sure you want to delete ${\n ids?.length <= 1 ? `${name ? name : \"this ingredient\"}` : `${ids?.length} ingredients`\n }?`;\n\n setModal({\n ...modal,\n visible: true,\n title: `Delete ${ids?.length === 1 ? \"ingredient\" : \"ingredients\"}`,\n confirmation: true,\n Component: (\n {\n return await Ingredient.delete(ids);\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const addDishToCategory = (category, id) => {\n setModal({\n ...modal,\n visible: true,\n title: \"Add dish to category\",\n size: \"xl\",\n Component: setModal({ ...modal, visible: false })} />,\n });\n };\n\n const onDragEnd = (result) => {\n if (!result?.destination) {\n return;\n }\n\n if (result?.destination?.index === result?.source?.index) {\n return;\n }\n\n let selectedMenu = { ...menuSelected };\n let currentCategory = {};\n let dishes = [];\n\n if (result?.type === \"app\") {\n const categories = general.reorder(categoriesToShow, result?.source?.index, result?.destination?.index);\n selectedMenu.categories = categories;\n setCategoriesToShow(categories);\n } else {\n currentCategory = categoriesToShow?.find((cat) => cat._id === result?.destination?.droppableId);\n dishes = general?.reorder(currentCategory?.category?.dishes, result?.source?.index, result?.destination?.index);\n\n selectedMenu.categories = categoriesToShow;\n selectedMenu?.categories?.forEach((cat) => {\n if (cat?._id === result?.destination?.droppableId) {\n cat.category.dishes = dishes;\n }\n });\n setCategoriesToShow(selectedMenu.categories);\n }\n\n const data = {\n categories: selectedMenu?.categories,\n menu_id: selectedMenu?._id,\n };\n\n if (currentCategory?._id && Array.isArray(dishes)) {\n data.categoryDishes = {\n categoryID: currentCategory?.category?._id,\n dishes: dishes?.map((dish) => dish?._id),\n };\n }\n\n Menu.reorder(data);\n };\n\n const selectCategories = () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Select categories\",\n Component: setModal({ ...modal, visible: false })} />,\n });\n };\n\n const cloneIngredients = async (ingredient) => {\n const newIngredientName = ingredient.name + \" (copy)\";\n\n const response = await Ingredient.create({\n ingredients: [newIngredientName],\n });\n\n if (response && response?.confirmation === \"Success\") {\n if (response?.message?.errors?.includes(newIngredientName)) {\n // TODO: improve this\n // it makes multiple requests if there are multiple ingredients with the same name\n cloneIngredients({ name: newIngredientName });\n } else {\n toast(\"Ingredient cloned successfully\");\n Ingredient.load({ forceRender: true });\n }\n }\n };\n\n const cloneDishes = async (dish) => {\n if (dish?.createdAt) {\n delete dish?.createdAt;\n dish.restaurantDietaryConsiderations = dish?.restaurant?.dietaryConsiderations;\n dish.name = dish?.name + \" (copy)\";\n dish.isAvailable = false;\n\n const selectedCustomizations = dish?.customizations?.selected?.map((customization) => customization?._id);\n\n dish.customizations.selected = selectedCustomizations;\n dish.customizations = JSON.stringify(dish?.customizations);\n\n dish.sideDishes = JSON.stringify(dish?.sideDishes?.map((dish) => dish?._id));\n\n const ingredients = dish?.ingredients?.map((ingredient) => ({\n ingredient: ingredient?.ingredient?._id,\n }));\n\n dish.ingredients = JSON.stringify(ingredients);\n } else {\n dish.name = dish?.name + \" (copy)\";\n }\n\n const response = await Dish.create(dish, true);\n if (response?.confirmation === \"Fail\") {\n if (response?.statusCode === 412) {\n cloneDishes(dish);\n } else {\n toast(\"Failed to clone dish\");\n }\n } else {\n toast(\"Dish cloned successfully\");\n Dish.load({ forceRender: true });\n }\n };\n\n const cloneCategory = async (category) => {\n const newCategory = {\n name: `${category.name} (copy)`,\n isAvailable: true,\n dishes: category?.dishes?.map((dish) => dish?._id || dish),\n };\n\n if (menuSelected && menuSelected?._id) {\n newCategory.menu = menuSelected?._id;\n }\n\n const response = await Category.create(newCategory, menuSelected?._id || null); // null for selected menu\n if (response?.confirmation === \"Fail\") {\n if (response?.statusCode === 412) {\n // if it fails because of duplicate name, add one more \"(copy)\" and try again\n cloneCategory(newCategory);\n } else {\n toast(\"Category can not be created\");\n }\n return;\n } else {\n toast(\"Category created successfully\");\n }\n };\n\n return (\n
    \n \n \n {menus?.length > 0 ? (\n {\n if (!menu?._id) {\n Menu?.setMenuSelectedLocally({});\n localStorage.removeItem(\"menuSelected\");\n if (params?.addNew) {\n setModal({\n ...modal,\n visible: true,\n title: \"Add a menu\",\n dialogClassName: styles?.customModalAddMember,\n Component: ,\n });\n }\n }\n if (menu?._id?.toString() !== menuSelected?._id?.toString()) {\n localStorage.setItem(\"menuSelected\", JSON.stringify(menu));\n setMenuSelected(menu);\n Menu?.setMenuSelectedLocally(menu);\n } else {\n Menu?.setMenuSelectedLocally(null);\n localStorage.removeItem(\"menuSelected\");\n }\n }}\n tour=\"create-menu\"\n menuSelected={menuSelected}\n menus={menus}\n />\n ) : (\n general?.checkPermissions({ exceptPermissions: [\"menu\"], originalPermissions: Auth?.user?.permissions }) && (\n <>\n {\n setModal({\n ...modal,\n visible: true,\n title: \"Add a menu\",\n dialogClassName: styles?.customModalAddMember,\n Component: ,\n });\n }}\n actionButtonTitle={\"Create menu\"}\n title=\"Please create a menu!\"\n />\n \n )\n )}\n 0 ? `(${dishes?.length})` : \"\"}`}\n action={\n general?.checkPermissions({ exceptPermissions: [\"dish\"], originalPermissions: Auth?.user?.permissions })\n ? { name: \"Add Dish\", funk: addDish }\n : null\n }\n >\n \n \n 0 ? `(${categoriesToShow?.length})` : \"\"}`}\n tour={\"create-category\"}\n action={\n general?.checkPermissions({ exceptPermissions: [\"category\"], originalPermissions: Auth?.user?.permissions }) &&\n Menu?.selected?._id &&\n !menuSelected?.fromParent\n ? [\n {\n name: \"Create category\",\n funk: addCategory,\n },\n {\n name: \"Select categories\",\n funk: selectCategories,\n },\n ]\n : [\n {\n name: \"Create category\",\n disabled: true,\n },\n {\n name: \"Select categories\",\n disabled: true,\n },\n ]\n }\n >\n {categoriesToShow && (\n \n \n {(provided) => (\n
    \n \n {provided.placeholder}\n
    \n )}\n
    \n
    \n )}\n \n 0 ? `(${ingredients?.length})` : \"\"}`}\n action={\n general?.checkPermissions({ exceptPermissions: [\"ingredient\"], originalPermissions: Auth?.user?.permissions })\n ? { name: \"Add Ingredients\", funk: addIngredient }\n : null\n }\n >\n \n \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({\n Dish: state?.Dish,\n Category: state?.Category,\n Ingredient: state?.Ingredient,\n Menu: state?.Menu,\n Auth: state?.Auth,\n Restaurant: state?.Restaurant,\n Admin: state?.Admin,\n});\n\nexport default connect(mapStateToProps)(withLayout(Dashboard));\n","import Dashboard from \"./Dashboard\";\nexport default Dashboard;\n","import React, { useRef, useState } from \"react\";\nimport { Form, Button, Alert } from \"react-bootstrap\";\nimport { useForm } from \"react-hook-form\";\nimport { Api, Endpoint } from \"../../api\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport Helpers from \"../../helpers/general\";\n\nconst { passwordRegex, passwordMessage } = Helpers.getPasswordRegex();\n\nexport default function EnterPasswordAndVerify({ token, onSuccess }) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n const { register, handleSubmit, errors, watch } = useForm();\n const password = useRef({});\n password.current = watch(\"password\", \"\");\n\n const submit = async (data) => {\n data.token = token;\n setLoading(true);\n const response = await Api.call(Endpoint.verifyAccountAndEnterPassword, { data });\n if (response?.statusCode !== 200) {\n setLoading(false);\n setError(response?.message);\n return;\n }\n setLoading(false);\n setError(null);\n onSuccess();\n };\n\n return (\n
    \n
    \n

    Verify your account

    \n

    Please enter an password

    \n
    \n {error && {error}}\n
    \n \n \n \n {errors?.password?.message && {errors?.password?.message}}\n \n \n \n value === password.current || \"The password confirmation does not match.\",\n })}\n type=\"password\"\n name=\"confirm_password\"\n placeholder=\"Confirm Password *\"\n />\n {errors?.confirm_password?.message && {errors?.confirm_password?.message}}\n \n\n
    \n \n
    \n
    \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport styles from \"./VerifyAccount.module.scss\";\nimport { useHistory } from \"react-router-dom\";\nimport EnterPasswordAndVerify from \"./EnterPasswordAndVerify\";\n\nfunction VerifyAccount({ Auth }) {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [requirePasswordStep, setRequirePasswordStep] = useState(false);\n const history = useHistory();\n\n const extractToken = () => {\n return new URLSearchParams(window.location.search).get(\"token\");\n };\n\n const verifyAccount = async () => {\n const token = extractToken();\n if (!token) history.push(\"/login\");\n\n const response = await Auth.VERIFY_ACCOUNT(token);\n if (response?.message?.decoded_token?.require_enter_password) {\n setLoading(false);\n setError(null);\n setRequirePasswordStep(true);\n } else if (response?.confirmation === \"Success\") {\n setLoading(false);\n setError(null);\n setTimeout(() => history.push(\"/login\"), 2000);\n } else {\n setLoading(false);\n setError(\"Your account has been already verified or this link is not valid.\");\n }\n };\n\n const onSuccessPasswordVerifyCompleted = () => {\n setRequirePasswordStep(false);\n setTimeout(() => history.push(\"/login\"), 2000);\n };\n\n useEffect(() => {\n verifyAccount();\n //eslint-disable-next-line\n }, []);\n\n return (\n
    \n
    \n {loading ? (\n <>\n \n

    Verifying account...

    \n \n ) : error ? (\n <>\n \n

    {error}

    \n \n ) : !requirePasswordStep ? (\n <>\n \n

    Account has been verified successfully.

    \n \n ) : (\n \n )}\n
    \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(VerifyAccount);\n","import VerifyAccount from './VerifyAccount'\nexport default VerifyAccount","import React from \"react\";\nimport styles from \"../Login/Login.module.scss\";\nimport dashboardStyles from \"../../App.module.scss\";\nimport { Button, Form } from \"react-bootstrap\";\nimport { useHistory } from \"react-router-dom\";\nimport { useState } from \"react\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { useForm } from \"react-hook-form\";\nimport { Api, Endpoint } from \"../../api\";\nimport { Link } from \"react-router-dom\";\nimport { toast } from \"react-toastify\";\n\nimport ReCaptchaComponent from \"../../components/ReCaptcha\";\nimport useReCaptcha from \"../../hoc/useReCaptcha\";\n\nfunction ForgotPassword() {\n const { reCaptchaRef, executeReCaptchaToken, onChangeReCaptcha } = useReCaptcha();\n const [loading, setLoading] = useState(false);\n const [customError, setCustomError] = useState(null);\n const history = useHistory();\n const { register, handleSubmit, errors } = useForm();\n\n const submit = async (data) => {\n setLoading(true);\n\n const reCaptchaToken = await executeReCaptchaToken();\n data = { email: data.email, reCaptchaToken };\n\n const response = await Api.call(Endpoint.requestNewPassword, { data });\n setLoading(false);\n\n if (response?.statusCode === 200) {\n setCustomError(null);\n toast(response?.message);\n return history.push(\"/login\");\n }\n\n setCustomError(response?.message);\n };\n\n return (\n <>\n
    \n
    \n
    \n \n \n

    Reset your password

    \n

    Enter your user account's verified email address and we will send you a password reset link.

    \n
    \n \n \n {(errors?.email?.message || customError) && (\n {errors?.email?.message || customError}\n )}\n \n \n \n\n
    \n \n Back to Login\n \n
    \n
    \n
    \n \n );\n}\n\nexport default ForgotPassword;\n","import ForgotPassword from './ForgotPassword'\nexport default ForgotPassword","import React, { useState, useEffect, useRef } from \"react\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { useHistory } from \"react-router-dom\";\nimport styles from \"./ResetPassword.module.scss\";\nimport { Api, Endpoint } from \"../../api\";\nimport { Button, Form } from \"react-bootstrap\";\nimport { useForm } from \"react-hook-form\";\nimport registerFormStyle from \"../Register/Register.module.scss\";\nimport { toast } from \"react-toastify\";\nimport Helpers from \"../../helpers/general\";\n\nimport ReCaptchaComponent from \"../../components/ReCaptcha\";\nimport useReCaptcha from \"../../hoc/useReCaptcha\";\n\nconst { passwordRegex, passwordMessage } = Helpers.getPasswordRegex();\n\nexport default function ResetPassword() {\n const { reCaptchaRef, executeReCaptchaToken, onChangeReCaptcha } = useReCaptcha();\n\n const [loading, setLoading] = useState(true);\n const [loadingButton, setButtonLoading] = useState(false);\n const [error, setError] = useState(false);\n const [customError, setCustomError] = useState(false);\n const history = useHistory();\n const { register, handleSubmit, errors, watch } = useForm();\n const password = useRef({});\n password.current = watch(\"password\", \"\");\n\n const extractToken = () => {\n return new URLSearchParams(window.location.search).get(\"token\");\n };\n\n const checkToken = async () => {\n setLoading(true);\n if (!extractToken()) history.push(\"/login\");\n const response = await Api.call(Endpoint.checkResetPasswordToken, { params: [extractToken()] });\n setLoading(false);\n response?.confirmation === \"Fail\" && setError(\"Link is not valid.\");\n };\n\n const submit = async (data) => {\n setButtonLoading(true);\n\n const reCaptchaToken = await executeReCaptchaToken();\n data.reCaptchaToken = reCaptchaToken;\n\n const response = await Api.call(Endpoint.resetPassword, { data, params: [extractToken()] });\n if (response?.confirmation === \"Success\") {\n setButtonLoading(false);\n setCustomError(false);\n toast(response?.message);\n history.push(\"/login\");\n }\n setButtonLoading(false);\n setCustomError(response?.message);\n };\n\n useEffect(() => {\n checkToken();\n //eslint-disable-next-line\n }, []);\n\n return (\n
    \n
    \n {loading ? (\n <>\n \n

    Please wait...

    \n \n ) : error ? (\n <>\n \n
    Link is not valid.
    \n \n ) : (\n <>\n
    \n
    \n
    \n \n\n \n

    Reset your password

    \n
    \n \n \n {(errors?.password?.message || customError) && (\n {errors?.password?.message || customError}\n )}\n \n \n value === password.current || \"The password confirmation does not match.\",\n })}\n type=\"password\"\n name=\"confirmPassword\"\n placeholder=\"Confirm Password\"\n />\n {errors?.confirmPassword?.message && {errors?.confirmPassword?.message}}\n \n \n \n
    \n
    \n \n )}\n
    \n
    \n );\n}\n","import ResetPassword from './ResetPassword'\nexport default ResetPassword;","import MenuForm from \"./MenuForm\"\nexport default MenuForm;","import React from \"react\";\nimport MenuForm from \"../../components/Forms/MenuForm\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\n\nfunction CreateMenu(props) {\n return ;\n}\n\nexport default withDashboardLayout(CreateMenu);\n","import CreateMenu from './CreateMenu'\nexport default CreateMenu","import React, { useState } from \"react\";\nimport { Form, Button } from \"react-bootstrap\";\nimport ImageInput from \"../../../components/ImageInput\";\nimport registerStyle from \"../../../Views/Register/Register.module.scss\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport styles from \"./CSVForm.module.scss\";\n// import csv from \"../../../assets/csv/Category CSV example\"\n\nfunction CSVForm({ Controller, downloadExampleLink }) {\n const [csvFile, setCSVFile] = useState(null);\n\n /* state \"csvFileError\" is used for client side validation. */\n const [csvFileError, setCSVFileError] = useState(null);\n const [loading, setLoading] = useState(null);\n\n /* If api fails */\n const [error, setError] = useState(null);\n\n /* CSV Validation state */\n const [successMessage, setSuccessMessage] = useState(null);\n const [existValidationError, setExistValidationError] = useState(null);\n const [validationError, setValidationError] = useState(null);\n const [duplicateErrors, setDuplicateErrors] = useState(null);\n\n const resetAllValidationCSV = () => {\n setSuccessMessage(null);\n setExistValidationError(null);\n setValidationError(null);\n setSuccessMessage(null);\n };\n\n const submit = async () => {\n try {\n if (!csvFile) {\n setCSVFileError(\"Please select a csv file\");\n return;\n }\n if (!csvFile.name.endsWith(\".csv\")) {\n setCSVFileError(\"Please select a valid csv file\");\n return;\n }\n\n setLoading(true);\n setCSVFileError(null);\n\n const formData = new FormData();\n formData.append(\"csv\", csvFile);\n const data = await Controller.uploadCSV(formData);\n\n if (!data || data?.confirmation === \"Fail\") {\n setLoading(false);\n resetAllValidationCSV();\n setError(data?.message);\n return;\n }\n\n if (data?.confirmation === \"Success\" && data?.message) {\n const { successMessage, existValidationError, validationError, duplicateErrors } = data?.message;\n successMessage ? setSuccessMessage(successMessage) : setSuccessMessage(null);\n existValidationError ? setExistValidationError(existValidationError) : setExistValidationError(null);\n validationError ? setValidationError(validationError) : setValidationError(null);\n duplicateErrors ? setDuplicateErrors(duplicateErrors) : setDuplicateErrors(null);\n setLoading(false);\n return;\n }\n\n setLoading(false);\n resetAllValidationCSV();\n } catch (err) {\n resetAllValidationCSV();\n setLoading(false);\n setCSVFileError(\"Something went wrong. Please try again or report this issue\");\n }\n };\n\n const onImageRemove = () => {\n setCSVFile(null);\n resetAllValidationCSV();\n setError(null);\n setDuplicateErrors(null);\n };\n\n return (\n
    \n \n CSV File\n setCSVFile(img)}\n onImageRemove={loading ? null : onImageRemove}\n />\n
    \n {successMessage && {successMessage}}\n {csvFileError && {csvFileError}}\n {error && {error}}\n {existValidationError && {existValidationError}}\n {validationError && {validationError}}\n\n {duplicateErrors &&\n duplicateErrors?.length > 0 &&\n duplicateErrors?.map((err, index) => (\n
    \n \n {err} already exists, so will be ignored.\n \n
    \n ))}\n
    \n
    \n\n
    \n \n \n Download CSV template\n \n
    \n
    \n );\n}\n\nexport default CSVForm;\n","import CSVForm from \"./CSVForm\"\nexport default CSVForm","import React from \"react\";\nimport Table from \"./Table\";\nimport general from \"../../helpers/general\";\n\nexport default function Categories({ Auth, deleteCategories, data, updateCategory, clone }) {\n const columns = [\n {\n field: \"name\",\n access: \"name\",\n },\n {\n field: \"isAvailable\",\n render: function ({ row, column, index }) {\n

    Is Available

    ;\n },\n },\n general?.checkPermissions({ exceptPermissions: [\"category\"], originalPermissions: Auth?.user?.permissions }) && {\n field: \"Actions\",\n render: ({ row, column, index }) => (\n
    \n <>\n {!row?.fromParent && updateCategory(row)} className={`edit-icon fal fa-edit`} />}\n clone(row)} className={`edit-icon fal fa-copy`} />\n {!row?.fromParent && (\n {\n if (row?._id) {\n deleteCategories([row?._id], row?.name);\n return;\n }\n deleteCategories(row);\n }}\n className={`delete-icon far fa-trash-alt`}\n />\n )}\n \n
    \n ),\n },\n ];\n return (\n deleteCategories(ids)}\n />\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport CategoryForm from \"../../components/Forms/CategoryForm\";\nimport Modal from \"../../components/Modal\";\nimport Section from \"../../components/Section/Section\";\nimport { connect } from \"react-redux\";\nimport DeleteConfirmation from \"../../components/Forms/DeleteConfirmation\";\nimport CSVForm from \"../../components/Forms/CSVForm\";\nimport { Button } from \"react-bootstrap\";\nimport styles from \"./CreateCategory.module.scss\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport Categories from \"../../components/Table/Categories\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\nimport { toast } from \"react-toastify\";\n\nfunction CreateCategory({ Auth, Category }) {\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n const { categories } = Category;\n\n useEffect(() => {\n Category.load();\n // eslint-disable-next-line\n }, []);\n\n const updateCategory = (category = {}) => {\n setModal({\n ...modal,\n title: \"Update category\",\n visible: true,\n Component: (\n setModal({ ...modal, visible: false })} />\n ),\n });\n };\n\n const deleteCategories = (ids, name) => {\n let customButtonMessage = Array?.isArray(ids)\n ? `Delete ${ids?.length} ${ids?.length === 1 ? \"category\" : \"categories\"}`\n : `Delete categories`;\n let customMessage = `Are you sure you want to delete ${\n ids?.length <= 1 ? `${name ? name : \"this category\"}` : `${ids?.length} categories`\n }?`;\n\n setModal({\n ...modal,\n visible: true,\n confirmation: true,\n Component: (\n {\n const response = await Category.delete(ids);\n return response;\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const showCSVModal = () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Upload categories\",\n Component: (\n setModal({ ...modal, visible: false })}\n downloadExampleLink={process.env.REACT_APP_CATEGORY_CSV_EXAMPLE}\n />\n ),\n });\n };\n\n const clone = async (category) => {\n const newCategory = {\n name: `${category.name} (copy)`,\n isAvailable: false,\n dishes: category.dishes.map((dish) => dish._id),\n };\n\n const response = await Category.create(newCategory, null); // null for selected menu\n if (response?.confirmation === \"Fail\") {\n if (response?.statusCode === 412) {\n // if it fails because of duplicate name, add one more \"(copy)\" and try again\n clone(newCategory);\n } else {\n toast(\"Category can not be created\");\n }\n return;\n } else {\n toast(\"Category created successfully\");\n }\n };\n\n return (\n \n \n \n
    \n
    0 ? `(${categories?.length})` : ``}`}>\n \n
    \n
    \n \n \n \n
    \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state?.Auth, Category: state?.Category });\nexport default connect(mapStateToProps)(withDashboardLayout(CreateCategory));\n","import CreateCategory from './CreateCategory'\nexport default CreateCategory;\n","import React, { useEffect, useState } from \"react\";\nimport DishForm from \"../../components/Forms/DishForm\";\nimport Modal from \"../../components/Modal\";\nimport { Button } from \"react-bootstrap\";\nimport Section from \"../../components/Section/Section\";\nimport { connect } from \"react-redux\";\nimport DeleteConfirmation from \"../../components/Forms/DeleteConfirmation\";\nimport styles from \"../CreateCategory/CreateCategory.module.scss\";\nimport CSVForm from \"../../components/Forms/CSVForm\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport Dishes from \"../../components/Table/Dishes\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\nimport { toast } from \"react-toastify\";\n\nfunction CreateDish({ Auth, Dish, Admin }) {\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const { dishes } = Dish;\n\n useEffect(() => {\n Dish.load();\n if (Auth?.user?.permissions?.dish) {\n Admin?.loadDietaryConsiderations();\n }\n // eslint-disable-next-line\n }, []);\n\n const updateDish = (dish) => {\n setModal({\n ...modal,\n size: \"lg\",\n visible: true,\n Component: setModal({ ...modal, visible: false })} />,\n });\n };\n\n const deleteDishes = (ids, name) => {\n let customButtonMessage = Array?.isArray(ids) ? `Delete ${ids?.length} ${ids?.length === 1 ? \"dish\" : \"dishes\"}` : `Delete dish`;\n let customMessage = `Are you sure you want to delete ${ids?.length <= 1 ? `${name ? name : \"this dish\"}` : `${ids?.length} dishes`}?`;\n\n setModal({\n ...modal,\n visible: true,\n title: \"Delete dish\",\n confirmation: true,\n Component: (\n {\n return await Dish.delete({ ids: ids });\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const showCSVModal = () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Upload dishes\",\n Component: (\n setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const clone = async (dish) => {\n if (dish?.createdAt) {\n delete dish?.createdAt;\n dish.restaurantDietaryConsiderations = dish?.restaurant?.dietaryConsiderations;\n dish.name = dish?.name + \" (copy)\";\n dish.isAvailable = false;\n\n const selectedCustomizations = dish?.customizations?.selected?.map((customization) => customization?._id);\n\n dish.customizations.selected = selectedCustomizations;\n dish.customizations = JSON.stringify(dish?.customizations);\n\n dish.sideDishes = JSON.stringify(dish?.sideDishes?.map((dish) => dish?._id));\n\n const ingredients = dish?.ingredients?.map((ingredient) => ({\n ingredient: ingredient?.ingredient?._id,\n }));\n\n dish.ingredients = JSON.stringify(ingredients);\n } else {\n dish.name = dish?.name + \" (copy)\";\n }\n\n const response = await Dish.create(dish, true);\n if (response?.confirmation === \"Fail\") {\n if (response?.statusCode === 412) {\n clone(dish);\n } else {\n toast(\"Failed to clone dish\");\n }\n } else {\n toast(\"Dish cloned successfully\");\n Dish.load({ forceRender: true });\n }\n };\n\n return (\n \n \n \n
    \n
    0 ? `(${dishes?.length})` : \"\"}`}>\n \n
    \n
    \n \n \n \n
    \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({ Dish: state?.Dish, Auth: state?.Auth, Admin: state?.Admin });\nexport default connect(mapStateToProps)(withDashboardLayout(CreateDish));\n","import CreateDish from \"./CreateDish\"\nexport default CreateDish","import React, { useState, useEffect } from \"react\";\nimport IngredientForm from \"../../components/Forms/IngredientForm\";\nimport Modal from \"../../components/Modal\";\nimport Section from \"../../components/Section/Section\";\nimport { connect } from \"react-redux\";\nimport styles from \"../CreateCategory/CreateCategory.module.scss\";\nimport CSVForm from \"../../components/Forms/CSVForm\";\nimport { Button } from \"react-bootstrap\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport DeleteConfirmation from \"../../components/Forms/DeleteConfirmation\";\n\nimport Ingredients from \"../../components/Table/Ingredients\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\nimport { toast } from \"react-toastify\";\n\nfunction CreateIngredient({ Ingredient, Auth }) {\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n useEffect(() => {\n Ingredient.load();\n // eslint-disable-next-line\n }, []);\n\n const showCSVModal = () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Upload ingredients\",\n Component: (\n setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const addIngredient = (ingredient) => {\n setModal({\n ...modal,\n title: ingredient?._id && ingredient?.name ? \"Update ingredient\" : \"Add ingredients\",\n visible: true,\n Component: (\n setModal({ ...modal, visible: false })} />\n ),\n });\n };\n\n const deleteIngredients = (ids, name) => {\n let customButtonMessage = Array?.isArray(ids)\n ? `Delete ${ids?.length} ${ids?.length === 1 ? \"ingredient\" : \"ingredients\"}`\n : `Delete ingredient`;\n let customMessage = `Are you sure you want to delete ${\n ids?.length <= 1 ? `${name ? name : \"this ingredient\"}` : `${ids?.length} ingredients`\n }?`;\n\n setModal({\n ...modal,\n visible: true,\n title: `Delete ${ids?.length === 1 ? \"ingredient\" : \"ingredients\"}`,\n confirmation: true,\n Component: (\n {\n return await Ingredient.delete(ids);\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const clone = async (ingredient) => {\n const newIngredientName = ingredient.name + \" (copy)\";\n\n const response = await Ingredient.create({\n ingredients: [newIngredientName],\n });\n\n if (response && response?.confirmation === \"Success\") {\n if (response?.message?.errors?.includes(newIngredientName)) {\n // TODO: improve this\n // it makes multiple requests if there are multiple ingredients with the same name\n clone({ name: newIngredientName });\n } else {\n toast(\"Ingredient cloned successfully\");\n Ingredient.load({ forceRender: true });\n }\n }\n };\n\n return (\n <>\n \n \n
    \n 0 ? `(${Ingredient?.ingredients?.length})` : \"\"}`}\n action={{ name: \"Add Ingredients\", funk: addIngredient }}\n >\n \n \n
    \n \n \n \n
    \n \n );\n}\n\nconst mapStateToProps = (state) => ({ Ingredient: state?.Ingredient, Auth: state?.Auth });\nexport default connect(mapStateToProps)(withDashboardLayout(CreateIngredient));\n","import CreateIngredient from \"./CreateIngredient\"\nexport default CreateIngredient","import MediaForm from \"./MediaForm\";\nexport default MediaForm;\n","import React, { useEffect, useState } from \"react\";\nimport { Form, Button } from \"react-bootstrap\";\nimport { useForm } from \"react-hook-form\";\nimport ImageInput from \"../../ImageInput\";\nimport registerStyle from \"../../../Views/Register/Register.module.scss\";\nimport { Api, Endpoint } from \"../../../api\";\nimport LoadingSpinner from \"../../../components/LoadingSpinner\";\nimport { toast } from \"react-toastify\";\n\nimport File from \"../../../utils/file\";\n\nexport default function MediaForm({ getData, closeModal, pagination }) {\n const { handleSubmit } = useForm();\n const [file, setFile] = useState(null);\n const [fileError, setFileError] = useState(null);\n const [loading, setLoading] = useState(false);\n\n const maxFileSize = parseInt(process.env.REACT_APP_MAX_FILE_SIZE);\n const maxFileSizeErrorText = process.env.REACT_APP_MAX_FILE_SIZE_ERROR;\n\n const endsWithAny = (str, arr) => {\n for (let i = 0; i < arr.length; i++) if (str.endsWith(arr[i])) return true;\n return false;\n };\n\n const validateFile = (files) => {\n if (!file) return true;\n\n let validExtensionsFile = File.allowed_extensions;\n let errorFileCount = 0;\n\n if (files instanceof FileList && files.length) {\n for (let i = 0; i < files.length; i++) {\n if (file[i]?.size > maxFileSize) {\n setFileError(`This file ${files[i]?.name} is big. Maximum size for file is ${maxFileSizeErrorText}.`);\n return false;\n } else if (!endsWithAny(files[i]?.name, validExtensionsFile)) {\n errorFileCount += 1;\n }\n }\n }\n\n if (errorFileCount > 0) {\n if (errorFileCount === 1) setFileError(`${errorFileCount} file that you have uploaded is not valid.`);\n else setFileError(`${errorFileCount} files that you have uploaded are not valid.`);\n return false;\n }\n\n setFileError(null);\n return true;\n };\n\n useEffect(() => {\n setFileError(null);\n validateFile(file);\n // eslint-disable-next-line\n }, [file]);\n\n const submit = async () => {\n if (!file) return setFileError(\"Please choose an image to upload\");\n if (!validateFile(file)) return false;\n setFileError(null);\n setLoading(true);\n const formData = new FormData();\n for (let i = 0; i < file.length; i++) {\n formData.append(`images[${i}]`, file[i]);\n }\n const response = await Api.call(Endpoint.uploadMedia, { data: formData });\n setLoading(false);\n if (response?.confirmation === \"Success\") {\n closeModal();\n getData({ currentPage: pagination.page });\n setFileError(null);\n } else if (typeof response?.message?.message === \"string\") {\n setFileError(`File is too large. Maximum size is ${maxFileSizeErrorText}.`);\n } else {\n toast(typeof response?.message === \"string\" ? response?.message : \"Something went wrong\");\n }\n };\n\n return (\n
    \n \n setFile(img)} />\n {fileError && {fileError}}\n \n \n
    \n );\n}\n","import React, { useState, useRef } from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport AvatarEditor from \"react-avatar-editor\";\nimport styles from \"./MediaSection.module.scss\";\nimport { Api, Endpoint } from \"../../api\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\n\nexport default function EditMedia({ img, getData, pagination, closeModal }) {\n const canvas = useRef();\n const [scale, setScale] = useState(1);\n const [loading, setLoading] = useState(false);\n\n const handleClick = async (e) => {\n e.preventDefault();\n setLoading(true);\n if (canvas && canvas.current) {\n let rect = canvas.current.getCroppingRect();\n const response = await Api.call(Endpoint?.editMedia, { data: { img, rect } });\n if (response?.confirmation === \"Success\") getData({ currentPage: pagination?.page });\n setLoading(false);\n closeModal();\n scrollBottom();\n }\n };\n\n const scrollBottom = () => {\n setTimeout(() => {\n const main = document.getElementById(\"dashboard-app\");\n main?.scrollTo({ top: document.body.scrollHeight, behavior: \"smooth\" });\n }, 100);\n };\n\n const handleScroll = (e) => {\n let s = scale;\n s += e.deltaY * -0.001;\n s = Math.min(Math.max(1, s), 2);\n setScale(s);\n };\n\n return (\n
    \n {img && (\n
    \n \n
    \n )}\n
    \n

    Drag the image to change the focus

    \n

    Scroll up/down to zoom in/out

    \n \n
    \n
    \n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Api, Endpoint } from \"../../api\";\nimport Section from \"../../components/Section/Section\";\nimport DeleteConfirmation from \"../../components/Forms/DeleteConfirmation\";\nimport Modal from \"../../components/Modal\";\nimport MediaForm from \"../../components/Forms/MediaForm\";\nimport styles from \"./MediaSection.module.scss\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport EditMedia from \"./EditMedia\";\nimport { Tooltip } from \"@material-ui/core\";\nimport Pagination from \"../../components/Pagination\";\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\nimport { IKImage } from \"imagekitio-react\";\n\nfunction MediaSection() {\n const [data, setData] = useState([]);\n const [loading, setLoading] = useState(true);\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const [pagination, setPagination] = useState({});\n\n const getData = async (query = {}) => {\n const response = await Api.call(Endpoint.listMedia, { query });\n if (response?.message?.data && response?.message?.pagination) {\n setData(response?.message?.data);\n setPagination(response?.message?.pagination);\n }\n setLoading(false);\n };\n\n const deleteFile = async (_, fileName) => {\n setModal({\n ...modal,\n visible: true,\n confirmation: true,\n Component: (\n {\n await Api.call(Endpoint.deleteMedia, { data: { fileName: fileName } });\n if (data?.length === 1 && pagination && pagination?.page > 1) {\n setPagination({ ...pagination, page: pagination?.page - 1 });\n await getData({ currentPage: pagination?.page - 1 });\n } else {\n await getData({ currentPage: pagination?.page });\n }\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const uploadFile = async () => {\n setModal({\n ...modal,\n title: \"Add Media\",\n visible: true,\n Component: setModal({ ...modal, visible: false })} />,\n });\n };\n\n useEffect(() => {\n getData();\n //eslint-disable-next-line\n }, []);\n\n const editFile = (img) => {\n setModal({\n ...modal,\n title: \"Edit/Crop media\",\n visible: true,\n Component: (\n setModal({ ...modal, visible: false })} />\n ),\n });\n };\n\n const changePage = async (e, page) => {\n setPagination({ ...pagination, page: page + 1 });\n await getData({ currentPage: page + 1 });\n };\n\n return (\n \n \n uploadFile() }}\n >\n
    \n
    \n {loading ? (\n
    \n \n

    Loading data...

    \n
    \n ) : data && data.length > 0 ? (\n data?.map((img, i) => (\n
    \n
    \n \n\n
    \n \n \n \n \n \n \n
    \n
    \n
    \n ))\n ) : (\n
    \n
    No data available
    \n
    \n )}\n
    \n\n {data && data?.length > 0 && (\n
    \n \n
    \n )}\n
    \n \n
    \n );\n}\n\nexport default withDashboardLayout(MediaSection);\n","import MediaSection from \"./MediaSection\";\nexport default MediaSection;\n","export default function DeleteItem({ mode }) {\n return (\n <>\n \n \n \n \n );\n}\n","import { useState } from \"react\";\nimport { Draggable } from \"react-beautiful-dnd\";\nimport styles from \"./Menu.module.scss\";\nimport placeholderFood from \"../../assets/img/placeholder_food.png\";\nimport { IKImage } from \"imagekitio-react\";\nimport DeleteItem from \"./DeleteItem\";\nimport Modal from \"../../components/Modal\";\nimport DeleteConfirmation from \"../../components/Forms/DeleteConfirmation\";\n\nexport default function Menu({ menu, menu_index, map_index, zone_index, location_index, findAndDeleteMenu }) {\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const deleteItem = (id) => {\n showConfirmationModal(id);\n };\n\n const showConfirmationModal = (id) => {\n setModal({\n ...modal,\n title: \"Delete content\",\n visible: true,\n confirmation: true,\n Component: (\n {\n findAndDeleteMenu(id, map_index, zone_index, location_index);\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n return (\n <>\n \n \n {(provided) => (\n
    \n {\n e.preventDefault();\n deleteItem(menu?._id);\n }}\n >\n \n \n
    \n {menu?.menu?.cover ? (\n \n ) : (\n {menu?.menu?.name}\n )}\n
    \n

    {menu?.menu?.name}

    \n
    \n
    \n {provided.placeholder}\n
    \n )}\n
    \n \n );\n}\n","export default function EditLocationButton({ color, mode }) {\n return (\n <>\n {mode ? (\n \n \n \n ) : (\n \n \n \n )}\n \n );\n}\n","export default function CancelChanges({ mode }) {\n return (\n <>\n \n \n \n \n );\n}\n","export default function QrCodeBtn({ color }) {\n return (\n \n \n \n );\n}\n","import React, { Suspense, useEffect, useState } from \"react\";\nimport { Button, Dropdown, DropdownButton, Form } from \"react-bootstrap\";\nimport constants from \"../../constants\";\nimport LoadingSpinner from \"../LoadingSpinner\";\n\nconst qrTemplates = constants.QRTemplates;\n\nexport default function QRTemplateComponent({ closeModal, restaurant, qrRef, advancedQrCode, action, canvasRef, qrUrl }) {\n const [SelectedQRTemplate, setSelectedQRTemplate] = useState(null); // holds selected template meta (fields) and it's Component\n const [qrTemplateMeta, setQrTemplateMeta] = useState(null); // holds the values of template fields for all templates\n\n const handleQRTemplate = (template) => {\n if (template === null) {\n setSelectedQRTemplate(null);\n return;\n }\n setSelectedQRTemplate({ ...template, Component: React.lazy(() => import(`../../QRTemplates/${template?.template}`)) });\n };\n\n useEffect(() => {\n if (!SelectedQRTemplate && restaurant?.selectedQrTemplate) {\n handleQRTemplate(qrTemplates?.[0]);\n }\n let selectedTemplate = restaurant?.selectedQrTemplate;\n qrTemplates &&\n qrTemplates.forEach((template) => {\n if (template.template === selectedTemplate) {\n handleQRTemplate(template);\n }\n });\n\n //eslint-disable-next-line\n }, [restaurant]);\n\n useEffect(() => {\n if (SelectedQRTemplate) {\n if (qrTemplateMeta && !qrTemplateMeta?.[SelectedQRTemplate?.templateMeta?.slug]) {\n updateTemplateMeta();\n }\n }\n //eslint-disable-next-line\n }, [SelectedQRTemplate]);\n\n const updateTemplateMeta = () => {\n let slug = SelectedQRTemplate?.template_meta?.slug;\n let fields = SelectedQRTemplate?.template_meta?.fields;\n let resFields = restaurant?.templateMeta;\n try {\n if (resFields) {\n resFields = JSON.parse(resFields);\n resFields = resFields?.[SelectedQRTemplate?.template_meta?.slug];\n }\n } catch (error) {\n console.error(error);\n }\n\n let values = {};\n if (slug && fields) {\n Object.keys(fields).forEach((field) => {\n if (fields?.[field]?.type === \"file\") {\n values[field] = resFields?.logo || restaurant?.logo || \"\";\n } else {\n values[field] = resFields?.[field] || \"\";\n }\n });\n setQrTemplateMeta({ ...qrTemplateMeta, [slug]: values });\n }\n };\n\n useEffect(() => {\n if (restaurant && restaurant.templateMeta) {\n try {\n let tm = JSON.parse(restaurant?.templateMeta);\n setQrTemplateMeta(tm);\n } catch (error) {\n console.error(error.message);\n }\n } else {\n // populate qrTemplateMeta with default Values\n updateTemplateMeta();\n }\n //eslint-disable-next-line\n }, [restaurant, SelectedQRTemplate]);\n\n return (\n
    \n {/*
    {JSON.stringify(SelectedQRTemplate, null, 2)}
    */}\n {SelectedQRTemplate && (\n
    \n {SelectedQRTemplate && restaurant?.templateMeta && (\n Loading...

    }>\n \n
    \n )}\n
    \n )}\n\n
    \n
    \n
    \n\n \n {typeof closeModal === \"function\" && (\n \n )}\n\n {action &&\n Array.isArray(action) &&\n action.map((act, i) => (\n \n {act?.dropdownItems && act?.dropdownItems?.length > 0 ? (\n \n \n \n ) : (\n {act?.name}\n )\n }\n >\n {act?.dropdownItems?.map((item, i) => (\n {\n item.funk();\n }}\n >\n {item?.name}\n \n ))}\n \n ) : (\n \n )}\n \n ))}\n \n
    \n );\n}\n","import React, { useState, useRef, useEffect } from \"react\";\nimport { toPng, toJpeg, toSvg } from \"html-to-image\";\nimport Menu from \"./Menu\";\nimport { Draggable, Droppable } from \"react-beautiful-dnd\";\nimport { useSelector } from \"react-redux\";\nimport DeleteItem from \"./DeleteItem\";\nimport EditButtonMap from \"./EditButtonMap\";\nimport CancelChanges from \"./CancelChanges\";\nimport QrCodeBtn from \"./QrCodeBtn\";\nimport Modal from \"../../components/Modal\";\nimport DeleteConfirmation from \"../../components/Forms/DeleteConfirmation\";\nimport EmbedMenuOptions from \"../../components/RestaurantForm/EmbedMenuOptions\";\nimport { toast } from \"react-toastify\";\nimport html2canvas from \"html2canvas\";\nimport download from \"downloadjs\";\nimport { useReactToPrint } from \"react-to-print\";\nimport styles from \"./Map.module.scss\";\nimport { Button, Dropdown, DropdownButton } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport QRTemplateComponent from \"../../components/QrCode/QRTemplateComponent\";\n\nexport default function Map({\n map,\n map_index,\n zone_index,\n location_index,\n findAndUpdateMap,\n findAndDeleteMap,\n findMenu,\n updateMaps,\n findAndDeleteMenu,\n}) {\n const ref = useRef(null);\n const [isUpdating, setIsUpdating] = useState(true);\n const [clickedMap, setClickedMap] = useState(false);\n const [currentText, setCurrentText] = useState(\"\");\n const [loadingDownload, setLoadingDownload] = useState(false);\n // const [restaurant, setRestaurant] = useState(null);\n const qrRef = useRef(null);\n const canvasRef = useRef(null);\n const advancedQrCode = useRef(null);\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const handlePrint = useReactToPrint({\n content: () => canvasRef.current,\n });\n\n const appendCanvas = (selector) => {\n html2canvas(selector, {\n scale: 1,\n profile: true,\n useCORS: false,\n allowTaint: true,\n }).then((canvas) => {\n canvasRef.current.innerHTML = \"\";\n canvasRef.current.appendChild(canvas);\n handlePrint();\n });\n };\n\n const Auth = useSelector((state) => state?.Auth);\n const Restaurant = useSelector((state) => state?.Restaurant);\n\n useEffect(() => {\n (async () => {\n await Restaurant.find();\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const convertToImage = async (selector, type) => {\n setLoadingDownload(true);\n\n switch (type) {\n case \"png\":\n toPng(selector, { imagePlaceholder: \"\" }).then((dataUrl) => {\n download(dataUrl, \"qrcode.png\");\n setLoadingDownload(false);\n });\n break;\n\n case \"jpg\":\n toJpeg(selector, { imagePlaceholder: \"\" }).then((dataUrl) => {\n download(dataUrl, \"qrcode.jpeg\");\n setLoadingDownload(false);\n });\n break;\n\n case \"svg\":\n toSvg(selector, { imagePlaceholder: \"\" }).then((dataUrl) => {\n download(dataUrl, \"qrcode.svg\");\n setLoadingDownload(false);\n });\n break;\n\n default:\n break;\n }\n };\n\n const {\n user: { restaurants },\n } = Auth;\n\n const { restaurant } = Restaurant;\n\n let mapURL = window.location.origin + \"/menu/\";\n\n if (typeof restaurants?.[0] === \"string\") {\n mapURL += restaurants?.[0];\n } else {\n mapURL += restaurants?.[0]?._id;\n }\n mapURL += `/${map?._id}`;\n\n const downloadPrint = () => {\n setClickedMap(false);\n setModal({\n ...modal,\n size: \"lg\",\n visible: true,\n title: \"Download / Print\",\n Component: (\n \n ),\n });\n };\n\n const showEmbedModal = () => {\n setClickedMap(false);\n setModal({\n ...modal,\n visible: true,\n title: \"Embed Menu\",\n Component: ,\n });\n };\n\n const showConfirmationModal = (id) => {\n setModal({\n ...modal,\n title: \"Delete content\",\n visible: true,\n confirmation: true,\n Component: (\n {\n findAndDeleteMap(id, zone_index, location_index);\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const updateItemHandler = () => {\n setIsUpdating(!isUpdating);\n setTimeout(() => {\n ref.current.focus();\n updateMaps();\n }, 100);\n };\n\n const cancelChanges = (e) => {\n setIsUpdating(!isUpdating);\n ref.current.value = currentText;\n setCurrentText(\"\");\n };\n\n const deleteItem = (id) => {\n showConfirmationModal(id);\n setIsUpdating(!isUpdating);\n };\n\n const copyQrCodeUrl = () => {\n navigator.clipboard.writeText(mapURL).then(\n function () {\n toast(\"Menu URL has been copied successfully to clipboard\");\n },\n function (err) {\n toast(\"Error copying Menu url to clipboard. Please try again later\");\n }\n );\n };\n\n const qrShareActions = [\n // {\n // name: \"visit map link\",\n // funk: () => {\n // setClickedMap(false);\n // window.open(mapURL, \"_blank\");\n // },\n // },\n {\n name: \"Copy Menu URL\",\n funk: copyQrCodeUrl,\n },\n {\n name: \"Copy Embed Code\",\n funk: showEmbedModal,\n },\n {\n name: \"Download or Print\",\n funk: downloadPrint,\n },\n // {\n // name: \"Download\",\n // loadingState: loadingDownload,\n // dropdownItems: [\n // {\n // name: \"Download template as .jpg\",\n // funk: () => convertToImage(qrRef.current, \"jpg\"),\n // },\n // {\n // name: \"Download QR Code as .svg\",\n // funk: () => convertToImage(advancedQrCode.current, \"svg\"),\n // },\n // {\n // name: \"Download QR Code as .png\",\n // funk: () => convertToImage(advancedQrCode.current, \"png\"),\n // },\n // {\n // name: \"Download QR Code as .jpg\",\n // funk: () => convertToImage(advancedQrCode.current, \"jpg\"),\n // },\n // ],\n // },\n // {\n // name: \"Print\",\n // dropdownItems: [\n // {\n // name: \"Print template\",\n // funk: () => appendCanvas(qrRef.current),\n // },\n // {\n // name: \"Print Code\",\n // funk: () => appendCanvas(advancedQrCode.current),\n // },\n // ],\n // },\n ];\n\n const downloadPrintActions = [\n {\n name: \"Download\",\n loadingState: loadingDownload,\n dropdownItems: [\n {\n name: \"Download template as .jpg\",\n funk: () => convertToImage(qrRef.current, \"jpg\"),\n },\n {\n name: \"Download QR Code as .svg\",\n funk: () => convertToImage(advancedQrCode.current, \"svg\"),\n },\n {\n name: \"Download QR Code as .png\",\n funk: () => convertToImage(advancedQrCode.current, \"png\"),\n },\n {\n name: \"Download QR Code as .jpg\",\n funk: () => convertToImage(advancedQrCode.current, \"jpg\"),\n },\n ],\n },\n {\n name: \"Print\",\n dropdownItems: [\n {\n name: \"Print template\",\n funk: () => appendCanvas(qrRef.current),\n },\n {\n name: \"Print Code\",\n funk: () => appendCanvas(advancedQrCode.current),\n },\n ],\n },\n ];\n\n return (\n <>\n \n \n {(provided) => (\n \n
    \n {\n e.preventDefault();\n setIsUpdating(true);\n updateMaps();\n }}\n >\n
    \n updateItemHandler(map?._id)}>\n Menu Display\n \n updateItemHandler(map?._id)}>\n {map?.name?.length > 0 ? map?.name : \"Menu Display\"}\n \n
    \n

    \n {\n findAndUpdateMap(map?._id, ref.current.value);\n }}\n />\n

    \n \n
    \n {\n e.preventDefault();\n deleteItem(map?._id, ref.current.value);\n }}\n >\n \n
    \n updateItemHandler(map?._id)}\n >\n \n
    \n\n {map?.menus?.length > 0 && (\n {\n setClickedMap(!clickedMap);\n }}\n >\n \n \n )}\n {\n e.preventDefault();\n cancelChanges();\n }}\n >\n \n \n \n \n \n {(provided) => (\n
    \n {map?.menus?.map((menu, index) => (\n \n ))}\n {provided.placeholder}\n
    \n )}\n
    \n
    \n
    \n
    \n {/*\n {\n setClickedMap(false);\n showEmbedModal();\n }}\n className={styles.buttonQR}\n >\n Download\n \n \n */}\n {qrShareActions.map((act, i) => (\n \n {act?.dropdownItems && act?.dropdownItems?.length > 0 ? (\n \n \n \n ) : (\n {act?.name}\n )\n }\n >\n {act?.dropdownItems?.map((item, i) => (\n {\n item.funk();\n }}\n >\n {item?.name}\n \n ))}\n \n ) : (\n \n )}\n \n ))}\n\n {\n setClickedMap(false);\n }}\n className={styles.buttonQR}\n >\n CUSTOMIZE QR\n \n
    \n
    \n
    \n \n )}\n
    \n <>\n \n );\n}\n","import React, { useState, useRef } from \"react\";\nimport Map from \"./Map\";\nimport styles from \"./Zone.module.scss\";\nimport { Draggable, Droppable } from \"react-beautiful-dnd\";\nimport EditButtonMap from \"./EditButtonMap\";\nimport DeleteItem from \"./DeleteItem\";\nimport CancelChanges from \"./CancelChanges\";\nimport Modal from \"../../components/Modal\";\nimport DeleteConfirmation from \"../../components/Forms/DeleteConfirmation\";\n\nexport default function Zone({\n zone,\n zone_index,\n findAndDeleteMap,\n findAndUpdateMap,\n findAndUpdateZone,\n findAndDeleteZone,\n findAndDeleteMenu,\n location_index,\n findMap,\n findMenu,\n updateMaps,\n}) {\n const ref = useRef(null);\n const [isUpdating, setIsUpdating] = useState(true);\n const [currentText, setCurrentText] = useState(\"\");\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const updateItemHandler = (e) => {\n setIsUpdating(!isUpdating);\n setTimeout(() => {\n ref.current.focus();\n updateMaps();\n }, 100);\n\n setCurrentText(ref.current.value);\n };\n\n const cancelChanges = (e) => {\n setIsUpdating(!isUpdating);\n ref.current.value = currentText;\n setCurrentText(\"\");\n };\n\n const showConfirmationModal = (id) => {\n setModal({\n ...modal,\n title: \"Delete content\",\n visible: true,\n confirmation: true,\n Component: (\n {\n findAndDeleteZone(id, location_index);\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const deleteItem = (id) => {\n showConfirmationModal(id);\n setIsUpdating(!isUpdating);\n };\n\n return (\n <>\n \n \n {(provided) => (\n \n
    \n {\n e.preventDefault();\n setIsUpdating(true);\n updateMaps();\n }}\n >\n
    \n updateItemHandler(zone?._id)}>\n Zone\n \n updateItemHandler(zone?._id)}>\n {zone?.name?.length > 0 ? zone?.name : \"Zone\"}\n \n
    \n

    \n {\n findAndUpdateZone(zone?._id, ref.current.value);\n }}\n />\n

    \n \n
    \n {\n e.preventDefault();\n deleteItem(zone?._id, ref.current.value);\n }}\n >\n \n
    \n updateItemHandler(zone?._id)}\n >\n \n
    \n {\n e.preventDefault();\n cancelChanges();\n }}\n >\n \n \n \n \n \n {(provided) => (\n
    \n {zone?.maps?.map((map, index) => (\n \n ))}\n {provided.placeholder}\n
    \n )}\n
    \n \n )}\n
    \n \n );\n}\n","import styles from \"./Location.module.scss\";\nimport Zone from \"./Zone\";\nimport { Draggable, Droppable } from \"react-beautiful-dnd\";\n\nexport default function Location({\n location,\n location_index,\n findAndUpdateMap,\n findAndDeleteZone,\n findAndDeleteMap,\n findAndUpdateZone,\n findAndDeleteMenu,\n findMap,\n findMenu,\n updateMaps,\n}) {\n return (\n \n {(provided) => (\n
    \n \n {(provided) => (\n
    \n {location?.zones?.map((zone, index) => (\n \n ))}\n {provided.placeholder}\n
    \n )}\n
    \n
    \n )}\n
    \n );\n}\n","import { IKImage } from \"imagekitio-react\";\nimport { Draggable } from \"react-beautiful-dnd\";\nimport placeholderFood from \"../../assets/img/placeholder_food.png\";\nimport styles from \"./MapMenu.module.scss\";\n\nexport default function MapMenu({ menu, menu_index }) {\n return (\n \n {(provided, snapshot) => (\n <>\n
    \n
    \n {menu?.cover ? (\n \n ) : (\n {menu.name}\n )}\n
    \n

    {menu.name}

    \n
    \n
    \n
    \n {snapshot.isDragging && (\n
    \n
    \n {menu?.cover ? (\n \n ) : (\n {menu.name}\n )}\n
    \n

    {menu.name}

    \n
    \n
    \n
    \n )}\n {provided.placeholder}\n \n )}\n
    \n );\n}\n","import React from \"react\";\nimport { Draggable, Droppable } from \"react-beautiful-dnd\";\nimport styles from \"./MapAction.module.scss\";\n\nexport default function MapAction({ maptype, maptype_index }) {\n return (\n \n {(provided) => (\n
    \n \n {(provided, snapshot) => (\n
    \n
    \n {maptype?.label}\n

    {maptype?.label}

    \n
    \n {snapshot.isDragging && (\n
    \n
    \n {maptype?.label}\n

    {maptype?.label}

    \n
    \n
    \n )}\n {provided.placeholder}\n
    \n )}\n \n {provided.placeholder}\n
    \n )}\n
    \n );\n}\n","export default __webpack_public_path__ + \"static/media/magnifier.1af66f23.svg\";","export default __webpack_public_path__ + \"static/media/map.87cd77b1.svg\";","export default __webpack_public_path__ + \"static/media/share.4ac35b88.svg\";","import React, { useState, useEffect } from \"react\";\nimport styles from \"./MapsSection.module.scss\";\nimport { DragDropContext, Droppable } from \"react-beautiful-dnd\";\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\nimport { connect } from \"react-redux\";\n\nimport { Api, Endpoint } from \"../../api\";\nimport Location from \"./Location\";\nimport MapMenu from \"./MapMenu\";\nimport MapAction from \"./MapAction\";\nimport { v4 as uuid } from \"uuid\";\n\nimport magnifier from \"./../../images/magnifier.svg\";\nimport map from \"./../../images/map.svg\";\n// import pin from \"./../../images/pin.svg\";\nimport share from \"./../../images/share.svg\";\nimport Modal from \"../../components/Modal\";\nimport DeleteConfirmation from \"../../components/Forms/DeleteConfirmation\";\nimport { toast } from \"react-toastify\";\n\nconst initialState = {\n locations: [{ id: uuid, name: \"\", zones: [] }],\n};\n\nconst MapsSection = ({ Menu }) => {\n const [data, setData] = useState(initialState);\n const [, setCurrentTarget] = useState(null);\n const [collapsedTypes, setCollapsedTypes] = useState(false);\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n // Map Action Types\n const MapTypes = [\n {\n id: 101,\n label: \"Zone\",\n value: \"addZone\",\n type: \"zone\",\n image: magnifier,\n },\n {\n id: 102,\n label: \"Menu Display\",\n value: \"addMap\",\n type: \"map\",\n image: map,\n },\n {\n id: 103,\n label: \"Group\",\n value: \"addGroup\",\n type: \"group\",\n image: map,\n disabled: true,\n },\n {\n id: 104,\n label: \"Shared\",\n value: \"addShared\",\n type: \"share\",\n image: share,\n disabled: true,\n },\n ];\n\n const getLocation = () => ({\n name: \"Location\",\n zones: [],\n _id: uuid(),\n });\n\n const getZone = () => ({\n name: \"Zone\",\n maps: [],\n _id: uuid(),\n });\n\n const getMap = () => ({\n name: \"Menu Display\",\n menus: [],\n _id: uuid(),\n });\n\n useEffect(() => {\n const wrapper = document.querySelector(\".custom-droppable-element\");\n\n wrapper.addEventListener(\"mouseover\", (e) => {\n setCurrentTarget(e.target);\n });\n\n return wrapper.removeEventListener(\"mouseover\", (e) => {});\n }, []);\n\n const getMenu = (id) => {\n const currentMenu = Menu?.menus.find((m) => m?._id === id);\n return { menu: currentMenu, _id: uuid() };\n };\n\n const handleLocations = ({ data, destination, source, draggableId }) => {\n //TODO: use this to auto populate the map\n let currentLocation = findLocation(draggableId);\n const isAdd = source.droppableId.includes(\"add\");\n if (isAdd) {\n currentLocation = getLocation();\n }\n updateLocation(currentLocation, destination, source, isAdd);\n };\n\n const handleZones = ({ data, destination, source, draggableId }) => {\n //TODO: use this to auto populate the map\n const isAdd = source.droppableId.includes(\"add\");\n data.locations.forEach((location, i) => {\n if (location._id === destination.droppableId) {\n let currentZone = findZone(draggableId);\n if (isAdd) currentZone = getZone();\n updateZone(currentZone, destination, source, isAdd);\n }\n });\n };\n const handleMaps = ({ data, destination, source, draggableId }) => {\n //TODO: use this to auto populate the map\n const isAdd = source.droppableId.includes(\"add\");\n data.locations.forEach((location, i) => {\n location.zones.forEach((zone, j) => {\n if (zone._id === destination.droppableId) {\n let currentMap = findMap(draggableId);\n if (isAdd) currentMap = getMap();\n updateMap(currentMap, destination, source, isAdd);\n }\n });\n });\n };\n const handleMenus = async ({ data, destination, source, draggableId }) => {\n const droppableElement = document.querySelector(`[data-rbd-droppable-id=\"${destination.droppableId}\"]`);\n const zoneDroppableId = droppableElement.parentElement.parentElement.getAttribute(\"data-rbd-droppable-id\");\n\n //TODO: use this to auto populate the map\n let theMenu;\n let containsCurrent = false;\n const counts = {\n locations: 0,\n zones: 0,\n maps: 0,\n };\n\n const isAdd = source.droppableId.includes(\"add\");\n data.locations.forEach((location, i) => {\n counts.locations++;\n location.zones.forEach((zone, j) => {\n counts.zones++;\n zone.maps.forEach((map) => {\n counts.maps++;\n if (map._id === destination.droppableId) {\n let currentMenu = findMenu(draggableId);\n if (isAdd) currentMenu = getMenu(draggableId);\n containsCurrent = map?.menus?.find((menu) => menu?.menu?._id === currentMenu?.menu?._id);\n theMenu = currentMenu;\n }\n });\n });\n });\n\n if (containsCurrent) {\n toast(\"Menu already exists in this map\");\n return;\n }\n\n let addToAll = false;\n\n let theCount = 0;\n data.locations?.[0].zones.forEach((zone) => {\n if (zone?._id === zoneDroppableId) {\n theCount = zone?.maps?.length;\n }\n });\n\n if (theCount > 1) {\n try {\n addToAll = await showConfirmationModal();\n } catch (error) {\n console.error(error);\n }\n }\n\n updateMenu(theMenu, destination, source, addToAll);\n };\n\n const updateLocation = (currentLocation, destination, source, isAdd) => {\n let stateCopy = { ...data };\n !isAdd && stateCopy.locations.splice(source.index, 1);\n stateCopy.locations.splice(destination.index, 0, currentLocation);\n setData(stateCopy);\n };\n\n const updateZone = (currentZone, destination, source) => {\n let stateCopy = { ...data };\n stateCopy.locations.forEach((location, i) => {\n if (location._id === source.droppableId) {\n location.zones.splice(source.index, 1);\n }\n if (location._id === destination.droppableId) {\n location.zones.splice(destination.index, 0, currentZone);\n }\n // if (!destination && !source) {\n // }\n });\n setData(stateCopy);\n };\n const updateMap = (currentMap, destination, source) => {\n let stateCopy = { ...data };\n stateCopy.locations.forEach((location, i) => {\n location.zones.forEach((zone, i) => {\n if (zone._id === source.droppableId) {\n zone.maps.splice(source.index, 1);\n }\n if (zone._id === destination.droppableId) {\n zone.maps.splice(destination.index, 0, currentMap);\n }\n });\n });\n setData(stateCopy);\n };\n const updateMenu = (currentMenu, destination, source, addToAll = false) => {\n const droppableElement = document.querySelector(`[data-rbd-droppable-id=\"${destination.droppableId}\"]`);\n const zoneDroppableId = droppableElement.parentElement.parentElement.getAttribute(\"data-rbd-droppable-id\");\n\n let stateCopy = { ...data };\n stateCopy.locations.forEach((location, i) => {\n location.zones.forEach((zone, i) => {\n zone.maps.forEach((map) => {\n // TODO: improve this by removing locations\n if (map._id === source.droppableId) {\n map.menus.splice(source.index, 1);\n }\n if (source?.droppableId.includes(\"add_menu\")) {\n if (addToAll) {\n const found = map?.menus?.find((menu) => menu?.menu?._id === currentMenu?.menu?._id);\n if (found) return;\n if (zone._id === zoneDroppableId) {\n map.menus.splice(destination.index, 0, currentMenu);\n }\n } else {\n if (map._id === destination.droppableId) {\n map.menus.splice(destination.index, 0, currentMenu);\n }\n }\n } else {\n if (map._id === destination.droppableId) {\n map.menus.splice(destination.index, 0, currentMenu);\n }\n }\n });\n });\n });\n\n setData(stateCopy);\n updateMaps();\n };\n const findLocation = (id) => {\n return data.locations.find((location) => location._id === id);\n };\n\n const findZone = (id) => {\n let currentZone;\n data.locations.forEach((location) => {\n location.zones.forEach((zone) => {\n if (zone._id === id) {\n currentZone = zone;\n }\n });\n });\n return currentZone;\n };\n\n const findAndUpdateZone = (id, name) => {\n const temp = { ...data };\n\n temp.locations.forEach((location) => {\n location.zones.forEach((zone) => {\n if (zone._id === id) {\n zone.name = name;\n }\n });\n });\n setData(temp);\n };\n\n const findAndUpdateMap = (id, name) => {\n const temp = { ...data };\n\n temp.locations.forEach((location) => {\n location.zones.forEach((zone) => {\n zone.maps.forEach((map) => {\n if (map._id === id) {\n map.name = name;\n }\n });\n });\n });\n setData(temp);\n };\n\n const findAndUpdateLocation = (id, name) => {\n const temp = { ...data };\n\n temp.locations.forEach((location) => {\n if (location._id === id) {\n location.name = name;\n }\n });\n setData(temp);\n };\n\n const findAndDeleteLocation = (id, name) => {\n const temp = { ...data };\n temp.locations.forEach((location, index) => {\n if (location._id === id) {\n temp.locations.splice(index, 1);\n }\n });\n\n setData(temp);\n updateMaps();\n };\n\n const findAndDeleteZone = (id, loc_index) => {\n const temp = { ...data };\n\n temp.locations[loc_index].zones.forEach((zone, index) => {\n if (zone._id === id) {\n temp.locations[loc_index].zones.splice(index, 1);\n }\n });\n\n setData(temp);\n updateMaps();\n };\n\n const findAndDeleteMap = (id, zon_index, loc_index) => {\n const temp = { ...data };\n\n temp.locations[loc_index].zones[zon_index].maps.forEach((map, index) => {\n if (map._id === id) {\n temp.locations[loc_index].zones[zon_index].maps.splice(index, 1);\n }\n });\n\n setData(temp);\n updateMaps();\n };\n\n const findAndDeleteMenu = (id, map_index, zon_index, loc_index) => {\n const temp = { ...data };\n\n temp.locations[loc_index].zones[zon_index].maps[map_index].menus.forEach((menu, index) => {\n if (menu._id === id) {\n temp.locations[loc_index].zones[zon_index].maps[map_index].menus.splice(index, 1);\n }\n });\n\n setData(temp);\n updateMaps();\n };\n\n const findMap = (id) => {\n let currentMap;\n data.locations.forEach((location) => {\n location.zones.forEach((zone) => {\n zone.maps.forEach((map) => {\n if (map._id === id) {\n currentMap = map;\n }\n });\n });\n });\n return currentMap;\n };\n\n const findMenu = (id) => {\n let currentMenu;\n data.locations.forEach((location) => {\n location.zones.forEach((zone) => {\n zone.maps.forEach((map) => {\n map.menus.forEach((menu) => {\n if (menu._id === id) {\n currentMenu = menu;\n }\n });\n });\n });\n });\n return currentMenu;\n };\n\n const loadMaps = async () => {\n const response = await Api.call(Endpoint.maps.get);\n if (response?.message?.locations?.length > 0) {\n setData({ locations: response?.message?.locations });\n } else {\n setData(initialState);\n }\n };\n\n const updateMaps = async (rewrite) => {\n let tempData = { ...data };\n if (rewrite) tempData = { ...rewrite };\n tempData?.locations?.forEach((location) => {\n location?._id?.includes(\"-\") && delete location?._id;\n location?.zones.forEach((zone) => {\n zone?._id?.includes(\"-\") && delete zone?._id;\n zone?.maps.forEach((map) => {\n map?._id?.includes(\"-\") && delete map?._id;\n map?.menus.forEach((menu) => {\n menu?._id?.includes(\"-\") && delete menu?._id;\n });\n });\n });\n });\n\n const response = await Api.call(Endpoint.maps.post, { data: tempData });\n if (response?.message?.locations !== undefined) setData({ locations: response?.message?.locations });\n };\n\n useEffect(() => {\n Menu?.load();\n loadMaps();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const onDragEnd = (result) => {\n const { destination, source, draggableId } = result;\n //TODO: use this to auto populate the map\n if (!destination) return;\n\n if (destination.droppableId === source.droppableId && destination.index === source.index) return;\n\n switch (result.type) {\n case \"location\":\n handleLocations({ data, destination, source, draggableId });\n break;\n case \"zone\":\n handleZones({ data, destination, source, draggableId });\n break;\n case \"map\":\n handleMaps({ data, destination, source, draggableId });\n break;\n case \"menu\":\n handleMenus({ data, destination, source, draggableId });\n break;\n default:\n break;\n }\n\n updateMaps();\n };\n\n const showConfirmationModal = () => {\n return new Promise((resolve, reject) => {\n setModal({\n ...modal,\n title: \"Add this menu to all maps on this zone?\",\n visible: true,\n confirmation: true,\n Component: (\n {\n try {\n resolve(true);\n } catch (error) {\n reject(false);\n }\n }}\n closeModal={() => {\n setModal({ ...modal, visible: false });\n reject(false);\n }}\n />\n ),\n });\n });\n };\n\n return (\n
    \n \n \n
    \n
    \n {\n setCollapsedTypes(!collapsedTypes);\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
    \n
    \n
    Display Types
    \n
    \n \n {(provided) => (\n
    \n {MapTypes && MapTypes?.map((mapType, index) => )}\n {provided.placeholder}\n
    \n )}\n
    \n
    \n
    \n
    Menus
    \n \n {(provided) => (\n
    \n {Menu && Menu?.menus?.map((menu, index) => )}\n {provided.placeholder}\n
    \n )}\n
    \n
    \n
    \n
    \n
    \n {/* {\n updateMaps(initialState);\n }}\n >\n Reset maps\n */}\n \n {(provided) => (\n
    \n {data &&\n data?.locations?.map((location, index) => (\n \n ))}\n {provided.placeholder}\n
    \n )}\n
    \n
    \n
    \n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n Menu: state?.Menu,\n});\n\nexport default connect(mapStateToProps)(withDashboardLayout(MapsSection));\n","import MapsSection from \"./MapsSection\";\nexport default MapsSection;\n","import Table from \"./Table\";\nexport default Table;\n","import React, { useState, useEffect } from \"react\";\nimport Section from \"../../components/Section/Section\";\nimport { connect } from \"react-redux\";\nimport Modal from \"../../components/Modal\";\nimport { AddMember } from \".\";\nimport styles from \"./Members.module.scss\";\nimport DeleteConfirmation from \"../../components/Forms/DeleteConfirmation\";\nimport { Api, Endpoint } from \"../../api\";\nimport { toast } from \"react-toastify\";\nimport TableStyle from \"../../components/Table/Table.module.scss\";\nimport { Tooltip } from \"@material-ui/core\";\nimport Table from \"../../components/Table\";\n\nimport CONSTANTS from \"../../utils/constants\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\n\nconst { USER } = CONSTANTS;\n\nfunction Members({ Auth, Restaurant }) {\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n updateMember: null,\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const toastId = React.useRef(null);\n\n const [displayMembers, setDisplayMembers] = useState(null);\n const { members } = Restaurant;\n\n useEffect(() => {\n let membersObj = [];\n members.forEach((member) => {\n let permissions = member.permissions;\n delete permissions.admin;\n delete permissions.superAdmin;\n delete permissions.dma;\n delete permissions.dma_client;\n\n membersObj.push({\n ...member,\n permissionsLabel: Object.keys(permissions)\n .filter((el) => permissions[el])\n .join(\", \")\n .toUpperCase(),\n });\n });\n\n setDisplayMembers(membersObj);\n }, [members]);\n\n const deleteMembers = (ids, name) => {\n let customButtonMessage = Array?.isArray(ids) ? `Delete ${ids?.length} ${ids?.length === 1 ? \"member\" : \"members\"}` : `Delete members`;\n let customMessage = `Are you sure you want to delete ${\n ids?.length <= 1 ? `${name ? name : \"this member\"}` : `${ids?.length} members`\n }?`;\n\n setModal({\n ...modal,\n visible: true,\n title: \"Delete member\",\n confirmation: true,\n Component: (\n {\n const data = { ids };\n const response = await Api.call(Endpoint.deleteMember, { data });\n if (response?.confirmation === \"Success\") Restaurant.loadMembers({ forceRender: true });\n return response;\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const resendInvitation = async (member) => {\n toastId.current = toast(\"The invitation has been sent successfully.\");\n const response = await Api.call(Endpoint.resendInvitation, { data: { member: member } });\n if (response?.confirmation === \"Fail\") {\n toast.dismiss(toastId.current);\n toast(response?.message);\n }\n };\n\n const columns = [\n {\n field: \"First name\",\n access: \"firstName\",\n },\n {\n field: \"Last name\",\n access: \"lastName\",\n },\n {\n field: \"Permissions\",\n access: \"permissionsLabel\",\n },\n Auth?.user?.role === USER.ROLES.RESTAURANT && {\n field: \"Verified\",\n render: ({ row, column, index }) => {\n return (\n
    \n
    {row?.state ? \"Yes\" : \"No\"}
    \n {!row?.state && (\n
    \n \n resendInvitation(row)}>\n \n
    \n )}\n
    \n );\n },\n },\n {\n field: \"Actions\",\n render: ({ row, column, index }) => (\n
    \n {\n setModal({\n ...modal,\n visible: true,\n title: \"Update member\",\n Component: ,\n });\n }}\n className={`edit-icon fal fa-edit`}\n >\n {\n if (Array.isArray(row)) {\n deleteMembers(row);\n return;\n }\n deleteMembers([row?._id], row?.username);\n }}\n className={`delete-icon far fa-trash-alt`}\n >\n
    \n ),\n },\n ];\n\n useEffect(() => {\n Restaurant?.loadMembers();\n // eslint-disable-next-line\n }, []);\n\n return (\n <>\n \n \n setModal({\n ...modal,\n visible: true,\n Component: ,\n title: \"Add member\",\n }),\n }}\n >\n deleteMembers(ids)}\n />\n \n \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state?.Auth, Restaurant: state?.Restaurant });\nexport default connect(mapStateToProps)(withDashboardLayout(Members));\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { toast } from \"react-toastify\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { useHistory } from \"react-router-dom\";\nimport styles from \"./Members.module.scss\";\nimport { Api, Endpoint } from \"../../api\";\nimport Helpers from \"../../helpers/general\";\nimport registerFormStyle from \"../Register/Register.module.scss\";\nimport PhoneInput from \"react-phone-input-2\";\n\nconst { passwordRegex, passwordMessage } = Helpers.getPasswordRegex();\n\nfunction VerifyAccountMember() {\n const [loading, setLoading] = useState(true);\n const [submitLoading, setSubmitLoading] = useState(false);\n const [error, setError] = useState(false);\n const [memberData, setMemberData] = useState(null);\n const [phoneNumber, setPhoneNumber] = useState(\"+1\");\n const history = useHistory();\n\n const { register, handleSubmit, errors, setValue, watch } = useForm();\n\n const password = useRef({});\n password.current = watch(\"password\", \"\");\n\n useEffect(() => {\n register({ name: \"phoneNumber\", value: phoneNumber });\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n setValue(\"phoneNumber\", phoneNumber);\n //eslint-disable-next-line\n }, [phoneNumber]);\n\n const getToken = () => {\n return new URLSearchParams(window.location.search).get(\"token\");\n };\n\n const verifyAccountToken = async () => {\n const response = await Api.call(Endpoint.verifyMemberToken, { params: [getToken()] });\n if (response?.confirmation === \"Fail\") {\n setLoading(false);\n setError(\"Your account has been already verified or this link is not valid.\");\n return;\n }\n setMemberData(response?.message);\n setLoading(false);\n setError(null);\n };\n\n const submit = async (data) => {\n setSubmitLoading(true);\n const response = await Api.call(Endpoint.verifyMemberAccount, { data, params: [getToken()] });\n if (response?.confirmation === \"Success\") {\n setSubmitLoading(false);\n toast(\"Account completed successfully.\");\n history.push(\"/login\");\n return;\n }\n setSubmitLoading(false);\n toast(response?.message);\n };\n\n useEffect(() => {\n verifyAccountToken();\n //eslint-disable-next-line\n }, []);\n\n return (\n <>\n
    \n {loading ? (\n <>\n \n

    Please wait...

    \n \n ) : error ? (\n <>\n \n

    {error}

    \n \n ) : (\n <>\n
    \n
    \n \n {memberData?.username && (\n

    \n {\" \"}\n Hi {memberData?.username}!{\" \"}\n

    \n )}\n

    Please complete your account.

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {errors?.username?.message && (\n {errors?.username?.message}\n )}\n \n \n \n setPhoneNumber(phone)}\n />\n \n \n \n \n {errors?.password?.message && (\n {errors?.password?.message}\n )}\n \n \n \n value === password.current || \"The password confirmation does not match.\",\n })}\n type=\"password\"\n name=\"confirm_password\"\n placeholder=\"Confirm Password\"\n />\n {errors?.confirm_password?.message && (\n {errors?.confirm_password?.message}\n )}\n \n 0 ? true : false}\n style={{ width: \"100%\" }}\n onClick={handleSubmit(submit)}\n >\n {submitLoading ? : \"Submit\"}\n \n \n
    \n
    \n \n )}\n
    \n \n );\n}\n\nexport default VerifyAccountMember;\n","import React, { useState, useEffect } from \"react\";\nimport { toast } from \"react-toastify\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport registerStyle from \"../../Views/Register/Register.module.scss\";\nimport ModalFooter from \"../../components/Modal/ModalFooter\";\nimport styles from \"./Members.module.scss\";\nimport Checkbox from \"../../components/Checkbox\";\nimport { Api, Endpoint } from \"../../api\";\n\nimport CONSTANTS from \"../../utils/constants\";\n\nconst { USER } = CONSTANTS;\n\n//eslint-disable-next-line\nString.prototype.capitalize = function () {\n return this.charAt(0).toUpperCase() + this.slice(1);\n};\n\nconst memberPermissionsNames = {\n restaurant: {\n label: \"Restaurant settings\",\n description: \"Manage restaurant settings\",\n },\n menu: {\n label: \"Menus\",\n description: \"Manage menus, such as creating, updating and deleting.\",\n },\n category: {\n label: \"Categories\",\n description: \"Manage categories, such as creating, updating and deleting.\",\n },\n dish: {\n label: \"Dishes\",\n description: \"Manage dishes, such as creating, updating and deleting.\",\n },\n ingredient: {\n label: \"Ingredients\",\n description: \"Manage ingredients, such as creating, updating and deleting.\",\n },\n member: {\n label: \"Members\",\n description: \"Create and see all members.\",\n },\n};\n\nfunction AddMember({ closeModal, Restaurant, updateMember, Auth }) {\n const [memberPermissions, setMemberPermissions] = useState({\n member: false,\n restaurant: false,\n menu: false,\n category: false,\n dish: false,\n ingredient: false,\n });\n const [loading, setLoading] = useState(false);\n const [customError, setCustomError] = useState(null);\n const { register, handleSubmit, errors, setValue } = useForm();\n\n const allPermissionsSelected = Object.keys(memberPermissions).every((permissions) => memberPermissions[permissions] === true);\n\n const disablePermission = (permission) => {\n if (Auth?.user?.role === USER.ROLES.MEMBER && !Auth?.user?.permissions[permission]) return true;\n return false;\n };\n\n const onChangePermission = ({ permission }) => {\n setMemberPermissions({\n ...memberPermissions,\n [permission]: !memberPermissions[permission],\n });\n };\n\n const toggleSelectAll = (boolean) => {\n let tempPermissions = { ...memberPermissions };\n Object.keys(tempPermissions).forEach((key) => {\n if (Auth?.user?.permissions[key]) {\n tempPermissions = { ...tempPermissions, [key]: boolean };\n }\n });\n setMemberPermissions(tempPermissions);\n };\n\n useEffect(() => {\n register({ name: \"permissions\", value: memberPermissions });\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n setValue(\"permissions\", memberPermissions);\n //eslint-disable-next-line\n }, [memberPermissions]);\n\n useEffect(() => {\n if (typeof updateMember?.permissions === \"object\") {\n let tempPermissions = { ...updateMember?.permissions };\n delete tempPermissions[\"superAdmin\"];\n delete tempPermissions[\"admin\"];\n setMemberPermissions(tempPermissions);\n }\n //eslint-disable-next-line\n }, [updateMember]);\n\n const submit = async (data) => {\n setLoading(true);\n const response =\n updateMember && updateMember?._id\n ? await Api.call(Endpoint.updateMember, {\n data,\n params: [updateMember?._id],\n })\n : await Api.call(Endpoint.createMember, { data });\n if (response?.confirmation === \"Success\") {\n setCustomError(null);\n toast(\n updateMember && updateMember?._id\n ? \"Member updated successfully\"\n : \"Member created successfully. We have sent an email with a confirmation link to this user.\"\n );\n typeof closeModal === \"function\" && closeModal();\n Restaurant.loadMembers({ forceRender: true });\n }\n toast(response?.message);\n setLoading(false);\n };\n\n const getUpdateMemberField = (field) => {\n try {\n if (updateMember && typeof updateMember === \"object\" && Object?.keys(updateMember)?.length) {\n return updateMember[field];\n }\n return \"\";\n } catch (err) {\n return \"\";\n }\n };\n\n return (\n <>\n
    \n {!updateMember?._id && (\n \n Username\n \n {(errors?.username?.message || customError) && (\n {errors?.username?.message || customError}\n )}\n \n )}\n \n Email\n \n {errors?.email?.message && {errors?.email?.message}}\n \n\n {/* Permissions */}\n \n Permissions\n
    \n
      \n
    • \n \n toggleSelectAll(!allPermissionsSelected)}\n />\n All permissions\n \n
    • \n {Object.keys(memberPermissions).map((keyPermission, index) => (\n
    • \n \n \n onChangePermission({\n permission: keyPermission,\n })\n }\n />\n \n {memberPermissionsNames[keyPermission]?.label}\n
      \n {memberPermissionsNames[keyPermission]?.description}\n
      \n
      \n
    • \n ))}\n
    \n
    \n
    \n
    \n \n \n {typeof closeModal === \"function\" && (\n \n )}\n \n \n );\n}\n\nexport default AddMember;\n","import React, { useState } from \"react\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport { toast } from \"react-toastify\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button, Alert } from \"react-bootstrap\";\nimport { Api, Endpoint } from \"../../../api\";\nimport { useHistory } from \"react-router-dom\";\n\nimport CONSTANTS from \"../../../utils/constants\";\n\nconst { USER } = CONSTANTS;\n\nexport default function DeleteAccountForm({ Auth, closeModal }) {\n const history = useHistory();\n const { register, handleSubmit, errors } = useForm();\n const [loading, setLoading] = useState(false);\n\n const [error, setError] = useState(null);\n\n const submit = async (data) => {\n setLoading(true);\n\n const response = await Api.call(Endpoint.deleteAccount, { data });\n if (!response || response?.confirmation === \"Fail\") {\n setLoading(false);\n setError(response?.message);\n return;\n }\n\n Auth.resetAuthState();\n Auth.resetStateData();\n\n setError(null);\n setLoading(false);\n\n toast(\"Account deleted successfully.\");\n\n history.push(\"/login\");\n };\n return (\n
    \n
    \n {Auth?.user?.role !== USER.ROLES.SUPER_ADMIN && (\n \n
    Are you sure you want to proceed?
    \n
    This action cannot be undone!
    \n
    \n )}\n \n Password\n \n {(errors?.password?.message || error) && {errors?.password?.message || error}}\n \n\n \n {typeof closeModal === \"function\" && (\n \n )}\n \n \n
    \n
    \n );\n}\n","import DeleteAccountForm from \"./DeleteAccountForm\"\nexport default DeleteAccountForm","import React, { useEffect, useState } from \"react\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport registerStyle from \"../../../Views/Register/Register.module.scss\";\nimport { toast } from \"react-toastify\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button } from \"react-bootstrap\";\nimport styles from \"./UpdateAccountForm.module.scss\";\nimport PhoneInput from \"react-phone-input-2\";\nimport Modal from \"../../Modal\";\nimport DeleteAccountForm from \"../DeleteAccountForm\";\n\nimport CONSTANTS from \"../../../utils/constants\";\n\nimport ReCaptchaComponent from \"../../../components/ReCaptcha\";\nimport useReCaptcha from \"../../../hoc/useReCaptcha\";\n\nconst { USER } = CONSTANTS;\n\nfunction UpdateAccountForm({ Auth, User }) {\n const { register, handleSubmit, errors, setValue } = useForm();\n const { reCaptchaRef, executeReCaptchaToken, onChangeReCaptcha } = useReCaptcha();\n\n const [phoneNumber, setPhoneNumber] = useState(User?.phoneNumber ? User?.phoneNumber : \"\");\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n useEffect(() => {\n register({ name: \"phoneNumber\", value: phoneNumber });\n // eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n setValue(\"phoneNumber\", phoneNumber);\n // eslint-disable-next-line\n }, [phoneNumber]);\n\n useEffect(() => {\n if (User?.phoneNumber && User?.phoneNumber !== phoneNumber) {\n setPhoneNumber(User?.phoneNumber);\n }\n\n if (User?.role === USER.ROLES.SUPER_ADMIN || User?.role === USER.ROLES.ADMIN) {\n register({ name: \"username\" });\n setValue(\"username\", User?.username);\n }\n // eslint-disable-next-line\n }, [User]);\n\n const submit = async (data) => {\n setLoading(true);\n\n const reCaptchaToken = await executeReCaptchaToken();\n data.reCaptchaToken = reCaptchaToken;\n\n const response = await Auth.UPDATE_ACCOUNT(data);\n if (response?.confirmation === \"Success\") {\n setError(null);\n setLoading(false);\n toast(\"Account updated successfully\");\n return;\n }\n setError(response?.message);\n setLoading(false);\n };\n\n const getUserField = (field) => {\n return User?.[field] || \"\";\n };\n\n const showDeleteAccountModal = () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Delete account\",\n Component: ,\n });\n };\n\n return (\n
    \n \n
    \n \n\n \n \n First Name\n \n \n \n Last Name\n \n \n \n\n \n \n Username\n \n {(errors?.username?.message || error) && (\n {errors?.username?.message || error}\n )}\n \n \n Email\n \n \n \n\n {Auth?.user?.role === USER.ROLES.DMA && (\n \n Company Name\n \n {(errors?.company_name?.message || error) && (\n {errors?.company_name?.message || error}\n )}{\" \"}\n \n )}\n \n Phone Number\n setPhoneNumber(phone)} />\n \n\n \n {Auth?.user?.role !== USER.ROLES.SUPER_ADMIN && Auth?.user?.role !== USER.ROLES.DMA_CLIENT && (\n \n )}\n 0 ? true : false}\n type=\"submit\"\n >\n {loading ? : \"Update account\"}\n \n \n \n
    \n );\n}\n\nexport default UpdateAccountForm;\n","import UpdateAccountForm from \"./UpdateAccountForm\"\nexport default UpdateAccountForm;","import React, { useState, useRef } from \"react\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport registerStyle from \"../../../Views/Register/Register.module.scss\";\nimport { toast } from \"react-toastify\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button, Alert } from \"react-bootstrap\";\nimport Helpers from \"../../../helpers/general\";\n\nimport { Api, Endpoint } from \"../../../api\";\n\nimport ReCaptchaComponent from \"../../../components/ReCaptcha\";\nimport useReCaptcha from \"../../../hoc/useReCaptcha\";\n\nconst { passwordRegex, passwordMessage } = Helpers.getPasswordRegex();\n\nexport default function UpdatePassword() {\n const { reCaptchaRef, executeReCaptchaToken, onChangeReCaptcha } = useReCaptcha();\n\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n const { register, handleSubmit, errors, watch, reset } = useForm();\n\n const new_password = useRef({});\n new_password.current = watch(\"new_password\", \"\");\n\n const submit = async (data) => {\n setLoading(true);\n\n const reCaptchaToken = await executeReCaptchaToken();\n data.reCaptchaToken = reCaptchaToken;\n\n const response = await Api.call(Endpoint.updatePassword, { data });\n setLoading(false);\n\n if (response?.statusCode !== 200) {\n setError(response?.message);\n return;\n }\n\n setError(null);\n reset();\n toast.success(\"Password updated successfully\");\n };\n return (\n
    \n {error && {error}}\n
    \n \n \n \n Current Password\n \n {errors?.current_password?.message && (\n {errors?.current_password?.message}\n )}\n \n \n New Password\n \n {errors?.new_password?.message && (\n {errors?.new_password?.message}\n )}\n \n \n Confirm New Password\n value === new_password?.current || \"The password confirmation does not match.\",\n })}\n placeholder=\"Confirm New password\"\n />\n {errors?.confirm_new_password?.message && (\n {errors?.confirm_new_password?.message}\n )}\n \n \n\n \n \n
    \n );\n}\n","import React, { useState } from \"react\";\nimport UpdateAccountForm from \"../../components/Forms/UpdateAccountForm\";\nimport UpdatePasswordForm from \"../../components/Forms/UpdateAccountForm/UpdatePassword\";\nimport Section from \"../../components/Section\";\nimport { connect } from \"react-redux\";\n\nimport styles from \"./UpdateAccount.module.scss\";\nimport { Row, Col } from \"react-bootstrap\";\nimport Button from \"@material-ui/core/Button\";\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\n\nconst tab_options = {\n PERSONAL_INFORMATION: \"PERSONAL_INFORMATION\",\n PASSWORD: \"PASSWORD\",\n};\n\nfunction UpdateAccount({ Auth }) {\n const [tab, setTab] = useState(tab_options.PERSONAL_INFORMATION);\n\n return (\n
    \n
    \n \n \n setTab(tab_options?.PERSONAL_INFORMATION)}\n variant={tab === tab_options?.PERSONAL_INFORMATION ? \"contained\" : \"outlined\"}\n >\n Personal Information\n \n \n \n setTab(tab_options?.PASSWORD)}\n variant={tab === tab_options?.PASSWORD ? \"contained\" : \"outlined\"}\n >\n Password\n \n \n \n
    \n
    \n {tab === tab_options?.PERSONAL_INFORMATION ? (\n \n ) : (\n \n )}\n
    \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(withDashboardLayout(UpdateAccount));\n","import UpdateAccount from \"./UpdateAccount\"\nexport default UpdateAccount;","import React, { useEffect, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button } from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport { toast } from \"react-toastify\";\nimport registerStyle from \"../../../Views/Register/Register.module.scss\";\nimport ReCaptchaComponent from \"../../../components/ReCaptcha\";\nimport useReCaptcha from \"../../../hoc/useReCaptcha\";\nimport SelectList from \"../../SelectList\";\nimport { Tooltip } from \"@material-ui/core\";\nimport CONSTANTS from \"../../../utils/constants\";\n\nconst {\n RESTAURANT: { TYPES },\n} = CONSTANTS;\n\nfunction AddRestaurantForm({ Auth, Restaurant }) {\n const { reCaptchaRef, executeReCaptchaToken, onChangeReCaptcha } = useReCaptcha();\n const [loading, setLoading] = useState(false);\n const { register, handleSubmit, errors } = useForm();\n const [isLocation, setIsLocation] = useState(false);\n const [selectedLocation, setSelectedLocation] = useState(null);\n const [dynamicLabels, setDynamicLabels] = useState();\n\n // const { restaurant } = Restaurant;\n const restaurant = Auth?.user?.restaurants?.[0];\n\n const submit = async (data) => {\n setLoading(true);\n\n const reCaptchaToken = await executeReCaptchaToken();\n data.reCaptchaToken = reCaptchaToken;\n\n if (isLocation) {\n data.restaurant = selectedLocation?.value;\n }\n\n const response = await Auth.ADD_RESTAURANT(data);\n if (!response || response?.confirmation === \"Fail\") {\n setLoading(false);\n toast(response?.message);\n return;\n }\n setLoading(false);\n window.location.href = \"/\";\n };\n\n const handleLocationToggle = (e) => {\n setIsLocation(!isLocation);\n };\n\n const transformAccounts = (accounts) => {\n if (accounts?.length === 0) return [];\n const selectOptions = [];\n accounts.forEach((account) => {\n if (account?.restaurants?.[0]?.parentRestaurant) return;\n\n selectOptions.push({\n value: account?.restaurants?.[0],\n label: account?.username,\n });\n });\n return selectOptions;\n };\n\n useEffect(() => {\n const restaurantType = TYPES[restaurant?.restaurantType?.toUpperCase()]?.toUpperCase();\n const restaurantRadioLabel = restaurantType === \"RESTAURANT\" ? \"New Location No Menus\" : \"New Food Truck No Menus\";\n const submitLabel = restaurantType === \"RESTAURANT\" ? \"Add Restaurant\" : \"Add Food Truck\";\n const locationRadioLabel = restaurantType === \"RESTAURANT\" ? \"New Location copy all menus\" : \"New Food truck copy all menus\";\n const tooltipLabel =\n restaurantType === \"RESTAURANT\"\n ? \"Choose if you want to add an independent restaurant, or a new location for your existing restaurant\"\n : \"Choose if you want to add an standalone foot truck, or a truck that can inherit their items from your existing one\";\n\n setDynamicLabels({\n restaurantType,\n restaurantRadioLabel,\n locationRadioLabel,\n tooltipLabel,\n submitLabel,\n });\n }, [restaurant]);\n\n return (\n
    \n \n
    \n \n \n \n
    \n \n \n \n
    \n
    \n\n {isLocation && (\n \n {dynamicLabels?.restaurantType ? dynamicLabels?.restaurantType : \"Restaurant\"}s\n {\n setSelectedLocation(data);\n }}\n />\n \n )}\n\n \n Username\n \n {errors?.username?.message && {errors?.username?.message}}\n \n \n \n {dynamicLabels?.restaurantType === \"RESTAURANT\" ? (isLocation ? \"Location\" : \"Restaurant\") : \"New Food Truck\"} name\n \n \n {errors?.restaurantName?.message && {errors?.restaurantName?.message}}\n \n \n \n Note: Newly added {dynamicLabels?.restaurantType ? dynamicLabels?.restaurantType?.toLowerCase() : \"restaurant\"} will use\n the same password as the current account!\n \n \n\n \n \n \n \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state?.Auth, Restaurant: state.Restaurant });\nexport default connect(mapStateToProps)(AddRestaurantForm);\n","import AddRestaurantForm from \"./AddRestaurantForm\"\nexport default AddRestaurantForm;","import React from \"react\";\nimport AddRestaurantForm from \"../../components/Forms/AddRestaurantForm\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\n\nfunction AddRestaurant() {\n return ;\n}\n\nexport default withDashboardLayout(AddRestaurant);\n","import AddRestaurant from \"./AddRestaurant\"\nexport default AddRestaurant;","import { ResponsiveLine } from \"@nivo/line\";\n\nconst CustomLineChart = ({ data }) => (\n
    \n -.2f\"\n axisTop={null}\n axisRight={null}\n enableArea={true}\n enableSlices=\"x\"\n pointSize={10}\n pointColor={{ theme: \"background\" }}\n pointBorderWidth={2}\n pointBorderColor={{ from: \"serieColor\" }}\n pointLabel=\"data.yFormatted\"\n pointLabelYOffset={-12}\n enableTouchCrosshair={true}\n useMesh={true}\n enableGridX={false}\n />\n
    \n);\n\nexport default CustomLineChart;\n","import { ResponsiveBar } from \"@nivo/bar\";\n\nconst CustomBarChart = ({ data }) => (\n
    \n \n
    \n);\n\nexport default CustomBarChart;\n","import { ResponsivePie } from \"@nivo/pie\";\n\nconst CustomPieChart = ({ data }) => (\n
    \n \n
    \n);\n\nexport default CustomPieChart;\n","import { useState, useEffect, useRef } from \"react\";\nimport { Api, Endpoint } from \"../../api\";\nimport SelectList from \"../../components/SelectList\";\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\nimport helpers from \"../../helpers/general\";\nimport CustomLineChart from \"../../components/charts/CustomLineChart\";\nimport CustomBarChart from \"../../components/charts/CustomBarChart\";\nimport styles from \"../../components/Table/Table.module.scss\";\nimport { Table as BootstrapTable } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport CustomPieChart from \"../../components/charts/CustomPieChart\";\nimport { connect } from \"react-redux\";\n\nconst timeOptions = [\n { value: \"7\", label: \"Last 7 days\" },\n { value: \"30\", label: \"Last 30 days\" },\n { value: \"90\", label: \"Last 90 days\" },\n { ...helpers.generateTimeOptions.thisWeek() },\n { ...helpers.generateTimeOptions.thisMonth() },\n { ...helpers.generateTimeOptions.thisQuarter() },\n { ...helpers.generateTimeOptions.thisYear() },\n];\n\nfunction InteractionsDashboard({ Auth }) {\n const [data, setData] = useState();\n // const [activeUsers, setActiveUsers] = useState();\n const [time, setTime] = useState({ value: \"7\", label: \"Last 7 days\" });\n const [titles, setTitles] = useState(null);\n const wrapper = useRef(null);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n setTitles({\n activeUsers: `Active users / Sessions (${time?.value} Day${\n time?.value !== 1 ? \"s\" : \"\"\n })`,\n bounceRate: `% of customers who viewed only one page (${time?.value} Day${\n time?.value !== 1 ? \"s\" : \"\"\n })`,\n screenPageViewsPerUser: `Number of items viewed per user/customer (${\n time?.value\n } Day${time?.value !== 1 ? \"s\" : \"\"})`,\n // averageSessionDuration: `Average user/customer time spent (seconds) (${\n userEngagementDuration: `Average user/customer time spent (minutes) (${\n time?.value\n } Day${time?.value !== 1 ? \"s\" : \"\"})`,\n sessionByHour: `Number of page views per hour (${time?.value} Day${\n time?.value !== 1 ? \"s\" : \"\"\n })`,\n sessions: `Number of page views in (${time?.value} Day${\n time?.value !== 1 ? \"s\" : \"\"\n })`,\n screenPageViewsPerSession: `Average page views per session (${\n time?.value\n } Day${time?.value !== 1 ? \"s\" : \"\"})`,\n sessionsPerUser: \"How many times same users engage\",\n sessionsBySource: `How users/customers found foodi (${time?.value} Day${\n time?.value !== 1 ? \"s\" : \"\"\n })`,\n });\n }, [time]);\n\n useEffect(() => {\n (async () => {\n try {\n const response = await Api.call(Endpoint.gapi.getData, {\n query: { time: time.value },\n });\n\n console.log({ response });\n\n if (response?.statusCode === 200) {\n setLoading(false);\n setData({\n ...response?.message,\n });\n }\n } catch (error) {\n console.log({ error });\n }\n })();\n }, [time]);\n\n if (loading) {\n return ;\n }\n\n return (\n
    \n
    \n \n
    \n \n {data?.activeUsers?.[0]?.data?.length !== 0 && (\n
    \n
    {titles?.activeUsers}
    \n \n
    \n )}\n\n {data?.bounceRate?.length !== 0 && (\n
    \n
    {titles?.bounceRate}
    \n \n
    \n )}\n\n {/* {data?.userEngagementDuration?.[0]?.data?.length !== 0 && (\n
    \n
    {titles?.userEngagementDuration}
    \n \n
    \n )} */}\n\n {data?.screenPageViewsPerSession?.length !== 0 && (\n
    \n
    {titles?.screenPageViewsPerSession}
    \n \n
    \n )}\n\n {/* {data?.sessions?.[0]?.data?.length !== 0 && (\n
    \n
    {titles?.sessions}
    \n \n
    \n )} */}\n\n {data?.sessionsPerUser?.[0]?.data?.length !== 0 && (\n
    \n
    {titles?.sessionsPerUser}
    \n \n
    \n )}\n\n {data?.screenPageViewsPerUser?.[0]?.data?.length !== 0 && (\n
    \n
    {titles?.screenPageViewsPerUser}
    \n \n
    \n )}\n\n {data?.sources?.length !== 0 && (\n
    \n
    How users found your menu
    \n \n
    \n )}\n\n {data?.mostVisitedMenus?.length !== 0 && (\n
    \n
    \n Most visited Menus ({time?.value} Day\n {time?.value !== 1 ? \"s\" : \"\"})\n
    \n
    \n \n \n \n #\n Menu Title\n Menu Id\n # Visits\n \n \n \n {data?.mostVisitedMenus?.map((menu, index) => {\n const regex =\n /platform\\.foodi-menus\\.com\\/menu\\/([a-f0-9]{24})/;\n\n const match = menu?.path?.match(regex);\n if (match) {\n const path = match[1];\n return (\n \n {index + 1}\n \n \n {menu?.title}\n \n \n \n {path}\n \n \n {menu?.value}\n \n \n );\n } else {\n return null;\n }\n })}\n \n \n
    \n
    \n )}\n\n {data?.mostVisitedMenuItems?.length !== 0 && (\n
    \n
    \n Most visited menu item ({time?.value} Day\n {time?.value !== 1 ? \"s\" : \"\"})\n
    \n\n
    \n \n \n \n #\n Menu Title\n Item Id\n # Visits\n \n \n \n {data?.mostVisitedMenuItems?.map((dish, index) => {\n const regex = /dish\\/([a-f0-9]{24})/;\n\n const match = dish?.path?.match(regex);\n if (match) {\n const path = match?.[1];\n return (\n \n {index + 1}\n \n \n {dish?.title}\n \n \n \n {path}\n \n \n {dish?.value}\n \n \n );\n } else {\n return null;\n }\n })}\n \n \n
    \n
    \n )}\n
    \n \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(InteractionsDashboard);\n","import InteractionsDashboard from \"./InteractionsDashboard\";\nexport default InteractionsDashboard;\n","import React from \"react\";\nimport withLayout from \"../../Layouts/AdminPanel\";\nimport Section from \"../../components/Section\";\nimport InteractionsDashboard from \"../../components/InteractionsDashboard\";\n\nfunction MenuInteractions({ Auth }) {\n return (\n
    \n \n
    \n );\n}\n\nexport default withLayout(MenuInteractions);\n","import React, { useEffect, useState } from \"react\";\nimport { Api, Endpoint } from \"../../api/index\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport Pagination from \"../../components/Pagination\";\nimport { toast } from \"react-toastify\";\n\nimport Checkbox from \"../../components/Checkbox\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\n\nconst useStyles = makeStyles({\n table: {\n minWidth: 650,\n },\n cell_short: {\n maxWidth: \"300px\",\n wordWrap: \"break-word\",\n },\n});\n\nfunction Logs() {\n const [pagination, setPagination] = useState({\n page: 0,\n count: 0,\n limit: 2,\n });\n const [logs, setLogs] = useState([]);\n const [checkedRows, setCheckedRows] = useState([]);\n\n const classes = useStyles();\n\n const loadLogs = async (query = {}) => {\n const response = await Api.call(Endpoint.admin.logs.read, { query });\n if (response.statusCode === 200) {\n setLogs(response?.message?.logs);\n setPagination(response?.message?.pagination);\n return;\n }\n setLogs([]);\n setPagination({ page: 0, count: 0, limit: 2 });\n };\n\n const checkAllRows = function () {\n if (logs?.length === Object?.keys(checkedRows)?.length) {\n setCheckedRows({});\n } else {\n const newCheckedRows = {};\n logs?.forEach((log) => (newCheckedRows[log?._id] = true));\n setCheckedRows(newCheckedRows);\n }\n };\n\n const deleteLogs = async () => {\n const ids = Object?.keys(checkedRows)?.filter((key) => checkedRows[key]);\n\n const data = { ids };\n const response = await Api.call(Endpoint.admin.logs.delete, { data });\n\n setCheckedRows({});\n\n if (response.statusCode === 200) {\n loadLogs({ page: pagination?.page });\n toast(\"Logs deleted successfully\");\n }\n };\n\n const renderMessage = (log) => {\n try {\n if (log?.message && typeof log?.message !== \"string\") {\n return
    {JSON.stringify(log?.message, null, 3)}
    ;\n }\n return log?.message || \"Client side: No log message found\";\n } catch (err) {\n return \"Client side error: Couldn't render message\";\n }\n };\n\n const copyLogId = (log) => {\n navigator.clipboard.writeText(log?._id?.toString()).then(\n function () {\n toast(\"Log id has been copied successfully to clipboard\");\n },\n function (err) {\n toast(\"Error copying log id to clipboard\");\n }\n );\n };\n\n useEffect(() => {\n loadLogs();\n }, []);\n\n return (\n
    \n
    \n
    \n

    Developer logs ({pagination?.count})

    \n
    \n {Object?.keys(checkedRows)?.filter((key) => checkedRows[key])?.length > 0 && (\n
    \n \n
    \n )}\n
    \n \n \n \n \n \n \n \n Time\n Message\n \n Url\n \n \n Status Code\n \n \n Method\n \n \n User\n \n \n Actions\n \n \n \n \n {logs &&\n logs?.length > 0 &&\n logs?.map((log) => (\n \n \n setCheckedRows({ ...checkedRows, [log?._id]: checkedRows?.[log?._id] ? false : true })}\n checked={checkedRows?.[log?._id] ? true : false}\n />\n \n {log?.createdAt}\n \n {renderMessage(log)}\n \n \n {log?.url || \"\"}\n \n \n {log?.status_code || \"\"}\n \n \n {log?.method || \"\"}\n \n \n {log?.user?.username || \"Not logged in\"}\n \n \n \n copyLogId(log)} className=\"fal fa-bars\">\n \n \n \n ))}\n \n
    \n
    \n {logs && logs?.length > 0 && (\n {\n setPagination({ ...pagination, page: page });\n loadLogs({ page });\n }}\n currentPage={pagination?.page}\n totalPages={Math.ceil(pagination?.count / pagination?.limit)}\n />\n )}\n
    \n );\n}\n\nexport default withDashboardLayout(Logs);\n","import React, { useEffect, useState, useRef } from \"react\";\nimport styles from \"../Admin/Admin.module.scss\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { Api, Endpoint } from \"../../api\";\nimport { useHistory } from \"react-router-dom\";\nimport Helpers from \"../../helpers/general\";\nimport { useForm } from \"react-hook-form\";\nimport { toast } from \"react-toastify\";\nimport registerFormStyle from \"../Register/Register.module.scss\";\nimport { Form, Button, Alert } from \"react-bootstrap\";\nimport PhoneInput from \"react-phone-input-2\";\n\nconst { passwordRegex, passwordMessage } = Helpers.getPasswordRegex();\n\nexport default function TransferOwnership() {\n const token = new URLSearchParams(window.location.search).get(\"code\");\n\n const { register, handleSubmit, errors, watch } = useForm();\n\n const history = useHistory();\n\n const password = useRef({});\n password.current = watch(\"password\", \"\");\n\n const [data, setData] = useState({});\n const [submitLoading, setSubmitLoading] = useState(false);\n const [phoneNumber, setPhoneNumber] = useState(\"+1\");\n const [error, setError] = useState(null);\n const [loading, setLoading] = useState(true);\n\n const [formError, setFormError] = useState(null);\n\n const fetchUser = async () => {\n setLoading(true);\n const response = await Api.call(Endpoint.transfer_ownership_status(token));\n\n if (response?.statusCode !== 200) {\n setLoading(false);\n setError(response?.message);\n setData({});\n return;\n }\n\n setData(response?.message);\n\n setLoading(false);\n setError(null);\n };\n\n const submit = async (formData) => {\n setSubmitLoading(true);\n\n if (!formData.email) {\n formData.email = data?.account?.email;\n }\n\n formData.phoneNumber = phoneNumber;\n\n const query = { token };\n const options = {\n ...formData,\n };\n\n const response = await Api.call(Endpoint.accept_transfer_request, { data: options, query });\n\n if (response?.statusCode !== 200) {\n setSubmitLoading(false);\n setFormError(response?.message);\n return;\n }\n\n setFormError(null);\n setSubmitLoading(false);\n\n toast(\"Transfer has been taken successfully\");\n history.push(\"/login\");\n };\n\n useEffect(() => {\n fetchUser();\n // eslint-disable-next-line\n }, []);\n\n return (\n
    \n
    \n {loading ? (\n <>\n \n

    Please wait...

    \n \n ) : error ? (\n <>\n \n

    {error}

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

    \n Take ownership of {data?.restaurant?.name} restaurant\n

    \n

    \n \n {data?.owner?.username} ({data?.owner?.email})\n {\" \"}\n wants to transfer {data?.restaurant?.name} restaurant ownership to you\n

    \n\n {formError && (\n \n

    {formError}

    \n
    \n )}\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n 0}\n defaultValue={data?.account?.email}\n placeholder=\"Email\"\n />\n {errors?.email?.message && {errors?.email?.message}}\n \n \n \n \n {errors?.username?.message && (\n {errors?.username?.message}\n )}\n \n \n \n setPhoneNumber(phone)}\n />\n \n \n \n \n {errors?.password?.message && (\n {errors?.password?.message}\n )}\n \n \n \n value === password.current || \"The password confirmation does not match.\",\n })}\n type=\"password\"\n name=\"confirm_password\"\n placeholder=\"Confirm Password\"\n />\n {errors?.confirm_password?.message && (\n {errors?.confirm_password?.message}\n )}\n \n 0 ? true : false}\n style={{ width: \"100%\" }}\n onClick={handleSubmit(submit)}\n >\n {submitLoading ? : \"Submit\"}\n \n \n
    \n
    \n \n )}\n
    \n
    \n );\n}\n","\nimport TransferOwnership from \"./TransferOwnership\"\nexport default TransferOwnership;","import DashboardStatistics from \"./DashboardStatistics\";\nexport default DashboardStatistics;\n","import React from \"react\";\nimport adminStyle from \"../../../Views/Admin/Admin.module.scss\";\n\nexport default function Statistics({ statistics }) {\n const icons = {\n \"Published menus\": \"fas fa-book-open\",\n \"Unpublished menus\": \"fad fa-book-open\",\n Dishes: \"fas fa-utensils\",\n Categories: \"fas fa-hat-chef\",\n Ingredients: \"fas fa-carrot\",\n };\n\n if (statistics && typeof statistics === \"object\" && Object.keys(statistics)?.length) {\n return (\n
    \n {Object.keys(statistics)?.map((statistic, index) => (\n
    \n
    \n {statistics[statistic]}\n {icons[statistic] && }\n
    \n
    \n {statistic}\n
    \n
    \n ))}\n
    \n );\n }\n return null;\n}\n","import React, { useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport { toast } from \"react-toastify\";\nimport registerStyle from \"../../../Views/Register/Register.module.scss\";\nimport { Api, Endpoint } from \"../../../api\";\n\nexport default function AddAdminForm({ loadAdmins, closeModal }) {\n const [loading, setLoading] = useState(false);\n const { register, handleSubmit, errors } = useForm();\n\n const submit = async (data) => {\n setLoading(true);\n const response = await Api.call(Endpoint.admin.create, { data });\n if (response?.confirmation === \"Fail\") {\n setLoading(false);\n toast(response?.message);\n return;\n }\n loadAdmins();\n typeof closeModal === \"function\" && closeModal();\n setLoading(false);\n toast(response?.message);\n };\n\n return (\n
    \n
    \n \n Username\n \n {errors?.username?.message && {errors?.username?.message}}\n \n\n \n Email\n \n {errors?.email?.message && {errors?.email?.message}}\n \n\n \n \n \n
    \n
    \n );\n}\n","\nimport React from \"react\"\nimport styles from \"./Admin.module.scss\"\nimport { Form } from \"react-bootstrap\";\n\nconst memberTable = {\n username: {\n label: \"Username\",\n value: \"username\"\n },\n};\n\nconst memberTablePermissions = {\n restaurant: {\n label: \"Restaurant settings\",\n },\n member: {\n label: \"Members\",\n },\n menu: {\n label: \"Menus\",\n },\n dish: {\n label: \"Dishes\",\n },\n category: {\n label: \"Categories\",\n },\n ingredient: {\n label: \"Ingredients\",\n },\n}\n\nconst menuTable = {\n name: {\n label: \"Name\",\n value: \"name\"\n },\n dishes: {\n label: \"Number of dishes\",\n value: \"dishes\"\n },\n categories: {\n label: \"Number of categories\",\n value: \"categories\"\n }\n}\n\nexport default function RestaurantInformation({ restaurant }) {\n return (\n <>\n {\n <>\n {\n <>\n Menus\n \n \n \n { Object.keys(menuTable)?.map((table, index) => ) }\n \n \n \n {\n restaurant?.menus?.map((menu, index) => (\n \n {\n Object.keys(menuTable)?.map((menuKey, indexKey) => \n )\n }\n \n ))\n }\n \n
    {menuTable[table]?.label}
    {menu[menuKey]}
    \n \n }\n \n }\n\n {\n <>\n Members\n \n \n \n { Object.keys(memberTable)?.map((table, index) => ) }\n { Object.keys(memberTablePermissions)?.map((table, index) => ) }\n \n \n \n {\n restaurant?.members?.map((member, memberIndex) => (\n \n \n { Object.keys(member?.permissions)?.map((permission, permissionIndex) => (\n \n )) }\n \n ))\n }\n \n
    {memberTable[table]?.label}{memberTablePermissions[table]?.label}
    {member?.username}{member?.permissions[permission] && ()\n }\n
    \n \n }\n \n )\n}","import DeleteUser from \"./DeleteUser\";\n\nexport default DeleteUser;\n","import React, { useState } from \"react\";\nimport { Form, Button, Alert } from \"react-bootstrap\";\nimport { toast } from \"react-toastify\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\n\nexport default function DeleteUser({\n user,\n closeModal,\n onComplete,\n submit: submitCallback,\n warning_message,\n requires_password,\n toast_complete_message,\n}) {\n const [loading, setLoading] = useState(false);\n const [password, setPassword] = useState(\"\");\n const [error, setError] = useState(null);\n\n const submit = async (e) => {\n e.preventDefault();\n\n if (requires_password) {\n if (!password) {\n return setError(\"Password is required\");\n }\n }\n setLoading(true);\n\n const response = await submitCallback(user, password);\n\n if (response?.statusCode !== 200) {\n toast(response?.message || \"Something went wrong\");\n setLoading(false);\n typeof onComplete === \"function\" && onComplete(response);\n return;\n }\n\n toast(toast_complete_message ? toast_complete_message : \"Account has been deleted successfully\");\n typeof onComplete === \"function\" && onComplete(response);\n closeModal();\n setLoading(false);\n };\n\n return (\n
    \n
    \n \n {warning_message}\n \n\n {requires_password && (\n \n Password\n setPassword(e?.target?.value)}\n type=\"password\"\n name=\"password\"\n />\n {error && {error}}\n \n )}\n \n {typeof closeModal === \"function\" && (\n \n )}\n \n \n
    \n
    \n );\n}\n","import React, { useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\n\nimport { Api, Endpoint } from \"../../api\";\n\nimport Alert from \"react-bootstrap/Alert\";\n\nimport { toast } from \"react-toastify\";\n\nimport ReCaptchaComponent from \"../../components/ReCaptcha\";\nimport useReCaptcha from \"../../hoc/useReCaptcha\";\n\nexport default function AddDMA({ closeModal, loadDMASPending }) {\n const { reCaptchaRef, executeReCaptchaToken, onChangeReCaptcha } = useReCaptcha();\n const [loading, setLoading] = useState(false);\n const [apiError, setApiError] = useState(null);\n const { register, handleSubmit, errors } = useForm();\n\n const submit = async (data) => {\n setLoading(true);\n\n const reCaptchaToken = await executeReCaptchaToken();\n data.reCaptchaToken = reCaptchaToken;\n\n const response = await Api.call(Endpoint.admin.DMA.register, { data });\n if (response?.statusCode !== 200) {\n setLoading(false);\n setApiError(response?.message);\n return;\n }\n\n typeof loadDMASPending === \"function\" && (await loadDMASPending());\n setLoading(false);\n setApiError(null);\n\n toast(\n `DMA has been added successfully. We sent an email confirmation to ${data.email} to complete the registration process.`\n );\n closeModal();\n };\n return (\n
    \n \n \n This DMA will receive an email with instructions on how to set up the account.
    \n When the account is set up successfully, you will receive an email.\n
    \n \n Email\n \n {(errors?.email?.message || apiError) && {errors?.email?.message || apiError}}\n \n\n \n \n \n \n );\n}\n","import { loadStripe } from \"@stripe/stripe-js\";\n\nclass Stripe {\n constructor() {\n this.key = process.env.REACT_APP_STRIPE_PUBLISH_KEY;\n this.stripe = this.load();\n }\n async load() {\n this.stripe = await loadStripe(this.key);\n }\n\n async redirectToCheckout(sessionId) {\n return await this.stripe.redirectToCheckout({ sessionId });\n }\n}\n\nexport default new Stripe();\n","import React from \"react\";\nimport { createStyles, makeStyles } from \"@material-ui/core/styles\";\nimport { List, ListItem, ListItemIcon, ListItemText, Radio } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n root: {\n width: \"100%\",\n backgroundColor: \"white\",\n },\n })\n);\n\nexport default function ChoosePlan({ plans, planSelected, setPlanSelected, plansLoading, planDesc = \"\" }) {\n const classes = useStyles();\n\n if (!plans?.monthly_product || !plans?.yearly_product) {\n return null;\n }\n\n return (\n \n setPlanSelected(plans?.monthly_product?.price?.id)}>\n \n { }}\n size=\"small\"\n />\n \n \n \n\n setPlanSelected(plans?.yearly_product?.price?.id)}>\n \n { }}\n size=\"small\"\n />\n \n \n \n \n );\n}\n","import React, { useState } from \"react\";\nimport { Form, Button, Alert } from \"react-bootstrap\";\nimport { useForm } from \"react-hook-form\";\nimport { Api, Endpoint } from \"../../../api\";\nimport stripe from \"../../../utils/stripe\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport ChoosePlan from \"../DMA/ClientsSubscribe/ChoosePlan\";\n\nconst STEPS = {\n ADD_USER: \"ADD_USER\",\n MAKE_PURCHASE: \"MAKE_PURCHASE\",\n};\n\nexport default function AddUserForm({ closeModal, loadUsers }) {\n const { register, handleSubmit, errors } = useForm();\n const [step, setStep] = useState(STEPS.ADD_USER);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n const [userIdCreated, setUserIdCreated] = useState(null);\n const [baseProduct, setBaseProduct] = useState(null);\n const [planSelected, setPlanSelected] = useState(null);\n\n // TODO: Split the steps ADD_USER and MAKE_PURCHASE into different components.\n\n const getBaseProduct = async () => {\n const response = await Api.call(Endpoint.subscription.baseProduct);\n if (response?.statusCode === 200) {\n setBaseProduct(response?.message);\n }\n };\n\n const submit = async (data) => {\n setLoading(true);\n const response = await Api.call(Endpoint.admin.user.add, { data });\n if (response?.statusCode !== 200) {\n setLoading(false);\n setError(response?.message);\n return;\n }\n setUserIdCreated(response?.message?.newUser?._id);\n await getBaseProduct();\n loadUsers();\n setError(null);\n setLoading(false);\n setStep(STEPS.MAKE_PURCHASE);\n };\n\n const makePurchase = async () => {\n if (!planSelected) {\n setError(\"You must select an plan\");\n return;\n }\n setLoading(true);\n const data = {\n plan_id: planSelected,\n user_id: userIdCreated,\n };\n const response = await Api.call(Endpoint.admin.user.subscribe, { data });\n setLoading(false);\n if (response?.message?.id) {\n stripe.redirectToCheckout(response?.message?.id);\n } else {\n setError(response?.message);\n }\n };\n\n if (step === STEPS.ADD_USER) {\n return (\n
    \n {error && {error}}\n
    \n \n \n \n \n \n \n \n \n \n \n \n {errors?.username?.message && {errors?.username?.message}}\n \n \n \n \n {errors?.email?.message && {errors?.email?.message}}\n \n\n \n \n \n {errors?.restaurantName?.message && {errors?.restaurantName?.message}}\n \n\n
    \n \n
    \n
    \n
    \n );\n }\n return (\n
    \n
    \n
    Do you want to subscribe for this user?
    \n
    \n\n {error && {error}}\n\n
    \n \n
    \n
    \n \n \n
    \n
    \n );\n}\n","\nimport AddUserForm from \"./AddUserForm\";\nexport default AddUserForm;","import React, { useState } from \"react\";\nimport { createStyles, makeStyles } from \"@material-ui/core/styles\";\n\nimport Modal from \"../../Modal\";\nimport DeleteUser from \"../../Forms/DeleteUser\";\n\nimport { Avatar, IconButton, ListItemText, ListItemSecondaryAction, ListItemIcon, ListItem, List, Tooltip } from \"@material-ui/core\";\n\nimport { Api, Endpoint } from \"../../../api\";\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n root: {\n width: \"100%\",\n },\n })\n);\n\nexport default function ViewDMALicenses({ dma, loadDMAS, shapeshift }) {\n const [clients, setClients] = useState(dma?.clients || []);\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const classes = useStyles();\n\n const showDeleteClientModal = (client) => {\n setModal({\n ...modal,\n title: \"Remove license\",\n visible: true,\n Component: (\n {\n const data = {\n dma_id: dma?._id,\n client_id: client?._id,\n };\n const response = await Api.call(Endpoint.admin.DMA.deleteClient, { data });\n\n if (response?.statusCode === 200 && response?.message) {\n setClients(clients.filter((c) => c?._id !== client?._id));\n loadDMAS();\n }\n\n return response;\n }}\n />\n ),\n });\n };\n\n const shapeShift = async (client) => {\n await shapeshift(client);\n };\n\n if (!clients || clients?.length === 0) {\n return (\n
    \n

    No licenses were found

    \n
    \n );\n }\n return (\n
    \n \n {clients?.map((client, index) => (\n \n \n \n {client?.username?.substr(0, 1)?.toUpperCase()}{\" \"}\n \n \n \n shapeShift(client)}>\n \n \n \n \n \n \n showDeleteClientModal(client)}>\n \n \n \n \n \n \n \n \n \n ))}\n
    \n );\n}\n","import ViewDMALicenses from \"./ViewDMALicenses\";\nexport default ViewDMALicenses;\n","import React, { useEffect, useState } from \"react\";\nimport Section from \"../../components/Section/Section\";\nimport Header from \"../../components/Header\";\nimport { Button } from \"react-bootstrap\";\nimport styles from \"../../App.module.scss\";\nimport { connect } from \"react-redux\";\nimport Statistics from \"../../components/Forms/DashboardStatistics\";\nimport { Api, Endpoint } from \"../../api/index\";\nimport Modal from \"../../components/Modal\";\nimport AddAdminForm from \"../../components/Forms/AddAdminForm/AddAdminFrom\";\nimport { toast } from \"react-toastify\";\nimport DeleteConfirmation from \"../../components/Forms/DeleteConfirmation\";\nimport RestaurantInformation from \"./RestaurantInformation\";\nimport AdminStyle from \"./Admin.module.scss\";\nimport { Cookies } from \"react-cookie\";\nimport DeleteUser from \"../../components/Forms/DeleteUser\";\nimport AddDMA from \"./AddDMA\";\nimport Table from \"../../components/Table\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport Pagination from \"../../components/Pagination\";\nimport table_styles from \"../../components/Table/Table.module.scss\";\nimport CONSTANTS from \"../../utils/constants\";\nimport AddUserForm from \"../../components/Forms/AddUserForm\";\nimport ViewDMALicenses from \"../../components/Forms/ViewDMALicenses\";\nimport TopBar from \"../../components/Header/TopBar\";\nimport PageHeader from \"../../components/Header/PageHeader\";\nimport { IKImage } from \"imagekitio-react\";\nimport { Link } from \"react-router-dom\";\n\nconst cookies = new Cookies();\n\nconst defaultPaginationData = {\n page: 0,\n count: 0,\n limit: 2,\n};\n\nfunction Dashboard({ Auth }) {\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const [users, setUsers] = useState([]);\n const [restaurants, setRestaurants] = useState([]);\n const [admins, setAdmins] = useState([]);\n const [statistics, setStatistics] = useState([]);\n const [dmas, setDMAS] = useState([]);\n const [dmas_pending, setDMASPending] = useState([]);\n const [navCollapsed, setNavCollapsed] = useState(false);\n\n const [usersPagination, setUsersPagination] = useState({ ...defaultPaginationData });\n\n const [restaurantsPagination, setRestaurantsPagination] = useState({ ...defaultPaginationData });\n\n const [dmasPagination, setDmasPagination] = useState({ ...defaultPaginationData });\n\n const [loadingUserShapeShift, setLoadingUserShapeShift] = useState(-1);\n\n const toastId = React.useRef(null);\n\n const resendInvitation = async (admin) => {\n toastId.current = toast(\"The invitation has been sent successfully.\");\n const response = await Api.call(Endpoint?.admin?.resendInvitation, { data: { _id: admin._id } });\n if (response?.confirmation === \"Fail\") {\n toast.dismiss(toastId.current);\n toast(response?.message);\n }\n };\n\n const deleteAdmin = async (admin) => {\n setModal({\n ...modal,\n visible: true,\n dialogClassName: null,\n title: \"Delete admin\",\n confirmation: true,\n Component: (\n {\n await Api.call(Endpoint?.admin?.delete, { params: [admin?._id] });\n loadAdmins();\n toast(\"Admin has been deleted successfully\");\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const showRegisterDMAModal = () => {\n setModal({\n ...modal,\n visible: true,\n dialogClassName: null,\n title: \"Add DMA\",\n Component: setModal({ ...modal, visible: false })} loadDMASPending={loadDMASPending} />,\n });\n };\n\n const shapeshift = async (user) => {\n setLoadingUserShapeShift(user?._id);\n\n const data = {\n _id: user._id,\n refreshToken: cookies.get(\"refreshToken\"),\n email: user.email,\n };\n\n const response = await Auth.SHAPE_SHIFT(data, Endpoint.admin.shapeshift);\n if (!response || !response?.confirmation === \"Success\" || typeof response?.message !== \"object\") {\n toast(response?.message);\n setLoadingUserShapeShift(-1);\n return;\n }\n\n window.location.href = \"/\";\n setLoadingUserShapeShift(-1);\n };\n\n const loadUsers = async (query = {}) => {\n const response = await Api.call(Endpoint?.admin?.users, { query });\n if (response?.statusCode === 200) {\n setUsersPagination(response?.message?.pagination);\n setUsers(response?.message?.users);\n }\n };\n\n const loadRestaurants = async (query = {}) => {\n const response = await Api.call(Endpoint?.admin?.restaurants, { query });\n if (response?.statusCode === 200) {\n setRestaurantsPagination(response?.message?.pagination);\n setRestaurants(response?.message?.restaurants);\n }\n };\n\n const loadAdmins = async () => {\n if (Auth?.user?.role !== CONSTANTS.USER.ROLES.SUPER_ADMIN) return;\n const response = await Api.call(Endpoint?.admin?.load);\n if (response?.statusCode === 200) {\n setAdmins(response?.message);\n }\n };\n\n const loadStatistics = async function () {\n const response = await Api.call(Endpoint?.admin?.statistics);\n if (response?.statusCode === 200) {\n setStatistics(response?.message?.statistics);\n }\n };\n\n const loadDMAS = async function (query = {}) {\n const response = await Api.call(Endpoint?.admin?.DMA.list, { query });\n if (response?.statusCode === 200) {\n setDmasPagination(response?.message?.pagination);\n setDMAS(response?.message?.dmas);\n }\n };\n\n const loadDMASPending = async function () {\n const response = await Api.call(Endpoint?.admin?.DMA.list_pending);\n if (response?.statusCode === 200 && Array.isArray(response?.message)) {\n setDMASPending(response?.message || []);\n }\n };\n\n const init = async () => {\n handleResize();\n await loadStatistics();\n await loadDMAS();\n await loadDMASPending();\n await loadUsers();\n await loadAdmins();\n await loadRestaurants();\n };\n\n const handleResize = () => {\n setNavCollapsed(window?.innerWidth <= 1200);\n };\n\n useEffect(() => {\n init();\n // eslint-disable-next-line\n }, []);\n\n const showDeleteUserModal = (user) => {\n setModal({\n ...modal,\n title: \"Delete user\",\n visible: true,\n Component: (\n {\n return await Api.call(Endpoint.admin.user.delete, { data: { _id: user._id } });\n }}\n onComplete={(response) => {\n if (response?.confirmation === \"Success\") {\n if (users?.length === 1 && usersPagination?.page > 0) {\n setUsersPagination({ ...usersPagination, page: usersPagination?.page - 1 });\n loadUsers({ page: usersPagination?.page - 1 });\n } else {\n loadUsers({ page: usersPagination?.page });\n }\n }\n }}\n />\n ),\n });\n };\n\n const showDeleteDMAModal = (user) => {\n setModal({\n ...modal,\n title: \"Delete DMA\",\n visible: true,\n Component: (\n {\n return await Api.call(Endpoint.admin.DMA.delete(user?._id), { data: { password } });\n }}\n onComplete={(response) => {\n if (response?.confirmation === \"Success\") {\n if (dmas?.length === 1 && dmasPagination?.page > 0) {\n setDmasPagination({ ...dmasPagination, page: dmasPagination?.page - 1 });\n loadDMAS({ page: dmasPagination?.page - 1 });\n } else {\n loadDMAS({ page: dmasPagination?.page });\n }\n }\n }}\n />\n ),\n });\n };\n\n const showCancelDMAInvitationModal = async (dma) => {\n setModal({\n ...modal,\n title: \"Cancel invitation\",\n visible: true,\n Component: (\n {\n const response = await Api.call(Endpoint.admin.DMA.cancel_dma_invitation(dma?.token));\n await loadDMASPending();\n return response;\n }}\n />\n ),\n });\n };\n\n const viewLicenses = (row) => {\n setModal({\n ...modal,\n title: \"View licenses\",\n visible: true,\n Component: ,\n });\n };\n\n const columns = {\n pending_dmas: [\n {\n field: \"Email\",\n render: ({ row }) => {row?.data?.email},\n },\n {\n field: \"Added by\",\n render: ({ row }) => {row?.data?.added_by},\n },\n {\n field: \"Actions\",\n render: ({ row }) => (\n showCancelDMAInvitationModal(row)} style={{ color: \"red\", cursor: \"pointer\" }} className=\"far fa-trash-alt\">\n ),\n },\n ],\n dmas: [\n {\n field: \"Email\",\n access: \"email\",\n },\n {\n field: \"First name\",\n access: \"firstName\",\n },\n {\n field: \"Last name\",\n access: \"lastName\",\n },\n {\n field: \"Username\",\n access: \"username\",\n },\n {\n field: \"Licenses\",\n render: ({ row, column, index }) => (\n
    \n \n
    \n ),\n },\n {\n field: \"Login as\",\n render: ({ row, column, index }) => (\n await shapeshift(row, index)}\n style={{ padding: \"4px\", fontSize: \"14px\" }}\n >\n {loadingUserShapeShift?.toString() === row?._id?.toString() ? : \"Login\"}\n \n ),\n },\n {\n field: \"Actions\",\n render: ({ row, column, index }) => (\n showDeleteDMAModal(row)} className={`${AdminStyle.deleteIcon} far fa-trash-alt`}>\n ),\n },\n ],\n users: [\n {\n field: \"Email\",\n access: \"email\",\n },\n {\n field: \"First name\",\n access: \"firstName\",\n },\n {\n field: \"Last name\",\n access: \"lastName\",\n },\n {\n field: \"Username\",\n access: \"username\",\n },\n {\n field: \"Menu\",\n render: ({ row, column, index }) => {\n return (\n \n \n \n );\n },\n },\n {\n field: \"Login as\",\n render: ({ row, column, index }) => (\n await shapeshift(row, index)}\n style={{ padding: \"4px\", fontSize: \"14px\" }}\n >\n {loadingUserShapeShift?.toString() === row?._id?.toString() ? : \"Login\"}\n \n ),\n },\n {\n field: \"Actions\",\n render: ({ row, column, index }) => (\n showDeleteUserModal(row)} className={`${AdminStyle.deleteIcon} far fa-trash-alt`}>\n ),\n },\n ],\n restaurants: [\n {\n field: \"Name\",\n access: \"name\",\n },\n {\n field: \"Owner\",\n render: ({ row }) => {\n return row?.user?.username;\n },\n },\n {\n field: \"Logo\",\n render: ({ row }) => {\n if (!row?.logo) {\n return null;\n }\n return (\n \n );\n },\n },\n {\n field: \"Actions\",\n render: ({ row }) => {\n return (\n {\n setModal({\n ...modal,\n dialogClassName: AdminStyle?.customModalStyle,\n visible: true,\n title: \"Restaurant information\",\n Component: ,\n });\n }}\n style={{ padding: \"4px\", fontSize: \"14px\" }}\n >\n View more\n \n );\n },\n },\n ],\n admins: [\n {\n field: \"First name\",\n access: \"firstName\",\n },\n {\n field: \"Last name\",\n access: \"lastName\",\n },\n {\n field: \"Username\",\n access: \"username\",\n },\n {\n field: \"Email\",\n access: \"email\",\n },\n {\n field: \"Verified\",\n render: ({ row }) => {\n return (\n
    \n
    {row?.state ? \"Yes\" : \"No\"}
    \n {!row?.state && (\n
    \n {\n resendInvitation(row);\n }}\n className=\"fas fa-sync\"\n >\n
    \n )}\n
    \n );\n },\n },\n {\n field: \"Actions\",\n render: ({ row }) => {\n return (\n
    \n {\n deleteAdmin(row);\n }}\n className={`delete-icon far fa-trash-alt`}\n >\n
    \n );\n },\n },\n {\n field: \"Login as\",\n render: ({ row, index }) => {\n return (\n shapeshift(row, index)}\n >\n {loadingUserShapeShift?.toString() === row?._id?.toString() ? : \"Log in\"}\n \n );\n },\n },\n ],\n };\n\n const renderPagination = {\n users: {\n pagination: (\n {\n setUsersPagination({ ...usersPagination, page: page });\n loadUsers({ page });\n }}\n currentPage={usersPagination?.page}\n totalPages={Math.ceil(usersPagination?.count / usersPagination?.limit)}\n />\n ),\n },\n restaurants: {\n pagination: (\n {\n setRestaurantsPagination({ ...restaurantsPagination, page: page });\n loadRestaurants({ page });\n }}\n currentPage={restaurantsPagination?.page}\n totalPages={Math.ceil(restaurantsPagination?.count / restaurantsPagination?.limit)}\n />\n ),\n },\n dmas: {\n pagination: (\n {\n setDmasPagination({ ...dmasPagination, page: page });\n loadDMAS({ page });\n }}\n currentPage={dmasPagination?.page}\n totalPages={Math.ceil(dmasPagination?.count / dmasPagination?.limit)}\n />\n ),\n },\n };\n\n return (\n <>\n \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n 0 ? renderPagination.dmas.pagination : null}\n />\n
    \n\n {dmas_pending?.length > 0 && (\n
    \n \n \n )}\n\n \n setModal({\n ...modal,\n dialogClassName: null,\n title: \"Add user\",\n visible: true,\n Component: ,\n }),\n }}\n >\n 0 ? renderPagination.users.pagination : null}\n />\n \n {Auth?.user?.role === CONSTANTS.USER.ROLES.SUPER_ADMIN && (\n \n setModal({\n ...modal,\n dialogClassName: null,\n title: \"Add admin\",\n visible: true,\n Component: ,\n }),\n }}\n >\n
    \n \n )}\n
    \n 0 ? renderPagination.restaurants.pagination : null}\n />\n
    \n \n \n \n \n \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state?.Auth, Admin: state?.Admin });\nexport default connect(mapStateToProps)(Dashboard);\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { toast } from \"react-toastify\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { useHistory } from \"react-router-dom\";\nimport { Api, Endpoint } from \"../../api\";\nimport Helpers from \"../../helpers/general\";\nimport registerFormStyle from \"../Register/Register.module.scss\";\nimport PhoneInput from \"react-phone-input-2\";\nimport styles from \"./Admin.module.scss\";\n\nconst { passwordRegex, passwordMessage } = Helpers.getPasswordRegex();\n\nexport function CompleteAndVerifyAccount() {\n const [loading, setLoading] = useState(true);\n const [submitLoading, setSubmitLoading] = useState(false);\n const [error, setError] = useState(null);\n const [adminData, setAdminData] = useState(null);\n const [phoneNumber, setPhoneNumber] = useState(\"+1\");\n\n const history = useHistory();\n const { register, handleSubmit, errors, setValue, watch } = useForm();\n\n const password = useRef({});\n password.current = watch(\"password\", \"\");\n\n const getToken = function () {\n return new URLSearchParams(window.location.search).get(\"token\");\n };\n\n useEffect(() => {\n register({ name: \"phoneNumber\", value: phoneNumber });\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n setValue(\"phoneNumber\", phoneNumber);\n //eslint-disable-next-line\n }, [phoneNumber]);\n\n const verifyAdminAccountToken = async () => {\n const response = await Api.call(Endpoint?.admin?.verifyAccountToken, {\n params: [getToken()],\n });\n if (response?.confirmation === \"Fail\" || typeof response?.message !== \"object\") {\n setLoading(false);\n setError(\"User has been already verified, or this link is not valid.\");\n setAdminData(null);\n return;\n }\n setLoading(false);\n setError(null);\n setAdminData(response?.message);\n };\n\n const submit = async (data) => {\n setSubmitLoading(true);\n const response = await Api.call(Endpoint.admin.completeAccount, {\n data,\n params: [getToken()],\n });\n if (response?.confirmation === \"Success\") {\n setSubmitLoading(false);\n toast(response?.message);\n history.push(\"/login\");\n return;\n }\n toast(response?.message);\n setSubmitLoading(false);\n };\n\n useEffect(() => {\n verifyAdminAccountToken();\n //eslint-disable-next-line\n }, []);\n\n return (\n <>\n
    \n {loading ? (\n <>\n \n

    Please wait...

    \n \n ) : error || !adminData ? (\n <>\n \n

    {error}

    \n \n ) : (\n <>\n
    \n
    \n \n {adminData?.username && (\n

    \n {\" \"}\n Hi {adminData?.username}!{\" \"}\n

    \n )}\n

    Please complete your account.

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {errors?.username?.message && (\n {errors?.username?.message}\n )}\n \n \n \n setPhoneNumber(phone)}\n />\n \n \n \n \n {errors?.password?.message && (\n {errors?.password?.message}\n )}\n \n \n \n value === password.current || \"The password confirmation does not match.\",\n })}\n type=\"password\"\n name=\"confirm_password\"\n placeholder=\"Confirm Password\"\n />\n {errors?.confirm_password?.message && (\n {errors?.confirm_password?.message}\n )}\n \n 0 ? true : false}\n style={{ width: \"100%\" }}\n onClick={handleSubmit(submit)}\n >\n {submitLoading ? : \"Submit\"}\n \n \n
    \n
    \n \n )}\n
    \n \n );\n}\n","import DietaryConsiderationsForm from \"./DietaryConsiderationsForm\"\nexport default DietaryConsiderationsForm","import React, { useEffect, useState } from \"react\";\nimport { Form, Button } from \"react-bootstrap\";\nimport { useForm } from \"react-hook-form\";\nimport TagsInput from \"react-tagsinput\";\nimport \"react-tagsinput/react-tagsinput.css\";\nimport { Api, Endpoint } from \"../../../api/index\";\nimport DeleteConfirmation from \"../DeleteConfirmation\";\nimport Modal from \"../../Modal\";\n\nexport default function DietaryConsiderationsForm() {\n const [dietaryConsiderations, setDietaryConsiderations] = useState({ diets: [], foodTypes: [], other: [] });\n const [originalDietaryConsiderations, setOriginalDietaryConsiderations] = useState({ diets: [], foodTypes: [], other: [] });\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const { register, handleSubmit, setValue } = useForm();\n\n useEffect(() => {\n (async () => {\n const response = await Api.call(Endpoint?.admin?.dietary?.read);\n if (response?.confirmation === \"Success\" && response?.message?.dietaryConsiderations) {\n if (typeof response?.message?.dietaryConsiderations === \"object\") {\n let data = { diets: [], foodTypes: [], other: [] };\n Object.keys(response?.message?.dietaryConsiderations).forEach((key) => {\n data[key] = response?.message?.dietaryConsiderations[key]?.map((el) => el?.name);\n });\n setOriginalDietaryConsiderations(response?.message?.dietaryConsiderations);\n setDietaryConsiderations(data);\n }\n }\n })();\n register({ name: \"dietaryConsiderations\", value: dietaryConsiderations });\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n setValue(\"dietaryConsiderations\", dietaryConsiderations);\n //eslint-disable-next-line\n }, [dietaryConsiderations]);\n\n const showConfirmationModal = (data) => {\n setModal({\n ...modal,\n title: \"Save changes\",\n visible: true,\n confirmation: true,\n Component: (\n {\n return await Api.call(Endpoint?.admin?.dietary?.create, { data });\n }}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const submit = async (data) => {\n data.originalDietaryConsiderations = originalDietaryConsiderations;\n showConfirmationModal(data);\n };\n\n const onTagDeleteAndCreate = (key, val) => {\n val = val[0];\n let temp = { ...originalDietaryConsiderations };\n let exist = temp[key].findIndex((el) => el?.name?.toString() === val?.toString());\n if (exist === -1) {\n temp[key].push({ name: val });\n } else {\n temp[key] = temp[key].filter((el) => el?.name?.toString() !== val);\n }\n setOriginalDietaryConsiderations(temp);\n };\n\n return (\n
    \n \n
    \n \n Diets\n {\n onTagDeleteAndCreate(\"diets\", changed);\n setDietaryConsiderations({ ...dietaryConsiderations, diets: tags });\n }}\n />\n
    \n Add multiple diets by hitting Tab, Enter, or Return after each diet.\n Duplicates will be ignored.\n
    \n
    \n \n Food Types\n {\n onTagDeleteAndCreate(\"foodTypes\", changed);\n setDietaryConsiderations({ ...dietaryConsiderations, foodTypes: tags });\n }}\n />\n
    \n \n Add multiple food types by hitting Tab, Enter, or Return after each food type.\n \n Duplicates will be ignored.\n
    \n
    \n \n Other\n {\n onTagDeleteAndCreate(\"other\", changed);\n setDietaryConsiderations({ ...dietaryConsiderations, other: tags });\n }}\n />\n
    \n \n Add other dietary considerations by hitting Tab, Enter, or Return after each dietary consideration.\n \n Duplicates will be ignored.\n
    \n
    \n \n \n \n \n
    \n );\n}\n","import React from \"react\";\nimport DietaryConsiderationsForm from \"../../components/Forms/DietaryConsiderationsForm\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\n\nfunction DietaryConsiderations() {\n return ;\n}\n\nexport default withDashboardLayout(DietaryConsiderations);\n","export default \"data:image/png;base64,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\"","import React, { useState, useEffect } from \"react\";\nimport Button from \"@material-ui/core/Button\";\nimport styles from \"./PaymentSystem.module.scss\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { Api, Endpoint } from \"../../api/index\";\nimport logo from \"../../assets/img/logo.png\";\nimport moment from \"moment\";\nimport Modal from \"../../components/Modal\";\nimport WarningAlert from \"../../components/Alerts/Warning\";\nimport { toast } from \"react-toastify\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\nimport Stripe from \"../../utils/stripe\";\n\nimport ReCaptchaComponent from \"../../components/ReCaptcha\";\nimport useReCaptcha from \"../../hoc/useReCaptcha\";\n\nfunction Purchase() {\n const { reCaptchaRef, executeReCaptchaToken, onChangeReCaptcha } = useReCaptcha();\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n const [loading, setLoading] = useState(true);\n const [submitLoading, setSubmitLoading] = useState(false);\n const [subscription, setSubscription] = useState(null);\n const [customerPortalSessionLoading, setCustomerPortalSessionLoading] = useState(false);\n const [baseProduct, setBaseProduct] = useState(null);\n\n const submit = async (price) => {\n try {\n setSubmitLoading(true);\n\n const data = {\n price_id: price?.id,\n reCaptchaToken: await executeReCaptchaToken(),\n };\n\n const response = await Api?.call(Endpoint?.subscription?.checkoutSession, { data });\n\n setSubmitLoading(false);\n\n if (response?.statusCode === 200) {\n await Stripe.redirectToCheckout(response?.message);\n return;\n }\n\n throw new Error(response?.message);\n } catch (err) {\n setSubmitLoading(false);\n toast(\"We are sorry, but something went wrong. Please try again or contact the support.\");\n }\n };\n\n const checkSubscription = async () => {\n setLoading(true);\n const response = await Api?.call(Endpoint?.subscription?.hasActive);\n\n if (!response?.message) {\n await getBaseProduct();\n }\n\n if (response?.statusCode === 200) {\n setSubscription(response?.message);\n setLoading(false);\n return;\n }\n setSubscription(null);\n setLoading(false);\n };\n\n const getBaseProduct = async () => {\n const response = await Api.call(Endpoint.subscription.baseProduct);\n if (response?.statusCode === 200) {\n setBaseProduct(response?.message);\n }\n };\n\n useEffect(() => {\n checkSubscription();\n //eslint-disable-next-line\n }, []);\n\n const manageBillingDetails = async () => {\n setCustomerPortalSessionLoading(true);\n const response = await Api.call(Endpoint.subscription.customerPortalSession, { data: { url: window.location.href } });\n setCustomerPortalSessionLoading(false);\n if (response.statusCode === 200) {\n window.location.href = response?.message?.url;\n return;\n }\n toast(\"Something went wrong. Please try again later.\");\n };\n\n if (loading) {\n return (\n
    \n \n

    Please wait...

    \n
    \n );\n }\n\n if (subscription?.id && subscription?.customer) {\n return (\n <>\n {subscription?.cancel_at_period_end && subscription?.current_period_end && (\n \n )}\n \n
    \n
    \n \"\"\n
    \n
    \n
    \n

    Subscribed successfully

    \n {subscription?.cancel_at_period_end && (\n

    \n Until {moment.unix(subscription?.current_period_end).format(\"DD/MM/YYYY\")}\n

    \n )}\n

    Manage invoices, subscriptions, payment methods and more!

    \n : null}\n onClick={() => manageBillingDetails()}\n >\n Manage\n \n
    \n
    \n \n
    \n
    \n
    \n \n );\n }\n\n if (!baseProduct?.monthly_product || !baseProduct?.yearly_product) {\n return (\n
    \n

    Something went wrong. Please try again later.

    \n
    \n );\n }\n\n return (\n
    \n \n\n \n
    \n
    \n \"\"\n
    \n
    \n
    \n

    Get unlimited published menus!

    \n\n submit(baseProduct?.monthly_product?.price)}\n disabled={submitLoading}\n className={styles?.purchaseButton}\n startIcon={submitLoading ? : null}\n >\n Subscribe ${(baseProduct?.monthly_product?.price?.unit_amount / 100)?.toFixed(2)?.toString()} monthly\n \n\n submit(baseProduct?.yearly_product?.price)}\n disabled={submitLoading}\n className={styles?.purchaseButton}\n startIcon={submitLoading ? : null}\n >\n Subscribe ${(baseProduct?.yearly_product?.price?.unit_amount / 100)?.toFixed(2)?.toString()} yearly\n \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default withDashboardLayout(Purchase);\n","import React from \"react\";\nimport Checkbox from \"../../Checkbox\";\nimport styles from \"./MenuForm.module.scss\";\nimport { Form } from \"react-bootstrap\";\n\nconst DAYS = {\n sunday: true,\n monday: true,\n tuesday: true,\n wednesday: true,\n thursday: true,\n friday: true,\n saturday: true,\n};\n\nexport default function Days({ valid, setValid, days, disabled }) {\n const onChangeCheckBox = (day) => {\n let temp = { ...valid };\n temp[day] = !temp[day];\n setValid(temp);\n };\n\n if (!days) {\n days = DAYS;\n }\n\n const allSelected = Object?.keys(days)?.every((day) => {\n return valid[day] === true;\n });\n\n const toggleAll = () => {\n if (!allSelected) setValid(days);\n else {\n let temp = { ...days };\n Object.keys(temp).forEach((elem) => {\n temp[elem] = false;\n });\n\n setValid(temp);\n }\n };\n\n return (\n <>\n {Object.keys(valid).map((day, index) => (\n \n {day in days && (\n
    \n onChangeCheckBox(day, e.target.checked)}\n name={day}\n disabled={disabled}\n />\n onChangeCheckBox(day)}>{day}\n
    \n )}\n
    \n ))}\n\n
    \n \n All Days\n
    \n \n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Form } from \"react-bootstrap\";\nimport Days from \"../../components/Forms/MenuForm/Days\";\nimport MenuNames from \"../../components/Forms/MenuForm/MenuNames\";\nimport menuStyles from \"../../components/Forms/MenuForm/MenuForm.module.scss\";\nimport styles from \"./Timeline.module.scss\";\nimport Checkbox from \"../../components/Checkbox\";\nimport { Api, Endpoint } from \"../../api\";\nimport moment from \"moment\";\n\nconst days = {\n sunday: true,\n monday: true,\n tuesday: true,\n wednesday: true,\n thursday: true,\n friday: true,\n saturday: true,\n};\n\nexport default function MenuComponent({ Menu, register, setValue }) {\n const { menus, selected } = Menu;\n\n const [valid, setValid] = useState(days);\n const [twentyFourHoursMenuAvailable, setTwentyFourHoursMenuAvailable] = useState(true);\n const [tempMenuSelected, setTempMenuSelected] = useState(selected);\n\n const [menuVersionLoading, setMenuVersionLoading] = useState(false);\n\n useEffect(() => {\n selected?.valid ? setValid(selected?.valid) : setValid(days);\n\n setValue(\"startTime\", dateAsTime(selected?.valid?.startTime));\n setValue(\"endTime\", dateAsTime(selected?.valid?.endTime));\n\n if (!selected?.valid?.startTime || !selected?.valid?.endTime) {\n setTwentyFourHoursMenuAvailable(true);\n } else {\n setTwentyFourHoursMenuAvailable(selected?.twentyFourHoursMenuAvailable || false);\n }\n\n setTempMenuSelected(selected);\n //eslint-disable-next-line\n }, [selected]);\n\n useEffect(() => {\n setValue(\"menu_timeline\", tempMenuSelected);\n //eslint-disable-next-line\n }, [tempMenuSelected]);\n\n useEffect(() => {\n setTempMenuSelected({ ...tempMenuSelected, valid: valid, twentyFourHoursMenuAvailable: twentyFourHoursMenuAvailable });\n //eslint-disable-next-line\n }, [valid, twentyFourHoursMenuAvailable]);\n\n useEffect(() => {\n register({ name: \"menu_timeline\", value: tempMenuSelected });\n //eslint-disable-next-line\n }, []);\n\n const onClickMenuVersion = async (menu) => {\n if (menu?._id?.toString() !== selected?._id?.toString()) {\n setMenuVersionLoading(true);\n const response = await Api.call(Endpoint?.findSingleMenu, { params: [menu._id] });\n if (response?.confirmation === \"Success\" && response?.message && typeof response?.message === \"object\") {\n localStorage.setItem(\"menuSelected\", JSON.stringify(response?.message));\n Menu?.setMenuSelectedLocally(response?.message);\n }\n setMenuVersionLoading(false);\n }\n };\n\n const dateAsTime = (date) => {\n try {\n date = new Date(date).toLocaleString();\n return moment(date).format(\"HH:mm\").toString();\n } catch (err) {\n return \"\";\n }\n };\n\n if (!menus?.length) {\n return (\n <>\n
    \n
    No menu selected.
    \n
    \n \n );\n }\n\n return (\n <>\n onClickMenuVersion(menu)}\n excludeAddNewMenu={true}\n />\n {selected && selected?._id && (\n <>\n
    \n
    \n \n
    \n \n
    \n
    \n {!twentyFourHoursMenuAvailable && (\n <>\n
    \n \n Start Time\n \n \n
    \n
    \n \n End Time\n \n \n
    \n \n )}\n
    \n
    \n \n setTwentyFourHoursMenuAvailable(!twentyFourHoursMenuAvailable)}\n disabled={selected?.fromParent}\n />\n 24HR Menu available\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n )}\n \n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Collapse, Button, Form } from \"react-bootstrap\";\nimport menuStyles from \"../../components/Forms/MenuForm/MenuForm.module.scss\";\nimport Days from \"../../components/Forms/MenuForm/Days\";\nimport styles from \"./Timeline.module.scss\";\nimport Checkbox from \"../../components/Checkbox\";\nimport { useForm } from \"react-hook-form\";\nimport general from \"../../helpers/general\";\nimport { Api, Endpoint } from \"../../api/index\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { toast } from \"react-toastify\";\n\nexport default function Categories({ selectedMenu, closeModal, menuCategories }) {\n const [categoriesAdjustments, setCategoriesAdjustments] = useState(menuCategories);\n const [loading, setLoading] = useState(false);\n const [expanded, setExpanded] = useState(0);\n\n const { register, handleSubmit, setValue } = useForm();\n\n const getRepeaterTimelineData = (data) => {\n for (const key in data) {\n const value = data[key];\n if (typeof value === \"string\") {\n const index = key.substr(key.length - 1);\n const keyRenamed = key.substr(0, key.length - 2);\n const timeAsDate = general.timeAsDate(value);\n\n if (timeAsDate) {\n data.categoriesAdjustments[index].valid[keyRenamed] = timeAsDate;\n } else {\n delete data.categoriesAdjustments[index].valid[keyRenamed];\n }\n }\n }\n return data;\n };\n\n const submit = async (data) => {\n setLoading(true);\n data = getRepeaterTimelineData(data);\n data = { categoriesAdjustments: data.categoriesAdjustments, menu_id: selectedMenu._id };\n const response = await Api.call(Endpoint?.updateCategoriesTimeline, { data });\n if (response?.confirmation === \"Success\") {\n setLoading(false);\n toast(\"Changes have been saved successfully!\");\n typeof closeModal === \"function\" && closeModal();\n return;\n }\n setLoading(false);\n toast(response?.message);\n };\n\n const onChangeValid = (index, valid) => {\n let temp = [...categoriesAdjustments];\n temp[index].valid = { ...temp[index].valid, ...valid };\n setCategoriesAdjustments(temp);\n };\n\n useEffect(() => {\n setCategoriesAdjustments(menuCategories);\n //eslint-disable-next-line\n }, [menuCategories]);\n\n useEffect(() => {\n setValue(\"categoriesAdjustments\", categoriesAdjustments);\n //eslint-disable-next-line\n }, [categoriesAdjustments]);\n\n useEffect(() => {\n register({ name: \"categoriesAdjustments\", value: categoriesAdjustments });\n //eslint-disable-next-line\n }, []);\n\n return (\n
    \n {categoriesAdjustments &&\n categoriesAdjustments?.length > 0 &&\n categoriesAdjustments?.map((schema, index) => (\n
    \n {/* eslint-disable-next-line jsx-a11y/role-supports-aria-props */}\n setExpanded(index)}\n >\n {schema?.category?.name}\n \n \n \n
    \n \n
    \n onChangeValid(index, valid)} />\n
    \n
    \n {!schema?.valid?.twentyFourHoursAvailable && (\n <>\n
    \n \n Start Time\n \n \n
    \n
    \n \n End Time\n \n \n
    \n \n )}\n
    \n
    \n \n {\n const valid = { ...schema?.valid };\n valid.twentyFourHoursAvailable = valid.twentyFourHoursAvailable ? false : true;\n onChangeValid(index, valid);\n }}\n />\n 24HR Category available\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n ))}\n \n \n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { Button, Form } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport styles from \"./Timeline.module.scss\";\nimport { Api, Endpoint } from \"../../api\";\nimport Modal from \"../../components/Modal\";\nimport { connect } from \"react-redux\";\n\nimport Menu from \"./Menu\";\nimport Categories from \"./Categories\";\nimport { toast } from \"react-toastify\";\nimport general from \"../../helpers/general\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\n\nfunction Timeline({ MenuRedux, Category, Auth }) {\n const [loading, setLoading] = useState(false);\n const [menuCategories, setMenuCategories] = useState([]);\n const { register, handleSubmit, setValue } = useForm();\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n dialogClassName: styles?.categoryAdjustmentsModal,\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const loadMenuCategories = async () => {\n if (MenuRedux?.selected?._id) {\n const response = await Category?.load({ forceRender: true, selectedMenu: MenuRedux?.selected?._id });\n if (response?.confirmation === \"Success\" && Array.isArray(response?.message?.categories)) {\n setMenuCategories(response?.message?.categories);\n return;\n }\n setMenuCategories([]);\n return;\n }\n setMenuCategories([]);\n };\n\n useEffect(() => {\n loadMenuCategories();\n //eslint-disable-next-line\n }, [MenuRedux?.selected]);\n\n const submit = async (data) => {\n if (!data || !data.menu_timeline || !data.menu_timeline.valid) return;\n setLoading(true);\n\n if (data.startTime) {\n data.menu_timeline.valid.startTime = timeAsDate(data.startTime);\n }\n\n if (data.endTime) {\n data.menu_timeline.valid.endTime = timeAsDate(data.endTime);\n }\n\n data = {\n _id: data?.menu_timeline?._id,\n valid: data?.menu_timeline?.valid,\n twentyFourHoursMenuAvailable: data?.menu_timeline?.twentyFourHoursMenuAvailable,\n };\n\n const menuResponse = await Api.call(Endpoint?.updateMenuTimeline, { data });\n if (menuResponse?.confirmation === \"Success\" && typeof menuResponse?.message === \"object\") {\n localStorage.setItem(\"menuSelected\", JSON.stringify(menuResponse?.message));\n MenuRedux.setMenuSelectedLocally(menuResponse?.message);\n setLoading(false);\n toast(\"Changes have been made successfully\");\n return;\n }\n toast(menuResponse?.message);\n setLoading(false);\n };\n\n const timeAsDate = (time) => {\n if (typeof time !== \"string\" || !time.includes(\":\")) return false;\n try {\n const today = new Date();\n const date = new Date(today.toDateString() + \" \" + time);\n return new Date(date);\n } catch (err) {\n return false;\n }\n };\n\n const openCategoriesAdjustments = () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Categories Adjustments\",\n Component: ,\n });\n };\n\n return (\n
    \n \n
    \n
    \n \n
    \n
    \n {menuCategories &&\n menuCategories?.length > 0 &&\n !MenuRedux?.selected?.fromParent &&\n general?.checkPermissions({ exceptPermissions: [\"category\"], originalPermissions: Auth?.user?.permissions }) && (\n \n )}\n {MenuRedux?.selected?._id && MenuRedux?.menus?.length > 0 && !MenuRedux?.selected?.fromParent && (\n \n )}\n
    \n \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({ MenuRedux: state?.Menu, Category: state?.Category, Auth: state?.Auth });\nexport default connect(mapStateToProps)(withDashboardLayout(Timeline));\n","import Timeline from \"./Timeline\"\nexport default Timeline","import React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Form, Button } from \"react-bootstrap\";\nimport Checkbox from \"../../components/Checkbox\";\nimport general from \"../../helpers/general\";\nimport styles from \"./Toggle.module.scss\";\nimport { Api, Endpoint } from \"../../api/index\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { toast } from \"react-toastify\";\nimport WarningAlert from \"../../components/Alerts/Warning\";\nimport SubscribeRequireModal from \"../../components/Modal/SubscribeRequiredModal\";\nimport Modal from \"../../components/Modal\";\nimport MenuNames from \"../../components/Forms/MenuForm/MenuNames\";\nimport { Link } from \"react-router-dom\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Switch from \"@material-ui/core/Switch\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\n\nfunction Toggle({ Auth, Restaurant, Menu, Category, Dish, Ingredient }) {\n /* State for searching */\n const [tempDishes, setTempDishes] = useState([]);\n const [tempIngredients, setTempIngredients] = useState([]);\n const [customizations, setCustomizations] = useState([]);\n\n /* State for holding data */\n const [categoriesData, setCategoriesData] = useState([]);\n const [dishesData, setDishesData] = useState([]);\n const [ingredientsData, setIngredientsData] = useState([]);\n\n /* State for checkboxes */\n const [menusCheckbox, setMenusCheckbox] = useState({});\n const [categoriesCheckbox, setCategoriesCheckbox] = useState({});\n const [dishesCheckbox, setDishesCheckbox] = useState({});\n const [ingredientsCheckbox, setIngredientsCheckbox] = useState({});\n const [customizationsCheckbox, setCustomizationsCheckbox] = useState({});\n const [saveChangesLoading, setSaveChangesLoading] = useState(false);\n\n const [listenChange, setListenChange] = useState(false);\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const showSubscribeRequired = async () => {\n const message = \"In order to publish your menus, you have to subscribe to Foodi menus.\";\n setModal({\n ...modal,\n visible: true,\n title: \"Subscribe required\",\n Component: setModal({ ...modal, visible: false })} />,\n });\n };\n\n const transformList = (arr, key, val) => {\n const transformed = {};\n arr.forEach((elem) => (transformed[elem[key]] = { name: elem?.name, checked: elem[val] }));\n return transformed;\n };\n\n const onChangeCheckbox = (hook, state, _id, checked) => {\n if (!listenChange) {\n setListenChange(true);\n }\n hook({ ...state, [_id]: { ...state[_id], checked: checked, changed: true } });\n };\n\n const prepareDataObject = (data) => {\n const stored = [];\n if (data && Object?.keys(data)?.length > 0) {\n const objKeys = Object.keys(data);\n objKeys.forEach((key) => {\n if (data?.[key]?.changed) {\n stored.push({ id: key, checked: data[key]?.checked });\n }\n });\n }\n return stored;\n };\n\n const saveChanges = async () => {\n setSaveChangesLoading(true);\n\n const menus = prepareDataObject(menusCheckbox);\n const categories = prepareDataObject(categoriesCheckbox);\n const dishes = prepareDataObject(dishesCheckbox);\n const ingredients = prepareDataObject(ingredientsCheckbox);\n const customizations = prepareDataObject(customizationsCheckbox);\n\n const data = { menus, categories, dishes, ingredients, customizations };\n const response = await Api.call(Endpoint?.settings?.quickEdit?.update, { data });\n\n let successToastMessage = \"Changes have been made successfully.\";\n\n setListenChange(false);\n\n if (response?.confirmation === \"Success\") {\n if (menus?.length > 0) {\n if (!response?.message?.menusUpdatedSuccessfully) {\n successToastMessage = \"Changes have been made successfully (except menus).\";\n showSubscribeRequired();\n }\n Menu.load({ forceRender: true });\n }\n\n if (categories?.length > 0) {\n Category.load({ forceRender: true });\n if (customizations?.length === 0) {\n Restaurant.find({ forceRender: true });\n }\n if (menus?.length === 0) {\n Menu.load({ forceRender: true });\n }\n }\n\n if (dishes?.length > 0) {\n Dish.load({ forceRender: true });\n if (customizations?.length === 0) {\n Restaurant.find({ forceRender: true });\n }\n }\n\n if (ingredients?.length > 0) {\n Ingredient.load({ forceRender: true });\n }\n\n if (customizations?.length > 0) {\n Restaurant.find({ forceRender: true });\n }\n toast(successToastMessage);\n } else {\n toast(response?.message);\n }\n\n setSaveChangesLoading(false);\n };\n\n const loadQuickEdit = async (menu) => {\n if (Menu?.menus?.length === 0 || !menu || !menu?._id) {\n return;\n }\n const params = [menu?._id];\n const response = await Api.call(Endpoint?.settings?.quickEdit?.get, { params });\n if (response?.confirmation === \"Success\") {\n setCategoriesData(response?.message?.categories);\n setCategoriesCheckbox(transformList(response?.message?.categories, \"_id\", \"isAvailable\"));\n\n setDishesData(response?.message?.dishes);\n setTempDishes(response?.message?.dishes);\n setDishesCheckbox(transformList(response?.message?.dishes, \"_id\", \"isAvailable\"));\n\n setIngredientsData(response?.message?.ingredients);\n setTempIngredients(response?.message?.ingredients);\n setIngredientsCheckbox(transformList(response?.message?.ingredients, \"_id\", \"isAvailable\"));\n\n if (Menu?.menus) {\n setMenusCheckbox(transformList(Menu?.menus, \"_id\", \"draft\"));\n }\n } else {\n toast(\"Failed to load data.\");\n }\n };\n\n useEffect(() => {\n loadQuickEdit(Menu?.selected);\n Restaurant?.find();\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (Menu?.menus) {\n setMenusCheckbox(transformList(Menu?.menus, \"_id\", \"draft\"));\n }\n //eslint-disable-next-line\n }, [Menu?.menus]);\n\n useEffect(() => {\n if (Restaurant?.restaurant?.customizations) {\n setCustomizationsCheckbox(transformList(Restaurant?.restaurant?.customizations, \"_id\", \"isAvailable\"));\n setCustomizations(Restaurant?.restaurant?.customizations);\n }\n //eslint-disable-next-line\n }, [Restaurant?.restaurant]);\n\n const handleDishesChange = (e) => {\n let copy = [...tempDishes];\n copy = copy.filter((dish) => dish?.name?.toLowerCase()?.includes(e.target.value.toLowerCase()));\n setDishesData(copy);\n };\n\n const handleIngredientsChange = (e) => {\n let copy = [...tempIngredients];\n copy = copy.filter((ing) => ing?.name?.toLowerCase()?.includes(e.target.value.toLowerCase()));\n setIngredientsData(copy);\n };\n\n const handleCustomizationsChange = (e) => {\n if (Restaurant?.restaurant?.customizations && Array.isArray(Restaurant?.restaurant?.customizations)) {\n let copy = [...Restaurant?.restaurant?.customizations];\n copy = copy.filter((customization) => customization.name.toLowerCase().includes(e.target.value.toLowerCase()));\n setCustomizations(copy);\n }\n };\n\n if (Menu?.menus?.length === 0) {\n return (\n <>\n
    \n

    No menu found

    \n

    \n Please create a menu\n

    \n
    \n \n );\n }\n\n return (\n
    \n \n {\n if (menu?._id?.toString() !== Menu?.selected?._id?.toString()) {\n localStorage.setItem(\"menuSelected\", JSON.stringify(menu));\n Menu?.setMenuSelectedLocally(menu);\n loadQuickEdit(menu);\n }\n }}\n tour=\"create-menu\"\n menus={Menu?.menus}\n />\n {listenChange && (\n \n )}\n
    \n {Menu?.selected?._id && general?.checkPermissions({ exceptPermissions: [\"menu\"], originalPermissions: Auth?.user?.permissions }) && (\n
    \n {\n onChangeCheckbox(\n setMenusCheckbox,\n menusCheckbox,\n Menu?.selected?._id,\n !menusCheckbox[Menu?.selected?._id]?.checked,\n \"menu\",\n Menu?.selected?.name\n );\n }}\n color=\"primary\"\n />\n }\n label={Menu Availability}\n />\n
    \n )}\n {/* {general?.checkPermissions({ exceptPermissions: [\"menu\"], originalPermissions: Auth?.user?.permissions }) && (\n
    \n Menus\n
    \n {Menu?.menus &&\n Menu?.menus?.length > 0 &&\n Menu?.menus?.map((menu, index) => (\n \n {\n onChangeCheckbox(\n setMenusCheckbox,\n menusCheckbox,\n menu?._id,\n !menusCheckbox[menu?._id]?.checked,\n \"menu\",\n menu?.name\n );\n }}\n />\n {menu?.name}\n \n ))}\n
    \n
    \n )} */}\n {general?.checkPermissions({ exceptPermissions: [\"category\"], originalPermissions: Auth?.user?.permissions }) &&\n categoriesData?.length > 0 && (\n
    \n Categories\n
    \n {categoriesData &&\n categoriesData?.length > 0 &&\n categoriesData?.map((category, index) => (\n \n {\n onChangeCheckbox(\n setCategoriesCheckbox,\n categoriesCheckbox,\n category?._id,\n !categoriesCheckbox[category?._id]?.checked,\n \"category\",\n category?.name\n );\n }}\n />\n {category?.name}\n \n ))}\n
    \n
    \n )}\n {general?.checkPermissions({ exceptPermissions: [\"dish\"], originalPermissions: Auth?.user?.permissions }) &&\n dishesData?.length > 0 && (\n
    \n Dishes\n \n\n
    \n {dishesData && dishesData?.length > 0 ? (\n dishesData?.map((dish, index) => (\n \n {\n onChangeCheckbox(\n setDishesCheckbox,\n dishesCheckbox,\n dish?._id,\n !dishesCheckbox[dish?._id]?.checked,\n \"dish\",\n dish?.name\n );\n }}\n />\n {dish?.name}\n \n ))\n ) : (\n <>{dishesData?.length > 0 &&

    There are no dishes that match this word

    }\n )}\n
    \n
    \n )}\n {general?.checkPermissions({ exceptPermissions: [\"ingredient\"], originalPermissions: Auth?.user?.permissions }) &&\n ingredientsData?.length > 0 && (\n
    \n Ingredients\n \n
    \n {ingredientsData && ingredientsData?.length > 0 ? (\n ingredientsData?.map((ingredient, index) => (\n \n {\n onChangeCheckbox(\n setIngredientsCheckbox,\n ingredientsCheckbox,\n ingredient?._id,\n !ingredientsCheckbox[ingredient?._id]?.checked,\n \"ingredient\",\n ingredient?.name\n );\n }}\n />\n {ingredient?.name}\n \n ))\n ) : (\n <>{tempIngredients.length > 0 &&

    There are no ingredients that match this word

    }\n )}\n
    \n
    \n )}\n\n {general?.checkPermissions({ exceptPermissions: [\"restaurant\"], originalPermissions: Auth?.user?.permissions }) &&\n customizations?.length > 0 && (\n
    \n Customizations\n \n
    \n {customizations?.length > 0 ? (\n customizations?.map((customization, index) => (\n \n {\n onChangeCheckbox(\n setCustomizationsCheckbox,\n customizationsCheckbox,\n customization?._id,\n !customizationsCheckbox[customization?._id]?.checked,\n \"customization\",\n customization?.name\n );\n }}\n />\n {customization?.name}\n \n ))\n ) : (\n <>\n {Restaurant?.restaurant?.customizations?.length > 0 && (\n

    There are no customizations that match this word

    \n )}\n \n )}\n
    \n {(Menu?.menus?.length > 0 ||\n Category?.categories?.length > 0 ||\n Dish?.dishes?.length > 0 ||\n Ingredient?.ingredients?.length > 0 ||\n Restaurant?.restaurant?.customizations?.length > 0) && (\n
    \n \n
    \n )}\n
    \n )}\n \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({\n Auth: state?.Auth,\n Restaurant: state?.Restaurant,\n Menu: state?.Menu,\n Category: state?.Category,\n Dish: state?.Dish,\n Ingredient: state?.Ingredient,\n});\nexport default connect(mapStateToProps)(withDashboardLayout(Toggle));\n","import Toggle from \"./Toggle\"\nexport default Toggle;","import React, { useState, useEffect } from \"react\";\nimport { Api, Endpoint } from \"../api\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport styles from \"../Templates/Classic Template/SingleMenuPage/SingleMenuPage.module.scss\";\nimport LoadingSpinner from \"../components/LoadingSpinner\";\nimport backimg from \"../assets/img/placeholder_food.png\";\n\nconst withMenuSingle = (BaseComponent) => (props) => {\n const [loading, setLoading] = useState(true);\n const [dishNotFound, setDishNotFound] = useState(false);\n const [data, setData] = useState({});\n const [dishId, setDishId] = useState(null);\n const [menusTimeline, setMenusTimeline] = useState(null);\n const match = useRouteMatch(\"/menu/:restaurantId/dish/:dishId/menuSelected/:menuId\");\n\n useEffect(() => {\n if (getMatchField(\"dishId\") !== dishId) {\n setDishId(getMatchField(\"dishId\"));\n }\n //eslint-disable-next-line\n }, [match]);\n\n useEffect(() => {\n if (dishId) getData();\n //eslint-disable-next-line\n }, [dishId]);\n\n const getMatchField = (field) => {\n if (match?.params[field]) return match?.params[field];\n };\n\n const getData = async () => {\n setLoading(true);\n const params = [getMatchField(\"restaurantId\"), \"menu\", getMatchField(\"menuId\"), \"dish\", getMatchField(\"dishId\")];\n const response = await Api.call(Endpoint.customerDish, { params });\n if (\n !response ||\n response?.confirmation === \"Fail\" ||\n !response?.message ||\n !response?.message?.menu ||\n !response?.message?.restaurant ||\n !response?.message?.dish\n ) {\n setLoading(false);\n setDishNotFound(true);\n return;\n }\n if (response?.confirmation === \"Success\") {\n let theData = response?.message;\n adminSocialFallback(theData);\n }\n setMenusTimeline(response?.message?.menusTimeline);\n setLoading(false);\n };\n\n const adminSocialFallback = (data) => {\n const adminSocials = [\n { media: \"facebook\", icon: \"fab fa-facebook-f\", url: process.env.REACT_APP_FOODI_FB },\n { media: \"instagram\", icon: \"fab fa-instagram\", url: process.env.REACT_APP_FOODI_IN },\n { media: \"twitter\", icon: \"fab fa-twitter\", url: process.env.REACT_APP_FOODI_TW },\n { media: \"yelp\", icon: \"fab fa-yelp\", url: process.env.REACT_APP_FOODI_YE },\n { media: \"website\", icon: \"fab fa-web\", url: process.env.REACT_APP_FOODI_WEB },\n ];\n\n if (data && data?.restaurant && data?.restaurant?.social) {\n adminSocials.forEach((adminMedia) => {\n data?.restaurant?.social.forEach((media) => {\n if (adminMedia.media === media.media && media.url !== \"\") {\n adminMedia.url = media.url;\n }\n });\n });\n const tempData = { ...data };\n tempData.restaurant.social = adminSocials;\n setData(tempData);\n }\n };\n\n const canRenderIngredients = () => {\n const dish = data?.dish;\n if (dish?.ingredients && dish?.ingredients?.length > 0) {\n return true;\n }\n return false;\n };\n\n const canRenderDietary = () => {\n const dish = data?.dish;\n\n if (!dish?.dietaryConsiderations || !dish?.dietaryConsiderations?.admin || !dish?.dietaryConsiderations?.selected) {\n return false;\n }\n\n let renderDietary = false;\n\n const adminDietaryKeys = Object?.keys(dish?.dietaryConsiderations?.admin);\n const customAddedDietaryKeys = Object?.keys(dish?.dietaryConsiderations?.selected);\n\n for (const key of adminDietaryKeys) {\n if (dish?.dietaryConsiderations?.admin?.[key]?.length > 0) {\n renderDietary = true;\n break;\n }\n }\n\n if (!renderDietary) {\n for (const key of customAddedDietaryKeys) {\n if (dish?.dietaryConsiderations?.selected?.[key]?.length > 0) {\n renderDietary = true;\n break;\n }\n }\n }\n\n return renderDietary;\n };\n\n if (loading) {\n return (\n
    \n \n

    Please wait...

    \n
    \n );\n } else if (dishNotFound) {\n return (\n
    \n \"\"\n

    Dish not found

    \n
    \n );\n }\n\n return (\n \n );\n};\n\nexport default withMenuSingle;\n","import React, { useEffect, useState } from \"react\";\nimport { Suspense } from \"react\";\nimport withMenuSingle from \"../../hoc/withMenuSingle\";\nimport useInterval from \"../../hoc/useInterval\";\nimport general from \"../../helpers/general\";\nimport IncomingMenus from \"../Alerts/IncomingMenus\";\nimport withSelectedMenu from \"../../hoc/withSelectedMenu\";\nimport { useHistory } from \"react-router-dom\";\n\nfunction SingleMenuWrapper(props) {\n const { restaurant } = props;\n const history = useHistory();\n\n const delay = 30000;\n const interval = useInterval(checkClosestMenu, delay);\n\n const [DishLazyLoadedTemplate, setDishLazyLoadedTemplate] = useState(null);\n const [notifyMenus, setNotifyMenus] = useState(null);\n\n function checkClosestMenu() {\n const notifyMenus = general?.findClosestMenus(props?.menusTimeline, restaurant?.menus, restaurant?.menu_period_transition);\n if (notifyMenus?.length > 0) {\n interval?.reset();\n setNotifyMenus(notifyMenus);\n }\n }\n\n useEffect(() => {\n let template = \"Classic Template\";\n if (props?.menu?.selectedTemplate && props?.menu?.selectedTemplate !== \"undefined\") {\n template = props?.menu?.selectedTemplate;\n }\n setDishLazyLoadedTemplate(React.lazy(() => import(`../../Templates/${template}/SingleMenuPage`)));\n // eslint-disable-next-line\n }, []);\n\n const onCloseIncomingMenu = () => {\n setNotifyMenus([]);\n interval?.start();\n };\n\n const onSwitchIncomingMenu = async () => {\n if (notifyMenus?.length === 1) {\n const menu = notifyMenus?.[0];\n history.push(`/menu/${restaurant?._id}`, { menuIDSelectedFromCustomer: menu?._id });\n } else {\n history.push(`/menu/${restaurant?._id}`, { menuIDSelectedFromCustomer: null });\n }\n setNotifyMenus([]);\n };\n\n return (\n <>\n {DishLazyLoadedTemplate && (\n <>\n {notifyMenus && notifyMenus?.length > 0 && (\n \n )}\n }>\n \n \n \n )}\n \n );\n}\n\nexport default withMenuSingle(withSelectedMenu(SingleMenuWrapper));\n","import React, { useState, useEffect } from \"react\";\nimport CustomizationForm from \"../../components/Forms/CustomizationForm\";\nimport { connect } from \"react-redux\";\n\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\n\nfunction Customizations({ Restaurant, Ingredient }) {\n const [customizations, setCustomizations] = useState(null);\n const { restaurant } = Restaurant;\n const { ingredients } = Ingredient;\n\n const fetchRestaurant = async () => {\n const response = await Restaurant?.find();\n if (response?.confirmation) {\n if (response?.confirmation === \"Success\" && response?.message?.[0]?.customizations) {\n setCustomizations(response?.message?.[0]?.customizations);\n return;\n }\n setCustomizations([]);\n return;\n }\n if (typeof response === \"object\" && !Array.isArray(response) && response?.customizations) {\n setCustomizations(response?.customizations);\n return;\n }\n setCustomizations([]);\n };\n\n useEffect(() => {\n Ingredient.load({ dismissTree: true });\n fetchRestaurant();\n //eslint-disable-next-line\n }, []);\n\n return (\n
    \n {customizations && (\n \n )}\n
    \n );\n}\n\nconst mapStateToProps = (state) => ({ Restaurant: state?.Restaurant, Ingredient: state?.Ingredient });\nexport default connect(mapStateToProps)(withDashboardLayout(Customizations));\n","import Customizations from \"./Customizations\"\nexport default Customizations;","import React, { useEffect, useState, useRef } from \"react\";\nimport { Api, Endpoint } from \"../../api\";\n\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { Alert, Row, Col } from \"react-bootstrap\";\nimport { toast } from \"react-toastify\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button } from \"react-bootstrap\";\nimport { useHistory } from \"react-router-dom\";\n\nimport Helpers from \"../../helpers/general\";\n\nimport PhoneInput from \"react-phone-input-2\";\nimport registerFormStyle from \"../Register/Register.module.scss\";\n\nconst { passwordRegex, passwordMessage } = Helpers.getPasswordRegex();\n\nexport default function DMARegister() {\n const history = useHistory();\n\n const [loading, setLoading] = useState(true);\n const [submitLoading, setSubmitLoading] = useState(false);\n const [error, setError] = useState(false);\n\n const [apiSubmitDataError, setApiSubmitDataError] = useState(null);\n const [phoneNumber, setPhoneNumber] = useState(\"+1\");\n const [dmaData, setDMAData] = useState({});\n\n const { register, handleSubmit, errors, setValue, watch } = useForm();\n\n const password = useRef({});\n password.current = watch(\"password\", \"\");\n\n useEffect(() => {\n register({ name: \"phoneNumber\", value: phoneNumber });\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n setValue(\"phoneNumber\", phoneNumber);\n //eslint-disable-next-line\n }, [phoneNumber]);\n\n const getToken = function () {\n return new URLSearchParams(window.location.search).get(\"token\");\n };\n const verifyToken = async function () {\n const token = getToken();\n const response = await Api.call(Endpoint.DMA.verifyToken(token));\n if (response?.statusCode !== 200) {\n setLoading(false);\n setError(\"Something went wrong. Please try again later.\");\n return;\n }\n setDMAData({ email: response?.message?.email });\n setLoading(false);\n setError(null);\n };\n\n const submit = async function (data) {\n setSubmitLoading(true);\n const response = await Api.call(Endpoint.DMA.register(getToken()), { data });\n if (response?.statusCode !== 200) {\n setApiSubmitDataError(response?.message);\n setSubmitLoading(false);\n return;\n }\n setApiSubmitDataError(null);\n setSubmitLoading(false);\n toast(\"Successfully registered. Please login to continue.\");\n history.push(\"/login\");\n };\n\n useEffect(() => {\n verifyToken();\n //eslint-disable-next-line\n }, []);\n return (\n
    \n
    \n {loading ? (\n <>\n \n

    Please wait...

    \n \n ) : error ? (\n <>\n \n

    {error}

    \n \n ) : (\n <>\n
    \n
    \n {apiSubmitDataError && {apiSubmitDataError}}\n \n

    \n {\" \"}\n Hi {dmaData?.email}!{\" \"}\n

    \n

    Please complete your account.

    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n setPhoneNumber(phone)}\n />\n \n \n\n \n \n \n \n {errors?.username?.message && (\n {errors?.username?.message}\n )}\n \n \n \n\n \n \n \n \n\n \n \n \n {errors?.company_name?.message && (\n {errors?.company_name?.message}\n )}\n \n \n \n \n \n \n {errors?.password?.message && (\n {errors?.password?.message}\n )}\n \n \n \n\n \n \n value === password.current || \"The password confirmation does not match.\",\n })}\n type=\"password\"\n name=\"confirm_password\"\n placeholder=\"Confirm Password\"\n />\n {errors?.confirm_password?.message && (\n {errors?.confirm_password?.message}\n )}\n \n 0 ? true : false}\n style={{ width: \"100%\" }}\n onClick={handleSubmit(submit)}\n >\n {submitLoading ? : \"Submit\"}\n \n \n \n \n \n )}\n \n \n );\n}\n","import React from \"react\";\nimport Stepper from \"@material-ui/core/Stepper\";\nimport Step from \"@material-ui/core/Step\";\nimport StepLabel from \"@material-ui/core/StepLabel\";\n\nexport default function HorizontalLabelPositionBelowStepper({ activeStep, steps, handleNext, handleBack, handleReset }) {\n return (\n
    \n \n {steps.map((label) => (\n \n {label}\n \n ))}\n \n
    \n
    \n );\n}\n","import React, { useEffect } from \"react\";\nimport { Form } from \"react-bootstrap\";\n\nexport default function AddClient({ setValue, unregister, errors, getValues }) {\n useEffect(() => {\n if (typeof unregister === \"function\") {\n unregister(\"username\");\n }\n //eslint-disable-next-line\n }, []);\n return (\n
    \n \n Email\n setValue(\"email\", e.target.value, { shouldValidate: true })}\n type=\"email\"\n name=\"email\"\n placeholder=\"Email\"\n />\n {errors?.email?.message && {errors?.email?.message}}\n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\n\nimport { Form } from \"react-bootstrap\";\nimport SelectList from \"../../../SelectList\";\n\nconst STEPS = {\n SELECT_AN_RESTAURANT: 0,\n ADD_NEW_RESTAURANT: 1,\n};\n\nexport default function AddOrSelectRestaurant({ errors, restaurants, setValue, getValues, register }) {\n const [restaurantSelected, setRestaurantSelected] = useState(getValues(\"restaurant_id\") || null);\n\n const [step, setStep] = useState(getValues(\"restaurant_name\") ? 1 : 0);\n\n useEffect(() => {\n if (step === STEPS.ADD_NEW_RESTAURANT) {\n register({ name: \"username\" }, { required: \"Username cannot be empty\" });\n }\n //eslint-disable-next-line\n }, [step]);\n useEffect(() => {\n setValue(\"restaurant_id\", restaurantSelected);\n //eslint-disable-next-line\n }, [restaurantSelected]);\n\n const transformRestaurants = function () {\n const defaultOption = { value: -1, label: \"Add new restaurant\" };\n if (!restaurants || restaurants?.length === 0) {\n return [defaultOption];\n }\n let options = restaurants?.map((restaurant) => ({ label: restaurant?.name, value: restaurant?._id }));\n options.push(defaultOption);\n return options;\n };\n\n const handleOnChange = function (data) {\n if (data?.value === -1) {\n setRestaurantSelected(null);\n setStep(STEPS.ADD_NEW_RESTAURANT);\n\n return;\n }\n setRestaurantSelected(data);\n };\n return (\n
    \n
    \n {step === STEPS.SELECT_AN_RESTAURANT && (\n <>\n handleOnChange(data)}\n />\n {errors?.restaurant_id?.message && {errors?.restaurant_id?.message}}\n \n )}\n\n {step === STEPS.ADD_NEW_RESTAURANT && (\n <>\n \n Username\n setValue(\"username\", e.target.value, { shouldValidate: true })}\n name=\"username\"\n placeholder=\"Username\"\n />\n {errors?.username?.message ? (\n {errors?.username?.message}\n ) : (\n Username should be unique\n )}\n \n\n \n Restaurant name\n\n setValue(\"restaurant_name\", e.target.value, { shouldValidate: true })}\n type=\"text\"\n name=\"restaurant_name\"\n placeholder=\"Restaurant name\"\n />\n {errors?.restaurant_id?.message && You must provide a valid name}\n \n \n )}\n
    \n
    \n );\n}\n","import React from \"react\";\nimport AddClient from \"./AddClient\";\nimport AddOrSelectRestaurant from \"./AddOrSelectRestaurant\";\n\nexport default function Complete({ setValue, getValues, errors, restaurants, register }) {\n return (\n
    \n \n
    \n \n
    \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { Form, Button, Alert } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../../LoadingSpinner\";\nimport { Api, Endpoint } from \"../../../../api\";\nimport Stepper from \"../AddClientStepper\";\n\nimport { toast } from \"react-toastify\";\n\nimport AddClient from \"./AddClient\";\nimport AddOrSelectRestaurant from \"./AddOrSelectRestaurant\";\n\nimport Complete from \"./Complete\";\n\nconst STEPS = {\n ADD_USER_INFO: 0,\n ADD_OR_SELECT_RESTAURANT: 1,\n COMPLETE: 2,\n};\n\nexport default function Main({ onSuccessCallback, closeModal, loadTemporaryClients }) {\n const [loading, setLoading] = useState(false);\n const [apiError, setApiError] = useState(null);\n\n const [activeStep, setActiveStep] = useState(0);\n const [restaurants, setRestaurants] = useState([]);\n\n const steps = [\"Add email info\", \"Add or select an restaurant\", \"Complete\"];\n\n const handleNext = () => {\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n };\n\n const handleBack = () => {\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n };\n\n const handleReset = () => {\n setActiveStep(0);\n };\n\n const { register, unregister, handleSubmit, errors, setValue, setError, clearErrors, getValues } = useForm({\n mode: \"onChange\",\n reValidateMode: \"onChange\",\n shouldFocusError: true,\n shouldUnregister: true,\n criteriaMode: \"all\",\n });\n\n useEffect(() => {\n register(\n { name: \"email\" },\n {\n required: \"Email cannot be empty\",\n pattern: { value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i, message: \"Invalid email address\" },\n }\n );\n\n register({ name: \"restaurant_id\", value: null }); // If user selects an existing restaurant\n register({ name: \"restaurant_name\", value: null }); // If user adds a new restaurant\n //eslint-disable-next-line\n }, []);\n\n const handleSubmitFirstStep = async (data) => {\n data.step = Object.keys(STEPS)[activeStep];\n const response = await Api.call(Endpoint.DMA.clients.create, { data });\n if (response?.statusCode !== 200) {\n setLoading(false);\n setApiError(response?.message || \"Something went wrong\");\n return;\n }\n setApiError(null);\n setLoading(false);\n setRestaurants(response?.message?.restaurants || []);\n handleNext();\n };\n\n const clearErrorsOnSecondStep = function () {\n clearErrors(\"restaurant_id\");\n clearErrors(\"restaurant_name\");\n };\n\n const submit = async (data) => {\n data.step = Object.keys(STEPS)[activeStep];\n\n setLoading(true);\n\n if (STEPS.ADD_USER_INFO === activeStep) {\n await handleSubmitFirstStep(data);\n return;\n }\n\n setLoading(false);\n\n if (STEPS.ADD_OR_SELECT_RESTAURANT === activeStep) {\n // Check if the user has selected an existing restaurant or added a new restaurant\n if (data?.restaurant_id || data?.restaurant_name) {\n clearErrorsOnSecondStep();\n handleNext();\n return;\n }\n\n setError(\"restaurant_id\", {\n type: \"manual\",\n message: \"You must select or add a new restaurant\",\n });\n return;\n }\n if (data?.restaurant_id || data?.restaurant_name) {\n clearErrorsOnSecondStep();\n } else {\n setError(\"restaurant_id\", {\n type: \"manual\",\n message: \"You must select or add a new restaurant\",\n });\n return;\n }\n\n setLoading(true);\n\n data.restaurant_id = getValues?.(\"restaurant_id\")?.value || null;\n data.restaurant_name = getValues(\"restaurant_name\") || null;\n\n const response = await Api.call(Endpoint.DMA.clients.create, { data });\n\n if (response?.statusCode === 200) {\n setLoading(false);\n toast(\"An invitation to this client has been sent successfully\");\n typeof loadTemporaryClients === \"function\" && loadTemporaryClients();\n typeof onSuccessCallback === \"function\" && onSuccessCallback();\n typeof closeModal === \"function\" && closeModal();\n return;\n }\n\n setLoading(false);\n setApiError(response?.message || \"Something went wrong\");\n };\n\n return (\n
    \n
    submit(data))}>\n \n {apiError && {apiError}}\n\n {activeStep === STEPS.ADD_USER_INFO && (\n \n )}\n\n {activeStep === STEPS.ADD_OR_SELECT_RESTAURANT && (\n \n )}\n\n {activeStep === STEPS.COMPLETE && (\n \n )}\n\n \n {activeStep > 0 && (\n \n )}\n \n \n \n
    \n );\n}\n","import React, { useState } from \"react\";\nimport Alert from \"react-bootstrap/Alert\";\n\nimport LoadingSpinner from \"../../LoadingSpinner\";\n\nimport Stripe from \"../../../utils/stripe\";\n\nexport default function AddPaymentMethods({ addPaymentMethod }) {\n const [loading, setLoading] = useState(false);\n const handleAddPaymentMethod = async function () {\n setLoading(true);\n const response = await addPaymentMethod({ url: window.location.href });\n setLoading(false);\n\n if (response.statusCode === 200 && response?.message?.url) {\n await Stripe.redirectToCheckout(response.message.id);\n return;\n }\n };\n return (\n
    \n \n Please add a payment method\n\n
    \n
  • You won’t be able to subscribe for licenses unless you add a payment method.
  • \n
  • You won’t be able to publish licenses menus unless you add a payment method and subscribe
  • \n
  • After you have added a payment method, you will be able to subscribe for multiple licenses at once.
  • \n
    \n
    \n \n
    \n
    \n );\n}\n","import React from \"react\";\nimport { createStyles, makeStyles } from \"@material-ui/core/styles\";\n\nimport { List, ListItem, ListItemIcon, ListItemText, Radio, Tooltip } from \"@material-ui/core\";\n\nimport { Api, Endpoint } from \"../../../../api/index\";\n\nimport Stripe from \"../../../../utils/stripe\";\nimport { toast } from \"react-toastify\";\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n root: {\n width: \"100%\",\n backgroundColor: \"white\",\n },\n })\n);\n\nexport default function SelectPaymentMethod({ paymentMethods, paymentMethodSelected, setPaymentMethodSelected }) {\n const classes = useStyles();\n\n const handleSelectPaymentMethod = function (elem) {\n setPaymentMethodSelected(elem?.id);\n };\n\n const addPaymentMethod = async function () {\n const response = await Api.call(Endpoint.subscription.savePayment, { data: { url: window.location.href } });\n\n if (response.statusCode === 200 && response?.message?.url) {\n await Stripe.redirectToCheckout(response.message.id);\n return;\n }\n toast(\"We are sorry, but something went wrong. Please try again or contact the support.\");\n };\n\n if (!paymentMethods || paymentMethods?.data?.length === 0) {\n return (\n
    \n

    You must add at least one payment method in order to process this step.

    \n

    \n You can add a payment method by clicking{\" \"}\n \n here\n \n .\n

    \n
    \n );\n }\n\n return (\n \n {paymentMethods?.data?.length > 0 &&\n paymentMethods?.data?.map((elem, index) => (\n \n handleSelectPaymentMethod(elem)}>\n \n handleSelectPaymentMethod(elem)}\n checked={paymentMethodSelected === elem?.id}\n size=\"small\"\n />\n \n \n

    XXXX-XXXX-XXXX-{elem?.card?.last4}

    \n\n

    \n {elem?.billing_details?.name} - {elem?.card?.brand?.charAt(0).toUpperCase() + elem?.card?.brand?.slice(1)} -{\" \"}\n {elem?.card?.exp_month}/{elem?.card?.exp_year}\n

    \n \n }\n />\n
    \n \n ))}\n
    \n );\n}\n","import React from \"react\";\nimport { Form } from \"react-bootstrap\";\n\nexport default function PromotionCode({ promotionCode, setPromotionCode }) {\n return (\n
    \n \n Promotion Code\n setPromotionCode(e?.target?.value)}\n type=\"text\"\n name=\"promotion_code\"\n placeholder=\"Promotion Code\"\n />\n \n
    \n );\n}\n","import React from \"react\";\nimport SelectPaymentMethod from \"./SelectPaymentMethod\";\nimport ChoosePlan from \"./ChoosePlan\";\n\nexport default function Complete({\n planSelected,\n setPlanSelected,\n paymentMethodSelected,\n setPaymentMethodSelected,\n paymentMethods,\n promotionCode,\n productPrices,\n promotionCodeResponse,\n plansLoading,\n}) {\n const calculatePriceBasedOnCoupon = function () {\n const { monthly_product, yearly_product } = productPrices || {};\n const product = monthly_product?.price?.id === planSelected ? monthly_product : yearly_product;\n\n if (!product || product?.price?.id !== planSelected) {\n return \"Cannot calculate price. Please try again later.\";\n }\n\n const plan = product?.price;\n\n const percent_off = promotionCodeResponse?.coupon?.percent_off;\n const amount_off = promotionCodeResponse?.coupon?.amount_off;\n const price = plan?.unit_amount / 100;\n\n if (percent_off) {\n return \"$\" + (price * ((100 - percent_off) / 100))?.toFixed(2)?.toString();\n }\n\n if (amount_off) {\n if (amount_off / 100 > price) {\n return \"$0.00\";\n }\n return \"$\" + (price - amount_off / 100)?.toFixed(2)?.toString();\n }\n };\n\n return (\n
    \n \n
    \n \n {promotionCode && promotionCodeResponse && (\n
    \n
    \n

    \n Promotion Code: {promotionCode}\n

    \n

    \n {promotionCodeResponse?.coupon?.percent_off\n ? `Discount percentage: ${promotionCodeResponse?.coupon?.percent_off}%`\n : `Discount Price: $${(promotionCodeResponse?.coupon?.amount_off / 100)?.toFixed(2)}`}\n
    \n Final price per license: {calculatePriceBasedOnCoupon()}\n

    \n
    \n )}\n
    \n );\n}\n","import React from \"react\";\nimport { Alert } from \"react-bootstrap\";\n\nexport default function ProcessCompleted({ processCompletedResponse }) {\n return (\n
    \n {processCompletedResponse?.success?.length > 0 && (\n
    \n \n Success!\n

    The following clients ({processCompletedResponse?.success?.length}) have been subscribed successfully:

    \n
      \n {processCompletedResponse?.success?.map((client, index) => (\n
    • \n \n {client?.username} ({client?.email})\n \n
    • \n ))}\n
    \n
    \n
    \n )}\n {processCompletedResponse?.fail?.length > 0 && (\n
    \n \n Error!\n

    \n {processCompletedResponse?.fail?.length === 1\n ? `${processCompletedResponse?.fail?.length} client failed to subscribe.`\n : `${processCompletedResponse?.fail?.length} clients failed to subscribe.`}\n

    \n

    Please check your payment method or contact the support.

    \n

    {processCompletedResponse?.fail?.length === 1 ? \"Client\" : \"Clients\"} that failed to subscribe:

    \n
      \n {processCompletedResponse?.fail?.map((client, index) => (\n
    • \n \n {client?.username} ({client?.email})\n \n
    • \n ))}\n
    \n
    \n
    \n )}\n
    \n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport SelectPaymentMethod from \"./SelectPaymentMethod\";\nimport ChoosePlan from \"./ChoosePlan\";\nimport PromotionCode from \"./PromotionCode\";\nimport Complete from \"./Complete\";\n\nimport LoadingSpinner from \"../../../LoadingSpinner\";\n\nimport { Form, Button, Alert } from \"react-bootstrap\";\n\nimport Stepper from \"../AddClientStepper\";\nimport ProcessCompleted from \"./ProcessCompleted\";\n\nimport { Api, Endpoint } from \"../../../../api/index\";\n\nimport usePrevious from \"../../../../hoc/usePrevious\";\n\nconst STEPS = {\n CHOOSE_PLAN: 0,\n PAYMENT_METHOD: 1,\n PROMOTION_CODE: 2,\n COMPLETE: 3,\n};\n\nexport default function Main({\n paymentMethods,\n unSubscribedClients,\n productPrices: plans,\n loadClientsSubscriptionsStatus,\n updatePlans,\n closeModal,\n}) {\n const [activeStep, setActiveStep] = useState(0);\n const [loading, setLoading] = useState(false);\n\n const [plansLoading, setPlansLoading] = useState(false);\n\n const [productPrices, setProductPrices] = useState(plans && typeof plans === \"object\" ? { ...plans } : {});\n\n const filterPaymentMethods = function () {\n if (!paymentMethods?.data) return {};\n const temp = { ...paymentMethods };\n\n const filter = function (payment) {\n if (unSubscribedClients?.length > 1) {\n return !payment?.metadata?.client_id;\n }\n return !payment?.metadata?.client_id || payment?.metadata?.client_id?.toString() === unSubscribedClients?.[0]?.toString();\n };\n\n temp.data = paymentMethods.data.filter(filter);\n\n return temp;\n };\n\n paymentMethods = filterPaymentMethods();\n\n const [planSelected, setPlanSelected] = useState(null);\n const [paymentMethodSelected, setPaymentMethodSelected] = useState(null);\n\n const previousPaymentMethodSelected = usePrevious(paymentMethodSelected);\n\n const [promotionCode, setPromotionCode] = useState(\"\");\n const [promotionCodeResponse, setPromotionCodeResponse] = useState(null);\n\n const [error, setError] = useState(null);\n\n const [processCompleted, setProcessCompleted] = useState(false);\n const [processCompletedResponse, setProcessCompletedResponse] = useState({\n fail: [],\n success: [],\n });\n\n const steps = [\"Choose plan\", \"Payment Method\", \"Promotion Code\", \"Complete\"];\n\n const handleNext = () => {\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n };\n\n const handleBack = () => {\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n };\n\n const handleReset = () => {\n setActiveStep(0);\n };\n\n const checkPromotionCode = async (promo_code) => {\n const response = await Api.call(Endpoint.DMA.check_promo_code, { data: { promo_code, price_id: planSelected } });\n setPromotionCodeResponse(response?.message);\n return response?.message;\n };\n\n const isCardForSpecificClient = (paymentMethodSelected) => {\n const payment = paymentMethods?.data?.find((payment) => payment?.id === paymentMethodSelected);\n\n if (payment?.metadata?.client_id && payment?.metadata?.dma_id) {\n return true;\n }\n return false;\n };\n\n const checkForErrors = async function () {\n if (activeStep === STEPS.CHOOSE_PLAN) {\n if (!planSelected) {\n setError(\"Please select a plan\");\n return false;\n }\n }\n\n if (activeStep === STEPS.PAYMENT_METHOD) {\n if (!paymentMethodSelected) {\n setError(\"Please select a payment method\");\n return false;\n }\n\n if (isCardForSpecificClient(paymentMethodSelected)) {\n setLoading(true);\n\n const plans = await updatePlans();\n setProductPrices(plans);\n setPlanSelected(null);\n\n setLoading(false);\n }\n }\n\n if (activeStep === STEPS.PROMOTION_CODE) {\n if (!promotionCode) {\n setError(\"Please enter a promotion code. If you don't have one, you can skip this step by clicking on the skip button.\");\n return false;\n }\n setLoading(true);\n const response = await checkPromotionCode(promotionCode);\n setLoading(false);\n if (!response) {\n setError(\"This code is invalid.\");\n return false;\n }\n }\n\n return true;\n };\n\n const closeProcessStep = function () {\n closeModal();\n };\n\n const submit = async (e) => {\n e?.preventDefault();\n\n if (!(await checkForErrors())) {\n return;\n }\n\n setError(null);\n\n const data = {\n price_id: planSelected,\n default_payment_method: paymentMethodSelected,\n promo_code: promotionCode,\n clients: unSubscribedClients,\n };\n\n if (activeStep !== STEPS.COMPLETE) {\n handleNext();\n return;\n }\n\n setLoading(true);\n\n const response = await Api.call(Endpoint.DMA.clients.create_subscription, { data });\n\n if (response?.statusCode !== 200) {\n setError(response?.message);\n setLoading(false);\n return;\n }\n\n await loadClientsSubscriptionsStatus();\n setLoading(false);\n\n setProcessCompletedResponse(response?.message);\n setProcessCompleted(true);\n };\n\n useEffect(() => {\n if (isCardForSpecificClient(paymentMethodSelected)) {\n if (activeStep === STEPS.COMPLETE) {\n setPlanSelected(null);\n\n setPlansLoading(true);\n updatePlans()?.then((result) => {\n setProductPrices(result);\n setPlansLoading(false);\n });\n }\n } else {\n setPlansLoading(true);\n setProductPrices(plans);\n activeStep === STEPS.COMPLETE && isCardForSpecificClient(previousPaymentMethodSelected) && setPlanSelected(null);\n\n setTimeout(() => setPlansLoading(false), 400);\n }\n //eslint-disable-next-line\n }, [paymentMethodSelected]);\n\n if (processCompleted) {\n return (\n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n );\n }\n return (\n
    \n
    \n \n\n {error && {error}}\n\n {activeStep === STEPS.CHOOSE_PLAN && (\n \n )}\n {activeStep === STEPS.PAYMENT_METHOD && (\n \n )}\n\n {activeStep === STEPS.PROMOTION_CODE && (\n \n )}\n\n {activeStep === STEPS.COMPLETE && (\n \n )}\n\n \n {activeStep > 0 && (\n \n )}\n {activeStep === STEPS.PROMOTION_CODE && (\n {\n setPromotionCode(\"\");\n setError(null);\n handleNext();\n }}\n variant=\"secondary\"\n style={{ marginRight: \"10px\" }}\n >\n Skip\n \n )}\n \n \n \n
    \n );\n}\n","import { useRef, useEffect } from \"react\";\n\nexport default function usePrevious(value) {\n const ref = useRef();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n}\n","import React, { useState } from \"react\";\nimport { Button } from \"react-bootstrap\";\n\nimport Section from \"../../Section/Section\";\nimport Table from \"../../Table\";\n\nimport { Api, Endpoint } from \"../../../api/index\";\n\nimport { Cookies } from \"react-cookie\";\nimport { toast } from \"react-toastify\";\n\nimport LoadingSpinner from \"../../LoadingSpinner\";\nimport AdminStyle from \"../../../Views/Admin/Admin.module.scss\";\nimport Modal from \"../../Modal\";\n\nimport DeleteUser from \"../../Forms/DeleteUser\";\nimport ClientsSubscribe from \"./ClientsSubscribe/Main\";\n\nimport { Button as MaterialUIButton } from \"@material-ui/core\";\n\nimport { useHistory } from \"react-router-dom\";\n\nimport EmbedMenuOptions from \"../../RestaurantForm/EmbedMenuOptions\";\n\nconst cookies = new Cookies();\n\nexport default function LicensesSubscriptionStatus({\n Auth,\n subscribedClients = [],\n unSubscribedClients = [],\n paymentMethods,\n loadClientsSubscriptionsStatus,\n productPrices,\n updatePlans,\n}) {\n const history = useHistory();\n\n const [loadingUserShapeShift, setLoadingUserShapeShift] = useState(-1);\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const subscribeForAllClients = async () => {\n setModal({\n ...modal,\n visible: true,\n title: `Subscribe for all clients (${unSubscribedClients?.length})`,\n Component: (\n client?._id)}\n loadClientsSubscriptionsStatus={loadClientsSubscriptionsStatus}\n updatePlans={updatePlans}\n closeModal={() => setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const subscribeForMultipleUsers = async (users = {}) => {\n users = Object?.keys(users);\n setModal({\n ...modal,\n visible: true,\n title: `Subscribe for ${users?.length} ${users?.length > 1 ? \"licenses\" : \"license\"}`,\n Component: (\n setModal({ ...modal, visible: false })}\n />\n ),\n });\n };\n\n const shapeshift = async (user) => {\n if (!user?.state) {\n toast(\"This account has not been verified.\");\n return;\n }\n setLoadingUserShapeShift(user?._id);\n\n const data = {\n _id: user._id,\n refreshToken: cookies.get(\"refreshToken\"),\n email: user.email,\n };\n\n const response = await Auth.SHAPE_SHIFT(data, Endpoint.DMA.clients.shapeshift);\n if (response?.statusCode !== 200) {\n toast(response?.message);\n setLoadingUserShapeShift(-1);\n return;\n }\n\n window.location.href = \"/\";\n setLoadingUserShapeShift(-1);\n };\n\n const showDeleteClientModal = (user) => {\n setModal({\n ...modal,\n title: \"Remove license\",\n visible: true,\n Component: (\n {\n const response = await Api.call(Endpoint.DMA.clients.delete(user?._id), { data: { password } });\n typeof loadClientsSubscriptionsStatus === \"function\" && loadClientsSubscriptionsStatus();\n return response;\n }}\n />\n ),\n });\n };\n\n const viewMore = function (user) {\n history.push(`/dma/client?id=${user?._id}`);\n };\n\n const showEmbedModal = (restaurant_id) => {\n setModal({\n ...modal,\n visible: true,\n title: \"Embed Menu\",\n Component: ,\n });\n };\n\n const columns = {\n subscribedClients: [\n {\n field: \"Email\",\n access: \"email\",\n },\n {\n field: \"Full Name\",\n render: ({ row, column, index }) => (\n \n {row?.firstName} {row?.lastName}\n \n ),\n },\n {\n field: \"Username\",\n access: \"username\",\n },\n {\n field: \"Actions\",\n render: ({ row, column, index }) => (\n showDeleteClientModal(row)} className={`${AdminStyle.deleteIcon} far fa-trash-alt`}>\n ),\n },\n {\n field: \"View More\",\n render: ({ row, column, index }) => (\n
    \n \n
    \n ),\n },\n {\n field: \"Copy Embed Code\",\n render: ({ row, column, index }) => (\n
    \n \n
    \n ),\n },\n {\n field: \"Login as\",\n render: ({ row, column, index }) => (\n await shapeshift(row, index)}\n style={{ padding: \"4px\", fontSize: \"14px\" }}\n >\n {loadingUserShapeShift?.toString() === row?._id?.toString() ? : \"Login\"}\n \n ),\n },\n ],\n unSubscribedClients: [\n {\n field: \"Email\",\n access: \"email\",\n },\n {\n field: \"Full Name\",\n render: ({ row, column, index }) => (\n \n {row?.firstName} {row?.lastName}\n \n ),\n },\n {\n field: \"Username\",\n access: \"username\",\n },\n {\n field: \"Actions\",\n render: ({ row, column, index }) => (\n showDeleteClientModal(row)} className={`${AdminStyle.deleteIcon} far fa-trash-alt`}>\n ),\n },\n {\n field: \"Subscribe\",\n render: ({ row, column, index }) => (\n
    \n subscribeForMultipleUsers({ [row?._id]: true })}\n style={{ padding: \"4px\", fontSize: \"14px\" }}\n >\n Subscribe\n \n
    \n ),\n },\n {\n field: \"View More\",\n render: ({ row, column, index }) => (\n
    \n \n
    \n ),\n },\n {\n field: \"Copy Embed Code\",\n render: ({ row, column, index }) => (\n
    \n \n
    \n ),\n },\n {\n field: \"Login as\",\n render: ({ row, column, index }) => (\n await shapeshift(row, index)}\n style={{ padding: \"4px\", fontSize: \"14px\" }}\n >\n {loadingUserShapeShift?.toString() === row?._id?.toString() ? : \"Login\"}\n \n ),\n },\n ],\n };\n\n return (\n
    \n \n
    \n
    \n \n 0\n ? { name: \"Subscribe for all\", funk: subscribeForAllClients }\n : null\n }\n >\n (\n {\n subscribeForMultipleUsers(checked);\n setChecked({});\n }}\n >\n Subscribe\n \n )}\n rows={unSubscribedClients}\n enableLocalPagination\n enableSelectMultiple\n onSelectRowsDisableDelete\n />\n \n \n );\n}\n","import React, { useState } from \"react\";\nimport { List, ListItem, ListItemIcon, ListItemText, Radio } from \"@material-ui/core\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\n\nimport Stripe from \"../../../utils/stripe\";\nimport { Alert, Form } from \"react-bootstrap\";\n\nimport Pagination from \"../../Pagination\";\nimport general from \"../../../helpers/general\";\n\nexport default function AddCardForClient({ unSubscribedClients = [], addCard }) {\n const [selectedClient, setSelectedClient] = useState(\"\");\n const [loading, setLoading] = useState(false);\n\n const per_page_items = 5;\n\n const [clients, setClients] = useState(general.paginate(unSubscribedClients, 1, per_page_items));\n\n const [error, setError] = useState(null);\n\n const changePage = async (e, page) => {\n setClients(general.paginate(unSubscribedClients, page + 1, per_page_items));\n };\n\n const handleAddCard = async function () {\n if (!selectedClient) {\n setError(\"You must choose at least one client\");\n return;\n }\n\n const metadata = {\n client_id: selectedClient,\n };\n\n setLoading(true);\n const response = await addCard({ url: window.location.href, metadata });\n setLoading(false);\n\n if (response.statusCode === 200 && response?.message?.url) {\n await Stripe.redirectToCheckout(response.message.id);\n return;\n }\n\n typeof response?.message === \"string\" && setError(response?.message);\n };\n\n const handleSearch = function (term) {\n if (term?.length === 0) {\n return setClients(general.paginate(unSubscribedClients, 1, per_page_items));\n }\n\n const filtered = unSubscribedClients?.filter(\n (client) =>\n client?.email?.indexOf(term) !== -1 ||\n client?.username?.indexOf(term) !== -1 ||\n client?.firstName?.indexOf(term) !== -1 ||\n client?.lastName?.indexOf(term) !== -1\n );\n setClients(general.paginate(filtered, 1, per_page_items));\n };\n\n return (\n
    \n \n

    Select the client that you want to add the card.

    \n

    After you have completed this step, you can subscribe for the client using that card.

    \n\n {error && {error}}\n\n {unSubscribedClients?.length > 5 && (\n
    \n handleSearch(e?.target?.value)} placeholder=\"Search for clients...\" />\n
    \n )}\n\n {clients?.data?.map((client, index) => (\n setSelectedClient(client?._id)}>\n \n {}}\n size=\"small\"\n />\n \n \n \n ))}\n {clients?.data?.length === 0 && unSubscribedClients?.length > 0 && (\n
    \n

    No clients were found.

    \n
    \n )}\n
    \n\n \n\n
    \n \n
    \n
    \n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Card, Button } from \"react-bootstrap\";\nimport styles from \"../../App.module.scss\";\nimport Header from \"../../components/Header\";\nimport Section from \"../../components/Section/Section\";\nimport Table from \"../../components/Table\";\nimport { Api, Endpoint } from \"../../api/index\";\n\nimport AddClient from \"../../components/Forms/DMA/AddClient/Main\";\nimport Modal from \"../../components/Modal\";\nimport DeleteUser from \"../../components/Forms/DeleteUser\";\n\nimport { connect } from \"react-redux\";\n\nimport Statistics from \"../../components/Forms/DashboardStatistics\";\n\nimport AddPaymentMethods from \"../../components/Forms/DMA/AddPaymentMethods\";\nimport LicensesSubscriptionStatus from \"../../components/Forms/DMA/LicensesSubscriptionStatus\";\nimport AddCardForClient from \"../../components/Forms/DMA/AddCardForClient\";\n\nimport Stripe from \"../../utils/stripe\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport TopBar from \"../../components/Header/TopBar\";\nimport PageHeader from \"../../components/Header/PageHeader\";\n\nfunction DMADashboard({ Auth }) {\n const [temporaryClients, setTemporaryClients] = useState([]);\n const [loading, setLoading] = useState(false);\n const [productPrices, setProductPrices] = useState({});\n const [subscribedClients, setSubscribedClients] = useState([]);\n const [unSubscribedClients, setUnSubscribedClients] = useState([]);\n const [statistics, setStatistics] = useState({});\n const [paymentMethods, setPaymentMethods] = useState(null);\n const [navCollapsed, setNavCollapsed] = useState(false);\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const loadTemporaryClients = async (query = {}) => {\n const response = await Api.call(Endpoint.DMA.clients.temporary, { query });\n if (response?.statusCode === 200) {\n setTemporaryClients(response?.message);\n }\n };\n\n const loadClientsSubscriptionsStatus = async () => {\n const response = await Api.call(Endpoint.DMA.clients.subscription_status);\n if (response?.statusCode === 200) {\n setSubscribedClients(response?.message?.subscribedClients);\n setUnSubscribedClients(response?.message?.unSubscribedClients);\n }\n };\n\n const showAddClientModal = () => {\n setModal({\n ...modal,\n dialogClassName: null,\n title: \"Add a license\",\n visible: true,\n Component: (\n setModal({ ...modal, visible: false })}\n loadTemporaryClients={loadTemporaryClients}\n onSuccessCallback={() => loadClientsSubscriptionsStatus()}\n showPaymentMethod={true}\n />\n ),\n });\n };\n\n const loadStatistics = async () => {\n const response = await Api.call(Endpoint.DMA.clients.statistics);\n if (response?.statusCode === 200) {\n setStatistics(response?.message);\n }\n };\n\n const loadPaymentMethods = async () => {\n const response = await Api.call(Endpoint.subscription.customerPaymentMethods);\n if (response?.statusCode === 200) {\n setPaymentMethods(response?.message);\n }\n };\n\n const showCancelClientInvitationModal = async (user) => {\n setModal({\n ...modal,\n title: \"Cancel invitation\",\n visible: true,\n Component: (\n {\n const response = await Api.call(Endpoint.DMA.clients.cancelInvitation(user?.token));\n await loadTemporaryClients(); // TODO: Check temporary clients pagination\n return response;\n }}\n />\n ),\n });\n };\n\n const addCardForClient = async (data = {}) => {\n return await addPaymentMethod(data);\n };\n\n const showAddCardForClientModal = async () => {\n setModal({\n ...modal,\n visible: true,\n title: \"Add card for client\",\n Component: ,\n });\n };\n\n const updatePlans = async () => {\n const response = await Api.call(Endpoint.subscription.baseProduct);\n return response?.message || {};\n };\n\n const addPaymentMethod = async (data = {}) => {\n return await Api.call(Endpoint.subscription.savePayment, { data });\n };\n\n const handleAddPaymentMethod = async () => {\n const response = await addPaymentMethod({ url: window.location.href });\n if (response.statusCode === 200 && response?.message?.url) {\n await Stripe.redirectToCheckout(response.message.id);\n return;\n }\n };\n\n const manageSubscriptions = async (showLoading = true) => {\n const response = await Api.call(Endpoint.subscription.customerPortalSession, { data: { url: window.location.href } });\n if (response.statusCode === 200) {\n window.location.href = response?.message?.url;\n return;\n }\n };\n\n const loadProductPrices = async () => {\n const response = await Api.call(Endpoint.DMA.product_prices);\n if (response?.statusCode === 200) {\n setProductPrices(response?.message || {});\n }\n };\n\n const init = async () => {\n setLoading(true);\n handleResize();\n\n await loadClientsSubscriptionsStatus();\n await loadStatistics();\n await loadProductPrices();\n await loadPaymentMethods();\n\n setLoading(false);\n\n await loadTemporaryClients();\n };\n\n useEffect(() => {\n init();\n //eslint-disable-next-line\n }, []);\n\n const handleResize = () => {\n setNavCollapsed(window?.innerWidth <= 1200);\n };\n\n const columns = {\n paymentMethods: [\n {\n field: \"Brand\",\n render: ({ row }) => {row?.card?.brand?.charAt(0).toUpperCase() + row?.card?.brand?.slice(1) || \"\"},\n },\n {\n field: \"Credit Card\",\n render: ({ row }) => (\n \n {row?.billing_details?.name} - XXXX-XXXX-XXXX-{row?.card?.last4 || \"\"}\n \n ),\n },\n {\n field: \"Exp Month\",\n render: ({ row }) => {row?.card?.exp_month || \"\"},\n },\n {\n field: \"Exp Year\",\n render: ({ row }) => {row?.card?.exp_year || \"\"},\n },\n {\n field: \"Manage\",\n render: ({ row }) => (\n
    \n \n
    \n ),\n },\n ],\n temporary_clients: [\n {\n field: \"Email\",\n render: ({ row, column, index }) => {\n return row?.data?.client?.email;\n },\n },\n {\n field: \"Username\",\n render: ({ row, column, index }) => {\n return row?.data?.client?.username;\n },\n },\n {\n field: \"Status\",\n render: ({ row, column, index }) => {\n return row?.data?.client?.status;\n },\n },\n {\n field: \"Actions\",\n render: ({ row, column, index }) => (\n showCancelClientInvitationModal(row)}\n style={{ color: \"red\", cursor: \"pointer\" }}\n className=\"far fa-trash-alt\"\n >\n ),\n },\n ],\n };\n\n return (\n <>\n \n
    \n \n
    \n
    \n
    \n
    \n \n {loading ? (\n
    \n \n
    \n ) : (\n
    \n \n \n \n
    \n

    \n Add a new license.
    You will not be able to publish menus on behalf of licenses until a subscription is\n active.\n

    \n
    \n
    \n \n
    \n
    \n
    \n {unSubscribedClients?.length > 0 && (\n \n \n
    \n

    \n Add a client card.
    \n Subscribe on behalf of a client using their card.\n

    \n
    \n
    \n \n
    \n
    \n
    \n )}\n {paymentMethods && paymentMethods?.data?.length === 0 && }\n\n {temporaryClients?.length > 0 && (\n
    \n
    \n \n )}\n \n \n
    \n \n \n )}\n \n \n \n \n \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state?.Auth });\nexport default connect(mapStateToProps)(DMADashboard);\n","import React, { useState, useEffect } from \"react\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { Container, Button, Form } from \"react-bootstrap\";\nimport Card from \"react-bootstrap/Card\";\nimport { Api, Endpoint } from \"../../api\";\nimport Helpers from \"../../helpers/general\";\nimport { toast } from \"react-toastify\";\nimport { useHistory } from \"react-router-dom\";\n\nconst { passwordRegex, passwordMessage } = Helpers.getPasswordRegex();\n\nexport default function DMAClientVerifyInvitation() {\n const history = useHistory();\n\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n\n const [acceptLoading, setAcceptLoading] = useState(false);\n const [rejectLoading, setRejectLoading] = useState(false);\n\n const [responseData, setResponseData] = useState({});\n const [password, setPassword] = useState(\"\");\n\n const extractToken = () => {\n return new URLSearchParams(window.location.search).get(\"token\");\n };\n\n async function verifyToken() {\n const token = extractToken();\n if (!token) {\n setLoading(false);\n setError(\"Page url not valid.\");\n return;\n }\n\n const query = { token };\n const response = await Api.call(Endpoint.DMA.clients.verify_temporary_token, { query });\n if (response?.statusCode !== 200) {\n setLoading(false);\n setError(\"The link is not valid. Please try again or contact the support.\");\n return;\n }\n setLoading(false);\n setError(null);\n setResponseData(response?.message);\n }\n\n const accept = async function () {\n if (responseData?.shouldEnterPassword && !passwordRegex.test(password)) {\n toast(passwordMessage);\n return;\n }\n\n const data = { password };\n const query = { token: extractToken() };\n\n setAcceptLoading(true);\n const response = await Api.call(Endpoint.DMA.clients.accepted_invitation, { data, query });\n if (response?.statusCode === 200) {\n toast(\"Invitation accepted successfully.\");\n setAcceptLoading(false);\n history.push(\"/login\");\n return;\n }\n\n setAcceptLoading(false);\n toast(response?.message || \"Something went wrong. Please try again later or contact the support.\");\n };\n\n const reject = async function () {\n const query = { token: extractToken() };\n\n setRejectLoading(true);\n const response = await Api.call(Endpoint.DMA.clients.rejected_invitation, { query });\n if (response?.statusCode === 200) {\n toast(\"Invitation rejected successfully.\");\n setRejectLoading(false);\n history.push(\"/login\");\n return;\n }\n\n setRejectLoading(false);\n toast(response?.message || \"Something went wrong. Please try again later or contact the support.\");\n };\n\n useEffect(() => {\n verifyToken();\n //eslint-disable-next-line\n }, []);\n\n return (\n <>\n
    \n {loading ? (\n <>\n \n

    Please wait...

    \n \n ) : error || !responseData?.dma || !responseData?.decoded ? (\n <>\n \n

    {error}

    \n \n ) : (\n <>\n \n
    \n \n \n You've got an invitation from {responseData?.dma?.company_name}\n
    \n \n {responseData?.decoded?.client?.restaurant_id ? (\n

    \n {responseData?.dma?.company_name || \"\"} wants to add you as a client for the following menu:{\" \"}\n {responseData?.restaurant?.name} .\n

    \n ) : (\n

    \n {responseData?.dma?.company_name || \"\"} wants to add you as a client for the following menu:{\" \"}\n {responseData?.decoded?.client?.restaurant_name} .\n

    \n )}\n

    \n You can accept or reject the invitation. {responseData?.dma?.company_name || \"\"} will be notified\n of your decision.\n

    \n

    \n If you accept, {responseData?.dma?.company_name || \"\"} will be able to manage your menu and have\n access to your Foodi Menus account.\n

    \n

    If you have more than one account, you won't lose access to your other accounts.

    \n\n {responseData?.shouldEnterPassword && (\n \n If accepted, you'll need to create a strong password below:\n setPassword(e?.target?.value)}\n name=\"Password\"\n placeholder=\"Password\"\n />\n \n )}\n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n )}\n
    \n \n );\n}\n","import React, { useState } from \"react\";\nimport { Form, Button, Alert } from \"react-bootstrap\";\nimport { toast } from \"react-toastify\";\nimport LoadingSpinner from \"../../LoadingSpinner\";\n\nexport default function CancelSubscription({ closeModal, onComplete, submit: submitCallback, warning_message }) {\n const [loading, setLoading] = useState(false);\n\n const submit = async (e) => {\n e.preventDefault();\n setLoading(true);\n\n await submitCallback();\n\n typeof onComplete === \"function\" && onComplete();\n\n toast(\"Clients subscription has been cancelled successfully.\");\n\n closeModal();\n setLoading(false);\n };\n return (\n
    \n
    \n \n {warning_message}\n \n\n \n {typeof closeModal === \"function\" && (\n \n )}\n \n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport { Button, Alert } from \"react-bootstrap\";\nimport { Api, Endpoint } from \"../../api\";\nimport { toast } from \"react-toastify\";\nimport { useHistory } from \"react-router-dom\";\nimport Section from \"../../components/Section/Section\";\nimport Table from \"../../components/Table\";\nimport DeleteUser from \"../../components/Forms/DeleteUser\";\n\nimport global_styles from \"../../App.module.scss\";\n\nimport { Cookies } from \"react-cookie\";\n\nimport moment from \"moment\";\nimport { connect } from \"react-redux\";\n\nimport Modal from \"../../components/Modal\";\n\nimport CancelSubscription from \"../../components/Forms/DMA/CancelSubscription\";\n\nimport EmbedMenuOptions from \"../../components/RestaurantForm/EmbedMenuOptions\";\nimport { IKImage } from \"imagekitio-react\";\nimport TopBar from \"../../components/Header/TopBar\";\nimport Header from \"../../components/Header\";\n\nconst cookies = new Cookies();\n\nfunction SingleClient({ Auth }) {\n const history = useHistory();\n\n const [modal, setModal] = useState({\n visible: false,\n Component: null,\n title: \"\",\n closeModal: () => setModal({ ...modal, visible: false }),\n });\n\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n const [response, setResponse] = useState(null);\n const [navCollapsed, setNavCollapsed] = useState(false);\n\n const [loadingUserShapeShift, setLoadingUserShapeShift] = useState(false);\n const id = new URLSearchParams(window.location.search).get(\"id\");\n\n const fetchClient = async () => {\n const result = await Api.call(Endpoint.DMA.clients.single(id));\n setLoading(false);\n if (result?.statusCode === 200) {\n setResponse(result?.message);\n } else {\n setError(true);\n }\n };\n\n useEffect(() => {\n fetchClient();\n //eslint-disable-next-line\n }, []);\n\n const shapeshift = async () => {\n const user = response?.client;\n\n if (!user?.state) {\n toast(\"This account has not been verified.\");\n return;\n }\n setLoadingUserShapeShift(true);\n\n const data = {\n _id: user._id,\n refreshToken: cookies.get(\"refreshToken\"),\n email: user.email,\n };\n\n const result = await Auth.SHAPE_SHIFT(data, Endpoint.DMA.clients.shapeshift);\n if (result?.statusCode !== 200) {\n toast(result?.message);\n setLoadingUserShapeShift(false);\n return;\n }\n\n window.location.href = \"/\";\n setLoadingUserShapeShift(false);\n };\n\n const copyMenuUrl = (restaurant) => {\n const url = `${window.location.origin}/menu/${restaurant?._id}`;\n navigator.clipboard.writeText(url).then(\n function () {\n toast(\"Menu URL has been copied successfully to clipboard\");\n },\n function (err) {\n toast(\"Error copying Menu url to clipboard. Please try again later\");\n }\n );\n };\n\n const showDeleteClientModal = () => {\n const user = response?.client;\n setModal({\n ...modal,\n title: \"Delete license\",\n visible: true,\n Component: (\n {\n const response = await Api.call(Endpoint.DMA.clients.delete(user?._id));\n history.push(\"/dma/dashboard\");\n return response;\n }}\n />\n ),\n });\n };\n\n const cancelSubscription = async () => {\n const subscription_id = response?.subscription?.id;\n setModal({\n ...modal,\n title: \"Cancel subscription\",\n visible: true,\n Component: (\n {\n const query = { client_id: response?.client?._id };\n return await Api.call(Endpoint.DMA.clients.deleteSubscription(subscription_id), { query });\n }}\n onComplete={() => {\n history.push(\"/dma/dashboard\");\n }}\n />\n ),\n });\n };\n\n const showEmbedModal = (restaurant_id) => {\n setModal({\n ...modal,\n visible: true,\n title: \"Embed Menu\",\n Component: ,\n });\n };\n\n const columns = {\n client: [\n {\n field: \"Username\",\n access: \"username\",\n },\n {\n field: \"First name\",\n access: \"firstName\",\n },\n {\n field: \"Last name\",\n access: \"lastName\",\n },\n {\n field: \"Email\",\n access: \"email\",\n },\n {\n field: \"Phone number\",\n access: \"phoneNumber\",\n },\n ],\n restaurant: [\n {\n field: \"Name\",\n access: \"name\",\n },\n {\n field: \"Members\",\n render: ({ row }) => {\n return row?.members?.length;\n },\n },\n {\n field: \"Copy Menu Url\",\n render: ({ row }) => (\n
    \n \n
    \n ),\n },\n {\n field: \"Copy Embed Code\",\n render: ({ row }) => (\n
    \n \n
    \n ),\n },\n {\n field: \"Logo\",\n render: ({ row }) => {\n if (!row?.logo) {\n return null;\n }\n return (\n \n );\n },\n },\n ],\n menus: [\n {\n field: \"Name\",\n access: \"name\",\n },\n {\n field: \"Published\",\n render: ({ row }) => {\n return row?.draft ? \"No\" : \"Yes\";\n },\n },\n {\n field: \"Categories\",\n render: ({ row }) => {\n return row?.categories;\n },\n },\n {\n field: \"Cover\",\n render: ({ row }) => {\n if (!row?.cover) {\n return null;\n }\n return (\n \n );\n },\n },\n ],\n categories: [\n {\n field: \"Name\",\n access: \"name\",\n },\n {\n field: \"Available\",\n render: ({ row }) => {\n return row?.isAvailable ? \"Yes\" : \"No\";\n },\n },\n {\n field: \"Dishes\",\n render: ({ row }) => {\n return row?.dishes;\n },\n },\n ],\n dishes: [\n {\n field: \"Name\",\n access: \"name\",\n },\n {\n field: \"Available\",\n render: ({ row }) => {\n return row?.isAvailable ? \"Yes\" : \"No\";\n },\n },\n {\n field: \"Calories\",\n render: ({ row }) => {\n return row?.calories || \"\";\n },\n },\n {\n field: \"Alcohol Percentage\",\n render: ({ row }) => {\n return row?.alcoholPercentage || \"\";\n },\n },\n {\n field: \"Side dishes\",\n render: ({ row }) => {\n return row?.sideDishes?.length;\n },\n },\n {\n field: \"Ingredients\",\n render: ({ row }) => {\n return row?.ingredients;\n },\n },\n {\n field: \"Image\",\n render: ({ row }) => {\n if (!row?.image) {\n return null;\n }\n return (\n \n );\n },\n },\n ],\n ingredients: [\n {\n field: \"Name\",\n access: \"name\",\n },\n {\n field: \"Available\",\n render: ({ row }) => {\n return row?.isAvailable ? \"Yes\" : \"No\";\n },\n },\n ],\n subscription: [\n {\n field: \"Period start\",\n render: ({ row }) => {\n return moment.unix(row?.current_period_start).format(\"DD/MM/YYYY\");\n },\n },\n {\n field: \"Period end\",\n render: ({ row }) => {\n return moment.unix(row?.current_period_end).format(\"DD/MM/YYYY\");\n },\n },\n {\n field: \"Amount\",\n render: ({ row }) => {\n return `$` + (row?.plan?.amount / 100)?.toFixed(2).toString();\n },\n },\n {\n field: \"Interval\",\n render: ({ row }) => {\n return row?.plan?.interval;\n },\n },\n response?.subscription?.discount && {\n field: \"Discount\",\n render: () => {\n if (response?.subscription?.discount?.coupon?.percent_off) {\n return `${response?.subscription?.discount?.coupon?.percent_off?.toString()}%`;\n }\n return `$` + (response?.subscription?.discount?.coupon?.amount_off / 100)?.toFixed(2).toString();\n },\n },\n {\n field: \"Status\",\n render: ({ row }) => {\n return row?.status;\n },\n },\n {\n field: \"Payment method\",\n render: ({ row }) => {\n return `${row?.default_payment_method?.card?.last4} - ${row?.default_payment_method?.card?.brand}`;\n },\n },\n ],\n };\n\n columns.subscription = columns.subscription.filter((column) => column);\n\n if (loading) {\n return (\n
    \n
    \n \n
    \n
    \n );\n }\n\n if (error || !response) {\n return (\n
    \n
    \n

    This page could not be found.

    \n
    \n
    \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 {response?.subscription && (\n
    \n
    \n \n )}\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state?.Auth });\nexport default connect(mapStateToProps)(SingleClient);\n","import { useState, useEffect, useRef } from \"react\";\nimport { Api, Endpoint } from \"../../api\";\nimport SelectList from \"../../components/SelectList\";\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\nimport helpers from \"../../helpers/general\";\nimport CustomLineChart from \"../../components/charts/CustomLineChart\";\nimport CustomBarChart from \"../../components/charts/CustomBarChart\";\nimport styles from \"../../components/Table/Table.module.scss\";\nimport { Table as BootstrapTable } from \"react-bootstrap\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\nimport CustomPieChart from \"../../components/charts/CustomPieChart\";\n\nconst timeOptions = [\n { value: \"7\", label: \"Last 7 days\" },\n { value: \"30\", label: \"Last 30 days\" },\n { value: \"90\", label: \"Last 90 days\" },\n { ...helpers.generateTimeOptions.thisWeek() },\n { ...helpers.generateTimeOptions.thisMonth() },\n { ...helpers.generateTimeOptions.thisQuarter() },\n { ...helpers.generateTimeOptions.thisYear() },\n];\n\nfunction Analytics() {\n const [data, setData] = useState();\n // const [activeUsers, setActiveUsers] = useState();\n const [time, setTime] = useState({ value: \"7\", label: \"Last 7 days\" });\n const [titles, setTitles] = useState(null);\n const wrapper = useRef(null);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n setTitles({\n activeUsers: `Active users / Sessions (${time?.value} Day${\n time?.value !== 1 ? \"s\" : \"\"\n })`,\n bounceRate: `% of customers who viewed only one page (${time?.value} Day${\n time?.value !== 1 ? \"s\" : \"\"\n })`,\n screenPageViewsPerUser: `Number of items viewed per user/customer (${\n time?.value\n } Day${time?.value !== 1 ? \"s\" : \"\"})`,\n // averageSessionDuration: `Average user/customer time spent (seconds) (${\n userEngagementDuration: `Average user/customer time spent (minutes) (${\n time?.value\n } Day${time?.value !== 1 ? \"s\" : \"\"})`,\n sessionByHour: `Number of page views per hour (${time?.value} Day${\n time?.value !== 1 ? \"s\" : \"\"\n })`,\n sessions: `Number of page views in (${time?.value} Day${\n time?.value !== 1 ? \"s\" : \"\"\n })`,\n screenPageViewsPerSession: `Average page views per session (${\n time?.value\n } Day${time?.value !== 1 ? \"s\" : \"\"})`,\n sessionsPerUser: \"How many times same users engage\",\n sessionsBySource: `How users/customers found foodi (${time?.value} Day${\n time?.value !== 1 ? \"s\" : \"\"\n })`,\n });\n }, [time]);\n\n useEffect(() => {\n (async () => {\n try {\n const response = await Api.call(Endpoint.gapi.getData, {\n query: { time: time.value },\n });\n\n console.log({ response });\n\n if (response?.statusCode === 200 && response.confirmation !== \"Fail\") {\n setLoading(false);\n setData({\n ...response?.message,\n });\n }\n } catch (error) {\n console.log({ error });\n }\n })();\n }, [time]);\n\n if (loading) {\n return ;\n }\n\n return (\n
    \n
    \n \n
    \n \n {data?.activeUsers?.[0]?.data?.length !== 0 && (\n
    \n
    {titles?.activeUsers}
    \n \n
    \n )}\n\n {data?.bounceRate?.length !== 0 && (\n
    \n
    {titles?.bounceRate}
    \n \n
    \n )}\n\n {/* {data?.userEngagementDuration?.[0]?.data?.length !== 0 && (\n
    \n
    {titles?.userEngagementDuration}
    \n \n
    \n )} */}\n\n {data?.screenPageViewsPerSession?.length !== 0 && (\n
    \n
    {titles?.screenPageViewsPerSession}
    \n \n
    \n )}\n\n {/* {data?.sessions?.[0]?.data?.length !== 0 && (\n
    \n
    {titles?.sessions}
    \n \n
    \n )} */}\n\n {data?.sessionsPerUser?.[0]?.data?.length !== 0 && (\n
    \n
    {titles?.sessionsPerUser}
    \n \n
    \n )}\n\n {data?.screenPageViewsPerUser?.[0]?.data?.length !== 0 && (\n
    \n
    {titles?.screenPageViewsPerUser}
    \n \n
    \n )}\n\n {data?.sources?.length !== 0 && (\n
    \n
    How users found your menu
    \n \n
    \n )}\n\n {data?.mostVisitedMenus?.length !== 0 && (\n
    \n
    \n Most visited Menus ({time?.value} Day\n {time?.value !== 1 ? \"s\" : \"\"})\n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n {data?.mostVisitedMenus?.map((menu, index) => {\n const regex =\n /platform\\.foodi-menus\\.com\\/menu\\/([a-f0-9]{24})/;\n\n const match = menu?.path?.match(regex);\n if (match) {\n const path = match[1];\n return (\n \n \n \n \n \n {menu?.value}\n \n \n );\n } else {\n return null;\n }\n })}\n \n \n \n \n )}\n\n {data?.mostVisitedMenuItems?.length !== 0 && (\n
    \n
    \n Most visited menu item ({time?.value} Day\n {time?.value !== 1 ? \"s\" : \"\"})\n
    \n\n
    \n \n
    \n \n \n \n \n \n \n \n \n {data?.mostVisitedMenuItems?.map((dish, index) => {\n const regex = /dish\\/([a-f0-9]{24})/;\n\n const match = dish?.path?.match(regex);\n if (match) {\n const path = match?.[1];\n return (\n \n \n \n \n \n {dish?.value}\n \n \n );\n } else {\n return null;\n }\n })}\n \n \n \n \n )}\n \n \n );\n}\n\nexport default withDashboardLayout(Analytics);\n","import { connect } from \"react-redux\";\nimport { Alert, Button, Col, Collapse, Form, Row } from \"react-bootstrap\";\nimport Checkbox from \"../Checkbox\";\nimport styles from \"./FiltersForm.module.scss\";\nimport React, { useEffect, useState } from \"react\";\nimport SelectList from \"../SelectList\";\nimport { Api, Endpoint } from \"../../api\";\nimport { toast } from \"react-toastify\";\nimport constants from \"../../utils/constants\";\nimport Section from \"../Section\";\nimport { FormControlLabel, Radio, RadioGroup, Tooltip } from \"@material-ui/core\";\n\nfunction FiltersForm({ Restaurant, Ingredient }) {\n const [filterData, setFilterData] = useState({});\n const [collapseIndex, setCollapseIndex] = useState(0);\n\n const { ingredients } = Ingredient;\n const { restaurant } = Restaurant;\n const { RESTAURANT } = constants;\n const { DIETARY_CONSIDERATIONS } = RESTAURANT;\n\n useEffect(() => {\n Ingredient.load();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (restaurant?.filterOptions) {\n setFilterData(restaurant?.filterOptions);\n } else {\n Restaurant.find();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [restaurant]);\n\n const submit = async (e) => {\n e.preventDefault();\n\n const requestData = {\n ...filterData,\n conjunction: \"AND\",\n };\n if (requestData?.filter && requestData?.filter?.length > 0) {\n requestData.filter = requestData.filter.map((filter) => ({\n ...filter,\n ingredients: filter.ingredients.map((ing) => ing?._id || ing),\n }));\n }\n\n const response = await Api.call(Endpoint?.setFilter, { data: requestData });\n if (response?.confirmation === \"Success\") {\n Restaurant.find({ forceRender: true });\n toast(\"Changes have been saved successfully\");\n }\n toast(response?.message);\n };\n\n const transformIngredients = (ingredientsArr) => {\n if (!ingredientsArr || ingredientsArr?.length === 0) return [];\n return ingredientsArr?.map((ingredient) => {\n if (typeof ingredient === \"string\" && ingredients && ingredients?.length > 0) {\n // TODO: Update this if we are using pagination. It might be wrong.\n const foundIngredient = ingredients.find((ing) => ing?._id?.toString() === ingredient?.toString());\n if (foundIngredient) {\n return { value: foundIngredient?._id, label: foundIngredient?.name };\n }\n }\n if (ingredient?._id && ingredient?.name && !ingredient?.value) {\n return { value: ingredient?._id, label: ingredient?.name };\n } else {\n return { value: ingredient?.value, label: ingredient?.label };\n }\n });\n };\n\n const transformDietaryConsiderations = (dietaryConsiderations) => {\n if (Array.isArray(dietaryConsiderations)) {\n return dietaryConsiderations?.map((key) => ({ value: key, label: DIETARY_CONSIDERATIONS[key] }));\n }\n return Object?.keys(dietaryConsiderations)?.map((key) => ({ value: key, label: dietaryConsiderations[key] }));\n };\n\n const handleDietaryConsiderations = (data) => {\n const newFilterData = { ...filterData };\n const newArr = [];\n data?.forEach((item) => {\n newArr.push(item?.value);\n });\n\n newFilterData.dietaryConsiderations = newArr;\n\n setFilterData(newFilterData);\n };\n\n const handleSortChange = (e) => {\n const newData = { ...filterData };\n const newSort = newData?.sort || {};\n newSort[e.target.name] = e.target.checked;\n newData.sort = newSort;\n setFilterData(newData);\n };\n\n const handleAddIngredient = (data, index) => {\n const newFilterData = { ...filterData };\n const { filter } = newFilterData;\n\n const newIngredients = [];\n data?.forEach((option) => {\n let found = ingredients?.find((ingredient) => ingredient?._id?.toString() === option?.value?.toString());\n if (found) {\n newIngredients.push(found);\n }\n });\n\n filter[index].ingredients = newIngredients;\n setFilterData(newFilterData);\n };\n\n const deleteFilter = (e, index) => {\n e.preventDefault();\n const newFilterData = { ...filterData };\n const { filter } = newFilterData;\n filter.splice(index, 1);\n setFilterData(newFilterData);\n };\n\n const addFilter = (e) => {\n e.preventDefault();\n const blankFilter = {\n name: \"\",\n showOptions: true,\n ingredients: [],\n };\n let newFilterData = { ...filterData };\n const { filter } = newFilterData;\n if (filter) {\n filter.push(blankFilter);\n } else {\n newFilterData.filter = [blankFilter];\n }\n\n setFilterData(newFilterData);\n setCollapseIndex(filter ? filter?.length - 1 : 0);\n };\n\n const handleFieldChange = (e) => {\n setFilterData({ ...filterData, [e.target.name]: e.target.name === \"enabled\" ? e.target.checked : e.target.value });\n };\n\n const handleRadioChange = (e) => {\n setFilterData({ ...filterData, exclusive: e.target.value === \"exclusive\" });\n };\n\n const handleFilterFieldChange = (e, index) => {\n const newFilterData = { ...filterData };\n const { filter } = newFilterData;\n filter[index][e.target.name] = e.target.value;\n setFilterData(newFilterData);\n };\n\n return (\n
    \n
    \n \n Filter title\n \n \n\n \n Description\n \n \n\n \n \n \n Enable Filter\n \n \n\n \n Default Filters\n\n handleDietaryConsiderations(data)}\n />\n \n\n \n Custom Filters\n
    \n \n
    \n }\n label=\"Inclusive\"\n />\n \n \n \n
    \n
    \n } label=\"Exclusive\" />\n \n \n \n
    \n
    \n {filterData?.filter?.length === 0 && Start by adding a Category filter}\n {filterData?.filter?.map((filter, index) => (\n
    \n
    \n setCollapseIndex(collapseIndex === index ? -1 : index)}\n >\n {filter?.name || \"Filter Name\"}\n
    \n {\n deleteFilter(e, index);\n }}\n >\n \n \n \n \n \n
    \n \n
    \n Name\n \n \n \n handleFilterFieldChange(e, index)}\n placeholder=\"Filter title\"\n />\n \n \n \n\n \n Ingredients\n \n \n \n \n handleAddIngredient(data, index)}\n />\n \n \n \n \n ))}\n \n \n
    \n \n
    \n
    \n\n
    \n \n
    \n Sort by:\n
    \n \n \n Price\n \n \n \n Calories\n \n \n \n Alcohol percentage\n \n
    \n
    \n\n
    \n \n
    \n \n \n );\n}\n\nconst mapStateToProps = (state) => ({\n Restaurant: state.Restaurant,\n Ingredient: state.Ingredient,\n});\n\nexport default connect(mapStateToProps)(FiltersForm);\n","import FiltersForm from \"./FiltersForm\";\nexport default FiltersForm;\n","import React from \"react\";\nimport Section from \"../../components/Section\";\n\nimport withLayout from \"../../Layouts/AdminPanel\";\nimport FiltersForm from \"../../components/FiltersForm\";\n\nfunction Settings() {\n return (\n
    \n \n
    \n );\n}\n\nexport default withLayout(Settings);\n","import Filters from \"./Filters\";\nexport default Filters;\n","// eslint-disable-next-line import/no-anonymous-default-export\nexport default {\n user: {\n title: \"User Email Templates\",\n data: [\n {\n title: \"New account creation notify\",\n description: \"Notify admin when an account has been created\",\n name: \"new-account-creation-notify\",\n },\n {\n title: \"Verify Account\",\n description: \"User verify account\",\n name: \"user-verify-account\",\n },\n {\n title: \"Forgot Password\",\n description: \"User forgot password \",\n name: \"user-forgot-password\",\n },\n {\n title: \"Transfer Ownership\",\n description: \"Restaurant transfer ownership\",\n name: \"transfer-ownership\",\n },\n ],\n },\n admin: {\n title: \"Admin Email Templates\",\n data: [\n {\n title: \"Admin account created\",\n description: \"Admin account creation template\",\n name: \"admin-created\",\n },\n {\n title: \"DMA deleted\",\n description: \"An admin deleted an DMA account\",\n name: \"dma-deleted\",\n },\n ],\n },\n member: {\n title: \"Member Email Templates\",\n data: [\n {\n title: \"Member account created\",\n description: \"Member account creation\",\n name: \"member-created\",\n },\n {\n title: \"Member account created already verified\",\n description: \"Member account creation but already verified\",\n name: \"member-created-already-verified\",\n },\n ],\n },\n subscription: {\n title: \"Subscription Email Templates\",\n data: [\n {\n title: \"Invoice payment succeeded\",\n description: \"Invoice payment succeeded in Stripe\",\n name: \"invoice-payment-succeeded\",\n },\n {\n title: \"Invoice payment failed\",\n description: \"Invoice payment failed in Stripe\",\n name: \"invoice-payment-failed\",\n },\n ],\n },\n dma: {\n title: \"DMA Email Templates\",\n data: [\n {\n title: \"DMA Register\",\n description: \"DMA register process\",\n name: \"dma-register\",\n },\n {\n title: \"Notify Admin Account Created\",\n description: \"Notify admin account created when an DMA has been registered\",\n name: \"notify-admin-dma-created\",\n },\n {\n title: \"Client Added\",\n description: \"DMA added a client template\",\n name: \"dma-client-added\",\n },\n {\n title: \"Client Accepted Invitation\",\n description: \"DMA Client accepted invitation\",\n name: \"dma-client-accepted-invitation\",\n },\n {\n title: \"Client Rejected Invitation\",\n description: \"DMA Client rejected invitation\",\n name: \"dma-client-rejected-invitation\",\n },\n {\n title: \"Client Deleted\",\n description: \"DMA Client account deleted\",\n name: \"dma-client-deleted\",\n },\n ],\n },\n};\n","import React from \"react\";\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\nimport { Card, Row, Col } from \"react-bootstrap\";\nimport emailTemplates from \"../../constants/email-templates\";\nimport { Tooltip } from \"@material-ui/core\";\nimport { useHistory } from \"react-router-dom\";\n\nfunction EmailTemplates() {\n const history = useHistory();\n return (\n
    \n {\n Object.keys(emailTemplates).map((key, index) => (\n
    \n
    \n

    {emailTemplates?.[key]?.title}

    \n
    \n \n {\n emailTemplates?.[key]?.data?.map((tmp, tmpIndex) => (\n
    \n \n \n
    \n
    \n
    \n
    {tmp?.title}
    \n {tmp?.description}\n
    \n
    \n
    \n \n history.push(`/admin/edit-email-template?template=${tmp?.name}`)} className=\"edit-icon fal fa-edit\">\n \n
    \n
    \n
    \n
    \n \n ))\n }\n \n \n ))\n }\n \n )\n}\n\nexport default withDashboardLayout(EmailTemplates)","import React from \"react\";\nimport withDashboardLayout from \"../../Layouts/AdminPanel\";\nimport { Card, Row, Col, Form, Button } from \"react-bootstrap\";\nimport { useEffect } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useState } from \"react\";\nimport TextEditor from \"../../components/TextEditor\";\nimport { Api, Endpoint } from \"../../api\";\nimport { toast } from \"react-toastify\";\nimport LoadingSpinner from \"../../components/LoadingSpinner\";\n\nfunction EditEmailTemplate() {\n const { register, handleSubmit } = useForm();\n const query = new URLSearchParams(window?.location?.search);\n\n const [templateResponse, setTemplateResponse] = useState({});\n const [emailContent, setEmailContent] = useState(\"\");\n const [loading, setLoading] = useState(false);\n\n const checkTemplate = async () => {\n const template = query.get(\"template\");\n const response = await Api.call(Endpoint.admin.getEmailTemplate, { query: { template } });\n if (response?.statusCode === 200) {\n setTemplateResponse(response?.message);\n }\n };\n\n const submit = async (data) => {\n setLoading(true);\n data = { ...data, emailContent, template: query.get(\"template\") };\n const response = await Api.call(Endpoint.admin.editEmailTemplate, { data });\n setLoading(false);\n if (response?.statusCode === 200) {\n toast(\"Template updated successfully.\");\n return;\n }\n toast(response?.message);\n };\n\n useEffect(() => {\n checkTemplate();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (templateResponse?.content) {\n setEmailContent(templateResponse?.content);\n }\n }, [templateResponse]);\n\n return (\n
    \n
    \n

    Edit template

    \n
    \n \n
    \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n User Template Formats\n
    \n \n

    \n {\"{{user.firstName}}\"} - First name of the user\n

    \n

    \n {\"{{user.lastName}}\"} - Last name of the user\n

    \n

    \n {\"{{user.username}}\"} - Username of the user\n

    \n

    \n {\"{{user.email}}\"} - Email of the user\n

    \n

    \n {\"{{user.phoneNumber}}\"} - Phone number of the user\n

    \n
    \n
    \n
    \n \n \n Restaurant Template Formats\n
    \n \n

    \n {\"{{restaurant.name}}\"} - Username of the user\n

    \n
    \n
    \n
    \n \n \n Transfer Ownership Formats\n
    \n \n

    \n {\"{{transferOwnershipNewOwner.firstName}}\"} - First name of the new owner{\" \"}\n

    \n

    \n {\"{{transferOwnershipNewOwner.lastName}}\"} - Last name of the new owner\n

    \n

    \n {\"{{transferOwnershipNewOwner.username}}\"} - Username of the new owner\n

    \n

    \n {\"{{transferOwnershipNewOwner.email}}\"} - Email of the new owner{\" \"}\n

    \n

    \n {\"{{transferOwnershipNewOwner.phoneNumber}}\"} - Phone number of the new owner\n

    \n
    \n
    \n
    \n \n \n Restaurant Members Formats\n
    \n \n

    \n {\"{{member.firstName}}\"} - First name of the member{\" \"}\n

    \n

    \n {\"{{member.lastName}}\"} - Last name of the member\n

    \n

    \n {\"{{member.username}}\"} - Username of the member\n

    \n

    \n {\"{{member.email}}\"} - Email of the member\n

    \n
    \n
    \n
    \n \n \n Stripe Formats\n
    \n \n

    \n {\"{{stripeHost.hosted_invoice_url}}\"} - Stripe hosted invoice url\n

    \n

    \n {\"{{stripeHost.invoice_pdf}}\"} - Stripe hosted invoice pdf url\n

    \n

    \n {\"{{stripeCustomer.name}}\"} - Stripe customer name\n

    \n
    \n
    \n
    \n \n \n DMA Formats\n
    \n \n

    \n {\"{{dmaClient.email}}\"} - DMA client email\n

    \n

    \n {\"{{dmaClient.username}}\"} - DMA client username\n

    \n
    \n
    \n
    \n \n \n Other Template Formats\n
    \n \n

    \n {\"{{token.value}}\"} - The current token in the process\n

    \n
    \n
    \n
    \n \n \n \n );\n}\n\nexport default withDashboardLayout(EditEmailTemplate);\n","import Settings from \"../Views/Settings\";\nimport Login from \"../Views/Login\";\nimport Register from \"../Views/Register\";\nimport Dashboard from \"../Views/Dashboard\";\nimport VerifyAccount from \"../Views/VerifyAccount\";\nimport ForgotPassword from \"../Views/ForgotPassword\";\nimport ResetPassword from \"../Views/ResetPassword/\";\nimport CreateMenu from \"../Views/CreateMenu/\";\nimport CreateCategory from \"../Views/CreateCategory/\";\nimport CreateDish from \"../Views/CreateDish\";\nimport CreateIngredient from \"../Views/CreateIngredient\";\nimport MediaSection from \"../Views/MediaSection\";\nimport MapsSection from \"../Views/MapsSection\";\nimport { Members, VerifyAccountMember } from \"../Views/Members\";\nimport UpdateAccount from \"../Views/UpdateAccount\";\nimport AddRestaurant from \"../Views/AddRestaurant\";\nimport MenuInteractions from \"../Views/MenuInteractions/MenuInteractions\";\n\nimport Logs from \"../Views/Admin/Logs\";\nimport TransferOwnership from \"../Views/TransferOwnership\";\nimport CONSTANTS from \"../utils/constants\";\nimport { Dashboard as AdminDashboard } from \"../Views/Admin\";\n\nimport { CompleteAndVerifyAccount as AdminCompleteAndVerifyAccount } from \"../Views/Admin/CompleteAndVerifyAccount\";\nimport DietaryConsiderations from \"../Views/Admin/DietaryConsiderations\";\nimport Purchase from \"../Views/PaymentSystem/Purchase\";\nimport Timeline from \"../Views/Timeline\";\nimport Toggle from \"../Views/Toggle\";\nimport MenuWrapper from \"../components/Wrappers/MenuWrapper\";\nimport SingleMenuWrapper from \"../components/Wrappers/SingleMenuWrapper\";\nimport Customizations from \"../Views/Customizations\";\n\nimport DMARegister from \"../Views/DMA/register\";\nimport DMADashboard from \"../Views/DMA/dashboard\";\nimport DMAClientVerifyInvitation from \"../Views/DMA/client-verify-invitations\";\nimport DMASingleClient from \"../Views/DMA/single-client\";\nimport Analytics from \"../Views/Admin/Analytics\";\nimport Filters from \"../Views/Filters\";\nimport EmailTemplates from \"../Views/Admin/EmailTemplates\";\nimport EditEmailTemplate from \"../Views/Admin/EditEmailTemplate\";\n\nconst menuSubs = [\n {\n path: \"/create-dish\",\n name: \"Dishes\",\n component: CreateDish,\n exact: true,\n private: true,\n icon: \"fal fa-utensils-alt\",\n permissions: { except: [\"dish\"], $connector: \"$and\" },\n },\n {\n path: \"/create-category\",\n name: \"Categories\",\n component: CreateCategory,\n exact: true,\n private: true,\n icon: \"fal fa-hat-chef\",\n permissions: { except: [\"category\"], $connector: \"$and\" },\n // tour: \"create-category\",\n },\n {\n path: \"/create-ingredient\",\n name: \"Ingredients\",\n component: CreateIngredient,\n exact: true,\n private: true,\n icon: \"far fa-carrot\",\n permissions: { except: [\"ingredient\"], $connector: \"$and\" },\n },\n];\n\nconst settingsSubs = [\n {\n path: \"/timeline\",\n name: \"Timeline\",\n component: Timeline,\n exact: true,\n private: true,\n icon: \"fal fa-clock\",\n permissions: { except: [\"menu\"], $connector: \"$and\" },\n tour: \"nav-timeline\",\n },\n {\n path: \"/toggle-list\",\n name: \"Quick edit\",\n component: Toggle,\n exact: true,\n private: true,\n icon: \"fal fa-pen\",\n permissions: { except: [\"menu\", \"category\", \"dish\", \"ingredient\"], $connector: \"$or\" },\n tour: \"nav-toggle\",\n },\n {\n path: \"/customizations\",\n name: \"Customizations\",\n component: Customizations,\n exact: true,\n private: true,\n icon: \"fal fa-burger-soda\",\n permissions: { except: [\"restaurant\"], $connector: \"$and\" },\n tour: \"nav-customizations\",\n },\n];\n\n/* DMA routes */\nexport const DMARoutes = [\n {\n path: \"/dma/dashboard\",\n name: \"Dashboard\",\n component: DMADashboard,\n exact: true,\n private: true,\n showInMenu: true,\n icon: \"fal fa-th-large\",\n permissions: { except: [\"dma\"], $connector: \"$and\" },\n },\n {\n path: \"/dma/client\",\n name: \"DMA Single Client\",\n component: DMASingleClient,\n exact: true,\n private: true,\n showInMenu: false,\n permissions: { except: [\"dma\"], $connector: \"$and\" },\n },\n {\n path: \"/dma/update-account\",\n name: \"Account\",\n component: UpdateAccount,\n exact: true,\n private: true,\n showInMenu: true,\n showInDropdown: true,\n icon: \"fal fa-user\",\n permissions: { except: [\"dma\"], $connector: \"$and\" },\n },\n];\n\n/* Admin routes */\nexport const adminRoutes = [\n {\n path: \"/admin/dashboard\",\n name: \"Dashboard\",\n component: AdminDashboard,\n exact: true,\n private: true,\n showInMenu: true,\n showInDropdown: false,\n icon: \"fal fa-th-large\",\n permissions: { except: [\"admin\", \"superAdmin\"], $connector: \"$or\" },\n },\n {\n path: \"/admin/dietary-considerations\",\n name: \"Dietary Considerations\",\n component: DietaryConsiderations,\n private: true,\n exact: true,\n showInMenu: true,\n showInDropdown: false,\n icon: \"fal fa-burger-soda\",\n permissions: { except: [\"admin\", \"superAdmin\"], $connector: \"$or\" },\n },\n {\n path: \"/admin/update-profile\",\n name: \"Account\",\n component: UpdateAccount,\n private: true,\n exact: true,\n showInMenu: true,\n showInDropdown: true,\n icon: \"fal fa-user\",\n permissions: { except: [\"admin\", \"superAdmin\"], $connector: \"$or\" },\n },\n {\n path: \"/admin/logs\",\n name: \"Logs\",\n component: Logs,\n private: true,\n exact: true,\n showInMenu: true,\n showInDropdown: false,\n icon: \"fal fa-file-search\",\n permissions: { except: [\"admin\", \"superAdmin\"], $connector: \"$or\" },\n },\n {\n path: \"/admin/analytics\",\n name: \"Analytics\",\n component: Analytics,\n private: true,\n exact: true,\n showInMenu: true,\n showInDropdown: false,\n icon: \"fal fa-chart-bar\",\n permissions: { except: [\"admin\", \"superAdmin\"], $connector: \"$or\" },\n },\n {\n path: \"/admin/email-templates\",\n name: \"Email Templates\",\n component: EmailTemplates,\n private: true,\n exact: true,\n showInMenu: true,\n showInDropdown: false,\n icon: \"fal fa-file-search\",\n permissions: { except: [\"admin\", \"superAdmin\"], $connector: \"$or\" },\n },\n {\n path: \"/admin/edit-email-template\",\n name: \"Edit Email Template\",\n component: EditEmailTemplate,\n private: true,\n exact: true,\n showInMenu: false,\n showInDropdown: false,\n icon: \"fal fa-file-search\",\n permissions: { except: [\"admin\", \"superAdmin\"], $connector: \"$or\" },\n },\n];\n\n/* Public routes */\nexport const publicRoutes = [\n {\n path: \"/admin-complete-account\",\n name: \"Admin Complete Account\",\n component: AdminCompleteAndVerifyAccount,\n exact: true,\n private: false,\n },\n {\n path: \"/user-verify-account\",\n name: \"VerifyAccount\",\n component: VerifyAccount,\n exact: true,\n private: false,\n },\n {\n path: \"/dma-client-verify-invitation\",\n name: \"DMA Client Verify Invitation\",\n component: DMAClientVerifyInvitation,\n exact: true,\n private: false,\n },\n];\n\n/* No Authenticated routes */\nexport const noAuthenticatedRoutes = [\n {\n path: \"/reset-password\",\n name: \"ResetPassword\",\n component: ResetPassword,\n private: false,\n exact: true,\n },\n {\n path: \"/forgot-password\",\n name: \"ForgotPassword\",\n component: ForgotPassword,\n exact: true,\n private: false,\n },\n {\n path: \"/member-verify-account\",\n name: \"VerifyAccountMember\",\n component: VerifyAccountMember,\n exact: true,\n private: false,\n showInMenu: false,\n },\n {\n path: \"/login\",\n name: \"Login\",\n component: Login,\n exact: true,\n private: false,\n showInMenu: true,\n },\n {\n path: \"/register\",\n name: \"Register\",\n component: Register,\n exact: true,\n private: false,\n showInMenu: true,\n },\n {\n path: \"/transfer-ownership\",\n name: \"Transfer ownership\",\n component: TransferOwnership,\n exact: true,\n },\n {\n path: \"/dma-register\",\n name: \"DMA Register\",\n component: DMARegister,\n exact: true,\n private: false,\n },\n];\n\nexport const accountSubs = [\n {\n path: \"/members\",\n name: \"Members\",\n component: Members,\n exact: true,\n private: true,\n icon: \"fal fa-users\",\n showInMenu: false,\n showInDropdown: true,\n permissions: { except: [\"member\"], $connector: \"$and\" },\n tour: \"nav-members\",\n },\n {\n path: \"/subscribe\",\n name: \"Subscription\",\n component: Purchase,\n exact: true,\n private: true,\n showInMenu: false,\n showInDropdown: true,\n icon: \"fal fa-user-clock\",\n permissions: { except: [\"restaurant\"], $connector: \"$and\" },\n roles: [CONSTANTS.USER.ROLES.RESTAURANT],\n tour: \"nav-subscribe\",\n },\n];\n\nexport const profileRoutes = [\n {\n path: \"/update-account\",\n name: \"Account\",\n component: UpdateAccount,\n exact: true,\n private: true,\n showInMenu: true,\n showInDropdown: true,\n tour: \"nav-account\",\n icon: \"fal fa-user\",\n permissions: { except: [\"restaurant\", \"member\"], $connector: \"$or\" }, // TODO: Need to check if these permissions are correct\n subs: accountSubs,\n },\n ...accountSubs,\n];\n\n/* Private routes */\nexport const privateRoutes = [\n {\n path: \"/\",\n name: \"Dashboard\",\n component: Dashboard,\n exact: true,\n private: true,\n icon: \"fal fa-th-large\",\n showInMenu: true,\n },\n {\n path: \"/create-menu\",\n name: \"Menu\",\n component: CreateMenu,\n exact: true,\n showInMenu: true,\n private: true,\n permissions: { except: [\"menu\"], $connector: \"$and\" },\n tour: \"nav-create-menu\",\n icon: \"fal fa-book-open\",\n subs: menuSubs,\n },\n ...menuSubs,\n {\n path: \"/settings\",\n name: \"Settings\",\n component: Settings,\n exact: true,\n private: true,\n showInMenu: true,\n permissions: { except: [\"restaurant\"], $connector: \"$and\" },\n icon: \"fal fa-cog\",\n tour: \"nav-settings\",\n subs: settingsSubs,\n },\n ...settingsSubs,\n ...profileRoutes,\n {\n path: \"/filters\",\n name: \"Filter Options\",\n component: Filters,\n exact: true,\n showInMenu: true,\n private: true,\n permissions: { except: [\"menu\"], $connector: \"$and\" },\n icon: \"fal fa-filter\",\n },\n {\n path: \"/media-section\",\n name: \"Media\",\n component: MediaSection,\n exact: false,\n private: true,\n showInMenu: true,\n icon: \"fal fa-camera\",\n permissions: { except: [\"dish\"], $connector: \"$and\" },\n tour: \"nav-media\",\n },\n {\n path: \"/menu-display\",\n name: \"Menu Display\",\n component: MapsSection,\n exact: false,\n private: true,\n showInMenu: true,\n icon: \"fal fa-qrcode\",\n tour: \"nav-maps\",\n },\n {\n path: \"/add-restaurant\",\n name: \"Add location\",\n component: AddRestaurant,\n exact: true,\n showInMenu: true,\n icon: \"fal fa-map-marker-plus\",\n private: true,\n },\n {\n path: \"/menu-interaction-tracking\",\n name: \"Menu Interaction Tracking\",\n component: MenuInteractions,\n exact: true,\n showInMenu: true,\n icon: \"fal fa-chart-bar\",\n private: true,\n },\n];\n\nexport const menuRoutes = [\n {\n // path: [\"/menu\", \"/menu/:id\"], // /menu may not be needed\n path: [\"/menu/:id\", \"/menu/:restaurantId/:mapId\"], // /menu may not be needed\n name: \"Menu\",\n component: MenuWrapper,\n exact: true,\n private: false,\n },\n {\n path: \"/menu/:restaurantId/dish/:dishId/menuSelected/:menuId\",\n name: \"Menu\",\n component: SingleMenuWrapper,\n exact: true,\n private: false,\n },\n];\n","var map = {\n\t\"./Classic Template/screenshot.jpg\": 636,\n\t\"./Pizza Restaurant/screenshot.jpg\": 637,\n\t\"./Sushi Restaurant/screenshot.jpg\": 638\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 635;","export default __webpack_public_path__ + \"static/media/screenshot.7548ab31.jpg\";","export default __webpack_public_path__ + \"static/media/screenshot.94c8bbcc.jpg\";","export default __webpack_public_path__ + \"static/media/screenshot.5ae5806e.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"customTableWrapper\":\"Table_customTableWrapper__Txnus\",\"viewMoreInformationButton\":\"Table_viewMoreInformationButton__1ie1U\",\"actionsParent\":\"Table_actionsParent__3A8QT\",\"customTable\":\"Table_customTable__1DihH\",\"loadMore\":\"Table_loadMore__2fNa9\",\"deleteMultipleTooltipParent\":\"Table_deleteMultipleTooltipParent__2IpDJ\",\"icon\":\"Table_icon__1pNBx\",\"deleteIcon\":\"Table_deleteIcon__wUnu8\",\"memberVerifiedWrapper\":\"Table_memberVerifiedWrapper__I97IG\",\"resendInviteBtn\":\"Table_resendInviteBtn__1zIgf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menusWrapper\":\"Map_menusWrapper__2O3lL\",\"map\":\"Map_map__Ru9_x\",\"mapTitle\":\"Map_mapTitle__2CdjA\",\"wrapper\":\"Map_wrapper__3E0k3\",\"editButtonMap\":\"Map_editButtonMap__2cN_4\",\"qrCodeBtn\":\"Map_qrCodeBtn__1B0ed\",\"editActive\":\"Map_editActive__3NnQD\",\"cancelChanges\":\"Map_cancelChanges__2yqBf\",\"deleteItem\":\"Map_deleteItem__3vRhY\",\"active\":\"Map_active__1wcGk\",\"buttonQR\":\"Map_buttonQR__1cMu-\",\"mapEdit\":\"Map_mapEdit__1hE0R\",\"EditButtons\":\"Map_EditButtons__3Aq5b\",\"clicked\":\"Map_clicked__XLaXR\",\"mapActionButtons\":\"Map_mapActionButtons__dVmZD\"};","import { Cookies } from \"react-cookie\";\nimport { toast } from \"react-toastify\";\nimport { store } from \"../store-redux/connect/store\";\n\nconst cookies = new Cookies();\nconst getAccessToken = () => cookies.get(\"accessToken\");\n\nconst removeCookieTokens = () => {\n cookies.remove(\"accessToken\");\n cookies.remove(\"refreshToken\");\n localStorage.removeItem(\"user\");\n};\n\nconst humanReadableStatusCode = parseInt(\n process.env.REACT_APP_HUMAN_READABLE_ERROR\n);\n\nconst validateResponse = async (\n jsonResponse,\n statusCode,\n resource,\n options\n) => {\n let expiredToken = false;\n const { Auth } = store.getState();\n\n jsonResponse[\"statusCode\"] = statusCode;\n\n if (\n statusCode ===\n parseInt(process.env.REACT_APP_PERMISSION_DENIED_ERROR_STATUS)\n ) {\n toast(\"Permission denied\");\n return jsonResponse;\n }\n\n if (statusCode === 200) {\n return jsonResponse;\n }\n\n if (statusCode === 401) {\n removeCookieTokens();\n localStorage?.removeItem(\"menuSelected\");\n window.location.href = \"/login\";\n return {\n confirmation: \"Fail\",\n message: `Something went wrong. Authorization failed.`,\n };\n }\n\n if (statusCode === parseInt(process.env.REACT_APP_ERROR_CODE_TOKEN)) {\n expiredToken = true;\n }\n\n if (expiredToken) {\n const isRefreshed = await Auth.REFRESH_TOKEN();\n if (isRefreshed) return await Api.call(resource, options);\n }\n\n if (humanReadableStatusCode !== statusCode) {\n return { confirmation: \"Fail\", message: `Something went wrong.` };\n }\n\n return jsonResponse;\n};\n\nexport const Api = {\n async call(resource, options = {}) {\n //eslint-disable-next-line\n const { data, params, query, headers } = options;\n\n const fetchOptions = {\n url: resource.url,\n method: resource.method,\n redirect: \"follow\",\n };\n\n const isFormData = data instanceof FormData;\n\n if (data) {\n fetchOptions.body = isFormData ? data : JSON.stringify(data);\n }\n\n if (params) {\n params.forEach((param) => (fetchOptions.url += `/${param}`));\n }\n\n fetchOptions.headers = new Headers();\n\n if (!isFormData) {\n fetchOptions.headers.append(\"Content-Type\", \"application/json\");\n }\n\n fetchOptions.headers.append(\"Authorization\", `Bearer ${getAccessToken()}`);\n\n if (query) {\n Object.keys(query).forEach((elem, index) => {\n let connector = index === 0 ? \"?\" : \"&\";\n fetchOptions.url += `${connector}${elem}=${query[elem]}`;\n });\n }\n\n try {\n const response = await fetch(fetchOptions.url, fetchOptions);\n const jsonResponse = await response.json();\n\n const statusCode = parseInt(response.status);\n return await validateResponse(\n jsonResponse,\n statusCode,\n resource,\n options\n );\n } catch (err) {\n return { confirmation: \"Fail\", message: \"Something went wrong.\" };\n }\n },\n};\n\nexport default Api;\n","const API_URL = `${process.env.REACT_APP_API_URL}:${process.env.REACT_APP_API_PORT}/api`;\n\nexport const Endpoint = Object.freeze({\n /* Auth */\n login: { url: `${API_URL}/users/login`, method: \"POST\" } /* Auth login */,\n register: {\n url: `${API_URL}/users/register`,\n method: \"POST\",\n } /* Auth register */,\n logout: { url: `${API_URL}/users/logout`, method: \"POST\" } /* Auth logout */,\n newAccessToken: {\n url: `${API_URL}/users/token`,\n method: \"POST\",\n } /* Auth new access token */,\n verifyAccount: {\n url: `${API_URL}/users/email-verification`,\n method: \"GET\",\n } /* verify account */,\n resetPassword: {\n url: `${API_URL}/users/reset-password`,\n method: \"POST\",\n } /* reset password */,\n forgotUsername: {\n url: `${API_URL}/users/forgot-username`,\n method: \"POST\",\n } /* forgot username */,\n checkResetPasswordToken: {\n url: `${API_URL}/users/reset-password-check-token`,\n method: \"GET\",\n } /* check reset password token */,\n requestNewPassword: {\n url: `${API_URL}/users/request-new-password`,\n method: \"POST\",\n } /* request new password */,\n me: { url: `${API_URL}/users/me`, method: \"GET\" } /* get user info */,\n updateAccount: {\n url: `${API_URL}/users/update-account`,\n method: \"PUT\",\n } /* update account */,\n switchAccount: {\n url: `${API_URL}/users/switch-account`,\n method: \"POST\",\n } /* switch account */,\n deleteAccount: {\n url: `${API_URL}/users/delete`,\n method: \"DELETE\",\n } /* delete account */,\n updatePassword: {\n url: `${API_URL}/users/update-account-password`,\n method: \"PUT\",\n } /* update password */,\n verifyAccountAndEnterPassword: {\n url: `${API_URL}/users/verify-account-and-enter-password`,\n method: \"POST\",\n },\n resendEmailAccountVerify: {\n url: `${API_URL}/users/resend-email-account-verification`,\n method: \"POST\",\n },\n\n /* Admin */\n admin: {\n users: {\n url: `${API_URL}/admin/users`,\n method: \"GET\",\n } /* Load all users, except admins and superAdmins */,\n restaurants: {\n url: `${API_URL}/admin/restaurants`,\n method: \"GET\",\n } /* Load restaurants */,\n statistics: {\n url: `${API_URL}/admin/statistics`,\n method: \"GET\",\n } /* Load statistics */,\n verifyAccountToken: {\n url: `${API_URL}/admin/verify-account-token`,\n method: \"GET\",\n },\n completeAccount: {\n url: `${API_URL}/admin/complete-account`,\n method: \"POST\",\n } /* Complete account as admin */,\n create: {\n url: `${API_URL}/admin/create`,\n method: \"POST\",\n } /* Create an admin */,\n load: { url: `${API_URL}/admin/load`, method: \"GET\" } /* Load all admins */,\n resendInvitation: {\n url: `${API_URL}/admin/resend-invitation`,\n method: \"POST\",\n } /* Resend email verification to an admin */,\n delete: {\n url: `${API_URL}/admin/delete`,\n method: \"DELETE\",\n } /* Delete an admin as superAdmin */,\n shapeshift: {\n url: `${API_URL}/admin/shapeshift`,\n method: \"POST\",\n } /* Ability to login as another user */,\n editEmailTemplate: {\n url: `${API_URL}/admin/edit-email-template`,\n method: \"POST\",\n },\n getEmailTemplate: {\n url: `${API_URL}/admin/get-email-template`,\n method: \"GET\",\n },\n dietary: {\n create: {\n url: `${API_URL}/admin/dietary/create`,\n method: \"POST\",\n } /* Create dietary considerations as admin */,\n read: {\n url: `${API_URL}/admin/dietary`,\n method: \"GET\",\n } /* Get the first table of dietary */,\n },\n user: {\n delete: {\n url: `${API_URL}/admin/delete/user`,\n method: \"POST\",\n } /* Delete an user (owner, admin or member) */,\n add: {\n url: `${API_URL}/admin/add-user`,\n method: \"POST\",\n } /* Add new user */,\n subscribe: { url: `${API_URL}/admin/subscribe-user`, method: \"POST\" },\n },\n logs: {\n read: { url: `${API_URL}/admin/loggers`, method: \"GET\" } /* Read logs */,\n delete: { url: `${API_URL}/admin/logs`, method: \"POST\" } /* Read logs */,\n },\n DMA: {\n list: {\n url: `${API_URL}/admin/dma-list`,\n method: \"GET\",\n } /* List all the DMA-S */,\n list_pending: {\n url: `${API_URL}/admin/dma-list-pending`,\n method: \"GET\",\n } /* List all the DMA-S pending */,\n delete: function (id) {\n return {\n url: `${API_URL}/admin/dma-delete/${id}`,\n method: \"DELETE\",\n }; /* Delete a DMA */\n },\n register: {\n url: `${API_URL}/admin/send-dma-register-link`,\n method: \"POST\",\n } /* Send a link to register a DMA */,\n cancel_dma_invitation: function (token) {\n return {\n url: `${API_URL}/admin/cancel-dma-invitation?token=${token}`,\n method: \"POST\",\n }; /* Cancel a DMA invitation */\n },\n deleteClient: {\n url: `${API_URL}/admin/delete-dma-client`,\n method: \"POST\",\n } /* Delete a client from a DMA */,\n },\n },\n\n /* DMA */\n DMA: {\n verifyToken: function (token) {\n return {\n url: `${API_URL}/dma/verify-token?token=${token}`,\n method: \"GET\",\n }; /* Verify token */\n },\n register: function (token) {\n return { url: `${API_URL}/dma/register?token=${token}`, method: \"POST\" }; // Register a DMA\n },\n product_prices: { url: `${API_URL}/dma/product-prices`, method: \"GET\" }, // Get product prices\n check_promo_code: {\n url: `${API_URL}/dma/check-promo-code`,\n method: \"POST\",\n }, // Check promo code\n clients: {\n list: {\n url: `${API_URL}/dma/clients`,\n method: \"GET\",\n } /* List all the clients */,\n create: {\n url: `${API_URL}/dma/add-client`,\n method: \"POST\",\n } /* Create a client */,\n delete: function (id) {\n return {\n url: `${API_URL}/dma/delete-client/${id}`,\n method: \"DELETE\",\n }; /* Delete a client */\n },\n shapeshift: {\n url: `${API_URL}/dma/client-shapeshift`,\n method: \"POST\",\n } /* Ability to login as another user */,\n statistics: {\n url: `${API_URL}/dma/clients-statistics`,\n method: \"GET\",\n } /* Get client statistics */,\n temporary: {\n url: `${API_URL}/dma/clients-temporary`,\n method: \"GET\",\n } /* Get temporary clients */,\n verify_temporary_token: {\n url: `${API_URL}/dma/client-temporary-verify-token`,\n method: \"GET\",\n },\n accepted_invitation: {\n url: `${API_URL}/dma/client-accept-invitation`,\n method: \"POST\",\n },\n rejected_invitation: {\n url: `${API_URL}/dma/client-reject-invitation`,\n method: \"POST\",\n },\n subscription_status: {\n url: `${API_URL}/dma/client-subscription-status`,\n method: \"GET\",\n },\n create_subscription: {\n url: `${API_URL}/dma/clients-create-subscription`,\n method: \"POST\",\n },\n single: function (id) {\n return { url: `${API_URL}/dma/single-client?id=${id}`, method: \"GET\" };\n },\n deleteSubscription: function (id) {\n return {\n url: `${API_URL}/dma/delete-client-subscription/${id}`,\n method: \"DELETE\",\n };\n },\n cancelInvitation: function (token) {\n return {\n url: `${API_URL}/dma/client-cancel-invitation?token=${token}`,\n method: \"POST\",\n };\n },\n },\n },\n\n /* Subscription */\n subscription: {\n hasActive: {\n url: `${API_URL}/subscription/has-active`,\n method: \"GET\",\n } /* Check if there is an active subscription */,\n customerPortalSession: {\n url: `${API_URL}/subscription/customer-portal-session`,\n method: \"POST\",\n }, // Create a session for the customer portal\n checkoutSession: {\n url: `${API_URL}/subscription/checkout-session`,\n method: \"POST\",\n }, // Create a session for the checkout\n customerPaymentMethods: {\n url: `${API_URL}/subscription/customer-payment-methods`,\n method: \"GET\",\n }, // Get the customer payment methods\n savePayment: {\n url: `${API_URL}/subscription/save-payment`,\n method: \"POST\",\n }, // Save a payment method\n baseProduct: { url: `${API_URL}/subscription/base-product`, method: \"GET\" }, // Get the base product\n },\n\n /* Settings */\n settings: {\n quickEdit: {\n get: {\n url: `${API_URL}/settings/quick-edit`,\n method: \"GET\",\n } /* Get the quick edit settings */,\n update: {\n url: `${API_URL}/settings/quick-edit`,\n method: \"PUT\",\n } /* Update the quick edit settings */,\n },\n },\n\n /* Restaurant */\n getRestaurant: {\n url: `${API_URL}/restaurants`,\n method: \"GET\",\n } /* Get a restaurant */,\n updateRestaurant: {\n url: `${API_URL}/restaurants/update`,\n method: \"POST\",\n } /* Update a restaurant */,\n uploadMedia: {\n url: `${API_URL}/restaurants/upload-media`,\n method: \"POST\",\n } /* Upload media */,\n listMedia: {\n url: `${API_URL}/restaurants/media`,\n method: \"GET\",\n } /* List media */,\n deleteMedia: {\n url: `${API_URL}/restaurants/media`,\n method: \"DELETE\",\n } /* Delete media */,\n editMedia: {\n url: `${API_URL}/restaurants/media/edit`,\n method: \"POST\",\n } /* Edit media */,\n addRestaurant: {\n url: `${API_URL}/restaurants/add`,\n method: \"POST\",\n } /* Add a restaurant */,\n getQRTemplates: {\n url: `${API_URL}/restaurants/qr-templates`,\n method: \"GET\",\n } /* Get QR templates */,\n setCustomizations: {\n url: `${API_URL}/restaurants/set-customizations`,\n method: \"POST\",\n } /* Set customizations */,\n setFilter: {\n url: `${API_URL}/restaurants/set-filter`,\n method: \"POST\",\n } /* Set customizations */,\n\n maps: {\n get: { url: `${API_URL}/maps`, method: \"GET\" },\n post: { url: `${API_URL}/maps`, method: \"POST\" },\n },\n\n request_transfer_ownership: {\n url: `${API_URL}/restaurants/request-transfer-ownership`,\n method: \"POST\",\n },\n transfer_ownership_status: function (token) {\n return {\n url: `${API_URL}/restaurants/transfer-ownership-status?token=${token}`,\n method: \"GET\",\n };\n },\n temporary_transfer_ownership_status: {\n url: `${API_URL}/restaurants/temporary-transfer-ownership-status`,\n method: \"GET\",\n },\n accept_transfer_request: {\n url: `${API_URL}/restaurants/accept-transfer-request`,\n method: \"POST\",\n },\n\n cancel_transfer_ownership: {\n url: `${API_URL}/restaurants/cancel-transfer-request`,\n method: \"POST\",\n },\n\n /* Members */\n getMembers: { url: `${API_URL}/members`, method: \"GET\" } /* Get members */,\n createMember: {\n url: `${API_URL}/members`,\n method: \"POST\",\n } /* Create a member */,\n updateMember: {\n url: `${API_URL}/members`,\n method: \"PUT\",\n } /* Update a member */,\n deleteMember: {\n url: `${API_URL}/members`,\n method: \"DELETE\",\n } /* Delete a member */,\n verifyMemberToken: {\n url: `${API_URL}/members/verify`,\n method: \"GET\",\n } /* Verify a member token */,\n verifyMemberAccount: {\n url: `${API_URL}/members/verify`,\n method: \"POST\",\n } /* Verify a member account */,\n resendInvitation: {\n url: `${API_URL}/members/resend-invitation`,\n method: \"POST\",\n } /* Resend invitation */,\n\n /* Menus */\n createMenu: { url: `${API_URL}/menus`, method: \"POST\" } /* Create a menu */,\n updateMenu: { url: `${API_URL}/menus`, method: \"PUT\" } /* Update a menu */,\n deleteMenu: { url: `${API_URL}/menus`, method: \"DELETE\" } /* Delete a menu */,\n loadMenus: { url: `${API_URL}/menus`, method: \"GET\" } /* Load menus */,\n findSingleMenu: {\n url: `${API_URL}/menus`,\n method: \"GET\",\n } /* Find a single menu */,\n getTemplates: {\n url: `${API_URL}/restaurants/templates`,\n method: \"GET\",\n } /* Get templates */,\n updateMenuTimeline: {\n url: `${API_URL}/menus/update-timeline`,\n method: \"POST\",\n } /* Update menu timeline */,\n reorderMenu: {\n url: `${API_URL}/menus/reorder`,\n method: \"POST\",\n } /* Reorder menu */,\n selectCategories: {\n url: `${API_URL}/menus/select-categories`,\n method: \"POST\",\n } /* Select categories */,\n removeCategoryFromMenu: {\n url: `${API_URL}/menus/remove-category`,\n method: \"POST\",\n } /* Remove category from menu */,\n\n /* Categories */\n createCategory: {\n url: `${API_URL}/categories`,\n method: \"POST\",\n } /* Create a category */,\n findCategoryById: {\n url: `${API_URL}/categories`,\n method: \"GET\",\n } /* Find a category by id */,\n updateCategory: {\n url: `${API_URL}/categories`,\n method: \"PUT\",\n } /* Update a category */,\n loadCategories: {\n url: `${API_URL}/categories`,\n method: \"GET\",\n } /* Load categories */,\n deleteCategory: {\n url: `${API_URL}/categories`,\n method: \"DELETE\",\n } /* Delete a category */,\n removeDishFromCategory: {\n url: `${API_URL}/categories/removeDish`,\n method: \"POST\",\n } /* Remove dish from category */,\n addDishesToCategory: {\n url: `${API_URL}/categories/addDishes`,\n method: \"POST\",\n } /* Add dishes to category */,\n uploadCategoryCSV: {\n url: `${API_URL}/categories/upload-csv`,\n method: \"POST\",\n } /* Upload category CSV */,\n updateCategoriesTimeline: {\n url: `${API_URL}/categories/update-timeline`,\n method: \"POST\",\n } /* Update categories timeline */,\n\n /* Dishes */\n createDish: { url: `${API_URL}/dishes`, method: \"POST\" } /* Create a dish */,\n findDishById: {\n url: `${API_URL}/dishes`,\n method: \"GET\",\n } /* Find a dish by id */,\n updateDish: { url: `${API_URL}/dishes`, method: \"PUT\" } /* Update a dish */,\n deleteDish: {\n url: `${API_URL}/dishes`,\n method: \"DELETE\",\n } /* Delete a dish */,\n loadDishes: { url: `${API_URL}/dishes`, method: \"GET\" } /* Load dishes */,\n uploadDishCSV: {\n url: `${API_URL}/dishes/upload-csv`,\n method: \"POST\",\n } /* Upload dish CSV */,\n deleteDietary: {\n url: `${API_URL}/dishes/delete-dietary`,\n method: \"POST\",\n } /* Delete dietary */,\n updateDietary: {\n url: `${API_URL}/dishes/update-dietary`,\n method: \"POST\",\n } /* Update dietary */,\n\n /* Ingredients */\n createIngredient: {\n url: `${API_URL}/ingredients`,\n method: \"POST\",\n } /* Create an ingredient */,\n loadIngredients: {\n url: `${API_URL}/ingredients`,\n method: \"GET\",\n } /* Load ingredients */,\n updateIngredient: {\n url: `${API_URL}/ingredients`,\n method: \"PUT\",\n } /* Update an ingredient */,\n deleteIngredient: {\n url: `${API_URL}/ingredients`,\n method: \"DELETE\",\n } /* Delete an ingredient */,\n uploadIngredientCSV: {\n url: `${API_URL}/ingredients/upload-csv`,\n method: \"POST\",\n } /* Upload ingredient CSV */,\n\n /* Test */\n test: { url: `${API_URL}/users/test`, method: \"POST\" } /* Test */,\n\n /* Customers */\n getCustomerMenu: {\n url: `${API_URL}/menus/customer`,\n method: \"GET\",\n } /* Get customer menu */,\n customerDish: {\n url: `${API_URL}/menus/customer`,\n method: \"GET\",\n } /* Get customer dish */,\n gapi: {\n getToken: {\n url: `${API_URL}/gapi/get-token`,\n method: \"GET\",\n },\n getBounceRates: {\n url: `${API_URL}/gapi/get-bounce-rates`,\n method: \"GET\",\n },\n activeUsers: {\n url: `${API_URL}/gapi/active-users`,\n method: \"GET\",\n },\n activeUsers2: {\n url: `${API_URL}/gapi/active-users-2`,\n method: \"GET\",\n },\n activeUsers3: {\n url: `${API_URL}/gapi/active-users-3`,\n method: \"GET\",\n },\n activeUsers4: {\n url: `${API_URL}/gapi/active-users-4`,\n method: \"GET\",\n },\n getData: {\n url: `${API_URL}/gapi/get-data`,\n method: \"GET\",\n },\n },\n});\n","var map = {\n\t\"./Classic Template/SingleMenuPage\": [\n\t\t757,\n\t\t3,\n\t\t11\n\t],\n\t\"./Classic Template/SingleMenuPage/SingleMenuPage\": [\n\t\t748,\n\t\t3\n\t],\n\t\"./Pizza Restaurant/SingleMenuPage\": [\n\t\t758,\n\t\t2,\n\t\t13\n\t],\n\t\"./Pizza Restaurant/SingleMenuPage/SingleMenuPage\": [\n\t\t749,\n\t\t2\n\t],\n\t\"./Sushi Restaurant/SingleMenuPage\": [\n\t\t759,\n\t\t1,\n\t\t15\n\t],\n\t\"./Sushi Restaurant/SingleMenuPage/SingleMenuPage\": [\n\t\t750,\n\t\t1\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 703;\nmodule.exports = webpackAsyncContext;","import React from \"react\";\nimport { Route, Redirect } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\n\nfunction PrivateRoute({ children, Auth, ...route }) {\n if (Auth?.user) {\n return ;\n }\n return ;\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(PrivateRoute);\n","import React from \"react\";\nimport { Route, Redirect } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\n\nfunction PublicNotAuthRoute({ children, Auth, ...route }) {\n if (!Auth?.user) {\n return ;\n }\n return ;\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(PublicNotAuthRoute);\n","import NotFound from \"./NotFound\";\nexport default NotFound;\n","import styles from \"../../Layouts/AdminPanel.module.scss\";\nimport React, { useState } from \"react\";\n\nimport Header from \"../Header\";\nimport TopBar from \"../Header/TopBar\";\n\nexport default function NotFound() {\n const [navCollapsed, setNavCollapsed] = useState(false);\n return (\n
    \n \n
    \n
    \n
    \n
    \n
    \n

    404 Page Not Found

    \n
    \n
    \n
    \n
    \n
    \n );\n}\n","import React, { useEffect } from \"react\";\nimport { Switch, Route, useLocation } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport PrivateRoute from \"./PrivateRoute\";\nimport PublicNotAuthRoute from \"./PublicNotAuthRoute\";\n\nimport NotFound from \"../components/NotFound\";\n\nimport general from \"../helpers/general\";\n\nimport { menuRoutes, adminRoutes, publicRoutes, noAuthenticatedRoutes, privateRoutes, profileRoutes, DMARoutes } from \"../constants/routes\";\n\nfunction Routes({ Auth, Restaurant }) {\n const { hash } = useLocation();\n\n useEffect(() => {\n if (!hash) return;\n setTimeout(() => {\n const target = document.querySelector(hash);\n document.querySelector(\".panel-wrapper\").scrollTo(0, target.getBoundingClientRect().y - 60);\n }, 1000);\n }, [hash]);\n\n const checkRoutePermission = (route) => {\n return general?.checkPermissions({\n exceptPermissions: route?.permissions?.except,\n $connector: route?.permissions?.$connector,\n originalPermissions: Auth?.user?.permissions,\n });\n };\n\n const restaurantType = Auth?.user?.restaurants?.[0]?.restaurantType?.toUpperCase();\n\n return (\n \n {DMARoutes?.map((route, index) => {\n if (!route?.permissions || checkRoutePermission(route)) {\n return ;\n }\n return null;\n })}\n {adminRoutes?.map((route, index) => {\n if (!route?.permissions || checkRoutePermission(route)) {\n return ;\n }\n return null;\n })}\n {menuRoutes.map((props, i) => (\n \n ))}\n\n {noAuthenticatedRoutes?.map((route, index) => {\n return ;\n })}\n\n {publicRoutes?.map((route, index) => {\n return ;\n })}\n\n {privateRoutes?.map((route, index) => {\n if (!route?.permissions || checkRoutePermission(route)) {\n if (!route?.roles || route?.roles?.includes(Auth?.user?.role)) {\n if (route.path === \"/add-restaurant\") {\n if (restaurantType?.toLowerCase() === \"restaurant\") {\n route.name = \"Add Location\";\n } else {\n route.name = \"Add Food Truck\";\n }\n }\n return ;\n }\n }\n return null;\n })}\n\n {/* Private routes on header profile section */}\n {profileRoutes?.map((route, index) => {\n if (!route?.permissions || checkRoutePermission(route)) {\n if (!route?.roles || route?.roles?.includes(Auth?.user?.role)) {\n return ;\n }\n }\n return null;\n })}\n \n \n \n \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth, Restaurant: state.Restaurant });\nexport default connect(mapStateToProps)(Routes);\n","const config = {\n google: {\n families: [\n \"Roboto\",\n \"Open Sans\",\n \"Noto Sans JP\",\n \"Lato\",\n \"Montserrat\",\n \"Roboto Condensed\",\n \"Source Sans Pro\",\n \"Oswald\",\n \"Poppins\",\n \"Roboto Mono\",\n \"Raleway\",\n \"Noto Sans\",\n \"PT Sans\",\n \"Roboto Slab\",\n \"Merriweather\",\n \"Ubuntu\",\n \"Playfair Display\",\n \"Nunito\",\n \"Open Sans Condensed\",\n \"Lora\",\n \"Noto Sans KR\",\n \"Rubik\",\n \"PT Serif\",\n \"Noto Serif\",\n \"Nunito Sans\",\n \"Work Sans\",\n \"Mukta\",\n \"Fira Sans\",\n \"Nanum Gothic\",\n \"Quicksand\",\n \"Titillium Web\",\n \"Noto Sans TC\",\n \"Hind Siliguri\",\n \"Inter\",\n \"Karla\",\n \"Barlow\",\n \"Inconsolata\",\n \"Oxygen\",\n \"Heebo\",\n \"Source Code Pro\",\n \"Josefin Sans\",\n \"PT Sans Narrow\",\n \"Arimo\",\n \"Dosis\",\n \"Libre Franklin\",\n \"Cabin\",\n \"Libre Baskerville\",\n \"Anton\",\n \"Noto Sans SC\",\n \"Bitter\",\n ],\n },\n};\n\nexport default config;\n","import { BrowserRouter } from \"react-router-dom\";\nimport styles from \"./App.module.scss\";\nimport Routes from \"./Routes/Routes\";\nimport { ToastContainer } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport WebfontLoader from \"@dr-kobros/react-webfont-loader\";\nimport config_fonts from \"./constants/config_fonts\";\nimport { connect } from \"react-redux\";\nimport { IKContext } from \"imagekitio-react\";\n\nfunction App() {\n return (\n \n \n
    \n \n \n \n \n
    \n
    \n
    \n );\n}\n\nconst mapStateToProps = (state) => ({ Auth: state.Auth });\nexport default connect(mapStateToProps)(App);\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { Provider } from \"react-redux\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"./assets/fonts/fontawesome-pro-5.11.2-web/css/all.min.css\";\nimport \"./assets/scss/main.scss\";\n\nimport { store } from \"./store-redux/connect/store\";\n\nconst app = (\n \n \n \n);\n\nReactDOM.render(app, document.getElementById(\"root\"));\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"categoriesHeader\":\"Categories_categoriesHeader__AN7Xk\",\"deleteCategoryDashboard\":\"Categories_deleteCategoryDashboard__YVFoN\",\"categorySlider\":\"Categories_categorySlider__3r67g\",\"swiperSlide\":\"Categories_swiperSlide__2t29F\",\"categoryImage\":\"Categories_categoryImage__1ZWcP\",\"categoryItem\":\"Categories_categoryItem__3EdhR\",\"categoryAddItem\":\"Categories_categoryAddItem__16Gy_\",\"categoryItemContent\":\"Categories_categoryItemContent__125rP\",\"dishPrice\":\"Categories_dishPrice__2bjBw\",\"dishName\":\"Categories_dishName__2ylJW\",\"closeBtn\":\"Categories_closeBtn__Jsekg\",\"draggableWrapper\":\"Categories_draggableWrapper__1p1WZ\",\"droppableWrapper\":\"Categories_droppableWrapper__27vtx\",\"categoryHolder\":\"Categories_categoryHolder__1GoT4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"listWrapper\":\"Toggle_listWrapper__E6LGW\",\"list\":\"Toggle_list__1AtmA\",\"listMessage\":\"Toggle_listMessage__vKYy1\",\"saveChangesWrapper\":\"Toggle_saveChangesWrapper__3PpUi\",\"noMenuFoundWrapper\":\"Toggle_noMenuFoundWrapper__2DX1g\",\"customSwitch\":\"Toggle_customSwitch__3RDbU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pagination\":\"Pagination_pagination__3K5C-\",\"paginationActive\":\"Pagination_paginationActive__2Vp2q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"templatesHeader\":\"Templates_templatesHeader__2rvDf\",\"categorySlider\":\"Templates_categorySlider__Psqqm\",\"swiperSlide\":\"Templates_swiperSlide__3YILM\",\"selected\":\"Templates_selected__2hrOb\",\"categoryItem\":\"Templates_categoryItem__2CEc5\",\"addDishToCategoryParent\":\"Templates_addDishToCategoryParent__3EC_U\",\"dishImage\":\"Templates_dishImage__26XAO\",\"categoryItemContent\":\"Templates_categoryItemContent__kH4jx\",\"dishPrice\":\"Templates_dishPrice__5P76A\",\"dishName\":\"Templates_dishName__1i8vG\",\"closeBtn\":\"Templates_closeBtn__3oy_8\",\"templatesSlider\":\"Templates_templatesSlider__1YFvR\",\"templateScreenshot\":\"Templates_templateScreenshot__2oZGi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loginPageWrapper\":\"Login_loginPageWrapper__bH3_O\",\"pageContainer\":\"Login_pageContainer__3n3P_\",\"registerErrorText\":\"Login_registerErrorText__13zsz\",\"listItemWrapper\":\"Login_listItemWrapper__3t80h\",\"accountUnVerified\":\"Login_accountUnVerified__2KuPI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"alertWarning\":\"Alerts_alertWarning__2V3tm\",\"fadeIn\":\"Alerts_fadeIn__1kXyZ\",\"warningAnimation\":\"Alerts_warningAnimation__2rcjW\",\"buttonWrapper\":\"Alerts_buttonWrapper__b2Rqz\",\"firstRow\":\"Alerts_firstRow__3bxy3\",\"warningText\":\"Alerts_warningText__96qtX\",\"orderAlertWrapper\":\"Alerts_orderAlertWrapper__mVep3\",\"transitionPeriod\":\"Alerts_transitionPeriod__2f9h_\",\"closeBtn\":\"Alerts_closeBtn__2c3eY\"};","export default __webpack_public_path__ + \"static/media/placeholder_food.91ea4630.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mediaSection\":\"MediaSection_mediaSection__wCsV9\",\"loadingSpinnerParent\":\"MediaSection_loadingSpinnerParent__30BAt\",\"imageWrapper\":\"MediaSection_imageWrapper__3cCr9\",\"actions\":\"MediaSection_actions__TRLAw\",\"clipboardBtn\":\"MediaSection_clipboardBtn__bUaHa\",\"deleteBtn\":\"MediaSection_deleteBtn__T5WGb\",\"editBtn\":\"MediaSection_editBtn__m8r3N\",\"imageEditDesc\":\"MediaSection_imageEditDesc__2UFot\",\"loadMoreWrapper\":\"MediaSection_loadMoreWrapper__Ilwko\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"qrWrapper\":\"QR_qrWrapper__26Vpk\",\"title\":\"QR_title__3I_OT\",\"middle\":\"QR_middle__Pf1Wd\",\"sideBoxes\":\"QR_sideBoxes__3E2Ja\",\"box\":\"QR_box__36HuN\",\"menuUrl\":\"QR_menuUrl__1PxdM\",\"qrRef\":\"QR_qrRef__kLT8B\",\"logo\":\"QR_logo__Raezo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"topBar\":\"TopBar_topBar__1WHd6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"account\":\"SwitchAccountForm_account__2cXMJ\",\"firstRow\":\"SwitchAccountForm_firstRow__1vre0\",\"radius\":\"SwitchAccountForm_radius__1gvE2\",\"accountData\":\"SwitchAccountForm_accountData__2BTZq\",\"addRestaurant\":\"SwitchAccountForm_addRestaurant__2aCzE\"};"],"sourceRoot":""}
    #Menu TitleMenu Id# Visits
    {index + 1}\n \n {menu?.title}\n \n \n {path}\n
    #Menu TitleItem Name# Visits
    {index + 1}{dish?.title}\n \n {dish?.name}\n \n