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', 'CLEAR',
...defaultTypes ...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 APP_STATE = createRequestTypes('APP_STATE', ['FOREGROUND', 'BACKGROUND']);
export const ENTERPRISE_MODULES = createRequestTypes('ENTERPRISE_MODULES', ['CLEAR', 'SET']); export const ENTERPRISE_MODULES = createRequestTypes('ENTERPRISE_MODULES', ['CLEAR', 'SET']);
export const ENCRYPTION = createRequestTypes('ENCRYPTION', ['INIT', 'STOP', 'DECODE_KEY', 'SET', 'SET_BANNER']); 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() { export function clearSettings() {
return { return {
type: SETTINGS.CLEAR type: SETTINGS.CLEAR

View File

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

View File

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