From 719d1d1cf1ba8f04237712c4eec6c12643f693e3 Mon Sep 17 00:00:00 2001 From: Sean Date: Fri, 10 Jul 2020 14:51:16 +0200 Subject: [PATCH] Improve Jitsi UI Some slight jitsi/stream look and feel improvements The "closed door" now has a tooltip "add yourseld to los to enter conference" Use "keyboard_hide" to indicate minimize/hide Hide the potentially obsolete quick controls when the full jitsi dialog is open Use the "voice_chat" icon to indicate showing the full jitsi dialog Remove "hangup" "raise hand" and "help" from the jitsi iframe Add hangup and leave to the jitsi dialog in replacement of hangup in the iFrame The "enter live conference" icon is now highlighted by a fade animation --- .../components/jitsi/jitsi.component.html | 91 +++++++++++++------ .../components/jitsi/jitsi.component.scss | 30 ++++++ .../jitsi/jitsi.component.scss-theme.scss | 2 +- .../components/jitsi/jitsi.component.ts | 37 ++++++-- 4 files changed, 124 insertions(+), 36 deletions(-) diff --git a/client/src/app/shared/components/jitsi/jitsi.component.html b/client/src/app/shared/components/jitsi/jitsi.component.html index b4a1f51cb..869a1df36 100644 --- a/client/src/app/shared/components/jitsi/jitsi.component.html +++ b/client/src/app/shared/components/jitsi/jitsi.component.html @@ -3,34 +3,54 @@
- - open_in_new - +
+ + open_in_new + +
- +
+ +
+ +
+ +
-
- +
+ - no_meeting_room + + no_meeting_room + @@ -88,7 +121,7 @@
diff --git a/client/src/app/shared/components/jitsi/jitsi.component.scss b/client/src/app/shared/components/jitsi/jitsi.component.scss index 4a5ce3a90..b2d1f89f4 100644 --- a/client/src/app/shared/components/jitsi/jitsi.component.scss +++ b/client/src/app/shared/components/jitsi/jitsi.component.scss @@ -20,6 +20,20 @@ .jitsi-dialog-actions { display: flex; justify-content: space-between; + + div { + min-width: 33%; + display: flex; + } + + .dialog-hangup { + margin-left: auto; + margin-right: auto; + } + + .dialog-hide { + margin-left: auto; + } } } } @@ -59,6 +73,22 @@ text-align: center; margin: auto $wrapper-padding auto 0; } + + /** + * appear animation + */ + @keyframes fade-in-out { + from { + opacity: 100%; + } + to { + opacity: 25%; + } + } + + .enter-meeting-room { + animation: fade-in-out 1s linear infinite alternate; + } } .stream-width-wrapper { diff --git a/client/src/app/shared/components/jitsi/jitsi.component.scss-theme.scss b/client/src/app/shared/components/jitsi/jitsi.component.scss-theme.scss index 0132a0439..9cd3bea97 100644 --- a/client/src/app/shared/components/jitsi/jitsi.component.scss-theme.scss +++ b/client/src/app/shared/components/jitsi/jitsi.component.scss-theme.scss @@ -3,7 +3,7 @@ @mixin os-jitsi-theme($theme) { $primary: map-get($theme, primary); $accent: map-get($theme, accent); - $warn: map-get($theme, accent); + $warn: map-get($theme, warn); $foreground: map-get($theme, foreground); $background: map-get($theme, background); diff --git a/client/src/app/shared/components/jitsi/jitsi.component.ts b/client/src/app/shared/components/jitsi/jitsi.component.ts index 6c653f92a..762923373 100644 --- a/client/src/app/shared/components/jitsi/jitsi.component.ts +++ b/client/src/app/shared/components/jitsi/jitsi.component.ts @@ -120,12 +120,12 @@ export class JitsiComponent extends BaseViewComponent implements OnInit, OnDestr private isOnCurrentLos: boolean; + public get canManageSpeaker(): boolean { + return this.operator.hasPerms(this.permission.agendaCanManageListOfSpeakers); + } + public get isAccessPermitted(): boolean { - return ( - !this.restricted || - this.operator.hasPerms(this.permission.agendaCanManageListOfSpeakers) || - this.isOnCurrentLos - ); + return !this.restricted || this.canManageSpeaker || this.isOnCurrentLos; } public get jitsiMeetUrl(): string { @@ -160,7 +160,32 @@ export class JitsiComponent extends BaseViewComponent implements OnInit, OnDestr DISABLE_JOIN_LEAVE_NOTIFICATIONS: true, DISABLE_PRESENCE_STATUS: true, TOOLBAR_ALWAYS_VISIBLE: true, - TOOLBAR_TIMEOUT: 10000000 + TOOLBAR_TIMEOUT: 10000000, + TOOLBAR_BUTTONS: [ + 'microphone', + 'camera', + 'desktop', + 'fullscreen', + 'fodeviceselection', + 'profile', + 'chat', + 'recording', + 'livestreaming', + 'etherpad', + 'sharedvideo', + 'settings', + 'videoquality', + 'filmstrip', + 'invite', + 'feedback', + 'stats', + 'shortcuts', + 'tileview', + 'download', + 'help', + 'mute-everyone', + 'security' + ] }; public constructor(