Skip to content

Commit 0a90ae1

Browse files
committed
fix skip registration func issues
1 parent 4f26f7c commit 0a90ae1

7 files changed

Lines changed: 85 additions & 27 deletions

File tree

projects/skills/src/app/trajectories/track-career/detail/info/info.component.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,8 @@
287287
gap: 20px;
288288
margin-top: 10px;
289289

290-
&__future-container, &__personal-container {
290+
&__future-container,
291+
&__personal-container {
291292
display: none;
292293
}
293294

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/** @format */
22

33
import { ChangeDetectorRef, Component, OnDestroy, OnInit, signal } from "@angular/core";
4-
import { NonNullableFormBuilder, ReactiveFormsModule, Validators } from "@angular/forms";
4+
import { NonNullableFormBuilder, ReactiveFormsModule } from "@angular/forms";
55
import { concatMap, map, Observable, Subscription, take } from "rxjs";
66
import { AuthService } from "@auth/services";
77
import { ControlErrorPipe, ValidationService } from "@corelib";
@@ -132,11 +132,9 @@ export class OnboardingStageOneComponent implements OnInit, OnDestroy {
132132
private completeRegistration(stage: number): void {
133133
this.skipSubmitting.set(true);
134134
this.onboardingService.setFormValue(this.stageForm.value);
135-
this.authService.setOnboardingStage(stage).subscribe(() => {
136-
this.router.navigateByUrl(
137-
stage !== 3 ? "/office/onboarding/stage-2" : "/office/onboarding/stage-3"
138-
);
139-
});
135+
this.router.navigateByUrl(
136+
stage === 2 ? "/office/onboarding/stage-2" : "/office/onboarding/stage-3"
137+
);
140138
this.skipSubmitting.set(false);
141139
}
142140
}

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,14 @@ <h4 class="text-heading-4 content__section-heading content__right-heading">Би
5757
>
5858
</div>
5959
</div>
60+
61+
<app-modal [open]="isChooseSkill()" (openChange)="isChooseSkill.set(!isChooseSkill())">
62+
<div class="cancel">
63+
<div class="cancel__top">
64+
<i (click)="isChooseSkill.set(false)" appIcon icon="cross" class="cancel__cross"></i>
65+
<p class="cancel__title text-bold-body-16">Произошла ошибка при заполнении данных!</p>
66+
</div>
67+
<p class="text-body-14 cancel__text">{{ isChooseSkillText() }}.</p>
68+
</div>
69+
</app-modal>
6070
</div>

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

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,40 @@
112112
}
113113
}
114114
}
115+
116+
.cancel {
117+
display: flex;
118+
flex-direction: column;
119+
align-items: center;
120+
justify-content: center;
121+
max-height: calc(100vh - 40px);
122+
padding: 40px 0 80px;
123+
overflow-y: auto;
124+
125+
@include responsive.apply-desktop {
126+
width: 80%;
127+
}
128+
129+
&__cross {
130+
position: absolute;
131+
top: 0;
132+
right: 0;
133+
width: 32px;
134+
height: 32px;
135+
cursor: pointer;
136+
137+
@include responsive.apply-desktop {
138+
top: 8px;
139+
right: 8px;
140+
}
141+
}
142+
143+
&__title {
144+
margin-bottom: 12px;
145+
text-align: center;
146+
}
147+
148+
&__text {
149+
text-align: center;
150+
}
151+
}

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

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
/** @format */
22

3-
import { ChangeDetectorRef, Component, OnDestroy, OnInit, signal } from "@angular/core";
3+
import {
4+
ChangeDetectorRef,
5+
Component,
6+
ComponentFactoryResolver,
7+
OnDestroy,
8+
OnInit,
9+
signal,
10+
} from "@angular/core";
411
import { NonNullableFormBuilder, ReactiveFormsModule, Validators } from "@angular/forms";
512
import { concatMap, map, Observable, Subscription, take } from "rxjs";
613
import { AuthService } from "@auth/services";
@@ -15,6 +22,8 @@ import { SkillsService } from "@office/services/skills.service";
1522
import { SkillsGroup } from "@office/models/skills-group";
1623
import { SkillsGroupComponent } from "@office/shared/skills-group/skills-group.component";
1724
import { SkillsBasketComponent } from "@office/shared/skills-basket/skills-basket.component";
25+
import { HttpResponse } from "@angular/common/http";
26+
import { ModalComponent } from "@ui/components/modal/modal.component";
1827

