From b248bf2fb60ef8cb913e34a900bc9d17ad885cd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B0=D0=B2=D0=B5=D0=BB=20=D0=9E=D1=81=D0=B8=D0=BF?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Thu, 1 Jul 2021 17:35:18 +0300 Subject: [PATCH 01/22] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=89=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/src/common/ItemCounter.vue | 25 ++++ src/frontend/src/common/RadioButton.vue | 33 +++++ src/frontend/src/common/Widget.vue | 39 ++++++ src/frontend/src/views/Index.vue | 174 ++++++++++-------------- 4 files changed, 168 insertions(+), 103 deletions(-) create mode 100644 src/frontend/src/common/ItemCounter.vue create mode 100644 src/frontend/src/common/RadioButton.vue create mode 100644 src/frontend/src/common/Widget.vue diff --git a/src/frontend/src/common/ItemCounter.vue b/src/frontend/src/common/ItemCounter.vue new file mode 100644 index 0000000..72c4cf2 --- /dev/null +++ b/src/frontend/src/common/ItemCounter.vue @@ -0,0 +1,25 @@ + + diff --git a/src/frontend/src/common/RadioButton.vue b/src/frontend/src/common/RadioButton.vue new file mode 100644 index 0000000..a4c9546 --- /dev/null +++ b/src/frontend/src/common/RadioButton.vue @@ -0,0 +1,33 @@ + + + diff --git a/src/frontend/src/common/Widget.vue b/src/frontend/src/common/Widget.vue new file mode 100644 index 0000000..4031289 --- /dev/null +++ b/src/frontend/src/common/Widget.vue @@ -0,0 +1,39 @@ + + diff --git a/src/frontend/src/views/Index.vue b/src/frontend/src/views/Index.vue index d82d22a..8dedf13 100644 --- a/src/frontend/src/views/Index.vue +++ b/src/frontend/src/views/Index.vue @@ -25,121 +25,81 @@

Конструктор пиццы

-
-

Выберите тесто

- -
- -
-
+ + +
-
-

Выберите размер

- -
- -
-
+ + +
-
-

- Выберите ингридиенты -

+ +
+

Основной соус:

+ +
-
-
-

Основной соус:

+
+

Начинка:

-
- -
-

Начинка:

- -
    -
  • - {{ - name - }} + {{ + name + }} -
    - - - -
    -
  • -
