Дата:
- {{(lastOrder?.transactionCreateDate | date:'dd.MM.yyyyг.') || 'Данные не найдены'}}
+ {{(lastOrder?.last_purchase_date | date:'dd.MM.yyyyг.') || 'Данные не найдены'}}
На сумму:
- {{lastOrder?.orderSum ? lastOrder?.orderSum + ' ₽' : 'Данные не найдены'}}
+ {{lastOrder ? lastOrder.last_purchase_sum + ' ₽' : 'Данные не найдены'}}
-
Уровень {{ authService.userInfo.customer_level }}
+
Уровень {{ authService.userInfo.current_level_and_cashback?.current_level ?? '--' }}
Кэшбек {{ authService.currentLvlPeriod.percent }}%
-
-
- {{ Math.floor(authService.getBalanceAmount($any(authService.userInfo.walletBalances))) }}
- бонусов
-
-
- Ошибка! Отрицательный баланс бонусов
-
+
+ {{ Math.floor(authService.userInfo.walletBalances) }}
+ бонусов
@@ -29,9 +24,7 @@
Осталось купить на сумму
{{
- authService.currentLvlPeriod.end -
- (authService.userInfo.OrdersSum) +
- 1
+ authService.userInfo.next_level.sum_for_next_level
}}
рублей, тогда кэшбек будет
с
{{
- authService.purchaseData.currentPeriod[1]
+ authService.currentPeriod[1]
.locale("ru")
.format("D MMMM")
}}
@@ -53,7 +46,7 @@
Участвуй в программе лояльности COFFEE LIKE
Начни получать бонусы прямо сейчас
diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.scss b/angular/src/app/presentation-options/default-option/pages/login/login.component.scss
index 7e84dfd..a109a94 100644
--- a/angular/src/app/presentation-options/default-option/pages/login/login.component.scss
+++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.scss
@@ -1,5 +1,4 @@
:host {
- padding-top: 48px;
display: flex;
flex-direction: column;
align-items: center;
diff --git a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html
index 88bb56c..9850f25 100644
--- a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html
+++ b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html
@@ -1,105 +1,105 @@
-
-
-
- Ваш текущий уровень {{ authService.userInfo?.customer_level }},
- поэтому вам начисляется {{ authService.currentLvlPeriod.percent }}% от суммы покупки.
-
-
- Смена уровня произойдет в начале следующего квартала,
- {{ authService.purchaseData.currentPeriod[1]
- .locale("ru")
- .format("DD.MM.YY") }}.
-
-
-
-
- Начисление Бонусных баллов происходит по дифференцированной шкале в
- зависимости от уровня:
-
+
+
+
+ Ваш текущий уровень {{ authService.userInfo?.current_level_and_cashback?.current_level ?? '--' }},
+ поэтому вам начисляется {{ authService.currentLvlPeriod.percent }}% от суммы покупки.
+
+
+ Смена уровня произойдет в начале следующего квартала,
+ {{ authService.currentPeriod[1]
+ .locale("ru")
+ .format("DD.MM.YY") }}.
+
+
+
+
+ Начисление Бонусных баллов происходит по дифференцированной шкале в
+ зависимости от уровня:
+
+
+
+
+
+ Уровень {{ index + 1 }}
+
+ Сумма покупок за прошлый квартал {{ item.start }}-{{ item.end }}
+ руб.
+
+ Начисляемый бонус {{ item.percent }}% от суммы покупки
+
+
+
+
+
+ Уровень {{ index + 1 }}
+ Сумма покупок за прошлый квартал — от {{ item.start }} руб.
+ Начисляемый бонус, в % от суммы покупки - {{ item.percent }}%
+
+
+
+
+
+
+
+ Участник может использовать Бонусы для «оплаты» до 100% стоимости любой
+ покупки.
+
+
+ Списание Бонусов происходит из расчета 1:1 (один Бонус дает скидку 1
+ российский рубль / 1 тенге / 1 белорусский рубль. Скидка, предоставляемая
+ Участнику при списании Бонусов, уменьшает цену товаров в заказе в
+ соответствии с условиями ПЛ.
+
+
+ Для списания Бонусов Участник должен попросить об этом в кофе-баре сети
+ «COFFEE LIKE» кассира до момента пробития фискального чека, после чего им
+ будет проверена возможность списания Бонусов.
+
+
+ Для всех Участников возможно списание без использования мобильного
+ приложения.
+
+ Полученные Бонусы не подлежат обмену на денежные средства.
+
+
+
+ Начисленные на счет бонусы сгорают по прошествии 90 дней с момента
+ совершения последней покупки с начислением или списанием бонусов.
+
-
-
- Уровень {{ index + 1 }}
-
- Сумма покупок за прошлый квартал {{ item.start }}-{{ item.end }}
- руб.
-
- Начисляемый бонус {{ item.percent }}% от суммы покупки
+ Возврат покупки, за которую бонусы были начислены:
+
+ В случае, если бонусов на счету достаточно для списания, бонусы
+ списываются в полном ранее начисленном за возвращаемый товар объеме.
+
+
+ В случае, если бонусов на счету недостаточно, формируется минусовой
+ баланс.
+
-
-
-
+
- Уровень {{ index + 1 }}
- Сумма покупок за прошлый квартал — от {{ item.start }} руб.
- Начисляемый бонус, в % от суммы покупки - {{ item.percent }}%
+ Возврат покупки, которая была оплачена бонусами:
+
+ В случае предъявления Участником кассового или товарного чека, сумма
+ бонусов, списанная для оплаты возвращаемого товара, зачисляется на счет
+ участника.
+
+
+ В случае возврата товара с применением оплаты бонусами, клиенту
+ возвращается денежная сумма в размере, внесенном Участником в оплату
+ товара при покупке, за вычетом суммы, оплаченной бонусами.
+
-
-
-
+
-
-
- Участник может использовать Бонусы для «оплаты» до 100% стоимости любой
- покупки.
-
-
- Списание Бонусов происходит из расчета 1:1 (один Бонус дает скидку 1
- российский рубль / 1 тенге / 1 белорусский рубль. Скидка, предоставляемая
- Участнику при списании Бонусов, уменьшает цену товаров в заказе в
- соответствии с условиями ПЛ.
-
-
- Для списания Бонусов Участник должен попросить об этом в кофе-баре сети
- «COFFEE LIKE» кассира до момента пробития фискального чека, после чего им
- будет проверена возможность списания Бонусов.
-
-
- Для всех Участников возможно списание без использования мобильного
- приложения.
-
- Полученные Бонусы не подлежат обмену на денежные средства.
-
-
-
- Начисленные на счет бонусы сгорают по прошествии 90 дней с момента
- совершения последней покупки с начислением или списанием бонусов.
-
+
-
- Возврат покупки, за которую бонусы были начислены:
-
- В случае, если бонусов на счету достаточно для списания, бонусы
- списываются в полном ранее начисленном за возвращаемый товар объеме.
-
-
- В случае, если бонусов на счету недостаточно, формируется минусовой
- баланс.
-
-
-
-
- Возврат покупки, которая была оплачена бонусами:
-
- В случае предъявления Участником кассового или товарного чека, сумма
- бонусов, списанная для оплаты возвращаемого товара, зачисляется на счет
- участника.
-
-
- В случае возврата товара с применением оплаты бонусами, клиенту
- возвращается денежная сумма в размере, внесенном Участником в оплату
- товара при покупке, за вычетом суммы, оплаченной бонусами.
-
-
-
-
-
-
-
+
diff --git a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.scss b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.scss
index d5a5c6d..531bfda 100644
--- a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.scss
+++ b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.scss
@@ -1,3 +1,4 @@
.loyality-program {
-
+ max-width: 600px;
+ margin: 0 auto;
}
diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts
index e30bd62..fb36b38 100644
--- a/angular/src/app/services/auth.service.ts
+++ b/angular/src/app/services/auth.service.ts
@@ -4,34 +4,25 @@ import { WpJsonService } from './wp-json.service';
import { environment } from 'src/environments/environment';
import { JsonrpcService, RpcService } from './jsonrpc.service';
import { MessageService } from 'primeng/api';
-import { UserInfo, Purchase, lvlPeriod, UserInfoWalletBalance, ResponseError } from '../interface/data';
+import { UserInfo, lvlPeriod, UserInfoWalletBalance, Moment } from '../interface/data';
import { lvlPeriods } from 'src/app/app.constants';
-import moment, { Moment } from 'moment-timezone';
+import moment from 'moment-timezone';
import { Router } from '@angular/router';
-export interface IPurchaseData {
- currentPeriod: Moment[];
- lastPeriod: Moment[];
- currentAmount?: number;
- lastPurchase?: Purchase;
-}
-
@Injectable({
providedIn: 'root',
})
export class AuthService {
- public purchaseData: IPurchaseData = {
- currentPeriod: [],
- lastPeriod: [],
- lastPurchase: undefined,
- };
+ lastPeriod: Moment[] = [];
+ currentPeriod: Moment[] = [];
userInfo?: UserInfo;
loading: boolean = false;
error: any;
timeLeft: number = 0;
get currentLvlPeriod(): lvlPeriod {
- return lvlPeriods[this.userInfo ? this.userInfo.customer_level - 1 : 0];
+ return lvlPeriods[
+ this.userInfo?.current_level_and_cashback ? this.userInfo?.current_level_and_cashback.current_level - 1 : 0];
}
constructor(
@@ -90,13 +81,14 @@ export class AuthService {
this.userInfo = value.customer_info;
this.cookiesService.setCookie('phone-number', this.userInfo!.phone?.slice(2));
-
- this.getLastPurchase();
}
},
error: (e) => {
this.error = e;
},
+ complete: () => {
+ this.loading = false;
+ }
});
}
@@ -234,31 +226,18 @@ export class AuthService {
for (let i = 0; i < 4; i++) {
if (moment().isBetween(quarters[i][0], quarters[i][1])) {
- this.purchaseData.lastPeriod = quarters[i - 1];
- this.purchaseData.currentPeriod = quarters[i];
+ this.lastPeriod = quarters[i - 1];
+ this.currentPeriod = quarters[i];
}
}
}
getNextLevel(): lvlPeriod {
- if (this.userInfo?.customer_level === lvlPeriods.length) {
- return lvlPeriods[lvlPeriods.length - 1];
+ if (this.userInfo?.next_level.next_level) {
+ return lvlPeriods[this.userInfo.next_level.next_level];
}
- return this.userInfo && lvlPeriods[this.userInfo?.customer_level] || lvlPeriods[0];
- }
- getLastPurchase() {
- this.loading = true;
- if (this.userInfo) {
- this.wpJsonService.getLastPurchase(environment.systemId, this.token!).subscribe({
- next: (res) => {
- this.purchaseData.lastPurchase = res[this.userInfo!.id][0];
- },
- complete: () => {
- this.loading = false;
- },
- });
- }
+ return lvlPeriods[0];
}
getBalanceAmount(loyaltyPrograms: UserInfoWalletBalance[]) {
From 46bd1e6d2a0a9dd249c96cefc037248ce4d49e1e Mon Sep 17 00:00:00 2001
From: nikolay
Date: Mon, 3 Jul 2023 12:24:38 +0400
Subject: [PATCH 03/28] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?=
=?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?=
=?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?=
=?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?=
=?UTF-8?q?=20last=20purchase=20date=20format?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/last-order/last-order.component.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
index d202898..c64e149 100644
--- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
+++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
@@ -1,7 +1,7 @@
Ваш предыдущий заказ
Дата:
- {{(lastOrder?.last_purchase_date | date:'dd.MM.yyyyг.') || 'Данные не найдены'}}
+ {{(lastOrder?.last_purchase_date | date:'MM.dd.yyyyг.') || 'Данные не найдены'}}
Date: Mon, 3 Jul 2023 15:56:08 +0400
Subject: [PATCH 04/28] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?=
=?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?=
=?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?=
=?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?=
=?UTF-8?q?=20last=20purchase=20date=20format?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/last-order/last-order.component.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
index c64e149..ebf8614 100644
--- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
+++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
@@ -1,7 +1,7 @@
Ваш предыдущий заказ
Дата:
- {{(lastOrder?.last_purchase_date | date:'MM.dd.yyyyг.') || 'Данные не найдены'}}
+ {{(lastOrder?.last_purchase_date) || 'Данные не найдены'}}
Date: Tue, 4 Jul 2023 15:53:49 +0400
Subject: [PATCH 05/28] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?=
=?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?=
=?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?=
=?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20some?=
=?UTF-8?q?=20fixes?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../last-order/last-order.component.html | 33 ++++++++-----------
.../guest-card/guest-card.component.html | 33 +++++++------------
angular/src/app/services/auth.service.ts | 10 +-----
3 files changed, 27 insertions(+), 49 deletions(-)
diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
index ebf8614..76c943b 100644
--- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
+++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
@@ -1,25 +1,20 @@
Ваш предыдущий заказ
-
Дата:
- {{(lastOrder?.last_purchase_date) || 'Данные не найдены'}}
-
-
-
-
-
На сумму:
- {{lastOrder ? lastOrder.last_purchase_sum + ' ₽' : 'Данные не найдены'}}
-
-
-
-
+
+ Дата:
+ {{lastOrder!.last_purchase_date}}
+
+ На сумму:
+ {{lastOrder?.last_purchase_sum}}
+
+
+
+
+ Данные не найдены
+
+
-
-
-
+
Оценить заказ
diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html
index deb9226..e593ae2 100644
--- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html
+++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html
@@ -20,28 +20,19 @@
>
-
-
- Осталось купить на сумму
- {{
- authService.userInfo.next_level.sum_for_next_level
+
+ Осталось купить на сумму
+ {{
+ authService.userInfo.next_level.sum_for_next_level
}}
- рублей, тогда кэшбек будет
- {{ authService.getNextLevel().percent }}%
- с
- {{
- authService.currentPeriod[1]
- .locale("ru")
- .format("D MMMM")
- }}
-
-
- У Вас последний уровень бонусной программы. Процент начисляемых
- бонусов:
- {{ authService.currentLvlPeriod.percent }}%
-
+ рублей, тогда кэшбек будет
+ {{ authService.userInfo.next_level.cashback }}%
+ с
+ {{
+ authService.currentPeriod[1]
+ .locale("ru")
+ .format("D MMMM")
+ }}
diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts
index fb36b38..71e2c28 100644
--- a/angular/src/app/services/auth.service.ts
+++ b/angular/src/app/services/auth.service.ts
@@ -60,7 +60,7 @@ export class AuthService {
)
.subscribe({
next: (value) => {
- if (value && value.customer_info && value.customer_info.errorCode === 'Customer_CustomerNotFound') {
+ if (value && value.error && value.error.code === 11) {
this.wpJsonService.newCustomer(
environment.systemId,
token,
@@ -232,14 +232,6 @@ export class AuthService {
}
}
- getNextLevel(): lvlPeriod {
- if (this.userInfo?.next_level.next_level) {
- return lvlPeriods[this.userInfo.next_level.next_level];
- }
-
- return lvlPeriods[0];
- }
-
getBalanceAmount(loyaltyPrograms: UserInfoWalletBalance[]) {
return (loyaltyPrograms || []).reduce((accumulator, currentValue) => {
if (currentValue.wallet.name !== 'Федеральная программа лояльности') {
From 50333514af737c351558d4480f917f1c0f811291 Mon Sep 17 00:00:00 2001
From: nikolay
Date: Thu, 6 Jul 2023 10:40:28 +0400
Subject: [PATCH 06/28] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?=
=?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?=
=?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?=
=?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20rever?=
=?UTF-8?q?t=20banner?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/last-order/last-order.component.html | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
index 76c943b..126e86d 100644
--- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
+++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
@@ -14,7 +14,9 @@
-
+
+
+
Оценить заказ
From d2669236ec3a0bd08508361778eab47a0a2ab983 Mon Sep 17 00:00:00 2001
From: nikolay
Date: Thu, 6 Jul 2023 13:22:43 +0400
Subject: [PATCH 07/28] return ruble sign in last order price
---
.../components/last-order/last-order.component.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
index 126e86d..0122aa8 100644
--- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
+++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
@@ -5,7 +5,7 @@
{{lastOrder!.last_purchase_date}}
На сумму:
- {{lastOrder?.last_purchase_sum}}
+ {{lastOrder?.last_purchase_sum}}₽
From ea5b07964d0a410491851953f3c76094ae4d1eee Mon Sep 17 00:00:00 2001
From: nikolay
Date: Tue, 11 Jul 2023 12:18:15 +0400
Subject: [PATCH 08/28] =?UTF-8?q?dev=20#14716=20=D0=9E=D1=82=D0=BE=D0=B1?=
=?UTF-8?q?=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=20=D0=B8?=
=?UTF-8?q?=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9=D1=81=D0=B5=20=D0=BE?=
=?UTF-8?q?=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D1=81=20=D0=B1=D0=B5=D0=BA?=
=?UTF-8?q?=D0=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../last-order/last-order.component.html | 4 +-
.../last-order/last-order.component.scss | 89 +++++++++---------
.../guest-card/guest-card.component.html | 56 +++++++----
.../pages/guest-card/guest-card.component.ts | 3 +
angular/src/app/services/auth.service.ts | 9 +-
angular/src/assets/broken.jpg | Bin 0 -> 20721 bytes
6 files changed, 92 insertions(+), 69 deletions(-)
create mode 100644 angular/src/assets/broken.jpg
diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
index 0122aa8..0256b05 100644
--- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
+++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html
@@ -1,6 +1,6 @@
-Ваш предыдущий заказ
+ Ваш предыдущий заказ
Дата:
{{lastOrder!.last_purchase_date}}
@@ -10,7 +10,7 @@
- Данные не найдены
+ Покупок за последние пол года не было
diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.scss b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.scss
index d63ac59..17a71b3 100644
--- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.scss
+++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.scss
@@ -1,51 +1,50 @@
:host {
- padding: 24px 16px 0px;
+ padding: 24px 16px 0px;
- & > h2 {
- font-style: normal;
- font-weight: 700;
- font-size: 15px;
- line-height: 20px;
- letter-spacing: -0.24px;
- }
-
- & > .info-order {
- font-style: normal;
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- span {
- color: var(--text-color_1);
+ & > .info-order {
+ font-style: normal;
+ font-weight: 400;
+ font-size: 12px;
+ line-height: 16px;
+ h2 {
+ font-style: normal;
+ font-weight: 700;
+ font-size: 15px;
+ line-height: 20px;
+ letter-spacing: -0.24px;
+ }
+ span {
+ color: var(--text-color_1);
+ }
+ .flex {
+ display: flex;
+ align-items: center;
+ flex-direction: row;
+ gap: 8px;
+ }
}
- .flex {
- display: flex;
- align-items: center;
- flex-direction: row;
- gap: 8px;
+
+ .evaluate-order {
+ margin: 24px 0;
+ width: 100%;
+ padding: 12px;
+ text-align: center;
+ border: 2px solid var(--button-color);
+ border-radius: 6px;
+ font-style: normal;
+ font-weight: 700;
+ font-size: 17px;
+ line-height: 22px;
+ letter-spacing: -0.408px;
+ background-color: transparent;
+ color: var(--button-color);
}
- }
- .evaluate-order {
- margin: 24px 0;
- width: 100%;
- padding: 12px;
- text-align: center;
- border: 2px solid var(--button-color);
- border-radius: 6px;
- font-style: normal;
- font-weight: 700;
- font-size: 17px;
- line-height: 22px;
- letter-spacing: -0.408px;
- background-color: transparent;
- color: var(--button-color);
- }
-
- .info {
- font-style: normal;
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- color: var(--text-color_1);
- }
+ .info {
+ font-style: normal;
+ font-weight: 400;
+ font-size: 12px;
+ line-height: 16px;
+ color: var(--text-color_1);
+ }
}
diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html
index e593ae2..c893901 100644
--- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html
+++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html
@@ -3,17 +3,24 @@
-
Уровень {{ authService.userInfo.current_level_and_cashback?.current_level ?? '--' }}
-
Кэшбек {{ authService.currentLvlPeriod.percent }}%
+
Уровень {{ authService.error ? '--' : authService.userInfo.current_level_and_cashback?.current_level }}
+
Кэшбек {{ authService.error ? '--' : authService.currentLvlPeriod.percent }}%
-
- {{ Math.floor(authService.userInfo.walletBalances) }}
- бонусов
-
+
+
+ Отрицательный баланс бонусов, свяжитесь с техподдержкой
+
+
+
= 0">
+
+ {{ authService.error ? '--' : Math.floor(authService.userInfo.walletBalances) }}
+ бонусов
+
+
Осталось купить на сумму
{{
- authService.userInfo.next_level.sum_for_next_level
+ authService.error ? '--' : authService.userInfo.next_level.sum_for_next_level
}}
рублей, тогда кэшбек будет
- {{ authService.userInfo.next_level.cashback }}%
+ {{ authService.error ? '--' : authService.userInfo.next_level.cashback}}%
с
{{
authService.currentPeriod[1]
@@ -35,15 +42,28 @@
}}
-
-
-
Подробнее о правилах
- Программы лояльности
+
+
+
+
+
+ Подробнее о правилах
+
+ Программы лояльности
+
+
+
+
+
+ Упс, что-то пошло не так..
+ Мы уже работаем над этой проблемой.
+ Попробуйте обновить страницу или зайти попозже.
+ Приносим извинения за неудобства.
+
+
diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts
index 9f34845..ee3ac2b 100644
--- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts
+++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts
@@ -17,6 +17,7 @@ export class GuestCardComponent implements OnInit {
private isQrCodeClicked: boolean = false;
public Math: Math = Math;
public showBack: boolean = false;
+ public phone?: string;
constructor(
private _bottomSheet: MatBottomSheet,
@@ -29,6 +30,8 @@ export class GuestCardComponent implements OnInit {
ngOnInit(): void {
this.showBack = getTypeDevice() === DeviceType.android;
+ this.phone = this.cookiesService.getItem('phone-number') || this.authService.userInfo?.phone;
+
this.requestPermission();
}
diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts
index 71e2c28..389418e 100644
--- a/angular/src/app/services/auth.service.ts
+++ b/angular/src/app/services/auth.service.ts
@@ -17,7 +17,7 @@ export class AuthService {
currentPeriod: Moment[] = [];
userInfo?: UserInfo;
loading: boolean = false;
- error: any;
+ error?: any;
timeLeft: number = 0;
get currentLvlPeriod(): lvlPeriod {
@@ -50,6 +50,7 @@ export class AuthService {
return;
}
+ this.error = null;
this.loading = true;
this.wpJsonService
@@ -60,6 +61,7 @@ export class AuthService {
)
.subscribe({
next: (value) => {
+ this.userInfo = value.customer_info;
if (value && value.error && value.error.code === 11) {
this.wpJsonService.newCustomer(
environment.systemId,
@@ -72,15 +74,14 @@ export class AuthService {
}
})
} else if (value && value.error && value.error.code > 1) {
+ this.error = value.error;
this.messageService.clear();
this.messageService.add({
severity: 'error',
summary: 'Произошла ошибка! Попробуйте позже',
});
} else if (value && value.customer_info) {
- this.userInfo = value.customer_info;
-
- this.cookiesService.setCookie('phone-number', this.userInfo!.phone?.slice(2));
+ this.cookiesService.setCookie('phone-number', this.userInfo!.phone);
}
},
error: (e) => {
diff --git a/angular/src/assets/broken.jpg b/angular/src/assets/broken.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7f835e5b57145c4ea93649f1118590e0369f9f89
GIT binary patch
literal 20721
zcmb5VRahKN*9AJb1-Ibtl9%8zKyY_wfZ*=#gg|h2*TG!|m*DR1PH=ZSeE-Ec*JpR#
zRX??N*Hdd-t^Qd0*aBe4NJvWnprD`tKR+M9$0|S+01E^2zX1ya3kM4e2ak*Z|0$?Q
z$cV`3s2CXNsOV^z*k5rlvGB3b&~b@z@d*fsh=?$7NXSSC$-WX25&mxxC|Ec+csTek
z2nb&YG0`yz|9{IzHvkh6iUSG&14Rjd#)N{wg!Rfl
@0f8kJmkISq5OEtZHDT1Ja
zi^t9(>U8z70{HUzHPDzam;fO_jnzdP1(g~|F
z*k~yBv?=j6*pa961Ay-8>GVw5={WdURgD)5;WiDmfxEjBs^c!qi-vNyQj_HwV*TpG
zl15Y7f7zRye8AS{K^EO9BNO8PUsl=Q?$r4nY^LRch(`~3WGpPhc7@gx>8q_9ozM-
zIR&$iN02V)1He~3Z^5qdI~9Bqkv)|qWF%eIrIQ6yO@Q)kN2=FK=W5P3P8>%)9Y-8T
zS(;ko;_C>V(IS~nP$$Q?gmF@72lT;-hD6P8)+Pj?%xG;22XE9+4OOCvN&+g&J5Q)E
zy{q-5Z~os1<4H2_TjnL#0+D_5mQ_&f>|=F=?MQ~tgWPDwGl~51?vz=HNqmYGam;1=
z0swU8B^ng3UW?T6r+7%fHY(%$@IDQEGofqo4}ev5-%L7J?dDg25FXL)1G3_pwMmp+
zEQ0>TvQRyFOi#()_OU1GI*ekjrrZuP)w_uo&fsf!{Rf~d=S&?`{H5N_tMq-|U{|*K
zdh6nKDCT+b15oKvtxHQbt&=8sA*c>QBP`rpUcE*sh?z!z&2gDjptJZvmQMaM%z0d4
zHM$(Zcww~5~D&SdPB2X&mWPT0?pLIWXp%c4SA
z97NloM%==)4HYCIY*}V68AE-;_O9vRQ^ojSM6(_kc^4(GnDVkL{CmznT+gaa=YNm~
z?~o6C05t8N^P4et-T&LXvzGO5(5H3eH|pTEbGDzZ4B}Z9>O;Z-ckVw;@N)FGD$*NR
zAsaWS)b608S~)89bN#A(LSIJLFcOK-{(9n$*R(EK^;JRC<^v$xD7D&QTgW3w!@uy`
zxN}q17gFw~s>44)W!{x%z$k1xAJ-&>-P0BLXQ0x!5B&*NNV%7V>ej#{WwxC`TVR{f
z;sd}XscG<5)>+*)P=PHai%Nr9NW-uP*aP53*gyvAd#y-15^G6fp)r^iOp5X(btkiN
zsMT#vjcrUl>qRJg9qy+kzH&OQRd{#Iw}G6FC$ZiG1>{+2MxDG*yhJl)wO
zUB~`Z%iw`wwBYJZSMJKCyb~J#&8}%z{YKyXQu|C}?k*fv@`dORR$S7Wu_eIW_i|1?U6g5%S&`2RzvvN%z=G-Wt_VLW|-
zu{iZ7ZdGbJ!f&zQ<^yMaI@$wgsASwi74t6Q_iW`
z^}NH5$FzrW&KMnJ?hIK=YD%pHC%-u~aiu<3s3gvKB6v~tA!Nytum4=jI3kxdk`d5x
zV5~<#Tc3l%|MESsI7^(WfUanFWT;OKB5}(!!9Nr~1+}=j*|IYnHw|WR)01lA@F}xV?4iL@s|W
zn^OcwLC)%-o5WSNBd3d*j0pSCX*anf>TBTxY3RlpR!r6!Dn*F29f(&7?Y|e9bu{XS
z!tmX2p1j9OcH;sxOtR2b=l9L?lQKp&lnc84DG%m!`uw^^&pP^Z4$Z_C#4v)zO)XL8
z!shxdz}jq_gqgRo#at{<;rDTi^KYWmM=`{VLQ2h_z{EZIH<+zK=nBH`p*oJP`lUO91<{5R%!x7)o;c#xAwgF
zsO6LLc@$;Un$E-N^OF`+{&yt3f}(~Ve%;Ti;>?J$Bp;YqIRDxch5lZ^5ER_mnXnOSwtlmt=teJq_}lOeJ~c>JZqPhfxAQVS)69}PGS_{KaBw9
z#Y=Wr6XE>A9O~eTAk0qyF0(+NuSQt<*wW|eGboddT1^t5ZUbQT%xQq#G6s(eknkHO
z|2)2B6T1l^^%T|%K`Rg1u_PM0`-cf^WGfDJdI^hFy3`a#V{&9sxNf{g6KJ1d6OivRRs9A#S3`%f&qMgJU>^dl*
zaF_D+>(oYkRoMcHy!WK#Bl6$V)h(v&rx3=tIFdEln1IHRN!MF%B$sHxaI!M?X&BfJ
zd}#HPFJ6$5Q%xxmL_sQ}vWj%>?9rL_zdQ|#YwkF$SbNlbm2X-Xi!zqO)!ZE!5bgB)
zM7d%=6192rF|T+wr$O}(K+=k+9}O%4@RHARlCg`duj^;k+e>|Mk44{B27dczL~u8R<{
z-+jkjp?6RP7q<@xUz0hO_sNP8CoYI=fHK7cWpW(gsK=b#*W&x%Mmg~-_I79x!W4%M
z>vxb}_ak?&oM*glFu^i9DSVnp@+T5EI&`5LU<0t?Y5-~on%|7pqn{IGw*5R=USfI6
zIwPp(CY|SUkHd5&*$F0MCYe?Z{XrUVNDF!s!#g%)>lED5`$MbdmJ|kw%F3Q$~p|y2x10G@V;|gRkz=#
zsm`c1);q8o&u;1uu=jg}V3eb5sLGn`5cIcwy42#TE#gQrXiBD4X9TVTF|cb>8b@I0*+PzCV7YWpEv;rVfSN<7`U_EL8R7dX`EWs$h?%te=;a
zSF-CbWNFtOsVB`|v((Ow4;k2k{;ZAo9ubF}@vB{Nj8Ztak4&AChjMmG%e^k1ZGIZeQRZ`hyPDA1yP1BBcZn*D{V@8Jtqqy;B;r?>2DtZ9chP&=9_f}UrQ+l
z#dr}FL7bsxX{#^1SSIDcMM@y;OPDN8A^OCbwJqy%Dy)CDddd`+C-G
zRrny?@cZO^zu69#e7B9B6JpqbXztS&Il;0xVK2h1Q(B^Z}5xaNzFWY_jS&sLAqd
zKI1t#MzpPw)=7d4!#KHD%cxo_{7l80{u#7&*HYjqbh>i+&iJGW(^JM%fN#o#(B}#n
zw|IrhpJF^F`XOfm6a;IuCupgs?cww8{Pj?ay%0bC7ma9wCJiUN09mza(PORDcaq2m
zErJrGhXVbmVimUr9&^qEMCS1M(8^df&f_+@F**Wcx@W&3)Dp+gLxfkuQb>x90Y*56#BvwsqDdLkUQ);A||>Rx$ss7K@0Bjwg^Rgt>3
zia}es#Ypar*$E
znt8Dq3eoJwf7gzBcXg$~Y;G&~Oy)gi%63xjB2;si&Z@}bDJ$~q+)k(XTMyeG)JK|n
z%vO;?;|N7DQ$=(w8{BBfZ2;9JkH!cefRsxOk*nu=?F&J&oy{N9(DM`4R-=PG;|S*+
z!{l~(>VwMmo8L_8P-J$ZuszOv_!awRW0b$M#TZYrBsq-uAEc4IWItEonEyci04T#c
zlGp|m+owr}-H`c8)!MM`CJnugli;Y4WyUs~CcbpmR{Kz)dNXBu?e5klKVqo0|=sa0;q+T)snT2&%0s&PVbt}*?Rc^AOoX+;`z8D>B`YOg?#`L
zf#U|~<(H+JYEFu#hM=lgn;L^0x8(j#6x0+F-v?-n6-iHJekk>Wrz3H8%GM6!sWAg9k*cNlLR{WxtP+M{5h}xQeU0URYP<}ms
zV{f*b+nYZVk1G1gIZ5tcpq3m@7&J2ftc|?)>oJG%mlxa7T7?0QKkYE|`fyz_&`r0R
zEK}C%go1AD98BiRQ2Fo@0_G~y+RPKk-fQwC=FAW(Z!`H7@1Mik
zo21Q5qA+u5RCgm+;CmN5WF)3tPhwA2lstK&Qz$BnW<6!qh%UWZ1d_@sRJ|}W(&vZb
zIfXMt9h)1@GVPzCwioFJ;~M)h01G{-or`j)sPH{i7>>YYZdw^>qE-e)|EUVGg*30T
z%@l_|poVN%*%OK7=Ks;}AYVYS+x|b*qQ;s_eS&JqwgR
z{LrN)XYmFuFn$lZeNMQ#zRXn;|29wq$zK;l-R{zcpQkAUc4mC{iYfwt>vyWIzT2+1
ziB0ug*j$mag`|r76hGfe@<1}iijvd?xjNAV80nQ!{0v3L$>P1I=i^EBG1-L{Z{e;J
z+vith1s?4{$28VMHy?&Y9FXh06U-~%yhLA;_R4E6WAKMhj(vzD>)Ng)>+M;c+QFzW
z@*48R6HZvU%r#NwYR`|g|BeH{QoCQ$Ry0!uXY{H~@H)#~gbl2Cph3vggd#M#>Xa)}
zxnP{y9S2dLKLGp`GRTH5lsITCgE9e?b6t*{)*PaETrawd%b`GEw*%YW)R|D9rDpMx
z(e>&on^Jc8Dh}MR4t9+Qf{|o;*<8)6HOkW$EVL7#j!uFoQAfUA4_zJJr
zCc&Y(qKF@99Rw_VfI9FlRW5vt%+jBv-fKbTskmIg(LIw%=K8n%05!JY`kv#k)Mqt8
zqp>+1V(^wV9hgD1*lFM`HwvQl1>w~zi-o_^@0R5&vzs$jy;;WN{#bS)aUhvp*l
zIzoHKd3cuyyn}S#u8##5f>`(EbswG}Gj6I~TZ~NMOQ4}@<)7TA*nP+EWeB#~Lu1^y
zf6}63|71wX08Rnw!D5{ge~B$bzZ84`Lg)C(3Y4cj-bV)(EkjH~Qz6a&B768Tg03rw
z3uu~*xEL1OZiB>|dTd&+=ePI)SJd|!1xl_$gtI8R?q6E{%OKa`R1Hf^u6JmAh3eYF
zji`c2+6Ui)cjKz?#L!LmSRNLmKlcS(a;^fm`tHpSg=``{HYAUC;+WP!GLyRVmx*2zTZ1GTK$>
zP)7GYVRH1YbvVJqX(=IM*%0n;@CMEA+rh5tenqi`ko8qqaAadT%SFLKYS#DJf3?M2
zaMxR6qv=oBv-D1qm*Hk>=WI5RC)IPid;$7Mmcw;TW7}LuES~_}^x)!0K(zxw&>UAdsrMAG3|Hd5Lp$yCkuEjkT()JghvEipVt#2t;-YbtyKl@cqcsQx@
zyvIDR?m`*?{Juwu8;$BE2qtejB|O)3Ud+cJS&|Xey4zh^2gI2|CV$nq<<`lcH|1{2
za6l!Y_tKFFGgu!W{(rC3Bs1>X)#t2g-c-VWl;SAP&)ILq85z#XQ!ksf#m9r*ong`h
zSx8sJ<{L3BBjgtxqw6#l+IXj;1mZwJxRn&-rDCVh-qKYJzX~6ZSr?1xMr>F@g>imw
z)Gw=;#)=a-m4b^ooguV$ssbtAlVHUoqZZ2LyJFn$7x|YQm`a{PdOv_
ze5`FWO(tX4v?|D(Z>pIoP;*g-l?4LI?1cmuKzVjT>@2|{TwDA04XZjnO&6Z)bBfXP
zutRkf9{`@t{%&@k8iNWN+Fka7pfyQ7%lbMUZF}1pP0_BaHG!5h<8vLPC;O_Q+@H9e
zN8UE*;kAq3WSPaJJToOm6U>mT;|o`8y=%}tcD3axv*%6()vG*FcVxN0IJ%>Nv}*D<
zbTG4Y;?7W;C<`xFtTtBVg>5m@Ol($div!5fgaN$B-X6=ADIR?xv}sF;>D_{ia3Y3&GE1u)PSoivMr%c8D>o~QvumdxiHCC}d3k#b**_$0
zeffqMYMw3r(FfjMF+^LR9+v9ksL=pD);1v&F|
z`?=yjFYg}AI;2{wSF*Bx+>>h_0-u6Yy_VP~^9`HdPDcP6EpSzzMbKJ0-H
zYX?|mkt}kSy<;Dl{$#$tdMV;Gd)uSkEPX2uTZh;7eIDBUHZy#zH$~rdj
z^w6CAacvQVcM+>CYb<(4kTzEO^NZbUgO~?yNj5CSjJ7gxzp-$UHm=ajuxXy3_y9;M
zME0iHVWD(Tw&h5dr4eBc_U$E1jqs~AjU9+`ZYuoNk
z_ls6Gd`rw+b4svai^$oOF#M6)tk9zPyBkp6tIAsqepU};Z)aJR5qEFj_&pQ;1c7ek
zr{UN2na}El0;BS3bi(-{pO=PVvqS8Zf#%<21n9eL@QcO`{A1M<%7}OerZ5c<8z%7lH}@=wfw))%xb7wc#SUa~?wN*Ws2^qH|CW9k&t;hmu1Z@m>o$A+cP^v0yOV%s
z0h*mv`}?3TpdQ~WZf7I8+nG(fA(EkW1#4qfIv(1LP2KOlYBi{7el^FU8(5}p#$I>~$<>=92q{auNROWDik->F({cxCUI5JP{?pW#=A
zFQ|gIc2e%Rx_YN0I(}2Qk8@=&*XrNUP4Cyeak{Cp@1$2fU+dKyshC=Cyw+X3dhHNu
z|4`kjVei$C&95+)X`4rvOXMFX1!}$Sx5u5t?p&B@q0!cFQ29jmu2FIE`6RFQo*7m^
zoh;eFv242URq8=H$S)gRoA}}Cm!PNqxo3S(j-MGJE|JLJIp4#p`N=yC%5P1>$a;^u
zbtbbl@o-*Rj-Y-7p-7+kAB-xO66BBZX}uQApT^98@<>FwmFa_KKD*>ROEve0&cXNv^%Q
z#vdP4Oe;n3@BG~iG?w+1o*Q6u%WTq-a=YB|%>LK?kh5|rud1xP({2z3k1|X(QFu!-
z8K9k+pt^kt`iEe;Uq%=k=^4VJAt`cxQ3zLweE5~L_hqnItxd$m*5g?T`q3r#%4&ZQOYcT+fmn(uA(JoDk+eN_6~;h_SZB^t~#NA`th`SP{7)OOJBcu|;4#SI0O&(C)9SEZf#zs=(1JjeN!
zcky&7TKQ7H>i0vg6VI|0OQT7fvEtT5cU#W6tnb-{|IU^6
zM%fWXjb@$Q!BE0zf@uG#a8otsr$!=V)Gh#1s?eL-SA(mX|G8Ccb3IV}T$b~x>zxkr
ziE*{0fwk{K*7gs}yMW^Wk5FoFNg>U%u(WQ+G+#gD80w^2ypL#mhk^Z(XB8g(67k2h
zr-?Kjc<*B}$;X2Nb?Anf_WaOPg$Ngc0%JO;x^+B=x}i%0>D8K=g41=~@P&uzLSdZ+
zkIJ6P0xv~_gHP&`*zK|nUUeL8I;wV1O!N>FdJyf(_2JB5QB=96YtJ|qb3_pV40~ge
zKX`>Jw%B(h5?tu7lF@XAI2#G3cQX5CXX!(o_lU&S=9hei1E(@!pSPdQ{AYig*Y@}?
zFY?|tgGcdtHxcI{7yhe(@)OD|&h)9D!N?iPEa@=8qVa*2>-8WDf?ZSmIy
zY*?*5*U=0zi0@ipC8ou_WZ|2x_Eh3Gz7}fM4`U?iTD{l6TR*}svN}Q>-2x-+iI(aJ
z?o+E<&Ai!%g&yCVCQJmrG$$*1=rT56VjjP=Ha4iglFXOsBc!wbAlv&s+~4O7bfEhH
za5fqpL%2&l7P2|fsRx*s>?m0gDN!5en2Hh$t4%9GcC7^$oU=beiJKnV;vSXv<0Xmv
zY`0&k^W|Mv;fNWf590Z`&R0^rdd_A1QNB1^$c5QB7}unGR|SC!U$6bc`jrH~ar`$e
zFv2?9tSg9#6F=V|;ks@|3%|!P*IX`IyCI{27iuXU$DKx;_z-$ZX?
z)7@#KhgCXoSTFIhB)f10G}tOoOz88sHDo0kB+1d9R37rH?~QROvWq8jv3#g+d&2w8
zG$Yrx{s1Gd!#XR2PQ_m1VYknZmCe>i%DPBe=0J)#-t9T8$oUI5A@{`DsFRhR*!%bw
z<%#Zxh>e%%o~_?UWmfbp@w}%rm6s>G%Tms7T4o!|5Tj@$Zpi?+TPBzKuAfA1Wnez;
zJlXIYZ9%``1Sf~v+B~5J7VOEW@%JpRXa1w8EWEG0L3t++1mb3V#0o>7*U;b+)AgknTOR5!~
z5NFrn10=jhx*cK$cetjt=Cp&dVw=z{VMcS?npF;EZ8j4gCD`p%
zP^`^RO#3`oM57Emi#qw1*g>9pQRL|<{8c;ZvqU37fDTh;nV}}_We6hm6SbYS#7TC|
zNpuMuOON8J_En~`(Kdtr%Af@BMBs=n?aoLpz%jqDp;Tan`>5L{N?+7jSLL$edE1*Ulv|B4Zk;a6K){drXMHF(s
z$GB(ytX$`qL+MZX0JwWf2EB|RORnqp+#I2X@$igiuthGN=_qlN-AiOQ{uS0*7FIbl
z*ue+AFd_6vT{AEb78co?*hDtTvVz(Sg1|w(|J2O}ZwGr`3Y{XCsX+$6(hmY4v8j4IvpwZ~`M90WgJCX;JBd?v;;Rn0V|A!I%d0YdwU|
zRMp*GfkK<*nHb{S-&mm+Ia@EvDieX{&crS#Z6;8S!koUh+~Gmk3tqC8WT^A1Ga|eX
z?lbsmP6O3V5_uxd;IJ=u3)%fGn@z0+GZF^u(&uGY;mN8qJlLgpvhUtL{0uJzRbY=e
zMT)-+-F~}LETtX!?$i#Tv+}*d62Z6&V%kb;9XY`gc7TVe^^apj1;PR@T(3^qvYN#@
z1ADG!0m;+W+`{zs%t?-U;G(Q(x_x=H$uZp5bCX`Sy{=m-5CIW+c{3dMYq{VKvgZ8u
zg)#T$9%KzZFYzw7%c#b{u;~LJ6U{1_<7-VaP&wH)%gWB=9=EG2O>MhnZ8CfI**!{l
zA=$M$8>qbB+Sf`jiDx0Sz0tX{ChII8FNtDn0-T`fKFm4YMJNn|n=`=kLl6fyJ7O9f
zhUxd|*~u+Nb#Y!)(QQAsxQrJ3ruh9U&Yg+3K=)@Z-Wf|1*tqeQZ^dtK9{@rdX~r+i
zxu+uXj2%SUs7EHa4{fv}Z<{>goTfSB8=J?3&qj3{3m<^Dl*un2fF@FdVATUTzipZ$
zc0Ju{K6jOc%He8c`tth#0F((<3UIG^Q%zYMcg7aCvnQ7*TGKKHaBeEE(^0_@wbC
zwUrlEC~hb@Z-m1MIHC=mTH+=poAieSpRbC`BWCk5dutwa+m>jbg38yErm1n_b{7&7
zpoom+H;AthdZtds?PHpqG*-Vdz+w*NM{Fhi=|F743&3RM88xj7LoL?cvDjv`>wM6@
zaqFrm{s$1=$%keyw%0DgP_caqD8YrpbKGyuF&g!&yJ++0+wcBS-V}38+Ab93Xp-YP
z`CK`+i)u#?XeDK7sbaI^@)^k{X)uc*hvma2yC>x)FSo*Krxj%7o`NOD3G*fmW{sBX
zLV2T&KKhQY@eegC-AmX*59#0;j$WlaW5-+_o!^PZ3JT)O@N38FC&)k`ASF
zl^x@!d20BkqshC~1~ja-|9Yp{ee6b`?BVY$Aw%NBc*TiDWT@p8GGF}>9^$Q7jnhpb#iz5f%sp28;|##B8o?Jqj
zKauFNSEEdow<@}!q>0(@X%nsQJ!L5dRnqm#2MW%1cmyilSL9B(Xy(pl)Sir3=OELG
zE1|^nIk{t>jEWOEBoep|u#4=!Cx#yQkwe+C^OJDb{??-%ondW3>O~ofaIU^7fHsSs
z>hZxh&uQG|e*4jZi&{GvR|=vK;WK(*e#5P%qMccCTUiWF)gR&eb54yF>SWVF+kYpr
zQ9Rik6>b>TiYZ21J_mol55|jFZQG=7!c=}cX8?|n^r@sMxB`|E*Q+kKpMd5EYwuwO
zTb9S8CB8MgvM4_e5Kqac<}SZx{?Hj9(;rz1id?flC^57CZSqV+V`D&=4
z^VB)dy@9Fjrhh6ElB@a#bvnD{zjcs?@`=X0?0oFN)LfhZpg2Q(YJH&Q*-ATKP`P
z^%?yBS*h!r$!Xy#Nx@T;yr{4Cu_eBrPsLC&oDV97F~yxxrrNfDu$XQqI!y3zsL3PDaExYauTMR
z6P#MRwXE*0vtH=h-1E>lt%{b*nD8iRV9q}@sZ
zMnoLbRKrEU^SeRL{Awvha<(yIgQ|lZPTc{N^|mXM;R=H+n#(HGx)kfCsg6NK=!BUh
z-BjUut=w6{s$!9yDsFO&^k;`>%5uf`TAGrgO7n*`FP3or0i0xd4(;3ly!MdleWGxF
zh$0BAe;E|>Zp(koix}Pgt%Pd@s~Asx2!OzT2|mm>Z5#`K%RHu@yQ}*CCV@#;TX+ig
z|4WAKTeUB7m~%EK)8zdt=ls>KQi&W{%Nlq%f5ygA$yCYWqkz67DRd}zHbms9?lf24
zG_q{d33J2d79Hbo;P)IQN%ma{8E4?w6DJ6DJwNmT`SZp!+31rX7cW(6M^}Q+Z2rk|
zJxcxn{L`pI7IIa`%Fpnz@u&}sgA;3*L=RmmCo-L@@H$^2ZB4azZ=@@c9IPum15tkV
zv`n}fvM+0_z>CDk9doGv_Ehn)MmUlJo|t@_1&1r7YqVM<+?elm5^(nt`DRN{M8kl2
z(gLA{Tr{OAUp#18x(O~3em>jAP;Dyk<5`<^|hBv(#gPHD%=N|V;5R~gnMI6rA_!&
z75t?(LptCq=>fBkzeO3>BnFj=W;3tgvlrC4wo%+pKyKtZF+%BSv(elOS*cVmv^DOQkm#B
zGfHnuWs(bk(`4cLeX<rudQnc%rBcd*x&O&)_?FO8SN)#a)Trwc
zrm^5Pv2m`veff|WsP`F@^q1C4xdgoCtrcIxiIm@7k&rg>Hsb5hB+H+T!_n%rRI0vX
zuIVy;0O0Xe8)Q7z=85KGM1mYcyu&u@IwDPj3pysZiIur7yx(woi8V`g>}I`teF=dd
zfKSSVwKiLy@L+*UIVyNjlVT7Vvdlm%@LFz8@0Cr3Ss4myyvkwgyu+FM$Er}P&s-CZ
zP2*NfKDeXt*N!D0LFjv{VdqU(r}XP0P4A1T;!Wf=nzcu>LP${l1yl+mXlf?5E^Y{`
zkQ(!y;Dj
zAu#ltMe8OvJLJLWKQC0yuv`5kjM6qdT_7EV^Nz8kQK(fWdC1yQQkw1)wwhSbUv;?D
zYyY%rwD}c-E7vWreW0I8dEp*dXGf<}*ZUWLw$4_%m_or6uwZ4gP6fqU^j`}6GhHHy
z_^&>nB!R&7iEWRqr=dJYdQnB~2aPM*uhL??kqZRLy(akiSlH^^);vTE&}MUzi%(k=
zkRt=FRWyy8VdT5pwROb;ABI-k?Dr9O6b6|#L4Xa@V9PY*ylLMN#yDG+gXpey_Bcbo
z=KPH^Y^O5A4s3g6CvYP18Z=0*Bwr)1w)`?$2o%`@gtPV0h+yVx@GtR2dmsMxQas%>>cJBInv{&;Z3
zxlG$|u|$Ku7m5wPwakf(L-WC=I!AJ81KWONhdHsh@^}emRK~+6xr=dRL1ZXDoPqlP
zyhDEY9<;(Rv1GS1*!!C>^%C4-7O7=rJx~9!6kLSde&IbPiLQp?o`&crNp$pmB;)&k
z7E&r1^1O5Zy@tD)eZ>KR9S&;_OAJ^>(Yl+d?TQl7jY4LAT)-DD3{tm2B`KP)G1VUQ
zJSOxnxdFHC!^d$awjOTsR33Qqs+bH>tra5F<9e*N&2mVEcPxh{pan@9)g?YT{g4W~
z{JpWI)9<>XIoUEc4I=`REXOU#t-UK-Gctf3X=9f$7!|12gK+w@)#H2LMhh2_9~=!T
zn=>Fg?4dUzOACL@wa;SO<&iMp2(D|sR+&87X^&+x;Mm`-7;BFco@sJe%Q6|G7_X}=
zmYeoZnL)NnBZ!hz92@GStmKVn6v$BblDzL&`zRgs_qlwDJf@*b9x|n&vZCClNU`v!
z!aaTTU>CXHA~xOg_I|k=@rc#&zKE+qL=to2p8C6m@d&+HZP~XQ!4?xp&-`1+JE^0U
zD`}Gj?=~kRd`bBlCha9bJ!FRUf!6l|yO#2kBzM8h$xExFUTXsv5Q}~_ACct%uOJGn
z9}n_s1s)5KtrZRwTJEt(Lbyr2%fr5ZkB9^3@h1;2VIH9SI?DlE*XtC*E+YSs_=Bw)
z)3=F;`%=8*^Jg7fzC+UO#778;4MND$%Z+2#>-n?sO;d^^`=gw^b7N0rw*XwqEw&WK
zR+=q&o-pVAyb=;`@387<(R751Lw;AwoUCK6`X|3O-*hDC80F(2X)DJ3UFUDXD_oZxZDhMMD8mhk~neGO!!JUIaYE
zPqCgNG(i_zgt`Qu+W}_MN_C&_U*_($(`3;#oi1yFU8vm;&s?0K&rp9K|6`+qeeb`4
z;d3dNkos-V*dbnk3uvaXND||8#SKN$JN4E>#YCJ~5o)9XPxj;_3V4#Rrkwi2q16-i
zR|_Y@?n<)GiQf~9;(mWbtBD@59M=@T*T&)+t~_T;CUkxB4;%^6DF*y}PO$rGw0()Q
zE(y(yd1>$AI15!(-UCDs*9vV*jY;ZqI>53M_;WS*u@)-fkiyp;{cf&ob8pdPnVJ2t
z`G@M4l3b5++knUP%A^6yFhrYnaRTr5$#n`>!pm<2CjAt;^~BG0zC&j(#|)rK)BdDV
zA5%#uA9+VH#~QX=xR^P)qXU+}XFnx_Hh+j?u#
zT0l|LZ5TvCe9sA8=1!8H#b+TTzoPo&tc{@xeQDk}Jxk`0j#u%b=JJ`j;gf636V}b=
zzzh5Z(g0w*l*;g%sL+P`cNUMcvXP)B+rU0Q%qA=)9>~M}!dNN8TFKdFS8Ku(exVzM
zO)KkoB(0yLukeXTjpSWb=FnmEn2w4jkd&M99DnD|kASws1oT+TEtjPT+
z^LMXnmTS90r>t6eVbZY2J@ybfIe+laX>kQ>QMf>|xQnFa?9a3tw{9@kr`WeiY&Gng
zlnDO$W)>ZBZVud>&4CmlUu;DYlRa0v+bX8?wyyFNj*zvTE7EOHSERK>-BW={^BxQ)
z>BAhsORJ0-U0GIHgO?ddq+#Nk#KV<|vu
zL+BX&-xDg!JRt>_N06-9tQ^}G1pF9n@oo3aPJ-MthS)%q{M8E$9wpss_b4w
zK0%(%TZgY2wCQz0?&j*rwYY|3<;w(R)}b!129AgE{UroU@W)!zuA36ni0q$_&E1qG
z5D~~Z)u_zWOt3C${LNi!@-1~?`7itQvy=*!c5GDJ4@+Uf!UvaUaQ-+Humd}R1X-bv
zp?98a88VG6UpM{gEYn)(XTs509Y<6A!QFL^(@)vdfd^>VG-|xy}
z*rs;8@<4rxLH;EKYb9C8N)=V;0$D|TlCU^mv+4L``sc}&MvFH|`fXFtTj!a|I&P5m
z{c0_j{1;~8bb4S=qRC-PdBdw*;K>nf^>WhV>DV$tf7AwPcGBjHJJh=bdX2+}NKzt7LV!&rZLV|Ah#hGycHifv77ca9MY203v3^%oW?q0>B8mM~<}ODqM0I
z8N4o%dQv28rLWadB)ZN5Mm78zD_Ml(9YV6W`w#ZG7iEkkiCG}g*1q#jqEaNs%7sNl
zVe8i@-IK1;^zQV&WCxFc`2J+x140Y3g*VqJ(r*#s!J=acnj|4Ajo~`_mH-q$P0?~a
z(02JvI*AUaFLS9rQg?HCF>d|DKBfaY{qca^yzk6bm#xjj+XU~0FghUag04~QAz^G0
z7+6ObuS;Us$3&GvR#KUm9-`fWARG$Js<8N?J*OFvy!@8FCvAPAneP$W>;S@RtE;|M
z7Wb9uwEDl_($o&6&koFVW;>>}b-S>5gb07Dx{DPQqVxrO>o(*#5T!?`oz}!xUV5}N
zRv=97WfHwLD!X=CjQCRj_dLm>b|I|f~E-%GJ-^5S>et3
ztL=xQ?>Cw2S;(;>B4BphIh{i#OA#jrV@;c}sukz9DfRY#~_TA$Nx1b7q-xD
zG}nn#9k1o6V~}`QyGy2?a@+YXSe~@n4K9fX9YX+(BOdeNc
zu!StD#}H}(LISeTv-{zqRu-0
z$2P&^-Ua4<57M-~hsRw@NAgNGE~0mb?SCsTAQgI}GSGF33yO9RgBVW5&-K;k!rPSj
z3cePu{cndgucR`0y6MkY=fY@dyE{au@*JLTRDD(~#XRZ%*)Wb8ZifA<9jvG*ciIbf
zT~`*g!&NKlbRD=NU?W^?&w{GCCTpGAjuh#JzK(x3l61YJ+5a;m{Ux^&)Q*)k47M|@
zS~x{o&`dJcT*Ax*uuhZY&Ua+Y)Ggz1`{FV+&9N{=)JW`Iw+#P$6qg^iYTO(
z=%!YV-dcxsmv4}+4_iu0f4rXRTGw_Tb~Ek09Yv>GJZM<$1a=WkOCK?Xg-xQV_Bw{l
zIxBC!;;X*2dO5Ewx}3vK=bIK{*IipIp}9nOk?bt^(0GUDb_xN8*cRve7_&$Xz>5_XQTYg(uCr
z=I3xpLhDWKw1
zM}Erh6<+d>L!5q8qj1y9y!<+N>me}is@YmSA#umu5waM!8w8+77?8&j0YAIWyUoS*?@f6>
zZ;zW>(3I@#U!Gsx!0|rts?j^GxW(1Q+cgsrk#CaQof&FWRLKo_kf0QwfT@Ednt%_I
zmdcPcYsm0+zf{DrTrpeC#7?tb;>>Ymtr5{66#{#Dr0yzX&X9)^(R{QQEw@H3j+K6{
zX^gGUf*!4kG+OO!Yo*0C3hNFz8@AfiRFw~URt0inZS8Ut=G4qO1LRYrl8wr|D^qZ|
zH4;10Wh^wyC{v3n<*-jOX;1k%tFb<5jKL+RExVOwcw_)t(Jr7GeALb~qkd^$xcwz+-WSn=8Ox8ZT7zHj%{
z)lc4PnpYX6Bz07U!YIq#(&zG!x`B8%ysCS^@iN-F7Qb~q9`jL}Lce3x;C{fMA4!D0LCVN<){}Cd1WlF9Rd3lxKOlb
zjCp;Oynub7T+u~**}kZ~aCX@7Rae!|OKBLMQ8LAY+Th$3ZgjIIWW=bUPN$NR+EP==
zHEKC?^A+-^P%Todna)RVxTK~`dyD9Ee*U>3Ug9~?rwdS0*G(a*8G}Hu^GwR(-Ibxk
z{WVx|(9Us>sxnDGoZA(|2fejZPDiB{md1nYXvkFR_;(S}0sfTvb4ah973j8>fyAcP
z-xV26!q{Yw4gj~n9Tx%4wt;;~e@3zdZd-l}qsi58_olRW4Lr#0+w``lTuAR_LC?80
zW^17vp3ZfpHojrLt1XjZWPS2ZK^#OojLMPzI`hhV-T32s-aNI$B7sCPac#-(9M?c%D3Tgy&id$9nE
zb;0DeI~reIKVqt~N)D_jwwH+r(xINAS@j*yR<)O$ZqJfO5waUp8?0b==%zEGO-
zX;*C4i4E+V#k~&rxWf2P*lJ~M)jVo;-6W;Mab1Xg1b;2XLUlCJ^h7Y?v{eJ+9!EtA
zzxpd_jqteRc>1j`sPPwV(wt|Xk_jmLss(ZMBC|BKxrydin@RdcOKE)ls4Z2Rg?qN#
zQ@k0mrL;4
zm^PNx%&(?&c@4rvOY)rd(T=p>T!c!Qu?UXZfmZ&00;~1r?I!zie&IbqPr7@%5IcaU
z=;_>E9!7{`9K>T}9Ei@Rdvps2vWh6H)t;h?D5R1o?-W-bNj2eJFxY~vt-0|g3}=(g
zF1D2e?;Fxf(oG43?wQ`X0|zjO%ZlzxZ>7f7{OOseR}|bZ+gqFNrkV_^-j1zCy&&wZ3I8|RX$ip0lGq^TJ>$O)eNiRp|wFM(5!<$Ft
z6Akc5joIsn9h)BK6IM2gnL%AXA2^;9sQQk}f-b&!;cQs(LSkLx`lbB`^OVnPqjjZt
z1gs5*ffT}B?mU*2#5z`%IrVsfAB|fKhZeBpk@m@~@Gh;Oa`mXGaHHHvlyOk^ca6e`jAxHs{$|+ul2A$zduMM{0w2
zgs#>m$3y5o^r#VA3dvP+({D~)FwIL*G8q!EyNiGh8=pAj`AAPMiuh{E!JQuC5t&e=
zGb$^|3u)$-6o*0VDIlH2Rn1NG4#0BO-j#%xaQmqoNlQOH5Ub6legsuraxS`h7~T3r
zmmbEPbD2R@n_P~59j!0=s;^RCQ71x;bB^R`jUo0{Hd+>)!KB7zrEgnMgyh1UgE*5UA1Hqs4x
z9;%{IPF+URbjw56YYPD~Kq`HK$T&Plf~hs-L@>_T#rmwyx{6vEa!Ik+qKYV|g0Bdp
zofJ~js$OW^_}0aYg6|Lk7Uwmj4#0^D1MIDJ70y&DtjAD!6m;Yy{0A!4(Oihx{?NNMQ;}lx^GEf%-MwlkqPrR>`H9q&QCx8f
z_lXWf_j(viIVJC?+6s@@E7PF4NHndqoA99GSdH6m|-|)ZUrrL`|~=EYVc~a~ZdhQTi*A2vG{^?c3#CQ@f~^Als^K=*8z{PPIC|
z(j+uKCZ0(7sO>zfwmIAv3FVSo9&NeADYpvXnE)Z)tF_Lw
z=~LPK3w_rakj=L;u`I~6%W!UkzqZSsEv}Y0K5(3v%C_BNF3XhL4@Yveysw>QLzfbM
zvJY~FVVqTh$xl#gAZ^&~{15W9+B$(Wc^$Y-u5?zCJ<)A!9vvb+`q?#bj{g9%;7`Am
z00)AsEV2j-1SoL>U0Z1la%ll6uE2$j(n70~$Zo3ZLcC21D5AchK}f7Sow6n38_=$i
zSep()3vV$Yu;Xqd_bDfl6`4gOm(Nc~uS3b0OoubA5%s3yLszXywZ~ezc!fP~mO8sg
z9vz~YzKQ;p15=t~57Y?_wU)M%>XOdLMa2X8IzImZeOtw&jBQ^#y)u0s9l>sC)h#t`
za3cD`UAeOtk%s>OA5ua#>`7N|pN947OXzyK-JRl*`l*HsYsT|!Yl17J2?$DgAzxT|
z8uRp8*JgFA07I7*ww$8V!o}5~Ht7^cRp2}q&*Qy1ZZR0R!+Ip9`c@uELxaklhEo&6
zf~~|TnOy^;cKr`xs&y5yzggX|UFF-P9m@(JFY70?AF$TCiJIWyaI$$==-ycIVi83Y
zS4p%{MHG@n6j4beQAJPm{{T;2$Q?z(=-QEOLFyp#FCYGzYFS$oZdAHzS!(4G#x-78
zKAp(PIA+{J*tP@iQ>1u!4?1{StkCSyQy$$FsLdz23H!yFsIC#IFW7oG7jonF
z{{W)rYT6%)Y2$C78s!-hVLaRHIn4_~w+4r*X-jU|1;JWQ9f`+Q(D;pviM9B8We5R*fP
zf$MLqjkl_nF&Hg%VJM=C*-*+TqKZi(wfBo$EA6^%uJ0MCkR``k5*TqirN-6>Qb_P3
ziYX+%TlzBGWney*3CFSL*4?gE!gZ=cZk|4tIyyp-uM!Js=jC5ik@%10MHG@rZET9u
zcPng^Cuf{t#3^1OBoX}SUVBfx(M1tbf6)sn#y}O%vf_#;sijjQiYTuVMHEq8HFn;r
zO@Ue>-g0=ct_Uu%w;GYZB@x_ws>rgGve-jNN)V1oNF0EoilDA1J(2$a4Y8t)&I4Po
z8;h!o4nxfW#M^361ac>C`leY0?sh|TdgFC`zaiBT?o+Be+pTM2lA{&MbR`akL!?
zTFv+3p!j(2MHM*gv%CA}$uM+}CAnHMcvjeN{$n}79c5#5`^SN+RM)db6<;W^TAvHZ
z_tFsKdlip58xz=6d5tCJT?H#bhTw{<`DLk#HTrBw1;jAYj{-`!+KMV|5h3qbBe3EPo1v$N#)OmRti)g?^_71wE9WGk0?O%zqU;1Q|^rhAz)OHGQgSdHRE
v^357#z=XQ$cUMQaA9*z(M>J7I4afjGEoPC
Date: Tue, 11 Jul 2023 13:58:33 +0400
Subject: [PATCH 09/28] =?UTF-8?q?dev=20#14717=20=D0=94=D0=BE=D0=B1=D0=B0?=
=?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C=20=D0=BC=D0=B5=D0=BD=D1=8E=20=D0=B2=20?=
=?UTF-8?q?=D0=B0=D0=BD=D0=B4=D1=80=D0=BE=D0=B4=20WPA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/navbar/navbar.component.html | 53 +++++++++++--------
.../components/navbar/navbar.component.scss | 4 +-
.../components/navbar/navbar.component.ts | 8 +--
angular/src/assets/coffee-like-logo.svg | 22 ++++++++
4 files changed, 58 insertions(+), 29 deletions(-)
create mode 100644 angular/src/assets/coffee-like-logo.svg
diff --git a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html
index 5bb96fd..17f11df 100644
--- a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html
+++ b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html
@@ -8,7 +8,7 @@