From 0cb08601f82b199e747cf49f6709189f5ff4a7b6 Mon Sep 17 00:00:00 2001 From: AkiraFukushima Date: Sun, 29 Nov 2020 23:19:16 +0900 Subject: [PATCH] refactor: Use invoke for ipc to remove hashtag --- src/main/index.ts | 11 ++--------- .../TimelineSpace/Contents/Hashtag/List.ts | 19 +++++-------------- 2 files changed, 7 insertions(+), 23 deletions(-) diff --git a/src/main/index.ts b/src/main/index.ts index d4f0d808..9dfb73fe 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -1000,16 +1000,9 @@ ipcMain.handle('list-hashtags', async (_: IpcMainInvokeEvent) => { return tags }) -ipcMain.on('remove-hashtag', (event: IpcMainEvent, tag: LocalTag) => { +ipcMain.handle('remove-hashtag', async (_: IpcMainInvokeEvent, tag: LocalTag) => { const hashtags = new Hashtags(hashtagsDB) - hashtags - .removeTag(tag) - .then(() => { - event.sender.send('response-remove-hashtag') - }) - .catch(err => { - event.sender.send('error-remove-hashtag', err) - }) + await hashtags.removeTag(tag) }) // Fonts diff --git a/src/renderer/store/TimelineSpace/Contents/Hashtag/List.ts b/src/renderer/store/TimelineSpace/Contents/Hashtag/List.ts index 4362690c..5b0baa3c 100644 --- a/src/renderer/store/TimelineSpace/Contents/Hashtag/List.ts +++ b/src/renderer/store/TimelineSpace/Contents/Hashtag/List.ts @@ -29,20 +29,11 @@ const actions: ActionTree = { commit(MUTATION_TYPES.UPDATE_TAGS, tags) return tags }, - removeTag: ({ dispatch }, tag: LocalTag) => { - return new Promise((resolve, reject) => { - win.ipcRenderer.once('response-remove-hashtag', () => { - win.ipcRenderer.removeAllListeners('error-remove-hashtag') - dispatch('listTags') - dispatch('TimelineSpace/SideMenu/listTags', {}, { root: true }) - resolve('deleted') - }) - win.ipcRenderer.once('error-remove-hashtag', (_, err: Error) => { - win.ipcRenderer.removeAllListeners('response-remove-hashtag') - reject(err) - }) - win.ipcRenderer.send('remove-hashtag', tag) - }) + removeTag: async ({ dispatch }, tag: LocalTag) => { + await win.ipcRenderer.invoke('remove-hashtag', tag) + dispatch('listTags') + dispatch('TimelineSpace/SideMenu/listTags', {}, { root: true }) + return 'deleted' } }