From 6995673dbbe8e46dc6622d755496f138cc34d719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Mau=C3=9F?= <lukas.mauss@mni.thm.de> Date: Tue, 12 Feb 2019 23:13:06 +0100 Subject: [PATCH] Create new home-component which replaces the login-page on /home url --- src/app/app-routing.module.ts | 4 +- src/app/app.module.ts | 4 +- .../home/home-page/home-page.component.html | 22 ++++++ .../home/home-page/home-page.component.scss | 67 +++++++++++++++++++ .../home-page/home-page.component.spec.ts | 25 +++++++ .../home/home-page/home-page.component.ts | 15 +++++ .../home/login-page/login-page.component.html | 65 +++++++----------- .../home/login-page/login-page.component.scss | 66 ------------------ 8 files changed, 157 insertions(+), 111 deletions(-) create mode 100644 src/app/components/home/home-page/home-page.component.html create mode 100644 src/app/components/home/home-page/home-page.component.scss create mode 100644 src/app/components/home/home-page/home-page.component.spec.ts create mode 100644 src/app/components/home/home-page/home-page.component.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 1279c5b43..6c6a00c9e 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,10 +1,10 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { LoginPageComponent } from './components/home/login-page/login-page.component'; import { FooterImprintComponent } from './components/shared/footer-imprint/footer-imprint.component'; import { PageNotFoundComponent } from './components/shared/page-not-found/page-not-found.component'; import { CreatorModule } from './components/creator/creator.module'; import { ParticipantModule } from './components/participant/participant.module'; +import { HomePageComponent } from './components/home/home-page/home-page.component'; const routes: Routes = [ { @@ -14,7 +14,7 @@ const routes: Routes = [ }, { path: 'home', - component: LoginPageComponent + component: HomePageComponent }, { path: 'creator', diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 88468b8ff..44b86dafb 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -26,6 +26,7 @@ import { LanguageService } from './services/util/language.service'; import { MarkdownService, MarkedOptions } from 'ngx-markdown'; import { NewLandingComponent } from './components/home/new-landing/new-landing.component'; import { RoomCreateComponent } from './components/creator/_dialogs/room-create/room-create.component'; +import { HomePageComponent } from './components/home/home-page/home-page.component'; export function dialogClose(dialogResult: any) { } @@ -38,7 +39,8 @@ export function dialogClose(dialogResult: any) { RegisterComponent, UserActivationComponent, NewLandingComponent, - RoomCreateComponent + RoomCreateComponent, + HomePageComponent ], entryComponents: [ RegisterComponent, diff --git a/src/app/components/home/home-page/home-page.component.html b/src/app/components/home/home-page/home-page.component.html new file mode 100644 index 000000000..25128dd66 --- /dev/null +++ b/src/app/components/home/home-page/home-page.component.html @@ -0,0 +1,22 @@ +<div fxLayout="column" fxLayoutAlign="center" fxLayoutGap="20px" fxFill> + <div fxLayout="row" fxLayoutAlign="center"> + <mat-card class="outer"> + <mat-card-header> + <mat-card-title> + <h1> + <span class="main-heading-secondary">{{ 'login-page.welcome' | translate }}</span> + <span class="main-heading-primary">ARSnova</span> + </h1> + </mat-card-title> + </mat-card-header> + <mat-card-content> + <div fxLayout="column" fxLayoutAlign="center" fxLayoutGap="20px" fxFill> + <div fxLayout="row" fxLayoutAlign="center"> + <app-new-landing></app-new-landing> + </div> + </div> + </mat-card-content> + </mat-card> + </div> +</div> + diff --git a/src/app/components/home/home-page/home-page.component.scss b/src/app/components/home/home-page/home-page.component.scss new file mode 100644 index 000000000..fdb966021 --- /dev/null +++ b/src/app/components/home/home-page/home-page.component.scss @@ -0,0 +1,67 @@ +@import '../../../../styles'; + +.outer { + width: 50%; + min-width: 300px; + background-color: #bbdefb; +} + +.main-heading { + text-align: center; +} + +.main-heading-primary { + display: block; + font-size: 120%; + font-weight: bold; + text-align: center; + letter-spacing: 10px; + color: mat-color($arsnova-primary,500); + animation: moveInLeft 2s ease-out; +} + +.main-heading-secondary { + font-family: sans-serif; + display: block; + font-size: 40%; + text-align: center; + letter-spacing: 10px; + color: mat-color($arsnova-accent,500); + animation: moveInRight 1s ease-out; +} + +@keyframes moveInLeft { + 0% { + opacity: 0; + transform: translateX(-100px); + } + + 80% { + transform: translateX(10px); + } + + 100% { + opacity: 1; + transform: translate(0); + } +} + +@keyframes moveInRight { + 0% { + opacity: 0; + transform: translateX(100px); + } + + 80% { + transform: translateX(-10px); + } + + 100% { + opacity: 1; + transform: translate(0); + } +} + +mat-card-header { + justify-content: center; +} diff --git a/src/app/components/home/home-page/home-page.component.spec.ts b/src/app/components/home/home-page/home-page.component.spec.ts new file mode 100644 index 000000000..e1803322c --- /dev/null +++ b/src/app/components/home/home-page/home-page.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HomePageComponent } from './home-page.component'; + +describe('HomePageComponent', () => { + let component: HomePageComponent; + let fixture: ComponentFixture<HomePageComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ HomePageComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(HomePageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/home/home-page/home-page.component.ts b/src/app/components/home/home-page/home-page.component.ts new file mode 100644 index 000000000..4f4959515 --- /dev/null +++ b/src/app/components/home/home-page/home-page.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-home-page', + templateUrl: './home-page.component.html', + styleUrls: ['./home-page.component.scss'] +}) +export class HomePageComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/components/home/login-page/login-page.component.html b/src/app/components/home/login-page/login-page.component.html index dfe844f45..cfb9020ca 100644 --- a/src/app/components/home/login-page/login-page.component.html +++ b/src/app/components/home/login-page/login-page.component.html @@ -1,45 +1,26 @@ -<div fxLayout="column" fxLayoutAlign="center" fxLayoutGap="20px" fxFill> - <div fxLayout="row" fxLayoutAlign="center"> - <mat-card class="outer"> - <mat-card-header> - <mat-card-title> - <h1> - <span class="main-heading-secondary">{{ 'login-page.welcome' | translate }}</span> - <span class="main-heading-primary">ARSnova</span> - </h1> - </mat-card-title> - </mat-card-header> - <mat-card-content> - <div fxLayout="column" fxLayoutAlign="center" fxLayoutGap="20px" fxFill> - <div fxLayout="row" fxLayoutAlign="center"> - <!-- <mat-tab-group class="login-tab-group"> - <mat-tab label="{{ 'login-page.creator' | translate }}"> - <div fxLayout="column" fxLayoutAlign="start" fxLayoutGap="20px"> - <div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="5px"> - <app-login fxFill [role]="UserRole.CREATOR" [username]="username" [password]="password"></app-login> - </div> - </div> - </mat-tab> - <mat-tab label="{{ 'login-page.participant' | translate }}"> - <div fxLayout="column" fxLayoutAlign="start" fxLayoutGap="20px"> - <div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="5px"> - <app-login fxFill [role]="UserRole.PARTICIPANT"></app-login> - </div> - </div> - </mat-tab> - </mat-tab-group> - <div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="15px"> - <button mat-raised-button class="regButton" color="primary" (click)="openRegisterDialog()"> - {{ 'login-page.register' | translate }} - </button> - <button mat-raised-button class="pwButton" color="primary" (click)="openPasswordDialog()"> - {{ 'login-page.password-reset' | translate }} - </button> - </div> --> - <app-new-landing></app-new-landing> - </div> +<div fxFill fxLayout="column" fxLayoutAlign="center" fxLayoutGap="20px"> + <mat-tab-group class="login-tab-group"> + <mat-tab label="{{ 'login-page.creator' | translate }}"> + <div fxLayout="column" fxLayoutAlign="start" fxLayoutGap="20px"> + <div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="5px"> + <app-login [password]="password" [role]="UserRole.CREATOR" [username]="username" fxFill></app-login> </div> - </mat-card-content> - </mat-card> + </div> + </mat-tab> + <mat-tab label="{{ 'login-page.participant' | translate }}"> + <div fxLayout="column" fxLayoutAlign="start" fxLayoutGap="20px"> + <div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="5px"> + <app-login [role]="UserRole.PARTICIPANT" fxFill></app-login> + </div> + </div> + </mat-tab> + </mat-tab-group> + <div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="15px"> + <button (click)="openRegisterDialog()" class="regButton" color="primary" mat-raised-button> + {{ 'login-page.register' | translate }} + </button> + <button (click)="openPasswordDialog()" class="pwButton" color="primary" mat-raised-button> + {{ 'login-page.password-reset' | translate }} + </button> </div> </div> diff --git a/src/app/components/home/login-page/login-page.component.scss b/src/app/components/home/login-page/login-page.component.scss index b6391c812..85aa03915 100644 --- a/src/app/components/home/login-page/login-page.component.scss +++ b/src/app/components/home/login-page/login-page.component.scss @@ -4,68 +4,6 @@ margin-top: 2%; } -.outer { - width: 50%; - min-width: 300px; - background-color: #bbdefb; -} - -.main-heading { - text-align: center; -} - -.main-heading-primary { - display: block; - font-size: 120%; - font-weight: bold; - text-align: center; - letter-spacing: 10px; - color: mat-color($arsnova-primary,500); - animation: moveInLeft 2s ease-out; -} - -.main-heading-secondary { - font-family: sans-serif; - display: block; - font-size: 40%; - text-align: center; - letter-spacing: 10px; - color: mat-color($arsnova-accent,500); - animation: moveInRight 1s ease-out; -} - -@keyframes moveInLeft { - 0% { - opacity: 0; - transform: translateX(-100px); - } - - 80% { - transform: translateX(10px); - } - - 100% { - opacity: 1; - transform: translate(0); - } -} - -@keyframes moveInRight { - 0% { - opacity: 0; - transform: translateX(100px); - } - - 80% { - transform: translateX(-10px); - } - - 100% { - opacity: 1; - transform: translate(0); - } -} - .regButton { min-width: 107px; } @@ -73,7 +11,3 @@ .pwButton { min-width: 178px; } - -mat-card-header { - justify-content: center; -} -- GitLab