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

actions.native.js 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { doGetJSON } from '../base/util';
  2. import { UNSET_DYNAMIC_BRANDING } from './actionTypes';
  3. import {
  4. setDynamicBrandingData,
  5. setDynamicBrandingFailed,
  6. setDynamicBrandingReady
  7. } from './actions.any';
  8. import { getDynamicBrandingUrl } from './functions.any';
  9. import logger from './logger';
  10. /**
  11. * Fetches custom branding data.
  12. * If there is no data or the request fails, sets the `customizationReady` flag
  13. * so the defaults can be displayed.
  14. *
  15. * @returns {Function}
  16. */
  17. export function fetchCustomBrandingData() {
  18. return async function(dispatch: Function, getState: Function) {
  19. const state = getState();
  20. const dynamicBrandingUrl = await getDynamicBrandingUrl(state);
  21. if (dynamicBrandingUrl) {
  22. try {
  23. return dispatch(
  24. setDynamicBrandingData(
  25. await doGetJSON(dynamicBrandingUrl))
  26. );
  27. } catch (err) {
  28. logger.error('Error fetching branding data', err);
  29. return dispatch(
  30. setDynamicBrandingFailed()
  31. );
  32. }
  33. } else {
  34. dispatch(unsetDynamicBranding());
  35. }
  36. dispatch(setDynamicBrandingReady());
  37. };
  38. }
  39. /**
  40. * Action used to unset branding elements.
  41. *
  42. * @returns {Object}
  43. */
  44. export function unsetDynamicBranding() {
  45. return {
  46. type: UNSET_DYNAMIC_BRANDING
  47. };
  48. }