1928
@Component({
2029
selector: "app-stage-two",
@@ -26,6 +35,7 @@ import { SkillsBasketComponent } from "@office/shared/skills-basket/skills-baske
2635
ReactiveFormsModule,
2736
IconComponent,
2837
ButtonComponent,
38+
ModalComponent,
2939
ControlErrorPipe,
3040
AutoCompleteInputComponent,
3141
SkillsGroupComponent,
@@ -55,6 +65,9 @@ export class OnboardingStageTwoComponent implements OnInit, OnDestroy {
5565
stageSubmitting = signal(false);
5666
skipSubmitting = signal(false);
5767

68+
isChooseSkill = signal(false);
69+
isChooseSkillText = signal("");
70+
5871
subscriptions$ = signal<Subscription[]>([]);
5972

6073
ngOnInit(): void {
@@ -104,8 +117,14 @@ export class OnboardingStageTwoComponent implements OnInit, OnDestroy {
104117
.saveProfile({ skillsIds: skills.map(skill => skill.id) })
105118
.pipe(concatMap(() => this.authService.setOnboardingStage(2)))
106119
.subscribe({
107-
next: () => this.authService.setOnboardingStage(3),
108-
error: () => this.stageSubmitting.set(false),
120+
next: () => this.completeRegistration(3),
121+
error: err => {
122+
this.stageSubmitting.set(false);
123+
if (err.status === 400) {
124+
this.isChooseSkill.set(true);
125+
this.isChooseSkillText.set(err.error[0]);
126+
}
127+
},
109128
});
110129
}
111130

@@ -146,9 +165,7 @@ export class OnboardingStageTwoComponent implements OnInit, OnDestroy {
146165
private completeRegistration(stage: number): void {
147166
this.skipSubmitting.set(true);
148167
this.onboardingService.setFormValue(this.stageForm.value);
149-
this.authService.setOnboardingStage(stage).subscribe(() => {
150-
this.router.navigateByUrl("/office/onboarding/stage-3");
151-
});
168+
stage === 3 && this.router.navigateByUrl("/office/onboarding/stage-3");
152169
this.skipSubmitting.set(false);
153170
}
154171
}

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

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ <h3 class="auth__title">
167167
class="page__add-education"
168168
(click)="addEducation()"
169169
>
170-
<span>Добавить новое образование</span>
170+
<span>Добавить образование</span>
171171
<i appIcon icon="plus" appSquare="14"></i>
172172
</app-button>
173173

@@ -380,7 +380,7 @@ <h3 class="auth__title">
380380
</ul>
381381
</ng-container>
382382
<app-button class="page__add-achievement" (click)="addAchievement()">
383-
<span>Добавить новое достижение</span>
383+
<span>Добавить достижение</span>
384384
<i appIcon icon="plus" appSquare="14"></i>
385385
</app-button>
386386
</div>
@@ -473,26 +473,23 @@ <h3 class="auth__title">
473473
editWorkClick ||
474474
editLanguageClick ||
475475
isEducationDirty ||
476-
isWorkDirty ||
477-
isLanguageDirty
476+
isWorkDirty
478477
"
479478
[ngStyle]="{
480479
opacity:
481480
editEducationClick ||
482481
editWorkClick ||
483482
editLanguageClick ||
484483
isEducationDirty ||
485-
isWorkDirty ||
486-
isLanguageDirty
484+
isWorkDirty
487485
? '0.6'
488486
: '1',
489487
cursor:
490488
editEducationClick ||
491489
editWorkClick ||
492490
editLanguageClick ||
493491
isEducationDirty ||
494-
isWorkDirty ||
495-
isLanguageDirty
492+
isWorkDirty
496493
? 'not-allowed'
497494
: 'pointer'
498495
}"

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ export class OnboardingStageZeroComponent implements OnInit, OnDestroy {
236236
get isWorkDirty(): boolean {
237237
const f = this.stageForm;
238238
return [
239-
"organization",
239+
"organizationNameWork",
240240
"entryYearWork",
241241
"completionYearWork",
242242
"descriptionWork",
@@ -604,11 +604,9 @@ export class OnboardingStageZeroComponent implements OnInit, OnDestroy {
604604
private completeRegistration(stage: number): void {
605605
this.skipSubmitting.set(true);
606606
this.onboardingService.setFormValue(this.stageForm.value);
607-
this.authService.setOnboardingStage(stage).subscribe(() => {
608-
this.router.navigateByUrl(
609-
stage !== 3 ? "/office/onboarding/stage-1" : "/office/onboarding/stage-3"
610-
);
611-
});
607+
this.router.navigateByUrl(
608+
stage === 1 ? "/office/onboarding/stage-1" : "/office/onboarding/stage-3"
609+
);
612610
this.skipSubmitting.set(false);
613611
}
614612
}

0 commit comments

Comments
 (0)