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.

_tile_view.scss 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. /**
  2. * CSS styles that are specific to the filmstrip that shows the thumbnail tiles.
  3. */
  4. .tile-view {
  5. /**
  6. * Add a border around the active speaker to make the thumbnail easier to
  7. * see.
  8. */
  9. .active-speaker {
  10. box-shadow: 0 0 5px 3px $videoThumbnailSelected
  11. }
  12. #filmstripRemoteVideos {
  13. align-items: center;
  14. box-sizing: border-box;
  15. display: flex;
  16. flex-direction: column;
  17. height: 100%;
  18. width: 100%;
  19. }
  20. .filmstrip__videos .videocontainer {
  21. &:not(.active-speaker),
  22. &:hover:not(.active-speaker) {
  23. border: none;
  24. box-shadow: none;
  25. }
  26. }
  27. #remoteVideos {
  28. /**
  29. * Height is modified with an inline style in horizontal filmstrip mode
  30. * so !important is used to override that.
  31. */
  32. height: 100% !important;
  33. width: 100%;
  34. }
  35. .filmstrip {
  36. align-items: center;
  37. display: flex;
  38. height: 100%;
  39. justify-content: center;
  40. left: 0;
  41. position: absolute;
  42. top: 0;
  43. width: 100%;
  44. @media (min-width: 581px) {
  45. &.shift-right {
  46. margin-left: $sidebarWidth;
  47. width: calc(100% - #{$sidebarWidth});
  48. }
  49. }
  50. }
  51. /**
  52. * Regardless of the user setting, do not let the filmstrip be in a hidden
  53. * state.
  54. */
  55. .filmstrip__videos.hidden {
  56. display: block;
  57. }
  58. #filmstripRemoteVideos {
  59. box-sizing: border-box;
  60. /**
  61. * Allow vertical scrolling of the thumbnails.
  62. */
  63. overflow-x: hidden;
  64. overflow-y: auto;
  65. }
  66. /**
  67. * The size of the thumbnails should be set with javascript, based on
  68. * desired column count and window width. The rows are created using flex
  69. * and allowing the thumbnails to wrap.
  70. */
  71. #filmstripRemoteVideosContainer {
  72. align-content: center;
  73. align-items: center;
  74. box-sizing: border-box;
  75. display: flex;
  76. flex-wrap: wrap;
  77. flex-shrink: 0;
  78. margin-top: auto;
  79. margin-bottom: auto;
  80. justify-content: center;
  81. .videocontainer {
  82. border: 0;
  83. box-sizing: border-box;
  84. display: block;
  85. margin: 2px;
  86. }
  87. video {
  88. object-fit: contain;
  89. }
  90. /**
  91. * Max-width corresponding to the ASPECT_RATIO_BREAKPOINT from features/filmstrip/constants.
  92. */
  93. @media only screen and (max-width: 500px) {
  94. video {
  95. object-fit: cover;
  96. }
  97. }
  98. }
  99. .has-overflow#filmstripRemoteVideosContainer {
  100. align-content: baseline;
  101. }
  102. .has-overflow .videocontainer {
  103. align-self: baseline;
  104. }
  105. }
  106. .shift-right #filmstripRemoteVideosContainer {
  107. /**
  108. * Max-width corresponding to the ASPECT_RATIO_BREAKPOINT from features/filmstrip/constants,
  109. * from which we subtract the chat size.
  110. */
  111. @media only screen and (max-width: calc(500px + #{$sidebarWidth})) {
  112. video {
  113. object-fit: cover;
  114. }
  115. }
  116. }