Skip to content

Commit 41752aa

Browse files
committed
feat(theme): theme changes between page transition
1 parent f018def commit 41752aa

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

components/navbar.vue

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,8 @@
156156
</nav>
157157
</template>
158158

159-
<script>
159+
<script lang="ts">
160+
let darkMode: Boolean | null = null
160161
export default {
161162
props: {
162163
showBackButton: {
@@ -166,23 +167,24 @@ export default {
166167
},
167168
data() {
168169
return {
169-
darkMode: false,
170+
darkMode,
170171
}
171172
},
172173
mounted() {
173-
if (this.$cookies.isDarkMode) {
174-
this.toggleDarkMode(null, false)
174+
if (darkMode === null) {
175+
darkMode = this.$cookies.isDarkMode
176+
if (darkMode) {
177+
document.documentElement.classList.add('dark')
178+
document.cookie = `darkMode=${darkMode}; Secure; max-age=31536000; path=/;`
179+
}
175180
}
176181
document.documentElement.classList.remove('hidden')
177182
},
178183
methods: {
179-
toggleDarkMode(e, val) {
180-
e && e.preventDefault()
181-
this.darkMode = val || !this.darkMode
182-
document.documentElement.classList[this.darkMode ? 'add' : 'remove'](
183-
'dark'
184-
)
185-
document.cookie = `darkMode=${this.darkMode}; Secure; max-age=31536000; path=/;`
184+
toggleDarkMode() {
185+
darkMode = !darkMode
186+
document.documentElement.classList[darkMode ? 'add' : 'remove']('dark')
187+
document.cookie = `darkMode=${darkMode}; Secure; max-age=31536000; path=/;`
186188
},
187189
},
188190
}

0 commit comments

Comments
 (0)