Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>tags/v25.0.0beta1
@@ -308,7 +308,7 @@ class ThemingController extends Controller { | |||
* @NoSameSiteCookieRequired | |||
* @NoTwoFactorRequired | |||
* | |||
* @return FileDisplayResponse|NotFoundResponse | |||
* @return DataDisplayResponse|NotFoundResponse | |||
*/ | |||
public function getThemeStylesheet(string $themeId, bool $plain = false, bool $withCustomCss = false) { | |||
$themes = $this->themesService->getThemes(); |
@@ -94,9 +94,10 @@ class ThemesService { | |||
}); | |||
// Retrieve IDs only | |||
/** @var string[] */ | |||
$filteredThemesIds = array_map(function(ITheme $t) { | |||
return $t->getId(); | |||
}, $filteredThemes); | |||
}, array_values($filteredThemes)); | |||
$enabledThemes = [...array_diff($themesIds, $filteredThemesIds), $theme->getId()]; | |||
$this->setEnabledThemes($enabledThemes); | |||
@@ -136,6 +137,7 @@ class ThemesService { | |||
$themes = $this->getEnabledThemes(); | |||
return in_array($theme->getId(), $themes); | |||
} | |||
return false; | |||
} | |||
/** |
@@ -35,6 +35,7 @@ use OCP\IURLGenerator; | |||
class DefaultTheme implements ITheme { | |||
public Util $util; | |||
public ThemingDefaults $themingDefaults; | |||
public IURLGenerator $urlGenerator; | |||
public ImageManager $imageManager; | |||
public IConfig $config; | |||
public IL10N $l; |
@@ -111,13 +111,13 @@ class Util { | |||
* | |||
* Copied from cssphp, copyright Leaf Corcoran, licensed under MIT | |||
* | |||
* @param integer $red | |||
* @param integer $green | |||
* @param integer $blue | |||
* @param int $red | |||
* @param int $green | |||
* @param int $blue | |||
* | |||
* @return array | |||
* @return float[] | |||
*/ | |||
public function toHSL(string $red, string $green, string $blue): array { | |||
public function toHSL(int $red, int $green, int $blue): array { | |||
$color = new Color(Color::rgbToHex(['R' => $red, 'G' => $green, 'B' => $blue])); | |||
return array_values($color->getHsl()); | |||
} |
@@ -15,7 +15,7 @@ | |||
</template> | |||
<script> | |||
import { generateFilePath} from '@nextcloud/router' | |||
import { generateFilePath } from '@nextcloud/router' | |||
import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch' | |||
export default { |
@@ -2355,11 +2355,6 @@ | |||
<code>$this</code> | |||
</InvalidScope> | |||
</file> | |||
<file src="core/templates/layout.guest.php"> | |||
<InvalidArgument occurrences="1"> | |||
<code>false</code> | |||
</InvalidArgument> | |||
</file> | |||
<file src="core/templates/layout.public.php"> | |||
<UndefinedInterfaceMethod occurrences="1"> | |||
<code>getIcon</code> |
@@ -86,12 +86,16 @@ | |||
<div v-else> | |||
{{ t('core', 'Press enter to start searching') }} | |||
</div> | |||
<template #icon><Magnify /></template> | |||
<template #icon> | |||
<Magnify /> | |||
</template> | |||
</EmptyContent> | |||
<EmptyContent v-else-if="!isLoading || isShortQuery"> | |||
{{ t('core', 'Start typing to search') }} | |||
<template #icon><Magnify /></template> | |||
<template #icon> | |||
<Magnify /> | |||
</template> | |||
<template v-if="isShortQuery" #desc> | |||
{{ n('core', | |||
'Please enter {minSearchLength} character or more to search', |
@@ -40,7 +40,9 @@ $getUserAvatar = static function (int $size) use ($_): string { | |||
<?php emit_script_loading_tags($_); ?> | |||
<?php print_unescaped($_['headers']); ?> | |||
</head> | |||
<body id="<?php p($_['bodyid']);?>" <?php foreach ($_['enabledThemes'] as $themeId) { p("data-theme-$themeId "); }?>> | |||
<body id="<?php p($_['bodyid']);?>" <?php foreach ($_['enabledThemes'] as $themeId) { | |||
p("data-theme-$themeId "); | |||
}?>> | |||
<?php include 'layout.noscript.warning.php'; ?> | |||
<?php foreach ($_['initialStates'] as $app => $initialState) { ?> |