From b8ce0d9d6fa37eb1fc0e0d4e0602c02bbf58196b Mon Sep 17 00:00:00 2001 From: Boris Voropaev Date: Thu, 2 Nov 2023 14:31:20 +0300 Subject: [PATCH] fix Authentication bug --- projects/app-vniigaz/src/assets/css/grid.scss | 66 +++++++++++++++++++ .../single/field-document-single.component.ts | 1 - .../_modules/layout/grid/grid.component.ts | 2 +- .../layout/header/header.component.html | 2 +- .../layout/header/header.component.ts | 1 - .../user-bar/header-user-bar.component.html | 52 ++++++--------- .../user-bar/header-user-bar.component.ts | 27 ++++++-- .../left-content/left-content.component.ts | 1 - .../image-group-section.component.ts | 2 +- .../app/_modules/viget/ico/ico.component.ts | 1 - .../app/_services/authentication.service.ts | 3 + projects/app/app.component.ts | 4 ++ 12 files changed, 118 insertions(+), 44 deletions(-) diff --git a/projects/app-vniigaz/src/assets/css/grid.scss b/projects/app-vniigaz/src/assets/css/grid.scss index e283d26..a01a97a 100644 --- a/projects/app-vniigaz/src/assets/css/grid.scss +++ b/projects/app-vniigaz/src/assets/css/grid.scss @@ -60,4 +60,70 @@ padding: 40px 24px; } } + + + + .user { + + position: relative; + display: flex; + padding: 11px; + height: 64px; + justify-content: center; + background-color: #fff; + border-radius: 32px; + border: 1px solid var(--second-dis); + + .avatar { + width: 38px; + height: 38px; + color: var(--prime); + border: 1px solid var(--prime); + background: #fff; + border-radius: 100%; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + overflow: hidden; + .initials { + } + img { + display: block; + width: 100%; + height: 100%; + object-fit: cover; + } + } + + .name{ + margin: 8px 4px 0 12px; + color: var(--second-act); + white-space: nowrap; + + } + + + + + drop-down { + + margin-top: 6px; + + } + + + } + @media screen and (max-width: 1330px) { + .user { + .avatar { + background-color: var(--white); + margin-right: 18px; + } + .name{ + display: none; + } + } + + } \ No newline at end of file diff --git a/projects/app/_modules/form-fields/types/document/single/field-document-single.component.ts b/projects/app/_modules/form-fields/types/document/single/field-document-single.component.ts index 9972e90..135156d 100644 --- a/projects/app/_modules/form-fields/types/document/single/field-document-single.component.ts +++ b/projects/app/_modules/form-fields/types/document/single/field-document-single.component.ts @@ -55,7 +55,6 @@ export class FieldDocumentSingleComponent { get docIcon(){ const ext=this.field.value.data[0]?.extension; - console.log('FiElD',this.field.value.data[0]?.extension) return DOC_TYPES_ICONS[ext]||'Unknown_file_24' } diff --git a/projects/app/_modules/layout/grid/grid.component.ts b/projects/app/_modules/layout/grid/grid.component.ts index 4b018da..586fa8a 100644 --- a/projects/app/_modules/layout/grid/grid.component.ts +++ b/projects/app/_modules/layout/grid/grid.component.ts @@ -9,6 +9,6 @@ import { html } from '@environments/htmlenv'; export class GridComponent { ngOnInit(){ - console.log('PROJECT',html.project) + } } diff --git a/projects/app/_modules/layout/header/header.component.html b/projects/app/_modules/layout/header/header.component.html index d992d06..f22952b 100644 --- a/projects/app/_modules/layout/header/header.component.html +++ b/projects/app/_modules/layout/header/header.component.html @@ -17,7 +17,7 @@ - + diff --git a/projects/app/_modules/layout/header/header.component.ts b/projects/app/_modules/layout/header/header.component.ts index 26d854a..eac219e 100644 --- a/projects/app/_modules/layout/header/header.component.ts +++ b/projects/app/_modules/layout/header/header.component.ts @@ -30,7 +30,6 @@ export class HeaderComponent { } ngOnInit() { - console.log(html.header) let showSettingSite = localStorage.getItem('showSettingSite'); if (showSettingSite === null || showSettingSite === 'no') { localStorage.setItem('showSettingSite', 'no'); diff --git a/projects/app/_modules/layout/header/user-bar/header-user-bar.component.html b/projects/app/_modules/layout/header/user-bar/header-user-bar.component.html index 1893373..31427cb 100644 --- a/projects/app/_modules/layout/header/user-bar/header-user-bar.component.html +++ b/projects/app/_modules/layout/header/user-bar/header-user-bar.component.html @@ -1,39 +1,25 @@ -
-
- - - - - -
- - +
+
Структура сайта
+
+
+
Выход из системы
- +
+ {{user.name}} +
+ + + \ No newline at end of file diff --git a/projects/app/_modules/layout/header/user-bar/header-user-bar.component.ts b/projects/app/_modules/layout/header/user-bar/header-user-bar.component.ts index 08c957f..366cb09 100644 --- a/projects/app/_modules/layout/header/user-bar/header-user-bar.component.ts +++ b/projects/app/_modules/layout/header/user-bar/header-user-bar.component.ts @@ -1,6 +1,9 @@ import {Component, Input} from '@angular/core'; import {AuthenticationService} from "@app/_services"; import {Router} from "@angular/router"; +import {Subscription} from "rxjs"; +import { PagesService } from '@app/_services/pages.service'; + @Component({ selector: 'header-user-bar', @@ -8,11 +11,19 @@ import {Router} from "@angular/router"; styleUrls: ['header-user-bar.component.scss'] }) export class HeaderUserBarComponent { - @Input() user: any; + public user: any; public menuItems = []; public ddHidden = true; + subscriptionUser: Subscription; - constructor(public authService: AuthenticationService, private router: Router) { + constructor( + public authService: AuthenticationService, + private router: Router, + private pagesService: PagesService) { + this.subscriptionUser = this.authService.user.subscribe(user => { + console.log(user) + this.user = user; + }); } get avatar() { @@ -26,13 +37,21 @@ export class HeaderUserBarComponent { } + ngOnDestroy() { + this.subscriptionUser?.unsubscribe(); + } + close() { - this.ddHidden = true; + setTimeout(() => { + this.ddHidden = true; + }, 10); } + logout() { if (confirm('Вы деествительно хотите выйти из системы?')) { + this.pagesService.editMode.next(false) this.authService.logout(); this.ddHidden = true; this.router.navigate(['']).then(); @@ -40,7 +59,7 @@ export class HeaderUserBarComponent { } link(link: string) { - this.ddHidden = true; + this.close() this.router.navigate([link]).then(); } } diff --git a/projects/app/_modules/layout/left-content/left-content.component.ts b/projects/app/_modules/layout/left-content/left-content.component.ts index 100b87b..a8b02b1 100644 --- a/projects/app/_modules/layout/left-content/left-content.component.ts +++ b/projects/app/_modules/layout/left-content/left-content.component.ts @@ -59,7 +59,6 @@ export class LeftContentComponent { resp => { let page = resp?.data; if (page){ - console.log(page.parents.data); this.background = page.image?.data?.links?.full; if (this.background) this.background = `url(${this.background})`; this.pageName = (page.parents.data[2]||page).name; diff --git a/projects/app/_modules/pages/sections/types/basic/image-group/image-group-section.component.ts b/projects/app/_modules/pages/sections/types/basic/image-group/image-group-section.component.ts index 6b1d96e..d49784b 100644 --- a/projects/app/_modules/pages/sections/types/basic/image-group/image-group-section.component.ts +++ b/projects/app/_modules/pages/sections/types/basic/image-group/image-group-section.component.ts @@ -15,7 +15,7 @@ export class ImageGroupSectionComponent { } ngOnInit() { - console.log(this.section); + // console.log(this.section); } diff --git a/projects/app/_modules/viget/ico/ico.component.ts b/projects/app/_modules/viget/ico/ico.component.ts index ae823d1..b5d7c21 100644 --- a/projects/app/_modules/viget/ico/ico.component.ts +++ b/projects/app/_modules/viget/ico/ico.component.ts @@ -30,7 +30,6 @@ export class IcoComponent { } let src = html.ico||'assets/images/icons/'; this.url = `${src}${this.ico}.svg#ico` - console.log(this.url) } diff --git a/projects/app/_services/authentication.service.ts b/projects/app/_services/authentication.service.ts index 8147e7e..53b3de3 100644 --- a/projects/app/_services/authentication.service.ts +++ b/projects/app/_services/authentication.service.ts @@ -52,9 +52,12 @@ export class AuthenticationService { } checkUser(params?: any) { + console.log('checkUser',params) if (this.token.value) { if (!params) params = {include: 'avatar,privileges'}; + console.log('URL',environment.apiUrl) this.http.get(`${environment.apiUrl}/api/me`, {params: params}).subscribe((res: any) => { + console.log('USER',res.data) this.user.next(res?.data); }); } diff --git a/projects/app/app.component.ts b/projects/app/app.component.ts index 5dce700..7fb1b3e 100644 --- a/projects/app/app.component.ts +++ b/projects/app/app.component.ts @@ -1,5 +1,6 @@ import { Component } from '@angular/core'; import { environment } from 'projects/environments/environment'; +import { AuthenticationService } from './_services'; @Component({ selector: 'app-root', @@ -9,4 +10,7 @@ import { environment } from 'projects/environments/environment'; export class AppComponent { title = 'app-root'; env = environment.test + constructor(private authService: AuthenticationService) { + authService.checkUser(); + } }