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.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // @flow
  2. import { StyleSheet } from 'react-native';
  3. import { ColorPalette } from '../../../styles';
  4. const DEFAULT_SIZE = 65;
  5. /**
  6. * The styles of the feature base/participants.
  7. */
  8. export default {
  9. avatarContainer: (size: number = DEFAULT_SIZE) => {
  10. return {
  11. alignItems: 'center',
  12. borderRadius: size / 2,
  13. height: size,
  14. justifyContent: 'center',
  15. overflow: 'hidden',
  16. width: size
  17. };
  18. },
  19. avatarContent: (size: number = DEFAULT_SIZE) => {
  20. return {
  21. height: size,
  22. width: size
  23. };
  24. },
  25. badge: (size: number = DEFAULT_SIZE, status: string) => {
  26. let color;
  27. switch (status) {
  28. case 'available':
  29. color = 'rgb(110, 176, 5)';
  30. break;
  31. case 'away':
  32. color = 'rgb(250, 201, 20)';
  33. break;
  34. case 'busy':
  35. color = 'rgb(233, 0, 27)';
  36. break;
  37. case 'idle':
  38. color = 'rgb(172, 172, 172)';
  39. break;
  40. }
  41. return {
  42. backgroundColor: color,
  43. borderRadius: size / 2,
  44. bottom: 0,
  45. height: size * 0.3,
  46. position: 'absolute',
  47. width: size * 0.3
  48. };
  49. },
  50. badgeContainer: {
  51. ...StyleSheet.absoluteFillObject
  52. },
  53. initialsContainer: {
  54. alignItems: 'center',
  55. alignSelf: 'stretch',
  56. flex: 1,
  57. justifyContent: 'center'
  58. },
  59. initialsText: (size: number = DEFAULT_SIZE) => {
  60. return {
  61. color: 'white',
  62. fontSize: size * 0.45,
  63. fontWeight: '100'
  64. };
  65. },
  66. staticAvatar: {
  67. backgroundColor: ColorPalette.lightGrey,
  68. opacity: 0.4
  69. }
  70. };