mirror of
https://github.com/h3poteto/whalebird-desktop
synced 2025-02-03 02:37:55 +01:00
refs #341 Save collapse status and read it after launched
This commit is contained in:
parent
2240df3588
commit
7ca65e8922
@ -645,6 +645,27 @@ ipcMain.on('save-preferences', (event, data) => {
|
||||
})
|
||||
})
|
||||
|
||||
ipcMain.on('change-collapse', (event, value) => {
|
||||
const preferences = new Preferences(preferencesDBPath)
|
||||
preferences.update(
|
||||
{
|
||||
state: {
|
||||
collapse: value
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
log.error(err)
|
||||
})
|
||||
})
|
||||
|
||||
ipcMain.on('get-collapse', (event, _) => {
|
||||
const preferences = new Preferences(preferencesDBPath)
|
||||
preferences.load()
|
||||
.then((conf) => {
|
||||
event.sender.send('response-get-collapse', conf.state.collapse)
|
||||
})
|
||||
})
|
||||
|
||||
// hashtag
|
||||
ipcMain.on('save-hashtag', (event, tag) => {
|
||||
const hashtags = new Hashtags(hashtagsDB)
|
||||
|
@ -10,6 +10,9 @@ const Base = {
|
||||
theme: 'white',
|
||||
fontSize: 14,
|
||||
displayNameStyle: 0
|
||||
},
|
||||
state: {
|
||||
collapse: false
|
||||
}
|
||||
}
|
||||
|
||||
@ -47,4 +50,11 @@ export default class Preferences {
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
async update (obj) {
|
||||
const current = await this.load()
|
||||
const data = objectAssignDeep({}, current, obj)
|
||||
const result = await this.save(data)
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
@ -18,10 +18,10 @@
|
||||
<span>{{ account.domain }}</span>
|
||||
</div>
|
||||
<div class="collapse">
|
||||
<el-button type="text" class="release-collapse" @click="collapse = false" v-if="collapse">
|
||||
<el-button type="text" class="release-collapse" @click="releaseCollapse" v-if="collapse">
|
||||
<i class="el-icon-arrow-right"></i>
|
||||
</el-button>
|
||||
<el-button type="text" class="do-collapse" @click="collapse = true" v-else>
|
||||
<el-button type="text" class="do-collapse" @click="doCollapse" v-else>
|
||||
<i class="el-icon-arrow-left"></i>
|
||||
</el-button>
|
||||
</div>
|
||||
@ -96,16 +96,12 @@ export default {
|
||||
unreadLocalTimeline: state => state.TimelineSpace.SideMenu.unreadLocalTimeline,
|
||||
lists: state => state.TimelineSpace.SideMenu.lists,
|
||||
themeColor: state => state.App.theme.side_menu_color,
|
||||
overrideActivePath: state => state.TimelineSpace.SideMenu.overrideActivePath
|
||||
}),
|
||||
collapse: {
|
||||
get () {
|
||||
return this.$store.state.TimelineSpace.SideMenu.collapse
|
||||
},
|
||||
set (value) {
|
||||
this.$store.commit('TimelineSpace/SideMenu/changeCollapse', value)
|
||||
}
|
||||
}
|
||||
overrideActivePath: state => state.TimelineSpace.SideMenu.overrideActivePath,
|
||||
collapse: state => state.TimelineSpace.SideMenu.collapse
|
||||
})
|
||||
},
|
||||
created () {
|
||||
this.$store.dispatch('TimelineSpace/SideMenu/readCollapse')
|
||||
},
|
||||
methods: {
|
||||
activeRoute () {
|
||||
@ -124,6 +120,12 @@ export default {
|
||||
shell.openExternal(this.account.baseURL + '/settings/profile')
|
||||
break
|
||||
}
|
||||
},
|
||||
doCollapse () {
|
||||
this.$store.dispatch('TimelineSpace/SideMenu/changeCollapse', true)
|
||||
},
|
||||
releaseCollapse () {
|
||||
this.$store.dispatch('TimelineSpace/SideMenu/changeCollapse', false)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
import Mastodon from 'megalodon'
|
||||
import { ipcRenderer } from 'electron'
|
||||
|
||||
const SideMenu = {
|
||||
namespaced: true,
|
||||
@ -47,6 +48,16 @@ const SideMenu = {
|
||||
commit('changeUnreadHomeTimeline', false)
|
||||
commit('changeUnreadNotifications', false)
|
||||
commit('changeUnreadLocalTimeline', false)
|
||||
},
|
||||
changeCollapse ({ commit }, value) {
|
||||
commit('changeCollapse', value)
|
||||
ipcRenderer.send('change-collapse', value)
|
||||
},
|
||||
readCollapse ({ commit }) {
|
||||
ipcRenderer.send('get-collapse')
|
||||
ipcRenderer.once('response-get-collapse', (event, value) => {
|
||||
commit('changeCollapse', value)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user