diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/videoconference/videoconference.component.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/videoconference/videoconference.component.ts index 742031b6..38fd90e4 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/videoconference/videoconference.component.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/videoconference/videoconference.component.ts @@ -238,16 +238,20 @@ export class VideoconferenceComponent implements OnInit, OnDestroy, AfterViewIni */ @Input() set tokens(tokens: TokenModel) { - if (!tokens || (!tokens.webcam && !tokens.screen)) { - //No tokens received - // throw new Error('No tokens received'); + if (!tokens || !tokens.webcam) { this.log.w('No tokens received'); } else { - if (tokens.webcam || tokens.screen) { - this.tokenService.setWebcamToken(tokens.webcam); + this.log.w('Tokens received'); + this.tokenService.setWebcamToken(tokens.webcam); + + if(tokens.screen) { this.tokenService.setScreenToken(tokens.screen); - this.canPublish = true; + } else { + // Hide screenshare button if screen token does not exist + this.libService.screenshareButton.next(false); + this.log.w('No screen token found. Screenshare feature will be disabled'); } + this.canPublish = true; } } diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/models/token.model.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/models/token.model.ts index 4ba22493..d3ec1cc0 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/models/token.model.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/models/token.model.ts @@ -3,5 +3,5 @@ */ export interface TokenModel { webcam: string; - screen: string; + screen?: string; }