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

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