diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 442b36fe7f0ed2d5a5f53a970d80924b15169185..5905086d71928097c2f846617a314247e685c2cf 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -21,8 +21,6 @@ export class AppComponent implements OnInit { private matomoInjector: MatomoInjector, public notification: NotificationService, private customIconService: CustomIconService) { - translationService.setDefaultLang(this.translationService.getBrowserLang()); - localStorage.setItem('currentLang', this.translationService.getBrowserLang()); customIconService.init(); if (environment.name === 'prod') { this.matomoInjector.init('https://arsnova.thm.de/stats/', 6); } } diff --git a/src/app/components/creator/room-creator-page/room-creator-page.component.ts b/src/app/components/creator/room-creator-page/room-creator-page.component.ts index 045ee9154e0f383be7e98af156cd5b963f9e95ab..269dd0ed3a858c7cf777b883768248f94d0c35cc 100644 --- a/src/app/components/creator/room-creator-page/room-creator-page.component.ts +++ b/src/app/components/creator/room-creator-page/room-creator-page.component.ts @@ -62,10 +62,12 @@ export class RoomCreatorPageComponent extends RoomPageComponent implements OnIni ngOnInit() { window.scroll(0, 0); this.translateService.use(localStorage.getItem('currentLang')); + this.route.params.subscribe(params => { this.initializeRoom(params['shortId']); }); this.listenerFn = this._r.listen(document, 'keyup', (event) => { + const lang: string = this.translateService.currentLang; if (KeyboardUtils.isKeyEvent(event, KeyboardKey.Digit1) === true && this.eventService.focusOnInput === false) { document.getElementById('question_answer-button').focus(); } else if (KeyboardUtils.isKeyEvent(event, KeyboardKey.Digit3) === true && this.eventService.focusOnInput === false) { @@ -74,8 +76,11 @@ export class RoomCreatorPageComponent extends RoomPageComponent implements OnIni document.getElementById('settings-menu').focus(); } else if (KeyboardUtils.isKeyEvent(event, KeyboardKey.Digit8) === true && this.eventService.focusOnInput === false) { this.liveAnnouncer.clear(); + if (lang === 'de') { this.liveAnnouncer.announce('Aktueller Sitzungs-Name: ' + this.room.name + '. ' + 'Aktueller Sitzungs-Code: ' + this.room.shortId.slice(0, 8)); + } else { this.liveAnnouncer.announce('Current Session-Name: ' + this.room.name + '. ' + + 'Current Session-Code: ' + this.room.shortId.slice(0, 8)); } } else if ( KeyboardUtils.isKeyEvent(event, KeyboardKey.Digit9, KeyboardKey.Escape) === true && this.eventService.focusOnInput === false diff --git a/src/app/components/home/home-page/home-page.component.ts b/src/app/components/home/home-page/home-page.component.ts index 2975eb4f85b4815f0e9a46530d353a8611de5146..0562744b7c01cf1abf2c5ba2fbec08f22e4af7db 100644 --- a/src/app/components/home/home-page/home-page.component.ts +++ b/src/app/components/home/home-page/home-page.component.ts @@ -31,6 +31,19 @@ export class HomePageComponent implements OnInit, OnDestroy, AfterContentInit { ngOnInit() { this.deviceType = localStorage.getItem('deviceType'); + if (localStorage.getItem('cookieAccepted')) { + this.loadListener(); + } else { + const interval = setInterval(() => { + if (localStorage.getItem('cookieAccepted')) { + clearInterval(interval); + this.loadListener(); + } + }, 100); + } + } + + loadListener () { this.listenerFn = this._r.listen(document, 'keyup', (event) => { if (KeyboardUtils.isKeyEvent(event, KeyboardKey.Digit1) === true && this.eventService.focusOnInput === false) { document.getElementById('session_id-input').focus(); diff --git a/src/app/components/shared/comment-page/comment-page.component.ts b/src/app/components/shared/comment-page/comment-page.component.ts index fd134ecc08eaa3489908e2926e54b7c62d8538b2..9bd07a16b39c939da58672028b1e14c50ca9149f 100644 --- a/src/app/components/shared/comment-page/comment-page.component.ts +++ b/src/app/components/shared/comment-page/comment-page.component.ts @@ -47,16 +47,33 @@ export class CommentPageComponent implements OnInit, OnDestroy, AfterContentInit } else if (KeyboardUtils.isKeyEvent(event, KeyboardKey.Digit3) === true && this.eventService.focusOnInput === false) { document.getElementById('searchBox').focus(); } else if (KeyboardUtils.isKeyEvent(event, KeyboardKey.Digit4) === true && this.eventService.focusOnInput === false) { - document.getElementById('sort-button').focus(); + if (document.body.contains(document.getElementById('sort-button')) === false) { + const lang: string = this.translateService.currentLang; + this.liveAnnouncer.clear(); + if (lang === 'de') { + this.liveAnnouncer.announce('Die Sortieroption steht zur Verfügung, sobald 3 oder mehr Fragen gestellt wurden.'); + } else { + this.liveAnnouncer.announce('The sort option is available as soon as 3 or more questions have been asked.'); + } + } else {document.getElementById('sort-button').focus(); } } else if (KeyboardUtils.isKeyEvent(event, KeyboardKey.Digit5) === true && this.eventService.focusOnInput === false) { - document.getElementById('filter-button').focus(); + if (document.body.contains(document.getElementById('filter-button')) === false) { + const lang: string = this.translateService.currentLang; + this.liveAnnouncer.clear(); + if (lang === 'de') { + this.liveAnnouncer.announce('Die Filteroption steht zur Verfügung, sobald 3 oder mehr Fragen gestellt wurden.'); + } else { + this.liveAnnouncer.announce('The filter option is available as soon as 3 or more questions have been asked.'); + } + } else {document.getElementById('filter-button').focus(); } + } else if (KeyboardUtils.isKeyEvent(event, KeyboardKey.Digit8) === true && this.eventService.focusOnInput === false) { this.liveAnnouncer.clear(); const lang: string = this.translateService.currentLang; if (lang === 'de') { this.liveAnnouncer.announce('Aktueller Sitzungs-' + document.getElementById('shortId-header').textContent); } else { - this.liveAnnouncer.announce('Current Sesson-' + document.getElementById('shortId-header').textContent); + this.liveAnnouncer.announce('Current Session-' + document.getElementById('shortId-header').textContent); } } else if ( KeyboardUtils.isKeyEvent(event, KeyboardKey.Digit9, KeyboardKey.Escape) === true && diff --git a/src/styles.scss b/src/styles.scss index 4208d3e2992dbb705bd9babe9ce48664f963c6ee..33628755906d8384cc22f4961054b5d20aff3125 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -225,3 +225,4 @@ a { .mat-icon-button i, .mat-icon-button .mat-icon { line-height: 1 !important; } +