|
1 | 1 | <button class="darkmode-toggle" aria-pressed="false">
|
2 |
| - <svg viewBox="0 0 512 512" fill="var(--action-color)"><path d="M264 480A232 232 0 0 1 32 248c0-94 54-178.28 137.61-214.67a16 16 0 0 1 21.06 21.06C181.07 76.43 176 104.66 176 136c0 110.28 89.72 200 200 200 31.34 0 59.57-5.07 81.61-14.67a16 16 0 0 1 21.06 21.06C442.28 426 358 480 264 480z"></path></svg> |
| 2 | + <svg viewBox="0 0 512 512" fill="var(--secondary-100)"><path d="M264 480A232 232 0 0 1 32 248c0-94 54-178.28 137.61-214.67a16 16 0 0 1 21.06 21.06C181.07 76.43 176 104.66 176 136c0 110.28 89.72 200 200 200 31.34 0 59.57-5.07 81.61-14.67a16 16 0 0 1 21.06 21.06C442.28 426 358 480 264 480z"></path></svg> |
3 | 3 | </button>
|
4 | 4 |
|
5 | 5 | <script>
|
|
10 | 10 | // functions
|
11 | 11 | const enableDarkMode = () => {
|
12 | 12 | document.body.classList.add('darkmode')
|
13 |
| - darkModeToggle.innerHTML = `<svg viewBox="0 0 512 512" fill="var(--action-color)"><path d="M256 118a22 22 0 0 1-22-22V48a22 22 0 0 1 44 0v48a22 22 0 0 1-22 22zM256 486a22 22 0 0 1-22-22v-48a22 22 0 0 1 44 0v48a22 22 0 0 1-22 22zM369.14 164.86a22 22 0 0 1-15.56-37.55l33.94-33.94a22 22 0 0 1 31.11 31.11l-33.94 33.94a21.93 21.93 0 0 1-15.55 6.44zM108.92 425.08a22 22 0 0 1-15.55-37.56l33.94-33.94a22 22 0 1 1 31.11 31.11l-33.94 33.94a21.94 21.94 0 0 1-15.56 6.45zM464 278h-48a22 22 0 0 1 0-44h48a22 22 0 0 1 0 44zM96 278H48a22 22 0 0 1 0-44h48a22 22 0 0 1 0 44zM403.08 425.08a21.94 21.94 0 0 1-15.56-6.45l-33.94-33.94a22 22 0 0 1 31.11-31.11l33.94 33.94a22 22 0 0 1-15.55 37.56zM142.86 164.86a21.89 21.89 0 0 1-15.55-6.44l-33.94-33.94a22 22 0 0 1 31.11-31.11l33.94 33.94a22 22 0 0 1-15.56 37.55zM256 358a102 102 0 1 1 102-102 102.12 102.12 0 0 1-102 102z"></path></svg>` |
| 13 | + darkModeToggle.innerHTML = `<svg viewBox="0 0 512 512" fill="var(--secondary-100)"><path d="M256 118a22 22 0 0 1-22-22V48a22 22 0 0 1 44 0v48a22 22 0 0 1-22 22zM256 486a22 22 0 0 1-22-22v-48a22 22 0 0 1 44 0v48a22 22 0 0 1-22 22zM369.14 164.86a22 22 0 0 1-15.56-37.55l33.94-33.94a22 22 0 0 1 31.11 31.11l-33.94 33.94a21.93 21.93 0 0 1-15.55 6.44zM108.92 425.08a22 22 0 0 1-15.55-37.56l33.94-33.94a22 22 0 1 1 31.11 31.11l-33.94 33.94a21.94 21.94 0 0 1-15.56 6.45zM464 278h-48a22 22 0 0 1 0-44h48a22 22 0 0 1 0 44zM96 278H48a22 22 0 0 1 0-44h48a22 22 0 0 1 0 44zM403.08 425.08a21.94 21.94 0 0 1-15.56-6.45l-33.94-33.94a22 22 0 0 1 31.11-31.11l33.94 33.94a22 22 0 0 1-15.55 37.56zM142.86 164.86a21.89 21.89 0 0 1-15.55-6.44l-33.94-33.94a22 22 0 0 1 31.11-31.11l33.94 33.94a22 22 0 0 1-15.56 37.55zM256 358a102 102 0 1 1 102-102 102.12 102.12 0 0 1-102 102z"></path></svg>` |
14 | 14 | darkModeToggle.setAttribute('aria-pressed', 'true')
|
15 | 15 | darkModeToggle.setAttribute('aria-label', 'Disable dark mode')
|
16 | 16 | localStorage.setItem('darkMode', 'enabled')
|
17 | 17 | }
|
18 | 18 |
|
19 | 19 | const disableDarkMode = () => {
|
20 | 20 | document.body.classList.remove('darkmode')
|
21 |
| - darkModeToggle.innerHTML = `<svg viewBox="0 0 512 512" fill="var(--action-color)"><path d="M264 480A232 232 0 0 1 32 248c0-94 54-178.28 137.61-214.67a16 16 0 0 1 21.06 21.06C181.07 76.43 176 104.66 176 136c0 110.28 89.72 200 200 200 31.34 0 59.57-5.07 81.61-14.67a16 16 0 0 1 21.06 21.06C442.28 426 358 480 264 480z"></path></svg>` |
| 21 | + darkModeToggle.innerHTML = `<svg viewBox="0 0 512 512" fill="var(--secondary-100)"><path d="M264 480A232 232 0 0 1 32 248c0-94 54-178.28 137.61-214.67a16 16 0 0 1 21.06 21.06C181.07 76.43 176 104.66 176 136c0 110.28 89.72 200 200 200 31.34 0 59.57-5.07 81.61-14.67a16 16 0 0 1 21.06 21.06C442.28 426 358 480 264 480z"></path></svg>` |
22 | 22 | darkModeToggle.setAttribute('aria-pressed', 'false')
|
23 | 23 | darkModeToggle.setAttribute('aria-label', 'Enable dark mode')
|
24 | 24 | localStorage.setItem('darkMode', null)
|
|
49 | 49 |
|
50 | 50 | @include breakpoint(medium) {
|
51 | 51 | width: 30px;
|
| 52 | + |
| 53 | + path { |
| 54 | + fill: var(--secondary-500); |
| 55 | + } |
52 | 56 | }
|
53 | 57 |
|
54 | 58 | path {
|
|
66 | 70 | @include outline;
|
67 | 71 | }
|
68 | 72 | }
|
| 73 | + |
| 74 | + .darkmode .darkmode-toggle { |
| 75 | + svg path { |
| 76 | + fill: var(--secondary-100); |
| 77 | + } |
| 78 | + |
| 79 | + &:hover { |
| 80 | + svg path { |
| 81 | + fill: var(--primary-400); |
| 82 | + } |
| 83 | + } |
| 84 | + } |
69 | 85 | </style>
|
0 commit comments