mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-18 13:50:31 +00:00
36 lines
817 B
JavaScript
36 lines
817 B
JavaScript
import { camelCase } from 'lodash';
|
|
import { createReducer } from '@reduxjs/toolkit';
|
|
import t from 'store/types';
|
|
import { optionsArrayToMap } from 'utils';
|
|
const initialState = {
|
|
data: {
|
|
organization: {
|
|
name: 'Bigcapital, Limited Liabilities',
|
|
},
|
|
manualJournals: {},
|
|
bills: {},
|
|
billPayments: {},
|
|
salesEstimates: {},
|
|
},
|
|
};
|
|
|
|
export default createReducer(initialState, {
|
|
[t.SETTING_SET]: (state, action) => {
|
|
const { options } = action;
|
|
const _data = {
|
|
...state.data,
|
|
};
|
|
options.forEach((option) => {
|
|
const { key, group, value } = option;
|
|
const _group = camelCase(group);
|
|
const _key = camelCase(key);
|
|
|
|
if (!_data[_group]) {
|
|
_data[_group] = {};
|
|
}
|
|
_data[_group][_key] = value;
|
|
});
|
|
state.data = _data;
|
|
},
|
|
});
|