Skip to content

Commit 862da58

Browse files
feat: add dark mdode (#3 from w3cj/main)
feat: add dark mode
2 parents af28987 + 71673b8 commit 862da58

File tree

3 files changed

+120
-2
lines changed

3 files changed

+120
-2
lines changed

index.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
<meta name="description" content="Bluesky Widget: Cute Bluesky Profile Cards for your websites!!" />
2222
<link rel="icon" type="image/png" sizes="32x32" href="/bsky-icon-32.png">
2323
<link rel="stylesheet" href="./playground/playground.css" />
24-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css">
2524
</head>
2625

2726
<body>
@@ -118,7 +117,7 @@ <h3>In Frameworks</h3>
118117

119118
<a href="https://github.com/saurabhdaware/bsky-widget" target="_blank" class="github-corner"
120119
aria-label="View source on GitHub">
121-
<svg width="80" height="80" viewBox="0 0 250 250"
120+
<svg class="octo" width="80" height="80" viewBox="0 0 250 250"
122121
style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true">
123122
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
124123
<path

lib/styles.css

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,22 @@ a:hover {
167167
right: 14px;
168168
}
169169

170+
@media (prefers-color-scheme: dark) {
171+
.widget-container {
172+
--bsky-text-on-theme: #E0E2E6;
173+
--bsky-dark: #161C23;
174+
color: var(--bsky-text-on-theme);
175+
}
176+
177+
.card-content-container {
178+
background-color: var(--bsky-dark);
179+
box-shadow: 1px 1px 8px 1px #000;
180+
}
181+
182+
.avatar {
183+
border: 2px solid var(--bsky-dark);
184+
}
185+
}
170186
.bluesky-flutter {
171187
display: inline-flex;
172188
gap: 0.5em;

playground/playground.css

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
@import "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css" screen;
2+
@import "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github-dark.min.css" screen and (prefers-color-scheme: dark);
3+
14
* {
25
box-sizing: border-box;
36
}
@@ -326,3 +329,103 @@ footer {
326329
animation: octocat-wave 560ms ease-in-out;
327330
}
328331
}
332+
333+
@media (prefers-color-scheme: dark) {
334+
:root {
335+
--dark: #161C23;
336+
--light: #E0E2E6;
337+
--mid: #aaa;
338+
}
339+
340+
html {
341+
background: var(--dark);
342+
}
343+
344+
svg.octo {
345+
fill: #fff !important;
346+
color:#151513 !important;
347+
}
348+
349+
a:not(.button) {
350+
color: var(--light);
351+
border-bottom: 2px solid var(--light);
352+
}
353+
354+
.sidebar {
355+
color: var(--light);
356+
}
357+
358+
.preview-code-container {
359+
background: var(--dark);
360+
color: var(--light);
361+
}
362+
363+
.sb-embed {
364+
border: 1px solid var(--dark);
365+
}
366+
367+
.sidebar {
368+
background-color: var(--dark);
369+
box-shadow: 1px 1px 12px 4px #000;
370+
}
371+
372+
.input-container label {
373+
color: var(--mid);
374+
}
375+
376+
.input-container input {
377+
border: 1px solid var(--mid);
378+
background-color: var(--light);
379+
}
380+
381+
.input-container input::placeholder {
382+
color: var(--mid);
383+
}
384+
385+
.input-container input:focus {
386+
border-color: var(--mid);
387+
}
388+
389+
.button {
390+
color: var(--dark);
391+
background-color: var(--light);
392+
}
393+
394+
.button:hover {
395+
background-color: var(--mid);
396+
}
397+
398+
.code-output {
399+
background-color: #0F1217;
400+
border: 1px solid #000;
401+
}
402+
403+
.copy-button {
404+
background-color: var(--light);
405+
border: 1px solid var(--light);
406+
color: var(--dark);
407+
}
408+
409+
.slider {
410+
background-color: var(--mid);
411+
}
412+
413+
.slider:before {
414+
background-color: var(--dark);
415+
}
416+
417+
input:checked + .slider {
418+
background-color: var(--light);
419+
}
420+
421+
input:focus + .slider {
422+
box-shadow: 0 0 1px var(--light);
423+
}
424+
}
425+
426+
@media (prefers-color-scheme: dark) and (max-width: 768px) {
427+
.sidebar {
428+
box-shadow: none;
429+
background-color: transparent;
430+
}
431+
}

0 commit comments

Comments
 (0)