diff --git a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/asset-manifest.json b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/asset-manifest.json index e908143..0e34a2b 100644 --- a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/asset-manifest.json +++ b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/asset-manifest.json @@ -1,7 +1,7 @@ { "main.css": "/static/css/main.f33027e0.chunk.css", - "main.js": "/static/js/main.8072c9ee.chunk.js", - "main.js.map": "/static/js/main.8072c9ee.chunk.js.map", + "main.js": "/static/js/main.2934fd44.chunk.js", + "main.js.map": "/static/js/main.2934fd44.chunk.js.map", "runtime~main.js": "/static/js/runtime~main.35de78a9.js", "runtime~main.js.map": "/static/js/runtime~main.35de78a9.js.map", "static/js/2.dbb8f406.chunk.js": "/static/js/2.dbb8f406.chunk.js", @@ -9,7 +9,7 @@ "static/js/3.d8ac33f5.chunk.js": "/static/js/3.d8ac33f5.chunk.js", "static/js/3.d8ac33f5.chunk.js.map": "/static/js/3.d8ac33f5.chunk.js.map", "index.html": "/index.html", - "precache-manifest.316b04815eda041fdc97ff67764c39ef.js": "/precache-manifest.316b04815eda041fdc97ff67764c39ef.js", + "precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js": "/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js", "service-worker.js": "/service-worker.js", "static/css/main.f33027e0.chunk.css.map": "/static/css/main.f33027e0.chunk.css.map", "static/media/App.css": "/static/media/tomato-spoiled.bace9bce.svg", diff --git a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/index.html b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/index.html index cf81d42..30cb924 100644 --- a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/index.html +++ b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/index.html @@ -1 +1 @@ -Culinary arts
\ No newline at end of file +Culinary arts
\ No newline at end of file diff --git a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/precache-manifest.316b04815eda041fdc97ff67764c39ef.js b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js similarity index 97% rename from culinaryServer/culinaryServerAddSpices/src/main/resources/static/precache-manifest.316b04815eda041fdc97ff67764c39ef.js rename to culinaryServer/culinaryServerAddSpices/src/main/resources/static/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js index 6e07ff0..6d71018 100644 --- a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/precache-manifest.316b04815eda041fdc97ff67764c39ef.js +++ b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js @@ -1,11 +1,11 @@ self.__precacheManifest = [ { - "revision": "810bc0292c83afe5cbb1", + "revision": "60ef74ecde42f1cf8e71", "url": "/static/css/main.f33027e0.chunk.css" }, { - "revision": "810bc0292c83afe5cbb1", - "url": "/static/js/main.8072c9ee.chunk.js" + "revision": "60ef74ecde42f1cf8e71", + "url": "/static/js/main.2934fd44.chunk.js" }, { "revision": "234ecdafbb2600fe3a8a", @@ -27,22 +27,18 @@ self.__precacheManifest = [ "revision": "177e2c944e7f05b79e18c301fdb3ada2", "url": "/static/media/bg_white.177e2c94.svg" }, - { - "revision": "467450b50515d1916a4af1bb651ed975", - "url": "/static/media/back_button.467450b5.svg" - }, { "revision": "159aeebb00563ec75de5fff8b74dd8e5", "url": "/static/media/bg.159aeebb.svg" }, - { - "revision": "c7d14fd417c36eeb4d477225027e3631", - "url": "/static/media/back_button_hover.c7d14fd4.svg" - }, { "revision": "07c3d73d37b0087435f87743ce6ec654", "url": "/static/media/play_button.07c3d73d.svg" }, + { + "revision": "467450b50515d1916a4af1bb651ed975", + "url": "/static/media/back_button.467450b5.svg" + }, { "revision": "1a49790c6d89dfbc2f6f998a343e4fa6", "url": "/static/media/action.1a49790c.svg" @@ -80,64 +76,56 @@ self.__precacheManifest = [ "url": "/static/media/cucumber-raw.c77241ee.svg" }, { - "revision": "3b775d75415b9bb7bbfb81914352b592", - "url": "/static/media/cucumber-cut.3b775d75.svg" + "revision": "c7d14fd417c36eeb4d477225027e3631", + "url": "/static/media/back_button_hover.c7d14fd4.svg" }, { "revision": "b907b470651246f19ccb42a1f0db4659", "url": "/static/media/carrot-spoiled.b907b470.svg" }, - { - "revision": "d0c2dde4b1e60016b1bac83eaa9829b6", - "url": "/static/media/carrot-raw.d0c2dde4.svg" - }, - { - "revision": "a2d5625ffc1162d66ebf5a73106f2427", - "url": "/static/media/berry.a2d5625f.svg" - }, { "revision": "96dcc6dc219ce2bcc4b331d8ba2fee0c", "url": "/static/media/carrow-cut.96dcc6dc.svg" }, { - "revision": "092656444165a09bd438b89b979403f3", - "url": "/static/media/pepper.09265644.svg" + "revision": "a2d5625ffc1162d66ebf5a73106f2427", + "url": "/static/media/berry.a2d5625f.svg" }, { - "revision": "ac3d6e5e70b880313e18066ac45946bc", - "url": "/static/media/citrus.ac3d6e5e.svg" + "revision": "0aaed28d2bfa0b4756d063143dc7a0e2", + "url": "/static/media/fridge-open.0aaed28d.svg" }, { - "revision": "f614ace56e2ef465c56b4791538acb50", - "url": "/static/media/salt.f614ace5.svg" + "revision": "55a86836e7cab4d6355ceb06330a4b73", + "url": "/static/media/spices-shelf.55a86836.svg" }, { - "revision": "12aa7403235fac00ddaa23804e7fc512", - "url": "/static/media/oregano.12aa7403.svg" + "revision": "092656444165a09bd438b89b979403f3", + "url": "/static/media/pepper.09265644.svg" }, { - "revision": "0aaed28d2bfa0b4756d063143dc7a0e2", - "url": "/static/media/fridge-open.0aaed28d.svg" + "revision": "1e958b40ccc422cbf06091917a820147", + "url": "/static/media/basket-back.1e958b40.svg" }, { "revision": "10970fd704eb87c0fd4b9d814fa85fe4", "url": "/static/media/basket-front.10970fd7.svg" }, { - "revision": "55a86836e7cab4d6355ceb06330a4b73", - "url": "/static/media/spices-shelf.55a86836.svg" + "revision": "ac3d6e5e70b880313e18066ac45946bc", + "url": "/static/media/citrus.ac3d6e5e.svg" }, { - "revision": "1e958b40ccc422cbf06091917a820147", - "url": "/static/media/basket-back.1e958b40.svg" + "revision": "f614ace56e2ef465c56b4791538acb50", + "url": "/static/media/salt.f614ace5.svg" }, { - "revision": "a54bc4d177b960b438a01cbe2be0943c", - "url": "/static/media/basket-citrus-5.a54bc4d1.svg" + "revision": "d0c2dde4b1e60016b1bac83eaa9829b6", + "url": "/static/media/carrot-raw.d0c2dde4.svg" }, { - "revision": "dc10cdb29c75cb36f3c33b445cdb8f55", - "url": "/static/media/basket-citrus-1.dc10cdb2.svg" + "revision": "12aa7403235fac00ddaa23804e7fc512", + "url": "/static/media/oregano.12aa7403.svg" }, { "revision": "2554261890ce6cc4c3ecbbe106dc5bc9", @@ -147,6 +135,14 @@ self.__precacheManifest = [ "revision": "2af70816b07a459ea2b9cdac53f2a661", "url": "/static/media/basket-citrus-3.2af70816.svg" }, + { + "revision": "a54bc4d177b960b438a01cbe2be0943c", + "url": "/static/media/basket-citrus-5.a54bc4d1.svg" + }, + { + "revision": "3b775d75415b9bb7bbfb81914352b592", + "url": "/static/media/cucumber-cut.3b775d75.svg" + }, { "revision": "9b18524160fc4de53421ef211640f99f", "url": "/static/media/basket-citrus-2.9b185241.svg" @@ -155,41 +151,41 @@ self.__precacheManifest = [ "revision": "e0f701765cd55fe8b8423ce946bee257", "url": "/static/media/basket-berry-5.e0f70176.svg" }, - { - "revision": "9a0242a2a53db6668f4f1e0718f0f2d6", - "url": "/static/media/basket-berry-2.9a0242a2.svg" - }, { "revision": "eb6382b0ebbffd76e0160b6d1c36bc78", "url": "/static/media/basket-berry-4.eb6382b0.svg" }, { - "revision": "710f5b430aef751a21b7e149a18145bd", - "url": "/static/media/basket-berry-3.710f5b43.svg" + "revision": "dc10cdb29c75cb36f3c33b445cdb8f55", + "url": "/static/media/basket-citrus-1.dc10cdb2.svg" }, { "revision": "2c5e06bcdc984564419653a54fb9f365", "url": "/static/media/basket-berry-1.2c5e06bc.svg" }, { - "revision": "e7fb9ea26bfe901e4009362f8adfad4e", - "url": "/static/media/salad-tomato.e7fb9ea2.svg" + "revision": "710f5b430aef751a21b7e149a18145bd", + "url": "/static/media/basket-berry-3.710f5b43.svg" }, { "revision": "a7f5f34a996361eddbc6e3a2acf51e8c", "url": "/static/media/salad-bowl.a7f5f34a.svg" }, { - "revision": "8c29d2b9c0e12c7f65e8e3d8df0a5ec0", - "url": "/static/media/salad-bowl-mixed.8c29d2b9.svg" + "revision": "9a0242a2a53db6668f4f1e0718f0f2d6", + "url": "/static/media/basket-berry-2.9a0242a2.svg" }, { - "revision": "9e799204f0383bd02a40e2448d20dde9", - "url": "/static/media/salad-cucumber.9e799204.svg" + "revision": "e7fb9ea26bfe901e4009362f8adfad4e", + "url": "/static/media/salad-tomato.e7fb9ea2.svg" }, { - "revision": "b3f374bb4f2af3200b081ceb7e95a2c2", - "url": "/static/media/salad-bowl-mixed-carrot.b3f374bb.svg" + "revision": "5d12e03bfabde3d0e70eaae9ee880626", + "url": "/static/media/salad-carrot.5d12e03b.svg" + }, + { + "revision": "8c29d2b9c0e12c7f65e8e3d8df0a5ec0", + "url": "/static/media/salad-bowl-mixed.8c29d2b9.svg" }, { "revision": "7b27270108b2b540b328def65c27d0c2", @@ -199,64 +195,68 @@ self.__precacheManifest = [ "revision": "7992dcf20c1d2b943b41ca45d18eb99b", "url": "/static/media/salad-bowl-mixed-cucumber.7992dcf2.svg" }, - { - "revision": "5d12e03bfabde3d0e70eaae9ee880626", - "url": "/static/media/salad-carrot.5d12e03b.svg" - }, - { - "revision": "3796322267bc22d4741521e443c13b27", - "url": "/static/media/pot-back.37963222.svg" - }, - { - "revision": "78375db2c849a020c99b52c76dc7be7f", - "url": "/static/media/pot-soup.78375db2.svg" - }, { "revision": "0b6c498fc58fca1fc6e5e3afe4a29c95", "url": "/static/media/pot-water.0b6c498f.svg" }, { - "revision": "1369c9ed9e0d7a21c638ad8eb96633aa", - "url": "/static/media/pot-salt.1369c9ed.svg" - }, - { - "revision": "8d3844190343ab604bc3ddaf13a1b6f6", - "url": "/static/media/pot-oregano.8d384419.svg" + "revision": "3f8e1060a85cc7a1c0ac477c0dd09793", + "url": "/static/media/pot-tomato.3f8e1060.svg" }, { - "revision": "4799921427ae8d48340edb63be4e18d9", - "url": "/static/media/pot-pepper.47999214.svg" + "revision": "8b6ffe73fc7627227be854c197326e9e", + "url": "/static/media/pot-cucumber.8b6ffe73.svg" }, { "revision": "c8704838860161b312a7e190c4fea1ef", "url": "/static/media/pot-carrot.c8704838.svg" }, { - "revision": "3f8e1060a85cc7a1c0ac477c0dd09793", - "url": "/static/media/pot-tomato.3f8e1060.svg" + "revision": "b243136a2635ceb7c20ce125118060dd", + "url": "/static/media/blender-citrus.b243136a.svg" + }, + { + "revision": "9da420198502e6283b9f407cee1bef4b", + "url": "/static/media/blender.9da42019.svg" }, { "revision": "a2f7c9476a41121f59100fefc791bf24", "url": "/static/media/blender-berry.a2f7c947.svg" }, { - "revision": "b243136a2635ceb7c20ce125118060dd", - "url": "/static/media/blender-citrus.b243136a.svg" + "revision": "78375db2c849a020c99b52c76dc7be7f", + "url": "/static/media/pot-soup.78375db2.svg" }, { - "revision": "9da420198502e6283b9f407cee1bef4b", - "url": "/static/media/blender.9da42019.svg" + "revision": "1369c9ed9e0d7a21c638ad8eb96633aa", + "url": "/static/media/pot-salt.1369c9ed.svg" }, { - "revision": "8b6ffe73fc7627227be854c197326e9e", - "url": "/static/media/pot-cucumber.8b6ffe73.svg" + "revision": "4799921427ae8d48340edb63be4e18d9", + "url": "/static/media/pot-pepper.47999214.svg" + }, + { + "revision": "b3f374bb4f2af3200b081ceb7e95a2c2", + "url": "/static/media/salad-bowl-mixed-carrot.b3f374bb.svg" + }, + { + "revision": "9e799204f0383bd02a40e2448d20dde9", + "url": "/static/media/salad-cucumber.9e799204.svg" }, { "revision": "83a112bd455550275a24be9c591b9dd9", "url": "/static/media/blender-full.83a112bd.svg" }, { - "revision": "28672cfb73135bee2eaaaae1d1ebb938", + "revision": "8d3844190343ab604bc3ddaf13a1b6f6", + "url": "/static/media/pot-oregano.8d384419.svg" + }, + { + "revision": "3796322267bc22d4741521e443c13b27", + "url": "/static/media/pot-back.37963222.svg" + }, + { + "revision": "b4aec4fbd2008ca5f7defbf28fc55de7", "url": "/index.html" } ]; \ No newline at end of file diff --git a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/service-worker.js b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/service-worker.js index 7bc8385..8aa63ed 100644 --- a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/service-worker.js +++ b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js"); importScripts( - "/precache-manifest.316b04815eda041fdc97ff67764c39ef.js" + "/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js" ); workbox.clientsClaim(); diff --git a/culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.8072c9ee.chunk.js b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.2934fd44.chunk.js similarity index 52% rename from culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.8072c9ee.chunk.js rename to culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.2934fd44.chunk.js index f296254..65343cc 100644 --- a/culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.8072c9ee.chunk.js +++ b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.2934fd44.chunk.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{22:function(e,t,n){e.exports=n.p+"static/media/logo.af49c77d.svg"},23:function(e,t,n){e.exports=n(55)},31:function(e,t,n){},32:function(e,t,n){},55:function(e,t,n){"use strict";n.r(t);var r=n(0),a=n.n(r),c=n(21),o=n.n(c),i=(n(31),n(3)),u=(n(32),n(22)),s=n.n(u);function l(e){var t=e.gameStateSetter;return React.createElement("div",{className:"App-main-container"},React.createElement("img",{src:s.a,className:"App-logo",alt:"logo"}),React.createElement("p",{className:"App-big-name font-link-bold"},"Culinary arts"),React.createElement("p",{className:"App-small-name font-link-base"},"by Kotlin Course"),React.createElement("div",{className:"App-buttons-container App-display-flex"},React.createElement("button",{className:"App-button-base App-button-start",onClick:function(){return t(_.GAME)}})))}var p=n(7),f=n(1),m=n(6),d=function(e){return e[e.CITRUS_BASKET=0]="CITRUS_BASKET",e[e.BERRY_BASKET=1]="BERRY_BASKET",e[e.ROT_TOMATO=2]="ROT_TOMATO",e[e.FRESH_TOMATO=3]="FRESH_TOMATO",e[e.CUT_TOMATO=4]="CUT_TOMATO",e[e.ROT_CUCUMBER=5]="ROT_CUCUMBER",e[e.FRESH_CUCUMBER=6]="FRESH_CUCUMBER",e[e.CUT_CUCUMBER=7]="CUT_CUCUMBER",e[e.ROT_CARROT=8]="ROT_CARROT",e[e.FRESH_CARROT=9]="FRESH_CARROT",e[e.CUT_CARROT=10]="CUT_CARROT",e[e.BERRY=11]="BERRY",e[e.CITRUS=12]="CITRUS",e[e.SALT=13]="SALT",e[e.PEPPER=14]="PEPPER",e[e.OREGANO=15]="OREGANO",e}({}),b=n(4),h=n.n(b);function v(e){var t=e.product,n=e.inFridge,r=void 0!==n&&n,a="App-product-image-"+d[t];return React.createElement("div",{className:"App-product-image "+a+" "+(r?"App-product-fridge":"App-product-counter")})}function A(e){var t=e.products;var n=Math.ceil(t.length/2),r=t.slice(0,n),a=t.slice(n);return React.createElement("div",{className:"App-counter-container"},React.createElement("div",{className:"App-products-row App-products-row-top"},r.map(function(e,t){return React.createElement(v,{product:e})})),React.createElement("div",{className:"App-products-row App-products-row-bottom"},a.map(function(e,t){return React.createElement(v,{product:e})})))}function g(e){var t=e.blenderOptions,n=t.visible,r=t.full,a=t.shake,c=t.citrus,o=t.berry,i="App-blender-jar"+(r?"-full":"");return React.createElement("div",{className:"App-blender"+(n?"":" App-invisible")+(a?" App-animation-shake":"")},React.createElement("div",{className:"App-blender "+i}),!r&&React.createElement(React.Fragment,null,Array.from({length:c}).map(function(e,t){return React.createElement("div",{key:t,className:"App-blender App-blender-citrus ",style:{top:"".concat(-1*(c-t-1),"vmin")}})}),Array.from({length:o}).map(function(e,t){return React.createElement("div",{key:t,className:"App-blender App-blender-berry ",style:{top:"".concat(-1*(o-t-1),"vmin")}})})))}function R(e){var t=e.potOptions,n=t.visible,r=t.simmer,a=t.soup,c=t.pepper,o=t.salt,i=t.oregano,u=t.cucumber,s=t.tomato,l=t.carrot,p=t.soupHue,f="App-pot"+(a?"-soup":"-water");return React.createElement("div",{className:"App-pot"+(n?"":" App-invisible")+(r?" App-animation-simmer":"")},React.createElement("div",{className:"App-pot App-pot-back"}),!a&&React.createElement(React.Fragment,null,Array.from({length:u}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-cucumber ",style:{top:"".concat(-1*(u-t-1),"vmin")}})}),Array.from({length:s}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-tomato ",style:{top:"".concat(-1*(s-t-1),"vmin")}})}),Array.from({length:l}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-carrot ",style:{top:"".concat(-1*(l-t-1),"vmin")}})})),React.createElement("div",{className:"App-pot "+f,style:{filter:"hue-rotate(".concat(p,"deg)")}}),React.createElement("div",{className:"App-pot App-pot-pepper "+(c?"":"App-invisible")}),React.createElement("div",{className:"App-pot App-pot-salt "+(o?"":"App-invisible")}),React.createElement("div",{className:"App-pot App-pot-oregano "+(i?"":"App-invisible")}))}function E(e){var t=e.basketOptions,n=t.type,r=t.visible,a=t.count,c="App-basket-".concat(n,"-");return React.createElement("div",{className:"App-basket "+(r?"":" App-invisible")},React.createElement("div",{className:"App-basket App-basket-back"}),a>0&&React.createElement(React.Fragment,null,Array.from({length:a}).map(function(e,t){return React.createElement("div",{key:t,className:"App-basket App-basket-item "+c+(a-t)})})),React.createElement("div",{className:"App-basket App-basket-front"}))}function O(e){var t=e.visible;return React.createElement("div",{className:"App-spices-shelf"+(t?"":" App-invisible")})}function y(e){var t=e.saladBowlOptions,n=t.visible,r=t.mixing,a=t.mixed,c=t.tomato,o=t.cucumber,i=t.carrot;return React.createElement("div",{className:"App-salad"+(n?"":" App-invisible")+(r?" App-animation-mixing":"")},a?React.createElement(React.Fragment,null,React.createElement("div",{className:"App-salad App-salad-mixed-tomato "+(c>0?"":"App-invisible")}),React.createElement("div",{className:"App-salad App-salad-mixed-cucumber "+(o>0?"":"App-invisible")}),React.createElement("div",{className:"App-salad App-salad-mixed-carrot "+(i>0?"":"App-invisible")})):React.createElement(React.Fragment,null,Array.from({length:i}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-carrot ",style:{top:"".concat(-1*(i-t-1),"vmin")}})}),Array.from({length:c}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-tomato ",style:{top:"".concat(-1*(c-t-1),"vmin")}})}),Array.from({length:o}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-cucumber ",style:{top:"".concat(-1*(o-t-1),"vmin")}})})),React.createElement("div",{className:"App-salad App-salad-bowl "}))}function T(e){var t=e.products,n=Math.ceil(t.length/3),c=t.slice(0,n),o=t.slice(n,2*n),i=t.slice(2*n),u=Object(r.useCallback)(function(){var e=document.querySelector(".App-fridge"),t=document.querySelectorAll(".App-fridge-first-shelf"),n=document.querySelectorAll(".App-fridge-second-shelf"),r=document.querySelectorAll(".App-fridge-third-shelf");if(e){var a=e.clientHeight,c=.15*a,o=.3*a,i=.425*a;t.forEach(function(e){e.style.top="".concat(c,"px")}),n.forEach(function(e){e.style.top="".concat(o,"px")}),r.forEach(function(e){e.style.top="".concat(i,"px")})}},[t]);return Object(r.useEffect)(function(){u();var e=function(){u()};return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}},[u]),a.a.createElement("div",{className:"App-fridge"},a.a.createElement("div",{className:"App-fridge App-fridge-back"}),c.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},className:"App-fridge-first-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}),o.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},className:"App-fridge-second-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}),i.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},key:"third-shelf-".concat(t),className:"App-fridge-third-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}))}function S(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return C(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var c,o=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){i=!0,c=e},f:function(){try{o||null==n.return||n.return()}finally{if(i)throw c}}}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0;--c){var o=this.tryEntries[c],i=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var u=r.call(o,"catchLoc"),s=r.call(o,"finallyLoc");if(u&&s){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;w(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:U(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),h}},t}function k(e){var t=e.gameStateSetter,n="/functions/refill-fridge",a="/functions/soup-spices",c="/functions/check-soup",o={SHOW_ON_COUNTER:"Placing the current ingredient to the cooking space",PUT_IN_POT:"Putting into the pot",SIMMER:"Cooking!",ADD_TO_SALAD:"Adding to the salad",MIX_SALAD:"Mixing the salad",BLEND:"Blending",ADD_TO_BLENDER:"Adding to the blender",REMOVE_FROM_COUNTER:"Removing the current ingredient from the cooking space",CUT_ON_COUNTER:"Cutting"},u={CITRUS_BASKET:"citrus basket",BERRY_BASKET:"berry basket",ROT_TOMATO:"rot tomato",FRESH_TOMATO:"fresh tomato",CUT_TOMATO:"cut tomato",ROT_CUCUMBER:"rot cucumber",FRESH_CUCUMBER:"fresh cucumber",CUT_CUCUMBER:"cut cucumber",ROT_CARROT:"rot carrot",FRESH_CARROT:"fresh carrot",CUT_CARROT:"cut carrot",BERRY:"berry",CITRUS:"orange",SALT:"salt",PEPPER:"pepper",OREGANO:"oregano"},s="Fridge is refilled!",l="Failed to refill the fridge. Check your implementation.",b="Not enough ingredients to make",v="Cooking is done!",C="Failed to cook. Check your implementation.",k="You need to cook the soup first!",w="Let's add some spices!",j="Adding spices is done!",U="Failed to add spices. Check your implementation.",x="It tastes great! \ud83c\udf89",L="It tastes so bad... Try to cook the soup again.",M="Failed to get taste status. Check your implementation.",F=1e3,B={visible:!0,full:!1,shake:!1,berry:0,citrus:0},P={visible:!0,simmer:!1,soup:!1,pepper:!1,salt:!1,oregano:!1,cucumber:0,tomato:0,carrot:0,soupHue:0,spiced:!1},I={visible:!1,mixing:!1,mixed:!1,tomato:0,cucumber:0,carrot:0},D={type:"berry",visible:!1,count:5},H={type:"citrus",visible:!1,count:5};Object(r.useEffect)(function(){h.a.get("/functions/current-task").then(function(){var e=Object(m.a)(N().mark(function e(t){return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:console.log("Current task type: ".concat(t.data)),we(t.data),je("SALAD"===t.data);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z("Can't get task type. Check backend.")})},[]);var G=Object(r.useState)([]),Y=Object(i.a)(G,2),K=Y[0],q=Y[1],J=Object(r.useState)([]),z=Object(i.a)(J,2),V=z[0],W=z[1],X=Object(r.useState)("Press button to start"),$=Object(i.a)(X,2),Q=$[0],Z=$[1],ee=Object(r.useState)(!0),te=Object(i.a)(ee,2),ne=te[0],re=(te[1],Object(r.useState)(B)),ae=Object(i.a)(re,2),ce=ae[0],oe=ae[1],ie=Object(r.useState)(P),ue=Object(i.a)(ie,2),se=ue[0],le=ue[1],pe=Object(r.useState)(I),fe=Object(i.a)(pe,2),me=fe[0],de=fe[1],be=Object(r.useState)(D),he=Object(i.a)(be,2),ve=he[0],Ae=he[1],ge=Object(r.useState)(H),Re=Object(i.a)(ge,2),Ee=Re[0],Oe=Re[1],ye=Object(r.useState)(""),Te=Object(i.a)(ye,2),Se=Te[0],Ce=Te[1],Ne=Object(r.useState)(""),ke=Object(i.a)(Ne,2),_e=ke[0],we=ke[1];function je(e){de(function(t){return Object(f.a)({},t,{visible:e})})}var Ue={BERRY_BASKET:function(e){Ae(function(t){return Object(f.a)({},t,{visible:e})})},CITRUS_BASKET:function(e){Oe(function(t){return Object(f.a)({},t,{visible:e})})},BLENDER:function(e){oe(function(t){return Object(f.a)({},t,{visible:e})})},POT:function(e){le(function(t){return Object(f.a)({},t,{visible:e})})}};var xe={FRESH_TOMATO:"CUT_TOMATO",FRESH_CUCUMBER:"CUT_CUCUMBER",FRESH_CARROT:"CUT_CARROT"};function Le(e){console.log("removeFromCounter",e),e&&(console.log("counter: ",K),console.log("filter: ",K.filter(function(t){return d[t]!==e})),q(function(t){var n=t.findIndex(function(t){return d[t]===e});if(n>-1){var r=Object(p.a)(t);return r.splice(n,1),r}return t}))}var Me={SHOW_ON_COUNTER:function(e){console.log("showOnCounter",e),e&&(e in Ue?Ue[e](!0):(function(e){console.log("removeFromFridge",e),e&&(console.log("counter: ",V),console.log("filter: ",V.filter(function(t){return d[t]!==e})),W(function(t){var n=t.findIndex(function(t){return d[t]===e});if(n>-1){var r=Object(p.a)(t);return r.splice(n,1),r}return t}))}(e),q(function(t){return[].concat(Object(p.a)(t),[d[e]])})))},PUT_IN_POT:function(e){null!=e&&(Le(e),{PEPPER:function(){le(function(e){return Object(f.a)({},e,{pepper:!0,soupHue:57})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{pepper:!1})})},750)},SALT:function(){le(function(e){return Object(f.a)({},e,{salt:!0,soupHue:320})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{salt:!1})})},750)},OREGANO:function(){le(function(e){return Object(f.a)({},e,{oregano:!0,soupHue:113})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{oregano:!1})})},750)},CUT_TOMATO:function(){le(function(e){return Object(f.a)({},e,{tomato:e.tomato+1})})},CUT_CARROT:function(){le(function(e){return Object(f.a)({},e,{carrot:e.carrot+1})})},CUT_CUCUMBER:function(){le(function(e){return Object(f.a)({},e,{cucumber:e.cucumber+1})})}}[e]())},SIMMER:function(e){le(function(e){return Object(f.a)({},e,{simmer:!0})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{soup:!0,soupHue:0})})},500),setTimeout(function(){le(function(e){return Object(f.a)({},e,{simmer:!1})})},1e3)},ADD_TO_SALAD:function(e){console.log("addToSalad()"),console.log(e),null!=e&&(Le(e),{CUT_TOMATO:function(){de(function(e){return Object(f.a)({},e,{tomato:e.tomato+1})})},CUT_CUCUMBER:function(){de(function(e){return Object(f.a)({},e,{cucumber:e.cucumber+1})})},CUT_CARROT:function(){de(function(e){return Object(f.a)({},e,{carrot:e.carrot+1})})}}[e]())},MIX_SALAD:function(e){de(function(e){return Object(f.a)({},e,{mixing:!0})}),setTimeout(function(){de(function(e){return Object(f.a)({},e,{mixed:!0})})},500),setTimeout(function(){de(function(e){return Object(f.a)({},e,{mixing:!1})})},1e3)},BLEND:function(e){oe(function(e){return Object(f.a)({},e,{shake:!0})}),setTimeout(function(){oe(function(e){return Object(f.a)({},e,{full:!0})})},500),setTimeout(function(){oe(function(e){return Object(f.a)({},e,{shake:!1})})},1e3)},ADD_TO_BLENDER:function(e){null!=e&&(Le(e),{CITRUS:function(){Oe(function(e){return Object(f.a)({},e,{count:e.count>0?e.count-1:0})}),oe(function(e){return Object(f.a)({},e,{citrus:e.citrus+1})})},BERRY:function(){Ae(function(e){return Object(f.a)({},e,{count:e.count>0?e.count-1:0})}),oe(function(e){return Object(f.a)({},e,{berry:e.berry+1})})}}[e]())},REMOVE_FROM_COUNTER:Le,CUT_ON_COUNTER:function(e){if(console.log("cutOnCounter",e),e&&(console.log("counter: ",K),xe.hasOwnProperty(e))){var t=xe[e];console.log("counter: ",K),console.log("filter: ",K.filter(function(t){return d[t]!==e})),q(function(n){var r=n.findIndex(function(t){return d[t]===e});if(r>-1){var a=Object(p.a)(n);return a.splice(r,1,d[t]),a}return n})}}};function Fe(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";oe(B),le(P),de(I),je("SALAD"===_e),Oe(H),Ae(D),q([]),Ce(t);var r=function(e){return new Promise(function(t){return setTimeout(t,e)})},a=Array();h.a.get(e).then(function(){var e=Object(m.a)(N().mark(function e(c){var i,s,l;return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(console.log("GOT: "+JSON.stringify(c.data,null,2)),0!=(a=c.data).length){e.next=6;break}return Z("".concat(b," ").concat(t,"! ").concat(n)),Ce(""),e.abrupt("return");case 6:return Z("Let's go!"),e.next=9,r(F);case 9:i=S(a),e.prev=10,i.s();case 12:if((s=i.n()).done){e.next=21;break}return l=s.value,console.log(o[String(l.type)]+" "+(l.parameter?u[String(l.parameter)]:"")),Z(o[String(l.type)]+" "+(l.parameter?u[String(l.parameter)]:"")),Me[String(l.type)](l.parameter?String(l.parameter):null),e.next=19,r(F);case 19:e.next=12;break;case 21:e.next=26;break;case 23:e.prev=23,e.t0=e.catch(10),i.e(e.t0);case 26:return e.prev=26,i.f(),e.finish(26);case 29:Z(v);case 30:case"end":return e.stop()}},e,null,[[10,23,26,29]])}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z(C)}).finally(function(){Ce("")})}function Be(e){return!Se}return React.createElement("div",{className:"App-main-container"},React.createElement("div",{className:"App-buttons-container"},React.createElement("button",{className:"App-button-base App-game-button-bottom-base App-button-back",onClick:function(){t(_.START)}})),React.createElement("div",{className:"App-kitchen-space"},React.createElement("div",{className:"App-info-container"},React.createElement("div",{className:"App-info-container-text font-link-base"},Q)),React.createElement("div",{className:"App-kitchen-container"},React.createElement("div",{className:"App-left-kitchen-container"},React.createElement(O,{visible:ne}),React.createElement(T,{products:V})),React.createElement("div",{className:"App-center-kitchen-container"},React.createElement("div",{className:"App-basket-kitchen-container"},React.createElement(E,{basketOptions:ve}),React.createElement(y,{saladBowlOptions:me}),React.createElement(E,{basketOptions:Ee})),React.createElement(A,{products:K})),React.createElement("div",{className:"App-right-kitchen-container"},React.createElement(g,{blenderOptions:ce}),React.createElement(R,{potOptions:se})))),React.createElement("div",{className:"App-buttons-container"},("SOUP"===_e||"SALAD"===_e)&&React.createElement("button",{className:"App-button-base App-button-action "+(Be()?"":"App-button-disable"),onClick:function(){return function(){oe(B),le(P),de(I),je("SALAD"===_e),Oe(H),Ae(D),q([]);var e=Array();h.a.get(n).then(function(){var t=Object(m.a)(N().mark(function t(n){var r;return N().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:r=n.data,e=r.map(function(e){return d[e]}),console.log("Refill GOT: "+e),W(e),Z(s);case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}()).catch(function(e){Z(l)})}()}},"Refill"),"SOUP"===_e&&React.createElement(React.Fragment,null,React.createElement("button",{className:"App-button-base App-button-action "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/tomato-soup","tomato soup","You need at least three fresh tomato in the fridge! Try to refill!")}},"Soup"),React.createElement("button",{className:"App-button-base App-button-action "+(se.soup&&!se.spiced&&Be()?"":"App-button-disable"),onClick:function(){return function(){Ce("spice");var e=function(e){return new Promise(function(t){return setTimeout(t,e)})},t=Array();h.a.get(a).then(function(){var n=Object(m.a)(N().mark(function n(r){var a,c,i;return N().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(t=r.data,console.log("GOT: "+t),0!=t.length){n.next=6;break}return Z(k),Ce(""),n.abrupt("return");case 6:return Z(w),n.next=9,e(F);case 9:a=S(t),n.prev=10,a.s();case 12:if((c=a.n()).done){n.next=21;break}return i=c.value,console.log(o[String(i.type)]+" "+(i.parameter?u[String(i.parameter)]:"")),Z(o[String(i.type)]+" "+(i.parameter?u[String(i.parameter)]:"")),Me[String(i.type)](i.parameter?String(i.parameter):null),n.next=19,e(F);case 19:n.next=12;break;case 21:n.next=26;break;case 23:n.prev=23,n.t0=n.catch(10),a.e(n.t0);case 26:return n.prev=26,a.f(),n.finish(26);case 29:Z(j),le(function(e){return Object(f.a)({},e,{spiced:!0})});case 31:case"end":return n.stop()}},n,null,[[10,23,26,29]])}));return function(e){return n.apply(this,arguments)}}()).catch(function(e){Z(U)}).finally(function(){Ce("")})}()}},"Spice"),React.createElement("button",{className:"App-button-base App-button-action "+(se.soup&&se.spiced&&Be()?"":"App-button-disable"),onClick:function(){h.a.get(c).then(function(){var e=Object(m.a)(N().mark(function e(t){var n;return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=t.data,console.log("isTasteGood: "+n),Z(n?x:L);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z(M)})}},"Taste")),"SALAD"===_e&&React.createElement(React.Fragment,null,React.createElement("button",{className:"App-button-base App-button-action-wide "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/salad-list","salad (list)","Try to refill the fridge!")}},"Salad list"),React.createElement("button",{className:"App-button-base App-button-action-wide "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/salad-sequence","salad (sequence)","Try to refill the fridge!")}},"Salad seq.")),"SMOOTHIE"===_e&&React.createElement("button",{className:"App-button-base App-button-action-wide "+(Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/smoothie","smoothie")}},"Smoothie")))}window.React=a.a;var _=function(e){return e[e.START=0]="START",e[e.GAME=1]="GAME",e}({});function w(e){var t=e.state,n=e.gameStateSetter;switch(t){case _.START:return a.a.createElement(l,{gameStateSetter:n});case _.GAME:return a.a.createElement(k,{gameStateSetter:n})}}var j=function(){var e=Object(r.useState)(_.START),t=Object(i.a)(e,2),n=t[0],a=t[1];switch(n){case _.START:return React.createElement("div",{className:"App"},React.createElement("header",{className:"App-header-base App-header-black"},React.createElement(w,{state:n,gameStateSetter:a})));default:return React.createElement("div",{className:"App"},React.createElement("header",{className:"App-header-base App-header-white"},React.createElement(w,{state:n,gameStateSetter:a})))}},U=function(e){e&&e instanceof Function&&n.e(3).then(n.bind(null,56)).then(function(t){var n=t.getCLS,r=t.getFID,a=t.getFCP,c=t.getLCP,o=t.getTTFB;n(e),r(e),a(e),c(e),o(e)})};h.a.defaults.baseURL="/api/",o.a.createRoot(document.getElementById("root")).render(a.a.createElement(a.a.StrictMode,null,a.a.createElement(j,null))),U()}},[[23,1,2]]]); -//# sourceMappingURL=main.8072c9ee.chunk.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{22:function(e,t,n){e.exports=n.p+"static/media/logo.af49c77d.svg"},23:function(e,t,n){e.exports=n(55)},31:function(e,t,n){},32:function(e,t,n){},55:function(e,t,n){"use strict";n.r(t);var r=n(0),a=n.n(r),c=n(21),o=n.n(c),i=(n(31),n(3)),u=(n(32),n(22)),s=n.n(u);function l(e){var t=e.gameStateSetter;return React.createElement("div",{className:"App-main-container"},React.createElement("img",{src:s.a,className:"App-logo",alt:"logo"}),React.createElement("p",{className:"App-big-name font-link-bold"},"Culinary arts"),React.createElement("p",{className:"App-small-name font-link-base"},"by Kotlin Course"),React.createElement("div",{className:"App-buttons-container App-display-flex"},React.createElement("button",{className:"App-button-base App-button-start",onClick:function(){return t(_.GAME)}})))}var p=n(7),f=n(1),m=n(6),d=function(e){return e[e.CITRUS_BASKET=0]="CITRUS_BASKET",e[e.BERRY_BASKET=1]="BERRY_BASKET",e[e.ROT_TOMATO=2]="ROT_TOMATO",e[e.FRESH_TOMATO=3]="FRESH_TOMATO",e[e.CUT_TOMATO=4]="CUT_TOMATO",e[e.ROT_CUCUMBER=5]="ROT_CUCUMBER",e[e.FRESH_CUCUMBER=6]="FRESH_CUCUMBER",e[e.CUT_CUCUMBER=7]="CUT_CUCUMBER",e[e.ROT_CARROT=8]="ROT_CARROT",e[e.FRESH_CARROT=9]="FRESH_CARROT",e[e.CUT_CARROT=10]="CUT_CARROT",e[e.BERRY=11]="BERRY",e[e.CITRUS=12]="CITRUS",e[e.SALT=13]="SALT",e[e.PEPPER=14]="PEPPER",e[e.OREGANO=15]="OREGANO",e}({}),b=n(4),h=n.n(b);function v(e){var t=e.product,n=e.inFridge,r=void 0!==n&&n,a="App-product-image-"+d[t];return React.createElement("div",{className:"App-product-image "+a+" "+(r?"App-product-fridge":"App-product-counter")})}function A(e){var t=e.products;var n=Math.ceil(t.length/2),r=t.slice(0,n),a=t.slice(n);return React.createElement("div",{className:"App-counter-container"},React.createElement("div",{className:"App-products-row App-products-row-top"},r.map(function(e,t){return React.createElement(v,{product:e})})),React.createElement("div",{className:"App-products-row App-products-row-bottom"},a.map(function(e,t){return React.createElement(v,{product:e})})))}function g(e){var t=e.blenderOptions,n=t.visible,r=t.full,a=t.shake,c=t.citrus,o=t.berry,i="App-blender-jar"+(r?"-full":"");return React.createElement("div",{className:"App-blender"+(n?"":" App-invisible")+(a?" App-animation-shake":"")},React.createElement("div",{className:"App-blender "+i}),!r&&React.createElement(React.Fragment,null,Array.from({length:c}).map(function(e,t){return React.createElement("div",{key:t,className:"App-blender App-blender-citrus ",style:{top:"".concat(-1*(c-t-1),"vmin")}})}),Array.from({length:o}).map(function(e,t){return React.createElement("div",{key:t,className:"App-blender App-blender-berry ",style:{top:"".concat(-1*(o-t-1),"vmin")}})})))}function R(e){var t=e.potOptions,n=t.visible,r=t.simmer,a=t.soup,c=t.pepper,o=t.salt,i=t.oregano,u=t.cucumber,s=t.tomato,l=t.carrot,p=t.soupHue,f="App-pot"+(a?"-soup":"-water");return React.createElement("div",{className:"App-pot"+(n?"":" App-invisible")+(r?" App-animation-simmer":"")},React.createElement("div",{className:"App-pot App-pot-back"}),!a&&React.createElement(React.Fragment,null,Array.from({length:u}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-cucumber ",style:{top:"".concat(-1*(u-t-1),"vmin")}})}),Array.from({length:s}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-tomato ",style:{top:"".concat(-1*(s-t-1),"vmin")}})}),Array.from({length:l}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-carrot ",style:{top:"".concat(-1*(l-t-1),"vmin")}})})),React.createElement("div",{className:"App-pot "+f,style:{filter:"hue-rotate(".concat(p,"deg)")}}),React.createElement("div",{className:"App-pot App-pot-pepper "+(c?"":"App-invisible")}),React.createElement("div",{className:"App-pot App-pot-salt "+(o?"":"App-invisible")}),React.createElement("div",{className:"App-pot App-pot-oregano "+(i?"":"App-invisible")}))}function E(e){var t=e.basketOptions,n=t.type,r=t.visible,a=t.count,c="App-basket-".concat(n,"-");return React.createElement("div",{className:"App-basket "+(r?"":" App-invisible")},React.createElement("div",{className:"App-basket App-basket-back"}),a>0&&React.createElement(React.Fragment,null,Array.from({length:a}).map(function(e,t){return React.createElement("div",{key:t,className:"App-basket App-basket-item "+c+(a-t)})})),React.createElement("div",{className:"App-basket App-basket-front"}))}function O(e){var t=e.visible;return React.createElement("div",{className:"App-spices-shelf"+(t?"":" App-invisible")})}function y(e){var t=e.saladBowlOptions,n=t.visible,r=t.mixing,a=t.mixed,c=t.tomato,o=t.cucumber,i=t.carrot;return React.createElement("div",{className:"App-salad"+(n?"":" App-invisible")+(r?" App-animation-mixing":"")},a?React.createElement(React.Fragment,null,React.createElement("div",{className:"App-salad App-salad-mixed-tomato "+(c>0?"":"App-invisible")}),React.createElement("div",{className:"App-salad App-salad-mixed-cucumber "+(o>0?"":"App-invisible")}),React.createElement("div",{className:"App-salad App-salad-mixed-carrot "+(i>0?"":"App-invisible")})):React.createElement(React.Fragment,null,Array.from({length:i}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-carrot ",style:{top:"".concat(-1*(i-t-1),"vmin")}})}),Array.from({length:c}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-tomato ",style:{top:"".concat(-1*(c-t-1),"vmin")}})}),Array.from({length:o}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-cucumber ",style:{top:"".concat(-1*(o-t-1),"vmin")}})})),React.createElement("div",{className:"App-salad App-salad-bowl "}))}function T(e){var t=e.products,n=Math.ceil(t.length/3),c=t.slice(0,n),o=t.slice(n,2*n),i=t.slice(2*n),u=Object(r.useCallback)(function(){var e=document.querySelector(".App-fridge"),t=document.querySelectorAll(".App-fridge-first-shelf"),n=document.querySelectorAll(".App-fridge-second-shelf"),r=document.querySelectorAll(".App-fridge-third-shelf");if(e){var a=e.clientHeight,c=.15*a,o=.3*a,i=.425*a;t.forEach(function(e){e.style.top="".concat(c,"px")}),n.forEach(function(e){e.style.top="".concat(o,"px")}),r.forEach(function(e){e.style.top="".concat(i,"px")})}},[t]);return Object(r.useEffect)(function(){u();var e=function(){u()};return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}},[u]),a.a.createElement("div",{className:"App-fridge"},a.a.createElement("div",{className:"App-fridge App-fridge-back"}),c.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},className:"App-fridge-first-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}),o.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},className:"App-fridge-second-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}),i.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},key:"third-shelf-".concat(t),className:"App-fridge-third-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}))}function S(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return C(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var c,o=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){i=!0,c=e},f:function(){try{o||null==n.return||n.return()}finally{if(i)throw c}}}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0;--c){var o=this.tryEntries[c],i=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var u=r.call(o,"catchLoc"),s=r.call(o,"finallyLoc");if(u&&s){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;w(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:U(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),h}},t}function k(e){var t=e.gameStateSetter,n="/functions/refill-fridge",a="/functions/soup-spices",c="/functions/check-soup",o={SHOW_ON_COUNTER:"Placing the current ingredient on the cooking space:",PUT_IN_POT:"Putting into the pot:",SIMMER:"Cooking!",ADD_TO_SALAD:"Adding to the salad:",MIX_SALAD:"Mixing the salad.",BLEND:"Blending.",ADD_TO_BLENDER:"Adding to the blender:",REMOVE_FROM_COUNTER:"Removing the current ingredient from the cooking space:",CUT_ON_COUNTER:"Cutting"},u={CITRUS_BASKET:"citrus basket",BERRY_BASKET:"berry basket",ROT_TOMATO:"rotten tomato",FRESH_TOMATO:"fresh tomato",CUT_TOMATO:"cut tomato",ROT_CUCUMBER:"rotten cucumber",FRESH_CUCUMBER:"fresh cucumber",CUT_CUCUMBER:"cut cucumber",ROT_CARROT:"rotten carrot",FRESH_CARROT:"fresh carrot",CUT_CARROT:"cut carrot",BERRY:"a berry",CITRUS:"an orange",SALT:"salt",PEPPER:"pepper",OREGANO:"oregano"},s="The fridge has been refilled!",l="Failed to refill the fridge. Check your implementation.",b="Not enough ingredients to cook",v="Cooking is complete!",C="Failed to cook. Check your implementation.",k="You need to cook the soup first!",w="Let's add some spices!",j="Spices have been added!",U="Failed to add spices. Check your implementation.",x="It tastes great! \ud83c\udf89",L="It tastes terrible... Please try cooking the soup again.",M="Failed to retrieve taste status. Check your implementation.",F=1e3,B={visible:!0,full:!1,shake:!1,berry:0,citrus:0},P={visible:!0,simmer:!1,soup:!1,pepper:!1,salt:!1,oregano:!1,cucumber:0,tomato:0,carrot:0,soupHue:0,spiced:!1},I={visible:!1,mixing:!1,mixed:!1,tomato:0,cucumber:0,carrot:0},D={type:"berry",visible:!1,count:5},H={type:"citrus",visible:!1,count:5};Object(r.useEffect)(function(){h.a.get("/functions/current-task").then(function(){var e=Object(m.a)(N().mark(function e(t){return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:console.log("Current task type: ".concat(t.data)),we(t.data),je("SALAD"===t.data);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z("Can't retrieve task type. Please check the backend.")})},[]);var G=Object(r.useState)([]),Y=Object(i.a)(G,2),K=Y[0],q=Y[1],J=Object(r.useState)([]),z=Object(i.a)(J,2),V=z[0],W=z[1],X=Object(r.useState)("Press the button to start"),$=Object(i.a)(X,2),Q=$[0],Z=$[1],ee=Object(r.useState)(!0),te=Object(i.a)(ee,2),ne=te[0],re=(te[1],Object(r.useState)(B)),ae=Object(i.a)(re,2),ce=ae[0],oe=ae[1],ie=Object(r.useState)(P),ue=Object(i.a)(ie,2),se=ue[0],le=ue[1],pe=Object(r.useState)(I),fe=Object(i.a)(pe,2),me=fe[0],de=fe[1],be=Object(r.useState)(D),he=Object(i.a)(be,2),ve=he[0],Ae=he[1],ge=Object(r.useState)(H),Re=Object(i.a)(ge,2),Ee=Re[0],Oe=Re[1],ye=Object(r.useState)(""),Te=Object(i.a)(ye,2),Se=Te[0],Ce=Te[1],Ne=Object(r.useState)(""),ke=Object(i.a)(Ne,2),_e=ke[0],we=ke[1];function je(e){de(function(t){return Object(f.a)({},t,{visible:e})})}var Ue={BERRY_BASKET:function(e){Ae(function(t){return Object(f.a)({},t,{visible:e})})},CITRUS_BASKET:function(e){Oe(function(t){return Object(f.a)({},t,{visible:e})})},BLENDER:function(e){oe(function(t){return Object(f.a)({},t,{visible:e})})},POT:function(e){le(function(t){return Object(f.a)({},t,{visible:e})})}};var xe={FRESH_TOMATO:"CUT_TOMATO",FRESH_CUCUMBER:"CUT_CUCUMBER",FRESH_CARROT:"CUT_CARROT"};function Le(e){console.log("removeFromCounter",e),e&&(console.log("counter: ",K),console.log("filter: ",K.filter(function(t){return d[t]!==e})),q(function(t){var n=t.findIndex(function(t){return d[t]===e});if(n>-1){var r=Object(p.a)(t);return r.splice(n,1),r}return t}))}var Me={SHOW_ON_COUNTER:function(e){console.log("showOnCounter",e),e&&(e in Ue?Ue[e](!0):(function(e){console.log("removeFromFridge",e),e&&(console.log("counter: ",V),console.log("filter: ",V.filter(function(t){return d[t]!==e})),W(function(t){var n=t.findIndex(function(t){return d[t]===e});if(n>-1){var r=Object(p.a)(t);return r.splice(n,1),r}return t}))}(e),q(function(t){return[].concat(Object(p.a)(t),[d[e]])})))},PUT_IN_POT:function(e){null!=e&&(Le(e),{PEPPER:function(){le(function(e){return Object(f.a)({},e,{pepper:!0,soupHue:57})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{pepper:!1})})},750)},SALT:function(){le(function(e){return Object(f.a)({},e,{salt:!0,soupHue:320})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{salt:!1})})},750)},OREGANO:function(){le(function(e){return Object(f.a)({},e,{oregano:!0,soupHue:113})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{oregano:!1})})},750)},CUT_TOMATO:function(){le(function(e){return Object(f.a)({},e,{tomato:e.tomato+1})})},CUT_CARROT:function(){le(function(e){return Object(f.a)({},e,{carrot:e.carrot+1})})},CUT_CUCUMBER:function(){le(function(e){return Object(f.a)({},e,{cucumber:e.cucumber+1})})}}[e]())},SIMMER:function(e){le(function(e){return Object(f.a)({},e,{simmer:!0})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{soup:!0,soupHue:0})})},500),setTimeout(function(){le(function(e){return Object(f.a)({},e,{simmer:!1})})},1e3)},ADD_TO_SALAD:function(e){console.log("addToSalad()"),console.log(e),null!=e&&(Le(e),{CUT_TOMATO:function(){de(function(e){return Object(f.a)({},e,{tomato:e.tomato+1})})},CUT_CUCUMBER:function(){de(function(e){return Object(f.a)({},e,{cucumber:e.cucumber+1})})},CUT_CARROT:function(){de(function(e){return Object(f.a)({},e,{carrot:e.carrot+1})})}}[e]())},MIX_SALAD:function(e){de(function(e){return Object(f.a)({},e,{mixing:!0})}),setTimeout(function(){de(function(e){return Object(f.a)({},e,{mixed:!0})})},500),setTimeout(function(){de(function(e){return Object(f.a)({},e,{mixing:!1})})},1e3)},BLEND:function(e){oe(function(e){return Object(f.a)({},e,{shake:!0})}),setTimeout(function(){oe(function(e){return Object(f.a)({},e,{full:!0})})},500),setTimeout(function(){oe(function(e){return Object(f.a)({},e,{shake:!1})})},1e3)},ADD_TO_BLENDER:function(e){null!=e&&(Le(e),{CITRUS:function(){Oe(function(e){return Object(f.a)({},e,{count:e.count>0?e.count-1:0})}),oe(function(e){return Object(f.a)({},e,{citrus:e.citrus+1})})},BERRY:function(){Ae(function(e){return Object(f.a)({},e,{count:e.count>0?e.count-1:0})}),oe(function(e){return Object(f.a)({},e,{berry:e.berry+1})})}}[e]())},REMOVE_FROM_COUNTER:Le,CUT_ON_COUNTER:function(e){if(console.log("cutOnCounter",e),e&&(console.log("counter: ",K),xe.hasOwnProperty(e))){var t=xe[e];console.log("counter: ",K),console.log("filter: ",K.filter(function(t){return d[t]!==e})),q(function(n){var r=n.findIndex(function(t){return d[t]===e});if(r>-1){var a=Object(p.a)(n);return a.splice(r,1,d[t]),a}return n})}}};function Fe(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";oe(B),le(P),de(I),je("SALAD"===_e),Oe(H),Ae(D),q([]),Ce(t);var r=function(e){return new Promise(function(t){return setTimeout(t,e)})},a=Array();h.a.get(e).then(function(){var e=Object(m.a)(N().mark(function e(c){var i,s,l;return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(console.log("GOT: "+JSON.stringify(c.data,null,2)),0!=(a=c.data).length){e.next=6;break}return Z("".concat(b," ").concat(t,"! ").concat(n)),Ce(""),e.abrupt("return");case 6:return Z("Let's go!"),e.next=9,r(F);case 9:i=S(a),e.prev=10,i.s();case 12:if((s=i.n()).done){e.next=21;break}return l=s.value,console.log(o[String(l.type)]+" "+(l.parameter?u[String(l.parameter)]:"")),Z(o[String(l.type)]+" "+(l.parameter?u[String(l.parameter)]:"")),Me[String(l.type)](l.parameter?String(l.parameter):null),e.next=19,r(F);case 19:e.next=12;break;case 21:e.next=26;break;case 23:e.prev=23,e.t0=e.catch(10),i.e(e.t0);case 26:return e.prev=26,i.f(),e.finish(26);case 29:Z(v);case 30:case"end":return e.stop()}},e,null,[[10,23,26,29]])}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z(C)}).finally(function(){Ce("")})}function Be(e){return!Se}return React.createElement("div",{className:"App-main-container"},React.createElement("div",{className:"App-buttons-container"},React.createElement("button",{className:"App-button-base App-game-button-bottom-base App-button-back",onClick:function(){t(_.START)}})),React.createElement("div",{className:"App-kitchen-space"},React.createElement("div",{className:"App-info-container"},React.createElement("div",{className:"App-info-container-text font-link-base"},Q)),React.createElement("div",{className:"App-kitchen-container"},React.createElement("div",{className:"App-left-kitchen-container"},React.createElement(O,{visible:ne}),React.createElement(T,{products:V})),React.createElement("div",{className:"App-center-kitchen-container"},React.createElement("div",{className:"App-basket-kitchen-container"},React.createElement(E,{basketOptions:ve}),React.createElement(y,{saladBowlOptions:me}),React.createElement(E,{basketOptions:Ee})),React.createElement(A,{products:K})),React.createElement("div",{className:"App-right-kitchen-container"},React.createElement(g,{blenderOptions:ce}),React.createElement(R,{potOptions:se})))),React.createElement("div",{className:"App-buttons-container"},("SOUP"===_e||"SALAD"===_e)&&React.createElement("button",{className:"App-button-base App-button-action "+(Be()?"":"App-button-disable"),onClick:function(){return function(){oe(B),le(P),de(I),je("SALAD"===_e),Oe(H),Ae(D),q([]);var e=Array();h.a.get(n).then(function(){var t=Object(m.a)(N().mark(function t(n){var r;return N().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:r=n.data,e=r.map(function(e){return d[e]}),console.log("Refill GOT: "+e),W(e),Z(s);case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}()).catch(function(e){Z(l)})}()}},"Refill"),"SOUP"===_e&&React.createElement(React.Fragment,null,React.createElement("button",{className:"App-button-base App-button-action "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/tomato-soup","tomato soup","You need at least three fresh tomatoes in the fridge! Please refill!")}},"Soup"),React.createElement("button",{className:"App-button-base App-button-action "+(se.soup&&!se.spiced&&Be()?"":"App-button-disable"),onClick:function(){return function(){Ce("spice");var e=function(e){return new Promise(function(t){return setTimeout(t,e)})},t=Array();h.a.get(a).then(function(){var n=Object(m.a)(N().mark(function n(r){var a,c,i;return N().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(t=r.data,console.log("GOT: "+t),0!=t.length){n.next=6;break}return Z(k),Ce(""),n.abrupt("return");case 6:return Z(w),n.next=9,e(F);case 9:a=S(t),n.prev=10,a.s();case 12:if((c=a.n()).done){n.next=21;break}return i=c.value,console.log(o[String(i.type)]+" "+(i.parameter?u[String(i.parameter)]:"")),Z(o[String(i.type)]+" "+(i.parameter?u[String(i.parameter)]:"")),Me[String(i.type)](i.parameter?String(i.parameter):null),n.next=19,e(F);case 19:n.next=12;break;case 21:n.next=26;break;case 23:n.prev=23,n.t0=n.catch(10),a.e(n.t0);case 26:return n.prev=26,a.f(),n.finish(26);case 29:Z(j),le(function(e){return Object(f.a)({},e,{spiced:!0})});case 31:case"end":return n.stop()}},n,null,[[10,23,26,29]])}));return function(e){return n.apply(this,arguments)}}()).catch(function(e){Z(U)}).finally(function(){Ce("")})}()}},"Spice"),React.createElement("button",{className:"App-button-base App-button-action "+(se.soup&&se.spiced&&Be()?"":"App-button-disable"),onClick:function(){h.a.get(c).then(function(){var e=Object(m.a)(N().mark(function e(t){var n;return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=t.data,console.log("isTasteGood: "+n),Z(n?x:L);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z(M)})}},"Taste")),"SALAD"===_e&&React.createElement(React.Fragment,null,React.createElement("button",{className:"App-button-base App-button-action-wide "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/salad-list","salad (list)","Please refill the fridge!")}},"Salad list"),React.createElement("button",{className:"App-button-base App-button-action-wide "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/salad-sequence","salad (sequence)","Please refill the fridge!")}},"Salad seq.")),"SMOOTHIE"===_e&&React.createElement("button",{className:"App-button-base App-button-action-wide "+(Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/smoothie","smoothie")}},"Smoothie")))}window.React=a.a;var _=function(e){return e[e.START=0]="START",e[e.GAME=1]="GAME",e}({});function w(e){var t=e.state,n=e.gameStateSetter;switch(t){case _.START:return a.a.createElement(l,{gameStateSetter:n});case _.GAME:return a.a.createElement(k,{gameStateSetter:n})}}var j=function(){var e=Object(r.useState)(_.START),t=Object(i.a)(e,2),n=t[0],a=t[1];switch(n){case _.START:return React.createElement("div",{className:"App"},React.createElement("header",{className:"App-header-base App-header-black"},React.createElement(w,{state:n,gameStateSetter:a})));default:return React.createElement("div",{className:"App"},React.createElement("header",{className:"App-header-base App-header-white"},React.createElement(w,{state:n,gameStateSetter:a})))}},U=function(e){e&&e instanceof Function&&n.e(3).then(n.bind(null,56)).then(function(t){var n=t.getCLS,r=t.getFID,a=t.getFCP,c=t.getLCP,o=t.getTTFB;n(e),r(e),a(e),c(e),o(e)})};h.a.defaults.baseURL="/api/",o.a.createRoot(document.getElementById("root")).render(a.a.createElement(a.a.StrictMode,null,a.a.createElement(j,null))),U()}},[[23,1,2]]]); +//# sourceMappingURL=main.2934fd44.chunk.js.map \ No newline at end of file diff --git a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.2934fd44.chunk.js.map b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.2934fd44.chunk.js.map new file mode 100644 index 0000000..bc6b7d6 --- /dev/null +++ b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.2934fd44.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets/logo.svg","components/screens/StartScreen.tsx","models/JsItemType.ts","components/Product.tsx","components/Counter.tsx","components/Blender.tsx","components/Pot.tsx","components/Basket.tsx","components/SpicesShelf.tsx","components/SaladBowl.tsx","components/Fridge.tsx","components/screens/MainActionsScreen.tsx","components/GameScreen.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["module","exports","__webpack_require__","p","StartScreen","_ref","gameStateSetter","React","createElement","className","src","logo","alt","onClick","GameState","GAME","JsItemType","Product","product","_ref$inFridge","inFridge","productClass","baseProductClasses","Counter","products","half","Math","ceil","length","topProducts","slice","bottomProducts","map","index","Blender","_ref$blenderOptions","blenderOptions","visible","full","shake","citrus","berry","blenderJarClass","Fragment","Array","from","_","i","key","style","top","concat","Pot","_ref$potOptions","potOptions","simmer","soup","pepper","salt","oregano","cucumber","tomato","carrot","soupHue","potClass","filter","Basket","_ref$basketOptions","basketOptions","type","count","CurrentBasketClass","SpicesShelf","SaladBowl","_ref$saladBowlOptions","saladBowlOptions","mixing","mixed","Fridge","third","firstShelf","secondShelf","thirdShelf","adjustShelvesPosition","useCallback","fridge","document","querySelector","firstShelfElements","querySelectorAll","secondShelfElements","thirdShelfElements","fridgeHeight","clientHeight","firstNewTopValue","secondNewTopValue","thirdNewTopValue","forEach","element","useEffect","handleResize","window","addEventListener","removeEventListener","left","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","MainActionsScreen","refillUrl","spiceUrl","tasteUrl","infoTextActionMap","SHOW_ON_COUNTER","PUT_IN_POT","SIMMER","ADD_TO_SALAD","MIX_SALAD","BLEND","ADD_TO_BLENDER","REMOVE_FROM_COUNTER","CUT_ON_COUNTER","infoTextItemMap","CITRUS_BASKET","BERRY_BASKET","ROT_TOMATO","FRESH_TOMATO","CUT_TOMATO","ROT_CUCUMBER","FRESH_CUCUMBER","CUT_CUCUMBER","ROT_CARROT","FRESH_CARROT","CUT_CARROT","BERRY","CITRUS","SALT","PEPPER","OREGANO","refillSuccMsg","refillErrMsg","cookingNoActionsMsg","cookingDoneMsg","cookingErrMsg","noSoupSpicingMsg","beforeSpicingMsg","afterSpicingMsg","spicingErrMsg","tasteGoodMsg","tasteBadMsg","tasteErrMsg","cookingDelay","initialBlenderOptions","initialPotOptions","spiced","initialSaladBowlOptions","initialBerryBasketOptions","initialCitrusBasketOptions","axios","get","_ref2","_asyncToGenerator","_callee","response","_context","console","log","data","setCurrentTask","SaladBowlVisSetter","_x","apply","arguments","error","infoTextSetter","_useState","useState","_useState2","_slicedToArray","counterProducts","counterProductsSetter","_useState3","_useState4","fridgeProducts","fridgeProductsSetter","_useState5","_useState6","infoText","_useState7","_useState8","spicesShelfVis","_useState9","_useState10","setBlenderOptions","_useState11","_useState12","setPotOptions","_useState13","_useState14","setSaladBowlOptions","_useState15","_useState16","berryBasketOptions","setBerryBasketOptions","_useState17","_useState18","citrusBasketOptions","setCitrusBasketOptions","_useState19","_useState20","buttonBlocker","setButtonBlocker","_useState21","_useState22","currentTask","prevOptions","_objectSpread","counterVisMap","BLENDER","POT","cuttedMap","removeFromCounter","item","prevState","findIndex","newState","_toConsumableArray","splice","actionMap","removeFromFridge","setTimeout","cuttedArg","cook","url","dishName","emptyListMsg","undefined","delay","ms","res","actions","_ref4","_callee3","_iterator","_step","action","_context3","JSON","stringify","_createForOfIteratorHelper","String","parameter","t0","_x3","finally","shouldShow","buttonName","START","items","_ref3","_callee2","receivedItems","_context2","_x2","refill","_ref5","_callee4","_iterator2","_step2","_context4","_x4","spice","_ref6","_callee5","isTasteGood","_context5","_x5","GameScreen","state","App","gameState","reportWebVitals","onPerfEntry","Function","bind","getCLS","getFID","getFCP","getLCP","getTTFB","defaults","baseURL","process","ReactDOM","createRoot","getElementById","render","StrictMode"],"mappings":"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","file":"static/js/main.2934fd44.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.af49c77d.svg\";","import logo from \"../../assets/logo.svg\";\nimport {GameState} from \"../GameScreen\";\n\ntype StartScreenProps = {\n gameStateSetter: (gs: GameState) => void\n}\n\nexport default function StartScreen({gameStateSetter}: StartScreenProps) {\n return (\n
\n \"logo\"/\n

Culinary arts

\n

by Kotlin Course

\n
\n \n
\n
\n );\n}\n","export enum JsItemType {\n CITRUS_BASKET,\n BERRY_BASKET,\n\n ROT_TOMATO,\n FRESH_TOMATO,\n CUT_TOMATO,\n\n ROT_CUCUMBER,\n FRESH_CUCUMBER,\n CUT_CUCUMBER,\n\n ROT_CARROT,\n FRESH_CARROT,\n CUT_CARROT,\n\n BERRY,\n CITRUS,\n\n SALT,\n PEPPER,\n OREGANO,\n}\n","import {JsItemType} from '../models/JsItemType'\n\n\ntype ProductProps = {\n product: JsItemType,\n inFridge?: boolean\n}\n\nexport default function Product({product, inFridge=false}: ProductProps) {\n let baseProductClasses = \"App-product-image\"\n let productClass = baseProductClasses + \"-\" + JsItemType[product]\n return(\n
\n )\n}\n","import Product from \"./Product\";\nimport {JsItemType} from \"../models/JsItemType\";\n\ntype CounterProps = {\n products: Array,\n}\n\nexport default function Counter({products}: CounterProps) {\n function getProductByIndex(index: number): JsItemType {\n if (products.length > index) {\n return products[index]\n }\n return JsItemType.ROT_TOMATO\n }\n\n const half = Math.ceil(products.length / 2);\n const topProducts = products.slice(0, half);\n const bottomProducts = products.slice(half);\n\n return(\n
\n
\n {topProducts.map((product, index) => (\n \n ))}\n
\n
\n {bottomProducts.map((product, index) => (\n \n ))}\n
\n
\n )\n}\n","type BlenderProps = {\n blenderOptions: {\n visible: boolean;\n full: boolean;\n shake: boolean;\n citrus: number;\n berry: number;\n }\n}\n\nexport default function Blender({blenderOptions: {visible, full, shake, citrus, berry}}: BlenderProps) {\n let baseBlenderJarClasses = \"App-blender-jar\"\n let blenderJarClass = baseBlenderJarClasses + (full ? \"-full\" : \"\")\n return (\n
\n
\n {!full && (\n <>\n {Array.from({length: citrus}).map((_, i) => (\n
\n ))}\n {Array.from({length: berry}).map((_, i) => (\n
\n ))}\n \n )}\n
\n )\n}\n","type PotProps = {\n potOptions: {\n visible: boolean,\n simmer: boolean,\n soup: boolean,\n pepper: boolean,\n salt: boolean,\n oregano: boolean,\n cucumber: number,\n tomato: number,\n carrot: number,\n soupHue: number,\n spiced: boolean\n }\n}\n\nexport default function Pot({potOptions:{visible,simmer,soup,pepper,salt,oregano, cucumber, tomato,carrot,soupHue}}: PotProps) {\n let basePotClasses = \"App-pot\"\n let potClass = basePotClasses + (soup ? \"-soup\" : \"-water\")\n return (\n
\n
\n\n {!soup && (\n <>\n {Array.from({length: cucumber}).map((_, i) => (\n
\n ))}\n {Array.from({length: tomato}).map((_, i) => (\n
\n ))}\n {Array.from({length: carrot}).map((_, i) => (\n
\n ))}\n \n )}\n
\n
\n
\n
\n
\n )\n}\n","type BasketProps = {\n basketOptions: {\n type: string,\n visible: boolean,\n count: number,\n }\n}\n\nexport default function Basket({basketOptions:{type, visible, count}}: BasketProps) {\n let BasketClass = \"App-basket \"\n let CurrentBasketClass = `App-basket-${type}-`\n return(\n
\n
\n {count > 0 && (\n <>\n {Array.from({length: count}).map((_, i) => (\n
\n ))}\n \n )}\n
\n
\n )\n}\n","type SpicesShelfProps = {\n visible: boolean\n}\n\nexport default function SpicesShelf({visible}: SpicesShelfProps) {\n let SpicesShelfClass = \"App-spices-shelf\"\n return(\n
\n )\n}\n","import Product from \"./Product\";\n\ntype SaladBowlProps = {\n saladBowlOptions: {\n visible: boolean,\n mixing: boolean,\n mixed: boolean,\n tomato: number,\n cucumber: number,\n carrot: number\n }\n}\n\nexport default function SaladBowl({saladBowlOptions:{visible,mixing,mixed,tomato,cucumber,carrot}}: SaladBowlProps) {\n return (\n
\n {!mixed ? (\n <>\n {Array.from({length: carrot}).map((_, i) => (\n
\n ))}\n {Array.from({length: tomato}).map((_, i) => (\n
\n ))}\n {Array.from({length: cucumber}).map((_, i) => (\n
\n ))}\n ) : (\n <>\n
0) ? \"\" : \"App-invisible\")}\n >
\n
0) ? \"\" : \"App-invisible\")}\n >
\n
0) ? \"\" : \"App-invisible\")}\n >
\n \n )}\n
\n
\n )\n}\n","import React, { useEffect, useCallback} from 'react';\nimport Product from \"./Product\";\nimport {JsItemType} from \"../models/JsItemType\";\n\ntype FridgeProps = {\n products: Array,\n}\n\nexport default function Fridge({products}: FridgeProps) {\n\n const third = Math.ceil(products.length / 3);\n const firstShelf = products.slice(0, third);\n const secondShelf = products.slice(third, third * 2);\n const thirdShelf = products.slice(third * 2);\n\n\n const adjustShelvesPosition = useCallback(() => {\n const fridge = document.querySelector('.App-fridge');\n const firstShelfElements = document.querySelectorAll('.App-fridge-first-shelf');\n const secondShelfElements = document.querySelectorAll('.App-fridge-second-shelf');\n const thirdShelfElements = document.querySelectorAll('.App-fridge-third-shelf');\n if (fridge) {\n const fridgeHeight = fridge.clientHeight;\n const firstNewTopValue = fridgeHeight * 0.15; // Adjust the multiplier as needed\n const secondNewTopValue = fridgeHeight * 0.3; // Adjust the multiplier as needed\n const thirdNewTopValue = fridgeHeight * 0.425; // Adjust the multiplier as needed\n firstShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${firstNewTopValue}px`;\n });\n secondShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${secondNewTopValue}px`;\n });\n thirdShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${thirdNewTopValue}px`;\n });\n }\n }, [products]);\n\n useEffect(() => {\n adjustShelvesPosition();\n const handleResize = () => {\n adjustShelvesPosition();\n };\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [adjustShelvesPosition]);\n\n return(\n
\n
\n {firstShelf.map((product, index) => (\n
\n \n
\n ))}\n {secondShelf.map((product, index) => (\n
\n \n
\n ))}\n {thirdShelf.map((product, index) => (\n
\n \n
\n ))}\n
\n )\n}\n","import {GameState} from \"../GameScreen\";\nimport {useEffect, useState} from \"react\";\nimport {JsAction} from '../../models/JsAction'\nimport {JsItemType} from '../../models/JsItemType'\nimport axios from \"axios\";\nimport Counter from \"../Counter\";\nimport Blender from \"../Blender\";\nimport Pot from \"../Pot\";\nimport Basket from \"../Basket\";\nimport SpicesShelf from \"../SpicesShelf\";\nimport SaladBowl from \"../SaladBowl\";\nimport Fridge from \"../Fridge\";\n\ntype MainActionsScreenProps = {\n gameStateSetter: (gs: GameState) => void\n}\n\nexport default function MainActionsScreen({gameStateSetter}: MainActionsScreenProps) {\n\n const taskTypeUrl = \"/functions/current-task\"\n const refillUrl = \"/functions/refill-fridge\"\n const soupUrl = \"/functions/tomato-soup\"\n const spiceUrl = \"/functions/soup-spices\"\n const tasteUrl = \"/functions/check-soup\"\n const saladListUrl = \"/functions/salad-list\"\n const saladSequenceUrl = \"/functions/salad-sequence\"\n const smoothieUrl = \"/functions/smoothie\"\n\n let infoTextActionMap: { [key: string]: string } = {\n \"SHOW_ON_COUNTER\": \"Placing the current ingredient on the cooking space:\",\n \"PUT_IN_POT\": \"Putting into the pot:\",\n \"SIMMER\": \"Cooking!\",\n \"ADD_TO_SALAD\": \"Adding to the salad:\",\n \"MIX_SALAD\": \"Mixing the salad.\",\n \"BLEND\": \"Blending.\",\n \"ADD_TO_BLENDER\": \"Adding to the blender:\",\n \"REMOVE_FROM_COUNTER\": \"Removing the current ingredient from the cooking space:\",\n \"CUT_ON_COUNTER\": \"Cutting\",\n }\n\n let infoTextItemMap: { [key: string]: string } = {\n \"CITRUS_BASKET\": \"citrus basket\",\n \"BERRY_BASKET\": \"berry basket\",\n \"ROT_TOMATO\": \"rotten tomato\",\n \"FRESH_TOMATO\": \"fresh tomato\",\n \"CUT_TOMATO\": \"cut tomato\",\n \"ROT_CUCUMBER\": \"rotten cucumber\",\n \"FRESH_CUCUMBER\": \"fresh cucumber\",\n \"CUT_CUCUMBER\": \"cut cucumber\",\n \"ROT_CARROT\": \"rotten carrot\",\n \"FRESH_CARROT\": \"fresh carrot\",\n \"CUT_CARROT\": \"cut carrot\",\n \"BERRY\": \"a berry\",\n \"CITRUS\": \"an orange\",\n \"SALT\": \"salt\",\n \"PEPPER\": \"pepper\",\n \"OREGANO\": \"oregano\",\n }\n\n const startupMsg = \"Press the button to start\"\n const getTaskErrMsg = \"Can't retrieve task type. Please check the backend.\"\n\n const refillSuccMsg = \"The fridge has been refilled!\"\n const refillErrMsg = \"Failed to refill the fridge. Check your implementation.\"\n const soupEmptyListMsg = \"You need at least three fresh tomatoes in the fridge! Please refill!\"\n\n const cookingNoActionsMsg = \"Not enough ingredients to cook\"\n const cookingDoneMsg = \"Cooking is complete!\"\n const cookingErrMsg = \"Failed to cook. Check your implementation.\"\n\n const noSoupSpicingMsg = \"You need to cook the soup first!\"\n const beforeSpicingMsg = \"Let's add some spices!\"\n const afterSpicingMsg = \"Spices have been added!\"\n const spicingErrMsg = \"Failed to add spices. Check your implementation.\"\n\n const tasteGoodMsg = \"It tastes great! 🎉\"\n const tasteBadMsg = \"It tastes terrible... Please try cooking the soup again.\"\n const tasteErrMsg = \"Failed to retrieve taste status. Check your implementation.\"\n\n const saladEmptyListMsg = \"Please refill the fridge!\"\n\n const soupName = \"tomato soup\"\n const saladListName = \"salad (list)\"\n const saladSequenceName = \"salad (sequence)\"\n const smoothieName = \"smoothie\"\n\n const cookingDelay = 1000 // ms\n\n type BlenderOptions = {\n visible: boolean,\n full: boolean,\n shake: boolean,\n berry: number,\n citrus: number,\n }\n\n const initialBlenderOptions: BlenderOptions = {\n visible: true,\n full: false,\n shake: false,\n berry: 0,\n citrus: 0,\n }\n\n type PotOptions = {\n visible: boolean,\n simmer: boolean,\n soup: boolean,\n pepper: boolean,\n salt: boolean,\n oregano: boolean,\n cucumber: number,\n tomato: number,\n carrot: number,\n soupHue: number,\n spiced: boolean\n }\n\n const initialPotOptions: PotOptions = {\n visible: true,\n simmer: false,\n soup: false,\n pepper: false,\n salt: false,\n oregano: false,\n cucumber: 0,\n tomato: 0,\n carrot: 0,\n soupHue: 0,\n spiced: false\n }\n\n type SaladBowlOptions = {\n visible: boolean,\n mixing: boolean,\n mixed: boolean,\n tomato: number,\n cucumber: number,\n carrot: number,\n }\n\n const initialSaladBowlOptions: SaladBowlOptions = {\n visible: false,\n mixing: false,\n mixed: false,\n tomato: 0,\n cucumber: 0,\n carrot: 0,\n }\n\n type BasketOptions = {\n type: string,\n visible: boolean,\n count: number,\n }\n\n const initialBerryBasketOptions: BasketOptions = {\n type: \"berry\",\n visible: false,\n count: 5,\n }\n\n const initialCitrusBasketOptions: BasketOptions = {\n type: \"citrus\",\n visible: false,\n count: 5,\n }\n\n useEffect(() => {\n axios.get(taskTypeUrl).then(async (response) => {\n console.log(`Current task type: ${response.data as String}`)\n setCurrentTask(response.data as String)\n SaladBowlVisSetter((response.data as String)===\"SALAD\")\n }).catch(error => {\n infoTextSetter(getTaskErrMsg)\n })\n }, [])\n\n let [counterProducts, counterProductsSetter] = useState>([])\n let [fridgeProducts, fridgeProductsSetter] = useState>([])\n let [infoText, infoTextSetter] = useState(startupMsg)\n let [spicesShelfVis, spicesShelfVisSetter] = useState(true)\n let [blenderOptions, setBlenderOptions] = useState(initialBlenderOptions);\n let [potOptions, setPotOptions] = useState(initialPotOptions);\n let [saladBowlOptions, setSaladBowlOptions] = useState(initialSaladBowlOptions);\n let [berryBasketOptions, setBerryBasketOptions] = useState(initialBerryBasketOptions);\n let [citrusBasketOptions, setCitrusBasketOptions] = useState(initialCitrusBasketOptions);\n let [buttonBlocker, setButtonBlocker] = useState(\"\");\n let [currentTask, setCurrentTask] = useState(\"\");\n\n function berryBasketVisSetter(value: boolean){\n setBerryBasketOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }))\n }\n\n function citrusBasketVisSetter(value: boolean){\n setCitrusBasketOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }))\n }\n\n function blenderVisSetter(value: boolean) {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n function potVisSetter(value: boolean) {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n function SaladBowlVisSetter(value: boolean) {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n let counterVisMap: { [key: string]: (arg: boolean) => void } = {\n \"BERRY_BASKET\": berryBasketVisSetter,\n \"CITRUS_BASKET\": citrusBasketVisSetter,\n \"BLENDER\": blenderVisSetter,\n \"POT\": potVisSetter\n }\n\n function showOnCounter(arg: string | null) {\n console.log(\"showOnCounter\", arg)\n if (!arg) {\n return\n }\n if (arg in counterVisMap) {\n counterVisMap[arg](true)\n } else {\n removeFromFridge(arg)\n counterProductsSetter((prevState) => [\n ...prevState,\n JsItemType[arg as keyof typeof JsItemType],\n ]);\n }\n }\n\n function putInPot(arg: string | null) {\n if (arg == null)\n return\n removeFromCounter(arg)\n let potMap: { [key: string]: () => void } = {\n \"PEPPER\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n pepper: true,\n soupHue: 57, // Dark green\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n pepper: false\n }));\n }, 750);\n },\n \"SALT\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n salt: true,\n soupHue: 320, // Pink\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n salt: false\n }));\n }, 750);\n },\n \"OREGANO\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n oregano: true,\n soupHue: 113, // Green\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n oregano: false\n }));\n }, 750);\n },\n \"CUT_TOMATO\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n tomato: prevOptions.tomato+1\n }));\n },\n \"CUT_CARROT\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n carrot: prevOptions.carrot+1\n }));\n },\n \"CUT_CUCUMBER\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n cucumber: prevOptions.cucumber+1\n }));\n },\n }\n potMap[arg]()\n }\n\n function simmer(arg: string | null) {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n simmer: true\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n soup: true,\n soupHue: 0,\n }));\n }, 500);\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n simmer: false\n }));\n }, 1000);\n }\n\n function addToSalad(arg: string | null) {\n console.log(\"addToSalad()\")\n console.log(arg)\n if (arg == null)\n return\n removeFromCounter(arg)\n let saladMap: { [key: string]: () => void } = {\n \"CUT_TOMATO\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n tomato: prevOptions.tomato+1\n }));\n },\n \"CUT_CUCUMBER\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n cucumber: prevOptions.cucumber+1\n }));\n },\n \"CUT_CARROT\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n carrot: prevOptions.carrot+1\n }));\n },\n }\n saladMap[arg]()\n }\n\n function mixSalad(arg: string | null) {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixing: true\n }));\n setTimeout(() => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixed: true\n }));\n }, 500);\n setTimeout(() => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixing: false\n }));\n }, 1000);\n }\n\n function blend(arg: string | null) {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n shake: true\n }));\n setTimeout(() => {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n full: true\n }));\n }, 500);\n setTimeout(() => {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n shake: false\n }));\n }, 1000);\n }\n\n function addToBlender(arg: string | null) {\n if (arg == null)\n return\n removeFromCounter(arg)\n let blenderMap: { [key: string]: () => void } = {\n \"CITRUS\": () => {\n setCitrusBasketOptions(prevOptions => ({\n ...prevOptions,\n count: (prevOptions.count > 0) ? prevOptions.count-1 : 0\n })\n )\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n citrus: prevOptions.citrus+1\n }));\n },\n \"BERRY\": () => {\n setBerryBasketOptions(prevOptions => ({\n ...prevOptions,\n count: (prevOptions.count > 0) ? prevOptions.count-1 : 0\n })\n )\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n berry: prevOptions.berry+1\n }));\n },\n }\n blenderMap[arg]()\n }\n\n let cuttedMap: { [key: string]: string } = {\n \"FRESH_TOMATO\": \"CUT_TOMATO\",\n \"FRESH_CUCUMBER\": \"CUT_CUCUMBER\",\n \"FRESH_CARROT\": \"CUT_CARROT\",\n }\n\n function cutOnCounter(arg: string | null){\n console.log(\"cutOnCounter\", arg)\n if (!arg){\n return\n }\n console.log(\"counter: \", counterProducts)\n if (cuttedMap.hasOwnProperty(arg)) {\n let cuttedArg = cuttedMap[arg];\n console.log(\"counter: \", counterProducts)\n console.log(\"filter: \", counterProducts.filter(item => JsItemType[item] !== arg))\n counterProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1, JsItemType[cuttedArg as keyof typeof JsItemType]);\n return newState;\n }\n return prevState;\n });\n }\n }\n \n function removeFromCounter(arg: string | null) {\n console.log(\"removeFromCounter\", arg)\n if (!arg){\n return\n }\n else {\n console.log(\"counter: \", counterProducts)\n console.log(\"filter: \", counterProducts.filter(item => JsItemType[item] !== arg))\n counterProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1);\n return newState;\n }\n return prevState;\n });\n }\n }\n\n function removeFromFridge(arg: string | null) {\n console.log(\"removeFromFridge\", arg)\n if (!arg)\n return\n console.log(\"counter: \", fridgeProducts)\n console.log(\"filter: \", fridgeProducts.filter(item => JsItemType[item] !== arg))\n fridgeProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1);\n return newState;\n }\n return prevState;\n });\n }\n\n\n let actionMap: { [key: string]: (arg: string | null) => void } = {\n \"SHOW_ON_COUNTER\": showOnCounter,\n \"PUT_IN_POT\": putInPot,\n \"SIMMER\": simmer,\n \"ADD_TO_SALAD\": addToSalad,\n \"MIX_SALAD\": mixSalad,\n \"BLEND\": blend,\n \"ADD_TO_BLENDER\": addToBlender,\n \"REMOVE_FROM_COUNTER\": removeFromCounter,\n \"CUT_ON_COUNTER\": cutOnCounter\n };\n\n function refill(){\n setBlenderOptions(initialBlenderOptions);\n setPotOptions(initialPotOptions);\n setSaladBowlOptions(initialSaladBowlOptions)\n SaladBowlVisSetter(currentTask===\"SALAD\")\n setCitrusBasketOptions(initialCitrusBasketOptions)\n setBerryBasketOptions(initialBerryBasketOptions)\n counterProductsSetter([])\n let items = Array()\n axios.get(refillUrl).then(async (response) => {\n const receivedItems: Array = response.data;\n items = receivedItems.map(item => JsItemType[item]);\n console.log(\"Refill GOT: \" + items)\n fridgeProductsSetter(items)\n infoTextSetter(refillSuccMsg)\n }).catch(error => {\n infoTextSetter(refillErrMsg);\n })\n }\n\n\n function cook(url: string, dishName: string, emptyListMsg: string = \"\"){\n setBlenderOptions(initialBlenderOptions);\n setPotOptions(initialPotOptions);\n setSaladBowlOptions(initialSaladBowlOptions)\n SaladBowlVisSetter(currentTask===\"SALAD\")\n setCitrusBasketOptions(initialCitrusBasketOptions)\n setBerryBasketOptions(initialBerryBasketOptions)\n counterProductsSetter([])\n setButtonBlocker(dishName)\n\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n\n let actions = Array()\n axios.get(url).then(async (response) => {\n console.log(\"GOT: \" + JSON.stringify(response.data, null, 2))\n actions = response.data as Array\n if (actions.length == 0){\n infoTextSetter(`${cookingNoActionsMsg} ${dishName}! ${emptyListMsg}`)\n setButtonBlocker(\"\")\n return\n }\n infoTextSetter(\"Let's go!\")\n await delay(cookingDelay);\n for (const action of actions) {\n console.log(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n infoTextSetter(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n actionMap[String(action.type)](\n action.parameter ? String(action.parameter) : null\n )\n await delay(cookingDelay);\n }\n infoTextSetter(cookingDoneMsg)\n }).catch(error => {\n infoTextSetter(cookingErrMsg)\n }).finally(() => {\n setButtonBlocker(\"\")\n })\n }\n\n function spice() {\n setButtonBlocker(\"spice\")\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n\n let actions = Array()\n axios.get(spiceUrl).then(async (response) => {\n actions = response.data as Array\n console.log(\"GOT: \" + actions)\n if (actions.length == 0){\n infoTextSetter(noSoupSpicingMsg)\n setButtonBlocker(\"\")\n return\n }\n infoTextSetter(beforeSpicingMsg)\n await delay(cookingDelay);\n for (const action of actions) {\n console.log(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n infoTextSetter(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n actionMap[String(action.type)](\n action.parameter ? String(action.parameter) : null\n )\n await delay(cookingDelay);\n }\n infoTextSetter(afterSpicingMsg)\n setPotOptions(prevOptions => ({\n ...prevOptions,\n spiced: true\n }));\n }).catch(error => {\n infoTextSetter(spicingErrMsg)\n }).finally(() => {\n setButtonBlocker(\"\")\n })\n }\n\n function taste() {\n axios.get(tasteUrl).then(async (response) => {\n let isTasteGood = response.data as boolean\n console.log(\"isTasteGood: \" + isTasteGood)\n if(isTasteGood){\n infoTextSetter(tasteGoodMsg)\n } else {\n infoTextSetter(tasteBadMsg)\n }\n }).catch(error => {\n infoTextSetter(tasteErrMsg)\n })\n }\n\n function shouldShow(buttonName: string){\n return !buttonBlocker;\n }\n\n return (\n
\n
\n \n
\n {\n
\n
\n
{infoText}
\n
\n
\n
\n \n \n
\n
\n
\n \n \n \n
\n \n
\n
\n \n \n
\n
\n
\n }\n
\n {(currentTask === \"SOUP\" || currentTask === \"SALAD\") && (\n refill()}>Refill\n \n )}\n {currentTask === \"SOUP\" && (\n <>\n 0 && shouldShow(soupName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(soupUrl, soupName, soupEmptyListMsg)}>Soup\n \n spice()}>Spice\n \n taste()}>Taste\n \n \n )}\n {currentTask === \"SALAD\" && (\n <>\n 0 && shouldShow(saladListName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(saladListUrl, saladListName, saladEmptyListMsg)}>Salad list\n \n 0 && shouldShow(saladSequenceName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(saladSequenceUrl, saladSequenceName, saladEmptyListMsg)}>Salad seq.\n \n \n )}\n {currentTask === \"SMOOTHIE\" && (\n cook(smoothieUrl, smoothieName)}>Smoothie\n \n )}\n
\n
\n );\n}\n","import StartScreen from \"./screens/StartScreen\";\nimport React from \"react\";\nimport MainActionsScreen from \"./screens/MainActionsScreen\";\nwindow.React = React\n\nexport enum GameState {\n START,\n GAME,\n}\n\nexport type GameScreenProps = {\n state: GameState,\n gameStateSetter: (gs: GameState) => void,\n}\n\nexport default function GameScreen({state, gameStateSetter}: GameScreenProps) {\n switch (state) {\n case GameState.START: {\n return \n }\n case GameState.GAME: {\n return \n }\n }\n}\n","import './App.css';\n// import './util/util'\nimport {useState} from \"react\";\nimport GameScreen, {GameState} from \"./components/GameScreen\";\n\nfunction App() {\n let [gameState, gameStateSetter] = useState(GameState.START)\n\n switch (gameState) {\n case GameState.START: {\n return (
\n
\n \n
\n
);\n }\n default: {\n return (
\n
\n \n
\n
);\n }\n }\n}\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport axios from \"axios\";\n\n// from .env.development or .env.production\naxios.defaults.baseURL = process.env.REACT_APP_API_URL\n\nconst root = ReactDOM.createRoot(\n document.getElementById('root') as HTMLElement\n);\nroot.render(\n \n \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.8072c9ee.chunk.js.map b/culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.8072c9ee.chunk.js.map deleted file mode 100644 index 6cfe81c..0000000 --- a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.8072c9ee.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets/logo.svg","components/screens/StartScreen.tsx","models/JsItemType.ts","components/Product.tsx","components/Counter.tsx","components/Blender.tsx","components/Pot.tsx","components/Basket.tsx","components/SpicesShelf.tsx","components/SaladBowl.tsx","components/Fridge.tsx","components/screens/MainActionsScreen.tsx","components/GameScreen.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["module","exports","__webpack_require__","p","StartScreen","_ref","gameStateSetter","React","createElement","className","src","logo","alt","onClick","GameState","GAME","JsItemType","Product","product","_ref$inFridge","inFridge","productClass","baseProductClasses","Counter","products","half","Math","ceil","length","topProducts","slice","bottomProducts","map","index","Blender","_ref$blenderOptions","blenderOptions","visible","full","shake","citrus","berry","blenderJarClass","Fragment","Array","from","_","i","key","style","top","concat","Pot","_ref$potOptions","potOptions","simmer","soup","pepper","salt","oregano","cucumber","tomato","carrot","soupHue","potClass","filter","Basket","_ref$basketOptions","basketOptions","type","count","CurrentBasketClass","SpicesShelf","SaladBowl","_ref$saladBowlOptions","saladBowlOptions","mixing","mixed","Fridge","third","firstShelf","secondShelf","thirdShelf","adjustShelvesPosition","useCallback","fridge","document","querySelector","firstShelfElements","querySelectorAll","secondShelfElements","thirdShelfElements","fridgeHeight","clientHeight","firstNewTopValue","secondNewTopValue","thirdNewTopValue","forEach","element","useEffect","handleResize","window","addEventListener","removeEventListener","left","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","MainActionsScreen","refillUrl","spiceUrl","tasteUrl","infoTextActionMap","SHOW_ON_COUNTER","PUT_IN_POT","SIMMER","ADD_TO_SALAD","MIX_SALAD","BLEND","ADD_TO_BLENDER","REMOVE_FROM_COUNTER","CUT_ON_COUNTER","infoTextItemMap","CITRUS_BASKET","BERRY_BASKET","ROT_TOMATO","FRESH_TOMATO","CUT_TOMATO","ROT_CUCUMBER","FRESH_CUCUMBER","CUT_CUCUMBER","ROT_CARROT","FRESH_CARROT","CUT_CARROT","BERRY","CITRUS","SALT","PEPPER","OREGANO","refillSuccMsg","refillErrMsg","cookingNoActionsMsg","cookingDoneMsg","cookingErrMsg","noSoupSpicingMsg","beforeSpicingMsg","afterSpicingMsg","spicingErrMsg","tasteGoodMsg","tasteBadMsg","tasteErrMsg","cookingDelay","initialBlenderOptions","initialPotOptions","spiced","initialSaladBowlOptions","initialBerryBasketOptions","initialCitrusBasketOptions","axios","get","_ref2","_asyncToGenerator","_callee","response","_context","console","log","data","setCurrentTask","SaladBowlVisSetter","_x","apply","arguments","error","infoTextSetter","_useState","useState","_useState2","_slicedToArray","counterProducts","counterProductsSetter","_useState3","_useState4","fridgeProducts","fridgeProductsSetter","_useState5","_useState6","infoText","_useState7","_useState8","spicesShelfVis","_useState9","_useState10","setBlenderOptions","_useState11","_useState12","setPotOptions","_useState13","_useState14","setSaladBowlOptions","_useState15","_useState16","berryBasketOptions","setBerryBasketOptions","_useState17","_useState18","citrusBasketOptions","setCitrusBasketOptions","_useState19","_useState20","buttonBlocker","setButtonBlocker","_useState21","_useState22","currentTask","prevOptions","_objectSpread","counterVisMap","BLENDER","POT","cuttedMap","removeFromCounter","item","prevState","findIndex","newState","_toConsumableArray","splice","actionMap","removeFromFridge","setTimeout","cuttedArg","cook","url","dishName","emptyListMsg","undefined","delay","ms","res","actions","_ref4","_callee3","_iterator","_step","action","_context3","JSON","stringify","_createForOfIteratorHelper","String","parameter","t0","_x3","finally","shouldShow","buttonName","START","items","_ref3","_callee2","receivedItems","_context2","_x2","refill","_ref5","_callee4","_iterator2","_step2","_context4","_x4","spice","_ref6","_callee5","isTasteGood","_context5","_x5","GameScreen","state","App","gameState","reportWebVitals","onPerfEntry","Function","bind","getCLS","getFID","getFCP","getLCP","getTTFB","defaults","baseURL","process","ReactDOM","createRoot","getElementById","render","StrictMode"],"mappings":"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","file":"static/js/main.8072c9ee.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.af49c77d.svg\";","import logo from \"../../assets/logo.svg\";\nimport {GameState} from \"../GameScreen\";\n\ntype StartScreenProps = {\n gameStateSetter: (gs: GameState) => void\n}\n\nexport default function StartScreen({gameStateSetter}: StartScreenProps) {\n return (\n
\n \"logo\"/\n

