web: Make mobile sidebar state separate

...from desktop sidebar state.

Fixes #331
This commit is contained in:
Franciszek Stachura 2024-09-20 13:22:15 +02:00 committed by Théo Lebrun
parent 9a27c7ae20
commit c8d088834d
2 changed files with 12 additions and 5 deletions

View file

@ -77,14 +77,21 @@ var openMenu = document.querySelector('.open-menu')
var wrapper = document.querySelector('.wrapper')
openMenu.onclick = tag.onclick = function (e) {
e.preventDefault();
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');
}
}

View file

@ -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);