Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--css/icons.scss10
-rw-r--r--src/FilesSidebarCallViewApp.vue39
2 files changed, 42 insertions, 7 deletions
diff --git a/css/icons.scss b/css/icons.scss
index 20d03346c..82a0ee6c9 100644
--- a/css/icons.scss
+++ b/css/icons.scss
@@ -8,7 +8,8 @@
@include icon-black-white('emoji-smile', 'spreed', 1);
@include icon-black-white('lobby', 'spreed', 1);
-.app-Talk {
+.app-Talk,
+#call-container {
// We always want to use the white icons, this is why we don't use var(--color-white) here.
.icon-public {
background-image: url(icon-color-path('public', 'actions', 'fff', 1, true));
@@ -87,3 +88,10 @@
color: var(--color-primary-text);
}
}
+
+.app-files {
+ // Needed to use white color also in dark mode.
+ .app-sidebar__close.forced-white {
+ background-image: url(icon-color-path('close', 'actions', 'fff', 1, true));
+ }
+}
diff --git a/src/FilesSidebarCallViewApp.vue b/src/FilesSidebarCallViewApp.vue
index b663a7cd7..65802f3c6 100644
--- a/src/FilesSidebarCallViewApp.vue
+++ b/src/FilesSidebarCallViewApp.vue
@@ -19,18 +19,21 @@
-->
<template>
- <p v-show="isInCall">
- Call in progress
- </p>
+ <CallView v-show="isInCall" :token="token" />
</template>
<script>
import { PARTICIPANT } from './constants'
+import CallView from './components/CallView/CallView'
export default {
name: 'FilesSidebarCallViewApp',
+ components: {
+ CallView,
+ },
+
data() {
return {
// Needed for reactivity.
@@ -108,7 +111,7 @@ export default {
// property in styleSheet objects. Therefore it is necessary to
// check the rules themselves, but as the order is undefined a
// matching rule needs to be looked for in all of them.
- if (sheet.cssRules.length !== 1) {
+ if (sheet.cssRules.length !== 2) {
continue
}
@@ -126,6 +129,12 @@ export default {
// "insertRule" calls below need to be kept in sync with the
// condition above.
+ // Shadow is added to forced white icons to ensure that they are
+ // visible even against a bright video background.
+ // White color of forced white icons needs to be set in "icons.scss"
+ // file to be able to use the SCSS functions.
+ style.sheet.insertRule('.app-sidebar-header .forced-white { filter: drop-shadow(1px 1px 4px var(--color-box-shadow)); }', 0)
+
style.sheet.insertRule('.app-sidebar-header .hidden-by-call { display: none !important; }', 0)
},
@@ -144,7 +153,9 @@ export default {
for (let i = 0; i < header.children.length; i++) {
const headerChild = header.children[i]
- if (!headerChild.classList.contains('app-sidebar__close')) {
+ if (headerChild.classList.contains('app-sidebar__close')) {
+ headerChild.classList.add('forced-white')
+ } else {
headerChild.classList.add('hidden-by-call')
}
}
@@ -165,7 +176,9 @@ export default {
for (let i = 0; i < header.children.length; i++) {
const headerChild = header.children[i]
- if (!headerChild.classList.contains('app-sidebar__close')) {
+ if (headerChild.classList.contains('app-sidebar__close')) {
+ headerChild.classList.remove('forced-white')
+ } else {
headerChild.classList.remove('hidden-by-call')
}
}
@@ -178,3 +191,17 @@ export default {
},
}
</script>
+
+<style lang="scss" scoped>
+#call-container {
+ position: relative;
+
+ /* Prevent shadows of videos from leaking on other elements. */
+ overflow: hidden;
+
+ /* Show the call container in a 16/9 proportion based on the sidebar
+ * width. */
+ padding-bottom: 56.25%;
+ max-height: 56.25%;
+}
+</style>