You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

_vertical_filmstrip_overrides.scss 4.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. /**
  2. * Override other styles to support vertical filmstrip mode.
  3. */
  4. .vertical-filmstrip {
  5. .filmstrip {
  6. align-items: flex-end;
  7. box-sizing: border-box;
  8. display: flex;
  9. flex-direction: column-reverse;
  10. height: 100%;
  11. /**
  12. * Hide videos by making them slight to the right.
  13. */
  14. .filmstrip__videos {
  15. right: 0;
  16. transition: right 2s;
  17. &.hidden {
  18. bottom: auto;
  19. right: -196px;
  20. }
  21. }
  22. #filmstripLocalVideo {
  23. height: auto;
  24. justify-content: flex-end;
  25. }
  26. /**
  27. * Remove unnecssary padding that is normally used to prevent horizontal
  28. * filmstrip from overlapping the left edge of the screen.
  29. */
  30. #filmstripLocalVideo,
  31. #filmstripRemoteVideos {
  32. padding: 0;
  33. }
  34. #filmstripRemoteVideos {
  35. display: flex;
  36. flex: 1;
  37. flex-direction: column;
  38. height: auto;
  39. overflow-x: hidden !important;
  40. .remote-videos-container {
  41. flex-direction: column;
  42. }
  43. }
  44. /**
  45. * Rotate the hide filmstrip icon so it points towards the right edge
  46. * of the screen.
  47. */
  48. &__toolbar {
  49. transform: rotate(-90deg);
  50. }
  51. /**
  52. * Move the remote video menu trigger to the bottom left of the
  53. * video thumbnail.
  54. */
  55. .remotevideomenu {
  56. bottom: 0;
  57. left: 0;
  58. top: auto;
  59. right: auto;
  60. transform: translate3d(0,0,0) rotate(-90deg);
  61. }
  62. #remoteVideos {
  63. flex-direction: column-reverse;
  64. flex-grow: 1;
  65. }
  66. .videocontainer {
  67. &__toolbar,
  68. &__toptoolbar {
  69. transform: translate3d(0,0,0);
  70. }
  71. /**
  72. * Move status icons to the bottom right of the thumbnail.
  73. */
  74. &__toolbar {
  75. text-align: right;
  76. .toolbar-icon {
  77. float: none;
  78. margin: auto;
  79. }
  80. }
  81. }
  82. }
  83. &.filmstrip-only {
  84. .filmstrip {
  85. flex-direction: row-reverse;
  86. }
  87. .filmstrip__videos-filmstripOnly {
  88. height: 100%;
  89. }
  90. /**
  91. * In filmstrip only mode, the toolbar is normally displayed in the
  92. * vertical center of the filmstrip strip. In vertical filmstrip mode,
  93. * that alignment makes the toolbar appear floating and detached from
  94. * the filmstrip. So, instead anchor the toolbar next to the local
  95. * video.
  96. */
  97. .toolbar_filmstrip-only {
  98. bottom: 0;
  99. top: auto;
  100. transform: none;
  101. }
  102. }
  103. /**
  104. * These styles are for the video labels that display on the top right. The
  105. * styles adjust the labels' positioning as the filmstrip itself or
  106. * filmstrip's remote videos appear and disappear.
  107. *
  108. * The class with-filmstrip is for when the filmstrip is visible.
  109. * The class without-filmstrip is for when the filmstrip has been toggled to
  110. * be hidden.
  111. * The class opening is for when the filmstrip is transitioning from hidden
  112. * to visible.
  113. * The class with-remote-videos is for when the filmstrip has remote videos
  114. * displayed, as opposed to 1-on-1 mode where they might be hidden.
  115. * The class without-remote-videos is for when the filmstrip is visible
  116. * but it has no videos to display.
  117. */
  118. .video-state-indicator.moveToCorner {
  119. transition: right 0.5s;
  120. &.with-filmstrip.with-remote-videos {
  121. &#recordingLabel {
  122. right: 200px;
  123. }
  124. &#videoResolutionLabel {
  125. right: 150px;
  126. }
  127. }
  128. &.with-filmstrip.without-remote-videos {
  129. transition-delay: 0.5s;
  130. }
  131. &.with-filmstrip.with-remote-videos.opening {
  132. transition: 0.9s;
  133. transition-timing-function: ease-in-out;
  134. }
  135. &.without-filmstrip {
  136. transition: 1.2s ease-in-out;
  137. transition-delay: 0.1s;
  138. }
  139. }
  140. /**
  141. * Move toastr closer to the bottom of the screen and move left to avoid
  142. * overlapping of videos when they are configured at default height.
  143. */
  144. #toast-container {
  145. &.notification-bottom-right {
  146. bottom: 25px;
  147. right: 130 + 2 * ($thumbnailVideoMargin + $thumbnailsBorder) + $thumbnailVideoBorder;
  148. }
  149. }
  150. }