mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			25 lines
		
	
	
		
			760 B
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			760 B
		
	
	
	
		
			TypeScript
		
	
	
| import { DEFAULT_THEME_NAME, DEFAULT_USER_THEME_NAME } from '../../initializers/constants'
 | |
| import { PluginManager } from './plugin-manager'
 | |
| import { CONFIG } from '../../initializers/config'
 | |
| 
 | |
| function getThemeOrDefault (name: string, defaultTheme: string) {
 | |
|   if (isThemeRegistered(name)) return name
 | |
| 
 | |
|   // Fallback to admin default theme
 | |
|   if (name !== CONFIG.THEME.DEFAULT) return getThemeOrDefault(CONFIG.THEME.DEFAULT, DEFAULT_THEME_NAME)
 | |
| 
 | |
|   return defaultTheme
 | |
| }
 | |
| 
 | |
| function isThemeRegistered (name: string) {
 | |
|   if (name === DEFAULT_THEME_NAME || name === DEFAULT_USER_THEME_NAME) return true
 | |
| 
 | |
|   return !!PluginManager.Instance.getRegisteredThemes()
 | |
|                         .find(r => r.name === name)
 | |
| }
 | |
| 
 | |
| export {
 | |
|   getThemeOrDefault,
 | |
|   isThemeRegistered
 | |
| }
 |