dev #14384 Правка ошибок отображения WPA КофеЛайк:

complete:
1. поменять банер на закругленный
2. добавить значок лупы для куар - как в приложении x5
3. Зеленый цвет для текста взять такой же как для вернхей панели
4. кнопку оценить так же цвет из верхней панели
5. в тексте процент бонусов и сумму покупок выделить тем же цветом что и Уровень и Кешбек около куара
6. текст сделать пошире, что бы на телефоне было 2-3 строки
This commit is contained in:
nikolay 2023-07-19 10:33:18 +04:00
parent 94b34e020e
commit 1e62141a45
8 changed files with 71 additions and 58 deletions

View File

@ -107,7 +107,7 @@ import { DirectivesModule } from './directives/directives.module';
MatSnackBarModule, MatSnackBarModule,
MatBottomSheetModule, MatBottomSheetModule,
MatProgressSpinnerModule, MatProgressSpinnerModule,
DirectivesModule DirectivesModule,
], ],
providers: [ providers: [
DialogService, DialogService,
@ -118,4 +118,4 @@ import { DirectivesModule } from './directives/directives.module';
], ],
bootstrap: [AppComponent], bootstrap: [AppComponent],
}) })
export class AppModule { } export class AppModule {}

View File

@ -0,0 +1,13 @@
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
@Pipe({
name: 'safeHtml',
})
export class SafeHtmlPipe implements PipeTransform {
constructor(private sanitizer: DomSanitizer) {}
transform(html: string) {
return this.sanitizer.bypassSecurityTrustHtml(html);
}
}

View File

@ -22,7 +22,7 @@ import { DirectivesModule } from 'src/app/directives/directives.module';
import { LoyalityProgramComponent } from './pages/loyality-program/loyality-program.component'; import { LoyalityProgramComponent } from './pages/loyality-program/loyality-program.component';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
import { ToastModule } from 'primeng/toast'; import { ToastModule } from 'primeng/toast';
import { SafeHtmlPipe } from 'src/app/pipes/safe-html.pipe';
@NgModule({ @NgModule({
declarations: [ declarations: [
@ -37,6 +37,7 @@ import { ToastModule } from 'primeng/toast';
LoginComponent, LoginComponent,
LoyalityProgramComponent, LoyalityProgramComponent,
MenuItemComponent, MenuItemComponent,
SafeHtmlPipe,
], ],
imports: [ imports: [
ToastModule, ToastModule,
@ -51,8 +52,8 @@ import { ToastModule } from 'primeng/toast';
ReactiveFormsModule, ReactiveFormsModule,
MatInputModule, MatInputModule,
DirectivesModule, DirectivesModule,
MatButtonModule MatButtonModule,
], ],
bootstrap: [IndexComponent], bootstrap: [IndexComponent],
}) })
export class DefaultOptionModule { } export class DefaultOptionModule {}

View File

@ -14,23 +14,26 @@
<ng-container *ngIf="authService.error || authService.userInfo.walletBalances >= 0"> <ng-container *ngIf="authService.error || authService.userInfo.walletBalances >= 0">
<p class="top-info__bonus"> <p class="top-info__bonus">
{{ authService.error ? '--' : Math.floor(authService.userInfo.walletBalances) }} {{ authService.error ? '--' : Math.floor(authService.userInfo.walletBalances) }}
бонусов бонусов
</p> </p>
</ng-container> </ng-container>
</div> </div>
<div class="guest-card__qr" (click)="qrCodeClick()"> <div class="guest-card__qr" (click)="qrCodeClick()">
<qr-code <div class="qr-code-wrapper">
<qr-code
[value]="phone || 'Данные не найдены'" [value]="phone || 'Данные не найдены'"
[margin]="0" [margin]="0"
[size]="qrCodeSize" [size]="qrCodeSize"
errorCorrectionLevel="H" errorCorrectionLevel="H"
></qr-code> ></qr-code>
<span class="material-icons zoom">
zoom_in
</span>
</div>
<span>Покажи бариста</span> <span>Покажи бариста</span>
</div> </div>
<div class="guest-card__user-description"> <div class="guest-card__user-description">
<p> <p [innerHtml]="getLevelDescription() | safeHtml"></p>
{{getLevelDescription()}}
</p>
</div> </div>
<ng-container *ngIf="!authService.error"> <ng-container *ngIf="!authService.error">
<span id="bonuses-condition"></span> <span id="bonuses-condition"></span>

View File

