diff --git a/frontend/projects/shared-meet-components/src/lib/models/context.model.ts b/frontend/projects/shared-meet-components/src/lib/models/context.model.ts index c6300a7..fcc8b8a 100644 --- a/frontend/projects/shared-meet-components/src/lib/models/context.model.ts +++ b/frontend/projects/shared-meet-components/src/lib/models/context.model.ts @@ -11,6 +11,9 @@ export interface ContextData { edition: Edition; leaveRedirectUrl: string; parentDomain: string; + version: string; + openviduLogoUrl: string; + backgroundImageUrl: string; } export enum ApplicationMode { diff --git a/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.html b/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.html index ae424e1..68bd98e 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.html +++ b/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.html @@ -1,171 +1,150 @@ -
- - @if (isUserLogged) { -
- Hi {{ username }}, do you want to logout? - -
- } -
-
- - - -

Videoconference rooms in one click

-
- @if (!loading) { -
-
- @if (isPrivateAccess && !isUserLogged) { - - } - @if (isUserLogged || !isPrivateAccess) { - - } -
-
- } +
+ + @if (isUserLogged) { +
+ Hi {{ username }}, do you want to logout? + +
+ } +
+
+ + + +

Videoconference rooms in one click

+
+ @if (!loading) { +
+
+ @if (isPrivateAccess && !isUserLogged) { + + } + @if (isUserLogged || !isPrivateAccess) { + + } +
+
+ } - - - Photo by - - Daniel Leone - - on - - Unsplash - - -
- {{ version }} -
-
-
+ + + Photo by + + Daniel Leone + + on + + Unsplash + + +
+ {{ version }} +
+
+
diff --git a/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.scss b/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.scss index 79372ba..920d113 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.scss +++ b/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.scss @@ -17,7 +17,7 @@ $formGap: 0.375rem; .section1 { background: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)), - url('/assets/images/bg.webp') top center no-repeat; + var(--background-image-url) top center no-repeat; background-size: cover; height: 100%; text-align: center; diff --git a/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.ts index 0a72586..3fda72a 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.ts @@ -14,10 +14,9 @@ import { NgClass } from '@angular/common'; import { MatToolbar } from '@angular/material/toolbar'; import { ActivatedRoute, Router } from '@angular/router'; import { Subscription } from 'rxjs'; -import { HttpService } from '../../services/http/http.service'; +import { ContextService, HttpService } from '../../services/index'; import { OpenViduMeetRoom, OpenViduMeetRoomOptions } from '../../typings/ce/room'; import { animals, colors, Config, uniqueNamesGenerator } from 'unique-names-generator'; -import packageInfo from '../../../../../../package.json'; @Component({ selector: 'app-room-creator', @@ -27,9 +26,12 @@ import packageInfo from '../../../../../../package.json'; imports: [MatToolbar, MatIconButton, MatTooltip, MatIcon, FormsModule, ReactiveFormsModule, NgClass, MatButton] }) export class RoomCreatorComponent implements OnInit, OnDestroy { + version = ''; + openviduLogoUrl = ''; + backgroundImageUrl = ''; + roomForm: FormGroup; loginForm: FormGroup; - version = ''; isPrivateAccess = false; username = ''; loginError = false; @@ -44,7 +46,8 @@ export class RoomCreatorComponent implements OnInit, OnDestroy { private httpService: HttpService, // private callService: ConfigService, private fb: FormBuilder, - private route: ActivatedRoute + private route: ActivatedRoute, + private contextService: ContextService ) { this.loginForm = this.fb.group({ username: [ @@ -60,7 +63,9 @@ export class RoomCreatorComponent implements OnInit, OnDestroy { } async ngOnInit() { - this.version = packageInfo.version; + this.version = this.contextService.getVersion(); + this.openviduLogoUrl = this.contextService.getOpenViduLogoUrl(); + this.backgroundImageUrl = this.contextService.getBackgroundImageUrl(); this.subscribeToQueryParams(); try { diff --git a/frontend/projects/shared-meet-components/src/lib/services/context/context.service.ts b/frontend/projects/shared-meet-components/src/lib/services/context/context.service.ts index 180d538..d6c3f83 100644 --- a/frontend/projects/shared-meet-components/src/lib/services/context/context.service.ts +++ b/frontend/projects/shared-meet-components/src/lib/services/context/context.service.ts @@ -26,7 +26,10 @@ export class ContextService { mode: ApplicationMode.STANDALONE, edition: Edition.CE, leaveRedirectUrl: '', - parentDomain: '' + parentDomain: '', + version: '', + openviduLogoUrl: '', + backgroundImageUrl: '' }; private log; @@ -38,6 +41,30 @@ export class ContextService { this.log = this.loggerService.get('OpenVidu Meet - ContextService'); } + setVersion(version: string): void { + this.context.version = version; + } + + getVersion(): string { + return this.context.version; + } + + setOpenViduLogoUrl(openviduLogoUrl: string): void { + this.context.openviduLogoUrl = openviduLogoUrl; + } + + getOpenViduLogoUrl(): string { + return this.context.openviduLogoUrl; + } + + setBackgroundImageUrl(backgroundImageUrl: string): void { + this.context.backgroundImageUrl = backgroundImageUrl; + } + + getBackgroundImageUrl(): string { + return this.context.backgroundImageUrl; + } + /** * Sets the application mode. * @param mode - An ApplicationMode value representing the application mode. diff --git a/frontend/src/app/app.component.ts b/frontend/src/app/app.component.ts index 5f5cf81..86e97af 100644 --- a/frontend/src/app/app.component.ts +++ b/frontend/src/app/app.component.ts @@ -1,5 +1,7 @@ -import { Component } from '@angular/core'; +import { Component, OnInit } from '@angular/core'; import { RouterOutlet } from '@angular/router'; +import { ContextService } from 'shared-meet-components'; +import packageInfo from '../../package.json'; @Component({ selector: 'app-root', @@ -8,6 +10,12 @@ import { RouterOutlet } from '@angular/router'; standalone: true, imports: [RouterOutlet] }) -export class AppComponent { - title = 'OpenVidu Meet'; +export class AppComponent implements OnInit { + constructor(private contextService: ContextService) {} + + ngOnInit() { + this.contextService.setVersion(packageInfo.version); + this.contextService.setOpenViduLogoUrl('assets/images/openvidu_logo.png'); + this.contextService.setBackgroundImageUrl('/assets/images/bg.webp'); + } }