(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{100:function(e,t,a){"use strict";a.r(t),a.d(t,"SlidingTransitionLeft",(function(){return c}));var n=a(36),i=a(1),r=a(0),o=a.n(r),s=a(271),c=o.a.forwardRef((function Transition(e,t){return Object(i.jsx)(s.a,Object(n.a)({direction:"left",ref:t},e))}))},1016:function(e,t,a){e.exports={doclets:{},displayName:"AddButton",description:"Button in form of a plus icon\n",methods:[],props:[{type:{name:"func"},required:!0,description:"",tags:{},name:"onClick"}],tags:{},examples:null}},1017:function(e,t,a){e.exports={doclets:{},displayName:"BackButton",description:"Button in form of a caret left icon\n",methods:[],props:[{type:{name:"func"},required:!0,description:"",tags:{},name:"onClick"}],tags:{},examples:null}},1019:function(e,t,a){e.exports={doclets:{},displayName:"BoxCloseX",description:"Button that is an x within a black circle that turns red on hovering, center located on top right corner of parent\n",methods:[],props:[{type:{name:"func"},required:!0,description:"",tags:{},name:"onClick"}],tags:{},examples:null}},1020:function(e,t,a){e.exports={doclets:{},displayName:"DeleteButton",description:"Button in form of a trashcan icon\n",methods:[],props:[{type:{name:"func"},required:!0,description:"",tags:{},name:"onClick"}],tags:{},examples:null}},1021:function(e,t,a){e.exports={doclets:{},displayName:"EditButton",description:"Button in form of a pencil icon\n",methods:[],props:[{type:{name:"func"},required:!0,description:"",tags:{},name:"onClick"}],tags:{},examples:null}},1022:function(e,t,a){e.exports={doclets:{},displayName:"FontButton",description:"Component for clickable text\n",methods:[],props:[{type:{name:"string"},required:!0,description:"",tags:{},name:"label"},{type:{name:"func"},required:!0,description:"",tags:{},name:"onClick"}],tags:{},examples:null}},1023:function(e,t,a){e.exports={doclets:{},displayName:"InnerBoxCloseX",description:"Button that is an x within a black circle that turns red on hovering, located **within** top right corner of parent\n",methods:[],props:[{type:{name:"func"},required:!0,description:"",tags:{},name:"onClick"}],tags:{},examples:null}},1024:function(e,t,a){e.exports={doclets:{},displayName:"InnerBoxSelection",description:"Button that is a checkmark within a green circle that turns opaque on hovering, located within the top left corner of parent\n",methods:[],props:[{type:{name:"func"},required:!0,description:"",tags:{},name:"onClick"},{type:{name:"bool"},required:!1,description:"",defaultValue:{value:"false",computed:!1},tags:{},name:"selected"}],tags:{},examples:null}},1025:function(e,t,a){"use strict";a.r(t);var n=a(287),i=a.n(n),r=a(382),o=a(1),s=(a(0),a(72)),c=a(18),l=a(15),d=a(32),u=Object(c.a)({fontButton:{cursor:"pointer"}});t.default=function LoginButton(){var e=u(),t=Object(l.a)().loginWithRedirect,a=Object(d.a)().t,n=function(){var e=Object(r.a)(i.a.mark((function _callee(){return i.a.wrap((function _callee$(e){for(;;)switch(e.prev=e.next){case 0:t();case 1:case"end":return e.stop()}}),_callee)})));return function login(){return e.apply(this,arguments)}}();return Object(o.jsx)(s.a,{color:"primary",variant:"contained",size:"large",className:e.fontButton,onClick:n,children:a("Login")})}},1032:function(e,t,a){e.exports={doclets:{},displayName:"LoginButton",description:"",methods:[],props:[],examples:null}},1033:function(e,t,a){e.exports={doclets:{},displayName:"LogoutButton",description:"",methods:[],props:[],examples:null}},1034:function(e,t,a){e.exports={doclets:{},displayName:"SearchButton",description:"Button in form of a magnifying glass\n",methods:[],props:[{type:{name:"func"},required:!0,description:"",tags:{},name:"onClick"}],tags:{},examples:null}},1035:function(e,t,a){e.exports={doclets:{},displayName:"SimpleCloseX",description:"Button in form of a big white X icon\n",methods:[],props:[{type:{name:"func"},required:!0,description:"",tags:{},name:"onClick"}],tags:{},examples:null}},1036:function(e,t,a){e.exports={doclets:{},displayName:"CircleImage",description:"Image cropped to circular shape\n",methods:[],props:[{type:{name:"string"},required:!0,description:"alternative text if image cannot be displayed",tags:{},name:"altText"},{type:{name:"string"},required:!0,description:"complete path of the image source",tags:{},name:"src"}],tags:{},examples:null}},1048:function(e,t,a){e.exports={doclets:{},displayName:"ImageCarousel",description:"full screen overlay containing image carousel\n",methods:[],props:[{type:{name:"func"},required:!0,description:"function that hides the carousel",tags:{},name:"dismissCarousel"},{type:{name:"arrayOf",value:{name:"shape",value:{name:{name:"string",required:!1},path:{name:"string",required:!1}}}},required:!0,description:"all images that can be scrolled through in the carousel, including name (that will be the altText) and relative path to serverURL",tags:{},name:"images"},{type:{name:"number"},required:!1,description:"Array index number of image that will be displayed first",defaultValue:{value:"0",computed:!1},tags:{},name:"startIndex"}],tags:{},examples:null}},1049:function(e,t,a){e.exports={doclets:{},displayName:"ImageGrid",description:"Image grid that displays an array of images in a 3 column grid and includes optional buttons to delete or select an image.\nHeight of each row can be controlled via `localhost.env.REACT_APP_GRID_LIST_ROW_HEIGHT`\nallows children to be wrapped within ImageGrid component, they will be displayed within the grid, before the photos (e.g., Dropzone)\n",methods:[],props:[{type:{name:"bool"},required:!1,description:"should user be allowed to choose main image?",defaultValue:{value:"false",computed:!1},tags:{},name:"allowChoosingMain"},{type:{name:"bool"},required:!1,description:"should image deletion be allowed? (Otherwise delete button will not be shown)",defaultValue:{value:"false",computed:!1},tags:{},name:"allowDelete"},{type:{name:"arrayOf",value:{name:"shape",value:{name:{name:"string",required:!1},path:{name:"string",required:!1},isMain:{name:"bool",required:!1}}}},required:!1,description:"all Images to display, including name (that will be the altText) and relative path to serverURL, as well as isMain boolean value (only necessary if allowChoosingMain === true)",defaultValue:{value:"[]",computed:!1},tags:{},name:"images"},{type:{name:"func"},required:!1,description:"function that chooses photo as main, only necessary if allowChoosingMain === true",defaultValue:{value:"null",computed:!1},tags:{},name:"onChoosingMain"},{type:{name:"func"},required:!1,description:"function that deletes photo, only necessary if allowDelete === true",defaultValue:{value:"null",computed:!1},tags:{},name:"onDelete"}],tags:{},examples:null}},1067:function(e,t,a){e.exports={doclets:{},displayName:"ImageUpload",description:"Image Upload that includes the display of the images that have been uploaded.\r\nEither single image or multiple images, which affects the look:\n\n### Multiple Image Upload\n\n* images will be displayed as `Image Grid`, with a Dropzone being the first tile\n\n### Single Image Upload\n\n* image needs to be wrapped in an array\n* will be displayed as a circular image with an optional overlay of a camera icon\n",methods:[],props:[{type:{name:"string"},required:!0,description:"category/folder name of the image, e.g., mealImages or userProfile (make sure that folder exists in uploads folder!)",tags:{},name:"category"},{type:{name:"string"},required:!0,description:"ID within the category, e.g., mealId or userId",tags:{},name:"categoryId"},{type:{name:"func"},required:!0,description:"function that updates the image(s)",tags:{},name:"onChangeUploadedImages"},{type:{name:"string"},required:!1,description:"if multiple === false this name is the alt tag of the single uploaded image",tags:{},name:"imageName"},{type:{name:"bool"},required:!1,description:"allow upload of more than one image?",defaultValue:{value:"false",computed:!1},tags:{},name:"multiple"},{defaultValue:{value:"''",computed:!1},required:!1,description:"",tags:{},name:"string"},{type:{name:"arrayOf",value:{name:"union",value:[{name:"shape",value:{name:{name:"string",required:!1},path:{name:"string",required:!1}}},{name:"string"}]}},required:!1,description:"images that have been uploaded, must be updated through onChangeUploadedImages function.\r\n * If single image (multiple === false), complete source must be the (first or) only element of an array\r\n * If multiple needs to be array of name (alt-Tag) and relative path to serverURL",defaultValue:{value:"[]",computed:!1},tags:{},name:"uploadedImages"},{type:{name:"bool"},required:!1,description:"overlay single image upload area with a transparent camera icon",defaultValue:{value:"false",computed:!1},tags:{},name:"useSingleUploadOverlay"}],tags:{},examples:null}},1068:function(e,t,a){e.exports={doclets:{},displayName:"PhotoDropzone",description:"Dropzone that will wrap around elements that are passed as children\n\n* accepts png, jpg and jpeg of max. 10MB\n",methods:[],props:[{type:{name:"func"},required:!0,description:"function that handles accepted files",tags:{},name:"handleAcceptedFiles"},{type:{name:"func"},required:!0,description:"function that handles rejected files",tags:{},name:"handleRejectedFiles"},{type:{name:"any"},required:!1,description:"pass any className for styles to be applied to dropZone",tags:{},name:"dropZoneStyles"},{type:{name:"bool"},required:!1,description:"allow uploading more than one image?",defaultValue:{value:"false",computed:!1},tags:{},name:"multiple"},{type:{name:"bool"},required:!1,description:"display plus icon in the center of the dropzone?",defaultValue:{value:"false",computed:!1},tags:{},name:"usePlusIcon"}],tags:{},examples:null}},1069:function(e,t,a){"use strict";a.r(t);var n=a(91),i=a(36),r=a(9),o=a(1),s=a(0),c=a(72),l=a(18),d=a(19),u=a.n(d),p=a(1143),m=a(69),g=a(27),j=a(83),h=a(55),b=a(32),f=a(92),x=a(152),O=a(15),y=a(31),S=Object(l.a)((function(e){return{form:{padding:"1rem 2.5rem",maxHeight:"calc(100% - 2rem - ".concat("55","px)"),overflowY:"auto"},submitButton:{margin:"0.5em 0 0 auto",display:"block"}}}));t.default=Object(y.c)((function AddMeal(e){var t=S(),a=Object(j.c)(),l=Object(b.a)().t,d=Object(O.a)().user,y=e.onDoneAdding,v={_id:Object(p.a)(),userId:d?d.sub:"",title:"",images:[],recipeLink:"",comment:""};Object(s.useEffect)((function(){d&&I("userId",d.sub)}),[d]);var C=Object(s.useState)(v),_=Object(r.a)(C,2),k=_[0],P=_[1],I=function updateMeal(e,t){P((function(a){return Object(i.a)(Object(i.a)({},a),{},Object(n.a)({},e,t))}))},E=function addNewMeal(e){e.preventDefault(),k.title&&u.a.post("http://localhost:5000/meals/add",k,{}).then((function(e){console.log("added meal",e),y&&y()})).catch((function(e){console.log(e)}))};return Object(o.jsxs)(o.Fragment,{children:[Object(o.jsx)(g.a,{pageTitle:l("New Meal"),leftSideComponent:Object(o.jsx)(h.default,{onClick:function onClick(){Object(f.a)(k._id,(function(){I("images",[])})),a.goBack()}}),rightSideComponent:k.title?Object(o.jsx)(m.default,{onClick:E,label:l("Done")}):""}),Object(o.jsxs)("form",{noValidate:!0,onSubmit:E,className:t.form,children:[Object(o.jsx)(x.default,{updateMeal:I,meal:k}),Object(o.jsx)(c.a,{type:"submit",disabled:!k.title,className:t.submitButton,variant:"contained",color:"primary",children:l("Add")})]})]})}))},1071:function(e,t,a){e.exports={doclets:{},displayName:"AddMeal",description:"page that allows adding a meal\n",methods:[],props:[{type:{name:"func"},required:!1,description:"function to be executed after Meal was added (receives no parameters)",tags:{},name:"onDoneAdding"}],tags:{},examples:null}},1072:function(e,t,a){e.exports={doclets:{},displayName:"EditMeal",description:"Dialog page that allows user to edit meal\n",methods:[],props:[{type:{name:"func"},required:!0,description:"function that closes Dialog / sets open to false",tags:{},name:"closeDialog"},{type:{name:"func"},required:!0,description:"function to be executed after meal deletion complete (receives no parameters)",tags:{},name:"onDoneDelete"},{type:{name:"func"},required:!0,description:"function to be executed after editing complete (receives no parameters)",tags:{},name:"onDoneEditing"},{type:{name:"bool"},required:!0,description:"is component visible?",tags:{},name:"open"},{type:{name:"shape",value:{_id:{name:"string",required:!1},mealTitle:{name:"string",required:!1},images:{name:"arrayOf",value:{name:"shape",value:{name:{name:"string",required:!1},path:{name:"string",required:!1}}},required:!1},recipeLink:{name:"custom",raw:"''",required:!1},comment:{name:"custom",raw:"''",required:!1}}},required:!1,description:"Meal to be edited",defaultValue:{value:"null",computed:!1},tags:{},name:"meal"}],tags:{},examples:null}},1073:function(e,t,a){e.exports={doclets:{},displayName:"EditMealCore",description:"component is used by AddMeal and EditMeal and provides their shared core elements: text and photo input.\r\nDoes not handle communication to server\n",methods:[],props:[{type:{name:"shape",value:{_id:{name:"string",required:!1},title:{name:"string",required:!1},images:{name:"arrayOf",value:{name:"shape",value:{name:{name:"string",required:!1},path:{name:"string",required:!1}}},required:!1},recipeLink:{name:"custom",raw:"''",required:!1},comment:{name:"custom",raw:"''",required:!1}}},required:!0,description:"meal to be edited",tags:{},name:"meal"},{type:{name:"func"},required:!0,description:"setState function of the parent component's meal that takes key and value of attribute and updates it",tags:{},name:"updateMeal"},{type:{name:"bool"},required:!1,description:"whether to use primary or secondary color scheme",defaultValue:{value:"false",computed:!1},tags:{},name:"isSecondary"}],tags:{},examples:null}},1074:function(e,t,a){e.exports={doclets:{},displayName:"MealDetailView",description:"Dialog page that displays Meal Details and optionally opens Edit Dialog\n",methods:[],props:[{type:{name:"func"},required:!0,description:"function that sets open to false",tags:{},name:"closeDialog"},{type:{name:"bool"},required:!1,description:"allow opening edit page? (To be false if not one's own meal)",defaultValue:{value:"false",computed:!1},tags:{},name:"allowEditing"},{type:{name:"shape",value:{title:{name:"string",required:!1},images:{name:"arrayOf",value:{name:"shape",value:{name:{name:"string",required:!1},path:{name:"string",required:!1}}},required:!1},recipeLink:{name:"custom",raw:"''",required:!1},comment:{name:"custom",raw:"''",required:!1}}},required:!1,description:"meal to be viewed",defaultValue:{value:"null",computed:!1},tags:{},name:"meal"},{type:{name:"func"},required:!1,description:"function to be executed after editing (receives no parameters)",tags:{},name:"onDoneEditing"},{type:{name:"bool"},required:!1,description:"is component visible?",defaultValue:{value:"true",computed:!1},tags:{},name:"open"}],tags:{},examples:null}},1075:function(e,t,a){e.exports={doclets:{},displayName:"Meals",description:"content of page that displays all meals of a given user and opens their details views on click (not including Navbar)\n",methods:[],props:[{type:{name:"bool"},required:!0,description:"are these the user's own meals or is another user watching foreign meals? In the latter case editing will be prohibited.",tags:{},name:"own"},{type:{name:"string"},required:!1,description:"userId of user whose meals are to be displayed",tags:{},name:"userId"}],tags:{},examples:null}},1076:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(27)),r=a(32),o=a(15),s=a(154),c=a(147),l=a(83),d=a(31);t.default=Object(d.c)((function OwnMeals(){var e=Object(r.a)().t,t=Object(o.a)().user,a=Object(l.c)();return Object(n.jsxs)(n.Fragment,{children:[Object(n.jsx)(i.a,{pageTitle:e("Meals"),rightSideComponent:Object(n.jsx)(c.default,{onClick:function goToAddMeal(){a.push("/meals/add")}})}),Object(n.jsx)(s.default,{own:!0,userId:t.sub})]})}))},1077:function(e,t,a){e.exports={doclets:{},displayName:"OwnMeals",description:"Page that displays a user's own meals and adds a Navbar to the Meals list that allows adding a meal\n",methods:[],tags:{},props:[],examples:null}},1078:function(e,t,a){"use strict";a.r(t);var n=a(91),i=a(36),r=a(9),o=a(1),s=a(0),c=a(72),l=a(18),d=a(19),u=a.n(d),p=a(27),m=a(69),g=a(83),j=a(55),h=a(32),b=a(155),f=a(15),x=a(92),O=a(31),y=Object(l.a)((function(e){return{form:{padding:"1em 2.5em",maxHeight:"calc(100% - 2rem - ".concat("55","px)"),overflowY:"auto"},submitButton:{margin:"1.5em 0 0 auto",display:"block"}}}));t.default=Object(O.c)((function AddPlanItem(e){var t=y(),a=Object(g.c)(),l=Object(h.a)().t,d=Object(f.a)().user,O=e.onDoneAdding,S={title:"",hasDate:!1,date:new Date,gotEverything:!0,missingIngredients:[],connectedMeal:null},v=Object(s.useState)(S),C=Object(r.a)(v,2),_=C[0],k=C[1],P=Object(s.useState)([]),I=Object(r.a)(P,2),E=(I[0],I[1]),N=function updateMealsCallback(e){E(e)};Object(s.useEffect)((function(){d&&d.sub&&Object(x.b)(d.sub,N)}),[d]);var w=function addNewPlan(e){if(e.preventDefault(),console.log("adding "+_.title+" with connected planItem",_.connectedMeal),_.title&&d){var t={userId:d.sub,title:_.title,hasDate:_.hasDate,date:_.hasDate?new Date(_.date):null,gotEverything:_.gotEverything,missingIngredients:_.missingIngredients,connectedMealId:_.connectedMeal?_.connectedMeal._id:null};u.a.post("http://localhost:5000/plans/add",t).then((function(e){console.log("add request sent",e.data),O()}))}};return Object(o.jsxs)(o.Fragment,{children:[Object(o.jsx)(p.a,{pageTitle:l("New Plan"),leftSideComponent:Object(o.jsx)(j.default,{onClick:function onClick(){a.goBack()}}),rightSideComponent:_.title?Object(o.jsx)(m.default,{label:l("Done"),onClick:w}):""}),Object(o.jsxs)("form",{noValidate:!0,onSubmit:w,className:t.form,children:[Object(o.jsx)(b.default,{updatePlanItem:function updatePlanItem(e,t){k((function(a){return Object(i.a)(Object(i.a)({},a),{},Object(n.a)({},e,t))}))},planItem:_,isAdd:!0}),Object(o.jsx)(c.a,{type:"submit",disabled:!_.title,className:t.submitButton,variant:"contained",color:"primary",children:l("Add Plan")})]})]})}))},1079:function(e,t,a){e.exports={doclets:{},displayName:"AddPlanItem",description:"page that allows adding a plan\n",methods:[],props:[{type:{name:"func"},required:!1,description:"function to be executed after Plan was added (receives no parameters)",tags:{},name:"onDoneAdding"}],tags:{},examples:null}},1080:function(e,t,a){e.exports={doclets:{},displayName:"EditPlanItem",description:"",methods:[],props:[{type:{name:"func"},required:!0,description:"function that closes Dialog / sets open to false",tags:{},name:"closeDialog"},{type:{name:"func"},required:!0,description:"function to be executed after editing complete (receives no parameters)",tags:{},name:"onDoneEditing"},{type:{name:"bool"},required:!0,description:"is component visible?",tags:{},name:"open"},{type:{name:"shape",value:{title:{name:"string",required:!1},hasDate:{name:"bool",required:!1},date:{name:"string",required:!1},gotEverything:{name:"bool",required:!1},missingIngredients:{name:"arrayOf",value:{name:"shape",value:{name:{name:"string",required:!1},checked:{name:"bool",required:!1}}},required:!1},connectedMealId:{name:"string",required:!1}}},required:!1,description:"plan to be edited",defaultValue:{value:"null",computed:!1},tags:{},name:"planItem"}],examples:null}},1081:function(e,t,a){e.exports={doclets:{},displayName:"EditPlanItemCore",description:"component is used by AddPlanItem and EditPlanItem and provides their shared input elements\r\nDoes not handle communication to server\n",methods:[],props:[{type:{name:"shape",value:{title:{name:"string",required:!1},hasDate:{name:"bool",required:!1},date:{name:"any",required:!1},gotEverything:{name:"bool",required:!1},missingIngredients:{name:"arrayOf",value:{name:"shape",value:{name:{name:"string",required:!1},checked:{name:"bool",required:!1}}},required:!1},connectedMealId:{name:"string",required:!1}}},required:!0,description:"planItem to be edited",tags:{},name:"planItem"},{type:{name:"func"},required:!0,description:"setState function of the parent component's planItem that takes key and value of attribute and updates it",tags:{},name:"updatePlanItem"},{type:{name:"bool"},required:!1,description:"is this component called from AddPlanItem page?\r\nThis is necessary because the MUI Autocomplete component is still a lab component and does not work 100% properly, so I had to implement a workaround that needs this info",defaultValue:{value:"false",computed:!1},tags:{},name:"isAdd"},{type:{name:"bool"},required:!1,description:"whether to use primary or secondary color scheme",defaultValue:{value:"false",computed:!1},tags:{},name:"isSecondary"}],tags:{},examples:null}},1082:function(e,t,a){e.exports={doclets:{},displayName:"MissingIngredients",description:"Dialog that displays a plans missing ingredients and allows to check or uncheck them\n",methods:[],props:[{type:{name:"func"},required:!0,description:"function that closes Dialog / sets open to false",tags:{},name:"closeDialog"},{type:{name:"func"},required:!0,description:"function to be executed after an ingredient is checked or unchecked (receives no parameters)",tags:{},name:"onDoneEditing"},{type:{name:"bool"},required:!0,description:"is component visible?",tags:{},name:"open"},{type:{name:"shape",value:{_id:{name:"string",required:!1},title:{name:"string",required:!1},hasDate:{name:"bool",required:!1},date:{name:"string",required:!1},gotEverything:{name:"bool",required:!1},missingIngredients:{name:"arrayOf",value:{name:"shape",value:{name:{name:"string",required:!1},checked:{name:"bool",required:!1}}},required:!1},connectedMealId:{name:"string",required:!1}}},required:!1,description:"planItem whose ingredients are to be displayed",defaultValue:{value:"null",computed:!1},tags:{},name:"planItem"}],tags:{},examples:null}},1083:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(27)),r=a(32),o=a(15),s=a(156),c=a(147),l=a(83),d=a(31);t.default=Object(d.c)((function OwnPlans(){var e=Object(r.a)().t,t=Object(o.a)().user,a=Object(l.c)();return Object(n.jsxs)(n.Fragment,{children:[Object(n.jsx)(i.a,{pageTitle:e("Plans"),rightSideComponent:Object(n.jsx)(c.default,{onClick:function goToAddPlan(){a.push("/plans/add")}})}),Object(n.jsx)(s.default,{own:!0,userId:t.sub})]})}))},1084:function(e,t,a){e.exports={doclets:{},displayName:"OwnPlans",description:"Page that displays a user's own plans and adds a Navbar to the plans list that allows adding a plan\n",methods:[],tags:{},props:[],examples:null}},1085:function(e,t,a){e.exports={doclets:{},displayName:"Plans",description:"content of page that displays all plans of a given user (not including Navbar)\n",methods:[],props:[{type:{name:"bool"},required:!0,description:"are these the user's own plans or is another user watching foreign plans? In the latter case editing will be prohibited.",tags:{},name:"own"},{type:{name:"string"},required:!0,description:"userId of user whose plans are to be displayed",tags:{},name:"userId"}],tags:{},examples:null}},1086:function(e,t,a){e.exports={doclets:{},displayName:"ShoppingList",description:"Displays a list of all ingredients of future plans (ingredients of past plans will not be displayed)\n\n* checked ingredients will be displayed with a line through the text\n* allows checking off and unchecking items from the list by clicking on them\n* orders ingredients by date and meal\n",methods:[],props:[{type:{name:"func"},required:!0,description:"function that closes the ShoppingList component",tags:{},name:"onClose"},{type:{name:"string"},required:!0,description:"user whose plans will be compiled into the shopping list",tags:{},name:"userId"},{type:{name:"array"},required:!1,description:"optional plans array. If not provided, plans will be fetched from database",defaultValue:{value:"null",computed:!1},tags:{},name:"plans"}],tags:{},examples:null}},1087:function(e,t,a){e.exports={doclets:{},displayName:"EditProfile",description:"Dialog page to edit user data, looks like Profile but is editable\n",methods:[],props:[{type:{name:"func"},required:!0,description:"function that closes Dialog / sets open to false",tags:{},name:"closeDialog"},{type:{name:"func"},required:!0,description:"callback to be executed after user is updated (receives no parameters)",tags:{},name:"onUpdateUser"},{type:{name:"shape",value:{}},required:!0,description:"initial user data to be edited",tags:{},name:"userData"},{type:{name:"bool"},required:!1,description:"whether to use primary or secondary color scheme",defaultValue:{value:"false",computed:!1},tags:{},name:"isSecondary"},{type:{name:"bool"},required:!1,description:"is component visible?",defaultValue:{value:"false",computed:!1},tags:{},name:"open"}],tags:{},examples:null}},1088:function(e,t,a){e.exports={doclets:{},displayName:"Profile",description:"content page (excluding Navbar) that displays user's data\n",methods:[],props:[{type:{name:"shape",value:{}},required:!0,description:"user data to be displayed, currently displays name, metadata.nickname, email and metadata.picture (or picture if no metadata.picture is set)",tags:{},name:"userData"}],tags:{},examples:null}},1089:function(e,t,a){e.exports={doclets:{},displayName:"ProfilePlaceholder",description:"empty dummy profile to be displayed while userData is loading\n",methods:[],tags:{},props:[],examples:null}},1090:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a(27),s=a(32),c=a(279),l=a(42),d=a(1137),u=a(24),p=a(161),m=a(162),g=a(118),j=a(62),h=a(23),b=a(17),f=a(1140),x=a(119),O=a(163),y=a(15),S=a(49),v=a(18),C=a(133),_=a(31),k=a(267),P=a(264),I=a(69),E=a(278),N=a(280),w=Object(v.a)((function(e){return{settings:{padding:"1rem 0",maxHeight:"calc(100% - ".concat("55","px)"),overflowY:"auto"},table:{borderTop:Object(_.b)(e),margin:"1rem 0"},tableCell:{padding:"10px","&:first-child":{width:"25%"}},label:{color:e.palette.secondary.light,fontSize:"1rem"}}}));t.default=Object(_.c)((function Settings(e){var t=w(),a=Object(s.a)(),v=a.t,_=a.i18n,M=Object(y.a)().user,D=Object(l.a)().palette,B=Object(r.useState)(null),L=Object(n.a)(B,2),T=L[0],A=L[1],q=Object(r.useState)(null),R=Object(n.a)(q,2),U=(R[0],R[1]),G=Object(r.useState)(!1),z=Object(n.a)(G,2),F=z[0],H=z[1];Object(r.useEffect)((function(){V()}),[M]);var V=function getUser(){if(M){console.log("user",M);var e=M.sub;Object(S.c)(e,(function(e){A(e);var t=e.user_metadata;t&&t.language&&t.language!==_.language&&_.changeLanguage(t.language)}))}},W=function getSettings(){if(M){var e=M.sub;Object(S.b)(e,U)}};Object(r.useEffect)(W,[]);var K=function changeLanguage(e){_.changeLanguage(e).then((function(e){console.log("changed language to ",e)})),function updateLanguageInUserMetadata(e){if(M){var t={language:e};Object(S.e)(M.sub,t,V)}}(e),function updateLanguageInSettings(e){M&&Object(S.f)(M.sub,"language",e,W)}(e)};return Object(i.jsxs)(i.Fragment,{children:[Object(i.jsx)(o.a,{pageTitle:v("Settings"),rightSideComponent:F?Object(i.jsx)(I.default,{onClick:function onClick(){H(!1)},label:v("Done")}):Object(i.jsx)(P.default,{onClick:function onClick(){H(!0)}})}),Object(i.jsxs)(u.a,{className:t.settings,children:[T&&!F?Object(i.jsx)(c.default,{userData:T}):Object(i.jsx)(N.default,{}),Object(i.jsx)(p.a,{className:t.table,children:Object(i.jsx)(m.a,{"aria-label":"profile data",size:"small",children:Object(i.jsxs)(g.a,{children:[Object(i.jsxs)(j.a,{children:[Object(i.jsx)(h.a,{className:t.tableCell,children:Object(i.jsx)(b.a,{className:t.label,id:"language-select-label",children:v("Language")})}),Object(i.jsx)(h.a,{className:t.tableCell,children:Object(i.jsx)(f.a,{input:Object(i.jsx)(x.a,{}),labelId:"language-select-label",id:"language-select",value:_.language,onChange:function onChange(e){K(e.target.value)},children:function getLanguageMenuItems(){return C.a.map((function(e){return Object(i.jsx)(d.a,{value:e.key,children:e.description},e.key)}))}()})})]}),D&&e.setDarkModeInAppLevel&&Object(i.jsxs)(j.a,{children:[Object(i.jsx)(h.a,{className:t.tableCell,children:Object(i.jsx)(b.a,{className:t.label,id:"language-select-label",children:v("Use dark mode?")})}),Object(i.jsx)(h.a,{className:t.tableCell,children:Object(i.jsx)(O.a,{checked:"dark"===D.type,onChange:function onChange(t){return function updateDarkModePreference(t){console.log("useDarkMode?",t),M&&Object(S.f)(M.sub,"prefersDarkMode",t,W),e.setDarkModeInAppLevel(t)}(t.target.checked)},inputProps:{"aria-label":"use dark mode checkbox"}})})]})]})})}),Object(i.jsx)(k.default,{})]}),T&&Object(i.jsx)(E.default,{userData:T,onUpdateUser:V,open:F,closeDialog:function closeDialog(){H(!1)},isSecondary:!0})]})}))},1091:function(e,t,a){e.exports={doclets:{},displayName:"Settings",description:"page that displays user profile (and allows editing user profile) and underneath allows changing remaining settings\n\n* settings that can be changed:\n * language\n * use dark mode?\n",methods:[],props:[{type:{name:"func"},required:!0,description:"needs to receive a function that can toggle dark mode directly from the App.jsx component",tags:{},name:"setDarkModeInAppLevel"}],tags:{},examples:null}},1109:function(e,t,a){e.exports={doclets:{},displayName:"ContactsContent",description:"#### Page component that is displayed when other users are accessing a profile that is not their own.\n\n* gets the userId from the URL params (of React Router)\n* current content:\n * Navbar (title: other user's name)\n * two swipeable tabs that display the other user's plans and meals\n",methods:[],tags:{},props:[],examples:null}},1110:function(e,t,a){e.exports={doclets:{},displayName:"FriendOrUnfriendButton",description:"Button that will toggle whether given contact is included in current user's contacts array.\n",methods:[],props:[{type:{name:"object"},required:!0,description:"user that will be added or removed to contacts array of current user",tags:{},name:"otherUser"},{type:{name:"func"},required:!1,description:"optional function that allows fetching updated contacts in parent component (receives no parameters)",defaultValue:{value:"null",computed:!1},tags:{},name:"afterUpdateContacts"},{type:{name:"array"},required:!1,description:"current user's contacts that the otherUser will be added to or removed from. If not provided, will fetch contacts from the database, but this will result in longer loading",defaultValue:{value:"null",computed:!1},tags:{},name:"contacts"},{type:{name:"bool"},required:!1,description:"optional styling that displays button in a white circle",defaultValue:{value:"false",computed:!1},tags:{},name:"inNavbar"}],tags:{},examples:null}},1111:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a(138),s=a(24),c=a(135),l=a(292),d=a(160),u=a(293),p=a(17),m=a(218),g=a(27),j=a(268),h=a(15),b=a(18),f=(a(41),a(283)),x=a(32),O=a(216),y=a(83),S=a(281),v=a(31),C=Object(b.a)({infoText:{textAlign:"center",margin:"3rem 2rem 1rem",fontFamily:"Cookie",fontSize:"2rem"}});t.default=Object(v.c)((function Social(){var e=C(),t=Object(h.a)().user,a=Object(x.a)().t,b=Object(y.e)(),v=b.path,_=b.url,k=Object(y.c)(),P=Object(r.useState)(!1),I=Object(n.a)(P,2),E=I[0],N=I[1],w=Object(r.useState)([]),M=Object(n.a)(w,2),D=M[0],B=M[1],L=Object(r.useState)(!1),T=Object(n.a)(L,2),A=T[0],q=T[1],R=function fetchContacts(){if(t){var e=t.sub;Object(O.a)(e,(function(e){B(e),0===e.length&&q(!0)}))}};Object(r.useEffect)((function(){R()}),[]);console.log(D);return console.log(_,v),Object(i.jsx)(i.Fragment,{children:Object(i.jsxs)(y.b,{children:[Object(i.jsxs)(y.a,{exact:!0,path:v,children:[E?Object(i.jsx)(f.default,{open:E,closeSearch:function closeSearch(){N(!1)},contacts:D,afterUpdateContacts:R,openContact:function showUser(e){k.push("".concat(_,"/contact/").concat(e))}}):Object(i.jsx)(g.a,{pageTitle:a("Contacts"),rightSideComponent:Object(i.jsx)(j.default,{onClick:function onClick(){N(!0)}})}),0===D.length?Object(i.jsx)(p.a,{className:e.infoText,children:A?Object(i.jsxs)(i.Fragment,{children:[a("No contacts yet"),Object(i.jsx)("br",{}),a("Search for friends in the top right corner")]}):a("Loading")+"..."}):Object(i.jsx)(m.a,{component:"nav",className:e.root,"aria-label":"meal list",children:function getListItems(){return D.map((function(a){console.log("Contact",a);var n=a.user_id,r=Object(i.jsx)(o.a,{alt:"profile picture of "+t.name,src:a.user_metadata&&a.user_metadata.picture?a.user_metadata.picture:a.picture});return Object(i.jsxs)(s.a,{children:[Object(i.jsxs)(c.a,{button:!0,onClick:function onClick(){k.push("".concat(_,"/contact/").concat(n))},children:[Object(i.jsx)(l.a,{children:r}),Object(i.jsx)(d.a,{primary:a.user_metadata&&a.user_metadata.nickname?a.user_metadata.nickname:a.name,primaryTypographyProps:{className:e.listItemText}})]}),Object(i.jsx)(u.a,{})]},n)}))}()})]}),Object(i.jsx)(y.a,{path:"".concat(v,"/contact/:userId"),children:Object(i.jsx)(S.default,{})})]})})}))},1112:function(e,t,a){e.exports={doclets:{},displayName:"Social",description:"displays a list of current user's contacts and allows searching for all users through Button in Navbar\non clicking on a contact's name will open ContactContent\n",methods:[],tags:{},props:[],examples:null}},1113:function(e,t,a){e.exports={doclets:{},displayName:"UserSearch",description:"Allows searching for users and shows a list of users that correspond to the search term.\nIf search term is empty, displays a list of all users.\nFurthermore, allows adding or removing found users to/from the contact list.\n",methods:[],props:[{type:{name:"func"},required:!0,description:"function to be executed after friend or unfriend action. *Must* update the contacts prop.",tags:{},name:"afterUpdateContacts"},{type:{name:"func"},required:!0,description:"function that closes Dialog / sets open to false",tags:{},name:"closeSearch"},{type:{name:"arrayOf",value:{name:"shape",value:{}}},required:!0,description:"contact array of current user",tags:{},name:"contacts"},{type:{name:"bool"},required:!0,description:"is component visible?",tags:{},name:"open"},{type:{name:"func"},required:!1,description:"function that will open the contact's page",tags:{},name:"openContact"}],tags:{},examples:null}},1114:function(e,t,a){e.exports={doclets:{},displayName:"CircularProgressWithLabel",description:"Countdown that will be displayed as a number of seconds remaining surrounded by a circular progress that runs in reverse from initialValue to 0, updates every second\n",methods:[],props:[{type:{name:"number"},required:!0,description:"initial value of countdown in seconds",tags:{},name:"initialValue"},{type:{name:"number"},required:!1,description:"number of seconds that will be subtracted each second",defaultValue:{value:"1",computed:!1},tags:{},name:"step"}],tags:{},examples:null}},1115:function(e,t,a){e.exports={doclets:{},displayName:"SlidingTransitionLeft",description:"Provides sliding in from the right side effect to Dialog components\n",methods:[],tags:{},props:[],examples:null}},115:function(e,t,a){"use strict";a.d(t,"b",(function(){return o})),a.d(t,"a",(function(){return s}));var n=a(19),i=a.n(n),r="http://localhost:5000",o=function getPlansOfUser(e,t){i.a.get(r+"/plans/ofUser/"+e).then((function(e){t(e.data)})).catch((function(e){console.log(e.message)}))},s=function checkOrUncheckIngredient(e,t,a){i.a.put(r+"/plans/checkOrUncheckIngredient/"+e,t).then(a).catch((function(e){console.log(e.message)}))}},133:function(e,t,a){"use strict";a.d(t,"a",(function(){return g}));for(var n=a(9),i=a(290),r=a(388),o=a(134),s=a(389),c=a(390),l=a(391),d=a(392),u=a(393),p=a(394),m={en_GB:{translation:s,description:"English (Great Britain)"},en_US:{translation:c,description:"English (USA)"},de:{translation:d,description:"Deutsch"},es:{translation:u,description:"Español"},it:{translation:p,description:"Italiano"},fr_FR:{translation:l,description:"Français"}},g=[],j=0,h=Object.entries(m);j0&&(e=a.map((function(e,t){return Object(i.jsxs)(c.a,{cols:e.isMain?2:1,children:[Object(i.jsx)("img",{src:"http://localhost:5000"+e.path,alt:e.name,onClick:function onClick(){return function openImage(e,t){x(!0),v(t)}(0,t)}}),m?Object(i.jsx)(u.default,{selected:e.isMain,onClick:function onClick(){return function chooseAsMain(e){m&&j(e)}(e)}}):null,s?Object(i.jsx)(d.default,{onClick:function onClick(){return function deletePhoto(e){s&&g(e)}(e)}}):null]},t)}))),e}()]}),f&&function getCarousel(e){return Object(i.jsx)(o.default,{images:a,startIndex:e,dismissCarousel:function dismissCarousel(){x(!1)}})}(S)]})};m.defaultProps={images:[],allowDelete:!1,allowChoosingMain:!1,onDelete:null,onChoosingMain:null},t.default=m},151:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a(211),s=a(150),c=a(19),l=a.n(c),d=a(18),u=a(291),p=a(295),m=a(401),g=a(24),j=a(33),h=a(28),b=a(149),f="http://localhost:5000",x=Object(d.a)((function(e){return{photoDropzoneMultiple:{height:"calc(100% - 4px)",width:"calc(100% - 4px)",border:"2px dashed "+e.palette.secondary.main,"&:hover":{cursor:"pointer"}},singlePhotoUpload:{width:"8rem",height:"8rem",margin:"auto",position:"relative",borderRadius:"100%"},photoDropzoneSingle:{position:"relative",height:"100%",width:"100%",border:"none","&:hover":{cursor:"pointer"},borderRadius:"100%"},photoDropzoneSingleEmpty:{height:"calc(100% - 4px)",width:"calc(100% - 4px)",border:"2px dashed "+e.palette.secondary.main,"&:hover":{cursor:"pointer"},borderRadius:"100%"},photoRow:{marginTop:"-0.5rem",paddingTop:"0.5rem",marginBottom:"0.25rem",width:"100%",borderRadius:"0.25rem",overflowX:"auto",overflowY:"hidden",display:"flex",flexWrap:"nowrap",flex:1,color:e.palette.secondary.main},photoBoxPlaceholder:{display:"inlineBlock",height:"7rem",maxHeight:"7rem",width:"4.5rem",flex:"0 0 auto",border:"1px solid "+e.palette.secondary.main,borderRadius:"0.25rem",margin:"0.5rem",position:"relative",wordWrap:"anywhere"},gridList:{width:"100%",marginTop:"0.5rem !important",marginBottom:"0.5rem !important"},dropzoneTile:{width:"33.3333%",padding:"2px",height:"1404px"},cameraOverlay:{position:"absolute",height:"100%",width:"100%",top:0,borderRadius:"100%"},overlayIcon:{color:"rgba(255,255,255,0.6)",fontSize:"8rem"},snackbarOffset:{bottom:parseInt("55")+10+"px"},rejectSnackbar:{backgroundColor:e.palette.error.light}}})),O=function ImageUpload(e){var t=x(),a=e.uploadedImages,c=e.category,d=e.categoryId,O=e.onChangeUploadedImages,y=e.multiple,S=e.imageName,v=e.useSingleUploadOverlay,C=Object(r.useState)([]),_=Object(n.a)(C,2),k=_[0],P=_[1],I=Object(r.useState)(!1),E=Object(n.a)(I,2),N=E[0],w=E[1],M=Object(r.useState)([]),D=Object(n.a)(M,2),B=D[0],L=D[1],T=function handleAcceptedFiles(e){e.length>0&&q(e)},A=function handleRejectedFiles(e){e.length>0&&(console.log("rejected",e),L(Array.from(e).map((function(e){return e.file.name+" was rejected. Reason: "+e.errors[0].message}))),w(!0))},q=function uploadImages(e){console.log("trying to upload images",e," to ",f),P(e),Array.from(e).forEach((function(e){var t=new FormData,n="";c&&(t.append("category",c),t.append("categoryId",d),n=c),t.append("image",e),l.a.post(f+"/images/addImage/"+n,t,{}).then((function(t){console.log("result of adding image",t);var n=k.filter((function(t){return t!==e}));if(P(n),y){var i=a;i.push(t.data.Image),0===n.length&&"mealImages"===c&&(i[0].isMain=!0),O(i)}else O(t.data.Image)})).catch((function(e){console.log(e)}))}))},R=B.map((function(e){return Object(i.jsx)(p.a,{open:N,autoHideDuration:4e3,onClose:function onClose(){w(!1),L([])},message:e,className:t.snackbarOffset,ContentProps:{className:t.rejectSnackbar}})}));return Object(i.jsxs)(i.Fragment,{children:[y?Object(i.jsx)(m.a,{cellHeight:160,className:t.gridList,cols:3,children:Object(i.jsxs)(s.default,{images:a,allowDelete:!0,allowChoosingMain:!0,onDelete:function deleteImage(e){console.log("trying to Reset Image",e);var t=new FormData;t.append("path",e.path);var n=c||"";l.a.post(f+"/images/deleteImage/"+n+"/"+e._id,t).then((function(t){console.log("result of deleting planItem image",t);var n=a.filter((function(t){return t!==e}));e.isMain&&n.length>0&&(n[0].isMain=!0),O(n)})).catch((function(e){console.log(e)}))},onChoosingMain:function chooseImageAsMain(e){console.log("trying to set image as main",e);var t=a.map((function(t){return t.isMain=t._id===e._id,t})),n=[e];t.forEach((function(t){t!==e&&n.push(t)})),O(n)},disableSurroundingGrid:!0,children:[Object(i.jsx)(u.a,{cols:1,className:t.dropzoneTile,children:Object(i.jsx)(o.default,{multiple:!0,usePlusIcon:!0,handleAcceptedFiles:T,handleRejectedFiles:A,dropZoneStyles:t.photoDropzoneMultiple})},-1),",",function getPhotoPlaceholders(){var e=[];return k&&k.length>0&&(e=k.map((function(e,a){return Object(i.jsx)(u.a,{cols:1,className:t.dropzoneTile,children:e.name},"placeholder"+a)}))),e}()]})}):Object(i.jsx)(g.a,{className:t.singlePhotoUpload,children:Object(i.jsxs)(o.default,{handleAcceptedFiles:T,handleRejectedFiles:A,dropZoneStyles:0===a.length?t.photoDropzoneSingleEmpty:t.photoDropzoneSingle,usePlusIcon:0===a.length,children:[Object(i.jsx)(b.default,{src:a[0],altText:S}),v?Object(i.jsx)(g.a,{className:t.cameraOverlay,children:Object(i.jsx)(j.a,{className:t.overlayIcon,icon:h.a,mask:h.d,transform:"shrink-8"})}):null]})}),R]})};O.defaultProps={multiple:!1,string:"",uploadedImages:[],useSingleUploadOverlay:!1},t.default=O},152:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a.n(r),s=a(136),c=a(18),l=a(32),d=a(151),u=a(15),p=a(41),m=Object(c.a)((function(e){return{textField:{width:"100%",marginTop:"0.5rem",marginBottom:"0.5rem"},errorTextField:{"& .MuiOutlinedInput-notchedOutline":{borderColor:e.palette.error.main}}}})),g=function EditMealCore(e){var t=m(),a=Object(l.a)().t,r=e.updateMeal,c=e.meal,u=c._id,p=c.title,g=c.recipeLink,j=c.comment,h=c.images,b=e.isSecondary,f=b?"secondary":"primary",x=o.a.useState(),O=Object(n.a)(x,2)[1],y=o.a.useCallback((function(){return O({})}),[]);return Object(i.jsxs)(i.Fragment,{children:[Object(i.jsx)(s.a,{className:t.textField,value:p,color:f,name:"title",onChange:function onChange(e){return r("title",e.target.value)},label:a("Meal Title"),variant:"outlined",autoFocus:!0,required:!0}),Object(i.jsx)(s.a,{className:t.textField,color:f,value:g,name:"recipeLink",onChange:function onChange(e){return r("recipeLink",e.target.value)},label:a("Link to Recipe"),variant:"outlined"}),Object(i.jsx)(s.a,{multiline:!0,rowsMax:10,color:f,className:t.textField,value:j,name:"comment",onChange:function onChange(e){return r("comment",e.target.value)},label:a("Comment"),variant:"outlined"}),Object(i.jsx)(d.default,{multiple:!0,uploadedImages:h,category:"mealImages",categoryId:u,onChangeUploadedImages:function onChangeUploadedImages(e){console.log("updated uploadedImages",e),r("images",e),y()}})]})};g.defaultProps={isSecondary:!1},t.default=Object(u.b)(g,{onRedirecting:function onRedirecting(){return Object(i.jsx)(p.a,{})}})},153:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a(137),s=a(24),c=a(404),l=a(405),d=a(17),u=a(1128),p=a(18),m=a(19),g=a.n(m),j=a(273),h=a(27),b=a(55),f=a(69),x=a(150),O=a(32),y=a(100),S=Object(p.a)((function(e){return{content:{maxHeight:"calc(100% - ".concat("55","px)"),overflowY:"auto"}}})),v=function MealDetailView(e){var t=S(),a=Object(O.a)().t,p=e.meal,m=e.open,v=e.closeDialog,C=e.onDoneEditing,_=e.allowEditing,k=Object(r.useState)(p),P=Object(n.a)(k,2),I=P[0],E=P[1],N=Object(r.useState)(!1),w=Object(n.a)(N,2),M=w[0],D=w[1],B=Object(r.useState)(null),L=Object(n.a)(B,2),T=L[0],A=L[1];Object(r.useEffect)((function(){E(p)}),[p]);var q=function afterEditing(){C(),function fetchMeal(){I&&I._id&&g.a.get("http://localhost:5000/meals/"+I._id).then((function(e){E(e.data),console.log("get meal",I)})).catch((function(e){console.log(e.message)}))}()};return Object(i.jsxs)(i.Fragment,{children:[I?Object(i.jsxs)(o.a,{open:m,fullScreen:!0,onClose:v,TransitionComponent:y.SlidingTransitionLeft,children:[Object(i.jsx)(h.a,{pageTitle:a("Meal"),rightSideComponent:_&&Object(i.jsx)(f.default,{label:a("Edit"),onClick:function onClick(){!function openEditItemDialog(e){A(e),console.log("setting as toEdit",T,e,T===e),D(_&&!0)}(I)}}),leftSideComponent:Object(i.jsx)(b.default,{onClick:v})}),Object(i.jsx)(s.a,{className:t.content,children:Object(i.jsx)(c.a,{children:Object(i.jsxs)(l.a,{children:[Object(i.jsx)(d.a,{variant:"h4",children:I.title}),I.recipeLink?Object(i.jsx)(i.Fragment,{children:Object(i.jsx)(d.a,{children:Object(i.jsx)(u.a,{href:I.recipeLink,children:I.recipeLink})})}):"",I.comment?Object(i.jsx)(i.Fragment,{children:Object(i.jsx)(d.a,{children:I.comment})}):"",I.images&&I.images.length>0?Object(i.jsx)(x.default,{images:I.images,allowChoosingMain:!1}):""]})})})]}):"",Object(i.jsx)(j.default,{open:_&&M,meal:T,closeDialog:function closeDialog(){A(null),D(!1)},onDoneEditing:q,onDoneDelete:function onDoneDelete(){q(),v()}})]})};v.defaultProps={meal:null,open:!0,allowEditing:!1},t.default=v},154:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a(18),s=a(138),c=a(24),l=a(135),d=a(292),u=a(160),p=a(293),m=a(17),g=a(218),j=a(33),h=a(28),b=a(32),f=a(153),x=(a(15),a(41),a(92)),O=a(31),y=Object(o.a)({infoText:{textAlign:"center",margin:"3rem 2rem",fontFamily:"Cookie",fontSize:"1.5rem",lineHeight:"1.6rem"}});t.default=Object(O.c)((function Meals(e){var t=y(),a=Object(b.a)().t,o=Object(r.useState)([]),O=Object(n.a)(o,2),S=O[0],v=O[1],C=e.own,_=e.userId,k=Object(r.useState)(!1),P=Object(n.a)(k,2),I=P[0],E=P[1],N=Object(r.useState)(null),w=Object(n.a)(N,2),M=w[0],D=w[1],B=Object(r.useState)(!1),L=Object(n.a)(B,2),T=L[0],A=L[1],q=function updateMealsCallback(e){v(e),0===e.length&&A(!0)},R=function fetchAndUpdateMeals(){Object(x.b)(_,q)};Object(r.useEffect)((function(){R()}),[_]);return console.log(S),Object(i.jsxs)(i.Fragment,{children:[0===S.length?Object(i.jsxs)(m.a,{className:t.infoText,children:[T?a("Looks like there are no meals here yet"):a("Loading")+"..."," "]}):Object(i.jsx)(g.a,{component:"nav",className:t.root,"aria-label":"meal list",children:function getListItems(){return S.map((function(e){var t;if(e.images.length>0){var a=function getMainImage(e){return e.images.find((function(e){return e.isMain}))||e.images[0]}(e);t=Object(i.jsx)(s.a,{alt:a.name,src:"http://localhost:5000"+a.path})}else t=Object(i.jsx)(s.a,{children:Object(i.jsx)(j.a,{icon:h.j})});return Object(i.jsxs)(c.a,{children:[Object(i.jsxs)(l.a,{button:!0,onClick:function onClick(){!function openMealDetailView(e){D(e),E(!0)}(e)},children:[Object(i.jsx)(d.a,{children:t}),Object(i.jsx)(u.a,{primary:e.title})]}),Object(i.jsx)(p.a,{})]},e._id)}))}()}),Object(i.jsx)(f.default,{open:I,meal:M,allowEditing:C,allowImporting:!C,closeDialog:function closeDialog(){D(null),E(!1)},onDoneEditing:R})]})}))},155:function(e,t,a){"use strict";a.r(t);var n=a(36),i=a(9),r=a(1),o=a(0),s=a(136),c=a(24),l=a(219),d=a(163),u=a(46),p=a(72),m=a(18),g=a(33),j=a(28),h=a(395),b=a.n(h),f=a(32),x=a(1142),O=a(15),y=a(41),S=a(92),v=Object(m.a)((function(e){return{dateSelectionWrapper:{display:"flex",justifyContent:"space-between"},dateLabel:{marginTop:"calc(10px + 0.5em)",marginBottom:"calc(10px + 0.5em)"},dateSelection:{marginTop:".5em",marginBottom:".5em",marginLeft:"auto"},textField:{width:"100%",marginTop:"1em",marginBottom:"1em"},buttonGridCell:{maxWidth:"calc(2em + 8px)",flexGrow:1,flexBasis:0,textAlign:"center"},missingIngredientsBox:{paddingLeft:"2em",marginTop:"0.5em"},newIngredientInputGrid:{marginBottom:"0.5em"},addIngredientButton:{borderRadius:"100%",minWidth:"1em",padding:0,color:e.palette.background.default},addIngredientButtonIcon:{color:e.palette.primary.main},removeIngredientButtonIcon:{color:e.palette.error.light},missingIngredientsGrid:{flexWrap:"nowrap"},missingIngredientLeftGridCell:{width:"calc(100% - 2em - 8px)"},missingIngredientItem:{display:"flex",marginRight:0},missingIngredientCheckbox:{padding:"5px 9px"},missingIngredientInputLabel:{maxWidth:"100%",whiteSpace:"nowrap"},missingIngredientLabel:{overflow:"hidden",textOverflow:"ellipsis"}}})),C=function EditPlanItemCore(e){var t=v(),a=Object(f.a)().t,m=Object(O.a)().user,h=e.isAdd,y=e.updatePlanItem,C=e.planItem,_=C.title,k=C.hasDate,P=C.date,I=C.gotEverything,E=C.missingIngredients,N=C.connectedMeal,w=e.isSecondary,M=w?"primary":"secondary",D=w?"secondary":"primary",B=Object(o.useState)(""),L=Object(i.a)(B,2),T=L[0],A=L[1],q=Object(o.useState)(h||!!N),R=Object(i.a)(q,2),U=R[0],G=R[1],z=Object(o.useState)([]),F=Object(i.a)(z,2),H=F[0],V=F[1],W=function updateMealsCallback(e){V(e)};Object(o.useEffect)((function(){m&&m.sub&&Object(S.b)(m.sub,W)}),[m]);var K=function addIngredient(){var e={name:T,checked:!1},t=E;t.push(e),y("missingIngredients",t),A("")};return Object(r.jsxs)(r.Fragment,{children:[Object(r.jsx)(x.a,{id:"planTitle",freeSolo:!0,clearOnBlur:!1,clearOnEscape:!1,value:N,onChange:function onChange(e,t){y("connectedMeal",t)},inputValue:_,onInputChange:function onInputChange(e,t){U?y("title",t):G(!0)},onClose:function onClose(e,t){"create-option"===t&&"Enter"===e.key&&G(!1)},options:H,getOptionLabel:function getOptionLabel(e){return e.title||""},renderInput:function renderInput(e){return Object(r.jsx)(s.a,Object(n.a)(Object(n.a)({},e),{},{color:D,className:t.textField,label:a("Title"),variant:"outlined",autoFocus:!0,required:!0}))}}),Object(r.jsxs)(c.a,{className:t.dateSelectionWrapper,children:[Object(r.jsx)(l.a,{className:t.dateLabel,label:a("Date"),control:Object(r.jsx)(d.a,{checked:k,onChange:function onChange(e){return y("hasDate",e.target.checked)},color:D})}),k?Object(r.jsx)(s.a,{className:t.dateSelection,value:b()(P,"yyyy-mm-dd"),onChange:function onChange(e){return y("date",e.target.value)},label:a("Due Date"),type:"date",color:D,variant:"outlined",InputLabelProps:{shrink:!0}}):""]}),Object(r.jsx)(l.a,{label:a("Got everything?"),control:Object(r.jsx)(d.a,{checked:I,onChange:function onChange(e){return y("gotEverything",e.target.checked)},color:D})}),Object(r.jsxs)(c.a,{className:t.missingIngredientsBox,hidden:I,children:[Object(r.jsxs)(u.a,{container:!0,spacing:1,justify:"space-between",alignItems:"flex-end",className:t.newIngredientInputGrid,children:[Object(r.jsx)(u.a,{item:!0,xs:!0,style:{width:"calc(100% - (2em + 8px))"},children:Object(r.jsx)(s.a,{value:T,color:M,name:"newIngredient",onChange:function onChange(e){return A(e.target.value)},onKeyDown:function onKeyDown(e){"Enter"===e.key&&(e.preventDefault(),T&&K())},label:a("Missing Ingredient"),InputLabelProps:{className:t.missingIngredientInputLabel},variant:"standard"})}),Object(r.jsx)(u.a,{item:!0,className:t.buttonGridCell,children:Object(r.jsx)(p.a,{type:"button",disabled:!T,className:t.addIngredientButton,onClick:K,variant:"text",children:Object(r.jsx)(g.a,{className:t.addIngredientButtonIcon,icon:j.f,size:"2x"})})})]}),E.map((function(e,a){return Object(r.jsxs)(u.a,{container:!0,spacing:1,justify:"space-between",alignItems:"center",className:t.missingIngredientsGrid,children:[Object(r.jsx)(u.a,{item:!0,className:t.missingIngredientLeftGridCell,children:Object(r.jsx)(l.a,{label:e.name,classes:{root:t.missingIngredientItem,label:t.missingIngredientLabel},control:Object(r.jsx)(d.a,{className:t.missingIngredientCheckbox,checked:e.checked,onChange:function onChange(t){return function setIngredientChecked(e,t){var a=E;a.forEach((function(a){return a.checked=a===e?t:a.checked})),y("missingIngredients",a)}(e,t.target.checked)},color:M})})}),Object(r.jsx)(u.a,{item:!0,className:t.buttonGridCell,children:Object(r.jsx)(p.a,{type:"button",className:t.addIngredientButton,onClick:function onClick(){!function removeIngredient(e){var t=E.filter((function(t){return t!==e}));console.log(t),y("missingIngredients",t)}(e)},variant:"text",children:Object(r.jsx)(g.a,{className:t.removeIngredientButtonIcon,icon:j.e,size:"lg"})})})]},a+e.name)}))]})]})};C.defaultProps={isAdd:!1,isSecondary:!1},t.default=Object(O.b)(C,{onRedirecting:function onRedirecting(){return Object(r.jsx)(y.b,{})}})},156:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a(138),s=a(62),c=a(23),l=a(46),d=a(24),u=a(118),p=a(17),m=a(161),g=a(162),j=a(1132),h=a(1130),b=a(294),f=a(1131),x=a(33),O=a(28),y=a(18),S=a(275),v=a(32),C=a(153),_=(a(41),a(31)),k=a(276),P=a(115),I=a(277),E=Object(y.a)((function(e){return{plansTable:{maxHeight:"calc(100% - ".concat("55","px)")},pastPlanRow:{color:e.palette.text.disabled},goToPastPlansRow:{padding:"5px",textAlign:"center",lineHeight:"90%"},thCell:{fontSize:"1rem"},tableCell:{padding:"12px 16px",fontSize:"1rem",color:"inherit"},narrowCell:{padding:"12px 0 !important"},green:{color:e.palette.primary[e.palette.type]},infoText:{textAlign:"center",margin:"3rem 2rem",fontFamily:"Cookie",fontSize:"1.5rem",lineHeight:"1.6rem"}}}));t.default=Object(_.c)((function Plans(e){var t=E(),a=Object(v.a)().t,y=e.own,N=e.userId,w=Object(r.useState)(!1),M=Object(n.a)(w,2),D=M[0],B=M[1],L=Object(r.useState)(!1),T=Object(n.a)(L,2),A=T[0],q=T[1],R=Object(r.useState)([]),U=Object(n.a)(R,2),G=U[0],z=U[1],F=Object(r.useState)(!1),H=Object(n.a)(F,2),V=H[0],W=H[1],K=Object(r.useState)(null),Y=Object(n.a)(K,2),X=Y[0],J=Y[1],Z=Object(r.useState)(!1),Q=Object(n.a)(Z,2),$=Q[0],ee=Q[1],te=Object(r.useState)(!1),ae=Object(n.a)(te,2),ne=ae[0],ie=ae[1],re=Object(r.useState)(!1),oe=Object(n.a)(re,2),se=oe[0],ce=oe[1],le=Object(r.useState)(null),de=Object(n.a)(le,2),ue=de[0],pe=de[1],me=function fetchAndUpdatePlans(){Object(P.b)(N,(function(e){z(e),0===e.length&&ee(!0),X&&J(e.find((function(e){return e._id===X._id})))}))};Object(r.useEffect)(me,[N]);var ge=function openEditItemDialog(e){y&&(J(e),console.log(X,e,X===e),B(!0))},je=function getMealAvatar(e){var t;if(e.images.length>0){var a=function getMainImage(e){return e.images.find((function(e){return e.isMain}))||e.images[0]}(e);t=Object(i.jsx)(o.a,{alt:a.name,src:"http://localhost:5000"+a.path})}else t=Object(i.jsx)(o.a,{children:Object(i.jsx)(x.a,{icon:O.j})});return t};var he=function toggleHistory(e){ie((function(t){return!1===t?setTimeout((function(){e.target.scrollIntoView({behavior:"smooth",block:"center"})}),300):setTimeout((function(){e.target.scrollIntoView({behavior:"smooth",block:"end"})}),300),!t}))},be=Object(i.jsxs)(i.Fragment,{children:[0===G.length?Object(i.jsxs)(p.a,{className:t.infoText,children:[$?a("Currently nothing planned"):a("Loading")+"..."," "]}):Object(i.jsx)(m.a,{className:t.plansTable,children:Object(i.jsxs)(g.a,{"aria-label":"table of all plans",stickyHeader:!0,children:[Object(i.jsx)(j.a,{children:Object(i.jsxs)(s.a,{children:[Object(i.jsx)(c.a,{className:t.thCell,children:a("Plan")}),Object(i.jsx)(c.a,{align:"center",className:t.narrowCell+" "+t.thCell,children:a("Due Date")}),Object(i.jsx)(c.a,{align:"center",className:t.thCell,onClick:function onClick(){W(!0)},children:Object(i.jsxs)("span",{className:"fa-layers fa-fw",children:[Object(i.jsx)(x.a,{icon:O.g,transform:"grow-6"}),Object(i.jsx)(x.a,{icon:O.b,className:t.green,transform:"down-2"})]})})]})}),function getPlanRows(){var e=!1,n=[],r=[];G.forEach((function(o){var u=Object(i.jsxs)(s.a,{className:e?"":t.pastPlanRow,children:[Object(i.jsx)(c.a,{className:t.tableCell,children:o.connectedMeal?Object(i.jsxs)(l.a,{container:!0,spacing:1,justify:"space-between",alignItems:"center",children:[Object(i.jsx)(l.a,{item:!0,xs:9,onClick:function onClick(){ge(o)},children:o.title}),Object(i.jsx)(l.a,{item:!0,xs:3,onClick:function onClick(){!function openMealDetailView(e){pe(e),ce(!0)}(o.connectedMeal)},children:je(o.connectedMeal)})]}):Object(i.jsx)(d.a,{onClick:function onClick(){ge(o)},children:o.title})}),Object(i.jsx)(c.a,{onClick:function onClick(){ge(o)},align:"center",className:t.tableCell+" "+t.narrowCell,children:o.hasDate&&o.date?new Date(o.date).toLocaleDateString(a("dateLocale"),_.a):""}),Object(i.jsx)(c.a,{className:t.tableCell,align:"center",onClick:function onClick(){0===o.missingIngredients.length?ge(o):function openMissingIngredientDialog(e){y&&e.missingIngredients.length>0&&(J(e),q(!0))}(o)},children:Object(i.jsx)(x.a,{icon:o.gotEverything?O.b:O.h})})]},o._id);if(e)r.push(u);else{n.push(u);var p=new Date(o.date).setHours(0,0,0,0)<(new Date).setHours(0,0,0,0);(!o.hasDate||o.hasDate&&!p)&&(e=!0)}}));var o=[];return n.length>0&&(o.push(Object(i.jsx)(u.a,{style:{display:ne?"table-row-group":"none"},children:n})),o.push(Object(i.jsx)(u.a,{children:Object(i.jsx)(s.a,{children:Object(i.jsx)(c.a,{colSpan:3,className:t.goToPastPlansRow,onClick:he,children:ne?Object(i.jsx)(h.a,{color:"disabled"}):Object(i.jsxs)(i.Fragment,{children:[Object(i.jsx)(b.a,{}),Object(i.jsx)(f.a,{}),Object(i.jsx)(b.a,{})]})})},"openOrClosePlanHistoryButton")}))),o.push(Object(i.jsx)(u.a,{children:r})),o}()]})}),Object(i.jsx)(k.default,{planItem:X,closeDialog:function closeDialog(){J(null),q(!1)},onDoneEditing:me,open:A}),Object(i.jsx)(S.default,{open:D,planItem:X,closeDialog:function closeDialog(){J(null),B(!1)},onDoneEditing:me}),Object(i.jsx)(C.default,{open:se,meal:ue,closeDialog:function closeDialog(){pe(null),ce(!1)}})]}),fe=Object(i.jsx)(I.default,{userId:N,plans:G,onClose:function onClose(){W(!1),me()}});return V?fe:be}))},211:function(e,t,a){"use strict";a.r(t);var n=a(36),i=a(1),r=(a(0),a(398)),o=a(33),s=a(28),c=a(18),l=a(24),d=Object(c.a)((function(e){return{dragAccept:{borderColor:e.palette.primary.main},dragReject:{borderColor:e.palette.error.main},middleIcon:{margin:"auto",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)","&:hover":{color:e.palette.primary.main}}}}));function PhotoDropzone(e){var t=d(),a=e.multiple,c=e.dropZoneStyles,u=e.usePlusIcon,p=Object(r.a)({accept:["image/png","image/jpg","image/jpeg"],maxSize:10485760,multiple:a,onDrop:function onDrop(t,a,n){e.handleAcceptedFiles(t),e.handleRejectedFiles(a)}}),m=p.getRootProps,g=p.getInputProps,j=p.isDragAccept,h=p.isDragReject,b=null;return j&&(b+=t.dragAccept),h&&(b+=t.dragReject),Object(i.jsxs)(l.a,Object(n.a)(Object(n.a)({},m({className:"".concat(c," ").concat(b)})),{},{children:[Object(i.jsx)("input",Object(n.a)({},g())),e.children,u?Object(i.jsx)(l.a,{className:t.middleIcon,children:Object(i.jsx)(o.a,{icon:s.f,size:"2x"})}):null]}))}PhotoDropzone.defaultProps={multiple:!1,usePlusIcon:!1},t.default=PhotoDropzone},213:function(e,t,a){"use strict";a.d(t,"a",(function(){return useSnackbars}));var n=a(9),i=a(1),r=a(0),o=a(295),s=a(72),c=a(18),l=a(32),d=a(274),u=a(1144),p=Object(c.a)((function(e){return{snackbarOffset:{bottom:parseInt("55")+10+"px"},deleteSnackbar:{backgroundColor:e.palette.error[e.palette.type],width:"100%"},readdSnackbar:{backgroundColor:e.palette.primary[e.palette.type]}}}));function useSnackbars(e,t,a){var c=p(),m=Object(l.a)().t,g=Object(r.useState)(!1),j=Object(n.a)(g,2),h=j[0],b=j[1],f=Object(r.useState)(!1),x=Object(n.a)(f,2),O=x[0],y=x[1];return{Snackbars:Object(i.jsxs)(i.Fragment,{children:[Object(i.jsx)(o.a,{open:h,autoHideDuration:5e3,onClose:function onClose(){b(!1)},className:c.snackbarOffset,children:Object(i.jsx)(u.a,{action:Object(i.jsx)(s.a,{color:"inherit",size:"small",onClick:a,children:m("Undo")}),icon:Object(i.jsx)(d.default,{initialValue:5}),variant:"filled",className:c.deleteSnackbar,children:t?m("Meal {{title}} deleted",{title:t.title}):m("Meal deleted")})}),Object(i.jsx)(o.a,{open:O,autoHideDuration:2e3,onClose:function onClose(){y(!1)},message:t?m("Meal {{title}} re-added!",{title:t.title}):m("Meal re-added!"),className:c.snackbarOffset,ContentProps:{className:c.readdSnackbar}})]}),showDeletedItemMessage:function showDeletedItemMessage(){b(!0)},showReaddedItemMessage:function showReaddedItemMessage(){b(!1),y(!0)}}}},216:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(19),i=a.n(n),r=a(49),o=function fetchContactsOfUser(e,t){i.a.get("http://localhost:5000/settings/ofUser/"+e).then((function(a){var n=a.data;if(n){var i=n.contacts.sort((function(e,t){return e.name.toUpperCase()>t.name.toUpperCase()?1:-1}));t(i)}else Object(r.a)(e,fetchContactsOfUser(e,t))})).catch((function(e){console.log(e)}))}},263:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(28)),r=a(33),o=a(18),s=Object(o.a)((function(e){return{boxCloseX:{position:"absolute",right:"0",top:"0",transform:"translate(50%, -50%)",borderRadius:"100%",border:"none",padding:0,background:"transparent","&:hover":{color:e.palette.error.main,textDecoration:"underline",cursor:"pointer"},"&::last-child":{marginRight:"1.4rem"},"svg:hover":{borderRadius:"100%",boxShadow:"0 0 0.5rem "+e.palette.background.default}},closeXIcon:{fontSize:"1.5rem",lineHeight:"1.5rem"},white:{color:e.palette.background.default}}}));t.default=function BoxCloseX(e){var t=s(),a=e.onClick;return Object(n.jsx)("button",{type:"button",className:t.boxCloseX,onClick:a,children:Object(n.jsxs)("span",{className:"".concat(t.closeXIcon," fa-layers"),children:[Object(n.jsx)(r.a,{icon:i.d,className:t.white}),Object(n.jsx)(r.a,{icon:i.i,transform:"shrink--2"})]})})}},264:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(1123)),r=a(18),o=Object(r.a)((function(e){return{editButton:{border:"none",background:"transparent",cursor:"pointer",fontSize:"1.5rem",color:e.palette.background.default}}}));t.default=function EditButton(e){var t=o(),a=e.onClick;return Object(n.jsx)(i.a,{fontSize:"large",className:t.editButton,onClick:a})}},265:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(28)),r=a(33),o=a(18),s=Object(o.a)((function(e){return{boxCloseX:{position:"absolute",right:"0",top:"0",transform:"translate(-25%, 25%)",borderRadius:"100%",border:"1px solid "+e.palette.secondary.main,color:e.palette.secondary.main,padding:0,background:"transparent","&:hover":{color:e.palette.error.main,cursor:"pointer",boxShadow:"0 0 0.5rem "+e.palette.background.default}},closeXIcon:{fontSize:"1.5rem",lineHeight:"1.5rem"},xBackground:{color:e.palette.error.main},x:{color:e.palette.background.default}}}));t.default=function InnerBoxCloseX(e){var t=s(),a=e.onClick;return Object(n.jsx)("button",{type:"button",className:t.boxCloseX,onClick:a,children:Object(n.jsxs)("span",{className:"".concat(t.closeXIcon," fa-layers"),children:[Object(n.jsx)(r.a,{icon:i.d,className:t.x}),Object(n.jsx)(r.a,{icon:i.i,className:t.xBackground,transform:"shrink--2"})]})})}},266:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(28)),r=a(33),o=a(18),s=Object(o.a)((function(e){return{boxCloseX:function boxCloseX(t){return{position:"absolute",left:"0",top:"0",transform:"translate(25%, 25%)",borderRadius:"100%",border:"1px solid "+e.palette.secondary.main,color:e.palette.secondary.main,padding:0,background:"transparent",opacity:t.selected?"100%":"50%","&:hover":{color:e.palette.primary.main,cursor:"pointer",boxShadow:"0 0 0.5rem "+e.palette.background.default}}},closeXIcon:{fontSize:"1.5rem",lineHeight:"1.5rem"},xBackground:{color:e.palette.primary.main},x:{color:e.palette.background.default}}}));function InnerBoxSelection(e){var t=s(e),a=e.onClick;return Object(n.jsx)("button",{type:"button",className:t.boxCloseX,onClick:a,children:Object(n.jsxs)("span",{className:"".concat(t.closeXIcon," fa-layers"),children:[Object(n.jsx)(r.a,{icon:i.d,className:t.x}),Object(n.jsx)(r.a,{icon:i.c,className:t.xBackground,transform:"shrink--2"})]})})}InnerBoxSelection.defaultProps={selected:!1},t.default=InnerBoxSelection},267:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(72)),r=a(18),o=a(15),s=a(32),c=Object(r.a)({submitButton:{minWidth:"10rem",maxWidth:"60%",margin:"auto",display:"block"}});t.default=function LogoutButton(){var e=c(),t=Object(o.a)().logout,a=Object(s.a)().t;return Object(n.jsx)(i.a,{color:"secondary",variant:"contained",size:"large",className:e.submitButton,onClick:function onClick(){return t({returnTo:"http://localhost:3000/"})},children:a("Logout")})}},268:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(1124)),r=a(18),o=Object(r.a)({navButton:{border:"none",background:"transparent",cursor:"pointer"}});t.default=function SearchButton(e){var t=o(),a=e.onClick;return Object(n.jsx)(i.a,{fontSize:"large",className:t.navButton,onClick:a})}},269:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(18)),r=a(400),o=Object(i.a)((function(e){return{boxCloseX:{position:"absolute",right:"0",top:"0",transform:"translate(-25%, 25%)",padding:0,background:"transparent","&:hover":{cursor:"pointer"}},navButton:{border:"none",background:"transparent",cursor:"pointer"}}}));t.default=function SimpleCloseX(e){var t=o(),a=e.onClick;return Object(n.jsx)(r.a,{fontSize:"large",className:t.navButton,onClick:a})}},27:function(e,t,a){"use strict";var n=a(1),i=(a(0),a(42)),r=a(1179),o=a(1125),s=a(17),c=a(24),l=a(18),d=a.p+"static/media/Emealay_Logo_weiss.bed4eea8.png",u=a.p+"static/media/EMELAY_logoDark.b1bb74dd.png",p=a(83),m=Object(l.a)((function(e){return{topNav:function topNav(t){return{height:t.height,minHeight:t.height,justifyContent:"space-between",backgroundColor:t.secondary?e.palette.secondary.main:e.palette.primary.main}},rightSide:{display:"flex",alignItems:"center"},headline:{fontSize:"30px",lineHeight:"35px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",flexGrow:20,color:e.palette.background.default},logo:{marginRight:"1rem"}}})),g=function Navbar(e){var t=m(e),a=e.pageTitle,l=e.rightSideComponent,g=e.leftSideComponent,j=e.titleOnClick,h=Object(p.c)(),b=Object(i.a)().palette;return Object(n.jsx)(n.Fragment,{children:Object(n.jsx)(r.a,{position:"sticky",style:{maxWidth:"100%"},children:Object(n.jsxs)(o.a,{className:t.topNav,children:[g||Object(n.jsx)("img",{src:"dark"===b.type?u:d,className:t.logo,alt:"Emealay Logo",height:"35px",onClick:function onClick(){h.push("/home")}}),Object(n.jsx)(s.a,{onClick:j,variant:"h4",className:t.headline,children:a}),l&&Object(n.jsx)(c.a,{className:t.rightSide,children:l})]})})})};g.defaultProps={rightSideComponent:null,leftSideComponent:null,height:Object({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_AUTH0_CLIENT_ID:"OLWo3TleqtrIithLd6dU5GsyVL3lNoRI",REACT_APP_AUTH0_DOMAIN:"emealay.eu.auth0.com",REACT_APP_GRID_LIST_ROW_HEIGHT:"140",REACT_APP_LOGIN_REDIRECT:"http://localhost:3000/plans",REACT_APP_LOGOUT_REDIRECT:"http://localhost:3000/",REACT_APP_NAV_BOTTOM_HEIGHT:"55",REACT_APP_NAV_TOP_HEIGHT:"55",REACT_APP_SERVER_URL:"http://localhost:5000"}).REACT_APP_NAVBAR_TOP_HEIGHT};t.a=g},270:function(e,t,a){"use strict";a.r(t);var n=a(1),i=a(0),r=a(263),o=a(386),s=a.n(o),c=a(18),l=a(24),d=Object(c.a)({carouselBackdrop:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",backgroundColor:"rgba(0,0,0, 0.8)",zIndex:2e3},imageCarousel:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",maxHeight:"85vh",maxWidth:"90vw"},carouselItemImage:{maxHeight:"85vh",maxWidth:"90vw",borderRadius:"4px"}}),u=function ImageCarousel(e){var t=d(),a=e.images,o=e.startIndex,c=a.map((function(e,a){return Object(n.jsx)(l.a,{children:Object(n.jsx)("img",{src:"http://localhost:5000"+e.path,alt:e.name,className:t.carouselItemImage})},a)}));return Object(i.useEffect)((function(){var t=document.getElementById("carouselBackdrop");function handleBackDropClick(t){t.target===this&&e.dismissCarousel()}return t?(t.addEventListener("click",handleBackDropClick),function(){return t.removeEventListener("click",handleBackDropClick)}):null})),Object(n.jsx)(l.a,{id:"carouselBackdrop",className:t.carouselBackdrop,children:Object(n.jsxs)(l.a,{className:t.imageCarousel,children:[Object(n.jsx)(s.a,{autoPlay:!1,index:o,indicators:!0,children:c}),Object(n.jsx)(r.default,{onClick:e.dismissCarousel})]})})};u.defaultProps={startIndex:0},t.default=u},273:function(e,t,a){"use strict";a.r(t);var n=a(91),i=a(36),r=a(9),o=a(1),s=a(0),c=a(137),l=a(46),d=a(72),u=a(18),p=a(19),m=a.n(p),g=a(148),j=a(32),h=a(152),b=a(92),f=a(27),x=a(55),O=a(69),y=a(100),S=a(15),v=a(41),C=a(213),_=Object(u.a)((function(e){return{form:{padding:"1em 2.5em"},cancelButton:{textAlign:"left"},deleteButton:{textAlign:"center"},saveButton:{textAlign:"right"},actionButtonWrapper:{margin:"1.5em 0 0"},snackbarOffset:{bottom:parseInt("55")+10+"px"},deleteSnackbar:{backgroundColor:e.palette.error.light,width:"100%"},readdSnackbar:{backgroundColor:e.palette.primary.light}}})),k=!0,P="http://localhost:5000",I=function EditMeal(e){var t=_(),a=Object(j.a)().t,u=e.closeDialog,p=e.onDoneEditing,S=e.onDoneDelete,v=e.meal,I=e.open,E=Object(s.useState)(v),N=Object(r.a)(E,2),w=N[0],M=N[1],D=function updateMeal(e,t){M((function(a){return Object(i.a)(Object(i.a)({},a),{},Object(n.a)({},e,t))}))},B=Object(s.useState)(null),L=Object(r.a)(B,2),T=L[0],A=L[1],q=Object(s.useState)(null),R=Object(r.a)(q,2),U=R[0],G=R[1],z=Object(C.a)("Meal",U,(function undoDeletion(){A(null),m.a.post(P+"/meals/add",U).then((function(e){console.log("re-add request sent",e.data),V(),p()}))})),F=z.Snackbars,H=z.showDeletedItemMessage,V=z.showReaddedItemMessage;Object(s.useEffect)((function(){M(v)}),[v]);var W=function editAndClose(e){e.preventDefault(),function editMeal(){w.title&&m.a.post(P+"/meals/edit/"+w._id,w).then((function(e){console.log("edit request sent",e.data),p()}))}(),u()};return Object(o.jsxs)(o.Fragment,{children:[w?Object(o.jsxs)(c.a,{open:I,fullScreen:!0,onClose:u,TransitionComponent:y.SlidingTransitionLeft,children:[Object(o.jsx)(f.a,{pageTitle:a("Edit Meal"),leftSideComponent:Object(o.jsx)(x.default,{onClick:u}),rightSideComponent:w.title?Object(o.jsx)(O.default,{onClick:W,label:a("Done")}):"",secondary:k}),Object(o.jsxs)("form",{noValidate:!0,onSubmit:W,className:t.form,children:[Object(o.jsx)(h.default,{updateMeal:D,meal:w,isSecondary:k}),Object(o.jsxs)(l.a,{container:!0,spacing:0,justify:"space-between",alignItems:"center",className:t.actionButtonWrapper,children:[Object(o.jsx)(l.a,{item:!0,xs:!0,className:t.cancelButton,children:Object(o.jsx)(d.a,{type:"button",color:"secondary",variant:"outlined",onClick:u,children:a("Cancel")})}),Object(o.jsx)(l.a,{item:!0,xs:!0,className:t.deleteButton,children:Object(o.jsx)(g.default,{onClick:function deleteMeal(){m.a.post(P+"/meals/delete/"+w._id).then((function(e){G(w),A(setTimeout((function(){T&&Object(b.a)(w._id,(function(){D("images",[])}))}),1e4)),H(),console.log("delete request sent",e.data),p(),S(),u()}))}})}),Object(o.jsx)(l.a,{item:!0,xs:!0,className:t.saveButton,children:Object(o.jsx)(d.a,{type:"submit",disabled:!w.title,color:"secondary",variant:"contained",children:a("Save")})})]})]})]}):"",F]})};I.defaultProps={meal:null},t.default=Object(S.b)(I,{onRedirecting:function onRedirecting(){return Object(o.jsx)(v.b,{})}})},274:function(e,t,a){"use strict";a.r(t),a.d(t,"default",(function(){return CircularProgressWithLabel}));var n=a(9),i=a(1),r=a(0),o=a(24),s=a(403),c=a(17);function CircularProgressWithLabel(e){var t=e.initialValue,a=e.step,l=Object(r.useState)(t),d=Object(n.a)(l,2),u=d[0],p=d[1];return Object(r.useEffect)((function(){var e=setInterval((function(){console.log("reducing"),p((function(e){return e-a}))}),1e3);return function(){return clearInterval(e)}}),[]),Object(i.jsxs)(o.a,{position:"relative",display:"inline-flex",style:{alignSelf:"center"},children:[Object(i.jsx)(s.a,{variant:"determinate",style:{color:"white",height:"22px",width:"22px"},value:u/t*100}),Object(i.jsx)(o.a,{top:0,left:0,bottom:0,right:0,position:"absolute",display:"flex",alignItems:"center",justifyContent:"center",children:Object(i.jsx)(c.a,{variant:"caption",component:"div",children:u})})]})}CircularProgressWithLabel.defaultProps={step:1}},275:function(e,t,a){"use strict";a.r(t);var n=a(91),i=a(36),r=a(9),o=a(1),s=a(0),c=a(137),l=a(46),d=a(72),u=a(18),p=a(19),m=a.n(p),g=a(148),j=a(32),h=a(27),b=a(69),f=a(155),x=a(55),O=a(100),y=a(15),S=a(41),v=a(213),C=Object(u.a)((function(e){return{form:{padding:"1em 2.5em"},submitButton:{margin:"1.5em 0 0"},cancelButton:{textAlign:"left"},deleteButton:{textAlign:"center"},saveButton:{textAlign:"right"},actionButtonWrapper:{margin:"1.5em 0 0"},snackbarOffset:{bottom:parseInt("55")+10+"px"},deleteSnackbar:{backgroundColor:e.palette.error.light},readdSnackbar:{backgroundColor:e.palette.primary.light}}})),_=!0,k="http://localhost:5000",P=function EditPlanItem(e){var t=C(),a=Object(j.a)().t,u=Object(y.a)().user,p=e.closeDialog,S=e.onDoneEditing,P=e.planItem,I=e.open,E=Object(s.useState)(P),N=Object(r.a)(E,2),w=N[0],M=N[1],D=Object(s.useState)(null),B=Object(r.a)(D,2),L=B[0],T=B[1];Object(s.useEffect)((function(){if(P){var e=P;e.date=P.date?new Date(P.date):new Date,e.connectedMeal=P.connectedMeal||null,console.log("transfer",e),M(e)}}),[P]);var A=Object(v.a)("Plan",L,(function undoDeletion(){m.a.post(k+"/plans/add",L).then((function(e){console.log("re-add request sent",e.data),U(),S()}))})),q=A.Snackbars,R=A.showDeletedItemMessage,U=A.showReaddedItemMessage,G=function editAndClose(e){e.preventDefault(),function editPlan(){if(console.log("trying to edit",w.title),w.title&&u){var e={userId:u.sub,title:w.title,hasDate:w.hasDate,date:w.hasDate?new Date(w.date):null,gotEverything:w.gotEverything,missingIngredients:w.missingIngredients,connectedMealId:w.connectedMeal?w.connectedMeal._id:null};console.log("to become",e),m.a.post(k+"/plans/edit/"+w._id,e).then((function(e){console.log("edit request sent",e.data),S()}))}}(),p()};return Object(o.jsxs)(o.Fragment,{children:[w?Object(o.jsxs)(c.a,{open:I,fullScreen:!0,onClose:p,TransitionComponent:O.SlidingTransitionLeft,children:[Object(o.jsx)(h.a,{pageTitle:a("Edit Plan"),leftSideComponent:Object(o.jsx)(x.default,{onClick:p}),rightSideComponent:w.title?Object(o.jsx)(b.default,{onClick:G,label:a("Done")}):"",secondary:_}),Object(o.jsxs)("form",{noValidate:!0,onSubmit:G,className:t.form,children:[Object(o.jsx)(f.default,{planItem:w,updatePlanItem:function updatePlanItem(e,t){M((function(a){return Object(i.a)(Object(i.a)({},a),{},Object(n.a)({},e,t))}))},isSecondary:_}),Object(o.jsxs)(l.a,{container:!0,spacing:0,justify:"space-between",alignItems:"center",className:t.actionButtonWrapper,children:[Object(o.jsx)(l.a,{item:!0,xs:!0,className:t.cancelButton,children:Object(o.jsx)(d.a,{type:"button",color:"secondary",variant:"outlined",onClick:p,children:a("Cancel")})}),Object(o.jsx)(l.a,{item:!0,xs:!0,className:t.deleteButton,children:Object(o.jsx)(g.default,{onClick:function deletePlan(){m.a.post(k+"/plans/delete/"+w._id).then((function(e){T(w),R(),console.log("delete request sent",e.data),S(),p()}))}})}),Object(o.jsx)(l.a,{item:!0,xs:!0,className:t.saveButton,children:Object(o.jsx)(d.a,{type:"submit",disabled:!w.title,color:"secondary",variant:"contained",children:a("Save")})})]})]})]}):"",q]})};P.defaultProps={planItem:null},t.default=Object(y.b)(P,{onRedirecting:function onRedirecting(){return Object(o.jsx)(S.b,{})}})},276:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(137),o=a(1126),s=a(1127),c=a(1129),l=a(219),d=a(163),u=a(0),p=a.n(u),m=a(32),g=a(115),j=function MissingIngredients(e){var t=Object(m.a)().t,a=p.a.useState(),u=Object(n.a)(a,2)[1],j=p.a.useCallback((function(){return u({})}),[]),h=e.planItem,b=e.closeDialog,f=e.onDoneEditing,x=e.open;return h?Object(i.jsx)(r.a,{open:x,onClose:b,children:Object(i.jsxs)(o.a,{style:{minWidth:"200px",padding:"1.5rem 2rem"},children:[Object(i.jsx)(s.a,{style:{marginBottom:"1rem"},children:t("Missing Ingredients for {{plan}}",h.title)}),Object(i.jsx)(c.a,{children:h.missingIngredients.map((function(e){return Object(i.jsx)(l.a,{control:Object(i.jsx)(d.a,{checked:e.checked,onChange:function onChange(t){!function checkIngredient(e){Object(g.a)(h._id,e,(function(){f(),j()}))}(e,t.target.checked)}}),label:e.name})}))})]})}):null};j.defaultProps={planItem:null},t.default=j},277:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(135),o=a(160),s=a(406),c=a(218),l=a(407),d=a(17),u=a(400),p=a(0),m=a.n(p),g=a(32),j=a(115),h=a(18),b=a(31),f=Object(h.a)((function(e){return{listHeading:{fontFamily:"Cookie",fontSize:"1.5rem",lineHeight:"1.6rem"},infoText:{textAlign:"center",margin:"3rem 2rem",fontFamily:"Cookie",fontSize:"1.5rem",lineHeight:"1.6rem"},listItemTextTypography:{fontSize:"1rem"},indentedSubheader:{paddingLeft:"2rem",lineHeight:"2rem",color:e.palette.primary.main},primary:{color:e.palette.primary.main},secondary:{color:e.palette.secondary.main}}})),x=function ShoppingList(e){var t=f(),a=Object(g.a)().t,h=e.userId,x=e.onClose,O=e.plans,y=m.a.useState(),S=Object(n.a)(y,2)[1],v=m.a.useCallback((function(){return S({})}),[]),C=Object(p.useState)(O),_=Object(n.a)(C,2),k=_[0],P=_[1],I=Object(p.useState)(new Map),E=Object(n.a)(I,1)[0],N=function fetchAndUpdatePlans(){Object(j.b)(h,P)};Object(p.useEffect)((function(){O?P(O):N()}),[O]),Object(p.useEffect)((function(){k&&(E.clear(),k.forEach((function(e){if(!(new Date(e.date).setHours(0,0,0,0)<(new Date).setHours(0,0,0,0))&&e.missingIngredients&&e.missingIngredients.length>0){var t=e.date?new Date(e.date).setHours(0,0,0,0):"noDate",a=E.get(t);a?a.push(e):E.set(t,[e])}})),v())}),[k]);var w=function checkOrUncheck(e,t){console.log("checking",e),Object(j.a)(t,e,N)},M=function getIngredientListItems(e){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e.missingIngredients.map((function(n,s){return Object(i.jsx)(r.a,{dense:!0,onClick:function onClick(){w(n,e._id)},children:Object(i.jsx)(o.a,{className:t.listItemText,style:{paddingLeft:a?"2rem":"1rem",textDecoration:n.checked?"line-through":"none"},primary:n.name,primaryTypographyProps:{className:t.listItemTextTypography}})},s)}))};return Object(i.jsxs)(c.a,{children:[Object(i.jsxs)(r.a,{children:[Object(i.jsx)(o.a,{className:t.listHeading,children:a("Missing Ingredients")}),Object(i.jsx)(l.a,{onClick:x,children:Object(i.jsx)(u.a,{})})]}),k?0===E.size?Object(i.jsx)(d.a,{className:t.infoText,children:a("List is currently empty")}):function getListItems(){var e=[];return E.forEach((function(n,r){console.log(r,n),e.push(Object(i.jsxs)(i.Fragment,{children:[Object(i.jsxs)(s.a,{component:"div",children:[Object(i.jsx)("span",{className:t.secondary,children:"noDate"===r?a("Without Date"):new Date(r).toLocaleDateString(a("dateLocale"),b.a)}),1===n.length?Object(i.jsxs)(i.Fragment,{children:[" - ",Object(i.jsx)("span",{className:t.primary,children:n[0].title})]}):""]}),1===n.length?M(n[0]):n.map((function(e){return Object(i.jsxs)(i.Fragment,{children:[Object(i.jsx)(s.a,{className:t.indentedSubheader,component:"div",children:e.title}),M(e,!0)]})}))]}))})),e}():Object(i.jsx)(d.a,{className:t.infoText,children:a("Loading")+"..."})]})};x.defaultProps={plans:null},t.default=x},278:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a(15),s=a(137),c=a(24),l=a(72),d=a(404),u=a(1133),p=a(210),m=a(408),g=a(405),j=a(17),h=a(161),b=a(162),f=a(118),x=a(62),O=a(23),y=a(119),S=a(1134),v=a(1135),C=a(294),_=a(151),k=a(49),P=a(18),I=a(32),E=a(100),N=a(27),w=a(55),M=a(31),D=Object(P.a)((function(e){return{userProfile:{padding:"1rem 0",overflow:"auto"},table:{borderTop:Object(M.b)(e),margin:"1rem 0"},tableCell:{padding:"10px",backgroundColor:e.palette.background.default,"&:first-child":{width:"25%"},"&:last-child":{fontStyle:"italic"}},label:{color:e.palette.secondary.light,fontSize:"1rem"},deleteImage:{fontSize:"1rem",fontStyle:"italic",textAlign:"center",marginTop:"0.5rem",color:e.palette.error.main,textTransform:"none",width:"max-content",margin:"0.2rem auto",display:"block",padding:"0rem 0.5rem"},submitButton:{minWidth:"10rem",maxWidth:"60%",margin:"0 auto 1.5rem",display:"block"}}})),B=function EditProfile(e){var t=D(),a=Object(I.a)().t,o=e.userData,P=e.onUpdateUser,M=e.isSecondary,B=e.open,L=e.closeDialog,T=M?"primary":"secondary",A=o.user_metadata,q=o.user_id,R=o.name,U=o.email,G=Object(r.useState)(A.picture||o.picture),z=Object(n.a)(G,2),F=z[0],H=z[1],V=Object(r.useState)(A.nickname),W=Object(n.a)(V,2),K=W[0],Y=W[1],X=Object(r.useState)(R),J=Object(n.a)(X,2),Z=J[0],Q=J[1],$=Object(r.useState)(U),ee=Object(n.a)($,2),te=ee[0],ae=ee[1],ne=Object(r.useState)(!1),ie=Object(n.a)(ne,2),re=ie[0],oe=ie[1],se=Object(r.useState)(!1),ce=Object(n.a)(se,2),le=ce[0],de=ce[1],ue=Object(r.useState)(""),pe=Object(n.a)(ue,2),me=pe[0],ge=pe[1];Object(r.useEffect)((function(){oe(q.includes("oauth")),q.includes("google")&&ge("Google")}),[q]);var je=function updateProfileImageInMetadata(e){Object(k.e)(q,{picture:e},P)};return Object(i.jsxs)(s.a,{open:B,fullScreen:!0,onClose:L,TransitionComponent:E.SlidingTransitionLeft,children:[Object(i.jsx)(N.a,{pageTitle:a("Edit Profile"),leftSideComponent:Object(i.jsx)(w.default,{onClick:L}),secondary:M}),Object(i.jsxs)(c.a,{className:t.userProfile,children:[Object(i.jsx)(_.default,{uploadedImages:[F],imageName:a("profile picture of {{name}}",{name:Z}),category:"userProfile",categoryId:q,onChangeUploadedImages:function updateProfileImage(e){var t="http://localhost:5000"+e.path;H(t),je(t)},useSingleUploadOverlay:!0}),A.picture&&Object(i.jsx)(l.a,{disableRipple:!0,className:t.deleteImage,onClick:function deleteProfileImage(){je(null),H(o.picture)},children:a("Reset Image")}),re&&Object(i.jsxs)(d.a,{style:{marginTop:"1rem"},children:[Object(i.jsx)(u.a,{avatar:Object(i.jsx)(S.a,{}),title:a("Logged in via {{provider}}",{provider:me}),action:Object(i.jsx)(p.a,{"aria-label":"collapse info",onClick:function onClick(){de(!le)},children:le?Object(i.jsx)(v.a,{}):Object(i.jsx)(C.a,{})})}),Object(i.jsx)(m.a,{in:!le,timeout:"auto",unmountOnExit:!0,children:Object(i.jsxs)(g.a,{style:{paddingTop:0},children:[Object(i.jsx)(j.a,{variant:"body2",color:"textSecondary",component:"p",children:a("Since you are logged in via your {{provider}} account, you cannot change your data here. You can change the data directly in your {{provider}} account and it will be adopted on the next login.",{provider:me})}),Object(i.jsx)(j.a,{variant:"body2",color:"textSecondary",component:"p",children:a("You can, however, set a custom profile picture and nickname.")})]})})]}),Object(i.jsxs)("form",{name:"edit-user-form",onSubmit:function editAndClose(e){e.preventDefault(),function updateUserData(){var e={name:Z,email:te};Object(k.e)(q,{nickname:K},P),Object(k.d)(q,e,P)}(),L()},children:[Object(i.jsx)(h.a,{className:t.table,children:Object(i.jsx)(b.a,{"aria-label":"edit profile data",size:"small",children:Object(i.jsxs)(f.a,{children:[Object(i.jsxs)(x.a,{children:[Object(i.jsx)(O.a,{className:t.tableCell,children:Object(i.jsx)(j.a,{className:t.label,children:a("Name")})}),Object(i.jsx)(O.a,{className:t.tableCell,children:Object(i.jsx)(y.a,{value:Z,name:"name",onChange:function onChange(e){return Q(e.target.value)},label:a("Name"),disabled:re})})]}),Object(i.jsxs)(x.a,{children:[Object(i.jsx)(O.a,{className:t.tableCell,children:Object(i.jsx)(j.a,{className:t.label,children:a("Nickname")})}),Object(i.jsx)(O.a,{className:t.tableCell,children:Object(i.jsx)(y.a,{value:K,name:"nickname",onChange:function onChange(e){return Y(e.target.value)},label:a("Nickname")})})]}),Object(i.jsxs)(x.a,{children:[Object(i.jsx)(O.a,{className:t.tableCell,children:Object(i.jsx)(j.a,{className:t.label,children:a("Email address")})}),Object(i.jsx)(O.a,{className:t.tableCell,children:Object(i.jsx)(y.a,{prop:!0,value:te,name:"email",type:"email",onChange:function onChange(e){return ae(e.target.value)},label:a("example@company.com"),disabled:re})})]})]})})}),Object(i.jsx)(l.a,{color:T,type:"submit",variant:"contained",size:"large",className:t.submitButton,children:a("Save Changes")})]})]})]})};B.defaultProps={isSecondary:!1,open:!1},t.default=Object(o.b)(B)},279:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a(15),s=a(18),c=a(32),l=a(149),d=a(31),u=a(24),p=a(137),m=a(161),g=a(162),j=a(118),h=a(62),b=a(23),f=a(17),x=Object(s.a)((function(e){return{imageWrapper:{width:"8rem",height:"8rem",margin:"auto"},table:{borderTop:Object(d.b)(e),margin:"1rem 0"},tableCell:{padding:"10px","&:first-child":{width:"25%"}},label:{color:e.palette.secondary.light,fontSize:"1rem"}}})),O=function Profile(e){var t=x(),a=Object(c.a)().t,o=e.userData,s=o.user_metadata,d=o.name,O=o.email,y=Object(r.useState)(!1),S=Object(n.a)(y,2),v=S[0],C=S[1];return Object(i.jsxs)(i.Fragment,{children:[Object(i.jsx)(u.a,{className:t.imageWrapper,onClick:function onClick(){return C(!0)},children:Object(i.jsx)(l.default,{src:s.picture||o.picture,altText:"profile picture of ".concat(d)})}),Object(i.jsx)(p.a,{open:v,onClose:function onClose(){return C(!1)},children:Object(i.jsx)("img",{src:s.picture||o.picture,alt:"profile picture of ".concat(d)})}),Object(i.jsx)(m.a,{className:t.table,children:Object(i.jsx)(g.a,{"aria-label":"profile data",size:"small",children:Object(i.jsxs)(j.a,{children:[Object(i.jsxs)(h.a,{children:[Object(i.jsx)(b.a,{className:t.tableCell,children:Object(i.jsx)(f.a,{className:t.label,children:a("Name")})}),Object(i.jsx)(b.a,{className:t.tableCell,children:Object(i.jsx)(f.a,{className:t.text,children:d})})]}),Object(i.jsxs)(h.a,{children:[Object(i.jsx)(b.a,{className:t.tableCell,children:Object(i.jsx)(f.a,{className:t.label,children:a("Nickname")})}),Object(i.jsx)(b.a,{className:t.tableCell,children:Object(i.jsx)(f.a,{className:t.text,children:s.nickname})})]}),Object(i.jsxs)(h.a,{children:[Object(i.jsx)(b.a,{className:t.tableCell,children:Object(i.jsx)(f.a,{className:t.label,children:a("Email address")})}),Object(i.jsx)(b.a,{className:t.tableCell,children:Object(i.jsx)(f.a,{className:t.text,children:O})})]})]})})})]})};O.defaultProps={},t.default=Object(o.b)(O)},280:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(15)),r=a(24),o=a(161),s=a(162),c=a(118),l=a(62),d=a(23),u=a(17),p=a(1136),m=a(18),g=a(32),j=Object(m.a)((function(e){return{imageWrapper:{width:"8rem",height:"8rem",margin:"auto"},table:{borderTop:"1px solid rgba(224, 224, 224, 1)",margin:"1rem 0"},tableCell:{padding:"12px 10px","&:first-child":{width:"25%"}},label:{color:e.palette.secondary.light,fontSize:"1rem"}}}));t.default=Object(i.b)((function ProfilePlaceholder(e){var t=j(),a=Object(g.a)().t;return Object(n.jsxs)(r.a,{className:t.userProfile,children:[Object(n.jsx)(r.a,{className:t.imageWrapper,children:Object(n.jsx)(p.a,{style:{fontSize:"8rem",color:"#bbbbbb"}})}),Object(n.jsx)(o.a,{className:t.table,children:Object(n.jsx)(s.a,{"aria-label":"profile data loading",size:"small",children:Object(n.jsxs)(c.a,{children:[Object(n.jsxs)(l.a,{children:[Object(n.jsx)(d.a,{className:t.tableCell,children:Object(n.jsx)(u.a,{className:t.label,children:a("Name")})}),Object(n.jsx)(d.a,{className:t.tableCell})]}),Object(n.jsxs)(l.a,{children:[Object(n.jsx)(d.a,{className:t.tableCell,children:Object(n.jsx)(u.a,{className:t.label,children:a("Nickname")})}),Object(n.jsx)(d.a,{className:t.tableCell})]}),Object(n.jsxs)(l.a,{children:[Object(n.jsx)(d.a,{className:t.tableCell,children:Object(n.jsx)(u.a,{className:t.label,children:a("Email address")})}),Object(n.jsx)(d.a,{className:t.tableCell})]})]})})})]})}))},281:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a.n(r),s=a(397),c=a.n(s),l=a(272),d=a(42),u=a(1141),p=a(409),m=a(24),g=a(154),j=a(27),h=a(15),b=a(83),f=a(49),x=a(55),O=a(32),y=a(41),S=a(156),v=Object(l.a)((function(e){return{contactsContent:{width:"100%"}}}));t.default=function ContactsContent(){var e=v(),t=Object(d.a)(),a=Object(O.a)().t,s=Object(h.a)(),l=s.user,C=s.isAuthenticated,_=s.isLoading,k=Object(b.d)().userId,P=Object(b.c)(),I=o.a.useState(null),E=Object(n.a)(I,2),N=E[0],w=E[1],M=o.a.useState(1),D=Object(n.a)(M,2),B=D[0],L=D[1];Object(r.useEffect)((function(){Object(f.c)(k,w)}),[k]);var T=function leftSideComponent(){return!_&&C&&l?Object(i.jsx)(x.default,{onClick:function onClick(){P.goBack()}}):null},A=function getTabs(){return Object(i.jsxs)(u.a,{value:B,onChange:function onChange(e,t){L(t)},indicatorColor:"secondary",textColor:"secondary",variant:"fullWidth",children:[Object(i.jsx)(p.a,{label:"Meals"}),Object(i.jsx)(p.a,{label:"Plans"})]})};return Object(i.jsx)(m.a,{className:e.contactsContent,children:N?Object(i.jsxs)(i.Fragment,{children:[Object(i.jsx)(j.a,{pageTitle:N.name,titleOnClick:function titleOnClick(){console.log("Open User Profile")},leftSideComponent:T()}),A(),Object(i.jsxs)(c.a,{axis:"rtl"===t.direction?"x-reverse":"x",index:B,onChangeIndex:L,children:[Object(i.jsx)(m.a,{role:"tabpanel",hidden:0!==B,dir:t.direction,children:Object(i.jsx)(g.default,{own:!1,userId:N.user_id})}),Object(i.jsx)(m.a,{role:"tabpanel",hidden:1!==B,dir:t.direction,children:Object(i.jsx)(S.default,{own:!1,userId:N.user_id})})]})]}):Object(i.jsxs)(i.Fragment,{children:[Object(i.jsx)(j.a,{pageTitle:a("Contacts"),leftSideComponent:T()}),A(),Object(i.jsx)(y.a,{})]})})}},282:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a(15),s=a(41),c=a(210),l=a(1138),d=a(1139),u=a(18),p=a(216),m=a(49),g=Object(u.a)((function(e){return{iconButtonInNavbar:{padding:"8px",marginRight:"-8px",borderRadius:"100%",backgroundColor:e.palette.background.default,"&:hover":{backgroundColor:e.palette.background.default}},addFriend:{color:e.palette.primary.main},removeFriend:{color:e.palette.error.main}}})),j=function FriendOrUnfriendButton(e){var t=g(),a=e.otherUser,s=e.afterUpdateContacts,u=e.contacts,j=Object(o.a)().user,h=Object(r.useState)(u),b=Object(n.a)(h,2),f=b[0],x=b[1],O=Object(r.useState)(!1),y=Object(n.a)(O,2),S=y[0],v=y[1],C=Object(r.useState)(!!u),_=Object(n.a)(C,2),k=_[0],P=_[1],I=function updateContacts(e){j&&Object(m.f)(j.sub,"contacts",e,!1,(function(){s&&s(),E()}))},E=function fetchContacts(){if(j){var e=j.sub;Object(p.a)(e,x)}};Object(r.useEffect)((function(){u||E()}),[j]),Object(r.useEffect)((function(){f&&j&&(v(f.some((function(e){return e.user_id===a.user_id}))),k||P(!0))}),[j,f]);return k?Object(i.jsx)(c.a,{edge:"end",className:e.inNavbar?t.iconButtonInNavbar:"",onClick:function onClick(){return S?function removeFriend(){var e=f.filter((function(e){return e.user_id!==a.user_id}));I(e)}():function addFriend(){var e=f;e.push(a),I(e)}()},children:S?Object(i.jsx)(l.a,{className:t.removeFriend}):Object(i.jsx)(d.a,{className:t.addFriend})}):null};j.defaultProps={afterUpdateContacts:null,contacts:null,inNavbar:!1},t.default=Object(o.b)(j,{onRedirecting:function onRedirecting(){return Object(i.jsx)(s.b,{})}})},283:function(e,t,a){"use strict";a.r(t);var n=a(9),i=a(1),r=a(0),o=a(138),s=a(24),c=a(135),l=a(292),d=a(160),u=a(407),p=a(293),m=a(1125),g=a(119),j=a(408),h=a(17),b=a(218),f=a(19),x=a.n(f),O=a(15),y=a(18),S=a(41),v=a(32),C=a(269),_=a(282),k=Object(y.a)((function(e){return{userSearchBox:{position:"absolute",backgroundColor:e.palette.background.default,zIndex:1200,top:0,left:0,width:"100%",height:"calc(100% - 55px)"},navBarTextInput:{backgroundColor:e.palette.primary.main},infoText:{textAlign:"center",margin:"3rem 2rem 1rem",fontFamily:"Cookie",fontSize:"2rem"},topNav:function topNav(t){return{height:t.height,minHeight:t.height,color:e.palette.background.default,justifyContent:"space-between",backgroundColor:t.secondary?e.palette.secondary.main:e.palette.primary.main}},rightSide:{display:"flex",alignItems:"center"},headline:{fontSize:"30px",lineHeight:"35px"},logo:{marginRight:"1rem"},flexdiv:{display:"flex",alignItems:"center"},searchInput:{color:e.palette.background.default},listItemText:{overflow:"hidden",textOverflow:"ellipsis",paddingRight:"0.5rem"},resultList:{height:"calc(100% - 55px)"}}})),P="http://localhost:5000";t.default=Object(O.b)((function UserSearch(e){var t=k(),a=Object(O.a)().user,f=Object(v.a)().t,y=Object(r.useState)([]),S=Object(n.a)(y,2),I=S[0],E=S[1],N=Object(r.useState)(""),w=Object(n.a)(N,2),M=w[0],D=w[1],B=e.closeSearch,L=e.open,T=e.contacts,A=e.afterUpdateContacts,q=e.openContact;Object(r.useEffect)((function(){!function getUsers(){M?x.a.get(P+"/users/fromQuery/"+M).then((function(e){console.log("result",e);var t=e.data;t=t.filter((function(e){return e.user_id!==a.sub})),E(t)})).catch((function(e){console.log(e.message)})):x.a.get(P+"/users/all/").then((function(e){console.log("result",e);var t=e.data;t=t.filter((function(e){return e.user_id!==a.sub})),E(t)})).catch((function(e){console.log(e.message)}))}()}),[M]);return Object(i.jsxs)(s.a,{className:t.userSearchBox,children:[Object(i.jsxs)(m.a,{className:t.topNav,children:[Object(i.jsx)(s.a,{className:t.flexdiv,children:Object(i.jsx)(g.a,{value:M,name:"query",className:t.searchInput,onChange:function onChange(e){return D(e.target.value)},label:"Query",autoFocus:!0})}),Object(i.jsx)(s.a,{className:t.rightSide,children:Object(i.jsx)(C.default,{onClick:B})})]}),Object(i.jsx)(j.a,{in:L&&I,className:t.resultList,children:0===I.length?Object(i.jsxs)(h.a,{className:t.infoText,children:[M?f("No results"):""," "]}):Object(i.jsxs)(b.a,{component:"nav",className:t.root,"aria-label":"u list",children:[function getListItems(){return I.map((function(e){var n=e.user_id,r=Object(i.jsx)(o.a,{alt:"profile picture of "+a.name,src:e.user_metadata.picture||e.picture});return Object(i.jsxs)(s.a,{children:[Object(i.jsxs)(c.a,{button:!0,onClick:function onClick(){q&&q(n)},children:[Object(i.jsx)(l.a,{children:r}),Object(i.jsx)(d.a,{primary:e.user_metadata.nickname||e.name,primaryTypographyProps:{className:t.listItemText}}),Object(i.jsx)(u.a,{children:Object(i.jsx)(_.default,{otherUser:e,contacts:T,afterUpdateContacts:A})})]}),Object(i.jsx)(p.a,{})]},n)}))}(),Object(i.jsx)(s.a,{})]})})]})}),{onRedirecting:function onRedirecting(){return Object(i.jsx)(S.b,{})}})},31:function(e,t,a){"use strict";a.d(t,"c",(function(){return c})),a.d(t,"b",(function(){return l})),a.d(t,"a",(function(){return d}));var n=a(1),i=(a(0),a(15)),r=a(11),o=a(41),s=a(133),c=function withLoginRequired(e){var t=window.location.search,a=new URLSearchParams(t).get("lang");return a&&s.b.language!==a&&s.a.some((function(e){return e.key===a}))&&s.b.changeLanguage(a).then((function(){})),Object(i.b)(e,{onRedirecting:function onRedirecting(){return Object(n.jsx)(o.b,{})}})},l=function muiTableBorder(e){return"1px solid\n ".concat("light"===e.palette.type?Object(r.i)(Object(r.d)(e.palette.divider,1),.88):Object(r.a)(Object(r.d)(e.palette.divider,1),.68))},d={year:"numeric",month:"numeric",day:"numeric"}},389:function(e){e.exports=JSON.parse('{"Meal":"Meal","Meals":"Meals","Plan":"Plan","Plans":"Plans","Social":"Social","Settings":"Settings","Edit Meal":"Edit Meal","Edit Plan":"Edit Plan","Edit Profile":"Edit Profile","Add Plan":"Add Plan","New Meal":"New Meal","New Plan":"New Plan","Meal deleted":"Meal deleted","Meal {{title}} deleted":"Meal {{title}} deleted","Meal re-added":"Meal re-added","Meal {{title}} re-added":"Meal {{title}} re-added","Plan deleted":"Plan deleted","Plan {{title}} deleted":"Plan {{title}} deleted","Plan re-added":"Plan re-added","Plan {{title}} re-added":"Plan {{title}} re-added","Add":"Add","Done":"Done","Share":"Share","Due Date":"Due Date","Got everything?":"Got everything?","Link to Recipe":"Link to Recipe","Meal Title":"Meal Title","Comment":"Comment","Undo":"Undo","Title":"Title","Date":"Date","Cancel":"Cancel","Save":"Save","Login":"Login","Logout":"Logout","dateLocale":"en-GB","Missing Ingredient":"Missing Ingredient","Please log in to use the app":"Please log in to use the app","Welcome to":"Welcome to","Looks like there are no meals here yet":"Looks like there are no meals here yet","Currently nothing planned":"Currently nothing planned","Loading":"Loading","No results":"No results","No contacts yet":"No contacts yet","Search for friends in the top right corner":"Search for friends in the top right corner","Contacts":"Contacts","Plan some meals":"Plan some meals","Language":"Language","Name":"Name","Nickname":"Nickname","Email address":"Email address","Email":"Email","Reset Image":"Reset Image","Save Changes":"Save Changes","profile picture of {{name}}":"profile picture of {{name}}","Logged in via {{provider}}":"Logged in via {{provider}}","Since you are logged in via your {{provider}} account, you cannot change your data here. You can change the data directly in your {{provider}} account and it will be adopted on the next login.":"Since you are logged in via your {{provider}} account, you cannot change your data here. You can change the data directly in your {{provider}} account and it will be adopted on the next login.","You can, however, set a custom profile picture and nickname.":"You can, however, set a custom profile picture and nickname.","Use dark mode?":"Use dark mode?"}')},390:function(e){e.exports=JSON.parse('{"Meal":"Meal","Meals":"Meals","Plan":"Plan","Plans":"Plans","Social":"Social","Settings":"Settings","Edit Meal":"Edit Meal","Edit Plan":"Edit Plan","Edit Profile":"Edit Profile","Add Plan":"Add Plan","New Meal":"New Meal","New Plan":"New Plan","Meal deleted":"Meal deleted","Meal {{title}} deleted":"Meal {{title}} deleted","Meal re-added":"Meal re-added","Meal {{title}} re-added":"Meal {{title}} re-added","Plan deleted":"Plan deleted","Plan {{title}} deleted":"Plan {{title}} deleted","Plan re-added":"Plan re-added","Plan {{title}} re-added":"Plan {{title}} re-added","Add":"Add","Done":"Done","Share":"Share","Due Date":"Due Date","Got everything?":"Got everything?","Link to Recipe":"Link to Recipe","Meal Title":"Meal Title","Comment":"Comment","Undo":"Undo","Title":"Title","Date":"Date","Cancel":"Cancel","Save":"Save","Login":"Login","Logout":"Logout","dateLocale":"en-US","Missing Ingredient":"Missing Ingredient","Please log in to use the app":"Please log in to use the app","Welcome to":"Welcome to","Looks like there are no meals here yet":"Looks like there are no meals here yet","Currently nothing planned":"Currently nothing planned","Loading":"Loading","No results":"No results","No contacts yet":"No contacts yet","Search for friends in the top right corner":"Search for friends in the top right corner","Contacts":"Contacts","Plan some meals":"Plan some meals","Language":"Language","Name":"Name","Nickname":"Nickname","Email address":"Email address","Email":"Email","Reset Image":"Reset Image","Save Changes":"Save Changes","profile picture of {{name}}":"profile picture of {{name}}","Logged in via {{provider}}":"Logged in via {{provider}}","Since you are logged in via your {{provider}} account, you cannot change your data here. You can change the data directly in your {{provider}} account and it will be adopted on the next login.":"Since you are logged in via your {{provider}} account, you cannot change your data here. You can change the data directly in your {{provider}} account and it will be adopted on the next login.","You can, however, set a custom profile picture and nickname.":"You can, however, set a custom profile picture and nickname.","Use dark mode?":"Use dark mode?"}')},391:function(e){e.exports=JSON.parse('{"Meal":"Repas","Meals":"Repas","Plan":"Plan","Plans":"Plans","Social":"Social","Settings":"Paramètres","Edit Meal":"Modifier le Repas","Edit Plan":"Modifier le Plan","Edit Profile":"Modifier le Profil","Add Plan":"Ajouter un Plan","New Meal":"Nouveau Repas","New Plan":"Nouveau Plan","Meal deleted":"Repas supprimé","Meal {{title}} deleted":"Repas {{title}} supprimé","Meal re-added":"Repas re-adjoint","Meal {{title}} re-added":"Repas {{title}} re-adjoint","Plan deleted":"Plan supprimé","Plan {{title}} deleted":"Plan {{title}} supprimé","Plan re-added":"Plan re-adjoint","Plan {{title}} re-added":"Plan {{title}} ré-adjoint","Add":"Ajouter","Done":"Terminé","Share":"Partager","Due Date":"Date d\'échéance","Got everything?":"Vous avez tout?","Link to Recipe":"Lien vers la recette","Meal Title":"Titre du repas","Comment":"Commentaire","Undo":"Annuler","Title":"Titre","Date":"Date","Cancel":"Annuler","Save":"Sauvegarder","Login":"Connexion","Logout":"Déconnexion","dateLocale":"fr-FR","Missing Ingredient":"Ingrédient Manquant","Please log in to use the app":"Veuillez vous connecter pour utiliser l\'application","Welcome to":"Bienvenue à","Looks like there are no meals here yet":"On dirait qu\'il n\'y a pas encore de repas ici","Currently nothing planned":"Actuellement rien de prévu","Loading":"Chargement","No results":"Aucun résultat","No contacts yet":"Pas encore de contacts","Search for friends in the top right corner":"Rechercher des amis dans le coin supérieur droit","Contacts":"Contacts","Plan some meals":"Planifier des repas","Language":"Langue","Name":"Nom","Nickname":"Surnom","Email address":"Adresse e-mail","Email":"Email","Reset Image":"Réinitialiser l\'image","Save Changes":"Sauvegarder","profile picture of {{name}}":"photo de profil de {{name}}","Logged in via {{provider}}":"Connecté via {{provider}}","Since you are logged in via your {{provider}} account, you cannot change your data here. You can change the data directly in your {{provider}} account and it will be adopted on the next login.":"Comme vous êtes connecté via votre compte {{provider}}, vous ne pouvez pas modifier vos données ici. Vous pouvez modifier les données directement dans votre compte {{provider}} et elles seront adoptées lors de la prochaine connexion.","You can, however, set a custom profile picture and nickname.":"Vous pouvez toutefois définir une photo de profil et un surnom personnalisés.","Use dark mode?":"mode sombre"}')},392:function(e){e.exports=JSON.parse('{"Meal":"Gericht","Meals":"Gerichte","Plan":"Plan","Plans":"Pläne","Social":"Kontakte","Settings":"Einstellungen","Edit Meal":"Gericht bearbeiten","Edit Plan":"Plan bearbeiten","Edit Profile":"Profil bearbeiten","Add Plan":"Plan hinzufügen","New Meal":"Gericht erstellen","New Plan":"Plan erstellen","Meal deleted":"Gericht gelöscht","Meal {{title}} deleted":"Gericht {{title}} gelöscht","Meal re-added":"Gericht wiederhergestellt","Meal {{title}} re-added":"Gericht {{title}} wiederhergestellt","Plan deleted":"Plan gelöscht","Plan {{title}} deleted":"Plan {{title}} gelöscht","Plan re-added":"Plan wiederhergestellt","Plan {{title}} re-added":"Plan {{title}} wiederhergestellt","Add":"Hinzufügen","Done":"Fertig","Share":"Teilen","Due Date":"Datum","Got everything?":"Alles da?","Link to Recipe":"Link zum Rezept","Meal Title":"Name des Gerichts","Comment":"Kommentar","Undo":"Rückgängig","Title":"Titel","Date":"Datum","Cancel":"Abbrechen","Save":"Speichern","Login":"Anmelden","Logout":"Abmelden","dateLocale":"de-DE","Missing Ingredient":"Fehlende Zutat","Please log in to use the app":"Bitte melden Sie sich an, um die App zu benutzen","Welcome to":"Willkommen bei","Plan some meals":"Mit dem Planen loslegen","Looks like there are no meals here yet":"Hier sind gerade keine Gerichte zu sehen","Currently nothing planned":"Gerade ist nichts geplant","Loading":"Lädt","No results":"Keine Ergebnisse","No contacts yet":"Bisher keine Kontakte","Search for friends in the top right corner":"Zum Suchen in die Ecke rechts oben klicken","Contacts":"Kontakte","Language":"Sprache","Name":"Name","Nickname":"Spitzname","Email address":"E-Mail-Adresse","Email":"E-Mail","Reset Image":"Bild zurücksetzen","Save Changes":"Speichern","profile picture of {{name}}":"Profilbild von {{name}}","Logged in via {{provider}}":"Über {{provider}} eingeloggt","Since you are logged in via your {{provider}} account, you cannot change your data here. You can change the data directly in your {{provider}} account and it will be adopted on the next login.":"Weil Sie mit Ihrem {{provider}}-Konto eingeloggt sind, können Sie Ihre Daten hier nicht ändern. Sie können stattdessen die Daten direkt in Ihrem {{provider}}-Konto ändern und sie werden beim nächsten Login übernommen.","You can, however, set a custom profile picture and nickname.":"Sie können allerdings ein eigenes Profilbild hochladen und einen Spitznamen wählen.","Use dark mode?":"Dunkler Modus"}')},393:function(e){e.exports=JSON.parse('{"Meal":"Comida","Meals":"Comidas","Plan":"Plan","Plans":"Planes","Social":"Contactos","Settings":"Configuración","Edit Meal":"Editar la comida","Edit Plan":"Editar el plan","Edit Profile":"Editar el perfil","Add Plan":"Agregar nuevo plan","New Meal":"Agregar nueva comida","New Plan":"Agregar nuevo plan","Meal deleted":"Comida borrada","Meal {{title}} deleted":"Comida {{title}} borrada","Meal re-added":"Comida restablecida","Meal {{title}} re-added":"Comida {{title}} restablecida","Plan deleted":"Plan borrado","Plan {{title}} deleted":"Plan {{title}} borrado","Plan re-added":"Plan restablecido","Plan {{title}} re-added":"Plan {{title}} restablecido","Add":"Agregar","Done":"Listo","Share":"Compartir","Due Date":"Fecha","Got everything?":"completo?","Link to Recipe":"Enlace de receta","Meal Title":"Titulo de la comida","Comment":"comentario","Undo":"Retroceder","Title":"Titulo","Date":"Fecha","Cancel":"Cancelar","Save":"Guardar","Login":"Iniciar","Logout":"Desconectar","dateLocale":"es-ES","Missing Ingredient":"Ingrediente Faltante","Please log in to use the app":"Por favor, inicie sesión para utilizar la aplicación","Welcome to":"Bienvenid@ a","Looks like there are no meals here yet":"Parece que todavía no hay comidas aquí","Currently nothing planned":"Actualmente nada planeado","Loading":"Cargando","No results":"Ningun resultado","No contacts yet":"Aún no hay contactos","Search for friends in the top right corner":"En la lupa encontrarás nuevos amigos","Contacts":"Contactos","Plan some meals":"Planificar algunas comidas","Language":"Idioma","Name":"Nombre","Nickname":"Apodo","Email address":"Correo electrónico","Email":"Correo electrónico","Reset Image":"Restablecer Imagen","Save Changes":"Guardar Cambios","profile picture of {{name}}":"foto de perfil de {{name}}","Logged in via {{provider}}":"Inició la sesión a través de {{provider}}","Since you are logged in via your {{provider}} account, you cannot change your data here. You can change the data directly in your {{provider}} account and it will be adopted on the next login.":"Como has iniciado sesión a través de tu cuenta de {{provider}}, no puedes cambiar tus datos aquí. Puedes cambiar los datos directamente en tu cuenta de {{provider}} y se adoptarán en el siguiente inicio de sesión.","You can, however, set a custom profile picture and nickname.":"Sin embargo, puedes establecer una imagen de perfil personalizada tanto como un apodo.","Use dark mode?":"Modo oscuro"}')},394:function(e){e.exports=JSON.parse('{"Meal":"Pasto","Meals":"Pasti","Plan":"Piano","Plans":"Piani","Social":"Contatti","Settings":"Impostazioni","Edit Meal":"Modifica Pasto","Edit Plan":"Modifica Piano","Edit Profile":"Modifica Profilo","Add Plan":"Aggiungi Piano","New Meal":"Nuovo Pasto","New Plan":"Nuovo Piano","Meal deleted":"Pasto cancellato","Meal {{title}} deleted":"Pasto {{title}} cancellato","Meal re-added":"Pasto reinserito","Meal {{title}} re-added":"Pasto {{title}} reinserito","Plan deleted":"Piano cancellato","Plan {{title}} deleted":"Piano {{title}} cancellato","Plan re-added":"Piano reinserito","Plan {{title}} re-added":"Piano {{title}} reinserito","Add":"Aggiungi","Done":"Fatto","Share":"Condividi","Due Date":"Scadenza","Got everything?":"Hai tutto?","Link to Recipe":"Link alla ricetta","Meal Title":"Titolo del pasto","Comment":"Commento","Undo":"Annullare","Title":"Titolo","Date":"Data","Cancel":"Annulla","Save":"Salva","Login":"Accedi","Logout":"Uscita ","dateLocale":"it","Missing Ingredient":"Ingrediente Mancante","Please log in to use the app":"Si prega di effettuare il login per utilizzare l\'applicazione","Welcome to":"Benvenuto a","Looks like there are no meals here yet":"Sembra che non ci siano ancora pasti qui","Currently nothing planned":"Attualmente non abbiamo pianificato nulla","Loading":"Caricamento","No results":"Nessun risultato","No contacts yet":"Non ci sono ancora contatti","Search for friends in the top right corner":"Cerca gli amici in alto a destra","Contacts":"Contatti","Plan some meals":"Pianifica alcuni pasti","Language":"Lingua","Name":"Nome","Nickname":"Soprannome","Email address":"Indirizzo email","Email":"Email","Reset Image":"Resetta Immagine","Save Changes":"Salva modifiche","profile picture of {{name}}":"foto del profilo di {{name}}","Logged in via {{provider}}":"Registrato tramite {{provider}}","Since you are logged in via your {{provider}} account, you cannot change your data here. You can change the data directly in your {{provider}} account and it will be adopted on the next login.":"Dato che sei collegato tramite il tuo account {{provider}}, non puoi cambiare i tuoi dati qui. Puoi cambiare i dati direttamente nel tuo account {{provider}} e saranno adottati al prossimo login.","You can, however, set a custom profile picture and nickname.":"Puoi, tuttavia, impostare un\'immagine di profilo personalizzata e un soprannome.","Use dark mode?":"modo scuro"}')},41:function(e,t,a){"use strict";a.d(t,"a",(function(){return d}));var n=a(1),i=(a(0),a(17)),r=a(403),o=a(27),s=a(18),c=a(32),l=Object(s.a)({infoText:{textAlign:"center",margin:"3rem 2rem 1rem",fontFamily:"Cookie",fontSize:"2rem"},loadingCircle:{display:"block",margin:"auto"}}),d=function LoadingBody(){var e=l(),t=Object(c.a)().t;return Object(n.jsxs)(n.Fragment,{children:[Object(n.jsxs)(i.a,{className:e.infoText,children:[t("Loading"),"..."]}),Object(n.jsx)(r.a,{className:e.loadingCircle})]})};t.b=function Loading(){return Object(n.jsxs)(n.Fragment,{children:[Object(n.jsx)(o.a,{pageTitle:"Emealay"}),Object(n.jsx)(d,{})]})}},424:function(e,t,a){e.exports=a(1116)},49:function(e,t,a){"use strict";a.d(t,"a",(function(){return o})),a.d(t,"d",(function(){return s})),a.d(t,"e",(function(){return c})),a.d(t,"c",(function(){return l})),a.d(t,"b",(function(){return d})),a.d(t,"f",(function(){return u}));var n=a(19),i=a.n(n),r="http://localhost:5000",o=function createNewSettingsForUser(e,t){console.log("creating new settings for user",e);var a={userId:e};i.a.post(r+"/settings/add/",a).then((function(a){console.log("result of adding settings for "+e,a),t&&t(a.data)})).catch((function(e){console.log(e)}))},s=function updateUser(e,t,a){i.a.put(r+"/users/update/"+e,t).then((function(e){console.log("updated user",e.data),a&&a(e.data)})).catch((function(e){console.log(e)}))},c=function updateUserMetadata(e,t,a){i.a.put(r+"/users/updateMetadata/"+e,t).then((function(e){console.log("updated user metadata",e.data),a&&a(e.data)})).catch((function(e){console.log(e)}))},l=function getUserById(e,t){i.a.get(r+"/users/byId/"+e).then((function(e){t&&t(e.data)})).catch((function(e){console.log(e)}))},d=function getSettingsOfUser(e,t){i.a.get(r+"/settings/ofUser/"+e).then((function(a){var n=a.data;n?t(n):o(e,(function(){return getSettingsOfUser(e,t)}))})).catch((function(e){console.log(e)}))},u=function updateUserSettingsForCategory(e,t,a,n,o){i.a.put(r+"/settings/updateSingleUserSetting/"+e,{key:t,value:a}).then((function(e){console.log("result from updateUser"+t,e),n&&n(),o&&o(e.data)}))}},55:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(1121)),r=a(18),o=Object(r.a)((function(e){return{backButton:{border:"none",background:"transparent",cursor:"pointer",fontSize:"29px",margin:"3px calc(0.5rem + 1px)",color:e.palette.background.default}}}));t.default=function BackButton(e){var t=o(),a=e.onClick;return Object(n.jsx)(i.a,{className:t.backButton,onClick:a})}},599:function(e,t,a){var n={"./Binary_Property/ASCII.js":600,"./Binary_Property/ASCII_Hex_Digit.js":601,"./Binary_Property/Alphabetic.js":602,"./Binary_Property/Any.js":603,"./Binary_Property/Assigned.js":604,"./Binary_Property/Bidi_Control.js":605,"./Binary_Property/Bidi_Mirrored.js":606,"./Binary_Property/Case_Ignorable.js":607,"./Binary_Property/Cased.js":608,"./Binary_Property/Changes_When_Casefolded.js":609,"./Binary_Property/Changes_When_Casemapped.js":610,"./Binary_Property/Changes_When_Lowercased.js":611,"./Binary_Property/Changes_When_NFKC_Casefolded.js":612,"./Binary_Property/Changes_When_Titlecased.js":613,"./Binary_Property/Changes_When_Uppercased.js":614,"./Binary_Property/Dash.js":615,"./Binary_Property/Default_Ignorable_Code_Point.js":616,"./Binary_Property/Deprecated.js":617,"./Binary_Property/Diacritic.js":618,"./Binary_Property/Emoji.js":619,"./Binary_Property/Emoji_Component.js":620,"./Binary_Property/Emoji_Modifier.js":621,"./Binary_Property/Emoji_Modifier_Base.js":622,"./Binary_Property/Emoji_Presentation.js":623,"./Binary_Property/Extended_Pictographic.js":624,"./Binary_Property/Extender.js":625,"./Binary_Property/Grapheme_Base.js":626,"./Binary_Property/Grapheme_Extend.js":627,"./Binary_Property/Hex_Digit.js":628,"./Binary_Property/IDS_Binary_Operator.js":629,"./Binary_Property/IDS_Trinary_Operator.js":630,"./Binary_Property/ID_Continue.js":631,"./Binary_Property/ID_Start.js":632,"./Binary_Property/Ideographic.js":633,"./Binary_Property/Join_Control.js":634,"./Binary_Property/Logical_Order_Exception.js":635,"./Binary_Property/Lowercase.js":636,"./Binary_Property/Math.js":637,"./Binary_Property/Noncharacter_Code_Point.js":638,"./Binary_Property/Pattern_Syntax.js":639,"./Binary_Property/Pattern_White_Space.js":640,"./Binary_Property/Quotation_Mark.js":641,"./Binary_Property/Radical.js":642,"./Binary_Property/Regional_Indicator.js":643,"./Binary_Property/Sentence_Terminal.js":644,"./Binary_Property/Soft_Dotted.js":645,"./Binary_Property/Terminal_Punctuation.js":646,"./Binary_Property/Unified_Ideograph.js":647,"./Binary_Property/Uppercase.js":648,"./Binary_Property/Variation_Selector.js":649,"./Binary_Property/White_Space.js":650,"./Binary_Property/XID_Continue.js":651,"./Binary_Property/XID_Start.js":652,"./General_Category/Cased_Letter.js":653,"./General_Category/Close_Punctuation.js":654,"./General_Category/Connector_Punctuation.js":655,"./General_Category/Control.js":656,"./General_Category/Currency_Symbol.js":657,"./General_Category/Dash_Punctuation.js":658,"./General_Category/Decimal_Number.js":659,"./General_Category/Enclosing_Mark.js":660,"./General_Category/Final_Punctuation.js":661,"./General_Category/Format.js":662,"./General_Category/Initial_Punctuation.js":663,"./General_Category/Letter.js":664,"./General_Category/Letter_Number.js":665,"./General_Category/Line_Separator.js":666,"./General_Category/Lowercase_Letter.js":667,"./General_Category/Mark.js":668,"./General_Category/Math_Symbol.js":669,"./General_Category/Modifier_Letter.js":670,"./General_Category/Modifier_Symbol.js":671,"./General_Category/Nonspacing_Mark.js":672,"./General_Category/Number.js":673,"./General_Category/Open_Punctuation.js":674,"./General_Category/Other.js":675,"./General_Category/Other_Letter.js":676,"./General_Category/Other_Number.js":677,"./General_Category/Other_Punctuation.js":678,"./General_Category/Other_Symbol.js":679,"./General_Category/Paragraph_Separator.js":680,"./General_Category/Private_Use.js":681,"./General_Category/Punctuation.js":682,"./General_Category/Separator.js":683,"./General_Category/Space_Separator.js":684,"./General_Category/Spacing_Mark.js":685,"./General_Category/Surrogate.js":686,"./General_Category/Symbol.js":687,"./General_Category/Titlecase_Letter.js":688,"./General_Category/Unassigned.js":689,"./General_Category/Uppercase_Letter.js":690,"./Script/Adlam.js":691,"./Script/Ahom.js":692,"./Script/Anatolian_Hieroglyphs.js":693,"./Script/Arabic.js":694,"./Script/Armenian.js":695,"./Script/Avestan.js":696,"./Script/Balinese.js":697,"./Script/Bamum.js":698,"./Script/Bassa_Vah.js":699,"./Script/Batak.js":700,"./Script/Bengali.js":701,"./Script/Bhaiksuki.js":702,"./Script/Bopomofo.js":703,"./Script/Brahmi.js":704,"./Script/Braille.js":705,"./Script/Buginese.js":706,"./Script/Buhid.js":707,"./Script/Canadian_Aboriginal.js":708,"./Script/Carian.js":709,"./Script/Caucasian_Albanian.js":710,"./Script/Chakma.js":711,"./Script/Cham.js":712,"./Script/Cherokee.js":713,"./Script/Chorasmian.js":714,"./Script/Common.js":715,"./Script/Coptic.js":716,"./Script/Cuneiform.js":717,"./Script/Cypriot.js":718,"./Script/Cyrillic.js":719,"./Script/Deseret.js":720,"./Script/Devanagari.js":721,"./Script/Dives_Akuru.js":722,"./Script/Dogra.js":723,"./Script/Duployan.js":724,"./Script/Egyptian_Hieroglyphs.js":725,"./Script/Elbasan.js":726,"./Script/Elymaic.js":727,"./Script/Ethiopic.js":728,"./Script/Georgian.js":729,"./Script/Glagolitic.js":730,"./Script/Gothic.js":731,"./Script/Grantha.js":732,"./Script/Greek.js":733,"./Script/Gujarati.js":734,"./Script/Gunjala_Gondi.js":735,"./Script/Gurmukhi.js":736,"./Script/Han.js":737,"./Script/Hangul.js":738,"./Script/Hanifi_Rohingya.js":739,"./Script/Hanunoo.js":740,"./Script/Hatran.js":741,"./Script/Hebrew.js":742,"./Script/Hiragana.js":743,"./Script/Imperial_Aramaic.js":744,"./Script/Inherited.js":745,"./Script/Inscriptional_Pahlavi.js":746,"./Script/Inscriptional_Parthian.js":747,"./Script/Javanese.js":748,"./Script/Kaithi.js":749,"./Script/Kannada.js":750,"./Script/Katakana.js":751,"./Script/Kayah_Li.js":752,"./Script/Kharoshthi.js":753,"./Script/Khitan_Small_Script.js":754,"./Script/Khmer.js":755,"./Script/Khojki.js":756,"./Script/Khudawadi.js":757,"./Script/Lao.js":758,"./Script/Latin.js":759,"./Script/Lepcha.js":760,"./Script/Limbu.js":761,"./Script/Linear_A.js":762,"./Script/Linear_B.js":763,"./Script/Lisu.js":764,"./Script/Lycian.js":765,"./Script/Lydian.js":766,"./Script/Mahajani.js":767,"./Script/Makasar.js":768,"./Script/Malayalam.js":769,"./Script/Mandaic.js":770,"./Script/Manichaean.js":771,"./Script/Marchen.js":772,"./Script/Masaram_Gondi.js":773,"./Script/Medefaidrin.js":774,"./Script/Meetei_Mayek.js":775,"./Script/Mende_Kikakui.js":776,"./Script/Meroitic_Cursive.js":777,"./Script/Meroitic_Hieroglyphs.js":778,"./Script/Miao.js":779,"./Script/Modi.js":780,"./Script/Mongolian.js":781,"./Script/Mro.js":782,"./Script/Multani.js":783,"./Script/Myanmar.js":784,"./Script/Nabataean.js":785,"./Script/Nandinagari.js":786,"./Script/New_Tai_Lue.js":787,"./Script/Newa.js":788,"./Script/Nko.js":789,"./Script/Nushu.js":790,"./Script/Nyiakeng_Puachue_Hmong.js":791,"./Script/Ogham.js":792,"./Script/Ol_Chiki.js":793,"./Script/Old_Hungarian.js":794,"./Script/Old_Italic.js":795,"./Script/Old_North_Arabian.js":796,"./Script/Old_Permic.js":797,"./Script/Old_Persian.js":798,"./Script/Old_Sogdian.js":799,"./Script/Old_South_Arabian.js":800,"./Script/Old_Turkic.js":801,"./Script/Oriya.js":802,"./Script/Osage.js":803,"./Script/Osmanya.js":804,"./Script/Pahawh_Hmong.js":805,"./Script/Palmyrene.js":806,"./Script/Pau_Cin_Hau.js":807,"./Script/Phags_Pa.js":808,"./Script/Phoenician.js":809,"./Script/Psalter_Pahlavi.js":810,"./Script/Rejang.js":811,"./Script/Runic.js":812,"./Script/Samaritan.js":813,"./Script/Saurashtra.js":814,"./Script/Sharada.js":815,"./Script/Shavian.js":816,"./Script/Siddham.js":817,"./Script/SignWriting.js":818,"./Script/Sinhala.js":819,"./Script/Sogdian.js":820,"./Script/Sora_Sompeng.js":821,"./Script/Soyombo.js":822,"./Script/Sundanese.js":823,"./Script/Syloti_Nagri.js":824,"./Script/Syriac.js":825,"./Script/Tagalog.js":826,"./Script/Tagbanwa.js":827,"./Script/Tai_Le.js":828,"./Script/Tai_Tham.js":829,"./Script/Tai_Viet.js":830,"./Script/Takri.js":831,"./Script/Tamil.js":832,"./Script/Tangut.js":833,"./Script/Telugu.js":834,"./Script/Thaana.js":835,"./Script/Thai.js":836,"./Script/Tibetan.js":837,"./Script/Tifinagh.js":838,"./Script/Tirhuta.js":839,"./Script/Ugaritic.js":840,"./Script/Vai.js":841,"./Script/Wancho.js":842,"./Script/Warang_Citi.js":843,"./Script/Yezidi.js":844,"./Script/Yi.js":845,"./Script/Zanabazar_Square.js":846,"./Script_Extensions/Adlam.js":847,"./Script_Extensions/Ahom.js":848,"./Script_Extensions/Anatolian_Hieroglyphs.js":849,"./Script_Extensions/Arabic.js":850,"./Script_Extensions/Armenian.js":851,"./Script_Extensions/Avestan.js":852,"./Script_Extensions/Balinese.js":853,"./Script_Extensions/Bamum.js":854,"./Script_Extensions/Bassa_Vah.js":855,"./Script_Extensions/Batak.js":856,"./Script_Extensions/Bengali.js":857,"./Script_Extensions/Bhaiksuki.js":858,"./Script_Extensions/Bopomofo.js":859,"./Script_Extensions/Brahmi.js":860,"./Script_Extensions/Braille.js":861,"./Script_Extensions/Buginese.js":862,"./Script_Extensions/Buhid.js":863,"./Script_Extensions/Canadian_Aboriginal.js":864,"./Script_Extensions/Carian.js":865,"./Script_Extensions/Caucasian_Albanian.js":866,"./Script_Extensions/Chakma.js":867,"./Script_Extensions/Cham.js":868,"./Script_Extensions/Cherokee.js":869,"./Script_Extensions/Chorasmian.js":870,"./Script_Extensions/Common.js":871,"./Script_Extensions/Coptic.js":872,"./Script_Extensions/Cuneiform.js":873,"./Script_Extensions/Cypriot.js":874,"./Script_Extensions/Cyrillic.js":875,"./Script_Extensions/Deseret.js":876,"./Script_Extensions/Devanagari.js":877,"./Script_Extensions/Dives_Akuru.js":878,"./Script_Extensions/Dogra.js":879,"./Script_Extensions/Duployan.js":880,"./Script_Extensions/Egyptian_Hieroglyphs.js":881,"./Script_Extensions/Elbasan.js":882,"./Script_Extensions/Elymaic.js":883,"./Script_Extensions/Ethiopic.js":884,"./Script_Extensions/Georgian.js":885,"./Script_Extensions/Glagolitic.js":886,"./Script_Extensions/Gothic.js":887,"./Script_Extensions/Grantha.js":888,"./Script_Extensions/Greek.js":889,"./Script_Extensions/Gujarati.js":890,"./Script_Extensions/Gunjala_Gondi.js":891,"./Script_Extensions/Gurmukhi.js":892,"./Script_Extensions/Han.js":893,"./Script_Extensions/Hangul.js":894,"./Script_Extensions/Hanifi_Rohingya.js":895,"./Script_Extensions/Hanunoo.js":896,"./Script_Extensions/Hatran.js":897,"./Script_Extensions/Hebrew.js":898,"./Script_Extensions/Hiragana.js":899,"./Script_Extensions/Imperial_Aramaic.js":900,"./Script_Extensions/Inherited.js":901,"./Script_Extensions/Inscriptional_Pahlavi.js":902,"./Script_Extensions/Inscriptional_Parthian.js":903,"./Script_Extensions/Javanese.js":904,"./Script_Extensions/Kaithi.js":905,"./Script_Extensions/Kannada.js":906,"./Script_Extensions/Katakana.js":907,"./Script_Extensions/Kayah_Li.js":908,"./Script_Extensions/Kharoshthi.js":909,"./Script_Extensions/Khitan_Small_Script.js":910,"./Script_Extensions/Khmer.js":911,"./Script_Extensions/Khojki.js":912,"./Script_Extensions/Khudawadi.js":913,"./Script_Extensions/Lao.js":914,"./Script_Extensions/Latin.js":915,"./Script_Extensions/Lepcha.js":916,"./Script_Extensions/Limbu.js":917,"./Script_Extensions/Linear_A.js":918,"./Script_Extensions/Linear_B.js":919,"./Script_Extensions/Lisu.js":920,"./Script_Extensions/Lycian.js":921,"./Script_Extensions/Lydian.js":922,"./Script_Extensions/Mahajani.js":923,"./Script_Extensions/Makasar.js":924,"./Script_Extensions/Malayalam.js":925,"./Script_Extensions/Mandaic.js":926,"./Script_Extensions/Manichaean.js":927,"./Script_Extensions/Marchen.js":928,"./Script_Extensions/Masaram_Gondi.js":929,"./Script_Extensions/Medefaidrin.js":930,"./Script_Extensions/Meetei_Mayek.js":931,"./Script_Extensions/Mende_Kikakui.js":932,"./Script_Extensions/Meroitic_Cursive.js":933,"./Script_Extensions/Meroitic_Hieroglyphs.js":934,"./Script_Extensions/Miao.js":935,"./Script_Extensions/Modi.js":936,"./Script_Extensions/Mongolian.js":937,"./Script_Extensions/Mro.js":938,"./Script_Extensions/Multani.js":939,"./Script_Extensions/Myanmar.js":940,"./Script_Extensions/Nabataean.js":941,"./Script_Extensions/Nandinagari.js":942,"./Script_Extensions/New_Tai_Lue.js":943,"./Script_Extensions/Newa.js":944,"./Script_Extensions/Nko.js":945,"./Script_Extensions/Nushu.js":946,"./Script_Extensions/Nyiakeng_Puachue_Hmong.js":947,"./Script_Extensions/Ogham.js":948,"./Script_Extensions/Ol_Chiki.js":949,"./Script_Extensions/Old_Hungarian.js":950,"./Script_Extensions/Old_Italic.js":951,"./Script_Extensions/Old_North_Arabian.js":952,"./Script_Extensions/Old_Permic.js":953,"./Script_Extensions/Old_Persian.js":954,"./Script_Extensions/Old_Sogdian.js":955,"./Script_Extensions/Old_South_Arabian.js":956,"./Script_Extensions/Old_Turkic.js":957,"./Script_Extensions/Oriya.js":958,"./Script_Extensions/Osage.js":959,"./Script_Extensions/Osmanya.js":960,"./Script_Extensions/Pahawh_Hmong.js":961,"./Script_Extensions/Palmyrene.js":962,"./Script_Extensions/Pau_Cin_Hau.js":963,"./Script_Extensions/Phags_Pa.js":964,"./Script_Extensions/Phoenician.js":965,"./Script_Extensions/Psalter_Pahlavi.js":966,"./Script_Extensions/Rejang.js":967,"./Script_Extensions/Runic.js":968,"./Script_Extensions/Samaritan.js":969,"./Script_Extensions/Saurashtra.js":970,"./Script_Extensions/Sharada.js":971,"./Script_Extensions/Shavian.js":972,"./Script_Extensions/Siddham.js":973,"./Script_Extensions/SignWriting.js":974,"./Script_Extensions/Sinhala.js":975,"./Script_Extensions/Sogdian.js":976,"./Script_Extensions/Sora_Sompeng.js":977,"./Script_Extensions/Soyombo.js":978,"./Script_Extensions/Sundanese.js":979,"./Script_Extensions/Syloti_Nagri.js":980,"./Script_Extensions/Syriac.js":981,"./Script_Extensions/Tagalog.js":982,"./Script_Extensions/Tagbanwa.js":983,"./Script_Extensions/Tai_Le.js":984,"./Script_Extensions/Tai_Tham.js":985,"./Script_Extensions/Tai_Viet.js":986,"./Script_Extensions/Takri.js":987,"./Script_Extensions/Tamil.js":988,"./Script_Extensions/Tangut.js":989,"./Script_Extensions/Telugu.js":990,"./Script_Extensions/Thaana.js":991,"./Script_Extensions/Thai.js":992,"./Script_Extensions/Tibetan.js":993,"./Script_Extensions/Tifinagh.js":994,"./Script_Extensions/Tirhuta.js":995,"./Script_Extensions/Ugaritic.js":996,"./Script_Extensions/Vai.js":997,"./Script_Extensions/Wancho.js":998,"./Script_Extensions/Warang_Citi.js":999,"./Script_Extensions/Yezidi.js":1e3,"./Script_Extensions/Yi.js":1001,"./Script_Extensions/Zanabazar_Square.js":1002,"./index.js":1003,"./unicode-version.js":1004};function webpackContext(e){var t=webpackContextResolve(e);return a(t)}function webpackContextResolve(e){if(!a.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}webpackContext.keys=function webpackContextKeys(){return Object.keys(n)},webpackContext.resolve=webpackContextResolve,e.exports=webpackContext,webpackContext.id=599},69:function(e,t,a){"use strict";a.r(t);var n=a(1),i=(a(0),a(17)),r=a(18),o=Object(r.a)({fontButton:{cursor:"pointer"}});t.default=function FontButton(e){var t=o(),a=e.onClick,r=e.label;return Object(n.jsx)(i.a,{className:t.fontButton,onClick:a,children:r})}},92:function(e,t,a){"use strict";a.d(t,"a",(function(){return o})),a.d(t,"b",(function(){return s}));var n=a(19),i=a.n(n),r="http://localhost:5000",o=function deleteAllImagesFromMeal(e,t){i.a.post(r+"/images/deleteAllImagesFromCategory/mealImages/"+e).then((function(a){console.log("deleted all images from planItem "+e+" after timeout",a),t()})).catch((function(e){console.log(e)}))},s=function fetchAndUpdateMealsFromUser(e,t){i.a.get(r+"/meals/ofUser/"+e).then((function(e){t(e.data)})).catch((function(e){console.log(e.message)}))}}},[[424,1,2]]]);