Skip to content

Commit 446cce4

Browse files
committed
add modal for buy subscription
1 parent 9716ae8 commit 446cce4

5 files changed

Lines changed: 45 additions & 23 deletions

File tree

projects/skills/src/app/subscription/subscription.component.html

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,20 @@
3737
</div>
3838
</app-modal>
3939

40+
<app-modal [open]="isSubscribedModalOpen()" (openChange)="isSubscribedModalOpen.set(false)">
41+
<div class="cancel">
42+
<i
43+
(click)="isSubscribedModalOpen.set(false)"
44+
appIcon
45+
icon="cross"
46+
class="cancel__cross"
47+
style="color: var(--black)"
48+
></i>
49+
<p class="cancel__title" style="color: var(--black)">У вас уже есть активная подписка!</p>
50+
<img alt="wave" src="assets/images/subscription/wave.svg" class="cancel__wave" />
51+
</div>
52+
</app-modal>
53+
4054
<div class="subscription__types">
4155
<div class="subscription__title">Виды подписок</div>
4256

projects/skills/src/app/subscription/subscription.component.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,16 @@ export class SubscriptionComponent implements OnInit, OnDestroy {
2727
profileService = inject(ProfileService);
2828
subscriptionService = inject(SubscriptionPlansService);
2929

30+
isSubscribedModalOpen = signal(false);
31+
3032
subscriptions = signal<SubscriptionPlan[]>([]);
3133
subscriptionData = toSignal<SubscriptionData>(
3234
this.route.data.pipe(map(r => r["subscriptionData"]))
3335
);
3436

35-
subscriptionType = signal(null);
37+
isSubscribed = toSignal<SubscriptionData>(
38+
this.route.data.pipe(map(r => r["subscriptionData"].isSubscribed))
39+
);
3640

3741
subscription: Subscription[] = [];
3842

@@ -116,8 +120,12 @@ export class SubscriptionComponent implements OnInit, OnDestroy {
116120
}
117121

118122
onBuyClick(planId: SubscriptionPlan["id"]) {
119-
this.subscriptionService.buySubscription(planId).subscribe(status => {
120-
location.href = status.confirmation.confirmationUrl;
121-
});
123+
if (!this.isSubscribed()) {
124+
this.subscriptionService.buySubscription(planId).subscribe(status => {
125+
location.href = status.confirmation.confirmationUrl;
126+
});
127+
} else {
128+
this.isSubscribedModalOpen.set(true);
129+
}
122130
}
123131
}

projects/social_platform/src/app/office/onboarding/stage-one/stage-one.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ export class OnboardingStageOneComponent implements OnInit, OnDestroy {
5757

5858
tooltipAuthText =
5959
"Дизайнер, веб-разработчик, инженер? Определяйся и пиши тем, кем хотел бы стать или уже стал P.S. Дальше можно будет изменить выбор";
60-
61-
tooltipLibText =
60+
61+
tooltipLibText =
6262
"Это наша база со всеми специальностями. Если не найдешь свою пиши в @procollab_support и мы обязательно добавим твою профессию и ты получишь +респект";
6363

6464
isHintAuthVisible = false;

projects/social_platform/src/app/office/onboarding/stage-two/stage-two.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ export class OnboardingStageTwoComponent implements OnInit, OnDestroy {
6464

6565
tooltipAuthText =
6666
"Постарайся вспомнить все, чему тебя учили и то, что ты делал (читать, считать, программировать) Постарайся не врать, но и не будь сильно критичным к себе.";
67-
68-
tooltipLibText =
67+
68+
tooltipLibText =
6969
"База с навыками, которая может пополняться благодаря тебе! Если не найдешь свой навык, смело пиши на @procollab_support и мы добавим твой уникальный навык";
7070

7171
isHintAuthVisible = false;

projects/social_platform/src/app/office/onboarding/stage-zero/stage-zero.component.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -163,28 +163,28 @@ export class OnboardingStageZeroComponent implements OnInit, OnDestroy {
163163

164164
tooltipPhotoText =
165165
"Идеальная фотография для резюме: свежая, с твоим лицом, хорошо различимым на нейтральном фоне (котиков мы конечно любим, но их не в этот раз)";
166-
167-
tooltipCityText = "Напиши город, в котором ты сейчас живешь";
168-
166+
167+
tooltipCityText = "Напиши город, в котором ты сейчас живешь";
168+
169169
tooltipEducationText =
170170
"Заполни информацию о том, что ты изучал. Даже если это трехнедельный интенсив по созданию роликов — для резюме важна каждая деталь";
171-
172-
tooltipEducationDescriptionText =
171+
172+
tooltipEducationDescriptionText =
173173
"Мат. вертикаль, прикладная информатика, биотехнологии — комментарии излишни, просто пиши!";
174-
175-
tooltipWorkText =
174+
175+
tooltipWorkText =
176176
"Укажи свой опыт. Разработка бота для школы, дизайн сайта для родительского бизнеса — любой опыт, которая оценила какая-либо организация — твой ключ к первой работе.";
177-
178-
tooltipWorkNameText =
177+
178+
tooltipWorkNameText =
179179
"Укажи название организации, которая оценивала/принимала твою работу (ту самую школу, для которой ты делал бота)";
180-
181-
tooltipWorkDescriptionText =
180+
181+
tooltipWorkDescriptionText =
182182
"В свободной форме расскажи, чем занимался в рамках рабочего опыта (смотрел рилсы, двигал пиксели, зарабатывал деньги) P.S. Шутка";
183-
184-
tooltipAchievementsText =
183+
184+
tooltipAchievementsText =
185185
"Кенгуру, медвежонок, а может победа во всероссийском акселераторе технологических проектов? Твоему будущему работодателю надо видеть, что ты самый активный!";
186-
187-
tooltipLanguageText =
186+
187+
tooltipLanguageText =
188188
"Вот и понадобились те самые много лет школьной программы английского, французского, китайского, а может и японского — рассказывай все!";
189189

190190
isHintPhotoVisible = false;

0 commit comments

Comments
 (0)