web: Make mobile sidebar state separate
...from desktop sidebar state. Fixes #331
This commit is contained in:
parent
9a27c7ae20
commit
c8d088834d
2 changed files with 12 additions and 5 deletions
|
|
@ -77,14 +77,21 @@ var openMenu = document.querySelector('.open-menu')
|
|||
var wrapper = document.querySelector('.wrapper')
|
||||
openMenu.onclick = tag.onclick = function (e) {
|
||||
e.preventDefault();
|
||||
const hasShowMenu = document.documentElement.classList.contains('show-menu');
|
||||
window.localStorage.setItem('show-sidebar', !hasShowMenu);
|
||||
document.documentElement.classList.toggle('show-menu');
|
||||
const isWidescreen = getComputedStyle(document.documentElement).getPropertyValue('--is-widescreen') === 'true';
|
||||
if(isWidescreen) {
|
||||
const hasShowMenu = document.documentElement.classList.contains('show-menu');
|
||||
window.localStorage.setItem('show-sidebar', !hasShowMenu);
|
||||
document.documentElement.classList.toggle('show-menu');
|
||||
} else {
|
||||
document.documentElement.classList.toggle('show-menu-mobile');
|
||||
}
|
||||
}
|
||||
sidebar.onclick = function (e) {
|
||||
if (e.target === this || e.target.classList.contains('close-menu')) {
|
||||
if (e.target === this) {
|
||||
document.documentElement.classList.remove('show-menu');
|
||||
window.localStorage.setItem('show-sidebar', false);
|
||||
} else if (e.target.classList.contains('close-menu')) {
|
||||
document.documentElement.classList.remove('show-menu-mobile');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1103,7 +1103,7 @@ main {
|
|||
-webkit-transition: left 0.2s ease 0.2s, background 0.2s ease;
|
||||
transition: left 0.2s ease 0.2s, background 0.2s ease;
|
||||
}
|
||||
.show-menu .sidebar {
|
||||
.show-menu-mobile .sidebar {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
background: rgba(3, 8, 35, 0.5);
|
||||
|
|
|
|||
Loading…
Reference in a new issue