|
1 |
| -// Put your custom JS code here |
| 1 | +// self-hosting view |
| 2 | +function getSelfhost() { |
| 3 | + return localStorage.getItem('selfhost') || 'no'; |
| 4 | +} |
2 | 5 |
|
3 |
| -// self-hosting view. |
4 |
| -const getSelfhost = () => { |
5 |
| - return localStorage.getItem('selfhost') || 'no'; |
6 |
| -}; |
| 6 | +function setSelfhost(enabled) { |
| 7 | + localStorage.setItem('selfhost', enabled); |
| 8 | + document.documentElement.setAttribute('data-selfhost', enabled); |
| 9 | +} |
7 | 10 |
|
8 |
| -const setSelfhost = (selfhost) => { |
9 |
| - localStorage.setItem('selfhost', selfhost); |
10 |
| - document.documentElement.setAttribute('data-selfhost', selfhost); |
11 |
| -}; |
| 11 | +function initSelfhostToggle() { |
| 12 | + setSelfhost(getSelfhost()); |
| 13 | + document.querySelectorAll('[data-selfhost-value]').forEach((element) => { |
| 14 | + element.addEventListener('click', () => { |
| 15 | + const selfhost = element.getAttribute('data-selfhost-value'); |
| 16 | + setSelfhost(selfhost); |
| 17 | + }); |
| 18 | + }); |
| 19 | +} |
12 | 20 |
|
13 |
| -setSelfhost(getSelfhost()); |
14 |
| - |
15 |
| -window.addEventListener('DOMContentLoaded', () => { |
16 |
| - document.querySelectorAll('[data-selfhost-value]').forEach((element) => { |
17 |
| - element.addEventListener('click', (event) => { |
18 |
| - const selfhost = element.getAttribute('data-selfhost-value'); |
19 |
| - setSelfhost(selfhost); |
20 |
| - }); |
21 |
| - } |
22 |
| -)}); |
| 21 | +if (document.readyState !== 'loading') { |
| 22 | + initSelfhostToggle(); |
| 23 | +} else { |
| 24 | + document.addEventListener('DOMContentLoaded', initSelfhostToggle); |
| 25 | +} |
0 commit comments