Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

middleware.native.ts 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { SET_CONFIG } from '../base/config/actionTypes';
  2. import MiddlewareRegistry from '../base/redux/MiddlewareRegistry';
  3. import { SET_DYNAMIC_BRANDING_DATA } from './actionTypes';
  4. import { fetchCustomBrandingData } from './actions.native';
  5. import './middleware.any';
  6. MiddlewareRegistry.register(store => next => action => {
  7. switch (action.type) {
  8. case SET_CONFIG: {
  9. const result = next(action);
  10. store.dispatch(fetchCustomBrandingData());
  11. return result;
  12. }
  13. case SET_DYNAMIC_BRANDING_DATA: {
  14. const {
  15. avatarBackgrounds = [],
  16. backgroundColor,
  17. backgroundImageUrl,
  18. brandedIcons,
  19. didPageUrl,
  20. downloadAppsUrl,
  21. inviteDomain,
  22. labels,
  23. liveStreamingDialogUrls,
  24. salesforceUrl,
  25. sharedVideoAllowedURLDomains,
  26. supportUrl,
  27. userDocumentationUrl
  28. } = action.value;
  29. action.value = {
  30. avatarBackgrounds,
  31. backgroundColor,
  32. backgroundImageUrl,
  33. brandedIcons,
  34. didPageUrl,
  35. downloadAppsUrl,
  36. inviteDomain,
  37. labels,
  38. liveStreamingDialogUrls,
  39. salesforceUrl,
  40. sharedVideoAllowedURLDomains,
  41. supportUrl,
  42. userDocumentationUrl
  43. };
  44. // The backend may send an empty string, make sure we skip that.
  45. if (Array.isArray(avatarBackgrounds)) {
  46. // TODO: implement support for gradients.
  47. action.value.avatarBackgrounds = avatarBackgrounds.filter(
  48. (color: string) => !color.includes('linear-gradient')
  49. );
  50. }
  51. break;
  52. }
  53. }
  54. return next(action);
  55. });