Improve: use database to save user settings (#1041)

* add user settings

* fix user setting

* migrate dict settings

* migrate hotkeys

* fix hotkey setting

* update library settings

* migrate gpt Engine

* use user setting key enum

* migrate openai

* migrate more settings

* migrate whisper config

* migrate whisper

* refactor

* clean up

* migrate profile

* migrate recorder config

* refactor

* refactor

* fix e2e

* add api status

* fix e2e

* fix app init

* fetch apiUrl before fetch user

* update stt engine enums

* update enums

* update enums

* refactor login flow

* Fix warning

* Login from remembered users

* fix e2e

* refactor

* add unauthorized alert

* feat: 🎸 dict import update (#1040)

* rectified. according to Issues.

* issue #1025

* feat: add Vietnamese language to support (#1043)

* feat: add vietnamese language to support

* fix: update Vietnamese language name to native form

---------

Co-authored-by: Ryan <trongdv@coccoc.com>

* upgrade deps

* update locales

---------

Co-authored-by: divisey <18656007202@163.com>
Co-authored-by: xiaolai <lixiaolai@gmail.com>
Co-authored-by: ryan <69750456+ryangwn@users.noreply.github.com>
Co-authored-by: Ryan <trongdv@coccoc.com>
This commit is contained in:
an-lee
2024-09-06 18:32:09 +08:00
committed by GitHub
parent fef9a9459b
commit fffb97f8dc
67 changed files with 2185 additions and 1050 deletions

View File

@@ -182,75 +182,44 @@ contextBridge.exposeInMainWorld("__ENJOY_APP__", {
showErrorBox: (title: string, content: string) =>
ipcRenderer.invoke("dialog-show-error-box", title, content),
},
settings: {
appSettings: {
get: (key: string) => {
return ipcRenderer.invoke("settings-get", key);
return ipcRenderer.invoke("app-settings-get", key);
},
set: (key: string, value: any) => {
return ipcRenderer.invoke("settings-set", key, value);
return ipcRenderer.invoke("app-settings-set", key, value);
},
getLibrary: () => {
return ipcRenderer.invoke("settings-get-library");
return ipcRenderer.invoke("app-settings-get-library");
},
setLibrary: (library: string) => {
return ipcRenderer.invoke("settings-set-library", library);
return ipcRenderer.invoke("app-settings-set-library", library);
},
getSessions: () => {
return ipcRenderer.invoke("app-settings-get-sessions");
},
getUser: () => {
return ipcRenderer.invoke("settings-get-user");
return ipcRenderer.invoke("app-settings-get-user");
},
setUser: (user: UserType) => {
return ipcRenderer.invoke("settings-set-user", user);
return ipcRenderer.invoke("app-settings-set-user", user);
},
getUserDataPath: () => {
return ipcRenderer.invoke("settings-get-user-data-path");
},
getDefaultEngine: () => {
return ipcRenderer.invoke("settings-get-default-engine");
},
setDefaultEngine: (engine: "enjoyai" | "openai") => {
return ipcRenderer.invoke("settings-set-default-engine", engine);
},
getGptEngine: () => {
return ipcRenderer.invoke("settings-get-gpt-engine");
},
setGptEngine: (engine: GptEngineSettingType) => {
return ipcRenderer.invoke("settings-set-gpt-engine", engine);
},
getLlm: (provider: string) => {
return ipcRenderer.invoke("settings-get-llm", provider);
},
setLlm: (provider: string, config: LlmProviderType) => {
return ipcRenderer.invoke("settings-set-llm", provider, config);
},
getLanguage: (language: string) => {
return ipcRenderer.invoke("settings-get-language", language);
},
switchLanguage: (language: string) => {
return ipcRenderer.invoke("settings-switch-language", language);
},
getDefaultHotkeys: () => {
return ipcRenderer.invoke("settings-get-default-hotkeys");
},
setDefaultHotkeys: (records: Record<string, string>) => {
return ipcRenderer.invoke("settings-set-default-hotkeys", records);
},
getDictSettings: () => {
return ipcRenderer.invoke("settings-get-dict");
},
setDictSettings: (dict: DictSettingType) => {
return ipcRenderer.invoke("settings-set-dicts", dict);
return ipcRenderer.invoke("app-settings-get-user-data-path");
},
getApiUrl: () => {
return ipcRenderer.invoke("settings-get-api-url");
return ipcRenderer.invoke("app-settings-get-api-url");
},
setApiUrl: (url: string) => {
return ipcRenderer.invoke("settings-set-api-url", url);
return ipcRenderer.invoke("app-settings-set-api-url", url);
},
getVocabularyConfig: () => {
return ipcRenderer.invoke("settings-get-vocabulary-config");
},
userSettings: {
get: (key: string) => {
return ipcRenderer.invoke("user-settings-get", key);
},
setVocabularyConfig: (records: Record<string, string>) => {
return ipcRenderer.invoke("settings-set-vocabulary-config", records);
set: (key: string, value: any) => {
return ipcRenderer.invoke("user-settings-set", key, value);
},
},
path: {
@@ -259,7 +228,8 @@ contextBridge.exposeInMainWorld("__ENJOY_APP__", {
},
},
db: {
init: () => ipcRenderer.invoke("db-init"),
connect: () => ipcRenderer.invoke("db-connect"),
disconnect: () => ipcRenderer.invoke("db-disconnect"),
onTransaction: (
callback: (
event: IpcRendererEvent,
@@ -516,9 +486,6 @@ contextBridge.exposeInMainWorld("__ENJOY_APP__", {
setModel: (model: string) => {
return ipcRenderer.invoke("whisper-set-model", model);
},
setService: (service: string) => {
return ipcRenderer.invoke("whisper-set-service", service);
},
check: () => {
return ipcRenderer.invoke("whisper-check");
},