You've already forked AstralRinth
forked from didirus/AstralRinth
* refactor: migrate to common eslint+prettier configs * fix: prettier frontend * feat: config changes * fix: lint issues * fix: lint * fix: type imports * fix: cyclical import issue * fix: lockfile * fix: missing dep * fix: switch to tabs * fix: continue switch to tabs * fix: rustfmt parity * fix: moderation lint issue * fix: lint issues * fix: ui intl * fix: lint issues * Revert "fix: rustfmt parity" This reverts commit cb99d2376c321d813d4b7fc7e2a213bb30a54711. * feat: revert last rs
28 lines
798 B
TypeScript
28 lines
798 B
TypeScript
export const LightThemes = ['light'] as const
|
|
|
|
export type LightTheme = (typeof LightThemes)[number]
|
|
|
|
export const DarkThemes = ['dark', 'oled', 'retro'] as const
|
|
|
|
export type DarkTheme = (typeof DarkThemes)[number]
|
|
|
|
export type Theme = LightTheme | DarkTheme
|
|
|
|
export function isLightTheme(theme: Theme | (string & Record<never, never>)): theme is LightTheme {
|
|
return LightThemes.includes(theme as any)
|
|
}
|
|
|
|
export function isDarkTheme(theme: Theme | (string & Record<never, never>)): theme is DarkTheme {
|
|
return DarkThemes.includes(theme as any)
|
|
}
|
|
|
|
export type ThemeType = 'light' | 'dark'
|
|
|
|
export function getThemeType(
|
|
theme: Theme | (string & Record<never, never>),
|
|
): ThemeType | 'unknown' {
|
|
if (isLightTheme(theme)) return 'light'
|
|
if (isDarkTheme(theme)) return 'dark'
|
|
return 'unknown'
|
|
}
|