add redux action for update

This commit is contained in:
kresnaputra 2021-03-19 13:30:21 +08:00
parent 2f3b5666d6
commit 19aae146c6
4 changed files with 15 additions and 2 deletions

View File

@ -66,7 +66,7 @@ export const INVITE_LINKS = createRequestTypes('INVITE_LINKS', [
'CLEAR',
...defaultTypes
]);
export const SETTINGS = createRequestTypes('SETTINGS', ['CLEAR', 'ADD']);
export const SETTINGS = createRequestTypes('SETTINGS', ['CLEAR', 'ADD', 'UPDATE']);
export const APP_STATE = createRequestTypes('APP_STATE', ['FOREGROUND', 'BACKGROUND']);
export const ENTERPRISE_MODULES = createRequestTypes('ENTERPRISE_MODULES', ['CLEAR', 'SET']);
export const ENCRYPTION = createRequestTypes('ENCRYPTION', ['INIT', 'STOP', 'DECODE_KEY', 'SET', 'SET_BANNER']);

View File

@ -7,6 +7,13 @@ export function addSettings(settings) {
};
}
export function updateSettings(id, value) {
return {
type: SETTINGS.UPDATE,
payload: { id, value }
};
}
export function clearSettings() {
return {
type: SETTINGS.CLEAR

View File

@ -62,6 +62,7 @@ import UserPreferences from './userPreferences';
import { Encryption } from './encryption';
import EventEmitter from '../utils/events';
import { sanitizeLikeString } from './database/utils';
import { updateSettings } from '../actions/settings';
const TOKEN_KEY = 'reactnativemeteor_usertoken';
const CURRENT_SERVER = 'currentServer';
@ -303,7 +304,7 @@ const RocketChat = {
u._raw.value_as_boolean = value;
});
});
setSettings();
reduxStore.dispatch(updateSettings(_id, value));
} catch (err) {
console.log(err);
}

View File

@ -9,6 +9,11 @@ export default (state = initialState, action) => {
...state,
...action.payload
};
case SETTINGS.UPDATE:
return {
...state,
[action.payload.id]: action.payload.value
};
case SETTINGS.CLEAR:
return initialState;
default: