diff --git a/src/app/pages/main-page/main-page.component.scss b/src/app/pages/main-page/main-page.component.scss
index 47e3851..8747f75 100644
--- a/src/app/pages/main-page/main-page.component.scss
+++ b/src/app/pages/main-page/main-page.component.scss
@@ -1,11 +1,3 @@
-
-//.card-annonces-container {
-// display: flex; flex-wrap: wrap; justify-content: space-between
-//}
-.container {
- padding: 24px;
-}
-
.responsive-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
diff --git a/src/app/pages/vip-page/VipBuyDialog.ts b/src/app/pages/vip-page/VipBuyDialog.ts
index 6f4a054..f9dfad9 100644
--- a/src/app/pages/vip-page/VipBuyDialog.ts
+++ b/src/app/pages/vip-page/VipBuyDialog.ts
@@ -1,5 +1,5 @@
import {Component, Inject} from "@angular/core";
-import {MAT_DIALOG_DATA} from "@angular/material/dialog";
+import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog";
import {VipBuy} from "../../entities/VipBuy";
import {ActionService} from "../../services/action.service";
import {AuthService} from "../../services/auth.service";
@@ -56,6 +56,7 @@ import {AuthService} from "../../services/auth.service";
Выбери способ по душе
+
`
})
@@ -63,7 +64,8 @@ export class VipBuyDialog {
acceptRules: boolean = false;
constructor(@Inject(MAT_DIALOG_DATA) public vip:VipBuy,
private actionService: ActionService,
- private authService: AuthService) {}
+ private authService: AuthService,
+ public dialogRef: MatDialogRef) {}
goToTrade(buy_type: 'QIWI' | 'DONATIONALERTS'| 'STEAM', cost:number) {
let url = `api/profile/current/buyvip?steam64=${this.authService.steamIds?.steam64==null?'':this.authService.steamIds?.steam64}&buy_type=${buy_type}&cost=${cost}`;
diff --git a/src/app/pages/vip-page/VipFreeDialog.ts b/src/app/pages/vip-page/VipFreeDialog.ts
index adb66ec..fa12ff9 100644
--- a/src/app/pages/vip-page/VipFreeDialog.ts
+++ b/src/app/pages/vip-page/VipFreeDialog.ts
@@ -1,18 +1,63 @@
import {Component, Inject} from "@angular/core";
-import {MAT_DIALOG_DATA} from "@angular/material/dialog";
+import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog";
import {VipBuy} from "../../entities/VipBuy";
+import {AuthService} from "../../services/auth.service";
+import {VipService} from "../../services/vip.service";
@Component({
selector: "app-vip-buy-dialog",
template:`
Получение бесплатно
+
+
+
Бесплатная випка отличный способ проверить ее перед "покупкой", но стоит знать что для ее получения стоит отыграть некоторое время на наших серверах. Бесплатную випку можно получать неограниченное количество раз, но с перерывами!
+
0" [style]="{'color': text_color}">{{text}}
+
+
+
-
-
-
`
})
export class VipFreeDialog {
- constructor(@Inject(MAT_DIALOG_DATA) public vip:VipBuy) {}
+ constructor(@Inject(MAT_DIALOG_DATA) public vip:VipBuy,
+ public authService: AuthService,
+ private vipService: VipService,
+ public dialogRef: MatDialogRef) {}
+ text: string = '';
+ text_color: string = 'black';
+
+ getFreeVip() {
+ this.vipService.getFreeVip().subscribe(
+ (res) => {
+ switch (res) {
+ case 0: {
+ this.text = 'У тебя уже есть VIP права на сервере, приходи когда кончатся';
+ this.text_color = '#DDD78D';
+ //права уже есть
+ break;
+ }
+ case 1: {
+ this.text = 'Иди развлекайся браток, бесплатная випка твоя';
+ this.text_color = '#3A7D44';
+ //права выданы
+ break;
+ }
+ default: {
+ if (res > 1) {
+ //стоит подождать пока можно получить новые
+ this.text = `Чел, ты недавно уже забрал свою випку, подожди до ${new Date(new Date().getTime() + res*1000).toLocaleString()}`;
+ this.text_color = '#2B4570';
+ } else {
+ this.text = `Ты недостаточно наиграл у нас на серверах, наиграй еще ${res/60*-1} минут`;
+ this.text_color = '#7180AC';
+ }
+ }
+ }
+ }, (err) => {
+ this.text = 'Произошла ошибка, попробуй чуть позже'
+ this.text_color = 'red';
+ }
+ )
+ }
}
diff --git a/src/app/services/vip.service.ts b/src/app/services/vip.service.ts
index 08004ac..4f51ff2 100644
--- a/src/app/services/vip.service.ts
+++ b/src/app/services/vip.service.ts
@@ -13,4 +13,8 @@ export class VipService {
getVipPrices(): Observable {
return this.http.get(`api/external/vip`);
}
+
+ getFreeVip(): Observable {
+ return this.http.get(`api/profile/current/freevip`);
+ }
}