-
Notifications
You must be signed in to change notification settings - Fork 1
/
main.js
319 lines (267 loc) · 48.3 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./node_modules/css-loader/dist/cjs.js!./src/style.css":
/*!*************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js!./src/style.css ***!
\*************************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n// Imports\n\n\n\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! ../image/HomeChef-Logo.jpg */ \"./image/HomeChef-Logo.jpg\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! ../image/Background.png */ \"./image/Background.png\"), __webpack_require__.b);\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400&display=swap);\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"body {\\r\\n font-family: \\\"Poppins\\\", sans-serif;\\r\\n background-color: #f5f5f5;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.header-top {\\r\\n color: #fff;\\r\\n padding: 0.2rem;\\r\\n text-transform: uppercase;\\r\\n font-size: 0.5rem;\\r\\n}\\r\\n\\r\\n.foodCount {\\r\\n margin: 0.5rem;\\r\\n}\\r\\n\\r\\n.logo {\\r\\n border-radius: 50%;\\r\\n border: 1px solid white;\\r\\n padding: 0.6rem;\\r\\n}\\r\\n\\r\\n.logo h1 {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.log a {\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n.Mealapp {\\r\\n height: 200px;\\r\\n background: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") no-repeat center;\\r\\n}\\r\\n\\r\\n.header-middle {\\r\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");\\r\\n background-size: contain;\\r\\n padding-bottom: 2rem;\\r\\n background-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.header-middle h1 {\\r\\n margin: 0;\\r\\n font-weight: 200;\\r\\n font-family: 'Average', sans-serif;\\r\\n font-size: 3rem;\\r\\n letter-spacing: 0.5rem;\\r\\n}\\r\\n\\r\\n.header-middle p {\\r\\n font-size: 3rem;\\r\\n margin-bottom: 1.5rem;\\r\\n font-weight: bold;\\r\\n color: #667eea;\\r\\n font-family: 'Allison', sans-serif;\\r\\n}\\r\\n\\r\\n.description {\\r\\n text-align: center;\\r\\n margin-left: 425px;\\r\\n}\\r\\n\\r\\n.list {\\r\\n display: flex;\\r\\n font-family: bold;\\r\\n font-size: 1rem;\\r\\n margin-left: 500px;\\r\\n color: white;\\r\\n}\\r\\n\\r\\nul {\\r\\n list-style: none;\\r\\n}\\r\\n\\r\\n#ingredientsUl {\\r\\n list-style: none;\\r\\n}\\r\\n\\r\\nnav ul li {\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.footer-reserved li a {\\r\\n font-family: bold;\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\n.pt-2 li a {\\r\\n font-size: 2.5rem;\\r\\n padding-right: 2rem;\\r\\n font-weight: bold;\\r\\n color: black;\\r\\n font-family: 'Average', sans-serif;\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n.pt-2 li a:hover {\\r\\n color: #667eea;\\r\\n transition: all ease 0.3s;\\r\\n}\\r\\n\\r\\nmain {\\r\\n padding: 0 2rem;\\r\\n}\\r\\n\\r\\nimg {\\r\\n width: 100%;\\r\\n border-radius: 10px;\\r\\n box-shadow: 1px 1px 1px 1px rgb(247, 252, 0);\\r\\n}\\r\\n\\r\\n.meal {\\r\\n width: 90%;\\r\\n}\\r\\n\\r\\n.meal-list {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-around;\\r\\n padding-top: 2rem;\\r\\n}\\r\\n\\r\\n.meal-body {\\r\\n height: 60px;\\r\\n}\\r\\n\\r\\n.meal-list li {\\r\\n list-style: none;\\r\\n width: 30%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n margin-bottom: 3rem;\\r\\n}\\r\\n\\r\\n.likes {\\r\\n text-align: end;\\r\\n}\\r\\n\\r\\n.comments {\\r\\n padding: -0.3rem;\\r\\n background-color: #317224;\\r\\n color: #fff;\\r\\n font-size: 1rem;\\r\\n border-radius: 5px;\\r\\n width: 100%;\\r\\n cursor: pointer;\\r\\n border: #667eea 1px solid;\\r\\n}\\r\\n\\r\\n#comment {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n border: 1px solid black;\\r\\n padding: 0.5rem 1rem;\\r\\n}\\r\\n\\r\\n.comments:hover {\\r\\n background-color: #eaeaea;\\r\\n color: black;\\r\\n transition: all ease 0.3s;\\r\\n}\\r\\n\\r\\n.fa-heart {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.fa-heart.active {\\r\\n color: rgb(128, 0, 0);\\r\\n}\\r\\n\\r\\ni,\\r\\nbutton {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/* footer */\\r\\nfooter {\\r\\n background: #667eea;\\r\\n height: 10px;\\r\\n padding: 2.5rem 30rem;\\r\\n}\\r\\n\\r\\n.footer-reserved {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n align-items: end;\\r\\n}\\r\\n\\r\\n.footer-reserved li {\\r\\n font-weight: bold;\\r\\n font-size: 1rem;\\r\\n margin-right: 0.5rem;\\r\\n}\\r\\n\\r\\n.fav-btn {\\r\\n background-color: transparent;\\r\\n border: none;\\r\\n font-size: 1.2rem;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.modal {\\r\\n width: 85vw;\\r\\n min-height: 100vh;\\r\\n border: #667eea 2px solid;\\r\\n padding: 1rem;\\r\\n}\\r\\n\\r\\n.modal h2 {\\r\\n font-size: 2.5rem;\\r\\n margin: 0.5rem;\\r\\n}\\r\\n\\r\\n.modal-header-img {\\r\\n align-items: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.modal-header-img img {\\r\\n width: 500px;\\r\\n height: 500px;\\r\\n}\\r\\n\\r\\n.recipe-instrruction {\\r\\n word-break: break-word;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n display: -webkit-box;\\r\\n -webkit-line-clamp: 20;\\r\\n -webkit-box-orient: vertical;\\r\\n}\\r\\n\\r\\n.description-header {\\r\\n font-weight: bolder;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.left,\\r\\n.right {\\r\\n width: 50%;\\r\\n}\\r\\n\\r\\n.close {\\r\\n border: none;\\r\\n font-size: 2rem;\\r\\n background: transparent;\\r\\n}\\r\\n\\r\\nform {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n width: 40%;\\r\\n}\\r\\n\\r\\n.submit-comment {\\r\\n border: 1px solid #6d8347;\\r\\n background-color: #6d8347;\\r\\n color: #fff;\\r\\n padding: 0.5rem 2rem;\\r\\n}\\r\\n\\r\\n.submit-comment,\\r\\n#input-name,\\r\\n#comment {\\r\\n border: 1px solid #6d8347;\\r\\n padding: 0.7rem 1rem;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n\\r\\ninput:focus,\\r\\ntextarea:focus {\\r\\n outline: none !important;\\r\\n box-shadow: 0 0 10px #6d8347;\\r\\n}\\r\\n\\r\\n#comments-ul {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n#comments-ul li {\\r\\n width: 40%;\\r\\n text-align: start;\\r\\n align-self: center;\\r\\n}\\r\\n\\r\\n#comments-ul li p {\\r\\n margin: 0.2rem;\\r\\n}\\r\\n\\r\\n#alert {\\r\\n text-align: start;\\r\\n margin-bottom: 0.5rem;\\r\\n}\\r\\n\\r\\n.fa-heart:active {\\r\\n transform: translateY(2px);\\r\\n transition: all ease 0.3s;\\r\\n}\\r\\n\\r\\n.bold {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.heart-active {\\r\\n color: #6d8347;\\r\\n}\\r\\n\\r\\n.visible {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.hidden {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.pt-2 {\\r\\n padding-top: 2rem;\\r\\n}\\r\\n\\r\\n.m-05 {\\r\\n margin: 0.5rem;\\r\\n}\\r\\n\\r\\n.d-flex {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.flex-col {\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.align-center {\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.justify-center {\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.justify-between {\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.justify-end {\\r\\n justify-content: end;\\r\\n}\\r\\n\\r\\n.justify-around {\\r\\n justify-content: space-around;\\r\\n}\\r\\n\\r\\n.text-center {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.bg-green {\\r\\n background-color: #6d8347;\\r\\n}\\r\\n\\r\\n.bg-indigo {\\r\\n background-color: #667eea;\\r\\n}\\r\\n\\r\\n.bg-darkGray {\\r\\n background-color: #eaeaea;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 680px) {\\r\\n .meal-list li {\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n header {\\r\\n margin-top: 2rem;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n .header-top {\\r\\n margin-top: 2rem;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n .header-middle {\\r\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");\\r\\n background-size: cover;\\r\\n }\\r\\n\\r\\n .d-flex {\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .list {\\r\\n margin-left: 20px;\\r\\n }\\r\\n\\r\\n footer {\\r\\n background: #667eea;\\r\\n height: 50px;\\r\\n }\\r\\n\\r\\n .footer-reserved li {\\r\\n text-align: center;\\r\\n margin-right: 200px;\\r\\n }\\r\\n\\r\\n .footer-reserved li a {\\r\\n margin-right: 200px;\\r\\n }\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mealapp/./src/style.css?./node_modules/css-loader/dist/cjs.js");
/***/ }),
/***/ "./node_modules/css-loader/dist/runtime/api.js":
/*!*****************************************************!*\
!*** ./node_modules/css-loader/dist/runtime/api.js ***!
\*****************************************************/
/***/ ((module) => {
eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n//# sourceURL=webpack://mealapp/./node_modules/css-loader/dist/runtime/api.js?");
/***/ }),
/***/ "./node_modules/css-loader/dist/runtime/getUrl.js":
/*!********************************************************!*\
!*** ./node_modules/css-loader/dist/runtime/getUrl.js ***!
\********************************************************/
/***/ ((module) => {
eval("\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n\n if (!url) {\n return url;\n }\n\n url = String(url.__esModule ? url.default : url); // If url is already wrapped in quotes, remove them\n\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n\n return url;\n};\n\n//# sourceURL=webpack://mealapp/./node_modules/css-loader/dist/runtime/getUrl.js?");
/***/ }),
/***/ "./node_modules/css-loader/dist/runtime/noSourceMaps.js":
/*!**************************************************************!*\
!*** ./node_modules/css-loader/dist/runtime/noSourceMaps.js ***!
\**************************************************************/
/***/ ((module) => {
eval("\n\nmodule.exports = function (i) {\n return i[1];\n};\n\n//# sourceURL=webpack://mealapp/./node_modules/css-loader/dist/runtime/noSourceMaps.js?");
/***/ }),
/***/ "./src/style.css":
/*!***********************!*\
!*** ./src/style.css ***!
\***********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/insertBySelector.js */ \"./node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"./node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_style_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!./style.css */ \"./node_modules/css-loader/dist/cjs.js!./src/style.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_style_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_style_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _node_modules_css_loader_dist_cjs_js_style_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _node_modules_css_loader_dist_cjs_js_style_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://mealapp/./src/style.css?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
/*!****************************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
\****************************************************************************/
/***/ ((module) => {
eval("\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n//# sourceURL=webpack://mealapp/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js":
/*!********************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***!
\********************************************************************/
/***/ ((module) => {
eval("\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;\n\n//# sourceURL=webpack://mealapp/./node_modules/style-loader/dist/runtime/insertBySelector.js?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js":
/*!**********************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***!
\**********************************************************************/
/***/ ((module) => {
eval("\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;\n\n//# sourceURL=webpack://mealapp/./node_modules/style-loader/dist/runtime/insertStyleElement.js?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js":
/*!**********************************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***!
\**********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;\n\n//# sourceURL=webpack://mealapp/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js":
/*!***************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***!
\***************************************************************/
/***/ ((module) => {
eval("\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;\n\n//# sourceURL=webpack://mealapp/./node_modules/style-loader/dist/runtime/styleDomAPI.js?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js":
/*!*********************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***!
\*********************************************************************/
/***/ ((module) => {
eval("\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;\n\n//# sourceURL=webpack://mealapp/./node_modules/style-loader/dist/runtime/styleTagTransform.js?");
/***/ }),
/***/ "./src/Modules/Meal-Menu.js":
/*!**********************************!*\
!*** ./src/Modules/Meal-Menu.js ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _interactions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interactions.js */ \"./src/Modules/interactions.js\");\n/* harmony import */ var _comments_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./comments-api.js */ \"./src/Modules/comments-api.js\");\n\r\n\r\n\r\n// Popup window //\r\nconst popup = async () => {\r\n const header = document.querySelector('header');\r\n const main = document.querySelector('main');\r\n const footer = document.querySelector('footer');\r\n const btn = document.getElementsByClassName('comments');\r\n const modal = document.querySelector('#modal');\r\n\r\n const popupModalDataSet = async (id) => {\r\n const mealapiurl = `https://www.themealdb.com/api/json/v1/1/lookup.php?i=${id}`;\r\n const meals = await fetch(mealapiurl)\r\n .then((res) => res.json())\r\n .then((data) => data.meals);\r\n meals.forEach((element) => {\r\n if (element.idMeal === id) {\r\n modal.innerHTML = `\r\n <div class=\"modal\">\r\n <div class=\"meal-header justify-end d-flex\">\r\n <button class=\"close\"><i class=\"fas fa-times\"></i></button>\r\n </div>\r\n <div class=\"modal-header-img d-flex \">\r\n <img class=\"modal-img\" src=\"${element.strMealThumb}\" alt=\"${element.strMeal}\">\r\n <h2 class=\"titme\">${element.strMeal}</h2>\r\n </div>\r\n <div class=\"modal-description d-flex \">\r\n <div class = \"left\">\r\n <p> <span class=\"description-header\">Category:</span> ${element.strCategory} <p>\r\n <p> <span class=\"description-header\">Ingredients:</span>\r\n <ul id = \"ingredientsUl\">\r\n </ul>\r\n </span><p>\r\n </div>\r\n <div class = \"right\">\r\n <p> <span class=\"description-header\">Country:</span> ${element.strArea} <p>\r\n <p> <span class=\"description-header\">Instructions:</span> <p> <span class = \"recipe-instrruction\"> ${element.strInstructions} > read more </button> </span>\r\n </div>\r\n </div>\r\n <div class=\"comments -container\">\r\n <div class=\"all-comments text-center\">\r\n <h3>Comments <span id= \"comments-count\">0</span></h3>\r\n <ul id=\"comments-ul\" class = \"d-flex justify-center flex-col\">\r\n\r\n </ul>\r\n </div>\r\n <div class = \"text-center\">\r\n <h3> Add a comment </h3> \r\n </div>\r\n \r\n <div class=\"add-comments text-center d-flex justify-center\">\r\n <form action=\"POST\">\r\n <input name= \"name\" type=\"text\" id=\"input-name\" placeholder=\"Your name\" required>\r\n <textarea name=\"comment\" id=\"comment\" cols=\"30\" rows=\"10\" required></textarea>\r\n <span id = \"alert\" class=\"text-start\"> </span>\r\n <button id=\"submit-comment\" class=\"submit-comment\" data=\"${element.idMeal}\"> Submit</button>\r\n \r\n </form>\r\n </div>\r\n </div>\r\n `;\r\n\r\n const ingredientsUl = document.querySelector('#ingredientsUl');\r\n const ingredients = () => {\r\n const entries = Object.entries(element);\r\n const ingredientsArray = entries\r\n .filter(([key, value]) => key.startsWith('strIngredient') && value && value.trim())\r\n \r\n .map(([key, value]) => value);\r\n const measuresArray = entries\r\n .filter(([key, value]) => key.startsWith('strMeasure') && value && value.trim())\r\n \r\n .map(([key, value]) => value);\r\n for (let i = 1; i < ingredientsArray.length; i += 1) {\r\n ingredientsUl.innerHTML += `<li> ${ingredientsArray[i]} - ${measuresArray[i]} </li> `;\r\n }\r\n };\r\n ingredients();\r\n const exit = document.querySelector('.fa-times');\r\n exit.addEventListener('click', () => {\r\n header.classList.remove('hidden');\r\n main.classList.remove('hidden');\r\n footer.classList.remove('hidden');\r\n modal.classList.add('hidden');\r\n });\r\n }\r\n (0,_comments_api_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])();\r\n });\r\n };\r\n\r\n for (let i = 0; i < btn.length; i += 1) {\r\n btn[i].addEventListener('click', () => {\r\n window.scrollTo(0, 0);\r\n const id = btn[i].getAttribute('data');\r\n popupModalDataSet(id);\r\n header.classList.add('hidden');\r\n main.classList.add('hidden');\r\n footer.classList.add('hidden');\r\n modal.classList.remove('hidden');\r\n });\r\n }\r\n};\r\n\r\n// Print meals\r\nconst getmeals = async () => {\r\n const meallist = document.querySelector('.meal-list');\r\n const getCategoryUrl = async (category) => {\r\n meallist.innerHTML = '';\r\n const printMeals = (meals) => {\r\n meals.forEach((element) => {\r\n const newmeal = document.createElement('li');\r\n newmeal.innerHTML = ` \r\n\r\n <div class=\"meal\">\r\n <div class=\"meal-header\">\r\n <img src=\"${element.strMealThumb}\" loading=\"lazy\" width=\"500\" height=\"280\" alt=\"${element.strMeal}\">\r\n </div>\r\n <div class=\"meal-body d-flex justify-between\">\r\n <h4>${element.strMeal}</h4>\r\n <button class=\"fav-btn\" ><i class=\"fas fa-heart\" data=\"${element.idMeal}\"></i></button>\r\n </div>\r\n <div>\r\n <div class = \"likes\"><span class= \"likes-qty\" data=\"${element.idMeal}\">0</span> likes </div>\r\n <button class= \"comments\" data=\"${element.idMeal}\">Comments</button>\r\n </div>\r\n </div>`;\r\n\r\n meallist.appendChild(newmeal);\r\n });\r\n };\r\n\r\n const mealapiurl = `https://www.themealdb.com/api/json/v1/1/filter.php?a=${category}`;\r\n const meals = await fetch(mealapiurl)\r\n .then((res) => res.json())\r\n .then((data) => data.meals);\r\n printMeals(meals);\r\n popup();\r\n };\r\n\r\n const foodCount = document.getElementsByClassName('foodCount');\r\n\r\n const printCount = async (category) => {\r\n const mealapiurl = `https://www.themealdb.com/api/json/v1/1/filter.php?a=${category}`;\r\n const meals = await fetch(mealapiurl)\r\n .then((res) => res.json())\r\n .then((data) => data.meals);\r\n\r\n for (let i = 0; i < foodCount.length; i += 1) {\r\n foodCount[i].innerHTML = '';\r\n if (foodCount[i].classList.contains(category)) {\r\n foodCount[i].innerHTML = `(${meals.length})`;\r\n }\r\n }\r\n };\r\n\r\n const links = document.querySelectorAll('nav li');\r\n const resetLinks = () => {\r\n for (let i = 0; i < links.length; i += 1) {\r\n links[i].classList.remove('active');\r\n }\r\n };\r\n\r\n for (let i = 0; i < links.length; i += 1) {\r\n links[i].addEventListener('click', () => {\r\n const category = links[i].textContent.toLowerCase();\r\n getCategoryUrl(category);\r\n printCount(category);\r\n resetLinks();\r\n setTimeout(() => (0,_interactions_js__WEBPACK_IMPORTED_MODULE_0__.like)(), 2000);\r\n (0,_interactions_js__WEBPACK_IMPORTED_MODULE_0__.Displaylikes)();\r\n links[i].classList.add('active');\r\n });\r\n }\r\n getCategoryUrl('Canadian');\r\n printCount('Canadian');\r\n};\r\n\r\n(0,_interactions_js__WEBPACK_IMPORTED_MODULE_0__.Displaylikes)();\r\ngetmeals();\r\n\n\n//# sourceURL=webpack://mealapp/./src/Modules/Meal-Menu.js?");
/***/ }),
/***/ "./src/Modules/comments-api.js":
/*!*************************************!*\
!*** ./src/Modules/comments-api.js ***!
\*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n// Get comments from API\nconst getComments = async () => {\n const submitBtn = document.getElementById('submit-comment');\n const ul = document.getElementById('comments-ul');\n const id = submitBtn.getAttribute('data');\n const commentsCount = document.getElementById('comments-count');\n\n const get = () => fetch(`https://us-central1-involvement-api.cloudfunctions.net/capstoneApi/apps/3ZrrNIt8NnVNPbr64tsy/comments?item_id=${id}`)\n .then((res) => res.json());\n\n const mealComments = await get();\n\n commentsCount.innerHTML = `${mealComments.length > 0 ? `${mealComments.length}` : '0'}`;\n\n ul.innerHTML = '';\n if (mealComments.length > 0) {\n mealComments.forEach((elem) => {\n const liComments = document.createElement('li');\n liComments.innerHTML = `\n <p><span class=\"bold\">${elem.creation_date} ${elem.username}</span>: ${elem.comment}</p>\n `;\n ul.appendChild(liComments);\n });\n }\n};\n\n// Post comments from API\nconst postComment = () => {\n const userNameInput = document.getElementById('input-name');\n const alert = document.getElementById('alert');\n const userComment = document.getElementById('comment');\n const submitBtn = document.getElementById('submit-comment');\n\n const post = (id, name, comment) => fetch('https://us-central1-involvement-api.cloudfunctions.net/capstoneApi/apps/3ZrrNIt8NnVNPbr64tsy/comments',\n {\n method: 'POST',\n headers: {\n 'Content-type': 'application/json; charset=UTF-8',\n },\n body: JSON.stringify(\n {\n item_id: id,\n username: name,\n comment,\n },\n ),\n })\n .then((res) => res.text());\n\n getComments();\n submitBtn.addEventListener('click', async (e) => {\n e.preventDefault();\n\n const id = submitBtn.getAttribute('data');\n const name = userNameInput.value;\n const comment = userComment.value;\n alert.innerHTML = '';\n if (name !== '' && comment !== '') {\n userNameInput.value = '';\n userComment.value = '';\n await post(id, name, comment)\n .then(() => getComments());\n } else alert.innerHTML = 'Please insert your name and comment';\n });\n};\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (postComment);\n\n//# sourceURL=webpack://mealapp/./src/Modules/comments-api.js?");
/***/ }),
/***/ "./src/Modules/interactions.js":
/*!*************************************!*\
!*** ./src/Modules/interactions.js ***!
\*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Displaylikes\": () => (/* binding */ Displaylikes),\n/* harmony export */ \"like\": () => (/* binding */ like)\n/* harmony export */ });\nconst Displaylikes = async () => {\n const likeditems = await fetch('https://us-central1-involvement-api.cloudfunctions.net/capstoneApi/apps/3ZrrNIt8NnVNPbr64tsy/likes')\n .then((response) => response.json())\n .then((data) => data);\n\n const likesnumber = document.getElementsByClassName('likes-qty');\n const likebtnsarray = Array.from(likesnumber);\n\n likebtnsarray.forEach((element) => {\n const likeId = element.getAttribute('data');\n const currentSpan = element;\n likeditems.forEach((e) => {\n if (likeId === e.item_id) {\n currentSpan.innerHTML = e.likes;\n }\n });\n });\n};\n\nconst likeapi = async (itemid) => {\n await fetch('https://us-central1-involvement-api.cloudfunctions.net/capstoneApi/apps/3ZrrNIt8NnVNPbr64tsy/likes/', {\n method: 'POST',\n body: JSON.stringify({\n item_id: itemid,\n }),\n headers: {\n 'Content-type': 'application/json; charset=UTF-8',\n },\n })\n .then(() => {\n Displaylikes();\n });\n};\n\nconst like = () => {\n const likebtns = document.getElementsByClassName('fa-heart');\n const likebtnsarray = Array.from(likebtns);\n likebtnsarray.forEach((element) => {\n const likeId = element.getAttribute('data');\n element.addEventListener('click', () => {\n element.classList.add('heart-active');\n likeapi(likeId);\n });\n });\n};\n\nsetTimeout(() => like(), 3000);\n\n\n\n//# sourceURL=webpack://mealapp/./src/Modules/interactions.js?");
/***/ }),
/***/ "./src/index.js":
/*!**********************!*\
!*** ./src/index.js ***!
\**********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _style_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style.css */ \"./src/style.css\");\n/* harmony import */ var _Modules_Meal_Menu_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Modules/Meal-Menu.js */ \"./src/Modules/Meal-Menu.js\");\n/* harmony import */ var _Modules_interactions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Modules/interactions.js */ \"./src/Modules/interactions.js\");\n\n\n\n\n//# sourceURL=webpack://mealapp/./src/index.js?");
/***/ }),
/***/ "./image/Background.png":
/*!******************************!*\
!*** ./image/Background.png ***!
\******************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("module.exports = __webpack_require__.p + \"./image/Background.png\";\n\n//# sourceURL=webpack://mealapp/./image/Background.png?");
/***/ }),
/***/ "./image/HomeChef-Logo.jpg":
/*!*********************************!*\
!*** ./image/HomeChef-Logo.jpg ***!
\*********************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("module.exports = __webpack_require__.p + \"./image/HomeChef-Logo.jpg\";\n\n//# sourceURL=webpack://mealapp/./image/HomeChef-Logo.jpg?");
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ id: moduleId,
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = __webpack_modules__;
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ __webpack_require__.g = (function() {
/******/ if (typeof globalThis === 'object') return globalThis;
/******/ try {
/******/ return this || new Function('return this')();
/******/ } catch (e) {
/******/ if (typeof window === 'object') return window;
/******/ }
/******/ })();
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/publicPath */
/******/ (() => {
/******/ var scriptUrl;
/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
/******/ var document = __webpack_require__.g.document;
/******/ if (!scriptUrl && document) {
/******/ if (document.currentScript)
/******/ scriptUrl = document.currentScript.src
/******/ if (!scriptUrl) {
/******/ var scripts = document.getElementsByTagName("script");
/******/ if(scripts.length) scriptUrl = scripts[scripts.length - 1].src
/******/ }
/******/ }
/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
/******/ __webpack_require__.p = scriptUrl;
/******/ })();
/******/
/******/ /* webpack/runtime/jsonp chunk loading */
/******/ (() => {
/******/ __webpack_require__.b = document.baseURI || self.location.href;
/******/
/******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
/******/ var installedChunks = {
/******/ "main": 0
/******/ };
/******/
/******/ // no chunk on demand loading
/******/
/******/ // no prefetching
/******/
/******/ // no preloaded
/******/
/******/ // no HMR
/******/
/******/ // no HMR manifest
/******/
/******/ // no on chunks loaded
/******/
/******/ // no jsonp function
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module can't be inlined because the eval devtool is used.
/******/ var __webpack_exports__ = __webpack_require__("./src/index.js");
/******/
/******/ })()
;