+
diff --git a/src/app/modules/presentation/monitor/monitor.component.less b/src/app/modules/presentation/monitor/monitor.component.less
index a6eca77..db62d57 100644
--- a/src/app/modules/presentation/monitor/monitor.component.less
+++ b/src/app/modules/presentation/monitor/monitor.component.less
@@ -10,5 +10,8 @@
padding: 50px;
color: white;
- font-size: 30px;
+
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
}
diff --git a/src/app/modules/presentation/monitor/monitor.component.ts b/src/app/modules/presentation/monitor/monitor.component.ts
index 063340c..344f0d4 100644
--- a/src/app/modules/presentation/monitor/monitor.component.ts
+++ b/src/app/modules/presentation/monitor/monitor.component.ts
@@ -14,6 +14,7 @@ import {Song} from '../../songs/services/song';
export class MonitorComponent implements OnInit {
public song: Song;
private index: number;
+ private zoom: number;
private sections: Section[];
constructor(
@@ -29,6 +30,7 @@ export class MonitorComponent implements OnInit {
map(_ => _.showId),
switchMap(_ => this.showService.read$(_)),
tap(_ => this.index = _.presentationSection),
+ tap(_ => this.zoom = _.presentationZoom ?? 30),
switchMap(_ => this.songService.read(_.presentationSongId))
).subscribe(_ => {
this.song = _;
diff --git a/src/app/modules/presentation/presentation.module.ts b/src/app/modules/presentation/presentation.module.ts
index 0efce3c..d2e5998 100644
--- a/src/app/modules/presentation/presentation.module.ts
+++ b/src/app/modules/presentation/presentation.module.ts
@@ -10,10 +10,13 @@ import {MatSelectModule} from '@angular/material/select';
import {ShowTypeTranslaterModule} from '../../widget-modules/pipes/show-type-translater/show-type-translater.module';
import {SectionTypeTranslatorModule} from '../../widget-modules/pipes/section-type-translator/section-type-translator.module';
import {SongTextModule} from '../../widget-modules/components/song-text/song-text.module';
+import {LegalComponent} from './monitor/legal/legal.component';
+import {MatButtonModule} from '@angular/material/button';
+import {FontAwesomeModule} from '@fortawesome/angular-fontawesome';
@NgModule({
- declarations: [MonitorComponent, RemoteComponent],
+ declarations: [MonitorComponent, RemoteComponent, LegalComponent],
imports: [
CommonModule,
PresentationRoutingModule,
@@ -22,7 +25,9 @@ import {SongTextModule} from '../../widget-modules/components/song-text/song-tex
MatSelectModule,
ShowTypeTranslaterModule,
SectionTypeTranslatorModule,
- SongTextModule
+ SongTextModule,
+ MatButtonModule,
+ FontAwesomeModule
]
})
export class PresentationModule {
diff --git a/src/app/modules/presentation/remote/remote.component.html b/src/app/modules/presentation/remote/remote.component.html
index f65668d..9b48d65 100644
--- a/src/app/modules/presentation/remote/remote.component.html
+++ b/src/app/modules/presentation/remote/remote.component.html
@@ -11,7 +11,7 @@
{{song.title}}
-
+
-
Presenter öffnen
+
+
+
+ {{show.presentationZoom}}px
+
+
diff --git a/src/app/modules/presentation/remote/remote.component.ts b/src/app/modules/presentation/remote/remote.component.ts
index 091df09..78e49ab 100644
--- a/src/app/modules/presentation/remote/remote.component.ts
+++ b/src/app/modules/presentation/remote/remote.component.ts
@@ -7,6 +7,9 @@ import {ShowSongService} from '../../shows/services/show-song.service';
import {SongService} from '../../songs/services/song.service';
import {Song} from '../../songs/services/song';
import {Section, TextRenderingService} from '../../songs/services/text-rendering.service';
+import {faSearchPlus} from '@fortawesome/free-solid-svg-icons/faSearchPlus';
+import {faSearchMinus} from '@fortawesome/free-solid-svg-icons/faSearchMinus';
+import {faDesktop} from '@fortawesome/free-solid-svg-icons/faDesktop';
export interface PresentationSong {
id: string;
@@ -21,11 +24,15 @@ export interface PresentationSong {
})
export class RemoteComponent {
public shows$: Observable
;
- public show$: Observable;
+ public show: Show;
public songs: Song[];
public presentationSongs: PresentationSong[];
public currentShowId: string;
+ public faZoomIn = faSearchPlus;
+ public faZoomOut = faSearchMinus;
+ public faDesktop = faDesktop;
+
constructor(
private showDataService: ShowDataService,
private showSongService: ShowSongService,
@@ -38,7 +45,7 @@ export class RemoteComponent {
public onShowChanged(change: MatSelectChange): void {
this.currentShowId = change.value;
- this.show$ = this.showDataService.read$(change.value);
+ this.showDataService.read$(change.value).subscribe(_ => this.show = _);
this.showSongService.list$(change.value).subscribe(_ => {
this.presentationSongs = _
.map(song => this.songs.filter(f => f.id == song.songId)[0])
@@ -60,4 +67,17 @@ export class RemoteComponent {
presentationSection: index
})
}
+
+ public async onZoomIn() {
+ debugger
+ await this.showDataService.update(this.currentShowId, {
+ presentationZoom: (this.show.presentationZoom ?? 30) + 2,
+ });
+ }
+
+ public async onZoomOut() {
+ await this.showDataService.update(this.currentShowId, {
+ presentationZoom: (this.show.presentationZoom ?? 30) - 2,
+ });
+ }
}
diff --git a/src/app/modules/shows/services/show.ts b/src/app/modules/shows/services/show.ts
index a7636d0..c95ed99 100644
--- a/src/app/modules/shows/services/show.ts
+++ b/src/app/modules/shows/services/show.ts
@@ -11,6 +11,7 @@ export interface Show {
presentationSongId: string;
presentationSection: number;
+ presentationZoom: number;
}