Files
AstralRinth/apps/frontend/src/plugins/theme/themes.ts
Cal H. 2aabcf36ee refactor: migrate to common eslint+prettier configs (#4168)
* 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
2025-08-14 20:48:38 +00:00

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'
}