Migrate app to TypeScript (#1637)
* Initial setup and migrated src/common * WIP * WIP * WIP * Main module basically finished * Renderer process migrated * Added CI step and some fixes * Fixed remainder of issues and added proper ESLint config * Fixed a couple issues * Progress! * Some more fixes * Fixed a test * Fix build step * PR feedback
This commit is contained in:
81
src/types/config.ts
Normal file
81
src/types/config.ts
Normal file
@@ -0,0 +1,81 @@
|
||||
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
export type Team = {
|
||||
name: string;
|
||||
url: string;
|
||||
order: number;
|
||||
}
|
||||
|
||||
export type TeamWithIndex = Team & {index: number};
|
||||
|
||||
export type Config = ConfigV2;
|
||||
|
||||
export type ConfigV2 = {
|
||||
version: 2;
|
||||
teams: Team[];
|
||||
showTrayIcon: boolean;
|
||||
trayIconTheme: string;
|
||||
minimizeToTray: boolean;
|
||||
notifications: {
|
||||
flashWindow: number;
|
||||
bounceIcon: boolean;
|
||||
bounceIconType: 'critical' | 'informational';
|
||||
};
|
||||
showUnreadBadge: boolean;
|
||||
useSpellChecker: boolean;
|
||||
enableHardwareAcceleration: boolean;
|
||||
autostart: boolean;
|
||||
spellCheckerLocale: string;
|
||||
darkMode: boolean;
|
||||
downloadLocation: string;
|
||||
}
|
||||
|
||||
export type ConfigV1 = {
|
||||
version: 1;
|
||||
teams: Array<{
|
||||
name: string;
|
||||
url: string;
|
||||
}>;
|
||||
showTrayIcon: boolean;
|
||||
trayIconTheme: string;
|
||||
minimizeToTray: boolean;
|
||||
notifications: {
|
||||
flashWindow: number;
|
||||
bounceIcon: boolean;
|
||||
bounceIconType: 'critical' | 'informational';
|
||||
};
|
||||
showUnreadBadge: boolean;
|
||||
useSpellChecker: boolean;
|
||||
enableHardwareAcceleration: boolean;
|
||||
autostart: boolean;
|
||||
spellCheckerLocale: string;
|
||||
}
|
||||
|
||||
export type ConfigV0 = {version: 0; url: string};
|
||||
|
||||
export type AnyConfig = ConfigV2 | ConfigV1 | ConfigV0;
|
||||
|
||||
export type BuildConfig = {
|
||||
defaultTeams?: Team[];
|
||||
helpLink: string;
|
||||
enableServerManagement: boolean;
|
||||
enableAutoUpdater: boolean;
|
||||
managedResources: string[];
|
||||
}
|
||||
|
||||
export type RegistryConfig = {
|
||||
teams: Team[];
|
||||
enableServerManagement: boolean;
|
||||
enableAutoUpdater: boolean;
|
||||
}
|
||||
|
||||
export type CombinedConfig = ConfigV2 & BuildConfig & {
|
||||
registryTeams: Team[];
|
||||
appName: string;
|
||||
}
|
||||
|
||||
export type LocalConfiguration = Config & {
|
||||
appName: string;
|
||||
enableServerManagement: boolean;
|
||||
}
|
Reference in New Issue
Block a user