feat: notification component

This commit is contained in:
2024-07-10 23:02:14 +03:00
parent d1e32a94ca
commit 03b200c829
9 changed files with 134 additions and 11 deletions

View File

@@ -2,6 +2,7 @@ import { CommonModule } from "@angular/common";
import { AfterViewInit, Component, ElementRef, OnDestroy, ViewChild } from "@angular/core";
import { ActivatedRoute, Router, RouterLink } from "@angular/router";
import { Subject, takeUntil } from "rxjs";
import { NotificationService } from "../../services/notification/notification.service";
import { RulibAuthService } from "../../services/parsers/rulib/rulib.auth.service";
import { EAuthTokenService } from "./enum";
@@ -20,18 +21,34 @@ export class AuthComponent implements AfterViewInit, OnDestroy {
private route: ActivatedRoute,
private router: Router,
private rulibAuthService: RulibAuthService,
private notificationService: NotificationService,
) {}
private setToken(service: EAuthTokenService, token: string) {
switch (service) {
case EAuthTokenService.RULIB:
this.rulibAuthService.setToken(token);
this.rulibAuthService
.setToken(token)
.pipe(takeUntil(this.destroy$))
.subscribe((data) => {
if (data) {
this.router.navigate(["/"]);
this.notificationService.info("Успешная авторизация в RuLib!", "Вход");
} else {
this.router.navigate(["/", "auth"]);
this.notificationService.error(
"Не удалось авторизоваться в RuLib! Попробуйте ещё раз.",
"Вход",
4000,
);
}
});
break;
default:
this.router.navigate(["/", "auth"]);
this.notificationService.error("Неизвестный сервис авторизации!", "Вход");
return;
}
this.router.navigate(["/"]);
}
setLibSocialToken() {