|
1 | 1 | import { electronApp, is, optimizer } from "@electron-toolkit/utils";
|
2 |
| -import { CardData, PersonaFormData } from "@shared/types"; |
3 |
| -import { BrowserWindow, Menu, Tray, app, dialog, ipcMain, nativeImage, net, protocol, shell } from "electron"; |
| 2 | +import { BrowserWindow, Menu, Tray, app, dialog, nativeImage, net, protocol, shell } from "electron"; |
4 | 3 | import { autoUpdater } from "electron-updater";
|
5 | 4 | import path, { join } from "path";
|
6 | 5 | import icon from "../../resources/icon.png?asset";
|
| 6 | +import ipc from "./lib/ipc"; |
7 | 7 | import blob from "./lib/store/blob";
|
8 | 8 | import secret from "./lib/store/secret";
|
9 | 9 | import setting from "./lib/store/setting";
|
10 | 10 | import sqlite from "./lib/store/sqlite";
|
11 | 11 | import { cardsRootPath, personasRootPath } from "./lib/utils";
|
12 |
| -import { XFetchConfig, xfetch } from "./lib/xfetch"; |
13 | 12 |
|
14 |
| -let window: any; |
15 | 13 | // let loadingWindow: any;
|
| 14 | +let window: any; |
16 | 15 | let isQuiting = false;
|
17 | 16 |
|
| 17 | +// Prevent multiple app instances |
18 | 18 | const gotTheLock = app.requestSingleInstanceLock();
|
19 |
| - |
20 | 19 | if (!gotTheLock) {
|
21 | 20 | app.quit();
|
22 | 21 | }
|
@@ -156,99 +155,7 @@ app.whenReady().then(async () => {
|
156 | 155 | await blob.init();
|
157 | 156 | await secret.init();
|
158 | 157 | await setting.init();
|
159 |
| - |
160 |
| - ipcMain.handle("sqlite.run", async (_, query: string, params: [] = []) => { |
161 |
| - return sqlite.run(query, params); |
162 |
| - }); |
163 |
| - ipcMain.handle("sqlite.all", async (_, query: string, params: [] = []) => { |
164 |
| - return sqlite.all(query, params); |
165 |
| - }); |
166 |
| - ipcMain.handle("sqlite.get", async (_, query: string, params: [] = []) => { |
167 |
| - return sqlite.get(query, params); |
168 |
| - }); |
169 |
| - ipcMain.handle("sqlite.runAsTransaction", async (_, queries: string[], params: [][]) => { |
170 |
| - return sqlite.runAsTransaction(queries, params); |
171 |
| - }); |
172 |
| - |
173 |
| - ipcMain.handle("blob.image.get", async (_, path: string) => { |
174 |
| - return await blob.image.get(path); |
175 |
| - }); |
176 |
| - |
177 |
| - ipcMain.handle("blob.cards.get", async (_, card: string) => { |
178 |
| - return await blob.cards.get(card); |
179 |
| - }); |
180 |
| - |
181 |
| - ipcMain.handle( |
182 |
| - "blob.cards.create", |
183 |
| - async (_, cardData: CardData, bannerURI: string | null, avatarURI: string | null) => { |
184 |
| - return await blob.cards.create(cardData, bannerURI, avatarURI); |
185 |
| - } |
186 |
| - ); |
187 |
| - |
188 |
| - ipcMain.handle( |
189 |
| - "blob.cards.update", |
190 |
| - async (_, cardID: number, cardData: CardData, bannerURI: string | null, avatarURI: string | null) => { |
191 |
| - return await blob.cards.update(cardID, cardData, bannerURI, avatarURI); |
192 |
| - } |
193 |
| - ); |
194 |
| - |
195 |
| - ipcMain.handle("blob.cards.del", async (_, cardID: number) => { |
196 |
| - return await blob.cards.del(cardID); |
197 |
| - }); |
198 |
| - |
199 |
| - ipcMain.handle("blob.cards.exportToZip", async (_, card: string) => { |
200 |
| - return await blob.cards.exportToZip(card); |
201 |
| - }); |
202 |
| - |
203 |
| - ipcMain.handle("blob.cards.importFromZip", async (_, zip: string) => { |
204 |
| - return await blob.cards.importFromZip(zip); |
205 |
| - }); |
206 |
| - |
207 |
| - ipcMain.handle("blob.personas.get", async (_, persona: string) => { |
208 |
| - return await blob.personas.get(persona); |
209 |
| - }); |
210 |
| - ipcMain.handle("blob.personas.post", async (_, data: PersonaFormData) => { |
211 |
| - return await blob.personas.post(data); |
212 |
| - }); |
213 |
| - |
214 |
| - ipcMain.handle("blob.personas.put", async (_, id: number, data: PersonaFormData) => { |
215 |
| - return await blob.personas.put(id, data); |
216 |
| - }); |
217 |
| - |
218 |
| - ipcMain.handle("secret.get", async (_, k: string) => { |
219 |
| - return await secret.get(k); |
220 |
| - }); |
221 |
| - |
222 |
| - ipcMain.handle("secret.set", async (_, k: string, v: string) => { |
223 |
| - return await secret.set(k, v); |
224 |
| - }); |
225 |
| - |
226 |
| - ipcMain.handle( |
227 |
| - "xfetch.post", |
228 |
| - async (_, url: string, body?: object, headers?: Record<string, string>, config?: XFetchConfig) => { |
229 |
| - return await xfetch.post(url, body, headers, config); |
230 |
| - } |
231 |
| - ); |
232 |
| - |
233 |
| - ipcMain.handle("xfetch.get", async (_, url: string, headers?: Record<string, string>, config?: XFetchConfig) => { |
234 |
| - return await xfetch.get(url, headers, config); |
235 |
| - }); |
236 |
| - |
237 |
| - ipcMain.handle("xfetch.abort", async (_, uuid: string) => { |
238 |
| - return await xfetch.abort(uuid); |
239 |
| - }); |
240 |
| - |
241 |
| - ipcMain.handle("utils.openURL", async (_, url: string) => { |
242 |
| - return await shell.openExternal(url); |
243 |
| - }); |
244 |
| - |
245 |
| - ipcMain.handle("setting.get", async () => { |
246 |
| - return await setting.get(); |
247 |
| - }); |
248 |
| - |
249 |
| - ipcMain.handle("setting.set", async (_, settings: any) => { |
250 |
| - return await setting.set(settings); |
251 |
| - }); |
| 158 | + await ipc.init(); |
252 | 159 |
|
253 | 160 | // Open or close DevTools using F12 in development
|
254 | 161 | // Ignore Cmd/Ctrl + R in production.
|
|
0 commit comments