Initial Commit
This commit is contained in:
commit
d0417339c1
158 files changed
+31368
No files matched your search
@@ -0,0 +1,17 @@
|
||||
import { ipc } from "@/ipc/manager";
|
||||
|
||||
export function listAccounts() {
|
||||
return ipc.client.account.listAccounts();
|
||||
}
|
||||
|
||||
export function addAccountSnapshot() {
|
||||
return ipc.client.account.addAccountSnapshot();
|
||||
}
|
||||
|
||||
export function switchAccount(accountId: string) {
|
||||
return ipc.client.account.switchAccount({ accountId });
|
||||
}
|
||||
|
||||
export function deleteAccount(accountId: string) {
|
||||
return ipc.client.account.deleteAccount({ accountId });
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { ipc } from "@/ipc/manager";
|
||||
|
||||
export function getPlatform() {
|
||||
return ipc.client.app.currentPlatfom();
|
||||
}
|
||||
|
||||
export function getAppVersion() {
|
||||
return ipc.client.app.appVersion();
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
import { ipc } from '@/ipc/manager';
|
||||
|
||||
export function addGoogleAccount(input: { authCode: string }) {
|
||||
return ipc.client.cloud.addGoogleAccount(input);
|
||||
}
|
||||
|
||||
export function listCloudAccounts() {
|
||||
return ipc.client.cloud.listCloudAccounts();
|
||||
}
|
||||
|
||||
export function deleteCloudAccount(input: { accountId: string }) {
|
||||
return ipc.client.cloud.deleteCloudAccount(input);
|
||||
}
|
||||
|
||||
export function refreshAccountQuota(input: { accountId: string }) {
|
||||
return ipc.client.cloud.refreshAccountQuota(input);
|
||||
}
|
||||
|
||||
export function switchCloudAccount(input: { accountId: string }) {
|
||||
return ipc.client.cloud.switchCloudAccount(input);
|
||||
}
|
||||
|
||||
export function getAutoSwitchEnabled() {
|
||||
return ipc.client.cloud.getAutoSwitchEnabled();
|
||||
}
|
||||
|
||||
export function setAutoSwitchEnabled(input: { enabled: boolean }) {
|
||||
return ipc.client.cloud.setAutoSwitchEnabled(input);
|
||||
}
|
||||
|
||||
export function forcePollCloudMonitor() {
|
||||
return ipc.client.cloud.forcePollCloudMonitor();
|
||||
}
|
||||
|
||||
export function syncLocalAccount() {
|
||||
return ipc.client.cloud.syncLocalAccount();
|
||||
}
|
||||
|
||||
export function startAuthFlow() {
|
||||
return ipc.client.cloud.startAuthFlow();
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import { ipc } from "@/ipc/manager";
|
||||
import { AccountBackupData, Account } from "@/types/account";
|
||||
|
||||
export function backupAccount(account: Account) {
|
||||
return ipc.client.database.backupAccount(account);
|
||||
}
|
||||
|
||||
export function restoreAccount(backup: AccountBackupData) {
|
||||
return ipc.client.database.restoreAccount(backup);
|
||||
}
|
||||
|
||||
export function getCurrentAccountInfo() {
|
||||
return ipc.client.database.getCurrentAccountInfo();
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
import type { i18n } from 'i18next';
|
||||
|
||||
export function setAppLanguage(lang: string, i18n: i18n) {
|
||||
i18n
|
||||
.changeLanguage(lang)
|
||||
.then(() => {
|
||||
localStorage.setItem('lang', lang);
|
||||
document.documentElement.lang = lang;
|
||||
if (window.electron?.changeLanguage) {
|
||||
window.electron.changeLanguage(lang);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error('[Language] Failed to change language:', err);
|
||||
});
|
||||
}
|
||||
|
||||
export function updateAppLanguage(i18n: i18n) {
|
||||
document.documentElement.lang = i18n.language;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import { ipc } from '@/ipc/manager';
|
||||
|
||||
export function isProcessRunning() {
|
||||
return ipc.client.proc.isProcessRunning();
|
||||
}
|
||||
|
||||
export function closeAntigravity() {
|
||||
return ipc.client.proc.closeAntigravity();
|
||||
}
|
||||
|
||||
export function startAntigravity() {
|
||||
return ipc.client.proc.startAntigravity();
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
import { ThemeMode } from "@/types/theme-mode";
|
||||
import { ipc } from "@/ipc/manager";
|
||||
import { LOCAL_STORAGE_KEYS } from "@/constants";
|
||||
|
||||
export interface ThemePreferences {
|
||||
system: ThemeMode;
|
||||
local: ThemeMode | null;
|
||||
}
|
||||
|
||||
export async function getCurrentTheme(): Promise<ThemePreferences> {
|
||||
const currentTheme = await ipc.client.theme.getCurrentThemeMode();
|
||||
const localTheme = localStorage.getItem(
|
||||
LOCAL_STORAGE_KEYS.THEME,
|
||||
) as ThemeMode | null;
|
||||
|
||||
return {
|
||||
system: currentTheme,
|
||||
local: localTheme,
|
||||
};
|
||||
}
|
||||
|
||||
export async function setTheme(newTheme: ThemeMode) {
|
||||
const isDarkMode = newTheme === "dark";
|
||||
await ipc.client.theme.setThemeMode(newTheme);
|
||||
localStorage.setItem(LOCAL_STORAGE_KEYS.THEME, newTheme);
|
||||
updateDocumentTheme(isDarkMode);
|
||||
}
|
||||
|
||||
export async function toggleTheme() {
|
||||
const isDarkMode = await ipc.client.theme.toggleThemeMode();
|
||||
const newTheme = isDarkMode ? "dark" : "light";
|
||||
|
||||
updateDocumentTheme(isDarkMode);
|
||||
localStorage.setItem(LOCAL_STORAGE_KEYS.THEME, newTheme);
|
||||
}
|
||||
|
||||
export async function syncWithLocalTheme() {
|
||||
const { local } = await getCurrentTheme();
|
||||
if (!local) {
|
||||
setTheme("system");
|
||||
return;
|
||||
}
|
||||
|
||||
await setTheme(local);
|
||||
}
|
||||
|
||||
function updateDocumentTheme(isDarkMode: boolean) {
|
||||
if (isDarkMode) {
|
||||
document.documentElement.classList.add("dark");
|
||||
} else {
|
||||
document.documentElement.classList.remove("dark");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import { ipc } from "../ipc/manager";
|
||||
|
||||
export async function minimizeWindow() {
|
||||
await ipc.client.window.minimizeWindow();
|
||||
}
|
||||
export async function maximizeWindow() {
|
||||
await ipc.client.window.maximizeWindow();
|
||||
}
|
||||
export async function closeWindow() {
|
||||
await ipc.client.window.closeWindow();
|
||||
}
|
||||
Reference in new issue
Block a user