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