Culinary arts

\n

by Kotlin Course

\n
\n \n
\n
\n );\n}\n","export enum JsItemType {\n CITRUS_BASKET,\n BERRY_BASKET,\n\n ROT_TOMATO,\n FRESH_TOMATO,\n CUT_TOMATO,\n\n ROT_CUCUMBER,\n FRESH_CUCUMBER,\n CUT_CUCUMBER,\n\n ROT_CARROT,\n FRESH_CARROT,\n CUT_CARROT,\n\n BERRY,\n CITRUS,\n\n SALT,\n PEPPER,\n OREGANO,\n}\n","import {JsItemType} from '../models/JsItemType'\n\n\ntype ProductProps = {\n product: JsItemType,\n inFridge?: boolean\n}\n\nexport default function Product({product, inFridge=false}: ProductProps) {\n let baseProductClasses = \"App-product-image\"\n let productClass = baseProductClasses + \"-\" + JsItemType[product]\n return(\n
\n )\n}\n","import Product from \"./Product\";\nimport {JsItemType} from \"../models/JsItemType\";\n\ntype CounterProps = {\n products: Array,\n}\n\nexport default function Counter({products}: CounterProps) {\n function getProductByIndex(index: number): JsItemType {\n if (products.length > index) {\n return products[index]\n }\n return JsItemType.ROT_TOMATO\n }\n\n const half = Math.ceil(products.length / 2);\n const topProducts = products.slice(0, half);\n const bottomProducts = products.slice(half);\n\n return(\n
\n
\n {topProducts.map((product, index) => (\n \n ))}\n
\n
\n {bottomProducts.map((product, index) => (\n \n ))}\n
\n
\n )\n}\n","type BlenderProps = {\n blenderOptions: {\n visible: boolean;\n full: boolean;\n shake: boolean;\n citrus: number;\n berry: number;\n }\n}\n\nexport default function Blender({blenderOptions: {visible, full, shake, citrus, berry}}: BlenderProps) {\n let baseBlenderJarClasses = \"App-blender-jar\"\n let blenderJarClass = baseBlenderJarClasses + (full ? \"-full\" : \"\")\n return (\n
\n
\n {!full && (\n <>\n {Array.from({length: citrus}).map((_, i) => (\n
\n ))}\n {Array.from({length: berry}).map((_, i) => (\n
\n ))}\n \n )}\n
\n )\n}\n","type PotProps = {\n potOptions: {\n visible: boolean,\n simmer: boolean,\n soup: boolean,\n pepper: boolean,\n salt: boolean,\n oregano: boolean,\n cucumber: number,\n tomato: number,\n carrot: number,\n soupHue: number,\n spiced: boolean\n }\n}\n\nexport default function Pot({potOptions:{visible,simmer,soup,pepper,salt,oregano, cucumber, tomato,carrot,soupHue}}: PotProps) {\n let basePotClasses = \"App-pot\"\n let potClass = basePotClasses + (soup ? \"-soup\" : \"-water\")\n return (\n
\n
\n\n {!soup && (\n <>\n {Array.from({length: cucumber}).map((_, i) => (\n
\n ))}\n {Array.from({length: tomato}).map((_, i) => (\n
\n ))}\n {Array.from({length: carrot}).map((_, i) => (\n
\n ))}\n \n )}\n
\n
\n
\n
\n
\n )\n}\n","type BasketProps = {\n basketOptions: {\n type: string,\n visible: boolean,\n count: number,\n }\n}\n\nexport default function Basket({basketOptions:{type, visible, count}}: BasketProps) {\n let BasketClass = \"App-basket \"\n let CurrentBasketClass = `App-basket-${type}-`\n return(\n
\n
\n {count > 0 && (\n <>\n {Array.from({length: count}).map((_, i) => (\n
\n ))}\n \n )}\n
\n
\n )\n}\n","type SpicesShelfProps = {\n visible: boolean\n}\n\nexport default function SpicesShelf({visible}: SpicesShelfProps) {\n let SpicesShelfClass = \"App-spices-shelf\"\n return(\n
\n )\n}\n","import Product from \"./Product\";\n\ntype SaladBowlProps = {\n saladBowlOptions: {\n visible: boolean,\n mixing: boolean,\n mixed: boolean,\n tomato: number,\n cucumber: number,\n carrot: number\n }\n}\n\nexport default function SaladBowl({saladBowlOptions:{visible,mixing,mixed,tomato,cucumber,carrot}}: SaladBowlProps) {\n return (\n
\n {!mixed ? (\n <>\n {Array.from({length: carrot}).map((_, i) => (\n
\n ))}\n {Array.from({length: tomato}).map((_, i) => (\n
\n ))}\n {Array.from({length: cucumber}).map((_, i) => (\n
\n ))}\n ) : (\n <>\n
0) ? \"\" : \"App-invisible\")}\n >
\n
0) ? \"\" : \"App-invisible\")}\n >
\n
0) ? \"\" : \"App-invisible\")}\n >
\n \n )}\n
\n
\n )\n}\n","import React, { useEffect, useCallback} from 'react';\nimport Product from \"./Product\";\nimport {JsItemType} from \"../models/JsItemType\";\n\ntype FridgeProps = {\n products: Array,\n}\n\nexport default function Fridge({products}: FridgeProps) {\n\n const third = Math.ceil(products.length / 3);\n const firstShelf = products.slice(0, third);\n const secondShelf = products.slice(third, third * 2);\n const thirdShelf = products.slice(third * 2);\n\n\n const adjustShelvesPosition = useCallback(() => {\n const fridge = document.querySelector('.App-fridge');\n const firstShelfElements = document.querySelectorAll('.App-fridge-first-shelf');\n const secondShelfElements = document.querySelectorAll('.App-fridge-second-shelf');\n const thirdShelfElements = document.querySelectorAll('.App-fridge-third-shelf');\n if (fridge) {\n const fridgeHeight = fridge.clientHeight;\n const firstNewTopValue = fridgeHeight * 0.15; // Adjust the multiplier as needed\n const secondNewTopValue = fridgeHeight * 0.3; // Adjust the multiplier as needed\n const thirdNewTopValue = fridgeHeight * 0.425; // Adjust the multiplier as needed\n firstShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${firstNewTopValue}px`;\n });\n secondShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${secondNewTopValue}px`;\n });\n thirdShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${thirdNewTopValue}px`;\n });\n }\n }, [products]);\n\n useEffect(() => {\n adjustShelvesPosition();\n const handleResize = () => {\n adjustShelvesPosition();\n };\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [adjustShelvesPosition]);\n\n return(\n
\n
\n {firstShelf.map((product, index) => (\n
\n \n
\n ))}\n {secondShelf.map((product, index) => (\n
\n \n
\n ))}\n {thirdShelf.map((product, index) => (\n
\n \n
\n ))}\n
\n )\n}\n","import {GameState} from \"../GameScreen\";\nimport {useEffect, useState} from \"react\";\nimport {JsAction} from '../../models/JsAction'\nimport {JsItemType} from '../../models/JsItemType'\nimport axios from \"axios\";\nimport Counter from \"../Counter\";\nimport Blender from \"../Blender\";\nimport Pot from \"../Pot\";\nimport Basket from \"../Basket\";\nimport SpicesShelf from \"../SpicesShelf\";\nimport SaladBowl from \"../SaladBowl\";\nimport Fridge from \"../Fridge\";\n\ntype MainActionsScreenProps = {\n gameStateSetter: (gs: GameState) => void\n}\n\nexport default function MainActionsScreen({gameStateSetter}: MainActionsScreenProps) {\n\n const taskTypeUrl = \"/functions/current-task\"\n const refillUrl = \"/functions/refill-fridge\"\n const soupUrl = \"/functions/tomato-soup\"\n const spiceUrl = \"/functions/soup-spices\"\n const tasteUrl = \"/functions/check-soup\"\n const saladListUrl = \"/functions/salad-list\"\n const saladSequenceUrl = \"/functions/salad-sequence\"\n const smoothieUrl = \"/functions/smoothie\"\n\n let infoTextActionMap: { [key: string]: string } = {\n \"SHOW_ON_COUNTER\": \"Placing the current ingredient to the cooking space\",\n \"PUT_IN_POT\": \"Putting into the pot\",\n \"SIMMER\": \"Cooking!\",\n \"ADD_TO_SALAD\": \"Adding to the salad\",\n \"MIX_SALAD\": \"Mixing the salad\",\n \"BLEND\": \"Blending\",\n \"ADD_TO_BLENDER\": \"Adding to the blender\",\n \"REMOVE_FROM_COUNTER\": \"Removing the current ingredient from the cooking space\",\n \"CUT_ON_COUNTER\": \"Cutting\",\n }\n\n let infoTextItemMap: { [key: string]: string } = {\n \"CITRUS_BASKET\": \"citrus basket\",\n \"BERRY_BASKET\": \"berry basket\",\n \"ROT_TOMATO\": \"rot tomato\",\n \"FRESH_TOMATO\": \"fresh tomato\",\n \"CUT_TOMATO\": \"cut tomato\",\n \"ROT_CUCUMBER\": \"rot cucumber\",\n \"FRESH_CUCUMBER\": \"fresh cucumber\",\n \"CUT_CUCUMBER\": \"cut cucumber\",\n \"ROT_CARROT\": \"rot carrot\",\n \"FRESH_CARROT\": \"fresh carrot\",\n \"CUT_CARROT\": \"cut carrot\",\n \"BERRY\": \"berry\",\n \"CITRUS\": \"orange\",\n \"SALT\": \"salt\",\n \"PEPPER\": \"pepper\",\n \"OREGANO\": \"oregano\",\n }\n\n const startupMsg = \"Press button to start\"\n const getTaskErrMsg = \"Can't get task type. Check backend.\"\n\n const refillSuccMsg = \"Fridge is refilled!\"\n const refillErrMsg = \"Failed to refill the fridge. Check your implementation.\"\n const soupEmptyListMsg = \"You need at least three fresh tomato in the fridge! Try to refill!\"\n\n const cookingNoActionsMsg = \"Not enough ingredients to make\"\n const cookingDoneMsg = \"Cooking is done!\"\n const cookingErrMsg = \"Failed to cook. Check your implementation.\"\n\n const noSoupSpicingMsg = \"You need to cook the soup first!\"\n const beforeSpicingMsg = \"Let's add some spices!\"\n const afterSpicingMsg = \"Adding spices is done!\"\n const spicingErrMsg = \"Failed to add spices. Check your implementation.\"\n\n const tasteGoodMsg = \"It tastes great! 🎉\"\n const tasteBadMsg = \"It tastes so bad... Try to cook the soup again.\"\n const tasteErrMsg = \"Failed to get taste status. Check your implementation.\"\n\n const saladEmptyListMsg = \"Try to refill the fridge!\"\n\n const soupName = \"tomato soup\"\n const saladListName = \"salad (list)\"\n const saladSequenceName = \"salad (sequence)\"\n const smoothieName = \"smoothie\"\n\n const cookingDelay = 1000 // ms\n\n type BlenderOptions = {\n visible: boolean,\n full: boolean,\n shake: boolean,\n berry: number,\n citrus: number,\n }\n\n const initialBlenderOptions: BlenderOptions = {\n visible: true,\n full: false,\n shake: false,\n berry: 0,\n citrus: 0,\n }\n\n type PotOptions = {\n visible: boolean,\n simmer: boolean,\n soup: boolean,\n pepper: boolean,\n salt: boolean,\n oregano: boolean,\n cucumber: number,\n tomato: number,\n carrot: number,\n soupHue: number,\n spiced: boolean\n }\n\n const initialPotOptions: PotOptions = {\n visible: true,\n simmer: false,\n soup: false,\n pepper: false,\n salt: false,\n oregano: false,\n cucumber: 0,\n tomato: 0,\n carrot: 0,\n soupHue: 0,\n spiced: false\n }\n\n type SaladBowlOptions = {\n visible: boolean,\n mixing: boolean,\n mixed: boolean,\n tomato: number,\n cucumber: number,\n carrot: number,\n }\n\n const initialSaladBowlOptions: SaladBowlOptions = {\n visible: false,\n mixing: false,\n mixed: false,\n tomato: 0,\n cucumber: 0,\n carrot: 0,\n }\n\n type BasketOptions = {\n type: string,\n visible: boolean,\n count: number,\n }\n\n const initialBerryBasketOptions: BasketOptions = {\n type: \"berry\",\n visible: false,\n count: 5,\n }\n\n const initialCitrusBasketOptions: BasketOptions = {\n type: \"citrus\",\n visible: false,\n count: 5,\n }\n\n useEffect(() => {\n axios.get(taskTypeUrl).then(async (response) => {\n console.log(`Current task type: ${response.data as String}`)\n setCurrentTask(response.data as String)\n SaladBowlVisSetter((response.data as String)===\"SALAD\")\n }).catch(error => {\n infoTextSetter(getTaskErrMsg)\n })\n }, [])\n\n let [counterProducts, counterProductsSetter] = useState>([])\n let [fridgeProducts, fridgeProductsSetter] = useState>([])\n let [infoText, infoTextSetter] = useState(startupMsg)\n let [spicesShelfVis, spicesShelfVisSetter] = useState(true)\n let [blenderOptions, setBlenderOptions] = useState(initialBlenderOptions);\n let [potOptions, setPotOptions] = useState(initialPotOptions);\n let [saladBowlOptions, setSaladBowlOptions] = useState(initialSaladBowlOptions);\n let [berryBasketOptions, setBerryBasketOptions] = useState(initialBerryBasketOptions);\n let [citrusBasketOptions, setCitrusBasketOptions] = useState(initialCitrusBasketOptions);\n let [buttonBlocker, setButtonBlocker] = useState(\"\");\n let [currentTask, setCurrentTask] = useState(\"\");\n\n function berryBasketVisSetter(value: boolean){\n setBerryBasketOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }))\n }\n\n function citrusBasketVisSetter(value: boolean){\n setCitrusBasketOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }))\n }\n\n function blenderVisSetter(value: boolean) {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n function potVisSetter(value: boolean) {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n function SaladBowlVisSetter(value: boolean) {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n let counterVisMap: { [key: string]: (arg: boolean) => void } = {\n \"BERRY_BASKET\": berryBasketVisSetter,\n \"CITRUS_BASKET\": citrusBasketVisSetter,\n \"BLENDER\": blenderVisSetter,\n \"POT\": potVisSetter\n }\n\n function showOnCounter(arg: string | null) {\n console.log(\"showOnCounter\", arg)\n if (!arg) {\n return\n }\n if (arg in counterVisMap) {\n counterVisMap[arg](true)\n } else {\n removeFromFridge(arg)\n counterProductsSetter((prevState) => [\n ...prevState,\n JsItemType[arg as keyof typeof JsItemType],\n ]);\n }\n }\n\n function putInPot(arg: string | null) {\n if (arg == null)\n return\n removeFromCounter(arg)\n let potMap: { [key: string]: () => void } = {\n \"PEPPER\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n pepper: true,\n soupHue: 57, // Dark green\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n pepper: false\n }));\n }, 750);\n },\n \"SALT\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n salt: true,\n soupHue: 320, // Pink\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n salt: false\n }));\n }, 750);\n },\n \"OREGANO\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n oregano: true,\n soupHue: 113, // Green\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n oregano: false\n }));\n }, 750);\n },\n \"CUT_TOMATO\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n tomato: prevOptions.tomato+1\n }));\n },\n \"CUT_CARROT\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n carrot: prevOptions.carrot+1\n }));\n },\n \"CUT_CUCUMBER\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n cucumber: prevOptions.cucumber+1\n }));\n },\n }\n potMap[arg]()\n }\n\n function simmer(arg: string | null) {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n simmer: true\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n soup: true,\n soupHue: 0,\n }));\n }, 500);\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n simmer: false\n }));\n }, 1000);\n }\n\n function addToSalad(arg: string | null) {\n console.log(\"addToSalad()\")\n console.log(arg)\n if (arg == null)\n return\n removeFromCounter(arg)\n let saladMap: { [key: string]: () => void } = {\n \"CUT_TOMATO\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n tomato: prevOptions.tomato+1\n }));\n },\n \"CUT_CUCUMBER\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n cucumber: prevOptions.cucumber+1\n }));\n },\n \"CUT_CARROT\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n carrot: prevOptions.carrot+1\n }));\n },\n }\n saladMap[arg]()\n }\n\n function mixSalad(arg: string | null) {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixing: true\n }));\n setTimeout(() => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixed: true\n }));\n }, 500);\n setTimeout(() => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixing: false\n }));\n }, 1000);\n }\n\n function blend(arg: string | null) {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n shake: true\n }));\n setTimeout(() => {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n full: true\n }));\n }, 500);\n setTimeout(() => {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n shake: false\n }));\n }, 1000);\n }\n\n function addToBlender(arg: string | null) {\n if (arg == null)\n return\n removeFromCounter(arg)\n let blenderMap: { [key: string]: () => void } = {\n \"CITRUS\": () => {\n setCitrusBasketOptions(prevOptions => ({\n ...prevOptions,\n count: (prevOptions.count > 0) ? prevOptions.count-1 : 0\n })\n )\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n citrus: prevOptions.citrus+1\n }));\n },\n \"BERRY\": () => {\n setBerryBasketOptions(prevOptions => ({\n ...prevOptions,\n count: (prevOptions.count > 0) ? prevOptions.count-1 : 0\n })\n )\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n berry: prevOptions.berry+1\n }));\n },\n }\n blenderMap[arg]()\n }\n\n let cuttedMap: { [key: string]: string } = {\n \"FRESH_TOMATO\": \"CUT_TOMATO\",\n \"FRESH_CUCUMBER\": \"CUT_CUCUMBER\",\n \"FRESH_CARROT\": \"CUT_CARROT\",\n }\n\n function cutOnCounter(arg: string | null){\n console.log(\"cutOnCounter\", arg)\n if (!arg){\n return\n }\n console.log(\"counter: \", counterProducts)\n if (cuttedMap.hasOwnProperty(arg)) {\n let cuttedArg = cuttedMap[arg];\n console.log(\"counter: \", counterProducts)\n console.log(\"filter: \", counterProducts.filter(item => JsItemType[item] !== arg))\n counterProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1, JsItemType[cuttedArg as keyof typeof JsItemType]);\n return newState;\n }\n return prevState;\n });\n }\n }\n \n function removeFromCounter(arg: string | null) {\n console.log(\"removeFromCounter\", arg)\n if (!arg){\n return\n }\n else {\n console.log(\"counter: \", counterProducts)\n console.log(\"filter: \", counterProducts.filter(item => JsItemType[item] !== arg))\n counterProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1);\n return newState;\n }\n return prevState;\n });\n }\n }\n\n function removeFromFridge(arg: string | null) {\n console.log(\"removeFromFridge\", arg)\n if (!arg)\n return\n console.log(\"counter: \", fridgeProducts)\n console.log(\"filter: \", fridgeProducts.filter(item => JsItemType[item] !== arg))\n fridgeProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1);\n return newState;\n }\n return prevState;\n });\n }\n\n\n let actionMap: { [key: string]: (arg: string | null) => void } = {\n \"SHOW_ON_COUNTER\": showOnCounter,\n \"PUT_IN_POT\": putInPot,\n \"SIMMER\": simmer,\n \"ADD_TO_SALAD\": addToSalad,\n \"MIX_SALAD\": mixSalad,\n \"BLEND\": blend,\n \"ADD_TO_BLENDER\": addToBlender,\n \"REMOVE_FROM_COUNTER\": removeFromCounter,\n \"CUT_ON_COUNTER\": cutOnCounter\n };\n\n function refill(){\n setBlenderOptions(initialBlenderOptions);\n setPotOptions(initialPotOptions);\n setSaladBowlOptions(initialSaladBowlOptions)\n SaladBowlVisSetter(currentTask===\"SALAD\")\n setCitrusBasketOptions(initialCitrusBasketOptions)\n setBerryBasketOptions(initialBerryBasketOptions)\n counterProductsSetter([])\n let items = Array()\n axios.get(refillUrl).then(async (response) => {\n const receivedItems: Array = response.data;\n items = receivedItems.map(item => JsItemType[item]);\n console.log(\"Refill GOT: \" + items)\n fridgeProductsSetter(items)\n infoTextSetter(refillSuccMsg)\n }).catch(error => {\n infoTextSetter(refillErrMsg);\n })\n }\n\n\n function cook(url: string, dishName: string, emptyListMsg: string = \"\"){\n setBlenderOptions(initialBlenderOptions);\n setPotOptions(initialPotOptions);\n setSaladBowlOptions(initialSaladBowlOptions)\n SaladBowlVisSetter(currentTask===\"SALAD\")\n setCitrusBasketOptions(initialCitrusBasketOptions)\n setBerryBasketOptions(initialBerryBasketOptions)\n counterProductsSetter([])\n setButtonBlocker(dishName)\n\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n\n let actions = Array()\n axios.get(url).then(async (response) => {\n console.log(\"GOT: \" + JSON.stringify(response.data, null, 2))\n actions = response.data as Array\n if (actions.length == 0){\n infoTextSetter(`${cookingNoActionsMsg} ${dishName}! ${emptyListMsg}`)\n setButtonBlocker(\"\")\n return\n }\n infoTextSetter(\"Let's go!\")\n await delay(cookingDelay);\n for (const action of actions) {\n console.log(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n infoTextSetter(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n actionMap[String(action.type)](\n action.parameter ? String(action.parameter) : null\n )\n await delay(cookingDelay);\n }\n infoTextSetter(cookingDoneMsg)\n }).catch(error => {\n infoTextSetter(cookingErrMsg)\n }).finally(() => {\n setButtonBlocker(\"\")\n })\n }\n\n function spice() {\n setButtonBlocker(\"spice\")\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n\n let actions = Array()\n axios.get(spiceUrl).then(async (response) => {\n actions = response.data as Array\n console.log(\"GOT: \" + actions)\n if (actions.length == 0){\n infoTextSetter(noSoupSpicingMsg)\n setButtonBlocker(\"\")\n return\n }\n infoTextSetter(beforeSpicingMsg)\n await delay(cookingDelay);\n for (const action of actions) {\n console.log(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n infoTextSetter(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n actionMap[String(action.type)](\n action.parameter ? String(action.parameter) : null\n )\n await delay(cookingDelay);\n }\n infoTextSetter(afterSpicingMsg)\n setPotOptions(prevOptions => ({\n ...prevOptions,\n spiced: true\n }));\n }).catch(error => {\n infoTextSetter(spicingErrMsg)\n }).finally(() => {\n setButtonBlocker(\"\")\n })\n }\n\n function taste() {\n axios.get(tasteUrl).then(async (response) => {\n let isTasteGood = response.data as boolean\n console.log(\"isTasteGood: \" + isTasteGood)\n if(isTasteGood){\n infoTextSetter(tasteGoodMsg)\n } else {\n infoTextSetter(tasteBadMsg)\n }\n }).catch(error => {\n infoTextSetter(tasteErrMsg)\n })\n }\n\n function shouldShow(buttonName: string){\n return !buttonBlocker;\n }\n\n return (\n
\n
\n \n
\n {\n
\n
\n
{infoText}
\n
\n
\n
\n \n \n
\n
\n
\n \n \n \n
\n \n
\n
\n \n \n
\n
\n
\n }\n
\n {(currentTask === \"SOUP\" || currentTask === \"SALAD\") && (\n refill()}>Refill\n \n )}\n {currentTask === \"SOUP\" && (\n <>\n 0 && shouldShow(soupName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(soupUrl, soupName, soupEmptyListMsg)}>Soup\n \n spice()}>Spice\n \n taste()}>Taste\n \n \n )}\n {currentTask === \"SALAD\" && (\n <>\n 0 && shouldShow(saladListName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(saladListUrl, saladListName, saladEmptyListMsg)}>Salad list\n \n 0 && shouldShow(saladSequenceName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(saladSequenceUrl, saladSequenceName, saladEmptyListMsg)}>Salad seq.\n \n \n )}\n {currentTask === \"SMOOTHIE\" && (\n cook(smoothieUrl, smoothieName)}>Smoothie\n \n )}\n
\n
\n );\n}\n","import StartScreen from \"./screens/StartScreen\";\nimport React from \"react\";\nimport MainActionsScreen from \"./screens/MainActionsScreen\";\nwindow.React = React\n\nexport enum GameState {\n START,\n GAME,\n}\n\nexport type GameScreenProps = {\n state: GameState,\n gameStateSetter: (gs: GameState) => void,\n}\n\nexport default function GameScreen({state, gameStateSetter}: GameScreenProps) {\n switch (state) {\n case GameState.START: {\n return \n }\n case GameState.GAME: {\n return \n }\n }\n}\n","import './App.css';\n// import './util/util'\nimport {useState} from \"react\";\nimport GameScreen, {GameState} from \"./components/GameScreen\";\n\nfunction App() {\n let [gameState, gameStateSetter] = useState(GameState.START)\n\n switch (gameState) {\n case GameState.START: {\n return (
\n
\n \n
\n
);\n }\n default: {\n return (
\n
\n \n
\n
);\n }\n }\n}\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport axios from \"axios\";\n\n// from .env.development or .env.production\naxios.defaults.baseURL = process.env.REACT_APP_API_URL\n\nconst root = ReactDOM.createRoot(\n document.getElementById('root') as HTMLElement\n);\nroot.render(\n \n \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/culinaryServer/culinaryServerAddSpices/task-info.yaml b/culinaryServer/culinaryServerAddSpices/task-info.yaml index 5ad24da..fffb521 100644 --- a/culinaryServer/culinaryServerAddSpices/task-info.yaml +++ b/culinaryServer/culinaryServerAddSpices/task-info.yaml @@ -68,3 +68,155 @@ files: - name: test/TomatoSoupFunctions.kt visible: false propagatable: false + - name: src/main/resources/static/static/js/2.dbb8f406.chunk.js + visible: false + - name: src/main/resources/static/static/js/3.d8ac33f5.chunk.js + visible: false + - name: src/main/resources/static/static/js/2.dbb8f406.chunk.js.map + visible: false + - name: src/main/resources/static/static/js/3.d8ac33f5.chunk.js.map + visible: false + - name: src/main/resources/static/static/js/runtime~main.35de78a9.js + visible: false + - name: src/main/resources/static/static/js/runtime~main.35de78a9.js.map + visible: false + - name: src/main/resources/static/static/css/main.f33027e0.chunk.css + visible: false + - name: src/main/resources/static/static/css/main.f33027e0.chunk.css.map + visible: false + - name: src/main/resources/static/static/media/bg.159aeebb.svg + visible: false + - name: src/main/resources/static/static/media/logo.af49c77d.svg + visible: false + - name: src/main/resources/static/static/media/salt.f614ace5.svg + visible: false + - name: src/main/resources/static/static/media/berry.a2d5625f.svg + visible: false + - name: src/main/resources/static/static/media/action.1a49790c.svg + visible: false + - name: src/main/resources/static/static/media/citrus.ac3d6e5e.svg + visible: false + - name: src/main/resources/static/static/media/pepper.09265644.svg + visible: false + - name: src/main/resources/static/static/media/blender.9da42019.svg + visible: false + - name: src/main/resources/static/static/media/oregano.12aa7403.svg + visible: false + - name: src/main/resources/static/static/media/bg_white.177e2c94.svg + visible: false + - name: src/main/resources/static/static/media/pot-back.37963222.svg + visible: false + - name: src/main/resources/static/static/media/pot-salt.1369c9ed.svg + visible: false + - name: src/main/resources/static/static/media/pot-soup.78375db2.svg + visible: false + - name: src/main/resources/static/static/media/pot-water.0b6c498f.svg + visible: false + - name: src/main/resources/static/static/media/carrot-raw.d0c2dde4.svg + visible: false + - name: src/main/resources/static/static/media/carrow-cut.96dcc6dc.svg + visible: false + - name: src/main/resources/static/static/media/pot-carrot.c8704838.svg + visible: false + - name: src/main/resources/static/static/media/pot-pepper.47999214.svg + visible: false + - name: src/main/resources/static/static/media/pot-tomato.3f8e1060.svg + visible: false + - name: src/main/resources/static/static/media/salad-bowl.a7f5f34a.svg + visible: false + - name: src/main/resources/static/static/media/tomato-cut.6836153a.svg + visible: false + - name: src/main/resources/static/static/media/tomato-raw.12298a6e.svg + visible: false + - name: src/main/resources/static/static/media/action_wide.df8afed0.svg + visible: false + - name: src/main/resources/static/static/media/back_button.467450b5.svg + visible: false + - name: src/main/resources/static/static/media/basket-back.1e958b40.svg + visible: false + - name: src/main/resources/static/static/media/fridge-open.0aaed28d.svg + visible: false + - name: src/main/resources/static/static/media/play_button.07c3d73d.svg + visible: false + - name: src/main/resources/static/static/media/pot-oregano.8d384419.svg + visible: false + - name: src/main/resources/static/static/media/action_hover.143a84b0.svg + visible: false + - name: src/main/resources/static/static/media/basket-front.10970fd7.svg + visible: false + - name: src/main/resources/static/static/media/blender-full.83a112bd.svg + visible: false + - name: src/main/resources/static/static/media/cucumber-cut.3b775d75.svg + visible: false + - name: src/main/resources/static/static/media/cucumber-raw.c77241ee.svg + visible: false + - name: src/main/resources/static/static/media/pot-cucumber.8b6ffe73.svg + visible: false + - name: src/main/resources/static/static/media/salad-carrot.5d12e03b.svg + visible: false + - name: src/main/resources/static/static/media/salad-tomato.e7fb9ea2.svg + visible: false + - name: src/main/resources/static/static/media/spices-shelf.55a86836.svg + visible: false + - name: src/main/resources/static/static/media/blender-berry.a2f7c947.svg + visible: false + - name: src/main/resources/static/static/media/basket-berry-1.2c5e06bc.svg + visible: false + - name: src/main/resources/static/static/media/basket-berry-2.9a0242a2.svg + visible: false + - name: src/main/resources/static/static/media/basket-berry-3.710f5b43.svg + visible: false + - name: src/main/resources/static/static/media/basket-berry-4.eb6382b0.svg + visible: false + - name: src/main/resources/static/static/media/basket-berry-5.e0f70176.svg + visible: false + - name: src/main/resources/static/static/media/blender-citrus.b243136a.svg + visible: false + - name: src/main/resources/static/static/media/carrot-spoiled.b907b470.svg + visible: false + - name: src/main/resources/static/static/media/salad-cucumber.9e799204.svg + visible: false + - name: src/main/resources/static/static/media/tomato-spoiled.bace9bce.svg + visible: false + - name: src/main/resources/static/static/media/basket-citrus-1.dc10cdb2.svg + visible: false + - name: src/main/resources/static/static/media/basket-citrus-2.9b185241.svg + visible: false + - name: src/main/resources/static/static/media/basket-citrus-3.2af70816.svg + visible: false + - name: src/main/resources/static/static/media/basket-citrus-4.25542618.svg + visible: false + - name: src/main/resources/static/static/media/basket-citrus-5.a54bc4d1.svg + visible: false + - name: src/main/resources/static/static/media/cucumber-spoiled.e5037e35.svg + visible: false + - name: src/main/resources/static/static/media/salad-bowl-mixed.8c29d2b9.svg + visible: false + - name: src/main/resources/static/static/media/action_wide_hover.851872eb.svg + visible: false + - name: src/main/resources/static/static/media/back_button_hover.c7d14fd4.svg + visible: false + - name: src/main/resources/static/static/media/salad-bowl-mixed-carrot.b3f374bb.svg + visible: false + - name: src/main/resources/static/static/media/salad-bowl-mixed-tomato.7b272701.svg + visible: false + - name: src/main/resources/static/static/media/salad-bowl-mixed-cucumber.7992dcf2.svg + visible: false + - name: src/main/resources/static/index.html + visible: false + - name: src/main/resources/static/robots.txt + visible: false + - name: src/main/resources/static/favicon.ico + visible: false + - name: src/main/resources/static/manifest.json + visible: false + - name: src/main/resources/static/service-worker.js + visible: false + - name: src/main/resources/static/asset-manifest.json + visible: false + - name: src/main/resources/static/static/js/main.2934fd44.chunk.js.map + visible: false + - name: src/main/resources/static/static/js/main.2934fd44.chunk.js + visible: false + - name: src/main/resources/static/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js + visible: false diff --git a/culinaryServer/culinaryServerAddSpices/task-remote-info.yaml b/culinaryServer/culinaryServerAddSpices/task-remote-info.yaml new file mode 100644 index 0000000..ade4e28 --- /dev/null +++ b/culinaryServer/culinaryServerAddSpices/task-remote-info.yaml @@ -0,0 +1 @@ +id: 1741761741 diff --git a/culinaryServer/culinaryServerAddSpices/test/Tests.kt b/culinaryServer/culinaryServerAddSpices/test/Tests.kt index 27055e7..da2b548 100644 --- a/culinaryServer/culinaryServerAddSpices/test/Tests.kt +++ b/culinaryServer/culinaryServerAddSpices/test/Tests.kt @@ -20,11 +20,17 @@ import java.lang.reflect.InvocationTargetException class Test { @Test fun generateSpicesMethodTest() { - val spices = generateSpices().take(5).toList() - if (spices.isEmpty()) { - assert(false) { "The method ${generateSpicesMethod.name} should generate random spices! Now you always generate an empty sequence!" } + val spicesSizes = mutableListOf() + repeat(100) { + val spices = generateSpices().take(5).toList() + if (spices.isEmpty()) { + assert(false) { "The method ${generateSpicesMethod.name} should generate random spices! Now you always generate an empty sequence!" } + } + spicesSizes.add(spices.toSet().size) } - assert(spices.toSet().size > 1) { "The method ${generateSpicesMethod.name} should generate random spices! Now you always generate ${spices.first()}" } + + assert(spicesSizes.toSet().size > 1) { "The method ${generateSpicesMethod.name} should generate random spices! Now you always generate ${spicesSizes.first()}" } + assert(spicesSizes.toSet().all { it in 1..4 }) { "The method ${generateSpicesMethod.name} should generate 1..4 random spices! Please, check how many spices you generated!" } } private fun generateSpices(): Sequence { diff --git a/culinaryServer/culinaryServerCookSalad/src/main/resources/static/asset-manifest.json b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/asset-manifest.json index e908143..0e34a2b 100644 --- a/culinaryServer/culinaryServerCookSalad/src/main/resources/static/asset-manifest.json +++ b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/asset-manifest.json @@ -1,7 +1,7 @@ { "main.css": "/static/css/main.f33027e0.chunk.css", - "main.js": "/static/js/main.8072c9ee.chunk.js", - "main.js.map": "/static/js/main.8072c9ee.chunk.js.map", + "main.js": "/static/js/main.2934fd44.chunk.js", + "main.js.map": "/static/js/main.2934fd44.chunk.js.map", "runtime~main.js": "/static/js/runtime~main.35de78a9.js", "runtime~main.js.map": "/static/js/runtime~main.35de78a9.js.map", "static/js/2.dbb8f406.chunk.js": "/static/js/2.dbb8f406.chunk.js", @@ -9,7 +9,7 @@ "static/js/3.d8ac33f5.chunk.js": "/static/js/3.d8ac33f5.chunk.js", "static/js/3.d8ac33f5.chunk.js.map": "/static/js/3.d8ac33f5.chunk.js.map", "index.html": "/index.html", - "precache-manifest.316b04815eda041fdc97ff67764c39ef.js": "/precache-manifest.316b04815eda041fdc97ff67764c39ef.js", + "precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js": "/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js", "service-worker.js": "/service-worker.js", "static/css/main.f33027e0.chunk.css.map": "/static/css/main.f33027e0.chunk.css.map", "static/media/App.css": "/static/media/tomato-spoiled.bace9bce.svg", diff --git a/culinaryServer/culinaryServerCookSalad/src/main/resources/static/index.html b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/index.html index cf81d42..30cb924 100644 --- a/culinaryServer/culinaryServerCookSalad/src/main/resources/static/index.html +++ b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/index.html @@ -1 +1 @@ -Culinary arts
\ No newline at end of file +Culinary arts
\ No newline at end of file diff --git a/culinaryServer/culinaryServerFridgeRefill/src/main/resources/static/precache-manifest.316b04815eda041fdc97ff67764c39ef.js b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js similarity index 97% rename from culinaryServer/culinaryServerFridgeRefill/src/main/resources/static/precache-manifest.316b04815eda041fdc97ff67764c39ef.js rename to culinaryServer/culinaryServerCookSalad/src/main/resources/static/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js index 6e07ff0..6d71018 100644 --- a/culinaryServer/culinaryServerFridgeRefill/src/main/resources/static/precache-manifest.316b04815eda041fdc97ff67764c39ef.js +++ b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js @@ -1,11 +1,11 @@ self.__precacheManifest = [ { - "revision": "810bc0292c83afe5cbb1", + "revision": "60ef74ecde42f1cf8e71", "url": "/static/css/main.f33027e0.chunk.css" }, { - "revision": "810bc0292c83afe5cbb1", - "url": "/static/js/main.8072c9ee.chunk.js" + "revision": "60ef74ecde42f1cf8e71", + "url": "/static/js/main.2934fd44.chunk.js" }, { "revision": "234ecdafbb2600fe3a8a", @@ -27,22 +27,18 @@ self.__precacheManifest = [ "revision": "177e2c944e7f05b79e18c301fdb3ada2", "url": "/static/media/bg_white.177e2c94.svg" }, - { - "revision": "467450b50515d1916a4af1bb651ed975", - "url": "/static/media/back_button.467450b5.svg" - }, { "revision": "159aeebb00563ec75de5fff8b74dd8e5", "url": "/static/media/bg.159aeebb.svg" }, - { - "revision": "c7d14fd417c36eeb4d477225027e3631", - "url": "/static/media/back_button_hover.c7d14fd4.svg" - }, { "revision": "07c3d73d37b0087435f87743ce6ec654", "url": "/static/media/play_button.07c3d73d.svg" }, + { + "revision": "467450b50515d1916a4af1bb651ed975", + "url": "/static/media/back_button.467450b5.svg" + }, { "revision": "1a49790c6d89dfbc2f6f998a343e4fa6", "url": "/static/media/action.1a49790c.svg" @@ -80,64 +76,56 @@ self.__precacheManifest = [ "url": "/static/media/cucumber-raw.c77241ee.svg" }, { - "revision": "3b775d75415b9bb7bbfb81914352b592", - "url": "/static/media/cucumber-cut.3b775d75.svg" + "revision": "c7d14fd417c36eeb4d477225027e3631", + "url": "/static/media/back_button_hover.c7d14fd4.svg" }, { "revision": "b907b470651246f19ccb42a1f0db4659", "url": "/static/media/carrot-spoiled.b907b470.svg" }, - { - "revision": "d0c2dde4b1e60016b1bac83eaa9829b6", - "url": "/static/media/carrot-raw.d0c2dde4.svg" - }, - { - "revision": "a2d5625ffc1162d66ebf5a73106f2427", - "url": "/static/media/berry.a2d5625f.svg" - }, { "revision": "96dcc6dc219ce2bcc4b331d8ba2fee0c", "url": "/static/media/carrow-cut.96dcc6dc.svg" }, { - "revision": "092656444165a09bd438b89b979403f3", - "url": "/static/media/pepper.09265644.svg" + "revision": "a2d5625ffc1162d66ebf5a73106f2427", + "url": "/static/media/berry.a2d5625f.svg" }, { - "revision": "ac3d6e5e70b880313e18066ac45946bc", - "url": "/static/media/citrus.ac3d6e5e.svg" + "revision": "0aaed28d2bfa0b4756d063143dc7a0e2", + "url": "/static/media/fridge-open.0aaed28d.svg" }, { - "revision": "f614ace56e2ef465c56b4791538acb50", - "url": "/static/media/salt.f614ace5.svg" + "revision": "55a86836e7cab4d6355ceb06330a4b73", + "url": "/static/media/spices-shelf.55a86836.svg" }, { - "revision": "12aa7403235fac00ddaa23804e7fc512", - "url": "/static/media/oregano.12aa7403.svg" + "revision": "092656444165a09bd438b89b979403f3", + "url": "/static/media/pepper.09265644.svg" }, { - "revision": "0aaed28d2bfa0b4756d063143dc7a0e2", - "url": "/static/media/fridge-open.0aaed28d.svg" + "revision": "1e958b40ccc422cbf06091917a820147", + "url": "/static/media/basket-back.1e958b40.svg" }, { "revision": "10970fd704eb87c0fd4b9d814fa85fe4", "url": "/static/media/basket-front.10970fd7.svg" }, { - "revision": "55a86836e7cab4d6355ceb06330a4b73", - "url": "/static/media/spices-shelf.55a86836.svg" + "revision": "ac3d6e5e70b880313e18066ac45946bc", + "url": "/static/media/citrus.ac3d6e5e.svg" }, { - "revision": "1e958b40ccc422cbf06091917a820147", - "url": "/static/media/basket-back.1e958b40.svg" + "revision": "f614ace56e2ef465c56b4791538acb50", + "url": "/static/media/salt.f614ace5.svg" }, { - "revision": "a54bc4d177b960b438a01cbe2be0943c", - "url": "/static/media/basket-citrus-5.a54bc4d1.svg" + "revision": "d0c2dde4b1e60016b1bac83eaa9829b6", + "url": "/static/media/carrot-raw.d0c2dde4.svg" }, { - "revision": "dc10cdb29c75cb36f3c33b445cdb8f55", - "url": "/static/media/basket-citrus-1.dc10cdb2.svg" + "revision": "12aa7403235fac00ddaa23804e7fc512", + "url": "/static/media/oregano.12aa7403.svg" }, { "revision": "2554261890ce6cc4c3ecbbe106dc5bc9", @@ -147,6 +135,14 @@ self.__precacheManifest = [ "revision": "2af70816b07a459ea2b9cdac53f2a661", "url": "/static/media/basket-citrus-3.2af70816.svg" }, + { + "revision": "a54bc4d177b960b438a01cbe2be0943c", + "url": "/static/media/basket-citrus-5.a54bc4d1.svg" + }, + { + "revision": "3b775d75415b9bb7bbfb81914352b592", + "url": "/static/media/cucumber-cut.3b775d75.svg" + }, { "revision": "9b18524160fc4de53421ef211640f99f", "url": "/static/media/basket-citrus-2.9b185241.svg" @@ -155,41 +151,41 @@ self.__precacheManifest = [ "revision": "e0f701765cd55fe8b8423ce946bee257", "url": "/static/media/basket-berry-5.e0f70176.svg" }, - { - "revision": "9a0242a2a53db6668f4f1e0718f0f2d6", - "url": "/static/media/basket-berry-2.9a0242a2.svg" - }, { "revision": "eb6382b0ebbffd76e0160b6d1c36bc78", "url": "/static/media/basket-berry-4.eb6382b0.svg" }, { - "revision": "710f5b430aef751a21b7e149a18145bd", - "url": "/static/media/basket-berry-3.710f5b43.svg" + "revision": "dc10cdb29c75cb36f3c33b445cdb8f55", + "url": "/static/media/basket-citrus-1.dc10cdb2.svg" }, { "revision": "2c5e06bcdc984564419653a54fb9f365", "url": "/static/media/basket-berry-1.2c5e06bc.svg" }, { - "revision": "e7fb9ea26bfe901e4009362f8adfad4e", - "url": "/static/media/salad-tomato.e7fb9ea2.svg" + "revision": "710f5b430aef751a21b7e149a18145bd", + "url": "/static/media/basket-berry-3.710f5b43.svg" }, { "revision": "a7f5f34a996361eddbc6e3a2acf51e8c", "url": "/static/media/salad-bowl.a7f5f34a.svg" }, { - "revision": "8c29d2b9c0e12c7f65e8e3d8df0a5ec0", - "url": "/static/media/salad-bowl-mixed.8c29d2b9.svg" + "revision": "9a0242a2a53db6668f4f1e0718f0f2d6", + "url": "/static/media/basket-berry-2.9a0242a2.svg" }, { - "revision": "9e799204f0383bd02a40e2448d20dde9", - "url": "/static/media/salad-cucumber.9e799204.svg" + "revision": "e7fb9ea26bfe901e4009362f8adfad4e", + "url": "/static/media/salad-tomato.e7fb9ea2.svg" }, { - "revision": "b3f374bb4f2af3200b081ceb7e95a2c2", - "url": "/static/media/salad-bowl-mixed-carrot.b3f374bb.svg" + "revision": "5d12e03bfabde3d0e70eaae9ee880626", + "url": "/static/media/salad-carrot.5d12e03b.svg" + }, + { + "revision": "8c29d2b9c0e12c7f65e8e3d8df0a5ec0", + "url": "/static/media/salad-bowl-mixed.8c29d2b9.svg" }, { "revision": "7b27270108b2b540b328def65c27d0c2", @@ -199,64 +195,68 @@ self.__precacheManifest = [ "revision": "7992dcf20c1d2b943b41ca45d18eb99b", "url": "/static/media/salad-bowl-mixed-cucumber.7992dcf2.svg" }, - { - "revision": "5d12e03bfabde3d0e70eaae9ee880626", - "url": "/static/media/salad-carrot.5d12e03b.svg" - }, - { - "revision": "3796322267bc22d4741521e443c13b27", - "url": "/static/media/pot-back.37963222.svg" - }, - { - "revision": "78375db2c849a020c99b52c76dc7be7f", - "url": "/static/media/pot-soup.78375db2.svg" - }, { "revision": "0b6c498fc58fca1fc6e5e3afe4a29c95", "url": "/static/media/pot-water.0b6c498f.svg" }, { - "revision": "1369c9ed9e0d7a21c638ad8eb96633aa", - "url": "/static/media/pot-salt.1369c9ed.svg" - }, - { - "revision": "8d3844190343ab604bc3ddaf13a1b6f6", - "url": "/static/media/pot-oregano.8d384419.svg" + "revision": "3f8e1060a85cc7a1c0ac477c0dd09793", + "url": "/static/media/pot-tomato.3f8e1060.svg" }, { - "revision": "4799921427ae8d48340edb63be4e18d9", - "url": "/static/media/pot-pepper.47999214.svg" + "revision": "8b6ffe73fc7627227be854c197326e9e", + "url": "/static/media/pot-cucumber.8b6ffe73.svg" }, { "revision": "c8704838860161b312a7e190c4fea1ef", "url": "/static/media/pot-carrot.c8704838.svg" }, { - "revision": "3f8e1060a85cc7a1c0ac477c0dd09793", - "url": "/static/media/pot-tomato.3f8e1060.svg" + "revision": "b243136a2635ceb7c20ce125118060dd", + "url": "/static/media/blender-citrus.b243136a.svg" + }, + { + "revision": "9da420198502e6283b9f407cee1bef4b", + "url": "/static/media/blender.9da42019.svg" }, { "revision": "a2f7c9476a41121f59100fefc791bf24", "url": "/static/media/blender-berry.a2f7c947.svg" }, { - "revision": "b243136a2635ceb7c20ce125118060dd", - "url": "/static/media/blender-citrus.b243136a.svg" + "revision": "78375db2c849a020c99b52c76dc7be7f", + "url": "/static/media/pot-soup.78375db2.svg" }, { - "revision": "9da420198502e6283b9f407cee1bef4b", - "url": "/static/media/blender.9da42019.svg" + "revision": "1369c9ed9e0d7a21c638ad8eb96633aa", + "url": "/static/media/pot-salt.1369c9ed.svg" }, { - "revision": "8b6ffe73fc7627227be854c197326e9e", - "url": "/static/media/pot-cucumber.8b6ffe73.svg" + "revision": "4799921427ae8d48340edb63be4e18d9", + "url": "/static/media/pot-pepper.47999214.svg" + }, + { + "revision": "b3f374bb4f2af3200b081ceb7e95a2c2", + "url": "/static/media/salad-bowl-mixed-carrot.b3f374bb.svg" + }, + { + "revision": "9e799204f0383bd02a40e2448d20dde9", + "url": "/static/media/salad-cucumber.9e799204.svg" }, { "revision": "83a112bd455550275a24be9c591b9dd9", "url": "/static/media/blender-full.83a112bd.svg" }, { - "revision": "28672cfb73135bee2eaaaae1d1ebb938", + "revision": "8d3844190343ab604bc3ddaf13a1b6f6", + "url": "/static/media/pot-oregano.8d384419.svg" + }, + { + "revision": "3796322267bc22d4741521e443c13b27", + "url": "/static/media/pot-back.37963222.svg" + }, + { + "revision": "b4aec4fbd2008ca5f7defbf28fc55de7", "url": "/index.html" } ]; \ No newline at end of file diff --git a/culinaryServer/culinaryServerCookSalad/src/main/resources/static/service-worker.js b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/service-worker.js index 7bc8385..8aa63ed 100644 --- a/culinaryServer/culinaryServerCookSalad/src/main/resources/static/service-worker.js +++ b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js"); importScripts( - "/precache-manifest.316b04815eda041fdc97ff67764c39ef.js" + "/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js" ); workbox.clientsClaim(); diff --git a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.8072c9ee.chunk.js b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.2934fd44.chunk.js similarity index 52% rename from culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.8072c9ee.chunk.js rename to culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.2934fd44.chunk.js index f296254..65343cc 100644 --- a/culinaryServer/culinaryServerAddSpices/src/main/resources/static/static/js/main.8072c9ee.chunk.js +++ b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.2934fd44.chunk.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{22:function(e,t,n){e.exports=n.p+"static/media/logo.af49c77d.svg"},23:function(e,t,n){e.exports=n(55)},31:function(e,t,n){},32:function(e,t,n){},55:function(e,t,n){"use strict";n.r(t);var r=n(0),a=n.n(r),c=n(21),o=n.n(c),i=(n(31),n(3)),u=(n(32),n(22)),s=n.n(u);function l(e){var t=e.gameStateSetter;return React.createElement("div",{className:"App-main-container"},React.createElement("img",{src:s.a,className:"App-logo",alt:"logo"}),React.createElement("p",{className:"App-big-name font-link-bold"},"Culinary arts"),React.createElement("p",{className:"App-small-name font-link-base"},"by Kotlin Course"),React.createElement("div",{className:"App-buttons-container App-display-flex"},React.createElement("button",{className:"App-button-base App-button-start",onClick:function(){return t(_.GAME)}})))}var p=n(7),f=n(1),m=n(6),d=function(e){return e[e.CITRUS_BASKET=0]="CITRUS_BASKET",e[e.BERRY_BASKET=1]="BERRY_BASKET",e[e.ROT_TOMATO=2]="ROT_TOMATO",e[e.FRESH_TOMATO=3]="FRESH_TOMATO",e[e.CUT_TOMATO=4]="CUT_TOMATO",e[e.ROT_CUCUMBER=5]="ROT_CUCUMBER",e[e.FRESH_CUCUMBER=6]="FRESH_CUCUMBER",e[e.CUT_CUCUMBER=7]="CUT_CUCUMBER",e[e.ROT_CARROT=8]="ROT_CARROT",e[e.FRESH_CARROT=9]="FRESH_CARROT",e[e.CUT_CARROT=10]="CUT_CARROT",e[e.BERRY=11]="BERRY",e[e.CITRUS=12]="CITRUS",e[e.SALT=13]="SALT",e[e.PEPPER=14]="PEPPER",e[e.OREGANO=15]="OREGANO",e}({}),b=n(4),h=n.n(b);function v(e){var t=e.product,n=e.inFridge,r=void 0!==n&&n,a="App-product-image-"+d[t];return React.createElement("div",{className:"App-product-image "+a+" "+(r?"App-product-fridge":"App-product-counter")})}function A(e){var t=e.products;var n=Math.ceil(t.length/2),r=t.slice(0,n),a=t.slice(n);return React.createElement("div",{className:"App-counter-container"},React.createElement("div",{className:"App-products-row App-products-row-top"},r.map(function(e,t){return React.createElement(v,{product:e})})),React.createElement("div",{className:"App-products-row App-products-row-bottom"},a.map(function(e,t){return React.createElement(v,{product:e})})))}function g(e){var t=e.blenderOptions,n=t.visible,r=t.full,a=t.shake,c=t.citrus,o=t.berry,i="App-blender-jar"+(r?"-full":"");return React.createElement("div",{className:"App-blender"+(n?"":" App-invisible")+(a?" App-animation-shake":"")},React.createElement("div",{className:"App-blender "+i}),!r&&React.createElement(React.Fragment,null,Array.from({length:c}).map(function(e,t){return React.createElement("div",{key:t,className:"App-blender App-blender-citrus ",style:{top:"".concat(-1*(c-t-1),"vmin")}})}),Array.from({length:o}).map(function(e,t){return React.createElement("div",{key:t,className:"App-blender App-blender-berry ",style:{top:"".concat(-1*(o-t-1),"vmin")}})})))}function R(e){var t=e.potOptions,n=t.visible,r=t.simmer,a=t.soup,c=t.pepper,o=t.salt,i=t.oregano,u=t.cucumber,s=t.tomato,l=t.carrot,p=t.soupHue,f="App-pot"+(a?"-soup":"-water");return React.createElement("div",{className:"App-pot"+(n?"":" App-invisible")+(r?" App-animation-simmer":"")},React.createElement("div",{className:"App-pot App-pot-back"}),!a&&React.createElement(React.Fragment,null,Array.from({length:u}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-cucumber ",style:{top:"".concat(-1*(u-t-1),"vmin")}})}),Array.from({length:s}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-tomato ",style:{top:"".concat(-1*(s-t-1),"vmin")}})}),Array.from({length:l}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-carrot ",style:{top:"".concat(-1*(l-t-1),"vmin")}})})),React.createElement("div",{className:"App-pot "+f,style:{filter:"hue-rotate(".concat(p,"deg)")}}),React.createElement("div",{className:"App-pot App-pot-pepper "+(c?"":"App-invisible")}),React.createElement("div",{className:"App-pot App-pot-salt "+(o?"":"App-invisible")}),React.createElement("div",{className:"App-pot App-pot-oregano "+(i?"":"App-invisible")}))}function E(e){var t=e.basketOptions,n=t.type,r=t.visible,a=t.count,c="App-basket-".concat(n,"-");return React.createElement("div",{className:"App-basket "+(r?"":" App-invisible")},React.createElement("div",{className:"App-basket App-basket-back"}),a>0&&React.createElement(React.Fragment,null,Array.from({length:a}).map(function(e,t){return React.createElement("div",{key:t,className:"App-basket App-basket-item "+c+(a-t)})})),React.createElement("div",{className:"App-basket App-basket-front"}))}function O(e){var t=e.visible;return React.createElement("div",{className:"App-spices-shelf"+(t?"":" App-invisible")})}function y(e){var t=e.saladBowlOptions,n=t.visible,r=t.mixing,a=t.mixed,c=t.tomato,o=t.cucumber,i=t.carrot;return React.createElement("div",{className:"App-salad"+(n?"":" App-invisible")+(r?" App-animation-mixing":"")},a?React.createElement(React.Fragment,null,React.createElement("div",{className:"App-salad App-salad-mixed-tomato "+(c>0?"":"App-invisible")}),React.createElement("div",{className:"App-salad App-salad-mixed-cucumber "+(o>0?"":"App-invisible")}),React.createElement("div",{className:"App-salad App-salad-mixed-carrot "+(i>0?"":"App-invisible")})):React.createElement(React.Fragment,null,Array.from({length:i}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-carrot ",style:{top:"".concat(-1*(i-t-1),"vmin")}})}),Array.from({length:c}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-tomato ",style:{top:"".concat(-1*(c-t-1),"vmin")}})}),Array.from({length:o}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-cucumber ",style:{top:"".concat(-1*(o-t-1),"vmin")}})})),React.createElement("div",{className:"App-salad App-salad-bowl "}))}function T(e){var t=e.products,n=Math.ceil(t.length/3),c=t.slice(0,n),o=t.slice(n,2*n),i=t.slice(2*n),u=Object(r.useCallback)(function(){var e=document.querySelector(".App-fridge"),t=document.querySelectorAll(".App-fridge-first-shelf"),n=document.querySelectorAll(".App-fridge-second-shelf"),r=document.querySelectorAll(".App-fridge-third-shelf");if(e){var a=e.clientHeight,c=.15*a,o=.3*a,i=.425*a;t.forEach(function(e){e.style.top="".concat(c,"px")}),n.forEach(function(e){e.style.top="".concat(o,"px")}),r.forEach(function(e){e.style.top="".concat(i,"px")})}},[t]);return Object(r.useEffect)(function(){u();var e=function(){u()};return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}},[u]),a.a.createElement("div",{className:"App-fridge"},a.a.createElement("div",{className:"App-fridge App-fridge-back"}),c.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},className:"App-fridge-first-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}),o.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},className:"App-fridge-second-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}),i.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},key:"third-shelf-".concat(t),className:"App-fridge-third-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}))}function S(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return C(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var c,o=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){i=!0,c=e},f:function(){try{o||null==n.return||n.return()}finally{if(i)throw c}}}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0;--c){var o=this.tryEntries[c],i=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var u=r.call(o,"catchLoc"),s=r.call(o,"finallyLoc");if(u&&s){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;w(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:U(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),h}},t}function k(e){var t=e.gameStateSetter,n="/functions/refill-fridge",a="/functions/soup-spices",c="/functions/check-soup",o={SHOW_ON_COUNTER:"Placing the current ingredient to the cooking space",PUT_IN_POT:"Putting into the pot",SIMMER:"Cooking!",ADD_TO_SALAD:"Adding to the salad",MIX_SALAD:"Mixing the salad",BLEND:"Blending",ADD_TO_BLENDER:"Adding to the blender",REMOVE_FROM_COUNTER:"Removing the current ingredient from the cooking space",CUT_ON_COUNTER:"Cutting"},u={CITRUS_BASKET:"citrus basket",BERRY_BASKET:"berry basket",ROT_TOMATO:"rot tomato",FRESH_TOMATO:"fresh tomato",CUT_TOMATO:"cut tomato",ROT_CUCUMBER:"rot cucumber",FRESH_CUCUMBER:"fresh cucumber",CUT_CUCUMBER:"cut cucumber",ROT_CARROT:"rot carrot",FRESH_CARROT:"fresh carrot",CUT_CARROT:"cut carrot",BERRY:"berry",CITRUS:"orange",SALT:"salt",PEPPER:"pepper",OREGANO:"oregano"},s="Fridge is refilled!",l="Failed to refill the fridge. Check your implementation.",b="Not enough ingredients to make",v="Cooking is done!",C="Failed to cook. Check your implementation.",k="You need to cook the soup first!",w="Let's add some spices!",j="Adding spices is done!",U="Failed to add spices. Check your implementation.",x="It tastes great! \ud83c\udf89",L="It tastes so bad... Try to cook the soup again.",M="Failed to get taste status. Check your implementation.",F=1e3,B={visible:!0,full:!1,shake:!1,berry:0,citrus:0},P={visible:!0,simmer:!1,soup:!1,pepper:!1,salt:!1,oregano:!1,cucumber:0,tomato:0,carrot:0,soupHue:0,spiced:!1},I={visible:!1,mixing:!1,mixed:!1,tomato:0,cucumber:0,carrot:0},D={type:"berry",visible:!1,count:5},H={type:"citrus",visible:!1,count:5};Object(r.useEffect)(function(){h.a.get("/functions/current-task").then(function(){var e=Object(m.a)(N().mark(function e(t){return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:console.log("Current task type: ".concat(t.data)),we(t.data),je("SALAD"===t.data);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z("Can't get task type. Check backend.")})},[]);var G=Object(r.useState)([]),Y=Object(i.a)(G,2),K=Y[0],q=Y[1],J=Object(r.useState)([]),z=Object(i.a)(J,2),V=z[0],W=z[1],X=Object(r.useState)("Press button to start"),$=Object(i.a)(X,2),Q=$[0],Z=$[1],ee=Object(r.useState)(!0),te=Object(i.a)(ee,2),ne=te[0],re=(te[1],Object(r.useState)(B)),ae=Object(i.a)(re,2),ce=ae[0],oe=ae[1],ie=Object(r.useState)(P),ue=Object(i.a)(ie,2),se=ue[0],le=ue[1],pe=Object(r.useState)(I),fe=Object(i.a)(pe,2),me=fe[0],de=fe[1],be=Object(r.useState)(D),he=Object(i.a)(be,2),ve=he[0],Ae=he[1],ge=Object(r.useState)(H),Re=Object(i.a)(ge,2),Ee=Re[0],Oe=Re[1],ye=Object(r.useState)(""),Te=Object(i.a)(ye,2),Se=Te[0],Ce=Te[1],Ne=Object(r.useState)(""),ke=Object(i.a)(Ne,2),_e=ke[0],we=ke[1];function je(e){de(function(t){return Object(f.a)({},t,{visible:e})})}var Ue={BERRY_BASKET:function(e){Ae(function(t){return Object(f.a)({},t,{visible:e})})},CITRUS_BASKET:function(e){Oe(function(t){return Object(f.a)({},t,{visible:e})})},BLENDER:function(e){oe(function(t){return Object(f.a)({},t,{visible:e})})},POT:function(e){le(function(t){return Object(f.a)({},t,{visible:e})})}};var xe={FRESH_TOMATO:"CUT_TOMATO",FRESH_CUCUMBER:"CUT_CUCUMBER",FRESH_CARROT:"CUT_CARROT"};function Le(e){console.log("removeFromCounter",e),e&&(console.log("counter: ",K),console.log("filter: ",K.filter(function(t){return d[t]!==e})),q(function(t){var n=t.findIndex(function(t){return d[t]===e});if(n>-1){var r=Object(p.a)(t);return r.splice(n,1),r}return t}))}var Me={SHOW_ON_COUNTER:function(e){console.log("showOnCounter",e),e&&(e in Ue?Ue[e](!0):(function(e){console.log("removeFromFridge",e),e&&(console.log("counter: ",V),console.log("filter: ",V.filter(function(t){return d[t]!==e})),W(function(t){var n=t.findIndex(function(t){return d[t]===e});if(n>-1){var r=Object(p.a)(t);return r.splice(n,1),r}return t}))}(e),q(function(t){return[].concat(Object(p.a)(t),[d[e]])})))},PUT_IN_POT:function(e){null!=e&&(Le(e),{PEPPER:function(){le(function(e){return Object(f.a)({},e,{pepper:!0,soupHue:57})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{pepper:!1})})},750)},SALT:function(){le(function(e){return Object(f.a)({},e,{salt:!0,soupHue:320})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{salt:!1})})},750)},OREGANO:function(){le(function(e){return Object(f.a)({},e,{oregano:!0,soupHue:113})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{oregano:!1})})},750)},CUT_TOMATO:function(){le(function(e){return Object(f.a)({},e,{tomato:e.tomato+1})})},CUT_CARROT:function(){le(function(e){return Object(f.a)({},e,{carrot:e.carrot+1})})},CUT_CUCUMBER:function(){le(function(e){return Object(f.a)({},e,{cucumber:e.cucumber+1})})}}[e]())},SIMMER:function(e){le(function(e){return Object(f.a)({},e,{simmer:!0})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{soup:!0,soupHue:0})})},500),setTimeout(function(){le(function(e){return Object(f.a)({},e,{simmer:!1})})},1e3)},ADD_TO_SALAD:function(e){console.log("addToSalad()"),console.log(e),null!=e&&(Le(e),{CUT_TOMATO:function(){de(function(e){return Object(f.a)({},e,{tomato:e.tomato+1})})},CUT_CUCUMBER:function(){de(function(e){return Object(f.a)({},e,{cucumber:e.cucumber+1})})},CUT_CARROT:function(){de(function(e){return Object(f.a)({},e,{carrot:e.carrot+1})})}}[e]())},MIX_SALAD:function(e){de(function(e){return Object(f.a)({},e,{mixing:!0})}),setTimeout(function(){de(function(e){return Object(f.a)({},e,{mixed:!0})})},500),setTimeout(function(){de(function(e){return Object(f.a)({},e,{mixing:!1})})},1e3)},BLEND:function(e){oe(function(e){return Object(f.a)({},e,{shake:!0})}),setTimeout(function(){oe(function(e){return Object(f.a)({},e,{full:!0})})},500),setTimeout(function(){oe(function(e){return Object(f.a)({},e,{shake:!1})})},1e3)},ADD_TO_BLENDER:function(e){null!=e&&(Le(e),{CITRUS:function(){Oe(function(e){return Object(f.a)({},e,{count:e.count>0?e.count-1:0})}),oe(function(e){return Object(f.a)({},e,{citrus:e.citrus+1})})},BERRY:function(){Ae(function(e){return Object(f.a)({},e,{count:e.count>0?e.count-1:0})}),oe(function(e){return Object(f.a)({},e,{berry:e.berry+1})})}}[e]())},REMOVE_FROM_COUNTER:Le,CUT_ON_COUNTER:function(e){if(console.log("cutOnCounter",e),e&&(console.log("counter: ",K),xe.hasOwnProperty(e))){var t=xe[e];console.log("counter: ",K),console.log("filter: ",K.filter(function(t){return d[t]!==e})),q(function(n){var r=n.findIndex(function(t){return d[t]===e});if(r>-1){var a=Object(p.a)(n);return a.splice(r,1,d[t]),a}return n})}}};function Fe(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";oe(B),le(P),de(I),je("SALAD"===_e),Oe(H),Ae(D),q([]),Ce(t);var r=function(e){return new Promise(function(t){return setTimeout(t,e)})},a=Array();h.a.get(e).then(function(){var e=Object(m.a)(N().mark(function e(c){var i,s,l;return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(console.log("GOT: "+JSON.stringify(c.data,null,2)),0!=(a=c.data).length){e.next=6;break}return Z("".concat(b," ").concat(t,"! ").concat(n)),Ce(""),e.abrupt("return");case 6:return Z("Let's go!"),e.next=9,r(F);case 9:i=S(a),e.prev=10,i.s();case 12:if((s=i.n()).done){e.next=21;break}return l=s.value,console.log(o[String(l.type)]+" "+(l.parameter?u[String(l.parameter)]:"")),Z(o[String(l.type)]+" "+(l.parameter?u[String(l.parameter)]:"")),Me[String(l.type)](l.parameter?String(l.parameter):null),e.next=19,r(F);case 19:e.next=12;break;case 21:e.next=26;break;case 23:e.prev=23,e.t0=e.catch(10),i.e(e.t0);case 26:return e.prev=26,i.f(),e.finish(26);case 29:Z(v);case 30:case"end":return e.stop()}},e,null,[[10,23,26,29]])}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z(C)}).finally(function(){Ce("")})}function Be(e){return!Se}return React.createElement("div",{className:"App-main-container"},React.createElement("div",{className:"App-buttons-container"},React.createElement("button",{className:"App-button-base App-game-button-bottom-base App-button-back",onClick:function(){t(_.START)}})),React.createElement("div",{className:"App-kitchen-space"},React.createElement("div",{className:"App-info-container"},React.createElement("div",{className:"App-info-container-text font-link-base"},Q)),React.createElement("div",{className:"App-kitchen-container"},React.createElement("div",{className:"App-left-kitchen-container"},React.createElement(O,{visible:ne}),React.createElement(T,{products:V})),React.createElement("div",{className:"App-center-kitchen-container"},React.createElement("div",{className:"App-basket-kitchen-container"},React.createElement(E,{basketOptions:ve}),React.createElement(y,{saladBowlOptions:me}),React.createElement(E,{basketOptions:Ee})),React.createElement(A,{products:K})),React.createElement("div",{className:"App-right-kitchen-container"},React.createElement(g,{blenderOptions:ce}),React.createElement(R,{potOptions:se})))),React.createElement("div",{className:"App-buttons-container"},("SOUP"===_e||"SALAD"===_e)&&React.createElement("button",{className:"App-button-base App-button-action "+(Be()?"":"App-button-disable"),onClick:function(){return function(){oe(B),le(P),de(I),je("SALAD"===_e),Oe(H),Ae(D),q([]);var e=Array();h.a.get(n).then(function(){var t=Object(m.a)(N().mark(function t(n){var r;return N().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:r=n.data,e=r.map(function(e){return d[e]}),console.log("Refill GOT: "+e),W(e),Z(s);case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}()).catch(function(e){Z(l)})}()}},"Refill"),"SOUP"===_e&&React.createElement(React.Fragment,null,React.createElement("button",{className:"App-button-base App-button-action "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/tomato-soup","tomato soup","You need at least three fresh tomato in the fridge! Try to refill!")}},"Soup"),React.createElement("button",{className:"App-button-base App-button-action "+(se.soup&&!se.spiced&&Be()?"":"App-button-disable"),onClick:function(){return function(){Ce("spice");var e=function(e){return new Promise(function(t){return setTimeout(t,e)})},t=Array();h.a.get(a).then(function(){var n=Object(m.a)(N().mark(function n(r){var a,c,i;return N().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(t=r.data,console.log("GOT: "+t),0!=t.length){n.next=6;break}return Z(k),Ce(""),n.abrupt("return");case 6:return Z(w),n.next=9,e(F);case 9:a=S(t),n.prev=10,a.s();case 12:if((c=a.n()).done){n.next=21;break}return i=c.value,console.log(o[String(i.type)]+" "+(i.parameter?u[String(i.parameter)]:"")),Z(o[String(i.type)]+" "+(i.parameter?u[String(i.parameter)]:"")),Me[String(i.type)](i.parameter?String(i.parameter):null),n.next=19,e(F);case 19:n.next=12;break;case 21:n.next=26;break;case 23:n.prev=23,n.t0=n.catch(10),a.e(n.t0);case 26:return n.prev=26,a.f(),n.finish(26);case 29:Z(j),le(function(e){return Object(f.a)({},e,{spiced:!0})});case 31:case"end":return n.stop()}},n,null,[[10,23,26,29]])}));return function(e){return n.apply(this,arguments)}}()).catch(function(e){Z(U)}).finally(function(){Ce("")})}()}},"Spice"),React.createElement("button",{className:"App-button-base App-button-action "+(se.soup&&se.spiced&&Be()?"":"App-button-disable"),onClick:function(){h.a.get(c).then(function(){var e=Object(m.a)(N().mark(function e(t){var n;return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=t.data,console.log("isTasteGood: "+n),Z(n?x:L);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z(M)})}},"Taste")),"SALAD"===_e&&React.createElement(React.Fragment,null,React.createElement("button",{className:"App-button-base App-button-action-wide "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/salad-list","salad (list)","Try to refill the fridge!")}},"Salad list"),React.createElement("button",{className:"App-button-base App-button-action-wide "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/salad-sequence","salad (sequence)","Try to refill the fridge!")}},"Salad seq.")),"SMOOTHIE"===_e&&React.createElement("button",{className:"App-button-base App-button-action-wide "+(Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/smoothie","smoothie")}},"Smoothie")))}window.React=a.a;var _=function(e){return e[e.START=0]="START",e[e.GAME=1]="GAME",e}({});function w(e){var t=e.state,n=e.gameStateSetter;switch(t){case _.START:return a.a.createElement(l,{gameStateSetter:n});case _.GAME:return a.a.createElement(k,{gameStateSetter:n})}}var j=function(){var e=Object(r.useState)(_.START),t=Object(i.a)(e,2),n=t[0],a=t[1];switch(n){case _.START:return React.createElement("div",{className:"App"},React.createElement("header",{className:"App-header-base App-header-black"},React.createElement(w,{state:n,gameStateSetter:a})));default:return React.createElement("div",{className:"App"},React.createElement("header",{className:"App-header-base App-header-white"},React.createElement(w,{state:n,gameStateSetter:a})))}},U=function(e){e&&e instanceof Function&&n.e(3).then(n.bind(null,56)).then(function(t){var n=t.getCLS,r=t.getFID,a=t.getFCP,c=t.getLCP,o=t.getTTFB;n(e),r(e),a(e),c(e),o(e)})};h.a.defaults.baseURL="/api/",o.a.createRoot(document.getElementById("root")).render(a.a.createElement(a.a.StrictMode,null,a.a.createElement(j,null))),U()}},[[23,1,2]]]); -//# sourceMappingURL=main.8072c9ee.chunk.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{22:function(e,t,n){e.exports=n.p+"static/media/logo.af49c77d.svg"},23:function(e,t,n){e.exports=n(55)},31:function(e,t,n){},32:function(e,t,n){},55:function(e,t,n){"use strict";n.r(t);var r=n(0),a=n.n(r),c=n(21),o=n.n(c),i=(n(31),n(3)),u=(n(32),n(22)),s=n.n(u);function l(e){var t=e.gameStateSetter;return React.createElement("div",{className:"App-main-container"},React.createElement("img",{src:s.a,className:"App-logo",alt:"logo"}),React.createElement("p",{className:"App-big-name font-link-bold"},"Culinary arts"),React.createElement("p",{className:"App-small-name font-link-base"},"by Kotlin Course"),React.createElement("div",{className:"App-buttons-container App-display-flex"},React.createElement("button",{className:"App-button-base App-button-start",onClick:function(){return t(_.GAME)}})))}var p=n(7),f=n(1),m=n(6),d=function(e){return e[e.CITRUS_BASKET=0]="CITRUS_BASKET",e[e.BERRY_BASKET=1]="BERRY_BASKET",e[e.ROT_TOMATO=2]="ROT_TOMATO",e[e.FRESH_TOMATO=3]="FRESH_TOMATO",e[e.CUT_TOMATO=4]="CUT_TOMATO",e[e.ROT_CUCUMBER=5]="ROT_CUCUMBER",e[e.FRESH_CUCUMBER=6]="FRESH_CUCUMBER",e[e.CUT_CUCUMBER=7]="CUT_CUCUMBER",e[e.ROT_CARROT=8]="ROT_CARROT",e[e.FRESH_CARROT=9]="FRESH_CARROT",e[e.CUT_CARROT=10]="CUT_CARROT",e[e.BERRY=11]="BERRY",e[e.CITRUS=12]="CITRUS",e[e.SALT=13]="SALT",e[e.PEPPER=14]="PEPPER",e[e.OREGANO=15]="OREGANO",e}({}),b=n(4),h=n.n(b);function v(e){var t=e.product,n=e.inFridge,r=void 0!==n&&n,a="App-product-image-"+d[t];return React.createElement("div",{className:"App-product-image "+a+" "+(r?"App-product-fridge":"App-product-counter")})}function A(e){var t=e.products;var n=Math.ceil(t.length/2),r=t.slice(0,n),a=t.slice(n);return React.createElement("div",{className:"App-counter-container"},React.createElement("div",{className:"App-products-row App-products-row-top"},r.map(function(e,t){return React.createElement(v,{product:e})})),React.createElement("div",{className:"App-products-row App-products-row-bottom"},a.map(function(e,t){return React.createElement(v,{product:e})})))}function g(e){var t=e.blenderOptions,n=t.visible,r=t.full,a=t.shake,c=t.citrus,o=t.berry,i="App-blender-jar"+(r?"-full":"");return React.createElement("div",{className:"App-blender"+(n?"":" App-invisible")+(a?" App-animation-shake":"")},React.createElement("div",{className:"App-blender "+i}),!r&&React.createElement(React.Fragment,null,Array.from({length:c}).map(function(e,t){return React.createElement("div",{key:t,className:"App-blender App-blender-citrus ",style:{top:"".concat(-1*(c-t-1),"vmin")}})}),Array.from({length:o}).map(function(e,t){return React.createElement("div",{key:t,className:"App-blender App-blender-berry ",style:{top:"".concat(-1*(o-t-1),"vmin")}})})))}function R(e){var t=e.potOptions,n=t.visible,r=t.simmer,a=t.soup,c=t.pepper,o=t.salt,i=t.oregano,u=t.cucumber,s=t.tomato,l=t.carrot,p=t.soupHue,f="App-pot"+(a?"-soup":"-water");return React.createElement("div",{className:"App-pot"+(n?"":" App-invisible")+(r?" App-animation-simmer":"")},React.createElement("div",{className:"App-pot App-pot-back"}),!a&&React.createElement(React.Fragment,null,Array.from({length:u}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-cucumber ",style:{top:"".concat(-1*(u-t-1),"vmin")}})}),Array.from({length:s}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-tomato ",style:{top:"".concat(-1*(s-t-1),"vmin")}})}),Array.from({length:l}).map(function(e,t){return React.createElement("div",{key:t,className:"App-pot App-pot-carrot ",style:{top:"".concat(-1*(l-t-1),"vmin")}})})),React.createElement("div",{className:"App-pot "+f,style:{filter:"hue-rotate(".concat(p,"deg)")}}),React.createElement("div",{className:"App-pot App-pot-pepper "+(c?"":"App-invisible")}),React.createElement("div",{className:"App-pot App-pot-salt "+(o?"":"App-invisible")}),React.createElement("div",{className:"App-pot App-pot-oregano "+(i?"":"App-invisible")}))}function E(e){var t=e.basketOptions,n=t.type,r=t.visible,a=t.count,c="App-basket-".concat(n,"-");return React.createElement("div",{className:"App-basket "+(r?"":" App-invisible")},React.createElement("div",{className:"App-basket App-basket-back"}),a>0&&React.createElement(React.Fragment,null,Array.from({length:a}).map(function(e,t){return React.createElement("div",{key:t,className:"App-basket App-basket-item "+c+(a-t)})})),React.createElement("div",{className:"App-basket App-basket-front"}))}function O(e){var t=e.visible;return React.createElement("div",{className:"App-spices-shelf"+(t?"":" App-invisible")})}function y(e){var t=e.saladBowlOptions,n=t.visible,r=t.mixing,a=t.mixed,c=t.tomato,o=t.cucumber,i=t.carrot;return React.createElement("div",{className:"App-salad"+(n?"":" App-invisible")+(r?" App-animation-mixing":"")},a?React.createElement(React.Fragment,null,React.createElement("div",{className:"App-salad App-salad-mixed-tomato "+(c>0?"":"App-invisible")}),React.createElement("div",{className:"App-salad App-salad-mixed-cucumber "+(o>0?"":"App-invisible")}),React.createElement("div",{className:"App-salad App-salad-mixed-carrot "+(i>0?"":"App-invisible")})):React.createElement(React.Fragment,null,Array.from({length:i}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-carrot ",style:{top:"".concat(-1*(i-t-1),"vmin")}})}),Array.from({length:c}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-tomato ",style:{top:"".concat(-1*(c-t-1),"vmin")}})}),Array.from({length:o}).map(function(e,t){return React.createElement("div",{key:t,className:"App-salad App-salad-cucumber ",style:{top:"".concat(-1*(o-t-1),"vmin")}})})),React.createElement("div",{className:"App-salad App-salad-bowl "}))}function T(e){var t=e.products,n=Math.ceil(t.length/3),c=t.slice(0,n),o=t.slice(n,2*n),i=t.slice(2*n),u=Object(r.useCallback)(function(){var e=document.querySelector(".App-fridge"),t=document.querySelectorAll(".App-fridge-first-shelf"),n=document.querySelectorAll(".App-fridge-second-shelf"),r=document.querySelectorAll(".App-fridge-third-shelf");if(e){var a=e.clientHeight,c=.15*a,o=.3*a,i=.425*a;t.forEach(function(e){e.style.top="".concat(c,"px")}),n.forEach(function(e){e.style.top="".concat(o,"px")}),r.forEach(function(e){e.style.top="".concat(i,"px")})}},[t]);return Object(r.useEffect)(function(){u();var e=function(){u()};return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}},[u]),a.a.createElement("div",{className:"App-fridge"},a.a.createElement("div",{className:"App-fridge App-fridge-back"}),c.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},className:"App-fridge-first-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}),o.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},className:"App-fridge-second-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}),i.map(function(e,t){return a.a.createElement("div",{style:{left:"".concat(2+2*t,"vmin")},key:"third-shelf-".concat(t),className:"App-fridge-third-shelf"},a.a.createElement(v,{product:e,inFridge:!0}))}))}function S(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return C(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var c,o=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){i=!0,c=e},f:function(){try{o||null==n.return||n.return()}finally{if(i)throw c}}}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0;--c){var o=this.tryEntries[c],i=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var u=r.call(o,"catchLoc"),s=r.call(o,"finallyLoc");if(u&&s){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;w(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:U(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),h}},t}function k(e){var t=e.gameStateSetter,n="/functions/refill-fridge",a="/functions/soup-spices",c="/functions/check-soup",o={SHOW_ON_COUNTER:"Placing the current ingredient on the cooking space:",PUT_IN_POT:"Putting into the pot:",SIMMER:"Cooking!",ADD_TO_SALAD:"Adding to the salad:",MIX_SALAD:"Mixing the salad.",BLEND:"Blending.",ADD_TO_BLENDER:"Adding to the blender:",REMOVE_FROM_COUNTER:"Removing the current ingredient from the cooking space:",CUT_ON_COUNTER:"Cutting"},u={CITRUS_BASKET:"citrus basket",BERRY_BASKET:"berry basket",ROT_TOMATO:"rotten tomato",FRESH_TOMATO:"fresh tomato",CUT_TOMATO:"cut tomato",ROT_CUCUMBER:"rotten cucumber",FRESH_CUCUMBER:"fresh cucumber",CUT_CUCUMBER:"cut cucumber",ROT_CARROT:"rotten carrot",FRESH_CARROT:"fresh carrot",CUT_CARROT:"cut carrot",BERRY:"a berry",CITRUS:"an orange",SALT:"salt",PEPPER:"pepper",OREGANO:"oregano"},s="The fridge has been refilled!",l="Failed to refill the fridge. Check your implementation.",b="Not enough ingredients to cook",v="Cooking is complete!",C="Failed to cook. Check your implementation.",k="You need to cook the soup first!",w="Let's add some spices!",j="Spices have been added!",U="Failed to add spices. Check your implementation.",x="It tastes great! \ud83c\udf89",L="It tastes terrible... Please try cooking the soup again.",M="Failed to retrieve taste status. Check your implementation.",F=1e3,B={visible:!0,full:!1,shake:!1,berry:0,citrus:0},P={visible:!0,simmer:!1,soup:!1,pepper:!1,salt:!1,oregano:!1,cucumber:0,tomato:0,carrot:0,soupHue:0,spiced:!1},I={visible:!1,mixing:!1,mixed:!1,tomato:0,cucumber:0,carrot:0},D={type:"berry",visible:!1,count:5},H={type:"citrus",visible:!1,count:5};Object(r.useEffect)(function(){h.a.get("/functions/current-task").then(function(){var e=Object(m.a)(N().mark(function e(t){return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:console.log("Current task type: ".concat(t.data)),we(t.data),je("SALAD"===t.data);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z("Can't retrieve task type. Please check the backend.")})},[]);var G=Object(r.useState)([]),Y=Object(i.a)(G,2),K=Y[0],q=Y[1],J=Object(r.useState)([]),z=Object(i.a)(J,2),V=z[0],W=z[1],X=Object(r.useState)("Press the button to start"),$=Object(i.a)(X,2),Q=$[0],Z=$[1],ee=Object(r.useState)(!0),te=Object(i.a)(ee,2),ne=te[0],re=(te[1],Object(r.useState)(B)),ae=Object(i.a)(re,2),ce=ae[0],oe=ae[1],ie=Object(r.useState)(P),ue=Object(i.a)(ie,2),se=ue[0],le=ue[1],pe=Object(r.useState)(I),fe=Object(i.a)(pe,2),me=fe[0],de=fe[1],be=Object(r.useState)(D),he=Object(i.a)(be,2),ve=he[0],Ae=he[1],ge=Object(r.useState)(H),Re=Object(i.a)(ge,2),Ee=Re[0],Oe=Re[1],ye=Object(r.useState)(""),Te=Object(i.a)(ye,2),Se=Te[0],Ce=Te[1],Ne=Object(r.useState)(""),ke=Object(i.a)(Ne,2),_e=ke[0],we=ke[1];function je(e){de(function(t){return Object(f.a)({},t,{visible:e})})}var Ue={BERRY_BASKET:function(e){Ae(function(t){return Object(f.a)({},t,{visible:e})})},CITRUS_BASKET:function(e){Oe(function(t){return Object(f.a)({},t,{visible:e})})},BLENDER:function(e){oe(function(t){return Object(f.a)({},t,{visible:e})})},POT:function(e){le(function(t){return Object(f.a)({},t,{visible:e})})}};var xe={FRESH_TOMATO:"CUT_TOMATO",FRESH_CUCUMBER:"CUT_CUCUMBER",FRESH_CARROT:"CUT_CARROT"};function Le(e){console.log("removeFromCounter",e),e&&(console.log("counter: ",K),console.log("filter: ",K.filter(function(t){return d[t]!==e})),q(function(t){var n=t.findIndex(function(t){return d[t]===e});if(n>-1){var r=Object(p.a)(t);return r.splice(n,1),r}return t}))}var Me={SHOW_ON_COUNTER:function(e){console.log("showOnCounter",e),e&&(e in Ue?Ue[e](!0):(function(e){console.log("removeFromFridge",e),e&&(console.log("counter: ",V),console.log("filter: ",V.filter(function(t){return d[t]!==e})),W(function(t){var n=t.findIndex(function(t){return d[t]===e});if(n>-1){var r=Object(p.a)(t);return r.splice(n,1),r}return t}))}(e),q(function(t){return[].concat(Object(p.a)(t),[d[e]])})))},PUT_IN_POT:function(e){null!=e&&(Le(e),{PEPPER:function(){le(function(e){return Object(f.a)({},e,{pepper:!0,soupHue:57})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{pepper:!1})})},750)},SALT:function(){le(function(e){return Object(f.a)({},e,{salt:!0,soupHue:320})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{salt:!1})})},750)},OREGANO:function(){le(function(e){return Object(f.a)({},e,{oregano:!0,soupHue:113})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{oregano:!1})})},750)},CUT_TOMATO:function(){le(function(e){return Object(f.a)({},e,{tomato:e.tomato+1})})},CUT_CARROT:function(){le(function(e){return Object(f.a)({},e,{carrot:e.carrot+1})})},CUT_CUCUMBER:function(){le(function(e){return Object(f.a)({},e,{cucumber:e.cucumber+1})})}}[e]())},SIMMER:function(e){le(function(e){return Object(f.a)({},e,{simmer:!0})}),setTimeout(function(){le(function(e){return Object(f.a)({},e,{soup:!0,soupHue:0})})},500),setTimeout(function(){le(function(e){return Object(f.a)({},e,{simmer:!1})})},1e3)},ADD_TO_SALAD:function(e){console.log("addToSalad()"),console.log(e),null!=e&&(Le(e),{CUT_TOMATO:function(){de(function(e){return Object(f.a)({},e,{tomato:e.tomato+1})})},CUT_CUCUMBER:function(){de(function(e){return Object(f.a)({},e,{cucumber:e.cucumber+1})})},CUT_CARROT:function(){de(function(e){return Object(f.a)({},e,{carrot:e.carrot+1})})}}[e]())},MIX_SALAD:function(e){de(function(e){return Object(f.a)({},e,{mixing:!0})}),setTimeout(function(){de(function(e){return Object(f.a)({},e,{mixed:!0})})},500),setTimeout(function(){de(function(e){return Object(f.a)({},e,{mixing:!1})})},1e3)},BLEND:function(e){oe(function(e){return Object(f.a)({},e,{shake:!0})}),setTimeout(function(){oe(function(e){return Object(f.a)({},e,{full:!0})})},500),setTimeout(function(){oe(function(e){return Object(f.a)({},e,{shake:!1})})},1e3)},ADD_TO_BLENDER:function(e){null!=e&&(Le(e),{CITRUS:function(){Oe(function(e){return Object(f.a)({},e,{count:e.count>0?e.count-1:0})}),oe(function(e){return Object(f.a)({},e,{citrus:e.citrus+1})})},BERRY:function(){Ae(function(e){return Object(f.a)({},e,{count:e.count>0?e.count-1:0})}),oe(function(e){return Object(f.a)({},e,{berry:e.berry+1})})}}[e]())},REMOVE_FROM_COUNTER:Le,CUT_ON_COUNTER:function(e){if(console.log("cutOnCounter",e),e&&(console.log("counter: ",K),xe.hasOwnProperty(e))){var t=xe[e];console.log("counter: ",K),console.log("filter: ",K.filter(function(t){return d[t]!==e})),q(function(n){var r=n.findIndex(function(t){return d[t]===e});if(r>-1){var a=Object(p.a)(n);return a.splice(r,1,d[t]),a}return n})}}};function Fe(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";oe(B),le(P),de(I),je("SALAD"===_e),Oe(H),Ae(D),q([]),Ce(t);var r=function(e){return new Promise(function(t){return setTimeout(t,e)})},a=Array();h.a.get(e).then(function(){var e=Object(m.a)(N().mark(function e(c){var i,s,l;return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(console.log("GOT: "+JSON.stringify(c.data,null,2)),0!=(a=c.data).length){e.next=6;break}return Z("".concat(b," ").concat(t,"! ").concat(n)),Ce(""),e.abrupt("return");case 6:return Z("Let's go!"),e.next=9,r(F);case 9:i=S(a),e.prev=10,i.s();case 12:if((s=i.n()).done){e.next=21;break}return l=s.value,console.log(o[String(l.type)]+" "+(l.parameter?u[String(l.parameter)]:"")),Z(o[String(l.type)]+" "+(l.parameter?u[String(l.parameter)]:"")),Me[String(l.type)](l.parameter?String(l.parameter):null),e.next=19,r(F);case 19:e.next=12;break;case 21:e.next=26;break;case 23:e.prev=23,e.t0=e.catch(10),i.e(e.t0);case 26:return e.prev=26,i.f(),e.finish(26);case 29:Z(v);case 30:case"end":return e.stop()}},e,null,[[10,23,26,29]])}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z(C)}).finally(function(){Ce("")})}function Be(e){return!Se}return React.createElement("div",{className:"App-main-container"},React.createElement("div",{className:"App-buttons-container"},React.createElement("button",{className:"App-button-base App-game-button-bottom-base App-button-back",onClick:function(){t(_.START)}})),React.createElement("div",{className:"App-kitchen-space"},React.createElement("div",{className:"App-info-container"},React.createElement("div",{className:"App-info-container-text font-link-base"},Q)),React.createElement("div",{className:"App-kitchen-container"},React.createElement("div",{className:"App-left-kitchen-container"},React.createElement(O,{visible:ne}),React.createElement(T,{products:V})),React.createElement("div",{className:"App-center-kitchen-container"},React.createElement("div",{className:"App-basket-kitchen-container"},React.createElement(E,{basketOptions:ve}),React.createElement(y,{saladBowlOptions:me}),React.createElement(E,{basketOptions:Ee})),React.createElement(A,{products:K})),React.createElement("div",{className:"App-right-kitchen-container"},React.createElement(g,{blenderOptions:ce}),React.createElement(R,{potOptions:se})))),React.createElement("div",{className:"App-buttons-container"},("SOUP"===_e||"SALAD"===_e)&&React.createElement("button",{className:"App-button-base App-button-action "+(Be()?"":"App-button-disable"),onClick:function(){return function(){oe(B),le(P),de(I),je("SALAD"===_e),Oe(H),Ae(D),q([]);var e=Array();h.a.get(n).then(function(){var t=Object(m.a)(N().mark(function t(n){var r;return N().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:r=n.data,e=r.map(function(e){return d[e]}),console.log("Refill GOT: "+e),W(e),Z(s);case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}()).catch(function(e){Z(l)})}()}},"Refill"),"SOUP"===_e&&React.createElement(React.Fragment,null,React.createElement("button",{className:"App-button-base App-button-action "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/tomato-soup","tomato soup","You need at least three fresh tomatoes in the fridge! Please refill!")}},"Soup"),React.createElement("button",{className:"App-button-base App-button-action "+(se.soup&&!se.spiced&&Be()?"":"App-button-disable"),onClick:function(){return function(){Ce("spice");var e=function(e){return new Promise(function(t){return setTimeout(t,e)})},t=Array();h.a.get(a).then(function(){var n=Object(m.a)(N().mark(function n(r){var a,c,i;return N().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(t=r.data,console.log("GOT: "+t),0!=t.length){n.next=6;break}return Z(k),Ce(""),n.abrupt("return");case 6:return Z(w),n.next=9,e(F);case 9:a=S(t),n.prev=10,a.s();case 12:if((c=a.n()).done){n.next=21;break}return i=c.value,console.log(o[String(i.type)]+" "+(i.parameter?u[String(i.parameter)]:"")),Z(o[String(i.type)]+" "+(i.parameter?u[String(i.parameter)]:"")),Me[String(i.type)](i.parameter?String(i.parameter):null),n.next=19,e(F);case 19:n.next=12;break;case 21:n.next=26;break;case 23:n.prev=23,n.t0=n.catch(10),a.e(n.t0);case 26:return n.prev=26,a.f(),n.finish(26);case 29:Z(j),le(function(e){return Object(f.a)({},e,{spiced:!0})});case 31:case"end":return n.stop()}},n,null,[[10,23,26,29]])}));return function(e){return n.apply(this,arguments)}}()).catch(function(e){Z(U)}).finally(function(){Ce("")})}()}},"Spice"),React.createElement("button",{className:"App-button-base App-button-action "+(se.soup&&se.spiced&&Be()?"":"App-button-disable"),onClick:function(){h.a.get(c).then(function(){var e=Object(m.a)(N().mark(function e(t){var n;return N().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=t.data,console.log("isTasteGood: "+n),Z(n?x:L);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()).catch(function(e){Z(M)})}},"Taste")),"SALAD"===_e&&React.createElement(React.Fragment,null,React.createElement("button",{className:"App-button-base App-button-action-wide "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/salad-list","salad (list)","Please refill the fridge!")}},"Salad list"),React.createElement("button",{className:"App-button-base App-button-action-wide "+(V.length>0&&Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/salad-sequence","salad (sequence)","Please refill the fridge!")}},"Salad seq.")),"SMOOTHIE"===_e&&React.createElement("button",{className:"App-button-base App-button-action-wide "+(Be()?"":"App-button-disable"),onClick:function(){return Fe("/functions/smoothie","smoothie")}},"Smoothie")))}window.React=a.a;var _=function(e){return e[e.START=0]="START",e[e.GAME=1]="GAME",e}({});function w(e){var t=e.state,n=e.gameStateSetter;switch(t){case _.START:return a.a.createElement(l,{gameStateSetter:n});case _.GAME:return a.a.createElement(k,{gameStateSetter:n})}}var j=function(){var e=Object(r.useState)(_.START),t=Object(i.a)(e,2),n=t[0],a=t[1];switch(n){case _.START:return React.createElement("div",{className:"App"},React.createElement("header",{className:"App-header-base App-header-black"},React.createElement(w,{state:n,gameStateSetter:a})));default:return React.createElement("div",{className:"App"},React.createElement("header",{className:"App-header-base App-header-white"},React.createElement(w,{state:n,gameStateSetter:a})))}},U=function(e){e&&e instanceof Function&&n.e(3).then(n.bind(null,56)).then(function(t){var n=t.getCLS,r=t.getFID,a=t.getFCP,c=t.getLCP,o=t.getTTFB;n(e),r(e),a(e),c(e),o(e)})};h.a.defaults.baseURL="/api/",o.a.createRoot(document.getElementById("root")).render(a.a.createElement(a.a.StrictMode,null,a.a.createElement(j,null))),U()}},[[23,1,2]]]); +//# sourceMappingURL=main.2934fd44.chunk.js.map \ No newline at end of file diff --git a/culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.2934fd44.chunk.js.map b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.2934fd44.chunk.js.map new file mode 100644 index 0000000..bc6b7d6 --- /dev/null +++ b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.2934fd44.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets/logo.svg","components/screens/StartScreen.tsx","models/JsItemType.ts","components/Product.tsx","components/Counter.tsx","components/Blender.tsx","components/Pot.tsx","components/Basket.tsx","components/SpicesShelf.tsx","components/SaladBowl.tsx","components/Fridge.tsx","components/screens/MainActionsScreen.tsx","components/GameScreen.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["module","exports","__webpack_require__","p","StartScreen","_ref","gameStateSetter","React","createElement","className","src","logo","alt","onClick","GameState","GAME","JsItemType","Product","product","_ref$inFridge","inFridge","productClass","baseProductClasses","Counter","products","half","Math","ceil","length","topProducts","slice","bottomProducts","map","index","Blender","_ref$blenderOptions","blenderOptions","visible","full","shake","citrus","berry","blenderJarClass","Fragment","Array","from","_","i","key","style","top","concat","Pot","_ref$potOptions","potOptions","simmer","soup","pepper","salt","oregano","cucumber","tomato","carrot","soupHue","potClass","filter","Basket","_ref$basketOptions","basketOptions","type","count","CurrentBasketClass","SpicesShelf","SaladBowl","_ref$saladBowlOptions","saladBowlOptions","mixing","mixed","Fridge","third","firstShelf","secondShelf","thirdShelf","adjustShelvesPosition","useCallback","fridge","document","querySelector","firstShelfElements","querySelectorAll","secondShelfElements","thirdShelfElements","fridgeHeight","clientHeight","firstNewTopValue","secondNewTopValue","thirdNewTopValue","forEach","element","useEffect","handleResize","window","addEventListener","removeEventListener","left","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","MainActionsScreen","refillUrl","spiceUrl","tasteUrl","infoTextActionMap","SHOW_ON_COUNTER","PUT_IN_POT","SIMMER","ADD_TO_SALAD","MIX_SALAD","BLEND","ADD_TO_BLENDER","REMOVE_FROM_COUNTER","CUT_ON_COUNTER","infoTextItemMap","CITRUS_BASKET","BERRY_BASKET","ROT_TOMATO","FRESH_TOMATO","CUT_TOMATO","ROT_CUCUMBER","FRESH_CUCUMBER","CUT_CUCUMBER","ROT_CARROT","FRESH_CARROT","CUT_CARROT","BERRY","CITRUS","SALT","PEPPER","OREGANO","refillSuccMsg","refillErrMsg","cookingNoActionsMsg","cookingDoneMsg","cookingErrMsg","noSoupSpicingMsg","beforeSpicingMsg","afterSpicingMsg","spicingErrMsg","tasteGoodMsg","tasteBadMsg","tasteErrMsg","cookingDelay","initialBlenderOptions","initialPotOptions","spiced","initialSaladBowlOptions","initialBerryBasketOptions","initialCitrusBasketOptions","axios","get","_ref2","_asyncToGenerator","_callee","response","_context","console","log","data","setCurrentTask","SaladBowlVisSetter","_x","apply","arguments","error","infoTextSetter","_useState","useState","_useState2","_slicedToArray","counterProducts","counterProductsSetter","_useState3","_useState4","fridgeProducts","fridgeProductsSetter","_useState5","_useState6","infoText","_useState7","_useState8","spicesShelfVis","_useState9","_useState10","setBlenderOptions","_useState11","_useState12","setPotOptions","_useState13","_useState14","setSaladBowlOptions","_useState15","_useState16","berryBasketOptions","setBerryBasketOptions","_useState17","_useState18","citrusBasketOptions","setCitrusBasketOptions","_useState19","_useState20","buttonBlocker","setButtonBlocker","_useState21","_useState22","currentTask","prevOptions","_objectSpread","counterVisMap","BLENDER","POT","cuttedMap","removeFromCounter","item","prevState","findIndex","newState","_toConsumableArray","splice","actionMap","removeFromFridge","setTimeout","cuttedArg","cook","url","dishName","emptyListMsg","undefined","delay","ms","res","actions","_ref4","_callee3","_iterator","_step","action","_context3","JSON","stringify","_createForOfIteratorHelper","String","parameter","t0","_x3","finally","shouldShow","buttonName","START","items","_ref3","_callee2","receivedItems","_context2","_x2","refill","_ref5","_callee4","_iterator2","_step2","_context4","_x4","spice","_ref6","_callee5","isTasteGood","_context5","_x5","GameScreen","state","App","gameState","reportWebVitals","onPerfEntry","Function","bind","getCLS","getFID","getFCP","getLCP","getTTFB","defaults","baseURL","process","ReactDOM","createRoot","getElementById","render","StrictMode"],"mappings":"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","file":"static/js/main.2934fd44.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.af49c77d.svg\";","import logo from \"../../assets/logo.svg\";\nimport {GameState} from \"../GameScreen\";\n\ntype StartScreenProps = {\n gameStateSetter: (gs: GameState) => void\n}\n\nexport default function StartScreen({gameStateSetter}: StartScreenProps) {\n return (\n
\n \"logo\"/\n

