diff options
| author | Henry Jameson <me@hjkos.com> | 2018-11-26 05:21:58 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2018-11-26 05:21:58 +0300 |
| commit | a806d43f05ddded69a00156bc31fe33806426ecb (patch) | |
| tree | afa9a3f43043bbce92739fb48d048605e0c45c2b /src/lib/persisted_state.js | |
| parent | 08838774e41b9beba8f884da15ab1314eddf28f8 (diff) | |
| parent | 91272dc5558e1326dac872f927dc8da7f9109cd0 (diff) | |
Merge remote-tracking branch 'upstream/develop' into feature/theming2
* upstream/develop: (60 commits)
whoops
whoops
DM timeline: stream new statuses
update-japanese-translation
Add actual user search.
incorporate most translation changes from MR 368
update french translation
Always show dm panel.
Add direct message tab.
api service url
remove deploy stage
remove deploy stage
updated and completed German translation
On logout switch to public timeline.
minor modification of Chinese translation
update Chinese translation
Add Chinese language
Fix posting.
Put oauth text into description.
Display OAuth login on login form button.
...
Diffstat (limited to 'src/lib/persisted_state.js')
| -rw-r--r-- | src/lib/persisted_state.js | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/src/lib/persisted_state.js b/src/lib/persisted_state.js index e55b3b79..ccd92633 100644 --- a/src/lib/persisted_state.js +++ b/src/lib/persisted_state.js @@ -17,7 +17,9 @@ const saveImmedeatelyActions = [ 'clearCurrentUser', 'setCurrentUser', 'setHighlight', - 'setOption' + 'setOption', + 'setClientData', + 'setToken' ] const defaultStorage = (() => { @@ -43,8 +45,8 @@ export default function createPersistedState ({ storage = defaultStorage, subscriber = store => handler => store.subscribe(handler) } = {}) { - return store => { - getState(key, storage).then((savedState) => { + return getState(key, storage).then((savedState) => { + return store => { try { if (typeof savedState === 'object') { // build user cache @@ -67,8 +69,8 @@ export default function createPersistedState ({ value: store.state.config.customTheme }) } - if (store.state.users.lastLoginName) { - store.dispatch('loginUser', {username: store.state.users.lastLoginName, password: 'xxx'}) + if (store.state.oauth.token) { + store.dispatch('loginUser', store.state.oauth.token) } loaded = true } catch (e) { @@ -76,28 +78,27 @@ export default function createPersistedState ({ console.error(e) loaded = true } - }) - - subscriber(store)((mutation, state) => { - try { - if (saveImmedeatelyActions.includes(mutation.type)) { - setState(key, reducer(state, paths), storage) - .then(success => { - if (typeof success !== 'undefined') { + subscriber(store)((mutation, state) => { + try { + if (saveImmedeatelyActions.includes(mutation.type)) { + setState(key, reducer(state, paths), storage) + .then(success => { + if (typeof success !== 'undefined') { + if (mutation.type === 'setOption') { + store.dispatch('settingsSaved', { success }) + } + } + }, error => { if (mutation.type === 'setOption') { - store.dispatch('settingsSaved', { success }) + store.dispatch('settingsSaved', { error }) } - } - }, error => { - if (mutation.type === 'setOption') { - store.dispatch('settingsSaved', { error }) - } - }) + }) + } + } catch (e) { + console.log("Couldn't persist state:") + console.log(e) } - } catch (e) { - console.log("Couldn't persist state:") - console.log(e) - } - }) - } + }) + } + }) } |
