refactor: Use invoke for ipc to get unread notification
This commit is contained in:
parent
ad94355eda
commit
faa5e27a03
|
@ -1012,18 +1012,11 @@ ipcMain.handle('list-fonts', async (_: IpcMainInvokeEvent) => {
|
||||||
})
|
})
|
||||||
|
|
||||||
// Unread notifications
|
// Unread notifications
|
||||||
ipcMain.on('get-unread-notification', (event: IpcMainEvent, accountID: string) => {
|
ipcMain.handle('get-unread-notification', async (_: IpcMainInvokeEvent, accountID: string) => {
|
||||||
unreadNotification
|
const doc = await unreadNotification.findOne({
|
||||||
.findOne({
|
accountID: accountID
|
||||||
accountID: accountID
|
})
|
||||||
})
|
return doc
|
||||||
.then(doc => {
|
|
||||||
event.sender.send('response-get-unread-notification', doc)
|
|
||||||
})
|
|
||||||
.catch(err => {
|
|
||||||
console.warn(err)
|
|
||||||
event.sender.send('error-get-unread-notification', err)
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
ipcMain.on('update-unread-notification', (event: IpcMainEvent, config: UnreadNotificationConfig) => {
|
ipcMain.on('update-unread-notification', (event: IpcMainEvent, config: UnreadNotificationConfig) => {
|
||||||
|
|
|
@ -29,25 +29,20 @@ const mutations: MutationTree<TimelineState> = {
|
||||||
}
|
}
|
||||||
|
|
||||||
const actions: ActionTree<TimelineState, RootState> = {
|
const actions: ActionTree<TimelineState, RootState> = {
|
||||||
loadUnreadNotification: ({ commit, rootState }): Promise<boolean> => {
|
loadUnreadNotification: async ({ commit, rootState }): Promise<boolean> => {
|
||||||
return new Promise(resolve => {
|
try {
|
||||||
win.ipcRenderer.once('response-get-unread-notification', (_, settings: UnreadNotification) => {
|
const settings: UnreadNotification = await win.ipcRenderer.invoke('get-unread-notification', rootState.Settings.accountID)
|
||||||
win.ipcRenderer.removeAllListeners('error-get-unread-notification')
|
commit(MUTATION_TYPES.UPDATE_UNREAD_NOTIFICATION, settings)
|
||||||
commit(MUTATION_TYPES.UPDATE_UNREAD_NOTIFICATION, settings)
|
return true
|
||||||
resolve(true)
|
} catch (err) {
|
||||||
})
|
const settings: UnreadNotification = {
|
||||||
win.ipcRenderer.once('error-get-unread-notification', () => {
|
direct: unreadSettings.Direct.default,
|
||||||
win.ipcRenderer.removeAllListeners('response-get-unread-notification')
|
local: unreadSettings.Local.default,
|
||||||
const settings: UnreadNotification = {
|
public: unreadSettings.Public.default
|
||||||
direct: unreadSettings.Direct.default,
|
}
|
||||||
local: unreadSettings.Local.default,
|
commit(MUTATION_TYPES.UPDATE_UNREAD_NOTIFICATION, settings)
|
||||||
public: unreadSettings.Public.default
|
return false
|
||||||
}
|
}
|
||||||
commit(MUTATION_TYPES.UPDATE_UNREAD_NOTIFICATION, settings)
|
|
||||||
resolve(false)
|
|
||||||
})
|
|
||||||
win.ipcRenderer.send('get-unread-notification', rootState.Settings.accountID)
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
changeUnreadNotification: ({ dispatch, state, rootState }, timeline: { key: boolean }): Promise<boolean> => {
|
changeUnreadNotification: ({ dispatch, state, rootState }, timeline: { key: boolean }): Promise<boolean> => {
|
||||||
const settings: UnreadNotification = Object.assign({}, state.unreadNotification, timeline, {
|
const settings: UnreadNotification = Object.assign({}, state.unreadNotification, timeline, {
|
||||||
|
|
|
@ -184,24 +184,17 @@ const actions: ActionTree<TimelineSpaceState, RootState> = {
|
||||||
commit(MUTATION_TYPES.UPDATE_TOOT_MAX, res.data.max_toot_chars)
|
commit(MUTATION_TYPES.UPDATE_TOOT_MAX, res.data.max_toot_chars)
|
||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
loadUnreadNotification: ({ commit }, accountID: string) => {
|
loadUnreadNotification: async ({ commit }, accountID: string) => {
|
||||||
return new Promise(resolve => {
|
try {
|
||||||
win.ipcRenderer.once('response-get-unread-notification', (_, settings: UnreadNotification) => {
|
const settings: UnreadNotification = await win.ipcRenderer.invoke('get-unread-notification', accountID)
|
||||||
win.ipcRenderer.removeAllListeners('error-get-unread-notification')
|
commit(MUTATION_TYPES.UPDATE_UNREAD_NOTIFICATION, settings)
|
||||||
commit(MUTATION_TYPES.UPDATE_UNREAD_NOTIFICATION, settings)
|
} catch (err) {
|
||||||
resolve(settings)
|
commit(MUTATION_TYPES.UPDATE_UNREAD_NOTIFICATION, {
|
||||||
})
|
direct: unreadSettings.Direct.default,
|
||||||
win.ipcRenderer.once('error-get-unread-notification', () => {
|
local: unreadSettings.Local.default,
|
||||||
win.ipcRenderer.removeAllListeners('response-get-unread-notification')
|
public: unreadSettings.Public.default
|
||||||
commit(MUTATION_TYPES.UPDATE_UNREAD_NOTIFICATION, {
|
} as UnreadNotification)
|
||||||
direct: unreadSettings.Direct.default,
|
}
|
||||||
local: unreadSettings.Local.default,
|
|
||||||
public: unreadSettings.Public.default
|
|
||||||
} as UnreadNotification)
|
|
||||||
resolve({})
|
|
||||||
})
|
|
||||||
win.ipcRenderer.send('get-unread-notification', accountID)
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
fetchContentsTimelines: async ({ dispatch, state }) => {
|
fetchContentsTimelines: async ({ dispatch, state }) => {
|
||||||
dispatch('TimelineSpace/Contents/changeLoading', true, { root: true })
|
dispatch('TimelineSpace/Contents/changeLoading', true, { root: true })
|
||||||
|
|
Loading…
Reference in New Issue