@ -1,4 +1,4 @@
:host { :host {
.guest-card { .guest-card {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -39,46 +39,42 @@
border-radius: 6px; border-radius: 6px;
align-items: center; align-items: center;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
// background-image: linear-gradient(
// #008251 33%,
// transparent 0px,
// transparent 67%,
// #008251 0px
// ),
// linear-gradient(
// 90deg,
// #008251 33%,
// transparent 0px,
// transparent 66%,
// #008251 0px
// ),
// linear-gradient(#008251 33%, transparent 0px, transparent 67%, #008251 0),
// linear-gradient(90deg, #008251 33%, transparent 0, transparent 66%, #008251 0);
// background-size: 3px 100%, 100% 3px, 3px 100%, 100% 3px;
// background-position: 0 0, 0 0, 100% 100%, 100% 100%;
// background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
cursor: pointer; cursor: pointer;
.qr-code-wrapper {
position: relative;
}
.zoom {
position: absolute;
bottom: 5px;
right: -35px;
color: var(--button-color);
}
} }
&__user-description { &__user-description {
padding: 14px 24px; padding: 14px 24px;
p { p {
width: 60%; width: 80%;
text-align: center; text-align: center;
margin: 0 auto; margin: 0 auto;
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
line-height: 19px; line-height: 19px;
letter-spacing: -0.5px; letter-spacing: -0.5px;
}
.price, #price,
.percent { .percent {
font-weight: bold; font-weight: bold;
} color: var(--button-color);
}
}
} }
&__purchases-description { &__purchases-description {

View File

@ -1,4 +1,4 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { MatBottomSheet } from '@angular/material/bottom-sheet'; import { MatBottomSheet } from '@angular/material/bottom-sheet';
import { ExitComponent } from 'src/app/components/exit/exit.component'; import { ExitComponent } from 'src/app/components/exit/exit.component';
import { CookiesService } from 'src/app/services/cookies.service'; import { CookiesService } from 'src/app/services/cookies.service';
@ -9,28 +9,28 @@ import { format } from 'src/app/utils';
const levelDescriptionsTable = [ const levelDescriptionsTable = [
[ [
'Поднимай свой уровень! Купи еще на {0}₽ и твой кешбек будет 6% с {1}!', 'Поднимай свой уровень! Купи еще на <span style="color: var(--button-color);">{0}₽</span> и твой кешбек будет <span style="color: var(--button-color);">6%</span> с {1}!',
'А ты хорош! Купи еще на {0}₽ и получай кешбек 10% с {1}', 'А ты хорош! Купи еще на <span style="color: var(--button-color);">{0}₽</span> и получай кешбек <span style="color: var(--button-color);">10%</span> с {1}',
'Ты крут! Купи еще на {0}₽ и получай максимальный кешбек 15% с {1}', 'Ты крут! Купи еще на <span style="color: var(--button-color);">{0}₽</span> и получай максимальный кешбек <span style="color: var(--button-color);">15%</span> с {1}',
'Ты сделал это! Купи на {0}₽ и сохраняй максимальный кешбек 15% с {1}', 'Ты сделал это! Купи на <span style="color: var(--button-color);">{0}₽</span> и сохраняй максимальный кешбек <span style="color: var(--button-color);">15%</span> с {1}',
], ],
[ [
'Oops! Ты оказался на 1 уровне. Купи еще на {0}₽ и твой кешбек будет 6% с {1}!', 'Oops! Ты оказался на 1 уровне. Купи еще на <span style="color: var(--button-color);">{0}₽</span> и твой кешбек будет <span style="color: var(--button-color);">6%</span> с {1}!',
'Ты можешь стать круче! Купи еще на {0}₽ и получай кешбек 10% с {1}', 'Ты можешь стать круче! Купи еще на <span style="color: var(--button-color);">{0}₽</span> и получай кешбек <span style="color: var(--button-color);">10%</span> с {1}',
'Ого! Ты уже здесь! Хочешь еще больше кешбека? Купи на {0}₽ и получай максимальный кешбек 15% с {1}', 'Ого! Ты уже здесь! Хочешь еще больше кешбека? Купи на <span style="color: var(--button-color);">{0}₽</span> и получай максимальный кешбек <span style="color: var(--button-color);">15%</span> с {1}',
'Ты потрясающий! Покупай на {0}₽ и сохраняй максимальный кешбек 15% с {1}', 'Ты потрясающий! Покупай на <span style="color: var(--button-color);">{0}₽</span> и сохраняй максимальный кешбек <span style="color: var(--button-color);">15%</span> с {1}',
], ],
[ [
'Oops! Ты оказался на 1 уровне. Купи еще на {0}₽ и твой кешбек будет 6% с {1}!', 'Oops! Ты оказался на 1 уровне. Купи еще на <span style="color: var(--button-color);">{0}₽</span> и твой кешбек будет <span style="color: var(--button-color);">6%</span> с {1}!',
'Ты вернулся на 2 уровень. Купи еще на {0}₽ и получай кешбек 10% с {1}', 'Ты вернулся на 2 уровень. Купи еще на <span style="color: var(--button-color);">{0}₽</span> и получай кешбек <span style="color: var(--button-color);">10%</span> с {1}',
'Ты почти на последнем уровне! Купи на {0}₽ и получай максимальный кешбек 15% с {1}', 'Ты почти на последнем уровне! Купи на <span style="color: var(--button-color);">{0}₽</span> и получай максимальный кешбек <span style="color: var(--button-color);">15%</span> с {1}',
'Ты лучший! Покупай на {0}₽ и сохраняй максимальный кешбек 15% с {1}', 'Ты лучший! Покупай на <span style="color: var(--button-color);">{0}₽</span> и сохраняй максимальный кешбек <span style="color: var(--button-color);">15%</span> с {1}',
], ],
[ [
'Oops! Ты оказался на 1 уровне. Купи еще на {0}₽ и твой кешбек будет 6% с {1}!', 'Oops! Ты оказался на 1 уровне. Купи еще на <span style="color: var(--button-color);">{0}₽</span> и твой кешбек будет <span style="color: var(--button-color);">6%</span> с {1}!',
'Ты вернулся на 2 уровень. Купи еще на {0}₽ и получай кешбек 10% с {1}', 'Ты вернулся на 2 уровень. Купи еще на <span style="color: var(--button-color);">{0}₽</span> и получай кешбек <span style="color: var(--button-color);">10%</span> с {1}',
'Оу! Ты оказался на 3 уровне. Купи на {0}₽ и возвращай себе максимальный кешбек 15% с {1}', 'Оу! Ты оказался на 3 уровне. Купи на <span style="color: var(--button-color);">{0}₽</span> и возвращай себе максимальный кешбек <span style="color: var(--button-color);">15%</span> с {1}',
'Ты наш герой! Покупай на {0}₽ и сохраняй максимальный кешбек 15% с {1}', 'Ты наш герой! Покупай на <span style="color: var(--button-color);">{0}₽</span> и сохраняй максимальный кешбек <span style="color: var(--button-color);">15%</span> с {1}',
], ],
]; ];

Binary file not shown.

Before

Width:  |  Height:  |  Size: 291 KiB

After

Width:  |  Height:  |  Size: 288 KiB

View File

@ -120,19 +120,19 @@ body {
--text-color: #000000; --text-color: #000000;
--text-color_1: #8d8d8d; --text-color_1: #8d8d8d;
--button-color: #28AF49 ; --button-color: #005C50;
--button-color_disabled: rgb(40, 175, 73, 0.9); --button-color_disabled: rgb(40, 175, 73, 0.9);
--button-text-color: #ffffff; --button-text-color: #ffffff;
--button-text-color_disabled: #cccccc; --button-text-color_disabled: #cccccc;
--main-color_hover: rgba(40, 175, 73, 0.6); --main-color_hover: rgba(0, 92, 80, 0.3);
} }
.mdc-text-field--outlined:not(.mdc-text-field--disabled, .mdc-text-field--invalid, .mat-focused) .mdc-notched-outline__leading, .mdc-text-field--outlined:not(.mdc-text-field--disabled, .mdc-text-field--invalid, .mat-focused) .mdc-notched-outline__leading,
.mdc-text-field--outlined:not(.mdc-text-field--disabled, .mdc-text-field--invalid, .mat-focused) .mdc-notched-outline__notch, .mdc-text-field--outlined:not(.mdc-text-field--disabled, .mdc-text-field--invalid, .mat-focused) .mdc-notched-outline__notch,
.mdc-text-field--outlined:not(.mdc-text-field--disabled, .mdc-text-field--invalid, .mat-focused) .mdc-notched-outline__trailing { .mdc-text-field--outlined:not(.mdc-text-field--disabled, .mdc-text-field--invalid, .mat-focused) .mdc-notched-outline__trailing {
border-color: var(--main-color_hover) !important; border-color: var(--main-color_2) !important;
} }
.mat-mdc-outlined-button:not(:disabled) { .mat-mdc-outlined-button:not(:disabled) {
@ -144,7 +144,7 @@ body {
} }
.mdc-text-field:not(.mdc-text-field--disabled, .mdc-text-field--invalid) .mdc-floating-label { .mdc-text-field:not(.mdc-text-field--disabled, .mdc-text-field--invalid) .mdc-floating-label {
color: var(--main-color_hover); color: var(--main-color_2);
} }
.mdc-text-field span { .mdc-text-field span {