2020-12-04 17:03:01 -06:00
|
|
|
// Copyright 2020 Signal Messenger, LLC
|
|
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
|
|
|
|
import { missingCaseError } from './missingCaseError';
|
2023-09-21 12:54:28 -04:00
|
|
|
import { ThemeType } from '../types/Util';
|
2020-12-04 17:03:01 -06:00
|
|
|
|
|
|
|
export enum Theme {
|
|
|
|
Light,
|
|
|
|
Dark,
|
|
|
|
}
|
|
|
|
|
|
|
|
export function themeClassName(theme: Theme): string {
|
|
|
|
switch (theme) {
|
|
|
|
case Theme.Light:
|
|
|
|
return 'light-theme';
|
|
|
|
case Theme.Dark:
|
|
|
|
return 'dark-theme';
|
|
|
|
default:
|
|
|
|
throw missingCaseError(theme);
|
|
|
|
}
|
|
|
|
}
|
2023-09-21 12:54:28 -04:00
|
|
|
|
|
|
|
export function themeClassName2(theme: ThemeType): string {
|
|
|
|
switch (theme) {
|
|
|
|
case ThemeType.light:
|
|
|
|
return 'light-theme';
|
|
|
|
case ThemeType.dark:
|
|
|
|
return 'dark-theme';
|
|
|
|
default:
|
|
|
|
throw missingCaseError(theme);
|
|
|
|
}
|
|
|
|
}
|
2024-06-18 09:15:56 -07:00
|
|
|
|
|
|
|
export function getThemeByThemeType(theme: ThemeType): Theme {
|
|
|
|
switch (theme) {
|
|
|
|
case ThemeType.light:
|
|
|
|
return Theme.Light;
|
|
|
|
case ThemeType.dark:
|
|
|
|
return Theme.Dark;
|
|
|
|
default:
|
|
|
|
throw missingCaseError(theme);
|
|
|
|
}
|
|
|
|
}
|