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'
}
}