Skip to content

Commit 77e1b99

Browse files
committed
wip: support for dark mode
1 parent 0a6263c commit 77e1b99

File tree

7 files changed

+305
-254
lines changed

7 files changed

+305
-254
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"nprogress": "^0.2.0",
1717
"pinia": "^2.0.14",
1818
"store": "^2.0.12",
19-
"vant": "^3.4.9",
19+
"vant": "4.0.0-alpha.4",
2020
"vconsole": "^3.14.6",
2121
"vue": "^3.2.25",
2222
"vue-router": "^4.0.15"

plop-templates/component/index.hbs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
<script lang="ts">
99
import { defineComponent } from 'vue'
1010
11-
export default defineComponent({})
11+
export default defineComponent({
12+
name: '{{ properCase name }}',
13+
})
1214
</script>
1315
{{/if}}
1416

plop-templates/view/index.hbs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
<script lang="ts">
99
import { defineComponent } from 'vue'
1010
11-
export default defineComponent({})
11+
export default defineComponent({
12+
name: '{{ properCase name }}',
13+
})
1214
</script>
1315
{{/if}}
1416

src/App.vue

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
11
<template>
2-
<router-view />
2+
<van-config-provider :theme="theme">
3+
<van-switch v-model="checked" />
4+
<router-view />
5+
</van-config-provider>
36
</template>
7+
8+
<script lang="ts">
9+
import { defineComponent, ref, watch } from 'vue'
10+
export default defineComponent({
11+
setup() {
12+
const theme = ref('dark')
13+
const checked = ref(true)
14+
15+
watch(
16+
checked,() => {
17+
if(checked.value) {
18+
document.getElementsByTagName('html')[0].setAttribute('data-theme', 'data-theme-dark')
19+
} else {
20+
document.getElementsByTagName('html')[0].setAttribute('data-theme', 'data-theme-light')
21+
}
22+
}, { immediate: true })
23+
24+
return {
25+
theme,
26+
checked
27+
}
28+
}
29+
})
30+
</script>

src/app.less

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
body {
2+
overflow: hidden;
3+
}
4+
#app {
5+
height: 100%;
6+
overflow-x: hidden;
7+
}
8+
9+
*,
10+
*::before,
11+
*::after {
12+
-webkit-box-sizing: border-box;
13+
box-sizing: border-box;
14+
}
15+
16+
[data-theme='data-theme-dark'] {
17+
&,
18+
* {
19+
color-scheme: dark !important;
20+
}
21+
}

src/main.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import App from './App.vue'
33
import router from './router'
44
import { createPinia } from 'pinia'
55

6+
import './app.less'
67
import Vant from 'vant'
78
import 'vant/lib/index.css'
89

0 commit comments

Comments
 (0)