From 2f973afd88980a216bc8a5d08a030fa5994f4d45 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lukas=20Mau=C3=9F?= <lukas.mauss@mni.thm.de>
Date: Tue, 16 Oct 2018 14:17:13 +0200
Subject: [PATCH] Several fixes

---
 src/app/app.module.ts                         |  5 ++-
 .../collection/collection.component.html      |  9 +++++
 .../collection/collection.component.scss      |  0
 .../collection/collection.component.spec.ts   | 25 +++++++++++++
 .../collection/collection.component.ts        | 36 +++++++++++++++++++
 .../dialogs/register/register.component.html  |  2 +-
 .../content-choice-creator.component.html     | 12 +++++--
 .../content-choice-creator.component.ts       | 30 +++++++++++++---
 .../content-choice-participant.component.html |  2 +-
 .../content-likert-creator.component.html     |  2 +-
 .../content-list/content-list.component.html  |  8 ++---
 .../content-list/content-list.component.scss  |  7 +++-
 .../content-text-creator.component.html       |  2 +-
 .../content-text-participant.component.html   |  2 +-
 .../content-yes-no-creator.component.html     |  2 +-
 .../fragments/header/header.component.ts      |  6 ++--
 .../fragments/login/login.component.html      |  2 +-
 .../comment-create-page.component.html        |  2 +-
 .../feedback-barometer-page.component.html    |  2 +-
 .../room-creator-page.component.html          |  1 -
 .../room-creator-page.component.scss          |  3 ++
 .../room-participant-page.component.html      | 20 +++++------
 .../room-participant-page.component.scss      | 11 ++++--
 src/assets/i18n/de.json                       | 11 +++---
 src/assets/i18n/en.json                       |  7 ++--
 25 files changed, 164 insertions(+), 45 deletions(-)
 create mode 100644 src/app/components/collection/collection.component.html
 create mode 100644 src/app/components/collection/collection.component.scss
 create mode 100644 src/app/components/collection/collection.component.spec.ts
 create mode 100644 src/app/components/collection/collection.component.ts

diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index e80390f9e..196a7f468 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -96,6 +96,7 @@ import { GenericDataDialogComponent } from './components/dialogs/generic-data-di
 import { FooterComponent } from './components/fragments/footer/footer.component';
 import { FooterLoginDialogComponent } from './components/dialogs/footer-login-dialog/footer-login-dialog.component';
 import { FooterImprintComponent } from './components/pages/footer-imprint/footer-imprint.component';
+import { CollectionComponent } from './components/collection/collection.component';
 
 export function dialogClose(dialogResult: any) {
 }
