|
44 | 44 | const svgPreProcessor = require('@deepnest/svg-preprocessor');
|
45 | 45 |
|
46 | 46 | ready(async function () {
|
| 47 | + // check for dark mode preference |
| 48 | + const darkMode = localStorage.getItem('darkMode') === 'true'; |
| 49 | + if (darkMode) { |
| 50 | + document.body.classList.add('dark-mode'); |
| 51 | + } |
| 52 | + |
47 | 53 | // main navigation
|
48 | 54 | var tabs = document.querySelectorAll('#sidenav li');
|
49 | 55 |
|
50 | 56 | Array.from(tabs).forEach(tab => {
|
51 | 57 | tab.addEventListener('click', function (e) {
|
52 |
| - if (this.className == 'active' || this.className == 'disabled') { |
53 |
| - return false; |
54 |
| - } |
| 58 | + // darkmode handler |
| 59 | + if(this.id == 'darkmode_tab'){ |
| 60 | + document.body.classList.toggle('dark-mode'); |
| 61 | + localStorage.setItem('darkMode', document.body.classList.contains('dark-mode')); |
| 62 | + } else { |
| 63 | + |
| 64 | + if (this.className == 'active' || this.className == 'disabled') { |
| 65 | + return false; |
| 66 | + } |
55 | 67 |
|
56 |
| - var activetab = document.querySelector('#sidenav li.active'); |
57 |
| - activetab.className = ''; |
| 68 | + var activetab = document.querySelector('#sidenav li.active'); |
| 69 | + activetab.className = ''; |
58 | 70 |
|
59 |
| - var activepage = document.querySelector('.page.active'); |
60 |
| - activepage.className = 'page'; |
| 71 | + var activepage = document.querySelector('.page.active'); |
| 72 | + activepage.className = 'page'; |
61 | 73 |
|
62 |
| - this.className = 'active'; |
63 |
| - tabpage = document.querySelector('#' + this.dataset.page); |
64 |
| - tabpage.className = 'page active'; |
| 74 | + this.className = 'active'; |
| 75 | + tabpage = document.querySelector('#' + this.dataset.page); |
| 76 | + tabpage.className = 'page active'; |
65 | 77 |
|
66 |
| - if (tabpage.getAttribute('id') == 'home') { |
67 |
| - resize(); |
| 78 | + if (tabpage.getAttribute('id') == 'home') { |
| 79 | + resize(); |
| 80 | + } |
| 81 | + return false; |
68 | 82 | }
|
69 |
| - return false; |
70 | 83 | });
|
71 | 84 | });
|
72 | 85 |
|
|
1718 | 1731 | <li id="config_tab" data-page="config"></li>
|
1719 | 1732 | <!--<li id="account_tab" data-page="account"></li>-->
|
1720 | 1733 | <li id="info_tab" data-page="info"></li>
|
| 1734 | + <li id="darkmode_tab"></li> |
1721 | 1735 | </ul>
|
1722 | 1736 |
|
1723 | 1737 | <div id="home" class="page active">
|
|
0 commit comments