Files
jitsi-meet/react/features/dynamic-branding/actions.native.js
Calinteodor f3f9cd3d05 feat(dynamic-branding) add initial mobile SDK customization
* feat(dynamic-branding) sdk customization

* feat(dynamic-branding) unsetDynamicBranding when we disconnect

* feat(dynamic-branding) added branding colors to conference

* feat(dynamic-branding) extracted logger to its own file

* feat(dynamic-branding) reverted style change

* feat(dynamic-branding) unset branding if connection failed

* feat(dynamic-branding) removed index.js, updated imports, added ImageBackground component

* feat(dynamic-branding) created logger feature object

* feat(dynamic-branding) moved brandingStyles to mapStateToProps, used SvGUri

* feat(dynamic-branding) created BrandingImageBackground component, fixed styles

* feat(dynamic-branding) moved BrandingImageBackground to dynamic-branding feature

* feat(dynamic-branding) fixed linter

* feat(dynamic-branding) added style comment
2022-05-23 17:02:14 +02:00

55 lines
1.3 KiB
JavaScript

import { doGetJSON } from '../base/util';
import { UNSET_DYNAMIC_BRANDING } from './actionTypes';
import {
setDynamicBrandingData,
setDynamicBrandingFailed,
setDynamicBrandingReady
} from './actions.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 } = state['features/base/config'];
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
};
}