From b4dfdf394a0d85fc8fbfe9e1464d47a0a7b18e9f Mon Sep 17 00:00:00 2001 From: Daviti Gogshelidze <daviti1@mail.com> Date: Tue, 4 Jun 2019 10:01:37 +0200 Subject: [PATCH] Add log in and help buttons to splash screen --- .../splashScreen/splashScreen.component.ts | 9 +++++++-- .../splashScreen/splashScreen.template.html | 5 ++++- .../sharedModules/angularMaterial.module.ts | 13 ++++++++++--- .../signinBanner/signinBanner.components.ts | 4 ++++ src/ui/signinBanner/signinBanner.style.css | 16 +++++++++++++++- .../signinBanner/signinBanner.template.html | 19 +++++++++++++++++-- 6 files changed, 57 insertions(+), 9 deletions(-) diff --git a/src/ui/nehubaContainer/splashScreen/splashScreen.component.ts b/src/ui/nehubaContainer/splashScreen/splashScreen.component.ts index b7b5d8e97..eb27393a7 100644 --- a/src/ui/nehubaContainer/splashScreen/splashScreen.component.ts +++ b/src/ui/nehubaContainer/splashScreen/splashScreen.component.ts @@ -17,8 +17,9 @@ export class SplashScreen{ loadedTemplate$ : Observable<any[]> constructor( private store:Store<ViewerStateInterface>, - private constanceService: AtlasViewerConstantsServices - ){ + private constanceService: AtlasViewerConstantsServices, + private constantsService: AtlasViewerConstantsServices, +){ this.loadedTemplate$ = this.store.pipe( select('viewerState'), filter((state:ViewerStateInterface)=> typeof state !== 'undefined' && typeof state.fetchedTemplates !== 'undefined' && state.fetchedTemplates !== null), @@ -40,4 +41,8 @@ export class SplashScreen{ correctString(name){ return name.replace(/[|&;$%@()+,\s./]/g, '') } + + get isMobile(){ + return this.constantsService.mobile + } } \ No newline at end of file diff --git a/src/ui/nehubaContainer/splashScreen/splashScreen.template.html b/src/ui/nehubaContainer/splashScreen/splashScreen.template.html index 9e6b22064..4c3f4e350 100644 --- a/src/ui/nehubaContainer/splashScreen/splashScreen.template.html +++ b/src/ui/nehubaContainer/splashScreen/splashScreen.template.html @@ -2,7 +2,10 @@ <div splashScreenHeader> <div class="splashScreenHeaderLogoContainer"><img class="splashScreenHeaderLogo " src="./res/image/HBP_Primary_RGB_WhiteText.png"> </div> <span class="splashScreenHeaderTitle" media="screen and (min-width: 670px)">HBP Atlas Viewer</span> - <div class="spaceForFill"></div> + <div class="spaceForFill"> + <signin-banner *ngIf="!isMobile"> + </signin-banner> + </div> </div> <div splashScreenTemplate> <div *ngFor="let template of loadedTemplate$ | async | filterNull" splashScreenTemplateItem> diff --git a/src/ui/sharedModules/angularMaterial.module.ts b/src/ui/sharedModules/angularMaterial.module.ts index f5b493857..969b6f39c 100644 --- a/src/ui/sharedModules/angularMaterial.module.ts +++ b/src/ui/sharedModules/angularMaterial.module.ts @@ -1,8 +1,15 @@ -import {MatButtonModule, MatCheckboxModule, MatSidenavModule, MatCardModule, MatTabsModule} from '@angular/material'; +import { + MatButtonModule, + MatCheckboxModule, + MatSidenavModule, + MatCardModule, + MatTabsModule, + MatMenuModule +} from '@angular/material'; import { NgModule } from '@angular/core'; @NgModule({ - imports: [MatButtonModule, MatCheckboxModule, MatSidenavModule, MatCardModule, MatTabsModule], - exports: [MatButtonModule, MatCheckboxModule, MatSidenavModule, MatCardModule, MatTabsModule], + imports: [MatButtonModule, MatCheckboxModule, MatSidenavModule, MatCardModule, MatTabsModule, MatMenuModule], + exports: [MatButtonModule, MatCheckboxModule, MatSidenavModule, MatCardModule, MatTabsModule, MatMenuModule], }) export class AngularMaterialModule { } \ No newline at end of file diff --git a/src/ui/signinBanner/signinBanner.components.ts b/src/ui/signinBanner/signinBanner.components.ts index 75656e0fa..82abeb538 100644 --- a/src/ui/signinBanner/signinBanner.components.ts +++ b/src/ui/signinBanner/signinBanner.components.ts @@ -31,6 +31,7 @@ export class SigninBanner implements OnInit, OnDestroy{ public selectedParcellation$: Observable<any> public selectedRegions$: Observable<any[]> private selectedRegions: any[] = [] + private selectedTemplate: any @Input() darktheme: boolean constructor( @@ -74,6 +75,9 @@ export class SigninBanner implements OnInit, OnDestroy{ this.selectedRegions = regions }) ) + this.subscriptions.push( + this.selectedTemplate$.subscribe(template => this.selectedTemplate = template) + ) } ngOnDestroy(){ diff --git a/src/ui/signinBanner/signinBanner.style.css b/src/ui/signinBanner/signinBanner.style.css index 126c598d6..1d53a9f50 100644 --- a/src/ui/signinBanner/signinBanner.style.css +++ b/src/ui/signinBanner/signinBanner.style.css @@ -46,12 +46,26 @@ dropdown-component .login-button-panel-mobile { order: -1; - align-self: flex-start; + align-self: flex-start; width: 100%; display: flex; justify-content: space-between; } +.login-button-panel-splash { + display: flex; + flex-direction: column; + justify-content: space-between; + margin-left: auto; + text-align: right +} +.login-button-splash > button { + color: #FFFFFF; + outline: none; + background-color: coral; + margin: 5px; +} + .login-button-mobile > button { outline: none; background-color: transparent; diff --git a/src/ui/signinBanner/signinBanner.template.html b/src/ui/signinBanner/signinBanner.template.html index 51ae875d9..59c5d3d4a 100644 --- a/src/ui/signinBanner/signinBanner.template.html +++ b/src/ui/signinBanner/signinBanner.template.html @@ -3,6 +3,7 @@ [ngClass]="{ 'flex-column w-100 align-items-stretch' : isMobile}" > <dropdown-component + *ngIf="selectedTemplate || isMobile" (itemSelected)="changeTemplate($event)" [activeDisplay]="displayActiveTemplate" [selectedItem]="selectedTemplate$ | async" @@ -42,7 +43,7 @@ <!-- help btn --> <div class="btnWrapper"> <div - *ngIf="!isMobile" + *ngIf="!isMobile && selectedTemplate" (click)="showHelp()" class="btn btn-outline-secondary btn-sm rounded-circle login-icon"> <i class="fas fa-question-circle"></i> @@ -54,7 +55,7 @@ <div class="btnWrapper"> <div - *ngIf="!isMobile" + *ngIf="!isMobile && selectedTemplate" (click)="showSignin()" class="btn btn-outline-secondary btn-sm rounded-circle login-icon"> <i @@ -75,4 +76,18 @@ </div> </div> + + + <div *ngIf="!selectedTemplate && !isMobile" class="login-button-panel-splash"> + <div + (click)="showSignin()" + class="login-button-splash"> + <button mat-button>Log In</button> + </div> + <div (click)="showHelp()" class="login-button-splash"> + <button mat-button>Help</button> + </div> + </div> + + </div> \ No newline at end of file -- GitLab