Initial Commit

This commit is contained in:
Draculabo committed 2025-12-23 01:38:53 +08:00
commit d0417339c1
158 files changed
+31368

No files matched your search

+17
View File
@@ -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 });
}
+9
View File
@@ -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();
}
+41
View File
@@ -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();
}
+14
View File
@@ -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();
}
+20
View File
@@ -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;
}
+13
View File
@@ -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();
}
+53
View File
@@ -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");
}
}
+11
View File
@@ -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();
}