Skip to content

Commit 153b479

Browse files
committed
Initialise colour scheme on mount
1 parent 1f6a5f3 commit 153b479

5 files changed

Lines changed: 31 additions & 18 deletions

File tree

app/components/display-theme-switch/DisplayThemeSwitch.vue

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
<template>
2-
<TripleToggleSwitchCore
3-
v-model="colorModeVal"
4-
v-model:field-data="sampleFieldData"
5-
:style-class-passthrough="[`colour-scheme-select`, elementClasses]"
6-
/>
2+
<ClientOnly>
3+
<TripleToggleSwitchCore
4+
v-model="colorModeVal"
5+
v-model:field-data="sampleFieldData"
6+
:style-class-passthrough="[`colour-scheme-select`, elementClasses]"
7+
/>
8+
</ClientOnly>
79
</template>
810

911
<script setup lang="ts">

app/layouts/default.vue

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,28 @@ const responsiveNavLinks = {
145145
},
146146
],
147147
} as ResponsiveHeaderProp;
148+
149+
// *** COLOR SCHEME INITIALIZATION ***
150+
onMounted(() => {
151+
const applyColorScheme = (scheme: string) => {
152+
const htmlElement = document.documentElement;
153+
htmlElement.classList.remove("system", "dark", "light");
154+
htmlElement.classList.add(scheme);
155+
};
156+
157+
try {
158+
const storedValue = localStorage.getItem("useSettingsStore");
159+
160+
if (storedValue) {
161+
const parsed = JSON.parse(storedValue);
162+
applyColorScheme(parsed.colourScheme || "system");
163+
} else {
164+
applyColorScheme("system");
165+
}
166+
} catch {
167+
applyColorScheme("system");
168+
}
169+
});
148170
</script>
149171
<style lang="css">
150172
.header {

app/pages/forms/examples/material/text-fields.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -895,7 +895,7 @@ const {
895895
doZodValidate,
896896
fieldMaxLength,
897897
scrollToFirstError,
898-
scrollToFormHead,
898+
// scrollToFormHead,
899899
} = useZodValidation(formSchema, formRef);
900900
901901
initZodForm();

app/stores/useSettingsStore.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export const useSettingsStore = defineStore(
2929
},
3030
{
3131
persist: {
32-
storage: piniaPluginPersistedstate.cookies(),
32+
storage: piniaPluginPersistedstate.localStorage(),
3333
},
3434
}
3535
);

plugins/colorScheme.client.ts

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)