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.9KB

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