Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit cdc574e

Browse filesBrowse files
committed
feat(light): add dark mode, add css variables #41
1 parent 50592e9 commit cdc574e
Copy full SHA for cdc574e

File tree

Expand file treeCollapse file tree

2 files changed

+53
-20
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

2 files changed

+53
-20
lines changed
Open diff view settings
Collapse file

‎light/src/App.vue‎

Copy file name to clipboardExpand all lines: light/src/App.vue
+21-2Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<cron-light
44
v-model="value"
55
v-model:period="period"
6-
format="quartz"
6+
format="crontab"
77
locale="en"
88
@error="error = $event"
99
>
@@ -14,6 +14,11 @@
1414
</div>
1515
<br />
1616
Error: {{ error }}
17+
<div>
18+
<button @click="toggleDarkMode" class="cl-btn" style="margin-top: 1em">
19+
Switch to {{ isDark ? 'Light' : 'Dark' }} Mode
20+
</button>
21+
</div>
1722
</div>
1823
</template>
1924

@@ -26,9 +31,10 @@ export default {
2631
},
2732
data: () => {
2833
return {
29-
value: '* * * * * *',
34+
value: undefined,
3035
period: 'month',
3136
error: '',
37+
isDark: false,
3238
}
3339
},
3440
watch: {
@@ -43,11 +49,24 @@ export default {
4349
updateValue(evt: any) {
4450
this.value = evt.target.value
4551
},
52+
toggleDarkMode() {
53+
const body = document.querySelector('body')
54+
this.isDark = body?.classList.toggle('dark') ?? false
55+
},
4656
},
4757
}
4858
</script>
4959

5060
<style>
61+
body {
62+
font-family: sans-serif;
63+
}
64+
65+
body.dark {
66+
color: #f0f6fc;
67+
background-color: #0d1117;
68+
}
69+
5170
.vcron-editor {
5271
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
5372
}
Collapse file

‎light/src/components/select.vue‎

Copy file name to clipboardExpand all lines: light/src/components/select.vue
+32-18Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export default defineComponent({
5151
5252
const { floatingStyles } = useFloating(btn, floating, {
5353
placement: 'bottom-start',
54-
middleware: [flip(), shift(), offset(7)],
54+
middleware: [flip(), shift(), offset(3)],
5555
whileElementsMounted: autoUpdate,
5656
})
5757
@@ -93,9 +93,9 @@ export default defineComponent({
9393
.cl-btn {
9494
display: inline-flex;
9595
align-items: center;
96-
color: black;
97-
background-color: #eee;
98-
border: 1px solid #ddd;
96+
color: var(--cl-text-color, inherit);
97+
background-color: var(--cl-bg-color, #eee);
98+
border: var(--cl-border, 1px solid #ddd);
9999
border-radius: 3px;
100100
margin: 0.2em 0.3em;
101101
padding: 0.1em 0.5em;
@@ -104,13 +104,13 @@ export default defineComponent({
104104
}
105105
106106
.cl-btn.disabled {
107-
background-color: #ccc;
108-
color: #444;
107+
background-color: var(--cl-disabled-bg-color, #ccc);
108+
color: var(--cl-disabled-text-color, #444);
109109
}
110110
111111
.cl-btn:not(.disabled):hover {
112112
/* border: 1px solid #ccc; */
113-
background-color: #ddd;
113+
background-color: var(--cl-hover-bg-color, #d6d6d6);
114114
}
115115
116116
.cl-btn-clear {
@@ -121,8 +121,8 @@ export default defineComponent({
121121
122122
.cl-menu {
123123
box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5);
124-
border: 1px solid #aaa;
125-
background-color: #eee;
124+
border: var(--cl-border, 1px solid #ddd);
125+
background-color: var(--cl-bg-color, #eee);
126126
list-style: none;
127127
z-index: 100;
128128
}
@@ -139,21 +139,35 @@ export default defineComponent({
139139
user-select: none;
140140
padding: 0.2em 0.5em;
141141
text-align: center;
142-
color: black;
143142
}
144143
145144
.cl-col:hover {
146-
background-color: rgb(52, 147, 190);
147-
color: white;
145+
background-color: var(--cl-hover-bg-color, #d6d6d6);
146+
color: var(--cl-hover-text-color, inherit);
148147
}
149148
150-
.cl-col.selected {
151-
background-color: rgb(43, 108, 138);
152-
color: white;
149+
.cl-col.selected,
150+
.cl-col.selected:hover {
151+
background-color: var(--cl-selected-bg-color, rgb(43, 108, 138));
152+
color: var(--cl-selected-text-color, white);
153153
}
154154
155-
.cl-col.selected:hover {
156-
background-color: rgb(43, 108, 138);
157-
color: white;
155+
/* Dark mode styles */
156+
.dark {
157+
--cl-text-color: #eee;
158+
--cl-bg-color: #222;
159+
--cl-border: 1px solid #444;
160+
161+
--cl-disabled-bg-color: #333;
162+
--cl-disabled-text-color: #888;
163+
164+
--cl-hover-bg-color: #333;
165+
166+
--cl-selected-bg-color: #0a3041;
167+
--cl-selected-text-color: #43c3ff;
168+
}
169+
170+
.dark .cl-menu {
171+
box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8);
158172
}
159173
</style>

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.