You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.0 KiB
52 lines
1.0 KiB
import { SETTING_CHANGE } from '../actions/settings'; |
|
import { STORE_HYDRATE } from '../actions/store'; |
|
import Immutable from 'immutable'; |
|
|
|
const initialState = Immutable.Map({ |
|
onboarded: false, |
|
|
|
home: Immutable.Map({ |
|
shows: Immutable.Map({ |
|
reblog: true, |
|
reply: true |
|
}), |
|
|
|
regex: Immutable.Map({ |
|
body: '' |
|
}) |
|
}), |
|
|
|
notifications: Immutable.Map({ |
|
alerts: Immutable.Map({ |
|
follow: true, |
|
favourite: true, |
|
reblog: true, |
|
mention: true |
|
}), |
|
|
|
shows: Immutable.Map({ |
|
follow: true, |
|
favourite: true, |
|
reblog: true, |
|
mention: true |
|
}), |
|
|
|
sounds: Immutable.Map({ |
|
follow: true, |
|
favourite: true, |
|
reblog: true, |
|
mention: true |
|
}) |
|
}) |
|
}); |
|
|
|
export default function settings(state = initialState, action) { |
|
switch(action.type) { |
|
case STORE_HYDRATE: |
|
return state.mergeDeep(action.state.get('settings')); |
|
case SETTING_CHANGE: |
|
return state.setIn(action.key, action.value); |
|
default: |
|
return state; |
|
} |
|
};
|
|
|