. */ namespace SP\Core\UI; /** * Interface ThemeInterface * * @package SP\Core\UI */ interface ThemeInterface { /** * @param bool $force Forzar la detección del tema para los inicios de sesión * * @return mixed */ public function initTheme($force = false); /** * Obtener los temas disponibles desde el directorio de temas * * @return array Con la información del tema */ public function getThemesAvailable(): array; /** * Obtener la información del tema desde el archivo de información * * @return array ( * 'name' => string * 'creator' => string * 'version' => string * 'js' => array * 'css' => array * ) */ public function getThemeInfo(): array; /** * @return string */ public function getThemeUri(): string; /** * @return string */ public function getThemePath(): string; /** * @return string */ public function getThemeName(): string; /** * @return ThemeIcons */ public function getIcons(): ThemeIcons; /** * @return string */ public function getViewsPath(): string; }