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.

styles.js 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. import { ColorPalette } from '../../base/styles';
  2. import { FILMSTRIP_SIZE } from '../constants';
  3. /**
  4. * Size for the Avatar.
  5. */
  6. export const AVATAR_SIZE = 50;
  7. /**
  8. * The base style of {@link Filmstrip} shared between narrow and wide versions.
  9. */
  10. const filmstrip = {
  11. flexGrow: 0
  12. };
  13. /**
  14. * The styles of the feature filmstrip common to both Web and native.
  15. */
  16. export default {
  17. /**
  18. * Dominant speaker indicator style.
  19. */
  20. dominantSpeakerIndicator: {
  21. color: ColorPalette.white,
  22. fontSize: 15
  23. },
  24. /**
  25. * Dominant speaker indicator background style.
  26. */
  27. dominantSpeakerIndicatorBackground: {
  28. backgroundColor: ColorPalette.blue,
  29. borderRadius: 15,
  30. left: 4,
  31. padding: 5,
  32. position: 'absolute',
  33. top: 4
  34. },
  35. /**
  36. * The style of the narrow {@link Filmstrip} version which displays
  37. * thumbnails in a row at the bottom of the screen.
  38. */
  39. filmstripNarrow: {
  40. ...filmstrip,
  41. flexDirection: 'row',
  42. justifyContent: 'flex-end',
  43. height: FILMSTRIP_SIZE
  44. },
  45. /**
  46. * The style of the wide {@link Filmstrip} version which displays thumbnails
  47. * in a column on the short size of the screen.
  48. *
  49. * NOTE: width is calculated based on the children, but it should also align
  50. * to {@code FILMSTRIP_SIZE}.
  51. */
  52. filmstripWide: {
  53. ...filmstrip,
  54. bottom: 0,
  55. flexDirection: 'column',
  56. position: 'absolute',
  57. right: 0,
  58. top: 0
  59. },
  60. /**
  61. * Container of the {@link LocalThumbnail}.
  62. */
  63. localThumbnail: {
  64. alignContent: 'stretch',
  65. alignSelf: 'stretch',
  66. aspectRatio: 1,
  67. flexShrink: 0,
  68. flexDirection: 'row'
  69. },
  70. /**
  71. * Moderator indicator style.
  72. */
  73. moderatorIndicator: {
  74. backgroundColor: 'transparent',
  75. bottom: 4,
  76. color: ColorPalette.white,
  77. position: 'absolute',
  78. right: 4
  79. },
  80. /**
  81. * The style of the scrollview containing the remote thumbnails.
  82. */
  83. scrollView: {
  84. flexGrow: 0
  85. },
  86. /**
  87. * The style of a participant's Thumbnail which renders either the video or
  88. * the avatar of the associated participant.
  89. */
  90. thumbnail: {
  91. alignItems: 'stretch',
  92. backgroundColor: ColorPalette.appBackground,
  93. borderColor: '#424242',
  94. borderRadius: 3,
  95. borderStyle: 'solid',
  96. borderWidth: 1,
  97. flex: 1,
  98. justifyContent: 'center',
  99. margin: 2,
  100. overflow: 'hidden',
  101. position: 'relative'
  102. },
  103. /**
  104. * The thumbnail audio and video muted indicator style.
  105. */
  106. thumbnailIndicator: {
  107. backgroundColor: 'transparent',
  108. color: ColorPalette.white,
  109. paddingLeft: 1,
  110. paddingRight: 1,
  111. position: 'relative'
  112. },
  113. /**
  114. * The thumbnails indicator container.
  115. */
  116. thumbnailIndicatorContainer: {
  117. alignSelf: 'stretch',
  118. bottom: 4,
  119. flex: 1,
  120. flexDirection: 'row',
  121. left: 4,
  122. position: 'absolute'
  123. },
  124. /**
  125. * Pinned video thumbnail style.
  126. */
  127. thumbnailPinned: {
  128. borderColor: ColorPalette.blue,
  129. shadowColor: ColorPalette.black,
  130. shadowOffset: {
  131. height: 5,
  132. width: 5
  133. },
  134. shadowRadius: 5
  135. },
  136. tileView: {
  137. alignSelf: 'center'
  138. },
  139. tileViewRows: {
  140. justifyContent: 'center'
  141. },
  142. tileViewRow: {
  143. flexDirection: 'row',
  144. justifyContent: 'center'
  145. }
  146. };