Culinary arts

\n

by Kotlin Course

\n
\n \n
\n
\n );\n}\n","export enum JsItemType {\n CITRUS_BASKET,\n BERRY_BASKET,\n\n ROT_TOMATO,\n FRESH_TOMATO,\n CUT_TOMATO,\n\n ROT_CUCUMBER,\n FRESH_CUCUMBER,\n CUT_CUCUMBER,\n\n ROT_CARROT,\n FRESH_CARROT,\n CUT_CARROT,\n\n BERRY,\n CITRUS,\n\n SALT,\n PEPPER,\n OREGANO,\n}\n","import {JsItemType} from '../models/JsItemType'\n\n\ntype ProductProps = {\n product: JsItemType,\n inFridge?: boolean\n}\n\nexport default function Product({product, inFridge=false}: ProductProps) {\n let baseProductClasses = \"App-product-image\"\n let productClass = baseProductClasses + \"-\" + JsItemType[product]\n return(\n
\n )\n}\n","import Product from \"./Product\";\nimport {JsItemType} from \"../models/JsItemType\";\n\ntype CounterProps = {\n products: Array,\n}\n\nexport default function Counter({products}: CounterProps) {\n function getProductByIndex(index: number): JsItemType {\n if (products.length > index) {\n return products[index]\n }\n return JsItemType.ROT_TOMATO\n }\n\n const half = Math.ceil(products.length / 2);\n const topProducts = products.slice(0, half);\n const bottomProducts = products.slice(half);\n\n return(\n
\n
\n {topProducts.map((product, index) => (\n \n ))}\n
\n
\n {bottomProducts.map((product, index) => (\n \n ))}\n
\n
\n )\n}\n","type BlenderProps = {\n blenderOptions: {\n visible: boolean;\n full: boolean;\n shake: boolean;\n citrus: number;\n berry: number;\n }\n}\n\nexport default function Blender({blenderOptions: {visible, full, shake, citrus, berry}}: BlenderProps) {\n let baseBlenderJarClasses = \"App-blender-jar\"\n let blenderJarClass = baseBlenderJarClasses + (full ? \"-full\" : \"\")\n return (\n
\n
\n {!full && (\n <>\n {Array.from({length: citrus}).map((_, i) => (\n
\n ))}\n {Array.from({length: berry}).map((_, i) => (\n
\n ))}\n \n )}\n
\n )\n}\n","type PotProps = {\n potOptions: {\n visible: boolean,\n simmer: boolean,\n soup: boolean,\n pepper: boolean,\n salt: boolean,\n oregano: boolean,\n cucumber: number,\n tomato: number,\n carrot: number,\n soupHue: number,\n spiced: boolean\n }\n}\n\nexport default function Pot({potOptions:{visible,simmer,soup,pepper,salt,oregano, cucumber, tomato,carrot,soupHue}}: PotProps) {\n let basePotClasses = \"App-pot\"\n let potClass = basePotClasses + (soup ? \"-soup\" : \"-water\")\n return (\n
\n
\n\n {!soup && (\n <>\n {Array.from({length: cucumber}).map((_, i) => (\n
\n ))}\n {Array.from({length: tomato}).map((_, i) => (\n
\n ))}\n {Array.from({length: carrot}).map((_, i) => (\n
\n ))}\n \n )}\n
\n
\n
\n
\n
\n )\n}\n","type BasketProps = {\n basketOptions: {\n type: string,\n visible: boolean,\n count: number,\n }\n}\n\nexport default function Basket({basketOptions:{type, visible, count}}: BasketProps) {\n let BasketClass = \"App-basket \"\n let CurrentBasketClass = `App-basket-${type}-`\n return(\n
\n
\n {count > 0 && (\n <>\n {Array.from({length: count}).map((_, i) => (\n
\n ))}\n \n )}\n
\n
\n )\n}\n","type SpicesShelfProps = {\n visible: boolean\n}\n\nexport default function SpicesShelf({visible}: SpicesShelfProps) {\n let SpicesShelfClass = \"App-spices-shelf\"\n return(\n
\n )\n}\n","import Product from \"./Product\";\n\ntype SaladBowlProps = {\n saladBowlOptions: {\n visible: boolean,\n mixing: boolean,\n mixed: boolean,\n tomato: number,\n cucumber: number,\n carrot: number\n }\n}\n\nexport default function SaladBowl({saladBowlOptions:{visible,mixing,mixed,tomato,cucumber,carrot}}: SaladBowlProps) {\n return (\n
\n {!mixed ? (\n <>\n {Array.from({length: carrot}).map((_, i) => (\n
\n ))}\n {Array.from({length: tomato}).map((_, i) => (\n
\n ))}\n {Array.from({length: cucumber}).map((_, i) => (\n
\n ))}\n ) : (\n <>\n
0) ? \"\" : \"App-invisible\")}\n >
\n
0) ? \"\" : \"App-invisible\")}\n >
\n
0) ? \"\" : \"App-invisible\")}\n >
\n \n )}\n
\n
\n )\n}\n","import React, { useEffect, useCallback} from 'react';\nimport Product from \"./Product\";\nimport {JsItemType} from \"../models/JsItemType\";\n\ntype FridgeProps = {\n products: Array,\n}\n\nexport default function Fridge({products}: FridgeProps) {\n\n const third = Math.ceil(products.length / 3);\n const firstShelf = products.slice(0, third);\n const secondShelf = products.slice(third, third * 2);\n const thirdShelf = products.slice(third * 2);\n\n\n const adjustShelvesPosition = useCallback(() => {\n const fridge = document.querySelector('.App-fridge');\n const firstShelfElements = document.querySelectorAll('.App-fridge-first-shelf');\n const secondShelfElements = document.querySelectorAll('.App-fridge-second-shelf');\n const thirdShelfElements = document.querySelectorAll('.App-fridge-third-shelf');\n if (fridge) {\n const fridgeHeight = fridge.clientHeight;\n const firstNewTopValue = fridgeHeight * 0.15; // Adjust the multiplier as needed\n const secondNewTopValue = fridgeHeight * 0.3; // Adjust the multiplier as needed\n const thirdNewTopValue = fridgeHeight * 0.425; // Adjust the multiplier as needed\n firstShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${firstNewTopValue}px`;\n });\n secondShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${secondNewTopValue}px`;\n });\n thirdShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${thirdNewTopValue}px`;\n });\n }\n }, [products]);\n\n useEffect(() => {\n adjustShelvesPosition();\n const handleResize = () => {\n adjustShelvesPosition();\n };\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [adjustShelvesPosition]);\n\n return(\n
\n
\n {firstShelf.map((product, index) => (\n
\n \n
\n ))}\n {secondShelf.map((product, index) => (\n
\n \n
\n ))}\n {thirdShelf.map((product, index) => (\n
\n \n
\n ))}\n
\n )\n}\n","import {GameState} from \"../GameScreen\";\nimport {useEffect, useState} from \"react\";\nimport {JsAction} from '../../models/JsAction'\nimport {JsItemType} from '../../models/JsItemType'\nimport axios from \"axios\";\nimport Counter from \"../Counter\";\nimport Blender from \"../Blender\";\nimport Pot from \"../Pot\";\nimport Basket from \"../Basket\";\nimport SpicesShelf from \"../SpicesShelf\";\nimport SaladBowl from \"../SaladBowl\";\nimport Fridge from \"../Fridge\";\n\ntype MainActionsScreenProps = {\n gameStateSetter: (gs: GameState) => void\n}\n\nexport default function MainActionsScreen({gameStateSetter}: MainActionsScreenProps) {\n\n const taskTypeUrl = \"/functions/current-task\"\n const refillUrl = \"/functions/refill-fridge\"\n const soupUrl = \"/functions/tomato-soup\"\n const spiceUrl = \"/functions/soup-spices\"\n const tasteUrl = \"/functions/check-soup\"\n const saladListUrl = \"/functions/salad-list\"\n const saladSequenceUrl = \"/functions/salad-sequence\"\n const smoothieUrl = \"/functions/smoothie\"\n\n let infoTextActionMap: { [key: string]: string } = {\n \"SHOW_ON_COUNTER\": \"Placing the current ingredient on the cooking space:\",\n \"PUT_IN_POT\": \"Putting into the pot:\",\n \"SIMMER\": \"Cooking!\",\n \"ADD_TO_SALAD\": \"Adding to the salad:\",\n \"MIX_SALAD\": \"Mixing the salad.\",\n \"BLEND\": \"Blending.\",\n \"ADD_TO_BLENDER\": \"Adding to the blender:\",\n \"REMOVE_FROM_COUNTER\": \"Removing the current ingredient from the cooking space:\",\n \"CUT_ON_COUNTER\": \"Cutting\",\n }\n\n let infoTextItemMap: { [key: string]: string } = {\n \"CITRUS_BASKET\": \"citrus basket\",\n \"BERRY_BASKET\": \"berry basket\",\n \"ROT_TOMATO\": \"rotten tomato\",\n \"FRESH_TOMATO\": \"fresh tomato\",\n \"CUT_TOMATO\": \"cut tomato\",\n \"ROT_CUCUMBER\": \"rotten cucumber\",\n \"FRESH_CUCUMBER\": \"fresh cucumber\",\n \"CUT_CUCUMBER\": \"cut cucumber\",\n \"ROT_CARROT\": \"rotten carrot\",\n \"FRESH_CARROT\": \"fresh carrot\",\n \"CUT_CARROT\": \"cut carrot\",\n \"BERRY\": \"a berry\",\n \"CITRUS\": \"an orange\",\n \"SALT\": \"salt\",\n \"PEPPER\": \"pepper\",\n \"OREGANO\": \"oregano\",\n }\n\n const startupMsg = \"Press the button to start\"\n const getTaskErrMsg = \"Can't retrieve task type. Please check the backend.\"\n\n const refillSuccMsg = \"The fridge has been refilled!\"\n const refillErrMsg = \"Failed to refill the fridge. Check your implementation.\"\n const soupEmptyListMsg = \"You need at least three fresh tomatoes in the fridge! Please refill!\"\n\n const cookingNoActionsMsg = \"Not enough ingredients to cook\"\n const cookingDoneMsg = \"Cooking is complete!\"\n const cookingErrMsg = \"Failed to cook. Check your implementation.\"\n\n const noSoupSpicingMsg = \"You need to cook the soup first!\"\n const beforeSpicingMsg = \"Let's add some spices!\"\n const afterSpicingMsg = \"Spices have been added!\"\n const spicingErrMsg = \"Failed to add spices. Check your implementation.\"\n\n const tasteGoodMsg = \"It tastes great! 🎉\"\n const tasteBadMsg = \"It tastes terrible... Please try cooking the soup again.\"\n const tasteErrMsg = \"Failed to retrieve taste status. Check your implementation.\"\n\n const saladEmptyListMsg = \"Please refill the fridge!\"\n\n const soupName = \"tomato soup\"\n const saladListName = \"salad (list)\"\n const saladSequenceName = \"salad (sequence)\"\n const smoothieName = \"smoothie\"\n\n const cookingDelay = 1000 // ms\n\n type BlenderOptions = {\n visible: boolean,\n full: boolean,\n shake: boolean,\n berry: number,\n citrus: number,\n }\n\n const initialBlenderOptions: BlenderOptions = {\n visible: true,\n full: false,\n shake: false,\n berry: 0,\n citrus: 0,\n }\n\n type PotOptions = {\n visible: boolean,\n simmer: boolean,\n soup: boolean,\n pepper: boolean,\n salt: boolean,\n oregano: boolean,\n cucumber: number,\n tomato: number,\n carrot: number,\n soupHue: number,\n spiced: boolean\n }\n\n const initialPotOptions: PotOptions = {\n visible: true,\n simmer: false,\n soup: false,\n pepper: false,\n salt: false,\n oregano: false,\n cucumber: 0,\n tomato: 0,\n carrot: 0,\n soupHue: 0,\n spiced: false\n }\n\n type SaladBowlOptions = {\n visible: boolean,\n mixing: boolean,\n mixed: boolean,\n tomato: number,\n cucumber: number,\n carrot: number,\n }\n\n const initialSaladBowlOptions: SaladBowlOptions = {\n visible: false,\n mixing: false,\n mixed: false,\n tomato: 0,\n cucumber: 0,\n carrot: 0,\n }\n\n type BasketOptions = {\n type: string,\n visible: boolean,\n count: number,\n }\n\n const initialBerryBasketOptions: BasketOptions = {\n type: \"berry\",\n visible: false,\n count: 5,\n }\n\n const initialCitrusBasketOptions: BasketOptions = {\n type: \"citrus\",\n visible: false,\n count: 5,\n }\n\n useEffect(() => {\n axios.get(taskTypeUrl).then(async (response) => {\n console.log(`Current task type: ${response.data as String}`)\n setCurrentTask(response.data as String)\n SaladBowlVisSetter((response.data as String)===\"SALAD\")\n }).catch(error => {\n infoTextSetter(getTaskErrMsg)\n })\n }, [])\n\n let [counterProducts, counterProductsSetter] = useState>([])\n let [fridgeProducts, fridgeProductsSetter] = useState>([])\n let [infoText, infoTextSetter] = useState(startupMsg)\n let [spicesShelfVis, spicesShelfVisSetter] = useState(true)\n let [blenderOptions, setBlenderOptions] = useState(initialBlenderOptions);\n let [potOptions, setPotOptions] = useState(initialPotOptions);\n let [saladBowlOptions, setSaladBowlOptions] = useState(initialSaladBowlOptions);\n let [berryBasketOptions, setBerryBasketOptions] = useState(initialBerryBasketOptions);\n let [citrusBasketOptions, setCitrusBasketOptions] = useState(initialCitrusBasketOptions);\n let [buttonBlocker, setButtonBlocker] = useState(\"\");\n let [currentTask, setCurrentTask] = useState(\"\");\n\n function berryBasketVisSetter(value: boolean){\n setBerryBasketOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }))\n }\n\n function citrusBasketVisSetter(value: boolean){\n setCitrusBasketOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }))\n }\n\n function blenderVisSetter(value: boolean) {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n function potVisSetter(value: boolean) {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n function SaladBowlVisSetter(value: boolean) {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n let counterVisMap: { [key: string]: (arg: boolean) => void } = {\n \"BERRY_BASKET\": berryBasketVisSetter,\n \"CITRUS_BASKET\": citrusBasketVisSetter,\n \"BLENDER\": blenderVisSetter,\n \"POT\": potVisSetter\n }\n\n function showOnCounter(arg: string | null) {\n console.log(\"showOnCounter\", arg)\n if (!arg) {\n return\n }\n if (arg in counterVisMap) {\n counterVisMap[arg](true)\n } else {\n removeFromFridge(arg)\n counterProductsSetter((prevState) => [\n ...prevState,\n JsItemType[arg as keyof typeof JsItemType],\n ]);\n }\n }\n\n function putInPot(arg: string | null) {\n if (arg == null)\n return\n removeFromCounter(arg)\n let potMap: { [key: string]: () => void } = {\n \"PEPPER\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n pepper: true,\n soupHue: 57, // Dark green\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n pepper: false\n }));\n }, 750);\n },\n \"SALT\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n salt: true,\n soupHue: 320, // Pink\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n salt: false\n }));\n }, 750);\n },\n \"OREGANO\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n oregano: true,\n soupHue: 113, // Green\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n oregano: false\n }));\n }, 750);\n },\n \"CUT_TOMATO\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n tomato: prevOptions.tomato+1\n }));\n },\n \"CUT_CARROT\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n carrot: prevOptions.carrot+1\n }));\n },\n \"CUT_CUCUMBER\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n cucumber: prevOptions.cucumber+1\n }));\n },\n }\n potMap[arg]()\n }\n\n function simmer(arg: string | null) {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n simmer: true\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n soup: true,\n soupHue: 0,\n }));\n }, 500);\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n simmer: false\n }));\n }, 1000);\n }\n\n function addToSalad(arg: string | null) {\n console.log(\"addToSalad()\")\n console.log(arg)\n if (arg == null)\n return\n removeFromCounter(arg)\n let saladMap: { [key: string]: () => void } = {\n \"CUT_TOMATO\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n tomato: prevOptions.tomato+1\n }));\n },\n \"CUT_CUCUMBER\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n cucumber: prevOptions.cucumber+1\n }));\n },\n \"CUT_CARROT\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n carrot: prevOptions.carrot+1\n }));\n },\n }\n saladMap[arg]()\n }\n\n function mixSalad(arg: string | null) {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixing: true\n }));\n setTimeout(() => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixed: true\n }));\n }, 500);\n setTimeout(() => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixing: false\n }));\n }, 1000);\n }\n\n function blend(arg: string | null) {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n shake: true\n }));\n setTimeout(() => {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n full: true\n }));\n }, 500);\n setTimeout(() => {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n shake: false\n }));\n }, 1000);\n }\n\n function addToBlender(arg: string | null) {\n if (arg == null)\n return\n removeFromCounter(arg)\n let blenderMap: { [key: string]: () => void } = {\n \"CITRUS\": () => {\n setCitrusBasketOptions(prevOptions => ({\n ...prevOptions,\n count: (prevOptions.count > 0) ? prevOptions.count-1 : 0\n })\n )\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n citrus: prevOptions.citrus+1\n }));\n },\n \"BERRY\": () => {\n setBerryBasketOptions(prevOptions => ({\n ...prevOptions,\n count: (prevOptions.count > 0) ? prevOptions.count-1 : 0\n })\n )\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n berry: prevOptions.berry+1\n }));\n },\n }\n blenderMap[arg]()\n }\n\n let cuttedMap: { [key: string]: string } = {\n \"FRESH_TOMATO\": \"CUT_TOMATO\",\n \"FRESH_CUCUMBER\": \"CUT_CUCUMBER\",\n \"FRESH_CARROT\": \"CUT_CARROT\",\n }\n\n function cutOnCounter(arg: string | null){\n console.log(\"cutOnCounter\", arg)\n if (!arg){\n return\n }\n console.log(\"counter: \", counterProducts)\n if (cuttedMap.hasOwnProperty(arg)) {\n let cuttedArg = cuttedMap[arg];\n console.log(\"counter: \", counterProducts)\n console.log(\"filter: \", counterProducts.filter(item => JsItemType[item] !== arg))\n counterProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1, JsItemType[cuttedArg as keyof typeof JsItemType]);\n return newState;\n }\n return prevState;\n });\n }\n }\n \n function removeFromCounter(arg: string | null) {\n console.log(\"removeFromCounter\", arg)\n if (!arg){\n return\n }\n else {\n console.log(\"counter: \", counterProducts)\n console.log(\"filter: \", counterProducts.filter(item => JsItemType[item] !== arg))\n counterProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1);\n return newState;\n }\n return prevState;\n });\n }\n }\n\n function removeFromFridge(arg: string | null) {\n console.log(\"removeFromFridge\", arg)\n if (!arg)\n return\n console.log(\"counter: \", fridgeProducts)\n console.log(\"filter: \", fridgeProducts.filter(item => JsItemType[item] !== arg))\n fridgeProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1);\n return newState;\n }\n return prevState;\n });\n }\n\n\n let actionMap: { [key: string]: (arg: string | null) => void } = {\n \"SHOW_ON_COUNTER\": showOnCounter,\n \"PUT_IN_POT\": putInPot,\n \"SIMMER\": simmer,\n \"ADD_TO_SALAD\": addToSalad,\n \"MIX_SALAD\": mixSalad,\n \"BLEND\": blend,\n \"ADD_TO_BLENDER\": addToBlender,\n \"REMOVE_FROM_COUNTER\": removeFromCounter,\n \"CUT_ON_COUNTER\": cutOnCounter\n };\n\n function refill(){\n setBlenderOptions(initialBlenderOptions);\n setPotOptions(initialPotOptions);\n setSaladBowlOptions(initialSaladBowlOptions)\n SaladBowlVisSetter(currentTask===\"SALAD\")\n setCitrusBasketOptions(initialCitrusBasketOptions)\n setBerryBasketOptions(initialBerryBasketOptions)\n counterProductsSetter([])\n let items = Array()\n axios.get(refillUrl).then(async (response) => {\n const receivedItems: Array = response.data;\n items = receivedItems.map(item => JsItemType[item]);\n console.log(\"Refill GOT: \" + items)\n fridgeProductsSetter(items)\n infoTextSetter(refillSuccMsg)\n }).catch(error => {\n infoTextSetter(refillErrMsg);\n })\n }\n\n\n function cook(url: string, dishName: string, emptyListMsg: string = \"\"){\n setBlenderOptions(initialBlenderOptions);\n setPotOptions(initialPotOptions);\n setSaladBowlOptions(initialSaladBowlOptions)\n SaladBowlVisSetter(currentTask===\"SALAD\")\n setCitrusBasketOptions(initialCitrusBasketOptions)\n setBerryBasketOptions(initialBerryBasketOptions)\n counterProductsSetter([])\n setButtonBlocker(dishName)\n\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n\n let actions = Array()\n axios.get(url).then(async (response) => {\n console.log(\"GOT: \" + JSON.stringify(response.data, null, 2))\n actions = response.data as Array\n if (actions.length == 0){\n infoTextSetter(`${cookingNoActionsMsg} ${dishName}! ${emptyListMsg}`)\n setButtonBlocker(\"\")\n return\n }\n infoTextSetter(\"Let's go!\")\n await delay(cookingDelay);\n for (const action of actions) {\n console.log(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n infoTextSetter(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n actionMap[String(action.type)](\n action.parameter ? String(action.parameter) : null\n )\n await delay(cookingDelay);\n }\n infoTextSetter(cookingDoneMsg)\n }).catch(error => {\n infoTextSetter(cookingErrMsg)\n }).finally(() => {\n setButtonBlocker(\"\")\n })\n }\n\n function spice() {\n setButtonBlocker(\"spice\")\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n\n let actions = Array()\n axios.get(spiceUrl).then(async (response) => {\n actions = response.data as Array\n console.log(\"GOT: \" + actions)\n if (actions.length == 0){\n infoTextSetter(noSoupSpicingMsg)\n setButtonBlocker(\"\")\n return\n }\n infoTextSetter(beforeSpicingMsg)\n await delay(cookingDelay);\n for (const action of actions) {\n console.log(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n infoTextSetter(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n actionMap[String(action.type)](\n action.parameter ? String(action.parameter) : null\n )\n await delay(cookingDelay);\n }\n infoTextSetter(afterSpicingMsg)\n setPotOptions(prevOptions => ({\n ...prevOptions,\n spiced: true\n }));\n }).catch(error => {\n infoTextSetter(spicingErrMsg)\n }).finally(() => {\n setButtonBlocker(\"\")\n })\n }\n\n function taste() {\n axios.get(tasteUrl).then(async (response) => {\n let isTasteGood = response.data as boolean\n console.log(\"isTasteGood: \" + isTasteGood)\n if(isTasteGood){\n infoTextSetter(tasteGoodMsg)\n } else {\n infoTextSetter(tasteBadMsg)\n }\n }).catch(error => {\n infoTextSetter(tasteErrMsg)\n })\n }\n\n function shouldShow(buttonName: string){\n return !buttonBlocker;\n }\n\n return (\n
\n
\n \n
\n {\n
\n
\n
{infoText}
\n
\n
\n
\n \n \n
\n
\n
\n \n \n \n
\n \n
\n
\n \n \n
\n
\n
\n }\n
\n {(currentTask === \"SOUP\" || currentTask === \"SALAD\") && (\n refill()}>Refill\n \n )}\n {currentTask === \"SOUP\" && (\n <>\n 0 && shouldShow(soupName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(soupUrl, soupName, soupEmptyListMsg)}>Soup\n \n spice()}>Spice\n \n taste()}>Taste\n \n \n )}\n {currentTask === \"SALAD\" && (\n <>\n 0 && shouldShow(saladListName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(saladListUrl, saladListName, saladEmptyListMsg)}>Salad list\n \n 0 && shouldShow(saladSequenceName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(saladSequenceUrl, saladSequenceName, saladEmptyListMsg)}>Salad seq.\n \n \n )}\n {currentTask === \"SMOOTHIE\" && (\n cook(smoothieUrl, smoothieName)}>Smoothie\n \n )}\n
\n
\n );\n}\n","import StartScreen from \"./screens/StartScreen\";\nimport React from \"react\";\nimport MainActionsScreen from \"./screens/MainActionsScreen\";\nwindow.React = React\n\nexport enum GameState {\n START,\n GAME,\n}\n\nexport type GameScreenProps = {\n state: GameState,\n gameStateSetter: (gs: GameState) => void,\n}\n\nexport default function GameScreen({state, gameStateSetter}: GameScreenProps) {\n switch (state) {\n case GameState.START: {\n return \n }\n case GameState.GAME: {\n return \n }\n }\n}\n","import './App.css';\n// import './util/util'\nimport {useState} from \"react\";\nimport GameScreen, {GameState} from \"./components/GameScreen\";\n\nfunction App() {\n let [gameState, gameStateSetter] = useState(GameState.START)\n\n switch (gameState) {\n case GameState.START: {\n return (
\n
\n \n
\n
);\n }\n default: {\n return (
\n
\n \n
\n
);\n }\n }\n}\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport axios from \"axios\";\n\n// from .env.development or .env.production\naxios.defaults.baseURL = process.env.REACT_APP_API_URL\n\nconst root = ReactDOM.createRoot(\n document.getElementById('root') as HTMLElement\n);\nroot.render(\n \n \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.8072c9ee.chunk.js.map b/culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.8072c9ee.chunk.js.map deleted file mode 100644 index 6cfe81c..0000000 --- a/culinaryServer/culinaryServerCookSalad/src/main/resources/static/static/js/main.8072c9ee.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets/logo.svg","components/screens/StartScreen.tsx","models/JsItemType.ts","components/Product.tsx","components/Counter.tsx","components/Blender.tsx","components/Pot.tsx","components/Basket.tsx","components/SpicesShelf.tsx","components/SaladBowl.tsx","components/Fridge.tsx","components/screens/MainActionsScreen.tsx","components/GameScreen.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["module","exports","__webpack_require__","p","StartScreen","_ref","gameStateSetter","React","createElement","className","src","logo","alt","onClick","GameState","GAME","JsItemType","Product","product","_ref$inFridge","inFridge","productClass","baseProductClasses","Counter","products","half","Math","ceil","length","topProducts","slice","bottomProducts","map","index","Blender","_ref$blenderOptions","blenderOptions","visible","full","shake","citrus","berry","blenderJarClass","Fragment","Array","from","_","i","key","style","top","concat","Pot","_ref$potOptions","potOptions","simmer","soup","pepper","salt","oregano","cucumber","tomato","carrot","soupHue","potClass","filter","Basket","_ref$basketOptions","basketOptions","type","count","CurrentBasketClass","SpicesShelf","SaladBowl","_ref$saladBowlOptions","saladBowlOptions","mixing","mixed","Fridge","third","firstShelf","secondShelf","thirdShelf","adjustShelvesPosition","useCallback","fridge","document","querySelector","firstShelfElements","querySelectorAll","secondShelfElements","thirdShelfElements","fridgeHeight","clientHeight","firstNewTopValue","secondNewTopValue","thirdNewTopValue","forEach","element","useEffect","handleResize","window","addEventListener","removeEventListener","left","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","MainActionsScreen","refillUrl","spiceUrl","tasteUrl","infoTextActionMap","SHOW_ON_COUNTER","PUT_IN_POT","SIMMER","ADD_TO_SALAD","MIX_SALAD","BLEND","ADD_TO_BLENDER","REMOVE_FROM_COUNTER","CUT_ON_COUNTER","infoTextItemMap","CITRUS_BASKET","BERRY_BASKET","ROT_TOMATO","FRESH_TOMATO","CUT_TOMATO","ROT_CUCUMBER","FRESH_CUCUMBER","CUT_CUCUMBER","ROT_CARROT","FRESH_CARROT","CUT_CARROT","BERRY","CITRUS","SALT","PEPPER","OREGANO","refillSuccMsg","refillErrMsg","cookingNoActionsMsg","cookingDoneMsg","cookingErrMsg","noSoupSpicingMsg","beforeSpicingMsg","afterSpicingMsg","spicingErrMsg","tasteGoodMsg","tasteBadMsg","tasteErrMsg","cookingDelay","initialBlenderOptions","initialPotOptions","spiced","initialSaladBowlOptions","initialBerryBasketOptions","initialCitrusBasketOptions","axios","get","_ref2","_asyncToGenerator","_callee","response","_context","console","log","data","setCurrentTask","SaladBowlVisSetter","_x","apply","arguments","error","infoTextSetter","_useState","useState","_useState2","_slicedToArray","counterProducts","counterProductsSetter","_useState3","_useState4","fridgeProducts","fridgeProductsSetter","_useState5","_useState6","infoText","_useState7","_useState8","spicesShelfVis","_useState9","_useState10","setBlenderOptions","_useState11","_useState12","setPotOptions","_useState13","_useState14","setSaladBowlOptions","_useState15","_useState16","berryBasketOptions","setBerryBasketOptions","_useState17","_useState18","citrusBasketOptions","setCitrusBasketOptions","_useState19","_useState20","buttonBlocker","setButtonBlocker","_useState21","_useState22","currentTask","prevOptions","_objectSpread","counterVisMap","BLENDER","POT","cuttedMap","removeFromCounter","item","prevState","findIndex","newState","_toConsumableArray","splice","actionMap","removeFromFridge","setTimeout","cuttedArg","cook","url","dishName","emptyListMsg","undefined","delay","ms","res","actions","_ref4","_callee3","_iterator","_step","action","_context3","JSON","stringify","_createForOfIteratorHelper","String","parameter","t0","_x3","finally","shouldShow","buttonName","START","items","_ref3","_callee2","receivedItems","_context2","_x2","refill","_ref5","_callee4","_iterator2","_step2","_context4","_x4","spice","_ref6","_callee5","isTasteGood","_context5","_x5","GameScreen","state","App","gameState","reportWebVitals","onPerfEntry","Function","bind","getCLS","getFID","getFCP","getLCP","getTTFB","defaults","baseURL","process","ReactDOM","createRoot","getElementById","render","StrictMode"],"mappings":"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","file":"static/js/main.8072c9ee.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.af49c77d.svg\";","import logo from \"../../assets/logo.svg\";\nimport {GameState} from \"../GameScreen\";\n\ntype StartScreenProps = {\n gameStateSetter: (gs: GameState) => void\n}\n\nexport default function StartScreen({gameStateSetter}: StartScreenProps) {\n return (\n
\n \"logo\"/\n

