Apply non-blank default BrandColor only when API and soapbox.json methods fail, and only when API and/or JSON method succeeds, but brandColor value is blank

This commit is contained in:
Curtis ROck 2020-08-31 22:00:11 -05:00
parent c8e6bd9540
commit b337a4560e
2 changed files with 17 additions and 3 deletions

View File

@ -7,7 +7,7 @@ export const SOAPBOX_CONFIG_REQUEST_FAIL = 'SOAPBOX_CONFIG_REQUEST_FAIL';
export const defaultConfig = ImmutableMap({ export const defaultConfig = ImmutableMap({
logo: '', logo: '',
banner: '', banner: '',
brandColor: '#0482d8', // Azure brandColor: '', // Empty
customCss: ImmutableList(), customCss: ImmutableList(),
promoPanel: ImmutableMap({ promoPanel: ImmutableMap({
items: ImmutableList(), items: ImmutableList(),
@ -48,7 +48,13 @@ export function fetchSoapboxJson() {
}; };
} }
export function importSoapboxConfig(soapboxConfig) { export function importSoapboxConfig(soapboxConfig, getIn) {
if(soapboxConfig.get('brandColor') === '') {
const defaultBrandColor = ImmutableMap({
brandColor: '#0482d8', // Azure
});
defaultBrandColor.mergeDeep(soapboxConfig);
};
return { return {
type: SOAPBOX_CONFIG_REQUEST_SUCCESS, type: SOAPBOX_CONFIG_REQUEST_SUCCESS,
soapboxConfig, soapboxConfig,

View File

@ -1,5 +1,8 @@
import { ADMIN_CONFIG_UPDATE_SUCCESS } from '../actions/admin'; import { ADMIN_CONFIG_UPDATE_SUCCESS } from '../actions/admin';
import { SOAPBOX_CONFIG_REQUEST_SUCCESS } from '../actions/soapbox'; import {
SOAPBOX_CONFIG_REQUEST_SUCCESS,
SOAPBOX_CONFIG_REQUEST_FAIL,
} from '../actions/soapbox';
import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable'; import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
import { ConfigDB } from 'soapbox/utils/config_db'; import { ConfigDB } from 'soapbox/utils/config_db';
@ -22,6 +25,11 @@ export default function soapbox(state = initialState, action) {
switch(action.type) { switch(action.type) {
case SOAPBOX_CONFIG_REQUEST_SUCCESS: case SOAPBOX_CONFIG_REQUEST_SUCCESS:
return fromJS(action.soapboxConfig); return fromJS(action.soapboxConfig);
case SOAPBOX_CONFIG_REQUEST_FAIL:
const defaultBrandColor = ImmutableMap({
brandColor: '#0482d8', // Azure
});
return defaultBrandColor.mergeDeep(state.get('soapbox'));
case ADMIN_CONFIG_UPDATE_SUCCESS: case ADMIN_CONFIG_UPDATE_SUCCESS:
return updateFromAdmin(state, fromJS(action.config)); return updateFromAdmin(state, fromJS(action.config));
default: default: