| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import { doGetJSON } from '../base/util';
-
- import { UNSET_DYNAMIC_BRANDING } from './actionTypes';
- import {
- setDynamicBrandingData,
- setDynamicBrandingFailed,
- setDynamicBrandingReady
- } from './actions.any';
- import { getDynamicBrandingUrl } from './functions.any';
- import logger from './logger';
-
-
- /**
- * Fetches custom branding data.
- * If there is no data or the request fails, sets the `customizationReady` flag
- * so the defaults can be displayed.
- *
- * @returns {Function}
- */
- export function fetchCustomBrandingData() {
- return async function(dispatch: Function, getState: Function) {
- const state = getState();
- const dynamicBrandingUrl = await getDynamicBrandingUrl(state);
-
- if (dynamicBrandingUrl) {
- try {
- return dispatch(
- setDynamicBrandingData(
- await doGetJSON(dynamicBrandingUrl))
- );
- } catch (err) {
- logger.error('Error fetching branding data', err);
-
- return dispatch(
- setDynamicBrandingFailed()
- );
- }
- } else {
- dispatch(unsetDynamicBranding());
- }
-
- dispatch(setDynamicBrandingReady());
- };
- }
-
- /**
- * Action used to unset branding elements.
- *
- * @returns {Object}
- */
- export function unsetDynamicBranding() {
- return {
- type: UNSET_DYNAMIC_BRANDING
- };
- }
|