Culinary arts

\n

by Kotlin Course

\n
\n \n
\n
\n );\n}\n","export enum JsItemType {\n CITRUS_BASKET,\n BERRY_BASKET,\n\n ROT_TOMATO,\n FRESH_TOMATO,\n CUT_TOMATO,\n\n ROT_CUCUMBER,\n FRESH_CUCUMBER,\n CUT_CUCUMBER,\n\n ROT_CARROT,\n FRESH_CARROT,\n CUT_CARROT,\n\n BERRY,\n CITRUS,\n\n SALT,\n PEPPER,\n OREGANO,\n}\n","import {JsItemType} from '../models/JsItemType'\n\n\ntype ProductProps = {\n product: JsItemType,\n inFridge?: boolean\n}\n\nexport default function Product({product, inFridge=false}: ProductProps) {\n let baseProductClasses = \"App-product-image\"\n let productClass = baseProductClasses + \"-\" + JsItemType[product]\n return(\n
\n )\n}\n","import Product from \"./Product\";\nimport {JsItemType} from \"../models/JsItemType\";\n\ntype CounterProps = {\n products: Array,\n}\n\nexport default function Counter({products}: CounterProps) {\n function getProductByIndex(index: number): JsItemType {\n if (products.length > index) {\n return products[index]\n }\n return JsItemType.ROT_TOMATO\n }\n\n const half = Math.ceil(products.length / 2);\n const topProducts = products.slice(0, half);\n const bottomProducts = products.slice(half);\n\n return(\n
\n
\n {topProducts.map((product, index) => (\n \n ))}\n
\n
\n {bottomProducts.map((product, index) => (\n \n ))}\n
\n
\n )\n}\n","type BlenderProps = {\n blenderOptions: {\n visible: boolean;\n full: boolean;\n shake: boolean;\n citrus: number;\n berry: number;\n }\n}\n\nexport default function Blender({blenderOptions: {visible, full, shake, citrus, berry}}: BlenderProps) {\n let baseBlenderJarClasses = \"App-blender-jar\"\n let blenderJarClass = baseBlenderJarClasses + (full ? \"-full\" : \"\")\n return (\n
\n
\n {!full && (\n <>\n {Array.from({length: citrus}).map((_, i) => (\n
\n ))}\n {Array.from({length: berry}).map((_, i) => (\n
\n ))}\n \n )}\n
\n )\n}\n","type PotProps = {\n potOptions: {\n visible: boolean,\n simmer: boolean,\n soup: boolean,\n pepper: boolean,\n salt: boolean,\n oregano: boolean,\n cucumber: number,\n tomato: number,\n carrot: number,\n soupHue: number,\n spiced: boolean\n }\n}\n\nexport default function Pot({potOptions:{visible,simmer,soup,pepper,salt,oregano, cucumber, tomato,carrot,soupHue}}: PotProps) {\n let basePotClasses = \"App-pot\"\n let potClass = basePotClasses + (soup ? \"-soup\" : \"-water\")\n return (\n
\n
\n\n {!soup && (\n <>\n {Array.from({length: cucumber}).map((_, i) => (\n
\n ))}\n {Array.from({length: tomato}).map((_, i) => (\n
\n ))}\n {Array.from({length: carrot}).map((_, i) => (\n
\n ))}\n \n )}\n
\n
\n
\n
\n
\n )\n}\n","type BasketProps = {\n basketOptions: {\n type: string,\n visible: boolean,\n count: number,\n }\n}\n\nexport default function Basket({basketOptions:{type, visible, count}}: BasketProps) {\n let BasketClass = \"App-basket \"\n let CurrentBasketClass = `App-basket-${type}-`\n return(\n
\n
\n {count > 0 && (\n <>\n {Array.from({length: count}).map((_, i) => (\n
\n ))}\n \n )}\n
\n
\n )\n}\n","type SpicesShelfProps = {\n visible: boolean\n}\n\nexport default function SpicesShelf({visible}: SpicesShelfProps) {\n let SpicesShelfClass = \"App-spices-shelf\"\n return(\n
\n )\n}\n","import Product from \"./Product\";\n\ntype SaladBowlProps = {\n saladBowlOptions: {\n visible: boolean,\n mixing: boolean,\n mixed: boolean,\n tomato: number,\n cucumber: number,\n carrot: number\n }\n}\n\nexport default function SaladBowl({saladBowlOptions:{visible,mixing,mixed,tomato,cucumber,carrot}}: SaladBowlProps) {\n return (\n
\n {!mixed ? (\n <>\n {Array.from({length: carrot}).map((_, i) => (\n
\n ))}\n {Array.from({length: tomato}).map((_, i) => (\n
\n ))}\n {Array.from({length: cucumber}).map((_, i) => (\n
\n ))}\n ) : (\n <>\n
0) ? \"\" : \"App-invisible\")}\n >
\n
0) ? \"\" : \"App-invisible\")}\n >
\n
0) ? \"\" : \"App-invisible\")}\n >
\n \n )}\n
\n
\n )\n}\n","import React, { useEffect, useCallback} from 'react';\nimport Product from \"./Product\";\nimport {JsItemType} from \"../models/JsItemType\";\n\ntype FridgeProps = {\n products: Array,\n}\n\nexport default function Fridge({products}: FridgeProps) {\n\n const third = Math.ceil(products.length / 3);\n const firstShelf = products.slice(0, third);\n const secondShelf = products.slice(third, third * 2);\n const thirdShelf = products.slice(third * 2);\n\n\n const adjustShelvesPosition = useCallback(() => {\n const fridge = document.querySelector('.App-fridge');\n const firstShelfElements = document.querySelectorAll('.App-fridge-first-shelf');\n const secondShelfElements = document.querySelectorAll('.App-fridge-second-shelf');\n const thirdShelfElements = document.querySelectorAll('.App-fridge-third-shelf');\n if (fridge) {\n const fridgeHeight = fridge.clientHeight;\n const firstNewTopValue = fridgeHeight * 0.15; // Adjust the multiplier as needed\n const secondNewTopValue = fridgeHeight * 0.3; // Adjust the multiplier as needed\n const thirdNewTopValue = fridgeHeight * 0.425; // Adjust the multiplier as needed\n firstShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${firstNewTopValue}px`;\n });\n secondShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${secondNewTopValue}px`;\n });\n thirdShelfElements.forEach(element => {\n (element as HTMLElement).style.top = `${thirdNewTopValue}px`;\n });\n }\n }, [products]);\n\n useEffect(() => {\n adjustShelvesPosition();\n const handleResize = () => {\n adjustShelvesPosition();\n };\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [adjustShelvesPosition]);\n\n return(\n
\n
\n {firstShelf.map((product, index) => (\n
\n \n
\n ))}\n {secondShelf.map((product, index) => (\n
\n \n
\n ))}\n {thirdShelf.map((product, index) => (\n
\n \n
\n ))}\n
\n )\n}\n","import {GameState} from \"../GameScreen\";\nimport {useEffect, useState} from \"react\";\nimport {JsAction} from '../../models/JsAction'\nimport {JsItemType} from '../../models/JsItemType'\nimport axios from \"axios\";\nimport Counter from \"../Counter\";\nimport Blender from \"../Blender\";\nimport Pot from \"../Pot\";\nimport Basket from \"../Basket\";\nimport SpicesShelf from \"../SpicesShelf\";\nimport SaladBowl from \"../SaladBowl\";\nimport Fridge from \"../Fridge\";\n\ntype MainActionsScreenProps = {\n gameStateSetter: (gs: GameState) => void\n}\n\nexport default function MainActionsScreen({gameStateSetter}: MainActionsScreenProps) {\n\n const taskTypeUrl = \"/functions/current-task\"\n const refillUrl = \"/functions/refill-fridge\"\n const soupUrl = \"/functions/tomato-soup\"\n const spiceUrl = \"/functions/soup-spices\"\n const tasteUrl = \"/functions/check-soup\"\n const saladListUrl = \"/functions/salad-list\"\n const saladSequenceUrl = \"/functions/salad-sequence\"\n const smoothieUrl = \"/functions/smoothie\"\n\n let infoTextActionMap: { [key: string]: string } = {\n \"SHOW_ON_COUNTER\": \"Placing the current ingredient to the cooking space\",\n \"PUT_IN_POT\": \"Putting into the pot\",\n \"SIMMER\": \"Cooking!\",\n \"ADD_TO_SALAD\": \"Adding to the salad\",\n \"MIX_SALAD\": \"Mixing the salad\",\n \"BLEND\": \"Blending\",\n \"ADD_TO_BLENDER\": \"Adding to the blender\",\n \"REMOVE_FROM_COUNTER\": \"Removing the current ingredient from the cooking space\",\n \"CUT_ON_COUNTER\": \"Cutting\",\n }\n\n let infoTextItemMap: { [key: string]: string } = {\n \"CITRUS_BASKET\": \"citrus basket\",\n \"BERRY_BASKET\": \"berry basket\",\n \"ROT_TOMATO\": \"rot tomato\",\n \"FRESH_TOMATO\": \"fresh tomato\",\n \"CUT_TOMATO\": \"cut tomato\",\n \"ROT_CUCUMBER\": \"rot cucumber\",\n \"FRESH_CUCUMBER\": \"fresh cucumber\",\n \"CUT_CUCUMBER\": \"cut cucumber\",\n \"ROT_CARROT\": \"rot carrot\",\n \"FRESH_CARROT\": \"fresh carrot\",\n \"CUT_CARROT\": \"cut carrot\",\n \"BERRY\": \"berry\",\n \"CITRUS\": \"orange\",\n \"SALT\": \"salt\",\n \"PEPPER\": \"pepper\",\n \"OREGANO\": \"oregano\",\n }\n\n const startupMsg = \"Press button to start\"\n const getTaskErrMsg = \"Can't get task type. Check backend.\"\n\n const refillSuccMsg = \"Fridge is refilled!\"\n const refillErrMsg = \"Failed to refill the fridge. Check your implementation.\"\n const soupEmptyListMsg = \"You need at least three fresh tomato in the fridge! Try to refill!\"\n\n const cookingNoActionsMsg = \"Not enough ingredients to make\"\n const cookingDoneMsg = \"Cooking is done!\"\n const cookingErrMsg = \"Failed to cook. Check your implementation.\"\n\n const noSoupSpicingMsg = \"You need to cook the soup first!\"\n const beforeSpicingMsg = \"Let's add some spices!\"\n const afterSpicingMsg = \"Adding spices is done!\"\n const spicingErrMsg = \"Failed to add spices. Check your implementation.\"\n\n const tasteGoodMsg = \"It tastes great! 🎉\"\n const tasteBadMsg = \"It tastes so bad... Try to cook the soup again.\"\n const tasteErrMsg = \"Failed to get taste status. Check your implementation.\"\n\n const saladEmptyListMsg = \"Try to refill the fridge!\"\n\n const soupName = \"tomato soup\"\n const saladListName = \"salad (list)\"\n const saladSequenceName = \"salad (sequence)\"\n const smoothieName = \"smoothie\"\n\n const cookingDelay = 1000 // ms\n\n type BlenderOptions = {\n visible: boolean,\n full: boolean,\n shake: boolean,\n berry: number,\n citrus: number,\n }\n\n const initialBlenderOptions: BlenderOptions = {\n visible: true,\n full: false,\n shake: false,\n berry: 0,\n citrus: 0,\n }\n\n type PotOptions = {\n visible: boolean,\n simmer: boolean,\n soup: boolean,\n pepper: boolean,\n salt: boolean,\n oregano: boolean,\n cucumber: number,\n tomato: number,\n carrot: number,\n soupHue: number,\n spiced: boolean\n }\n\n const initialPotOptions: PotOptions = {\n visible: true,\n simmer: false,\n soup: false,\n pepper: false,\n salt: false,\n oregano: false,\n cucumber: 0,\n tomato: 0,\n carrot: 0,\n soupHue: 0,\n spiced: false\n }\n\n type SaladBowlOptions = {\n visible: boolean,\n mixing: boolean,\n mixed: boolean,\n tomato: number,\n cucumber: number,\n carrot: number,\n }\n\n const initialSaladBowlOptions: SaladBowlOptions = {\n visible: false,\n mixing: false,\n mixed: false,\n tomato: 0,\n cucumber: 0,\n carrot: 0,\n }\n\n type BasketOptions = {\n type: string,\n visible: boolean,\n count: number,\n }\n\n const initialBerryBasketOptions: BasketOptions = {\n type: \"berry\",\n visible: false,\n count: 5,\n }\n\n const initialCitrusBasketOptions: BasketOptions = {\n type: \"citrus\",\n visible: false,\n count: 5,\n }\n\n useEffect(() => {\n axios.get(taskTypeUrl).then(async (response) => {\n console.log(`Current task type: ${response.data as String}`)\n setCurrentTask(response.data as String)\n SaladBowlVisSetter((response.data as String)===\"SALAD\")\n }).catch(error => {\n infoTextSetter(getTaskErrMsg)\n })\n }, [])\n\n let [counterProducts, counterProductsSetter] = useState>([])\n let [fridgeProducts, fridgeProductsSetter] = useState>([])\n let [infoText, infoTextSetter] = useState(startupMsg)\n let [spicesShelfVis, spicesShelfVisSetter] = useState(true)\n let [blenderOptions, setBlenderOptions] = useState(initialBlenderOptions);\n let [potOptions, setPotOptions] = useState(initialPotOptions);\n let [saladBowlOptions, setSaladBowlOptions] = useState(initialSaladBowlOptions);\n let [berryBasketOptions, setBerryBasketOptions] = useState(initialBerryBasketOptions);\n let [citrusBasketOptions, setCitrusBasketOptions] = useState(initialCitrusBasketOptions);\n let [buttonBlocker, setButtonBlocker] = useState(\"\");\n let [currentTask, setCurrentTask] = useState(\"\");\n\n function berryBasketVisSetter(value: boolean){\n setBerryBasketOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }))\n }\n\n function citrusBasketVisSetter(value: boolean){\n setCitrusBasketOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }))\n }\n\n function blenderVisSetter(value: boolean) {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n function potVisSetter(value: boolean) {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n function SaladBowlVisSetter(value: boolean) {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n visible: value\n }));\n }\n\n let counterVisMap: { [key: string]: (arg: boolean) => void } = {\n \"BERRY_BASKET\": berryBasketVisSetter,\n \"CITRUS_BASKET\": citrusBasketVisSetter,\n \"BLENDER\": blenderVisSetter,\n \"POT\": potVisSetter\n }\n\n function showOnCounter(arg: string | null) {\n console.log(\"showOnCounter\", arg)\n if (!arg) {\n return\n }\n if (arg in counterVisMap) {\n counterVisMap[arg](true)\n } else {\n removeFromFridge(arg)\n counterProductsSetter((prevState) => [\n ...prevState,\n JsItemType[arg as keyof typeof JsItemType],\n ]);\n }\n }\n\n function putInPot(arg: string | null) {\n if (arg == null)\n return\n removeFromCounter(arg)\n let potMap: { [key: string]: () => void } = {\n \"PEPPER\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n pepper: true,\n soupHue: 57, // Dark green\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n pepper: false\n }));\n }, 750);\n },\n \"SALT\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n salt: true,\n soupHue: 320, // Pink\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n salt: false\n }));\n }, 750);\n },\n \"OREGANO\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n oregano: true,\n soupHue: 113, // Green\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n oregano: false\n }));\n }, 750);\n },\n \"CUT_TOMATO\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n tomato: prevOptions.tomato+1\n }));\n },\n \"CUT_CARROT\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n carrot: prevOptions.carrot+1\n }));\n },\n \"CUT_CUCUMBER\": () => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n cucumber: prevOptions.cucumber+1\n }));\n },\n }\n potMap[arg]()\n }\n\n function simmer(arg: string | null) {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n simmer: true\n }));\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n soup: true,\n soupHue: 0,\n }));\n }, 500);\n setTimeout(() => {\n setPotOptions(prevOptions => ({\n ...prevOptions,\n simmer: false\n }));\n }, 1000);\n }\n\n function addToSalad(arg: string | null) {\n console.log(\"addToSalad()\")\n console.log(arg)\n if (arg == null)\n return\n removeFromCounter(arg)\n let saladMap: { [key: string]: () => void } = {\n \"CUT_TOMATO\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n tomato: prevOptions.tomato+1\n }));\n },\n \"CUT_CUCUMBER\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n cucumber: prevOptions.cucumber+1\n }));\n },\n \"CUT_CARROT\": () => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n carrot: prevOptions.carrot+1\n }));\n },\n }\n saladMap[arg]()\n }\n\n function mixSalad(arg: string | null) {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixing: true\n }));\n setTimeout(() => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixed: true\n }));\n }, 500);\n setTimeout(() => {\n setSaladBowlOptions(prevOptions => ({\n ...prevOptions,\n mixing: false\n }));\n }, 1000);\n }\n\n function blend(arg: string | null) {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n shake: true\n }));\n setTimeout(() => {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n full: true\n }));\n }, 500);\n setTimeout(() => {\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n shake: false\n }));\n }, 1000);\n }\n\n function addToBlender(arg: string | null) {\n if (arg == null)\n return\n removeFromCounter(arg)\n let blenderMap: { [key: string]: () => void } = {\n \"CITRUS\": () => {\n setCitrusBasketOptions(prevOptions => ({\n ...prevOptions,\n count: (prevOptions.count > 0) ? prevOptions.count-1 : 0\n })\n )\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n citrus: prevOptions.citrus+1\n }));\n },\n \"BERRY\": () => {\n setBerryBasketOptions(prevOptions => ({\n ...prevOptions,\n count: (prevOptions.count > 0) ? prevOptions.count-1 : 0\n })\n )\n setBlenderOptions(prevOptions => ({\n ...prevOptions,\n berry: prevOptions.berry+1\n }));\n },\n }\n blenderMap[arg]()\n }\n\n let cuttedMap: { [key: string]: string } = {\n \"FRESH_TOMATO\": \"CUT_TOMATO\",\n \"FRESH_CUCUMBER\": \"CUT_CUCUMBER\",\n \"FRESH_CARROT\": \"CUT_CARROT\",\n }\n\n function cutOnCounter(arg: string | null){\n console.log(\"cutOnCounter\", arg)\n if (!arg){\n return\n }\n console.log(\"counter: \", counterProducts)\n if (cuttedMap.hasOwnProperty(arg)) {\n let cuttedArg = cuttedMap[arg];\n console.log(\"counter: \", counterProducts)\n console.log(\"filter: \", counterProducts.filter(item => JsItemType[item] !== arg))\n counterProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1, JsItemType[cuttedArg as keyof typeof JsItemType]);\n return newState;\n }\n return prevState;\n });\n }\n }\n \n function removeFromCounter(arg: string | null) {\n console.log(\"removeFromCounter\", arg)\n if (!arg){\n return\n }\n else {\n console.log(\"counter: \", counterProducts)\n console.log(\"filter: \", counterProducts.filter(item => JsItemType[item] !== arg))\n counterProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1);\n return newState;\n }\n return prevState;\n });\n }\n }\n\n function removeFromFridge(arg: string | null) {\n console.log(\"removeFromFridge\", arg)\n if (!arg)\n return\n console.log(\"counter: \", fridgeProducts)\n console.log(\"filter: \", fridgeProducts.filter(item => JsItemType[item] !== arg))\n fridgeProductsSetter((prevState) => {\n const index = prevState.findIndex(item => JsItemType[item] === arg);\n if (index > -1) {\n const newState = [...prevState];\n newState.splice(index, 1);\n return newState;\n }\n return prevState;\n });\n }\n\n\n let actionMap: { [key: string]: (arg: string | null) => void } = {\n \"SHOW_ON_COUNTER\": showOnCounter,\n \"PUT_IN_POT\": putInPot,\n \"SIMMER\": simmer,\n \"ADD_TO_SALAD\": addToSalad,\n \"MIX_SALAD\": mixSalad,\n \"BLEND\": blend,\n \"ADD_TO_BLENDER\": addToBlender,\n \"REMOVE_FROM_COUNTER\": removeFromCounter,\n \"CUT_ON_COUNTER\": cutOnCounter\n };\n\n function refill(){\n setBlenderOptions(initialBlenderOptions);\n setPotOptions(initialPotOptions);\n setSaladBowlOptions(initialSaladBowlOptions)\n SaladBowlVisSetter(currentTask===\"SALAD\")\n setCitrusBasketOptions(initialCitrusBasketOptions)\n setBerryBasketOptions(initialBerryBasketOptions)\n counterProductsSetter([])\n let items = Array()\n axios.get(refillUrl).then(async (response) => {\n const receivedItems: Array = response.data;\n items = receivedItems.map(item => JsItemType[item]);\n console.log(\"Refill GOT: \" + items)\n fridgeProductsSetter(items)\n infoTextSetter(refillSuccMsg)\n }).catch(error => {\n infoTextSetter(refillErrMsg);\n })\n }\n\n\n function cook(url: string, dishName: string, emptyListMsg: string = \"\"){\n setBlenderOptions(initialBlenderOptions);\n setPotOptions(initialPotOptions);\n setSaladBowlOptions(initialSaladBowlOptions)\n SaladBowlVisSetter(currentTask===\"SALAD\")\n setCitrusBasketOptions(initialCitrusBasketOptions)\n setBerryBasketOptions(initialBerryBasketOptions)\n counterProductsSetter([])\n setButtonBlocker(dishName)\n\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n\n let actions = Array()\n axios.get(url).then(async (response) => {\n console.log(\"GOT: \" + JSON.stringify(response.data, null, 2))\n actions = response.data as Array\n if (actions.length == 0){\n infoTextSetter(`${cookingNoActionsMsg} ${dishName}! ${emptyListMsg}`)\n setButtonBlocker(\"\")\n return\n }\n infoTextSetter(\"Let's go!\")\n await delay(cookingDelay);\n for (const action of actions) {\n console.log(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n infoTextSetter(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n actionMap[String(action.type)](\n action.parameter ? String(action.parameter) : null\n )\n await delay(cookingDelay);\n }\n infoTextSetter(cookingDoneMsg)\n }).catch(error => {\n infoTextSetter(cookingErrMsg)\n }).finally(() => {\n setButtonBlocker(\"\")\n })\n }\n\n function spice() {\n setButtonBlocker(\"spice\")\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n\n let actions = Array()\n axios.get(spiceUrl).then(async (response) => {\n actions = response.data as Array\n console.log(\"GOT: \" + actions)\n if (actions.length == 0){\n infoTextSetter(noSoupSpicingMsg)\n setButtonBlocker(\"\")\n return\n }\n infoTextSetter(beforeSpicingMsg)\n await delay(cookingDelay);\n for (const action of actions) {\n console.log(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n infoTextSetter(infoTextActionMap[String(action.type)] + \" \" + (action.parameter ? infoTextItemMap[String(action.parameter)] : \"\"))\n actionMap[String(action.type)](\n action.parameter ? String(action.parameter) : null\n )\n await delay(cookingDelay);\n }\n infoTextSetter(afterSpicingMsg)\n setPotOptions(prevOptions => ({\n ...prevOptions,\n spiced: true\n }));\n }).catch(error => {\n infoTextSetter(spicingErrMsg)\n }).finally(() => {\n setButtonBlocker(\"\")\n })\n }\n\n function taste() {\n axios.get(tasteUrl).then(async (response) => {\n let isTasteGood = response.data as boolean\n console.log(\"isTasteGood: \" + isTasteGood)\n if(isTasteGood){\n infoTextSetter(tasteGoodMsg)\n } else {\n infoTextSetter(tasteBadMsg)\n }\n }).catch(error => {\n infoTextSetter(tasteErrMsg)\n })\n }\n\n function shouldShow(buttonName: string){\n return !buttonBlocker;\n }\n\n return (\n
\n
\n \n
\n {\n
\n
\n
{infoText}
\n
\n
\n
\n \n \n
\n
\n
\n \n \n \n
\n \n
\n
\n \n \n
\n
\n
\n }\n
\n {(currentTask === \"SOUP\" || currentTask === \"SALAD\") && (\n refill()}>Refill\n \n )}\n {currentTask === \"SOUP\" && (\n <>\n 0 && shouldShow(soupName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(soupUrl, soupName, soupEmptyListMsg)}>Soup\n \n spice()}>Spice\n \n taste()}>Taste\n \n \n )}\n {currentTask === \"SALAD\" && (\n <>\n 0 && shouldShow(saladListName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(saladListUrl, saladListName, saladEmptyListMsg)}>Salad list\n \n 0 && shouldShow(saladSequenceName) ? \"\" : \"App-button-disable\")}\n onClick={() => cook(saladSequenceUrl, saladSequenceName, saladEmptyListMsg)}>Salad seq.\n \n \n )}\n {currentTask === \"SMOOTHIE\" && (\n cook(smoothieUrl, smoothieName)}>Smoothie\n \n )}\n
\n
\n );\n}\n","import StartScreen from \"./screens/StartScreen\";\nimport React from \"react\";\nimport MainActionsScreen from \"./screens/MainActionsScreen\";\nwindow.React = React\n\nexport enum GameState {\n START,\n GAME,\n}\n\nexport type GameScreenProps = {\n state: GameState,\n gameStateSetter: (gs: GameState) => void,\n}\n\nexport default function GameScreen({state, gameStateSetter}: GameScreenProps) {\n switch (state) {\n case GameState.START: {\n return \n }\n case GameState.GAME: {\n return \n }\n }\n}\n","import './App.css';\n// import './util/util'\nimport {useState} from \"react\";\nimport GameScreen, {GameState} from \"./components/GameScreen\";\n\nfunction App() {\n let [gameState, gameStateSetter] = useState(GameState.START)\n\n switch (gameState) {\n case GameState.START: {\n return (
\n
\n \n
\n
);\n }\n default: {\n return (
\n
\n \n
\n
);\n }\n }\n}\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport axios from \"axios\";\n\n// from .env.development or .env.production\naxios.defaults.baseURL = process.env.REACT_APP_API_URL\n\nconst root = ReactDOM.createRoot(\n document.getElementById('root') as HTMLElement\n);\nroot.render(\n \n \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/culinaryServer/culinaryServerCookSalad/task-info.yaml b/culinaryServer/culinaryServerCookSalad/task-info.yaml index 98c0fc9..94331ae 100644 --- a/culinaryServer/culinaryServerCookSalad/task-info.yaml +++ b/culinaryServer/culinaryServerCookSalad/task-info.yaml @@ -71,3 +71,155 @@ files: - name: test/SaladFunctions.kt visible: false propagatable: false + - name: src/main/resources/static/static/js/2.dbb8f406.chunk.js + visible: false + - name: src/main/resources/static/static/js/3.d8ac33f5.chunk.js + visible: false + - name: src/main/resources/static/static/js/2.dbb8f406.chunk.js.map + visible: false + - name: src/main/resources/static/static/js/3.d8ac33f5.chunk.js.map + visible: false + - name: src/main/resources/static/static/js/runtime~main.35de78a9.js + visible: false + - name: src/main/resources/static/static/js/runtime~main.35de78a9.js.map + visible: false + - name: src/main/resources/static/static/css/main.f33027e0.chunk.css + visible: false + - name: src/main/resources/static/static/css/main.f33027e0.chunk.css.map + visible: false + - name: src/main/resources/static/static/media/bg.159aeebb.svg + visible: false + - name: src/main/resources/static/static/media/logo.af49c77d.svg + visible: false + - name: src/main/resources/static/static/media/salt.f614ace5.svg + visible: false + - name: src/main/resources/static/static/media/berry.a2d5625f.svg + visible: false + - name: src/main/resources/static/static/media/action.1a49790c.svg + visible: false + - name: src/main/resources/static/static/media/citrus.ac3d6e5e.svg + visible: false + - name: src/main/resources/static/static/media/pepper.09265644.svg + visible: false + - name: src/main/resources/static/static/media/blender.9da42019.svg + visible: false + - name: src/main/resources/static/static/media/oregano.12aa7403.svg + visible: false + - name: src/main/resources/static/static/media/bg_white.177e2c94.svg + visible: false + - name: src/main/resources/static/static/media/pot-back.37963222.svg + visible: false + - name: src/main/resources/static/static/media/pot-salt.1369c9ed.svg + visible: false + - name: src/main/resources/static/static/media/pot-soup.78375db2.svg + visible: false + - name: src/main/resources/static/static/media/pot-water.0b6c498f.svg + visible: false + - name: src/main/resources/static/static/media/carrot-raw.d0c2dde4.svg + visible: false + - name: src/main/resources/static/static/media/carrow-cut.96dcc6dc.svg + visible: false + - name: src/main/resources/static/static/media/pot-carrot.c8704838.svg + visible: false + - name: src/main/resources/static/static/media/pot-pepper.47999214.svg + visible: false + - name: src/main/resources/static/static/media/pot-tomato.3f8e1060.svg + visible: false + - name: src/main/resources/static/static/media/salad-bowl.a7f5f34a.svg + visible: false + - name: src/main/resources/static/static/media/tomato-cut.6836153a.svg + visible: false + - name: src/main/resources/static/static/media/tomato-raw.12298a6e.svg + visible: false + - name: src/main/resources/static/static/media/action_wide.df8afed0.svg + visible: false + - name: src/main/resources/static/static/media/back_button.467450b5.svg + visible: false + - name: src/main/resources/static/static/media/basket-back.1e958b40.svg + visible: false + - name: src/main/resources/static/static/media/fridge-open.0aaed28d.svg + visible: false + - name: src/main/resources/static/static/media/play_button.07c3d73d.svg + visible: false + - name: src/main/resources/static/static/media/pot-oregano.8d384419.svg + visible: false + - name: src/main/resources/static/static/media/action_hover.143a84b0.svg + visible: false + - name: src/main/resources/static/static/media/basket-front.10970fd7.svg + visible: false + - name: src/main/resources/static/static/media/blender-full.83a112bd.svg + visible: false + - name: src/main/resources/static/static/media/cucumber-cut.3b775d75.svg + visible: false + - name: src/main/resources/static/static/media/cucumber-raw.c77241ee.svg + visible: false + - name: src/main/resources/static/static/media/pot-cucumber.8b6ffe73.svg + visible: false + - name: src/main/resources/static/static/media/salad-carrot.5d12e03b.svg + visible: false + - name: src/main/resources/static/static/media/salad-tomato.e7fb9ea2.svg + visible: false + - name: src/main/resources/static/static/media/spices-shelf.55a86836.svg + visible: false + - name: src/main/resources/static/static/media/blender-berry.a2f7c947.svg + visible: false + - name: src/main/resources/static/static/media/basket-berry-1.2c5e06bc.svg + visible: false + - name: src/main/resources/static/static/media/basket-berry-2.9a0242a2.svg + visible: false + - name: src/main/resources/static/static/media/basket-berry-3.710f5b43.svg + visible: false + - name: src/main/resources/static/static/media/basket-berry-4.eb6382b0.svg + visible: false + - name: src/main/resources/static/static/media/basket-berry-5.e0f70176.svg + visible: false + - name: src/main/resources/static/static/media/blender-citrus.b243136a.svg + visible: false + - name: src/main/resources/static/static/media/carrot-spoiled.b907b470.svg + visible: false + - name: src/main/resources/static/static/media/salad-cucumber.9e799204.svg + visible: false + - name: src/main/resources/static/static/media/tomato-spoiled.bace9bce.svg + visible: false + - name: src/main/resources/static/static/media/basket-citrus-1.dc10cdb2.svg + visible: false + - name: src/main/resources/static/static/media/basket-citrus-2.9b185241.svg + visible: false + - name: src/main/resources/static/static/media/basket-citrus-3.2af70816.svg + visible: false + - name: src/main/resources/static/static/media/basket-citrus-4.25542618.svg + visible: false + - name: src/main/resources/static/static/media/basket-citrus-5.a54bc4d1.svg + visible: false + - name: src/main/resources/static/static/media/cucumber-spoiled.e5037e35.svg + visible: false + - name: src/main/resources/static/static/media/salad-bowl-mixed.8c29d2b9.svg + visible: false + - name: src/main/resources/static/static/media/action_wide_hover.851872eb.svg + visible: false + - name: src/main/resources/static/static/media/back_button_hover.c7d14fd4.svg + visible: false + - name: src/main/resources/static/static/media/salad-bowl-mixed-carrot.b3f374bb.svg + visible: false + - name: src/main/resources/static/static/media/salad-bowl-mixed-tomato.7b272701.svg + visible: false + - name: src/main/resources/static/static/media/salad-bowl-mixed-cucumber.7992dcf2.svg + visible: false + - name: src/main/resources/static/index.html + visible: false + - name: src/main/resources/static/robots.txt + visible: false + - name: src/main/resources/static/favicon.ico + visible: false + - name: src/main/resources/static/manifest.json + visible: false + - name: src/main/resources/static/service-worker.js + visible: false + - name: src/main/resources/static/asset-manifest.json + visible: false + - name: src/main/resources/static/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js + visible: false + - name: src/main/resources/static/static/js/main.2934fd44.chunk.js.map + visible: false + - name: src/main/resources/static/static/js/main.2934fd44.chunk.js + visible: false diff --git a/culinaryServer/culinaryServerCookSalad/task-remote-info.yaml b/culinaryServer/culinaryServerCookSalad/task-remote-info.yaml new file mode 100644 index 0000000..1628c6a --- /dev/null +++ b/culinaryServer/culinaryServerCookSalad/task-remote-info.yaml @@ -0,0 +1 @@ +id: 1565297444 diff --git a/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/asset-manifest.json b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/asset-manifest.json new file mode 100644 index 0000000..0e34a2b --- /dev/null +++ b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/asset-manifest.json @@ -0,0 +1,17 @@ +{ + "main.css": "/static/css/main.f33027e0.chunk.css", + "main.js": "/static/js/main.2934fd44.chunk.js", + "main.js.map": "/static/js/main.2934fd44.chunk.js.map", + "runtime~main.js": "/static/js/runtime~main.35de78a9.js", + "runtime~main.js.map": "/static/js/runtime~main.35de78a9.js.map", + "static/js/2.dbb8f406.chunk.js": "/static/js/2.dbb8f406.chunk.js", + "static/js/2.dbb8f406.chunk.js.map": "/static/js/2.dbb8f406.chunk.js.map", + "static/js/3.d8ac33f5.chunk.js": "/static/js/3.d8ac33f5.chunk.js", + "static/js/3.d8ac33f5.chunk.js.map": "/static/js/3.d8ac33f5.chunk.js.map", + "index.html": "/index.html", + "precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js": "/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js", + "service-worker.js": "/service-worker.js", + "static/css/main.f33027e0.chunk.css.map": "/static/css/main.f33027e0.chunk.css.map", + "static/media/App.css": "/static/media/tomato-spoiled.bace9bce.svg", + "static/media/logo.svg": "/static/media/logo.af49c77d.svg" +} \ No newline at end of file diff --git a/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/favicon.ico b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/favicon.ico new file mode 100644 index 0000000..397d8fd Binary files /dev/null and b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/favicon.ico differ diff --git a/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/index.html b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/index.html new file mode 100644 index 0000000..30cb924 --- /dev/null +++ b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/index.html @@ -0,0 +1 @@ +Culinary arts
\ No newline at end of file diff --git a/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/manifest.json b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/manifest.json new file mode 100644 index 0000000..ba4f523 --- /dev/null +++ b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/manifest.json @@ -0,0 +1,15 @@ +{ + "short_name": "Culinary arts", + "name": "Culinary arts project", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/culinaryServer/culinaryServerHowToRun/src/main/resources/static/precache-manifest.316b04815eda041fdc97ff67764c39ef.js b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js similarity index 97% rename from culinaryServer/culinaryServerHowToRun/src/main/resources/static/precache-manifest.316b04815eda041fdc97ff67764c39ef.js rename to culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js index 6e07ff0..6d71018 100644 --- a/culinaryServer/culinaryServerHowToRun/src/main/resources/static/precache-manifest.316b04815eda041fdc97ff67764c39ef.js +++ b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js @@ -1,11 +1,11 @@ self.__precacheManifest = [ { - "revision": "810bc0292c83afe5cbb1", + "revision": "60ef74ecde42f1cf8e71", "url": "/static/css/main.f33027e0.chunk.css" }, { - "revision": "810bc0292c83afe5cbb1", - "url": "/static/js/main.8072c9ee.chunk.js" + "revision": "60ef74ecde42f1cf8e71", + "url": "/static/js/main.2934fd44.chunk.js" }, { "revision": "234ecdafbb2600fe3a8a", @@ -27,22 +27,18 @@ self.__precacheManifest = [ "revision": "177e2c944e7f05b79e18c301fdb3ada2", "url": "/static/media/bg_white.177e2c94.svg" }, - { - "revision": "467450b50515d1916a4af1bb651ed975", - "url": "/static/media/back_button.467450b5.svg" - }, { "revision": "159aeebb00563ec75de5fff8b74dd8e5", "url": "/static/media/bg.159aeebb.svg" }, - { - "revision": "c7d14fd417c36eeb4d477225027e3631", - "url": "/static/media/back_button_hover.c7d14fd4.svg" - }, { "revision": "07c3d73d37b0087435f87743ce6ec654", "url": "/static/media/play_button.07c3d73d.svg" }, + { + "revision": "467450b50515d1916a4af1bb651ed975", + "url": "/static/media/back_button.467450b5.svg" + }, { "revision": "1a49790c6d89dfbc2f6f998a343e4fa6", "url": "/static/media/action.1a49790c.svg" @@ -80,64 +76,56 @@ self.__precacheManifest = [ "url": "/static/media/cucumber-raw.c77241ee.svg" }, { - "revision": "3b775d75415b9bb7bbfb81914352b592", - "url": "/static/media/cucumber-cut.3b775d75.svg" + "revision": "c7d14fd417c36eeb4d477225027e3631", + "url": "/static/media/back_button_hover.c7d14fd4.svg" }, { "revision": "b907b470651246f19ccb42a1f0db4659", "url": "/static/media/carrot-spoiled.b907b470.svg" }, - { - "revision": "d0c2dde4b1e60016b1bac83eaa9829b6", - "url": "/static/media/carrot-raw.d0c2dde4.svg" - }, - { - "revision": "a2d5625ffc1162d66ebf5a73106f2427", - "url": "/static/media/berry.a2d5625f.svg" - }, { "revision": "96dcc6dc219ce2bcc4b331d8ba2fee0c", "url": "/static/media/carrow-cut.96dcc6dc.svg" }, { - "revision": "092656444165a09bd438b89b979403f3", - "url": "/static/media/pepper.09265644.svg" + "revision": "a2d5625ffc1162d66ebf5a73106f2427", + "url": "/static/media/berry.a2d5625f.svg" }, { - "revision": "ac3d6e5e70b880313e18066ac45946bc", - "url": "/static/media/citrus.ac3d6e5e.svg" + "revision": "0aaed28d2bfa0b4756d063143dc7a0e2", + "url": "/static/media/fridge-open.0aaed28d.svg" }, { - "revision": "f614ace56e2ef465c56b4791538acb50", - "url": "/static/media/salt.f614ace5.svg" + "revision": "55a86836e7cab4d6355ceb06330a4b73", + "url": "/static/media/spices-shelf.55a86836.svg" }, { - "revision": "12aa7403235fac00ddaa23804e7fc512", - "url": "/static/media/oregano.12aa7403.svg" + "revision": "092656444165a09bd438b89b979403f3", + "url": "/static/media/pepper.09265644.svg" }, { - "revision": "0aaed28d2bfa0b4756d063143dc7a0e2", - "url": "/static/media/fridge-open.0aaed28d.svg" + "revision": "1e958b40ccc422cbf06091917a820147", + "url": "/static/media/basket-back.1e958b40.svg" }, { "revision": "10970fd704eb87c0fd4b9d814fa85fe4", "url": "/static/media/basket-front.10970fd7.svg" }, { - "revision": "55a86836e7cab4d6355ceb06330a4b73", - "url": "/static/media/spices-shelf.55a86836.svg" + "revision": "ac3d6e5e70b880313e18066ac45946bc", + "url": "/static/media/citrus.ac3d6e5e.svg" }, { - "revision": "1e958b40ccc422cbf06091917a820147", - "url": "/static/media/basket-back.1e958b40.svg" + "revision": "f614ace56e2ef465c56b4791538acb50", + "url": "/static/media/salt.f614ace5.svg" }, { - "revision": "a54bc4d177b960b438a01cbe2be0943c", - "url": "/static/media/basket-citrus-5.a54bc4d1.svg" + "revision": "d0c2dde4b1e60016b1bac83eaa9829b6", + "url": "/static/media/carrot-raw.d0c2dde4.svg" }, { - "revision": "dc10cdb29c75cb36f3c33b445cdb8f55", - "url": "/static/media/basket-citrus-1.dc10cdb2.svg" + "revision": "12aa7403235fac00ddaa23804e7fc512", + "url": "/static/media/oregano.12aa7403.svg" }, { "revision": "2554261890ce6cc4c3ecbbe106dc5bc9", @@ -147,6 +135,14 @@ self.__precacheManifest = [ "revision": "2af70816b07a459ea2b9cdac53f2a661", "url": "/static/media/basket-citrus-3.2af70816.svg" }, + { + "revision": "a54bc4d177b960b438a01cbe2be0943c", + "url": "/static/media/basket-citrus-5.a54bc4d1.svg" + }, + { + "revision": "3b775d75415b9bb7bbfb81914352b592", + "url": "/static/media/cucumber-cut.3b775d75.svg" + }, { "revision": "9b18524160fc4de53421ef211640f99f", "url": "/static/media/basket-citrus-2.9b185241.svg" @@ -155,41 +151,41 @@ self.__precacheManifest = [ "revision": "e0f701765cd55fe8b8423ce946bee257", "url": "/static/media/basket-berry-5.e0f70176.svg" }, - { - "revision": "9a0242a2a53db6668f4f1e0718f0f2d6", - "url": "/static/media/basket-berry-2.9a0242a2.svg" - }, { "revision": "eb6382b0ebbffd76e0160b6d1c36bc78", "url": "/static/media/basket-berry-4.eb6382b0.svg" }, { - "revision": "710f5b430aef751a21b7e149a18145bd", - "url": "/static/media/basket-berry-3.710f5b43.svg" + "revision": "dc10cdb29c75cb36f3c33b445cdb8f55", + "url": "/static/media/basket-citrus-1.dc10cdb2.svg" }, { "revision": "2c5e06bcdc984564419653a54fb9f365", "url": "/static/media/basket-berry-1.2c5e06bc.svg" }, { - "revision": "e7fb9ea26bfe901e4009362f8adfad4e", - "url": "/static/media/salad-tomato.e7fb9ea2.svg" + "revision": "710f5b430aef751a21b7e149a18145bd", + "url": "/static/media/basket-berry-3.710f5b43.svg" }, { "revision": "a7f5f34a996361eddbc6e3a2acf51e8c", "url": "/static/media/salad-bowl.a7f5f34a.svg" }, { - "revision": "8c29d2b9c0e12c7f65e8e3d8df0a5ec0", - "url": "/static/media/salad-bowl-mixed.8c29d2b9.svg" + "revision": "9a0242a2a53db6668f4f1e0718f0f2d6", + "url": "/static/media/basket-berry-2.9a0242a2.svg" }, { - "revision": "9e799204f0383bd02a40e2448d20dde9", - "url": "/static/media/salad-cucumber.9e799204.svg" + "revision": "e7fb9ea26bfe901e4009362f8adfad4e", + "url": "/static/media/salad-tomato.e7fb9ea2.svg" }, { - "revision": "b3f374bb4f2af3200b081ceb7e95a2c2", - "url": "/static/media/salad-bowl-mixed-carrot.b3f374bb.svg" + "revision": "5d12e03bfabde3d0e70eaae9ee880626", + "url": "/static/media/salad-carrot.5d12e03b.svg" + }, + { + "revision": "8c29d2b9c0e12c7f65e8e3d8df0a5ec0", + "url": "/static/media/salad-bowl-mixed.8c29d2b9.svg" }, { "revision": "7b27270108b2b540b328def65c27d0c2", @@ -199,64 +195,68 @@ self.__precacheManifest = [ "revision": "7992dcf20c1d2b943b41ca45d18eb99b", "url": "/static/media/salad-bowl-mixed-cucumber.7992dcf2.svg" }, - { - "revision": "5d12e03bfabde3d0e70eaae9ee880626", - "url": "/static/media/salad-carrot.5d12e03b.svg" - }, - { - "revision": "3796322267bc22d4741521e443c13b27", - "url": "/static/media/pot-back.37963222.svg" - }, - { - "revision": "78375db2c849a020c99b52c76dc7be7f", - "url": "/static/media/pot-soup.78375db2.svg" - }, { "revision": "0b6c498fc58fca1fc6e5e3afe4a29c95", "url": "/static/media/pot-water.0b6c498f.svg" }, { - "revision": "1369c9ed9e0d7a21c638ad8eb96633aa", - "url": "/static/media/pot-salt.1369c9ed.svg" - }, - { - "revision": "8d3844190343ab604bc3ddaf13a1b6f6", - "url": "/static/media/pot-oregano.8d384419.svg" + "revision": "3f8e1060a85cc7a1c0ac477c0dd09793", + "url": "/static/media/pot-tomato.3f8e1060.svg" }, { - "revision": "4799921427ae8d48340edb63be4e18d9", - "url": "/static/media/pot-pepper.47999214.svg" + "revision": "8b6ffe73fc7627227be854c197326e9e", + "url": "/static/media/pot-cucumber.8b6ffe73.svg" }, { "revision": "c8704838860161b312a7e190c4fea1ef", "url": "/static/media/pot-carrot.c8704838.svg" }, { - "revision": "3f8e1060a85cc7a1c0ac477c0dd09793", - "url": "/static/media/pot-tomato.3f8e1060.svg" + "revision": "b243136a2635ceb7c20ce125118060dd", + "url": "/static/media/blender-citrus.b243136a.svg" + }, + { + "revision": "9da420198502e6283b9f407cee1bef4b", + "url": "/static/media/blender.9da42019.svg" }, { "revision": "a2f7c9476a41121f59100fefc791bf24", "url": "/static/media/blender-berry.a2f7c947.svg" }, { - "revision": "b243136a2635ceb7c20ce125118060dd", - "url": "/static/media/blender-citrus.b243136a.svg" + "revision": "78375db2c849a020c99b52c76dc7be7f", + "url": "/static/media/pot-soup.78375db2.svg" }, { - "revision": "9da420198502e6283b9f407cee1bef4b", - "url": "/static/media/blender.9da42019.svg" + "revision": "1369c9ed9e0d7a21c638ad8eb96633aa", + "url": "/static/media/pot-salt.1369c9ed.svg" }, { - "revision": "8b6ffe73fc7627227be854c197326e9e", - "url": "/static/media/pot-cucumber.8b6ffe73.svg" + "revision": "4799921427ae8d48340edb63be4e18d9", + "url": "/static/media/pot-pepper.47999214.svg" + }, + { + "revision": "b3f374bb4f2af3200b081ceb7e95a2c2", + "url": "/static/media/salad-bowl-mixed-carrot.b3f374bb.svg" + }, + { + "revision": "9e799204f0383bd02a40e2448d20dde9", + "url": "/static/media/salad-cucumber.9e799204.svg" }, { "revision": "83a112bd455550275a24be9c591b9dd9", "url": "/static/media/blender-full.83a112bd.svg" }, { - "revision": "28672cfb73135bee2eaaaae1d1ebb938", + "revision": "8d3844190343ab604bc3ddaf13a1b6f6", + "url": "/static/media/pot-oregano.8d384419.svg" + }, + { + "revision": "3796322267bc22d4741521e443c13b27", + "url": "/static/media/pot-back.37963222.svg" + }, + { + "revision": "b4aec4fbd2008ca5f7defbf28fc55de7", "url": "/index.html" } ]; \ No newline at end of file diff --git a/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/robots.txt b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/service-worker.js b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/service-worker.js new file mode 100644 index 0000000..8aa63ed --- /dev/null +++ b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/service-worker.js @@ -0,0 +1,34 @@ +/** + * Welcome to your Workbox-powered service worker! + * + * You'll need to register this file in your web app and you should + * disable HTTP caching for this file too. + * See https://goo.gl/nhQhGp + * + * The rest of the code is auto-generated. Please don't update this file + * directly; instead, make changes to your Workbox build configuration + * and re-run your build process. + * See https://goo.gl/2aRDsh + */ + +importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js"); + +importScripts( + "/precache-manifest.57de0f1ef141f1222d900c3dbd9fb46b.js" +); + +workbox.clientsClaim(); + +/** + * The workboxSW.precacheAndRoute() method efficiently caches and responds to + * requests for URLs in the manifest. + * See https://goo.gl/S9QRab + */ +self.__precacheManifest = [].concat(self.__precacheManifest || []); +workbox.precaching.suppressWarnings(); +workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); + +workbox.routing.registerNavigationRoute("/index.html", { + + blacklist: [/^\/_/,/\/[^/]+\.[^/]+$/], +}); diff --git a/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/static/css/main.f33027e0.chunk.css b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/static/css/main.f33027e0.chunk.css new file mode 100644 index 0000000..351f50d --- /dev/null +++ b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/static/css/main.f33027e0.chunk.css @@ -0,0 +1,2 @@ +body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input[type=button]{font-family:Gotham,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.font-link-base{font-family:Inter,sans-serif;color:#000}.font-link-bold{font-family:Inter,sans-serif;font-weight:900}.font-link-light{font-family:Inter,sans-serif;font-weight:200}.App-logo{height:35vmin;pointer-events:none}.App-big-name{font-size:10vmin;margin-top:2vmin;margin-bottom:2vmin}.App-small-name{font-size:4vmin;margin-top:0;margin-bottom:2vmin;color:#fff}.App-invisible{visibility:hidden}.App-header-base{font-size:calc(10px + 2vmin);color:#fff;background-repeat:no-repeat;background-size:cover}.App-header-white{background-image:url(/static/media/bg_white.177e2c94.svg)}.App-header-black{background-image:url(/static/media/bg.159aeebb.svg)}.App-main-container{min-height:100vh;display:flex;flex-wrap:wrap;overflow:auto}.App-buttons-container,.App-main-container{flex-direction:column;align-items:center;justify-content:center}.App-buttons-container{min-height:10vmin;display:block}.App-display-flex{display:flex}.App-button-base{height:10vmin;margin-top:5vmin;background-repeat:no-repeat;background-size:auto;background-color:initial;border:none;background-position:50%;cursor:pointer;color:#fff;font-size:3.4vmin;font-family:Inter,sans-serif}.App-button-start{background-image:url(/static/media/play_button.07c3d73d.svg);width:30vmin;height:6vmin;margin-top:4vmin;background-size:contain;margin-bottom:1vmin}.App-button-start:hover{opacity:.85}.App-teams-button-back{background-image:url(/static/media/back_button.467450b5.svg);background-size:contain}.App-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:inherit}.App-button-action{background-size:contain;width:15vmin;height:5vmin;color:#000;font-weight:600;background-image:url(/static/media/action.1a49790c.svg)}.App-button-action:hover{background-image:url(/static/media/action_hover.143a84b0.svg)}.App-button-action-wide{background-size:contain;width:21vmin;height:5vmin;color:#000;font-weight:600;background-image:url(/static/media/action_wide.df8afed0.svg)}.App-button-action-wide:hover{background-image:url(/static/media/action_wide_hover.851872eb.svg)}.App-button-disable{pointer-events:none;opacity:.4}.App-counter-container{flex-direction:column}.App-counter-container,.App-products-row{display:flex;align-items:center;justify-content:center}.App-products-row{flex-direction:row}.App-products-row-top{padding-top:3vmin;padding-bottom:0}.App-products-row-bottom{padding-top:0;padding-bottom:2vmin}.App-product-image{background-repeat:no-repeat;background-size:contain}.App-product-counter{height:15vmin;width:15vmin}.App-product-fridge{aspect-ratio:1;max-height:8vmin;width:8vmin}.App-product-image-ROT_TOMATO{background-image:url(/static/media/tomato-spoiled.bace9bce.svg)}.App-product-image-FRESH_TOMATO{background-image:url(/static/media/tomato-raw.12298a6e.svg)}.App-product-image-CUT_TOMATO{background-image:url(/static/media/tomato-cut.6836153a.svg)}.App-product-image-ROT_CUCUMBER{background-image:url(/static/media/cucumber-spoiled.e5037e35.svg)}.App-product-image-FRESH_CUCUMBER{background-image:url(/static/media/cucumber-raw.c77241ee.svg)}.App-product-image-CUT_CUCUMBER{background-image:url(/static/media/cucumber-cut.3b775d75.svg)}.App-product-image-ROT_CARROT{background-image:url(/static/media/carrot-spoiled.b907b470.svg)}.App-product-image-FRESH_CARROT{background-image:url(/static/media/carrot-raw.d0c2dde4.svg)}.App-product-image-CUT_CARROT{background-image:url(/static/media/carrow-cut.96dcc6dc.svg)}.App-product-image-BERRY{background-image:url(/static/media/berry.a2d5625f.svg)}.App-product-image-CITRUS{background-image:url(/static/media/citrus.ac3d6e5e.svg)}.App-product-image-SALT{background-image:url(/static/media/salt.f614ace5.svg)}.App-product-image-PEPPER{background-image:url(/static/media/pepper.09265644.svg)}.App-product-image-OREGANO{background-image:url(/static/media/oregano.12aa7403.svg)}.App-left-kitchen-container{align-items:flex-start;justify-content:center;display:flex;flex-direction:column}.App-fridge{aspect-ratio:1/1.25;max-height:40vh;width:20vw;background-repeat:no-repeat;background-size:contain;visibility:visible;position:relative}.App-fridge-back{top:0;left:0;background-image:url(/static/media/fridge-open.0aaed28d.svg)}.App-fridge-back,.App-fridge-first-shelf,.App-fridge-second-shelf,.App-fridge-third-shelf{position:absolute}.App-spices-shelf{aspect-ratio:1.1/1;max-height:22vh;width:20vw;background-repeat:no-repeat;background-size:contain;background-image:url(/static/media/spices-shelf.55a86836.svg)}.App-center-kitchen-container{display:flex;flex-direction:column;align-items:center;justify-content:center}.App-basket-kitchen-container{display:flex;flex-direction:row;align-items:center;justify-content:center}.App-basket{height:20vmin;width:20vmin;position:relative;background-repeat:no-repeat;background-size:contain}.App-basket-back{position:absolute;top:0;left:0;background-image:url(/static/media/basket-back.1e958b40.svg)}.App-basket-front{background-image:url(/static/media/basket-front.10970fd7.svg)}.App-basket-front,.App-basket-item{position:absolute;top:0;left:0}.App-basket-citrus-5{background-image:url(/static/media/basket-citrus-5.a54bc4d1.svg)}.App-basket-citrus-4{background-image:url(/static/media/basket-citrus-4.25542618.svg)}.App-basket-citrus-3{background-image:url(/static/media/basket-citrus-3.2af70816.svg)}.App-basket-citrus-2{background-image:url(/static/media/basket-citrus-2.9b185241.svg)}.App-basket-citrus-1{background-image:url(/static/media/basket-citrus-1.dc10cdb2.svg)}.App-basket-berry-5{background-image:url(/static/media/basket-berry-5.e0f70176.svg)}.App-basket-berry-4{background-image:url(/static/media/basket-berry-4.eb6382b0.svg)}.App-basket-berry-3{background-image:url(/static/media/basket-berry-3.710f5b43.svg)}.App-basket-berry-2{background-image:url(/static/media/basket-berry-2.9a0242a2.svg)}.App-basket-berry-1{background-image:url(/static/media/basket-berry-1.2c5e06bc.svg)}.App-salad{height:20vmin;width:20vmin;position:relative;background-repeat:no-repeat;background-size:contain}.App-salad-bowl{background-image:url(/static/media/salad-bowl.a7f5f34a.svg)}.App-salad-bowl-mixed{background-image:url(/static/media/salad-bowl-mixed.8c29d2b9.svg)}.App-salad-tomato{position:absolute;top:0;left:0;background-image:url(/static/media/salad-tomato.e7fb9ea2.svg)}.App-salad-cucumber{position:absolute;top:0;left:0;background-image:url(/static/media/salad-cucumber.9e799204.svg)}.App-salad-carrot{position:absolute;top:0;left:0;background-image:url(/static/media/salad-carrot.5d12e03b.svg)}.App-salad-mixed-tomato{position:absolute;top:0;left:0;background-image:url(/static/media/salad-bowl-mixed-tomato.7b272701.svg)}.App-salad-mixed-cucumber{position:absolute;top:0;left:0;background-image:url(/static/media/salad-bowl-mixed-cucumber.7992dcf2.svg)}.App-salad-mixed-carrot{position:absolute;top:0;left:0;background-image:url(/static/media/salad-bowl-mixed-carrot.b3f374bb.svg)}.App-right-kitchen-container{align-items:flex-end;justify-content:center;display:flex;flex-direction:column}.App-pot{aspect-ratio:1/1;max-height:26vh;width:20vw;position:relative;background-repeat:no-repeat;background-size:contain}.App-pot-back{position:absolute;top:0;left:0;background-image:url(/static/media/pot-back.37963222.svg)}.App-pot-water{background-image:url(/static/media/pot-water.0b6c498f.svg)}.App-pot-soup{background-image:url(/static/media/pot-soup.78375db2.svg)}.App-pot-pepper{background-image:url(/static/media/pot-pepper.47999214.svg)}.App-pot-pepper,.App-pot-salt{position:absolute;top:0;left:0}.App-pot-salt{background-image:url(/static/media/pot-salt.1369c9ed.svg)}.App-pot-oregano{position:absolute;top:0;left:0;background-image:url(/static/media/pot-oregano.8d384419.svg)}.App-pot-tomato{position:absolute;top:0;left:0;background-image:url(/static/media/pot-tomato.3f8e1060.svg)}.App-pot-cucumber{position:absolute;top:0;left:0;background-image:url(/static/media/pot-cucumber.8b6ffe73.svg)}.App-pot-carrot{position:absolute;top:0;left:0;background-image:url(/static/media/pot-carrot.c8704838.svg)}.App-blender{aspect-ratio:1/1.5;max-height:28vh;width:20vw;position:relative;background-repeat:no-repeat;background-size:contain}.App-blender-jar{background-image:url(/static/media/blender.9da42019.svg)}.App-blender-citrus{position:absolute;top:0;left:0;background-image:url(/static/media/blender-citrus.b243136a.svg)}.App-blender-berry{position:absolute;top:0;left:0;background-image:url(/static/media/blender-berry.a2f7c947.svg)}.App-blender-jar-full{background-image:url(/static/media/blender-full.83a112bd.svg)}.App-animation-shake{animation:shake .6s cubic-bezier(.36,.07,.19,.97) both;animation-iteration-count:infinite}.App-animation-simmer{animation:simmer .7s cubic-bezier(.36,.07,.19,.97) both;animation-iteration-count:infinite}.App-animation-mixing{animation:mixing 1s cubic-bezier(.36,.07,.19,.97) both;animation-iteration-count:infinite}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@keyframes simmer{10%,90%{transform:translate3d(-1px,0,0) rotate(3deg)}20%,80%{transform:translate3d(2px,0,0) rotate(-3deg)}30%,50%,70%{transform:translate3d(-4px,0,0) rotate(3deg)}40%,60%{transform:translate3d(4px,0,0) rotate(-3deg)}}@keyframes mixing{10%,90%{transform:translate3d(-5px,0,0) rotate(10deg)}20%,80%{transform:translate3d(6px,0,0) rotate(-10deg)}30%,50%,70%{transform:translate3d(-8px,0,0) rotate(10deg)}40%,60%{transform:translate3d(8px,0,0) rotate(-10deg)}}.App-kitchen-container{min-width:80vw;max-width:100vw;align-items:center;justify-content:space-between;display:flex;flex-direction:row;flex-wrap:nowrap}.App-kitchen-space{align-items:center;justify-content:center;display:flex;flex-direction:column}.App-display-none{display:none}.App-functions-container{align-items:center;justify-content:center;display:flex;flex-direction:row}.App-button-back{background-image:url(/static/media/back_button.467450b5.svg);background-size:contain;width:20vmin;height:5vmin;position:absolute;top:1vmin;right:5vmin}.App-button-back:hover{background-image:url(/static/media/back_button_hover.c7d14fd4.svg)}.App-info-container{text-align:center;position:absolute;top:15%;left:20%;width:60%}.App-info-container-text{color:#5f5e5e;font-size:2.5vmin;white-space:pre-line} +/*# sourceMappingURL=main.f33027e0.chunk.css.map */ \ No newline at end of file diff --git a/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/static/css/main.f33027e0.chunk.css.map b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/static/css/main.f33027e0.chunk.css.map new file mode 100644 index 0000000..3ecbca8 --- /dev/null +++ b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/static/css/main.f33027e0.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["/Users/anastasia.birillo/IdeaProjects/kotlin-onboarding-part3/culinaryFrontend/src/index.css","main.f33027e0.chunk.css","/Users/anastasia.birillo/IdeaProjects/kotlin-onboarding-part3/culinaryFrontend/src/App.css"],"names":[],"mappings":"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","file":"main.f33027e0.chunk.css","sourcesContent":["body {\n margin: 0;\n font-family: 'Gotham', sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ninput[type = button] {\n font-family: 'Gotham', sans-serif;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n","body {\n margin: 0;\n font-family: 'Gotham', sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ninput[type = button] {\n font-family: 'Gotham', sans-serif;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n\n/****************BASE***************/\n\n.font-link-base {\n font-family: 'Inter', sans-serif;\n color: black;\n}\n\n.font-link-bold {\n font-family: 'Inter', sans-serif;\n font-weight: 900;\n}\n\n.font-link-light {\n font-family: 'Inter', sans-serif;\n font-weight: 200;\n}\n\n.App-logo {\n height: 35vmin;\n pointer-events: none;\n}\n\n.App-big-name {\n font-size: 10vmin;\n margin-top: 2vmin;\n margin-bottom: 2vmin;\n}\n\n.App-small-name {\n font-size: 4vmin;\n margin-top: 0;\n margin-bottom: 2vmin;\n color: white;\n}\n\n.App-invisible{\n visibility: hidden;\n}\n\n.App-header-base {\n font-size: calc(10px + 2vmin);\n color: white;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n.App-header-white {\n background-image: url(/static/media/bg_white.177e2c94.svg);\n}\n\n.App-header-black {\n background-image: url(/static/media/bg.159aeebb.svg);\n}\n\n.App-main-container {\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n overflow: auto;\n}\n\n.App-buttons-container {\n min-height: 10vmin;\n display: block;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.App-display-flex {\n display: flex;\n}\n\n.App-button-base {\n height: 10vmin;\n margin-top: 5vmin;\n background-repeat: no-repeat;\n background-size: auto;\n background-color: transparent;\n border: none;\n background-position: center;\n cursor:pointer;\n color: white;\n font-size:3.4vmin;\n font-family: 'Inter', sans-serif;\n}\n\n.App-button-start {\n background-image: url(/static/media/play_button.07c3d73d.svg);\n width: 30vmin;\n height: 6vmin;\n margin-top: 4vmin;\n background-size: contain;\n margin-bottom: 1vmin;\n}\n.App-button-start:hover {\n opacity: 0.85;\n}\n\n.App-teams-button-back {\n background-image: url(/static/media/back_button.467450b5.svg);\n background-size: contain;\n}\n\n.App-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: inherit;\n}\n\n/****************BASE***************/\n\n.App-button-action{\n background-size: contain;\n width: 15vmin;\n height: 5vmin;\n color: black;\n font-weight: 600;\n background-image: url(/static/media/action.1a49790c.svg);\n}\n\n.App-button-action:hover {\n background-image: url(/static/media/action_hover.143a84b0.svg);\n}\n\n.App-button-action-wide{\n background-size: contain;\n width: 21vmin;\n height: 5vmin;\n color: black;\n font-weight: 600;\n background-image: url(/static/media/action_wide.df8afed0.svg);\n}\n\n.App-button-action-wide:hover {\n background-image: url(/static/media/action_wide_hover.851872eb.svg);\n}\n\n.App-button-disable {\n pointer-events: none;\n opacity: 0.4;\n}\n\n/* PRODUCT COUNTER */\n\n.App-counter-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.App-products-row {\n align-items: center;\n justify-content: center;\n display: flex;\n flex-direction: row;\n}\n\n.App-products-row-top {\n padding-top: 3vmin;\n padding-bottom: 0;\n}\n\n.App-products-row-bottom {\n padding-top: 0;\n padding-bottom: 2vmin;\n}\n/* =============== */\n\n/* COUNTER ITEMS */\n.App-product-image {\n background-repeat: no-repeat;\n background-size: contain;\n}\n\n.App-product-counter{\n height: 15vmin;\n width: 15vmin;\n}\n\n.App-product-fridge{\n aspect-ratio: 1;\n max-height: 8vmin;\n width: 8vmin;\n}\n\n.App-product-image-ROT_TOMATO{\n background-image: url(/static/media/tomato-spoiled.bace9bce.svg);\n}\n.App-product-image-FRESH_TOMATO{\n background-image: url(/static/media/tomato-raw.12298a6e.svg);\n}\n.App-product-image-CUT_TOMATO{\n background-image: url(/static/media/tomato-cut.6836153a.svg);\n}\n.App-product-image-ROT_CUCUMBER{\n background-image: url(/static/media/cucumber-spoiled.e5037e35.svg);\n}\n.App-product-image-FRESH_CUCUMBER{\n background-image: url(/static/media/cucumber-raw.c77241ee.svg);\n}\n.App-product-image-CUT_CUCUMBER{\n background-image: url(/static/media/cucumber-cut.3b775d75.svg);\n}\n.App-product-image-ROT_CARROT{\n background-image: url(/static/media/carrot-spoiled.b907b470.svg);\n}\n.App-product-image-FRESH_CARROT{\n background-image: url(/static/media/carrot-raw.d0c2dde4.svg);\n}\n.App-product-image-CUT_CARROT{\n background-image: url(/static/media/carrow-cut.96dcc6dc.svg);\n}\n.App-product-image-BERRY{\n background-image: url(/static/media/berry.a2d5625f.svg);\n}\n.App-product-image-CITRUS{\n background-image: url(/static/media/citrus.ac3d6e5e.svg);\n}\n.App-product-image-SALT{\n background-image: url(/static/media/salt.f614ace5.svg);\n}\n.App-product-image-PEPPER{\n background-image: url(/static/media/pepper.09265644.svg);\n}\n.App-product-image-OREGANO{\n background-image: url(/static/media/oregano.12aa7403.svg);\n}\n/* ============= */\n\n/* ### LEFT #### */\n\n.App-left-kitchen-container {\n align-items: flex-start;\n justify-content: center;\n display: flex;\n flex-direction: column;\n}\n\n.App-fridge {\n aspect-ratio: 1 / 1.25;\n max-height: 40vh;\n width: 20vw;\n background-repeat: no-repeat;\n background-size: contain;\n visibility: visible;\n position: relative;\n}\n\n.App-fridge-back{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/fridge-open.0aaed28d.svg);\n}\n\n.App-fridge-first-shelf{\n position: absolute;\n}\n\n.App-fridge-second-shelf{\n position: absolute;\n}\n\n.App-fridge-third-shelf{\n position: absolute;\n}\n\n.App-spices-shelf{\n aspect-ratio: 1.1 / 1;\n max-height: 22vh;\n width: 20vw;\n background-repeat: no-repeat;\n background-size: contain;\n background-image: url(/static/media/spices-shelf.55a86836.svg);\n}\n\n/* ### CENTER #### */\n\n.App-center-kitchen-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.App-basket-kitchen-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n\n.App-basket {\n height: 20vmin;\n width: 20vmin;\n position: relative;\n background-repeat: no-repeat;\n background-size: contain;\n}\n\n.App-basket-back{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/basket-back.1e958b40.svg);\n}\n\n.App-basket-front{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/basket-front.10970fd7.svg);\n}\n\n.App-basket-item{\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.App-basket-citrus-5{\n background-image: url(/static/media/basket-citrus-5.a54bc4d1.svg);\n}\n.App-basket-citrus-4{\n background-image: url(/static/media/basket-citrus-4.25542618.svg);\n}\n.App-basket-citrus-3{\n background-image: url(/static/media/basket-citrus-3.2af70816.svg);\n}\n.App-basket-citrus-2{\n background-image: url(/static/media/basket-citrus-2.9b185241.svg);\n}\n.App-basket-citrus-1{\n background-image: url(/static/media/basket-citrus-1.dc10cdb2.svg);\n}\n\n\n.App-basket-berry-5{\n background-image: url(/static/media/basket-berry-5.e0f70176.svg);\n}\n.App-basket-berry-4{\n background-image: url(/static/media/basket-berry-4.eb6382b0.svg);\n}\n.App-basket-berry-3{\n background-image: url(/static/media/basket-berry-3.710f5b43.svg);\n}\n.App-basket-berry-2{\n background-image: url(/static/media/basket-berry-2.9a0242a2.svg);\n}\n.App-basket-berry-1{\n background-image: url(/static/media/basket-berry-1.2c5e06bc.svg);\n}\n\n\n.App-salad {\n height: 20vmin;\n width: 20vmin;\n position: relative;\n background-repeat: no-repeat;\n background-size: contain;\n}\n\n.App-salad-bowl {\n background-image: url(/static/media/salad-bowl.a7f5f34a.svg);\n}\n\n.App-salad-bowl-mixed {\n background-image: url(/static/media/salad-bowl-mixed.8c29d2b9.svg);\n}\n\n.App-salad-tomato{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/salad-tomato.e7fb9ea2.svg);\n}\n\n.App-salad-cucumber{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/salad-cucumber.9e799204.svg);\n}\n\n.App-salad-carrot{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/salad-carrot.5d12e03b.svg);\n}\n\n.App-salad-mixed-tomato{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/salad-bowl-mixed-tomato.7b272701.svg);\n}\n\n.App-salad-mixed-cucumber{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/salad-bowl-mixed-cucumber.7992dcf2.svg);\n}\n\n.App-salad-mixed-carrot{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/salad-bowl-mixed-carrot.b3f374bb.svg);\n}\n\n/* ### RIGHT #### */\n\n.App-right-kitchen-container {\n align-items: flex-end;\n justify-content: center;\n display: flex;\n flex-direction: column;\n}\n\n.App-pot {\n aspect-ratio: 1 / 1;\n max-height: 26vh;\n width: 20vw;\n position: relative;\n background-repeat: no-repeat;\n background-size: contain;\n}\n\n.App-pot-back{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/pot-back.37963222.svg);\n}\n\n.App-pot-water {\n background-image: url(/static/media/pot-water.0b6c498f.svg);\n}\n\n.App-pot-soup {\n background-image: url(/static/media/pot-soup.78375db2.svg);\n}\n\n.App-pot-pepper{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/pot-pepper.47999214.svg);\n}\n\n.App-pot-salt{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/pot-salt.1369c9ed.svg);\n}\n\n.App-pot-oregano{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/pot-oregano.8d384419.svg);\n}\n\n.App-pot-tomato{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/pot-tomato.3f8e1060.svg);\n}\n\n.App-pot-cucumber{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/pot-cucumber.8b6ffe73.svg);\n}\n\n.App-pot-carrot{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/pot-carrot.c8704838.svg);\n}\n\n.App-blender {\n aspect-ratio: 1 / 1.5;\n max-height: 28vh;\n width: 20vw;\n position: relative;\n background-repeat: no-repeat;\n background-size: contain;\n}\n\n.App-blender-jar{\n background-image: url(/static/media/blender.9da42019.svg);\n}\n\n.App-blender-citrus{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/blender-citrus.b243136a.svg);\n}\n\n.App-blender-berry{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url(/static/media/blender-berry.a2f7c947.svg);\n}\n\n.App-blender-jar-full {\n background-image: url(/static/media/blender-full.83a112bd.svg);\n}\n\n.App-animation-shake{\n animation: shake 0.6s cubic-bezier(.36,.07,.19,.97) both;\n animation-iteration-count: infinite;\n}\n\n.App-animation-simmer{\n animation: simmer 0.7s cubic-bezier(.36,.07,.19,.97) both;\n animation-iteration-count: infinite;\n}\n\n.App-animation-mixing{\n animation: mixing 1s cubic-bezier(.36,.07,.19,.97) both;\n animation-iteration-count: infinite;\n}\n\n@keyframes shake {\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n}\n\n@keyframes simmer {\n 10%, 90% {\n transform: translate3d(-1px, 0, 0) rotate(3deg);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0) rotate(-3deg);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0) rotate(3deg);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0) rotate(-3deg);\n }\n}\n\n@keyframes mixing {\n 10%, 90% {\n transform: translate3d(-5px, 0, 0) rotate(10deg);\n }\n\n 20%, 80% {\n transform: translate3d(6px, 0, 0) rotate(-10deg);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-8px, 0, 0) rotate(10deg);\n }\n\n 40%, 60% {\n transform: translate3d(8px, 0, 0) rotate(-10deg);\n }\n}\n\n/* ####### */\n\n\n.App-kitchen-container {\n min-width: 80vw;\n max-width: 100vw;\n align-items: center;\n justify-content: space-between;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n}\n\n.App-kitchen-space {\n align-items: center;\n justify-content: center;\n display: flex;\n flex-direction: column;\n}\n\n\n/* ======= */\n\n.App-display-none {\n display: none;\n}\n\n.App-functions-container {\n align-items: center;\n justify-content: center;\n display: flex;\n flex-direction: row;\n}\n\n.App-button-back {\n background-image: url(/static/media/back_button.467450b5.svg);\n background-size: contain;\n width: 20vmin;\n height: 5vmin;\n position: absolute;\n top: 1vmin;\n right: 5vmin;\n}\n.App-button-back:hover {\n background-image: url(/static/media/back_button_hover.c7d14fd4.svg);\n}\n\n\n.App-info-container {\n text-align: center;\n position: absolute;\n top: 15%;\n left: 20%;\n width: 60%;\n}\n\n.App-info-container-text {\n color: #5f5e5e;\n font-size: 2.5vmin;\n white-space: pre-line;\n}\n\n","/****************BASE***************/\n\n.font-link-base {\n font-family: 'Inter', sans-serif;\n color: black;\n}\n\n.font-link-bold {\n font-family: 'Inter', sans-serif;\n font-weight: 900;\n}\n\n.font-link-light {\n font-family: 'Inter', sans-serif;\n font-weight: 200;\n}\n\n.App-logo {\n height: 35vmin;\n pointer-events: none;\n}\n\n.App-big-name {\n font-size: 10vmin;\n margin-top: 2vmin;\n margin-bottom: 2vmin;\n}\n\n.App-small-name {\n font-size: 4vmin;\n margin-top: 0;\n margin-bottom: 2vmin;\n color: white;\n}\n\n.App-invisible{\n visibility: hidden;\n}\n\n.App-header-base {\n font-size: calc(10px + 2vmin);\n color: white;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n.App-header-white {\n background-image: url('assets/bg_white.svg');\n}\n\n.App-header-black {\n background-image: url('assets/bg.svg');\n}\n\n.App-main-container {\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n overflow: auto;\n}\n\n.App-buttons-container {\n min-height: 10vmin;\n display: block;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.App-display-flex {\n display: flex;\n}\n\n.App-button-base {\n height: 10vmin;\n margin-top: 5vmin;\n background-repeat: no-repeat;\n background-size: auto;\n background-color: transparent;\n border: none;\n background-position: center;\n cursor:pointer;\n color: white;\n font-size:3.4vmin;\n font-family: 'Inter', sans-serif;\n}\n\n.App-button-start {\n background-image: url('assets/play_button.svg');\n width: 30vmin;\n height: 6vmin;\n margin-top: 4vmin;\n background-size: contain;\n margin-bottom: 1vmin;\n}\n.App-button-start:hover {\n opacity: 0.85;\n}\n\n.App-teams-button-back {\n background-image: url('assets/back_button.svg');\n background-size: contain;\n}\n\n.App-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: inherit;\n}\n\n/****************BASE***************/\n\n.App-button-action{\n background-size: contain;\n width: 15vmin;\n height: 5vmin;\n color: black;\n font-weight: 600;\n background-image: url('assets/buttons/action.svg');\n}\n\n.App-button-action:hover {\n background-image: url('assets/buttons/action_hover.svg');\n}\n\n.App-button-action-wide{\n background-size: contain;\n width: 21vmin;\n height: 5vmin;\n color: black;\n font-weight: 600;\n background-image: url('assets/buttons/action_wide.svg');\n}\n\n.App-button-action-wide:hover {\n background-image: url('assets/buttons/action_wide_hover.svg');\n}\n\n.App-button-disable {\n pointer-events: none;\n opacity: 0.4;\n}\n\n/* PRODUCT COUNTER */\n\n.App-counter-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.App-products-row {\n align-items: center;\n justify-content: center;\n display: flex;\n flex-direction: row;\n}\n\n.App-products-row-top {\n padding-top: 3vmin;\n padding-bottom: 0;\n}\n\n.App-products-row-bottom {\n padding-top: 0;\n padding-bottom: 2vmin;\n}\n/* =============== */\n\n/* COUNTER ITEMS */\n.App-product-image {\n background-repeat: no-repeat;\n background-size: contain;\n}\n\n.App-product-counter{\n height: 15vmin;\n width: 15vmin;\n}\n\n.App-product-fridge{\n aspect-ratio: 1;\n max-height: 8vmin;\n width: 8vmin;\n}\n\n.App-product-image-ROT_TOMATO{\n background-image: url('assets/kitchen/tomato-spoiled.svg');\n}\n.App-product-image-FRESH_TOMATO{\n background-image: url('assets/kitchen/tomato-raw.svg');\n}\n.App-product-image-CUT_TOMATO{\n background-image: url('assets/kitchen/tomato-cut.svg');\n}\n.App-product-image-ROT_CUCUMBER{\n background-image: url('assets/kitchen/cucumber-spoiled.svg');\n}\n.App-product-image-FRESH_CUCUMBER{\n background-image: url('assets/kitchen/cucumber-raw.svg');\n}\n.App-product-image-CUT_CUCUMBER{\n background-image: url('assets/kitchen/cucumber-cut.svg');\n}\n.App-product-image-ROT_CARROT{\n background-image: url('assets/kitchen/carrot-spoiled.svg');\n}\n.App-product-image-FRESH_CARROT{\n background-image: url('assets/kitchen/carrot-raw.svg');\n}\n.App-product-image-CUT_CARROT{\n background-image: url('assets/kitchen/carrow-cut.svg');\n}\n.App-product-image-BERRY{\n background-image: url('assets/kitchen/berry.svg');\n}\n.App-product-image-CITRUS{\n background-image: url('assets/kitchen/citrus.svg');\n}\n.App-product-image-SALT{\n background-image: url('assets/kitchen/salt.svg');\n}\n.App-product-image-PEPPER{\n background-image: url('assets/kitchen/pepper.svg');\n}\n.App-product-image-OREGANO{\n background-image: url('assets/kitchen/oregano.svg');\n}\n/* ============= */\n\n/* ### LEFT #### */\n\n.App-left-kitchen-container {\n align-items: flex-start;\n justify-content: center;\n display: flex;\n flex-direction: column;\n}\n\n.App-fridge {\n aspect-ratio: 1 / 1.25;\n max-height: 40vh;\n width: 20vw;\n background-repeat: no-repeat;\n background-size: contain;\n visibility: visible;\n position: relative;\n}\n\n.App-fridge-back{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/kitchen/fridge-open.svg');\n}\n\n.App-fridge-first-shelf{\n position: absolute;\n}\n\n.App-fridge-second-shelf{\n position: absolute;\n}\n\n.App-fridge-third-shelf{\n position: absolute;\n}\n\n.App-spices-shelf{\n aspect-ratio: 1.1 / 1;\n max-height: 22vh;\n width: 20vw;\n background-repeat: no-repeat;\n background-size: contain;\n background-image: url('assets/kitchen/spices-shelf.svg');\n}\n\n/* ### CENTER #### */\n\n.App-center-kitchen-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.App-basket-kitchen-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n\n.App-basket {\n height: 20vmin;\n width: 20vmin;\n position: relative;\n background-repeat: no-repeat;\n background-size: contain;\n}\n\n.App-basket-back{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/baskets/basket-back.svg');\n}\n\n.App-basket-front{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/baskets/basket-front.svg');\n}\n\n.App-basket-item{\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.App-basket-citrus-5{\n background-image: url('assets/baskets/basket-citrus-5.svg');\n}\n.App-basket-citrus-4{\n background-image: url('assets/baskets/basket-citrus-4.svg');\n}\n.App-basket-citrus-3{\n background-image: url('assets/baskets/basket-citrus-3.svg');\n}\n.App-basket-citrus-2{\n background-image: url('assets/baskets/basket-citrus-2.svg');\n}\n.App-basket-citrus-1{\n background-image: url('assets/baskets/basket-citrus-1.svg');\n}\n\n\n.App-basket-berry-5{\n background-image: url('assets/baskets/basket-berry-5.svg');\n}\n.App-basket-berry-4{\n background-image: url('assets/baskets/basket-berry-4.svg');\n}\n.App-basket-berry-3{\n background-image: url('assets/baskets/basket-berry-3.svg');\n}\n.App-basket-berry-2{\n background-image: url('assets/baskets/basket-berry-2.svg');\n}\n.App-basket-berry-1{\n background-image: url('assets/baskets/basket-berry-1.svg');\n}\n\n\n.App-salad {\n height: 20vmin;\n width: 20vmin;\n position: relative;\n background-repeat: no-repeat;\n background-size: contain;\n}\n\n.App-salad-bowl {\n background-image: url('assets/salad/salad-bowl.svg');\n}\n\n.App-salad-bowl-mixed {\n background-image: url('assets/salad/salad-bowl-mixed.svg');\n}\n\n.App-salad-tomato{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/salad/salad-tomato.svg');\n}\n\n.App-salad-cucumber{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/salad/salad-cucumber.svg');\n}\n\n.App-salad-carrot{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/salad/salad-carrot.svg');\n}\n\n.App-salad-mixed-tomato{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/salad/salad-bowl-mixed-tomato.svg');\n}\n\n.App-salad-mixed-cucumber{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/salad/salad-bowl-mixed-cucumber.svg');\n}\n\n.App-salad-mixed-carrot{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/salad/salad-bowl-mixed-carrot.svg');\n}\n\n/* ### RIGHT #### */\n\n.App-right-kitchen-container {\n align-items: flex-end;\n justify-content: center;\n display: flex;\n flex-direction: column;\n}\n\n.App-pot {\n aspect-ratio: 1 / 1;\n max-height: 26vh;\n width: 20vw;\n position: relative;\n background-repeat: no-repeat;\n background-size: contain;\n}\n\n.App-pot-back{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/pot/pot-back.svg');\n}\n\n.App-pot-water {\n background-image: url('assets/pot/pot-water.svg');\n}\n\n.App-pot-soup {\n background-image: url('assets/pot/pot-soup.svg');\n}\n\n.App-pot-pepper{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/pot/pot-pepper.svg');\n}\n\n.App-pot-salt{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/pot/pot-salt.svg');\n}\n\n.App-pot-oregano{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/pot/pot-oregano.svg');\n}\n\n.App-pot-tomato{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/pot/pot-tomato.svg');\n}\n\n.App-pot-cucumber{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/pot/pot-cucumber.svg');\n}\n\n.App-pot-carrot{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/pot/pot-carrot.svg');\n}\n\n.App-blender {\n aspect-ratio: 1 / 1.5;\n max-height: 28vh;\n width: 20vw;\n position: relative;\n background-repeat: no-repeat;\n background-size: contain;\n}\n\n.App-blender-jar{\n background-image: url('assets/blender/blender.svg');\n}\n\n.App-blender-citrus{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/blender/blender-citrus.svg');\n}\n\n.App-blender-berry{\n position: absolute;\n top: 0;\n left: 0;\n background-image: url('assets/blender/blender-berry.svg');\n}\n\n.App-blender-jar-full {\n background-image: url('assets/blender/blender-full.svg');\n}\n\n.App-animation-shake{\n animation: shake 0.6s cubic-bezier(.36,.07,.19,.97) both;\n animation-iteration-count: infinite;\n}\n\n.App-animation-simmer{\n animation: simmer 0.7s cubic-bezier(.36,.07,.19,.97) both;\n animation-iteration-count: infinite;\n}\n\n.App-animation-mixing{\n animation: mixing 1s cubic-bezier(.36,.07,.19,.97) both;\n animation-iteration-count: infinite;\n}\n\n@keyframes shake {\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n}\n\n@keyframes simmer {\n 10%, 90% {\n transform: translate3d(-1px, 0, 0) rotate(3deg);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0) rotate(-3deg);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0) rotate(3deg);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0) rotate(-3deg);\n }\n}\n\n@keyframes mixing {\n 10%, 90% {\n transform: translate3d(-5px, 0, 0) rotate(10deg);\n }\n\n 20%, 80% {\n transform: translate3d(6px, 0, 0) rotate(-10deg);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-8px, 0, 0) rotate(10deg);\n }\n\n 40%, 60% {\n transform: translate3d(8px, 0, 0) rotate(-10deg);\n }\n}\n\n/* ####### */\n\n\n.App-kitchen-container {\n min-width: 80vw;\n max-width: 100vw;\n align-items: center;\n justify-content: space-between;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n}\n\n.App-kitchen-space {\n align-items: center;\n justify-content: center;\n display: flex;\n flex-direction: column;\n}\n\n\n/* ======= */\n\n.App-display-none {\n display: none;\n}\n\n.App-functions-container {\n align-items: center;\n justify-content: center;\n display: flex;\n flex-direction: row;\n}\n\n.App-button-back {\n background-image: url('assets/back_button.svg');\n background-size: contain;\n width: 20vmin;\n height: 5vmin;\n position: absolute;\n top: 1vmin;\n right: 5vmin;\n}\n.App-button-back:hover {\n background-image: url('assets/back_button_hover.svg');\n}\n\n\n.App-info-container {\n text-align: center;\n position: absolute;\n top: 15%;\n left: 20%;\n width: 60%;\n}\n\n.App-info-container-text {\n color: #5f5e5e;\n font-size: 2.5vmin;\n white-space: pre-line;\n}\n"]} \ No newline at end of file diff --git a/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/static/js/2.dbb8f406.chunk.js b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/static/js/2.dbb8f406.chunk.js new file mode 100644 index 0000000..9d6c914 --- /dev/null +++ b/culinaryServer/culinaryServerCookSmoothie/src/main/resources/static/static/js/2.dbb8f406.chunk.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(24)},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){for(var t=1;t0;)i[o=r[a]]||(t[o]=e[o],i[o]=!0);e=Object.getPrototypeOf(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:i,kindOfTest:l,endsWith:function(e,t,n){e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;var r=e.indexOf(t,n);return-1!==r&&r===n},toArray:function(e){if(!e)return null;var t=e.length;if(s(t))return null;for(var n=new Array(t);t-- >0;)n[t]=e[t];return n},isTypedArray:k,isFileList:g}},function(e,t,n){"use strict";function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,a=!1,o=void 0;try{for(var i,l=e[Symbol.iterator]();!(r=(i=l.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(u){a=!0,o=u}finally{try{r||null==l.return||l.return()}finally{if(a)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}n.d(t,"a",function(){return r})},function(e,t,n){e.exports=n(33)},function(e,t,n){"use strict";var r=n(2);function a(e,t,n,r,a){Error.call(this),this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),a&&(this.response=a)}r.inherits(a,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var o=a.prototype,i={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach(function(e){i[e]={value:e}}),Object.defineProperties(a,i),Object.defineProperty(o,"isAxiosError",{value:!0}),a.from=function(e,t,n,i,l,u){var s=Object.create(o);return r.toFlatObject(e,s,function(e){return e!==Error.prototype}),a.call(s,e.message,t,n,i,l),s.name=e.name,u&&Object.assign(s,u),s},e.exports=a},function(e,t,n){"use strict";function r(e,t,n,r,a,o,i){try{var l=e[o](i),u=l.value}catch(s){return void n(s)}l.done?t(u):Promise.resolve(u).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise(function(a,o){var i=e.apply(t,n);function l(e){r(i,a,o,l,u,"next",e)}function u(e){r(i,a,o,l,u,"throw",e)}l(void 0)})}}n.d(t,"a",function(){return a})},function(e,t,n){"use strict";function r(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],function(e){c.headers[e]={}}),r.forEach(["post","put","patch"],function(e){c.headers[e]=r.merge(u)}),e.exports=c}).call(this,n(11))},function(e,t){var n,r,a=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function l(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"===typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"===typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var u,s=[],c=!1,f=-1;function d(){c&&u&&(c=!1,u.length?s=u.concat(s):f=-1,s.length&&p())}function p(){if(!c){var e=l(d);c=!0;for(var t=s.length;t;){for(u=s,s=[];++f1)for(var n=1;n