]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/lib/plugins/theme-utils.ts
Bumped to version v5.2.1
[github/Chocobozzz/PeerTube.git] / server / lib / plugins / theme-utils.ts
1 import { DEFAULT_THEME_NAME, DEFAULT_USER_THEME_NAME } from '../../initializers/constants'
2 import { PluginManager } from './plugin-manager'
3 import { CONFIG } from '../../initializers/config'
4
5 function getThemeOrDefault (name: string, defaultTheme: string) {
6 if (isThemeRegistered(name)) return name
7
8 // Fallback to admin default theme
9 if (name !== CONFIG.THEME.DEFAULT) return getThemeOrDefault(CONFIG.THEME.DEFAULT, DEFAULT_THEME_NAME)
10
11 return defaultTheme
12 }
13
14 function isThemeRegistered (name: string) {
15 if (name === DEFAULT_THEME_NAME || name === DEFAULT_USER_THEME_NAME) return true
16
17 return !!PluginManager.Instance.getRegisteredThemes()
18 .find(r => r.name === name)
19 }
20
21 export {
22 getThemeOrDefault,
23 isThemeRegistered
24 }