Skip to content

Commit 89a5e40

Browse files
authored
feat(dev-server): dark mode support (#5642)
1 parent 76c5d54 commit 89a5e40

File tree

2 files changed

+61
-9
lines changed

2 files changed

+61
-9
lines changed

src/dev-server/templates/directory-index.html

Lines changed: 51 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
* {
1010
box-sizing: border-box;
1111
}
12+
html {
13+
color-scheme: light dark;
14+
}
1215
body {
1316
padding: 40px 140px;
1417
margin: 0;
@@ -43,7 +46,9 @@
4346
padding: 0;
4447
}
4548
li a {
46-
display: inline-block;
49+
display: flex;
50+
align-items: center;
51+
gap: 6px;
4752
margin: 0;
4853
padding: 6px 12px;
4954
min-width: 50%;
@@ -53,22 +58,28 @@
5358
}
5459
li a:focus,
5560
li a:hover {
61+
color: #555;
5662
background: rgba(221, 235, 255, 0.65);
5763
}
5864
.icon {
5965
display: inline-block;
60-
width: 20px;
66+
width: 14px;
6167
min-height: 14px;
6268
opacity: 0.6;
63-
background-repeat: no-repeat;
69+
mask-repeat: no-repeat;
70+
-webkit-mask-repeat: no-repeat;
6471
}
6572
.directory .icon {
66-
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjEzLjMzOCA5Nkg3NC42NjZDNTEuMTk3IDk2IDMyIDExNS4xOTggMzIgMTM4LjY2N3YyMzQuNjY2QzMyIDM5Ni44MDIgNTEuMTk3IDQxNiA3NC42NjYgNDE2aDM2Mi42NjhDNDYwLjgwMyA0MTYgNDgwIDM5Ni44MDIgNDgwIDM3My4zMzNWMTg2LjY2N0M0ODAgMTYzLjE5OCA0NjAuODAzIDE0NCA0MzcuMzM0IDE0NEgyNTYuMDA2bC00Mi42NjgtNDh6Ii8+PC9zdmc+);
73+
mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjEzLjMzOCA5Nkg3NC42NjZDNTEuMTk3IDk2IDMyIDExNS4xOTggMzIgMTM4LjY2N3YyMzQuNjY2QzMyIDM5Ni44MDIgNTEuMTk3IDQxNiA3NC42NjYgNDE2aDM2Mi42NjhDNDYwLjgwMyA0MTYgNDgwIDM5Ni44MDIgNDgwIDM3My4zMzNWMTg2LjY2N0M0ODAgMTYzLjE5OCA0NjAuODAzIDE0NCA0MzcuMzM0IDE0NEgyNTYuMDA2bC00Mi42NjgtNDh6Ii8+PC9zdmc+);
74+
-webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjEzLjMzOCA5Nkg3NC42NjZDNTEuMTk3IDk2IDMyIDExNS4xOTggMzIgMTM4LjY2N3YyMzQuNjY2QzMyIDM5Ni44MDIgNTEuMTk3IDQxNiA3NC42NjYgNDE2aDM2Mi42NjhDNDYwLjgwMyA0MTYgNDgwIDM5Ni44MDIgNDgwIDM3My4zMzNWMTg2LjY2N0M0ODAgMTYzLjE5OCA0NjAuODAzIDE0NCA0MzcuMzM0IDE0NEgyNTYuMDA2bC00Mi42NjgtNDh6Ii8+PC9zdmc+);
6775
background-position: 0px 2px;
76+
background-color: currentColor;
6877
}
6978
.file .icon {
70-
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjg4IDQ4SDEzNmMtMjIuMDkyIDAtNDAgMTcuOTA4LTQwIDQwdjMzNmMwIDIyLjA5MiAxNy45MDggNDAgNDAgNDBoMjQwYzIyLjA5MiAwIDQwLTE3LjkwOCA0MC00MFYxNzZMMjg4IDQ4em0tMTYgMTQ0VjgwbDExMiAxMTJIMjcyeiIvPjwvc3ZnPg==);
79+
mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjg4IDQ4SDEzNmMtMjIuMDkyIDAtNDAgMTcuOTA4LTQwIDQwdjMzNmMwIDIyLjA5MiAxNy45MDggNDAgNDAgNDBoMjQwYzIyLjA5MiAwIDQwLTE3LjkwOCA0MC00MFYxNzZMMjg4IDQ4em0tMTYgMTQ0VjgwbDExMiAxMTJIMjcyeiIvPjwvc3ZnPg==);
80+
-webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjg4IDQ4SDEzNmMtMjIuMDkyIDAtNDAgMTcuOTA4LTQwIDQwdjMzNmMwIDIyLjA5MiAxNy45MDggNDAgNDAgNDBoMjQwYzIyLjA5MiAwIDQwLTE3LjkwOCA0MC00MFYxNzZMMjg4IDQ4em0tMTYgMTQ0VjgwbDExMiAxMTJIMjcyeiIvPjwvc3ZnPg==);
7181
background-position: 0px 2px;
82+
background-color: currentColor;
7283
}
7384
li a:hover .icon {
7485
opacity: 1;
@@ -107,18 +118,51 @@
107118
background: #e0e0e0;
108119
}
109120
li a {
110-
display: block;
121+
display: flex;
111122
border-radius: 0;
112123
padding: 15px 10px;
113124
}
114125
.icon {
115-
width: 32px;
126+
width: 24px;
127+
min-width: 24px;
116128
min-height: 24px;
117129
}
118130
.directory .icon {
119131
background-position: 0px 4px;
120132
}
121133
}
134+
135+
@media (prefers-color-scheme: dark) {
136+
body {
137+
background: #000;
138+
}
139+
h1 {
140+
color: #eaeaea;
141+
}
142+
a {
143+
color: #ccc;
144+
}
145+
a:hover {
146+
color: #eaeaea;
147+
}
148+
li a:focus,
149+
li a:hover {
150+
color: #ccc;
151+
background: #1c1c1c;
152+
}
153+
}
154+
155+
@media (max-width: 768px) and (prefers-color-scheme: dark) {
156+
ul {
157+
border-top: 1px solid #333;
158+
}
159+
li {
160+
border-bottom: 1px solid #333;
161+
}
162+
li:nth-child(odd) {
163+
background: #333;
164+
}
165+
}
122166
</style>
123167
<link rel="shortcut icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAB2AAAAdgB+lymcgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFGSURBVHic7dm9TcNQFMXxPzRpaZGYAEIqZkERkzAFSwARSyCGgA2QAqGhTZqYIrJkzEP4GfueyD4/6TavuufEH1IMZmZmZmZm382ABfAOFB3MJzANTfAPV8CGboJX5xU4CczRyox+wpfzDByFpWlhQX/hy3kCJlGBcnV1z/81D8BhUKYsW2IKKICboExZosJHzBtwT+bbR710H7MG5qmwB78UMEQb4AJ4qR7u5UOoJxPgun44pisAdm+44+rB2AooqF31Y7oFIPGDj62AH1yAegE1F6BeQM0FqBdQcwHqBdRcgHoBNRegXkDNBagXUHMB6gXUXIB6ATUXoF5ALVXAkP8W39YPUgV8BCyisqofpAp4DFhEpVG2c3ZfU9VfdPv4QnzWtKn5wEpYA5dNw5emwB2w3IMAbWcJ3AKnueHNzMzMzGzYvgAGC6SjvNl9rAAAAABJRU5ErkJggg==">
124168
</head>

src/dev-server/templates/initial-load.html

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525
* {
2626
box-sizing: border-box;
2727
}
28+
html {
29+
color-scheme: dark light;
30+
}
2831
body {
2932
position: absolute;
3033
padding: 0;
@@ -41,7 +44,7 @@
4144
margin: auto;
4245
max-width: 700px;
4346
border-radius: 3px;
44-
background: rgba(0,0,0,.9);
47+
background: rgba(0, 0, 0, .9);
4548
-webkit-transform: translate3d(0px, -60px, 0px);
4649
transform: translate3d(0px, -60px, 0px);
4750
-webkit-transition: -webkit-transform 75ms ease-out;
@@ -122,9 +125,14 @@
122125
margin: auto;
123126
max-width: 700px;
124127
padding: 32px;
125-
color: #5a5a5a;
126128
line-height: 1.5;
127129
}
130+
131+
@media (prefers-color-scheme: dark) {
132+
.toast {
133+
background: rgb(49, 49, 49, .9);
134+
}
135+
}
128136
</style>
129137
</head>
130138
<body>

0 commit comments

Comments
 (0)