- Added a new setting for "launch at startup" in the GeneralSettingsPanel. - Integrated the setting with the existing settings store and IPC mechanisms. - Implemented platform-specific logic for enabling/disabling startup behavior in the main process. - Created a new service for managing launch at startup settings, including Linux desktop entry creation. - Added unit tests for the new functionality and ensured existing tests are updated accordingly. - Updated i18n messages for the new setting in English, Chinese, and Japanese.
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import type { Task } from './task-types';
|
|
import { CONFIG_KEYS, WINDOW_NAMES } from './constants';
|
|
|
|
export type ThemeMode = 'dark' | 'light' | 'system';
|
|
export type WindowNames = `${WINDOW_NAMES}`;
|
|
export type ConfigKeys = `${CONFIG_KEYS}`;
|
|
|
|
export interface IConfig {
|
|
[CONFIG_KEYS.THEME_MODE]: ThemeMode;
|
|
[CONFIG_KEYS.PRIMARY_COLOR]: string;
|
|
[CONFIG_KEYS.LANGUAGE]: 'zh' | 'en';
|
|
[CONFIG_KEYS.FONT_SIZE]: number;
|
|
[CONFIG_KEYS.MINIMIZE_TO_TRAY]: boolean;
|
|
[CONFIG_KEYS.LAUNCH_AT_STARTUP]: boolean;
|
|
[CONFIG_KEYS.PROVIDER]?: string;
|
|
[CONFIG_KEYS.DEFAULT_MODEL]?: string | null;
|
|
[CONFIG_KEYS.AUTO_CHECK_UPDATE]?: boolean;
|
|
[CONFIG_KEYS.AUTO_DOWNLOAD_UPDATE]?: boolean;
|
|
[CONFIG_KEYS.GATEWAY_AUTO_START]?: boolean;
|
|
[CONFIG_KEYS.SELECTED_CHANNELS]: Array<{ id: string; channelName: string; channelUrl: string }>;
|
|
[CONFIG_KEYS.IMAGE_CACHE]: Array<[string, any]>;
|
|
[CONFIG_KEYS.TASK_LIST]?: Task[];
|
|
}
|
|
|
|
export interface Provider {
|
|
id: number;
|
|
name: string;
|
|
visible?: boolean;
|
|
title?: string;
|
|
type?: 'OpenAI';
|
|
openAISetting?: string;
|
|
createdAt: number;
|
|
updatedAt: number;
|
|
models: string[];
|
|
}
|
|
|
|
export interface OpenAISetting {
|
|
baseURL?: string;
|
|
apiKey?: string;
|
|
}
|