You've already forked AstralRinth
forked from didirus/AstralRinth
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
This commit is contained in:
@@ -1,38 +1,38 @@
|
||||
import type { Theme } from "./themes.ts";
|
||||
import type { Theme } from './themes.ts'
|
||||
|
||||
interface ThemeSettings {
|
||||
preference: Theme | "system";
|
||||
value: Theme;
|
||||
preference: Theme | 'system'
|
||||
value: Theme
|
||||
}
|
||||
|
||||
export function useThemeSettings(getDefaultTheme?: () => Theme) {
|
||||
getDefaultTheme ??= () => "dark";
|
||||
getDefaultTheme ??= () => 'dark'
|
||||
|
||||
const $settings = useCookie<ThemeSettings>("color-mode", {
|
||||
maxAge: 60 * 60 * 24 * 365 * 10,
|
||||
sameSite: "lax",
|
||||
secure: true,
|
||||
httpOnly: false,
|
||||
path: "/",
|
||||
});
|
||||
const $settings = useCookie<ThemeSettings>('color-mode', {
|
||||
maxAge: 60 * 60 * 24 * 365 * 10,
|
||||
sameSite: 'lax',
|
||||
secure: true,
|
||||
httpOnly: false,
|
||||
path: '/',
|
||||
})
|
||||
|
||||
// reset theme settings to a default value if the cookie is missing or contains invalid value
|
||||
if ($settings.value == null || typeof $settings.value !== "object") {
|
||||
$settings.value = {
|
||||
preference: "system",
|
||||
value: getDefaultTheme(),
|
||||
};
|
||||
}
|
||||
// reset theme settings to a default value if the cookie is missing or contains invalid value
|
||||
if ($settings.value == null || typeof $settings.value !== 'object') {
|
||||
$settings.value = {
|
||||
preference: 'system',
|
||||
value: getDefaultTheme(),
|
||||
}
|
||||
}
|
||||
|
||||
return reactive({
|
||||
preferred: computed({
|
||||
get: () => $settings.value.preference ?? "system",
|
||||
set: (value) => ($settings.value.preference = value),
|
||||
}),
|
||||
return reactive({
|
||||
preferred: computed({
|
||||
get: () => $settings.value.preference ?? 'system',
|
||||
set: (value) => ($settings.value.preference = value),
|
||||
}),
|
||||
|
||||
active: computed({
|
||||
get: () => $settings.value.value ?? getDefaultTheme(),
|
||||
set: (value) => ($settings.value.value = value),
|
||||
}),
|
||||
});
|
||||
active: computed({
|
||||
get: () => $settings.value.value ?? getDefaultTheme(),
|
||||
set: (value) => ($settings.value.value = value),
|
||||
}),
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user