From 2ce09e7c7a3019d5526dccf61144cc0606832e33 Mon Sep 17 00:00:00 2001 From: JustTemmie <47639983+JustTemmie@users.noreply.github.com> Date: Wed, 16 Jul 2025 05:37:44 +0200 Subject: [PATCH] fix: ensure both href theme updates result in the same url --- utils/loadPreferredTheme.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/utils/loadPreferredTheme.ts b/utils/loadPreferredTheme.ts index 145f410..6eb8099 100644 --- a/utils/loadPreferredTheme.ts +++ b/utils/loadPreferredTheme.ts @@ -1,23 +1,28 @@ let themeLinkElement: HTMLLinkElement | null; export default function loadPreferredTheme() { - const runtimeConfig = useRuntimeConfig() - const baseURL = runtimeConfig.app.baseURL; const currentTheme = settingsLoad().selectedThemeId ?? "dark" if (themeLinkElement) { - themeLinkElement.href = `${baseURL}themes/${currentTheme}.css`; + themeLinkElement.href = getThemeUrl(currentTheme); } else { // create the theme link if one doesn't already exist useHead({ link: [{ id: "main-theme", rel: "stylesheet", - // this should preferrably use version hash, but that's not implemented yet - href: `${baseURL}themes/${currentTheme}.css?v=${runtimeConfig.public.buildTimeString}` + href: getThemeUrl(currentTheme) }] }) themeLinkElement = document.getElementById('main-theme') as HTMLLinkElement; } +} + +function getThemeUrl(id: string): string { + const runtimeConfig = useRuntimeConfig() + const baseURL = runtimeConfig.app.baseURL; + + // this should preferrably use version hash, but that's not implemented yet + return `${baseURL}themes/${id}.css?v=${runtimeConfig.public.buildTimeString}` } \ No newline at end of file