@@ -145,6 +146,7 @@ export function dialogClose(dialogResult: any) {
     FooterComponent,
     FooterLoginDialogComponent,
     FooterImprintComponent,
+    CollectionComponent,
   ],
   entryComponents: [
     RegisterComponent,
@@ -161,7 +163,8 @@ export function dialogClose(dialogResult: any) {
     ContentDeleteComponent,
     MarkdownHelpDialogComponent,
     GenericDataDialogComponent,
-    FooterLoginDialogComponent
+    FooterLoginDialogComponent,
+    CollectionComponent
   ],
   imports: [
     AppRoutingModule,
diff --git a/src/app/components/collection/collection.component.html b/src/app/components/collection/collection.component.html
new file mode 100644
index 000000000..d0f56e573
--- /dev/null
+++ b/src/app/components/collection/collection.component.html
@@ -0,0 +1,9 @@
+<mat-form-field>
+  <input matInput #group matInput [formControl]="myControl" [matAutocomplete]="auto"
+         value={{lastCollection}} placeholder="{{'content.collection' | translate}}"/>
+  <mat-autocomplete #auto="matAutocomplete">
+    <mat-option *ngFor="let collection of filteredOptions | async" [value]="collection">
+      {{collection}}
+    </mat-option>
+  </mat-autocomplete>
+</mat-form-field>
diff --git a/src/app/components/collection/collection.component.scss b/src/app/components/collection/collection.component.scss
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/app/components/collection/collection.component.spec.ts b/src/app/components/collection/collection.component.spec.ts
new file mode 100644
index 000000000..cb438b1d8
--- /dev/null
+++ b/src/app/components/collection/collection.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { CollectionComponent } from './collection.component';
+
+describe('CollectionComponent', () => {
+  let component: CollectionComponent;
+  let fixture: ComponentFixture<CollectionComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ CollectionComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(CollectionComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/src/app/components/collection/collection.component.ts b/src/app/components/collection/collection.component.ts
new file mode 100644
index 000000000..fa473ce55
--- /dev/null
+++ b/src/app/components/collection/collection.component.ts
@@ -0,0 +1,36 @@
+import { Component, OnInit } from '@angular/core';
+import { map, startWith } from 'rxjs/operators';
+import { FormControl } from '@angular/forms';
+import { Observable } from 'rxjs';
+
+@Component({
+  selector: 'app-collection',
+  templateUrl: './collection.component.html',
+  styleUrls: ['./collection.component.scss']
+})
+export class CollectionComponent implements OnInit {
+
+  constructor() { }
+
+
+  collections: string[] = ['ARSnova', 'Angular', 'HTML', 'TypeScript' ];
+  lastCollection: string;
+  myControl = new FormControl();
+  filteredOptions: Observable<string[]>;
+
+  ngOnInit() {
+    this.lastCollection = sessionStorage.getItem('collection');
+    this.filteredOptions = this.myControl.valueChanges
+      .pipe(
+        startWith(''),
+        map(value => this._filter(value))
+      );
+  }
+
+  private _filter(value: string): string[] {
+    const filterValue = value.toLowerCase();
+
+    return this.collections.filter(collection => collection.toLowerCase().includes(filterValue));
+  }
+
+}
diff --git a/src/app/components/dialogs/register/register.component.html b/src/app/components/dialogs/register/register.component.html
index 0b5f0f64d..6d65d3d42 100644
--- a/src/app/components/dialogs/register/register.component.html
+++ b/src/app/components/dialogs/register/register.component.html
@@ -30,6 +30,6 @@
     </mat-error>
   </mat-form-field>
 
-  <button mat-raised-button color="primary" type="submit">{{ 'register.register' | translate }}</button>
+  <button mat-raised-button color="accent" type="submit">{{ 'register.register' | translate }}</button>
 
 </form>
diff --git a/src/app/components/fragments/content-choice-creator/content-choice-creator.component.html b/src/app/components/fragments/content-choice-creator/content-choice-creator.component.html
index 49160fd9e..a42e1e7a7 100644
--- a/src/app/components/fragments/content-choice-creator/content-choice-creator.component.html
+++ b/src/app/components/fragments/content-choice-creator/content-choice-creator.component.html
@@ -59,9 +59,17 @@
       {{ 'content.add-answer' | translate }}
     </button>
   </div>
-
+  <mat-form-field>
+    <input matInput #group matInput [formControl]="myControl" [matAutocomplete]="auto"
+           value={{lastCollection}} placeholder="{{'content.collection' | translate}}"/>
+    <mat-autocomplete #auto="matAutocomplete">
+      <mat-option *ngFor="let collection of filteredOptions | async" [value]="collection">
+        {{collection}}
+      </mat-option>
+    </mat-autocomplete>
+  </mat-form-field>
   <div *ngIf="!editDialogMode" fxLayout="row" fxLayoutAlign="center" fxLayoutGap="50px">
-    <button mat-raised-button type="submit" color="primary">{{ 'content.create' | translate }}</button>
+    <button mat-raised-button type="submit" color="accent">{{ 'content.create' | translate }}</button>
     <button mat-raised-button (click)="reset($event)" color="primary">{{ 'content.reset' | translate }}</button>
     <button mat-raised-button *ngIf="lastDeletedDisplayAnswer" (click)="recoverDeletedAnswer($event)" color="primary">
       Undo
diff --git a/src/app/components/fragments/content-choice-creator/content-choice-creator.component.ts b/src/app/components/fragments/content-choice-creator/content-choice-creator.component.ts
index ba3176466..22767ac8f 100644
--- a/src/app/components/fragments/content-choice-creator/content-choice-creator.component.ts
+++ b/src/app/components/fragments/content-choice-creator/content-choice-creator.component.ts
@@ -9,6 +9,9 @@ import { AnswerEditComponent } from '../../dialogs/answer-edit/answer-edit.compo
 import { ContentType } from '../../../models/content-type.enum';
 import { ContentListComponent } from '../content-list/content-list.component';
 import { ContentDeleteComponent } from '../../dialogs/content-delete/content-delete.component';
+import { FormControl } from '@angular/forms';
+import { Observable } from 'rxjs';
+import { map, startWith } from 'rxjs/operators';
 
 export class DisplayAnswer {
   answerOption: AnswerOption;
@@ -58,6 +61,11 @@ export class ContentChoiceCreatorComponent implements OnInit {
   roomId: string;
   roomShortId: string;
 
+  collections: string[] = ['ARSnova', 'Angular', 'HTML', 'TypeScript' ];
+  myControl = new FormControl();
+  filteredOptions: Observable<string[]>;
+  lastCollection: string;
+
   constructor(private contentService: ContentService,
               private notificationService: NotificationService,
               private route: ActivatedRoute,
@@ -70,6 +78,12 @@ export class ContentChoiceCreatorComponent implements OnInit {
     this.roomShortId = this.route.snapshot.paramMap.get('roomId');
     this.roomId = localStorage.getItem(`roomId`);
     this.fillCorrectAnswers();
+    this.lastCollection = sessionStorage.getItem('collection');
+    this.filteredOptions = this.myControl.valueChanges
+      .pipe(
+        startWith(''),
+        map(value => this._filter(value))
+      );
   }
 
   fillCorrectAnswers() {
@@ -90,6 +104,12 @@ export class ContentChoiceCreatorComponent implements OnInit {
     return index;
   }
 
+  private _filter(value: string): string[] {
+    const filterValue = value.toLowerCase();
+
+    return this.collections.filter(collection => collection.toLowerCase().includes(filterValue));
+  }
+
   addAnswer($event) {
     $event.preventDefault();
     if (this.newAnswerOptionLabel === '') {
@@ -110,7 +130,7 @@ export class ContentChoiceCreatorComponent implements OnInit {
         return;
       }
     }
-    let points = (this.newAnswerOptionChecked) ? '10' : '-10';
+    const points = (this.newAnswerOptionChecked) ? '10' : '-10';
     this.content.options.push(new AnswerOption(this.newAnswerOptionLabel, points));
     this.newAnswerOptionChecked = false;
     this.newAnswerOptionLabel = '';
@@ -227,7 +247,7 @@ export class ContentChoiceCreatorComponent implements OnInit {
     this.notificationService.show('Content submitted. Ready for creation of new content.');
   }
 
-  submitContent(subject: string, body: string) {
+  submitContent(subject: string, body: string, group: string) {
     if (this.content.body.valueOf() === '' || this.content.body.valueOf() === '') {
       this.notificationService.show('No empty fields allowed. Please check subject and body.');
       return;
@@ -255,14 +275,14 @@ export class ContentChoiceCreatorComponent implements OnInit {
       this.changesAllowed = true;
       return;
     }
-    this.contentService.addContent(new ContentChoice(
+    this.contentService.addContentChoice(new ContentChoice(
       '',
       '',
       this.roomId,
       subject,
       body,
       1,
-      [],
+      [group],
       this.content.options,
       this.content.correctOptionIndexes,
       this.content.multiple,
@@ -274,7 +294,7 @@ export class ContentChoiceCreatorComponent implements OnInit {
   editDialogClose($event, action: string) {
     $event.preventDefault();
     if (action.valueOf() === 'edit') {
-      this.submitContent(this.content.subject, this.content.body);
+      this.submitContent(this.content.subject, this.content.body, this.content.groups[1]);
     }
     if (action.valueOf() === 'abort') {
       this.dialogRef.close(action);
diff --git a/src/app/components/fragments/content-choice-participant/content-choice-participant.component.html b/src/app/components/fragments/content-choice-participant/content-choice-participant.component.html
index 8b1c9d455..89b6b99e4 100644
--- a/src/app/components/fragments/content-choice-participant/content-choice-participant.component.html
+++ b/src/app/components/fragments/content-choice-participant/content-choice-participant.component.html
@@ -20,7 +20,7 @@
   </mat-radio-group>
   <mat-divider></mat-divider>
   <div fxLayout fxLayoutGap="5px" fxAlign="row">
-    <button mat-raised-button type="submit" color="primary">Submit</button>
+    <button mat-raised-button type="submit" color="accent">Submit</button>
     <button mat-raised-button (click)="abstain($event)" color="primary">Abstain</button>
     <mat-chip-list *ngIf="isAnswerSent">
       <mat-chip color="primary" selected="true">Answer sent</mat-chip>
diff --git a/src/app/components/fragments/content-likert-creator/content-likert-creator.component.html b/src/app/components/fragments/content-likert-creator/content-likert-creator.component.html
index 3ce98bc34..6b87d4da4 100644
--- a/src/app/components/fragments/content-likert-creator/content-likert-creator.component.html
+++ b/src/app/components/fragments/content-likert-creator/content-likert-creator.component.html
@@ -21,7 +21,7 @@
     <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
   </mat-table>
   <div *ngIf="!editDialogMode">
-    <button mat-raised-button type="submit" color="primary">{{ 'content.create' | translate }}</button>
+    <button mat-raised-button type="submit" color="accent">{{ 'content.create' | translate }}</button>
   </div>
   <div *ngIf="editDialogMode">
     <button mat-raised-button (click)="editDialogClose($event,'edit')" color="primary">Update</button>
diff --git a/src/app/components/fragments/content-list/content-list.component.html b/src/app/components/fragments/content-list/content-list.component.html
index 0e4c1fa95..8542f793e 100644
--- a/src/app/components/fragments/content-list/content-list.component.html
+++ b/src/app/components/fragments/content-list/content-list.component.html
@@ -1,19 +1,19 @@
 <div fxLayout="column" fxLayoutAlign="center" fxLayoutGap="20px" fxFill>
   <div fxLayout="row" fxLayoutAlign="center">
     <mat-card>
-      <h2>Fragen</h2>
+      <h2>{{ 'content.contents' | translate}}</h2>
       <mat-divider></mat-divider>
       <mat-card-actions>
-        <button mat-fab color="primary" matTooltip="Fragen präsentieren"
+        <button mat-fab color="accent" matTooltip="Fragen präsentieren"
                 routerLink="/creator/room/{{ room.shortId }}/contents">
           <mat-icon>school</mat-icon>
         </button>
-        <button mat-fab color="primary" matTooltip="Neue Frage erstellen"
+        <button mat-fab color="accent" matTooltip="Neue Frage erstellen"
                 routerLink="/creator/room/{{ room.shortId }}/create-content">
           <mat-icon>note_add</mat-icon>
         </button>
       </mat-card-actions>
-      <h4>Klicken Sie auf einen Inhalt, um diesen zu editieren     <mat-icon>create</mat-icon></h4>
+      <h4>{{ 'content.click-here' | translate}}<mat-icon>create</mat-icon></h4>
       <mat-divider></mat-divider>
       <mat-list>
         <mat-list-item *ngFor="let content of contents" (click)="editContent(content.subject)">
diff --git a/src/app/components/fragments/content-list/content-list.component.scss b/src/app/components/fragments/content-list/content-list.component.scss
index afc156dd3..986ef664b 100644
--- a/src/app/components/fragments/content-list/content-list.component.scss
+++ b/src/app/components/fragments/content-list/content-list.component.scss
@@ -1,5 +1,6 @@
 mat-card {
   max-width: 800px;
+  min-width: 50%;
 }
 
 mat-card-content > :first-child {
@@ -14,6 +15,10 @@ button {
   margin: 20px;
 }
 
+h2 {
+  color: #3f51b5;
+}
+
 h3 {
-  color: #42A5F5;
+  color: #3f51b5;
 }
diff --git a/src/app/components/fragments/content-text-creator/content-text-creator.component.html b/src/app/components/fragments/content-text-creator/content-text-creator.component.html
index c8deb0471..27c51bdc6 100644
--- a/src/app/components/fragments/content-text-creator/content-text-creator.component.html
+++ b/src/app/components/fragments/content-text-creator/content-text-creator.component.html
@@ -18,7 +18,7 @@
     </mat-autocomplete>
   </mat-form-field>
   <div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="5px" *ngIf="!editDialogMode">
-    <button mat-raised-button type="submit" color="primary">{{'content.create' | translate}}</button>
+    <button mat-raised-button type="submit" color="accent">{{'content.create' | translate}}</button>
   </div>
   <div *ngIf="editDialogMode">
     <button mat-raised-button (click)="editDialogClose($event,'edit')" color="primary">Update</button>
diff --git a/src/app/components/fragments/content-text-participant/content-text-participant.component.html b/src/app/components/fragments/content-text-participant/content-text-participant.component.html
index fd8e3c09e..125b7e178 100644
--- a/src/app/components/fragments/content-text-participant/content-text-participant.component.html
+++ b/src/app/components/fragments/content-text-participant/content-text-participant.component.html
@@ -6,7 +6,7 @@
     <textarea matInput [(ngModel)]="textAnswer" name="answer" #answer placeholder="{{ 'answer.your-answer' | translate }}"></textarea>
   </mat-form-field>
   <div fxLayout fxLayoutGap="5px" fxAlign="row">
-    <button mat-raised-button type="submit" color="primary">{{ 'answer.submit' | translate }}</button>
+    <button mat-raised-button type="submit" color="accent">{{ 'answer.submit' | translate }}</button>
     <button mat-raised-button (click)="abstain($event)" color="primary">{{ 'answer.abstain' | translate }}</button>
     <mat-chip-list *ngIf="isAnswerSent">
       <mat-chip color="primary" selected="true">{{ 'answer.sent' | translate }}</mat-chip>
diff --git a/src/app/components/fragments/content-yes-no-creator/content-yes-no-creator.component.html b/src/app/components/fragments/content-yes-no-creator/content-yes-no-creator.component.html
index 5d81a65c6..ce09023a3 100644
--- a/src/app/components/fragments/content-yes-no-creator/content-yes-no-creator.component.html
+++ b/src/app/components/fragments/content-yes-no-creator/content-yes-no-creator.component.html
@@ -24,7 +24,7 @@
   </mat-table>
   <mat-divider></mat-divider>
   <div *ngIf="!editDialogMode">
-    <button mat-raised-button type="submit" color="primary">{{ 'content.create' | translate }}</button>
+    <button mat-raised-button type="submit" color="accent">{{ 'content.create' | translate }}</button>
   </div>
   <div *ngIf="editDialogMode">
     <button mat-raised-button (click)="editDialogClose($event,'edit')" color="primary">Update</button>
diff --git a/src/app/components/fragments/header/header.component.ts b/src/app/components/fragments/header/header.component.ts
index 235cb980e..7698ae366 100644
--- a/src/app/components/fragments/header/header.component.ts
+++ b/src/app/components/fragments/header/header.component.ts
@@ -17,7 +17,7 @@ export class HeaderComponent implements OnInit {
 
   constructor(public location: Location,
               private authenticationService: AuthenticationService,
-              private notification: NotificationService,
+              private notificationService: NotificationService,
               public router: Router,
               private translationService: TranslateService) {
 
@@ -31,7 +31,9 @@ export class HeaderComponent implements OnInit {
 
   logout() {
     this.authenticationService.logout();
-    this.notification.show(`Logged out`);
+    this.translationService.get('header.logged-out').subscribe(message => {
+      this.notificationService.show(message);
+    });
     this.router.navigate(['/']);
   }
 
diff --git a/src/app/components/fragments/login/login.component.html b/src/app/components/fragments/login/login.component.html
index b4f6ff972..21625d535 100644
--- a/src/app/components/fragments/login/login.component.html
+++ b/src/app/components/fragments/login/login.component.html
@@ -15,7 +15,7 @@
            [formControl]="passwordFormControl" [errorStateMatcher]="matcher" name="password"/>
     <mat-error *ngIf="passwordFormControl.hasError('required')">{{ 'login.password-required' | translate }}</mat-error>
   </mat-form-field>
-  <button mat-raised-button color="primary" type="submit">{{ 'login.login' | translate }}</button>
+  <button mat-raised-button color="accent" type="submit">{{ 'login.login' | translate }}</button>
   <button mat-raised-button (click)="guestLogin()" type="button">
     {{ 'login.guest-login' | translate }}
   </button>
diff --git a/src/app/components/pages/comment-create-page/comment-create-page.component.html b/src/app/components/pages/comment-create-page/comment-create-page.component.html
index 8533f2989..4bdc50978 100644
--- a/src/app/components/pages/comment-create-page/comment-create-page.component.html
+++ b/src/app/components/pages/comment-create-page/comment-create-page.component.html
@@ -9,7 +9,7 @@
         <textarea matInput></textarea>
       </mat-form-field>
       <button mat-raised-button color="primary" (click)="goBack()">{{ 'comment-page.back' | translate}}</button>
-      <button mat-raised-button color="primary" (click)="send(commentSubject.value, commentBody.value)">{{ 'comment-page.send' | translate}}</button>
+      <button mat-raised-button color="accent" (click)="send(commentSubject.value, commentBody.value)">{{ 'comment-page.send' | translate}}</button>
     </form>
   </div>
   <div fxLayout="row" fxLayoutAlign="center">
diff --git a/src/app/components/pages/feedback-barometer-page/feedback-barometer-page.component.html b/src/app/components/pages/feedback-barometer-page/feedback-barometer-page.component.html
index 395b06709..4bcfffe97 100644
--- a/src/app/components/pages/feedback-barometer-page/feedback-barometer-page.component.html
+++ b/src/app/components/pages/feedback-barometer-page/feedback-barometer-page.component.html
@@ -3,7 +3,7 @@
     <div fxLayout="row" fxLayoutGap="30px" *ngFor="let state of feedback">
       <mat-icon matTooltip="{{ state.message }}"
               (click)="userRole === 0 && submitFeedback(state.state)">{{ state.name }}</mat-icon>
-      <mat-progress-bar [value]="state.count" color="primary">
+      <mat-progress-bar [value]="state.count" color="accent">
       </mat-progress-bar>
     </div>
     <div fxLayoutAlign="center" *ngIf="userRole === 1">
diff --git a/src/app/components/pages/room-creator-page/room-creator-page.component.html b/src/app/components/pages/room-creator-page/room-creator-page.component.html
index ced52251d..61a5c353c 100644
--- a/src/app/components/pages/room-creator-page/room-creator-page.component.html
+++ b/src/app/components/pages/room-creator-page/room-creator-page.component.html
@@ -43,7 +43,6 @@
           {{ 'room-page.delete-room' | translate }}
         </button>
       </mat-card-actions>
-      <mat-divider></mat-divider>
       <app-content-groups *ngIf="room" [contentGroups]="room.contentGroups"></app-content-groups>
     </mat-card>
     <div *ngIf="!isLoading && !room">Error: room could not be found!</div>
diff --git a/src/app/components/pages/room-creator-page/room-creator-page.component.scss b/src/app/components/pages/room-creator-page/room-creator-page.component.scss
index 67d05a431..3bac633d7 100644
--- a/src/app/components/pages/room-creator-page/room-creator-page.component.scss
+++ b/src/app/components/pages/room-creator-page/room-creator-page.component.scss
@@ -1,5 +1,6 @@
 mat-card {
   max-width: 800px;
+  min-width: 800px;
 }
 
 mat-card-content > :first-child {
@@ -9,4 +10,6 @@ mat-card-content > :first-child {
 
 button {
   margin: 5px;
+  min-width: 30%;
+  max-width: 30%;
 }
diff --git a/src/app/components/pages/room-participant-page/room-participant-page.component.html b/src/app/components/pages/room-participant-page/room-participant-page.component.html
index 9a925f4e8..51b80fdb3 100644
--- a/src/app/components/pages/room-participant-page/room-participant-page.component.html
+++ b/src/app/components/pages/room-participant-page/room-participant-page.component.html
@@ -1,4 +1,4 @@
-<div fxLayout="column" fxLayoutAlign="start" fxLayoutGap="20px" fxFill>
+<div fxLayout="column" fxLayoutAlign="center" fxLayoutGap="20px" fxFill>
   <div fxLayout="row" fxLayoutAlign="center">
     <mat-progress-spinner *ngIf="isLoading" mode="indeterminate"></mat-progress-spinner>
     <mat-card *ngIf="room">
@@ -15,27 +15,23 @@
       <mat-divider></mat-divider>
       <mat-grid-list cols="2" rowHeight="2:1">
         <mat-grid-tile>
-          <button mat-icon-button color="primary" matTooltip="{{ 'room-page.create-comment' | translate}}"
+          <button mat-icon-button color="accent" matTooltip="{{ 'room-page.create-comment' | translate}}"
                   routerLink="/participant/room/{{ room.id }}/create-comment">
             <mat-icon>question_answer</mat-icon>
           </button>
         </mat-grid-tile>
         <mat-grid-tile>
-          <button mat-icon-button color="primary" matTooltip="{{ 'room-page.give-feedback' | translate}}"
+          <button mat-icon-button color="accent" matTooltip="{{ 'room-page.give-feedback' | translate}}"
                   routerLink="/participant/room/{{ room.id }}/feedback-barometer">
             <mat-icon>thumbs_up_down</mat-icon>
           </button>
         </mat-grid-tile>
       </mat-grid-list>
-      <mat-nav-list>
-        <mat-list-item>
-          {{ 'room-page.comments' | translate }}
-        </mat-list-item>
-        <mat-list-item>
-          {{ 'room-page.learn' | translate }}
-        </mat-list-item>
-        <app-content-groups *ngIf="room" [contentGroups]="room.contentGroups"></app-content-groups>
-      </mat-nav-list>
+        <mat-card-actions>
+          <button mat-button color="primary">{{ 'room-page.comments' | translate }}</button>
+          <button mat-button color="primary">{{ 'room-page.learn' | translate }}</button>
+        </mat-card-actions>
+      <app-content-groups *ngIf="room" [contentGroups]="room.contentGroups"></app-content-groups>
     </mat-card>
   </div>
 </div>
diff --git a/src/app/components/pages/room-participant-page/room-participant-page.component.scss b/src/app/components/pages/room-participant-page/room-participant-page.component.scss
index 3438e3d1c..6d693d9e3 100644
--- a/src/app/components/pages/room-participant-page/room-participant-page.component.scss
+++ b/src/app/components/pages/room-participant-page/room-participant-page.component.scss
@@ -7,7 +7,14 @@ mat-card-content>:first-child {
   margin-top: 16px;
 }
 
-mat-icon {
-  font-size: 500%;
+.mat-icon{
+  height:100% !important;
+  width:100% !important;
+  font-size:48px !important;
 }
 
+button {
+  margin: 5px;
+  max-width: 30%;
+  min-width: 30%;
+}
diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json
index d0f3daa4c..4377525d3 100644
--- a/src/assets/i18n/de.json
+++ b/src/assets/i18n/de.json
@@ -3,11 +3,12 @@
 		"english": "English",
 		"german": "Deutsch",
 		"logout": "Abmelden",
-    "guest": "Gast"
+    "guest": "Gast",
+    "logged-out": "Ausloggen erfolgreich."
 	},
 	"login-page": {
-		"creator": "Autor",
-		"participant": "Teilnehmer",
+		"creator": "Dozent/in",
+		"participant": "Student/in",
 		"password-reset": "Passwort zurücksetzen",
 		"register": "Registrieren"
 	},
@@ -88,7 +89,9 @@
     "add-answer": "Antwort hinzufügen",
     "answer": "Antwort",
     "actions": "Richtig / Falsch",
-    "reset": "Zurücksetzen"
+    "reset": "Zurücksetzen",
+    "contents": "Fragen",
+    "click-here": "Klicken Sie auf einen Inhalt, um diesen zu editieren"
   },
   "session": {
     "session-name": "Name der Session",
diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json
index 9b87db31c..09ad31b4a 100644
--- a/src/assets/i18n/en.json
+++ b/src/assets/i18n/en.json
@@ -3,7 +3,8 @@
 		"english": "English",
 		"german": "German",
 		"logout": "Logout",
-    "guest": "Guest"
+    "guest": "Guest",
+    "logged-out": "Logout successful."
 	},
 	"login-page": {
 		"creator": "Creator",
@@ -86,7 +87,9 @@
     "add-answer": "Add answer",
     "answer": "Answer",
     "actions": "Actions",
-    "reset": "Reset"
+    "reset": "Reset",
+    "contents": "Contents",
+    "click-here": "Click on a content to edit it"
   },
   "session": {
     "session-name": "Session name",
-- 
GitLab