fix: init store after app init

Signed-off-by: Innei <tukon479@gmail.com>
This commit is contained in:
Innei 2024-10-12 22:54:29 +08:00
parent b541b484fc
commit 728ea84fa6
No known key found for this signature in database
GPG Key ID: 0F62D33977F021F7
2 changed files with 15 additions and 9 deletions

View File

@ -19,10 +19,6 @@ import { initializeSentry } from "./sentry"
import { router } from "./tipc"
import { createMainWindow, getMainWindow } from "./window"
const appFolder = {
prod: "Follow",
dev: "Follow (dev)",
}
if (process.argv.length === 3 && process.argv[2].startsWith("follow-dev:")) {
process.env.NODE_ENV = "development"
}
@ -32,7 +28,8 @@ const isDev = process.env.NODE_ENV === "development"
* Mandatory and fast initializers for the app
*/
export function initializeAppStage0() {
app.setPath("appData", path.join(app.getPath("appData"), isDev ? appFolder.dev : appFolder.prod))
if (isDev) app.setPath("appData", path.join(app.getPath("appData"), "Follow (dev)"))
initializeSentry()
}
export const initializeAppStage1 = () => {
if (process.defaultApp) {
@ -45,8 +42,6 @@ export const initializeAppStage1 = () => {
app.setAsDefaultProtocolClient(APP_PROTOCOL)
}
initializeSentry()
registerIpcMain(router)
if (app.dock) {

View File

@ -3,15 +3,26 @@ import { resolve } from "node:path"
import { app } from "electron"
import { JSONFileSyncPreset } from "lowdb/node"
const db = JSONFileSyncPreset(resolve(app.getPath("userData"), "db.json"), {}) as {
let db: {
data: Record<string, unknown>
write: () => void
read: () => void
}
const createOrGetDb = () => {
if (!db) {
db = JSONFileSyncPreset(resolve(app.getPath("userData"), "db.json"), {}) as typeof db
}
return db
}
export const store = {
get: (key: string) => db.data[key] as any,
get: (key: string) => {
const db = createOrGetDb()
return db.data[key] as any
},
set: (key: string, value: any) => {
const db = createOrGetDb()
db.data[key] = value
db.write()
},