diff --git a/src/resources/js/meet/app.js b/src/resources/js/meet/app.js --- a/src/resources/js/meet/app.js +++ b/src/resources/js/meet/app.js @@ -96,6 +96,7 @@ * channel - Selected interpreted language channel (two-letter language code) * languages - Supported languages (code-to-label map) * chatElement - DOM element for the chat widget, + * counterElement - DOM element for the participants counter, * menuElement - DOM element of the room toolbar, * queueElement - DOM element for the Q&A queue (users with a raised hand) * onSuccess - Callback for session connection (join) success @@ -1387,6 +1388,10 @@ let publishers = $(publishersContainer).find('.meet-video') let numOfVideos = publishers.length + if (sessionData && sessionData.counterElement) { + sessionData.counterElement.innerHTML = Object.keys(connections).length + 1 + } + if (!numOfVideos) { return } diff --git a/src/resources/themes/meet.scss b/src/resources/themes/meet.scss --- a/src/resources/themes/meet.scss +++ b/src/resources/themes/meet.scss @@ -176,6 +176,18 @@ flex: 1; } +#meet-counter { + position: absolute; + left: 0; + padding: 1.1em 0.6em; + color: #808c99; + + svg { + font-size: 1.4em; + vertical-align: text-bottom; + } +} + #meet-session-toolbar { display: flex; justify-content: center; @@ -185,22 +197,38 @@ background: #f6f5f3; border-radius: 0 2em 2em 0; margin: 0.25em 0; + padding-right: 0.5em; button { font-size: 1.3em; - padding: 0 0.25em; - margin: 0.5em; + margin: 0.4em; position: relative; + color: #4f5963; + width: 1.75em; + height: 1.75em; + display: inline-flex; + align-items: center; + justify-content: center; + + &.on:not(:disabled) { + background: #4f5963; + color: white; + } .badge { font-size: 0.5em; position: absolute; right: -0.5em; + top: -0.5em; &:empty { display: none; } } + + svg { + width: 1em; + } } } @@ -214,7 +242,7 @@ img { height: 1.25em; - padding: 0 1.5em; + padding: 0 1em 0 1.5em; } } @@ -279,6 +307,8 @@ width: 0; display: none; flex-direction: column; + background: $body-bg; + padding-top: 0.25em; &.open { width: 30%; @@ -287,7 +317,6 @@ .mobile & { width: 100%; z-index: 1; - background: $body-bg; } } @@ -301,7 +330,7 @@ margin: 0 0.5em 0.5em 0.5em; padding: 0.25em 0.5em; border-radius: 1em; - background: $menu-bg-color; + background: #fff; overflow-wrap: break-word; &.self { @@ -449,3 +478,16 @@ } } } + +@include media-breakpoint-down(xs) { + #meet-setup { + .card-title { + text-align: center; + } + } + + .media-setup-preview { + // Fix video element size in Safari/iOS + display: block; + } +} diff --git a/src/resources/vue/Meet/Room.vue b/src/resources/vue/Meet/Room.vue --- a/src/resources/vue/Meet/Room.vue +++ b/src/resources/vue/Meet/Room.vue @@ -1,22 +1,25 @@