-
+ + +
-
+
@@ -177,6 +137,9 @@ diff --git a/src/frontend/src/modules/header/components/Header.vue b/src/frontend/src/modules/header/components/Header.vue new file mode 100644 index 0000000..83dedf5 --- /dev/null +++ b/src/frontend/src/modules/header/components/Header.vue @@ -0,0 +1,28 @@ + + diff --git a/src/frontend/src/modules/header/components/HeaderCart.vue b/src/frontend/src/modules/header/components/HeaderCart.vue new file mode 100644 index 0000000..a639007 --- /dev/null +++ b/src/frontend/src/modules/header/components/HeaderCart.vue @@ -0,0 +1,10 @@ + + diff --git a/src/frontend/src/modules/header/components/HeaderUser.vue b/src/frontend/src/modules/header/components/HeaderUser.vue new file mode 100644 index 0000000..188bee6 --- /dev/null +++ b/src/frontend/src/modules/header/components/HeaderUser.vue @@ -0,0 +1,10 @@ + + diff --git a/src/frontend/src/modules/index.js b/src/frontend/src/modules/index.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/frontend/src/views/Index.vue b/src/frontend/src/views/Index.vue index ab6cf9d..cc6d6c8 100644 --- a/src/frontend/src/views/Index.vue +++ b/src/frontend/src/views/Index.vue @@ -1,165 +1,27 @@ diff --git a/src/frontend/src/modules/builder/components/BuilderDoughSelector.vue b/src/frontend/src/modules/builder/components/BuilderDoughSelector.vue new file mode 100644 index 0000000..fbf1988 --- /dev/null +++ b/src/frontend/src/modules/builder/components/BuilderDoughSelector.vue @@ -0,0 +1,39 @@ + + diff --git a/src/frontend/src/modules/builder/components/BuilderIngredientsSelector.vue b/src/frontend/src/modules/builder/components/BuilderIngredientsSelector.vue new file mode 100644 index 0000000..1a0b4e4 --- /dev/null +++ b/src/frontend/src/modules/builder/components/BuilderIngredientsSelector.vue @@ -0,0 +1,41 @@ + + diff --git a/src/frontend/src/modules/builder/components/BuilderPizzaView.vue b/src/frontend/src/modules/builder/components/BuilderPizzaView.vue new file mode 100644 index 0000000..d726790 --- /dev/null +++ b/src/frontend/src/modules/builder/components/BuilderPizzaView.vue @@ -0,0 +1,36 @@ + + diff --git a/src/frontend/src/modules/builder/components/BuilderPriceCounter.vue b/src/frontend/src/modules/builder/components/BuilderPriceCounter.vue new file mode 100644 index 0000000..404cce8 --- /dev/null +++ b/src/frontend/src/modules/builder/components/BuilderPriceCounter.vue @@ -0,0 +1,34 @@ + + diff --git a/src/frontend/src/modules/builder/components/BuilderSizeSelector.vue b/src/frontend/src/modules/builder/components/BuilderSizeSelector.vue new file mode 100644 index 0000000..e4924f3 --- /dev/null +++ b/src/frontend/src/modules/builder/components/BuilderSizeSelector.vue @@ -0,0 +1,38 @@ + + diff --git a/src/frontend/src/views/Index.vue b/src/frontend/src/views/Index.vue index cc6d6c8..f215d63 100644 --- a/src/frontend/src/views/Index.vue +++ b/src/frontend/src/views/Index.vue @@ -3,13 +3,12 @@
- +
From 03352d7f7a415e986a70bfe23a58c1f43ba3d2b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B0=D0=B2=D0=B5=D0=BB=20=D0=9E=D1=81=D0=B8=D0=BF?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Sat, 3 Jul 2021 13:58:38 +0300 Subject: [PATCH 05/22] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D1=81=D1=87=D0=B5=D1=82=20=D1=86=D0=B5=D0=BD?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/common/components/AppCounter.vue | 97 ++++++++++++++ .../{RadioButton.vue => AppRadioButton.vue} | 25 +++- .../components/{Widget.vue => AppWidget.vue} | 4 +- .../src/common/components/ItemCounter.vue | 25 ---- src/frontend/src/common/normalizeDoughs.js | 12 +- src/frontend/src/common/normalizeSauces.js | 10 +- src/frontend/src/common/normalizeSizes.js | 11 +- .../modules/builder/components/Builder.vue | 31 ----- .../components/BuilderDoughSelector.vue | 34 +++-- .../components/BuilderIngredientsSelector.vue | 52 +++++--- .../builder/components/BuilderPizzaView.vue | 50 ++++++- .../components/BuilderPriceCounter.vue | 9 +- .../components/BuilderSizeSelector.vue | 34 +++-- .../modules/builder/components/TheBuilder.vue | 125 ++++++++++++++++++ .../components/{Header.vue => TheHeader.vue} | 1 + src/frontend/src/static/pizza.json | 4 +- src/frontend/src/views/Index.vue | 12 +- 17 files changed, 409 insertions(+), 127 deletions(-) create mode 100644 src/frontend/src/common/components/AppCounter.vue rename src/frontend/src/common/components/{RadioButton.vue => AppRadioButton.vue} (57%) rename src/frontend/src/common/components/{Widget.vue => AppWidget.vue} (94%) delete mode 100644 src/frontend/src/common/components/ItemCounter.vue delete mode 100644 src/frontend/src/modules/builder/components/Builder.vue create mode 100644 src/frontend/src/modules/builder/components/TheBuilder.vue rename src/frontend/src/modules/header/components/{Header.vue => TheHeader.vue} (99%) diff --git a/src/frontend/src/common/components/AppCounter.vue b/src/frontend/src/common/components/AppCounter.vue new file mode 100644 index 0000000..536e7f0 --- /dev/null +++ b/src/frontend/src/common/components/AppCounter.vue @@ -0,0 +1,97 @@ + + diff --git a/src/frontend/src/common/components/RadioButton.vue b/src/frontend/src/common/components/AppRadioButton.vue similarity index 57% rename from src/frontend/src/common/components/RadioButton.vue rename to src/frontend/src/common/components/AppRadioButton.vue index 1d1fc8c..990be10 100644 --- a/src/frontend/src/common/components/RadioButton.vue +++ b/src/frontend/src/common/components/AppRadioButton.vue @@ -1,33 +1,50 @@ diff --git a/src/frontend/src/common/components/Widget.vue b/src/frontend/src/common/components/AppWidget.vue similarity index 94% rename from src/frontend/src/common/components/Widget.vue rename to src/frontend/src/common/components/AppWidget.vue index bdf4847..44d35ff 100644 --- a/src/frontend/src/common/components/Widget.vue +++ b/src/frontend/src/common/components/AppWidget.vue @@ -9,12 +9,14 @@ diff --git a/src/frontend/src/common/normalizeDoughs.js b/src/frontend/src/common/normalizeDoughs.js index 68bf80e..808b468 100644 --- a/src/frontend/src/common/normalizeDoughs.js +++ b/src/frontend/src/common/normalizeDoughs.js @@ -3,7 +3,13 @@ import { generateMap } from "./helpers"; const valueMap = generateMap(["light", "large"]); export const normalizeDoughs = (doughs) => - doughs.map((dough, index) => ({ - ...dough, - value: valueMap[index], + doughs.map(({ description, price, image, name }, index) => ({ + description, + name, + value: { + price, + image, + name: valueMap[index], + }, + isChecked: index === 0, })); diff --git a/src/frontend/src/common/normalizeSauces.js b/src/frontend/src/common/normalizeSauces.js index 9922bc9..a8d70d1 100644 --- a/src/frontend/src/common/normalizeSauces.js +++ b/src/frontend/src/common/normalizeSauces.js @@ -3,7 +3,11 @@ import { generateMap } from "./helpers"; const valueMap = generateMap(["tomato", "creamy"]); export const normalizeSauces = (sauces) => - sauces.map((sauce, index) => ({ - ...sauce, - value: valueMap[index], + sauces.map(({ price, name }, index) => ({ + name, + value: { + price, + name: valueMap[index], + }, + isChecked: index === 0, })); diff --git a/src/frontend/src/common/normalizeSizes.js b/src/frontend/src/common/normalizeSizes.js index c6bc598..9c307be 100644 --- a/src/frontend/src/common/normalizeSizes.js +++ b/src/frontend/src/common/normalizeSizes.js @@ -3,7 +3,12 @@ import { generateMap } from "./helpers"; const valueMap = generateMap(["small", "normal", "big"]); export const normalizeSizes = (sizes) => - sizes.map((size, index) => ({ - ...size, - value: valueMap[index], + sizes.map(({ name, image, multiplier }, index) => ({ + name, + value: { + image, + multiplier, + name: valueMap[index], + }, + isChecked: index === 1, })); diff --git a/src/frontend/src/modules/builder/components/Builder.vue b/src/frontend/src/modules/builder/components/Builder.vue deleted file mode 100644 index 8567bd6..0000000 --- a/src/frontend/src/modules/builder/components/Builder.vue +++ /dev/null @@ -1,31 +0,0 @@ - - diff --git a/src/frontend/src/modules/builder/components/BuilderDoughSelector.vue b/src/frontend/src/modules/builder/components/BuilderDoughSelector.vue index fbf1988..c099ece 100644 --- a/src/frontend/src/modules/builder/components/BuilderDoughSelector.vue +++ b/src/frontend/src/modules/builder/components/BuilderDoughSelector.vue @@ -1,39 +1,47 @@ diff --git a/src/frontend/src/modules/builder/components/BuilderIngredientsSelector.vue b/src/frontend/src/modules/builder/components/BuilderIngredientsSelector.vue index 1a0b4e4..8d8cc91 100644 --- a/src/frontend/src/modules/builder/components/BuilderIngredientsSelector.vue +++ b/src/frontend/src/modules/builder/components/BuilderIngredientsSelector.vue @@ -1,41 +1,61 @@ diff --git a/src/frontend/src/modules/builder/components/BuilderPizzaView.vue b/src/frontend/src/modules/builder/components/BuilderPizzaView.vue index d726790..4cf50e6 100644 --- a/src/frontend/src/modules/builder/components/BuilderPizzaView.vue +++ b/src/frontend/src/modules/builder/components/BuilderPizzaView.vue @@ -10,27 +10,65 @@ > {{ name }} -
diff --git a/src/frontend/src/modules/builder/components/BuilderPriceCounter.vue b/src/frontend/src/modules/builder/components/BuilderPriceCounter.vue index 404cce8..d864cf4 100644 --- a/src/frontend/src/modules/builder/components/BuilderPriceCounter.vue +++ b/src/frontend/src/modules/builder/components/BuilderPriceCounter.vue @@ -20,7 +20,7 @@
-

Итого: 0 ₽

+

Итого: {{ totalPrice }} ₽

@@ -30,5 +30,12 @@ diff --git a/src/frontend/src/modules/builder/components/BuilderSizeSelector.vue b/src/frontend/src/modules/builder/components/BuilderSizeSelector.vue index e4924f3..6131843 100644 --- a/src/frontend/src/modules/builder/components/BuilderSizeSelector.vue +++ b/src/frontend/src/modules/builder/components/BuilderSizeSelector.vue @@ -1,38 +1,46 @@ diff --git a/src/frontend/src/modules/builder/components/TheBuilder.vue b/src/frontend/src/modules/builder/components/TheBuilder.vue new file mode 100644 index 0000000..a7455ef --- /dev/null +++ b/src/frontend/src/modules/builder/components/TheBuilder.vue @@ -0,0 +1,125 @@ + + diff --git a/src/frontend/src/modules/header/components/Header.vue b/src/frontend/src/modules/header/components/TheHeader.vue similarity index 99% rename from src/frontend/src/modules/header/components/Header.vue rename to src/frontend/src/modules/header/components/TheHeader.vue index 83dedf5..af5933e 100644 --- a/src/frontend/src/modules/header/components/Header.vue +++ b/src/frontend/src/modules/header/components/TheHeader.vue @@ -20,6 +20,7 @@ import HeaderUser from "./HeaderUser"; export default { name: "Header", + components: { HeaderCart, HeaderUser, diff --git a/src/frontend/src/static/pizza.json b/src/frontend/src/static/pizza.json index 3e2acd6..e0f85b5 100644 --- a/src/frontend/src/static/pizza.json +++ b/src/frontend/src/static/pizza.json @@ -4,7 +4,7 @@ "name": "Тонкое", "image": "/public/img/dough-light.svg", "description": "Из твердых сортов пшеницы", - "price": 300 + "price": 200 }, { "name": "Толстое", @@ -33,7 +33,7 @@ "sauces": [ { "name": "Томатный", - "price": 50 + "price": 40 }, { "name": "Сливочный", diff --git a/src/frontend/src/views/Index.vue b/src/frontend/src/views/Index.vue index f215d63..a465b2c 100644 --- a/src/frontend/src/views/Index.vue +++ b/src/frontend/src/views/Index.vue @@ -1,22 +1,22 @@ From 9640f4e9f58f16a38da3672bc2cac517b9c60c5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B0=D0=B2=D0=B5=D0=BB=20=D0=9E=D1=81=D0=B8=D0=BF?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Sat, 3 Jul 2021 15:31:11 +0300 Subject: [PATCH 06/22] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=20ho?= =?UTF-8?q?c=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D1=8B=20=D0=B4=D0=BB=D1=8F=20drag=20and=20drop=20+=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=84=D0=B8=D0=BA=D1=81=D0=B8=D0=BB=20=D0=B1=D0=B0=D0=B3?= =?UTF-8?q?=D1=83=20=D0=BF=D1=80=D0=B8=20=D0=BF=D1=83=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D0=BC=20=D0=B8=D0=BD=D0=BF=D1=83=D1=82=D0=B5=20=D1=81=D1=87?= =?UTF-8?q?=D0=B5=D1=82=D1=87=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/common/components/AppCounter.vue | 1 + .../src/common/components/AppDrag.vue | 36 ++++++++++++++++++ .../src/common/components/AppDrop.vue | 28 ++++++++++++++ .../src/common/components/constants.js | 2 + .../builder/components/BuilderPizzaView.vue | 24 +++++------- .../components/BuilderPizzaViewItem.vue | 38 +++++++++++++++++++ 6 files changed, 114 insertions(+), 15 deletions(-) create mode 100644 src/frontend/src/common/components/AppDrag.vue create mode 100644 src/frontend/src/common/components/AppDrop.vue create mode 100644 src/frontend/src/common/components/constants.js create mode 100644 src/frontend/src/modules/builder/components/BuilderPizzaViewItem.vue diff --git a/src/frontend/src/common/components/AppCounter.vue b/src/frontend/src/common/components/AppCounter.vue index 536e7f0..da43118 100644 --- a/src/frontend/src/common/components/AppCounter.vue +++ b/src/frontend/src/common/components/AppCounter.vue @@ -80,6 +80,7 @@ export default { if (isNaN(value)) { this.count = 0; + this.onCountUpdate(this.count); return; } diff --git a/src/frontend/src/common/components/AppDrag.vue b/src/frontend/src/common/components/AppDrag.vue new file mode 100644 index 0000000..2dba105 --- /dev/null +++ b/src/frontend/src/common/components/AppDrag.vue @@ -0,0 +1,36 @@ + + + diff --git a/src/frontend/src/common/components/AppDrop.vue b/src/frontend/src/common/components/AppDrop.vue new file mode 100644 index 0000000..a549e75 --- /dev/null +++ b/src/frontend/src/common/components/AppDrop.vue @@ -0,0 +1,28 @@ + + + diff --git a/src/frontend/src/common/components/constants.js b/src/frontend/src/common/components/constants.js new file mode 100644 index 0000000..7dfdf0a --- /dev/null +++ b/src/frontend/src/common/components/constants.js @@ -0,0 +1,2 @@ +export const MOVE = "move"; +export const DATA_TRANSFER_PAYLOAD = "payload"; diff --git a/src/frontend/src/modules/builder/components/BuilderPizzaView.vue b/src/frontend/src/modules/builder/components/BuilderPizzaView.vue index 4cf50e6..62a8f2d 100644 --- a/src/frontend/src/modules/builder/components/BuilderPizzaView.vue +++ b/src/frontend/src/modules/builder/components/BuilderPizzaView.vue @@ -3,30 +3,24 @@

Начинка:

    -
  • - {{ name }} - - -
  • +
From 86b04bb253ee581f7ba718047422dd39855fd7f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B0=D0=B2=D0=B5=D0=BB=20=D0=9E=D1=81=D0=B8=D0=BF?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Sun, 4 Jul 2021 15:15:20 +0300 Subject: [PATCH 07/22] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BB=20=D0=BF=D0=BE=D0=B4=D1=81=D1=87=D0=B5=D1=82?= =?UTF-8?q?=20=D0=BA=D0=B0=D1=83=D0=BD=D1=82=D0=B5=D1=80=D0=B0=20=D0=B8?= =?UTF-8?q?=D0=BD=D0=B3=D1=80=D0=B5=D0=B4=D0=B8=D0=B5=D0=BD=D1=82=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/common/components/AppCounter.vue | 108 +++++++++++------- src/frontend/src/common/constants.js | 5 + .../src/common/normalizeIngredients.js | 4 + .../components/BuilderIngredientsSelector.vue | 4 +- .../builder/components/BuilderPizzaView.vue | 36 +----- .../components/BuilderPizzaViewItem.vue | 28 +++-- .../components/BuilderPriceCounter.vue | 58 ++++++---- .../modules/builder/components/TheBuilder.vue | 96 +++++++++++++++- 8 files changed, 223 insertions(+), 116 deletions(-) create mode 100644 src/frontend/src/common/constants.js diff --git a/src/frontend/src/common/components/AppCounter.vue b/src/frontend/src/common/components/AppCounter.vue index da43118..323599e 100644 --- a/src/frontend/src/common/components/AppCounter.vue +++ b/src/frontend/src/common/components/AppCounter.vue @@ -11,7 +11,7 @@ type="text" name="counter" class="counter__input" - v-model="count" + :value="count" @change="onInputChange($event)" />