Fix: Sidebar/Backdrop aus #app raus, direkt in <body>

#sidebar und #sidebar-backdrop waren Kinder von #app (display:flex),
was auf iOS Safari Stacking-Context-Probleme verursacht. Beide Elemente
sind jetzt direkte Kinder von <body>. _openSidebar() zurueck zur
sauberen .open-Klassen-Methode. will-change:transform entfernt.
SW by-v32 -> by-v33.
This commit is contained in:
rene 2026-04-14 17:44:46 +02:00
parent 3b79efb82b
commit d399cb84cf
4 changed files with 21 additions and 43 deletions

View file

@ -193,32 +193,12 @@ const App = (() => {
}
function _openSidebar() {
const sidebar = document.getElementById('sidebar');
if (!sidebar) return;
// Inline-Styles: unabhängig vom CSS-Cache-Stand
// Inline-Styles: unabhängig vom CSS-Cache; Farben als Fallback hardcoded
const bg = getComputedStyle(document.documentElement)
.getPropertyValue('--c-surface').trim() || '#ffffff';
sidebar.style.cssText = [
'display:flex',
'position:fixed',
'top:0', 'left:0', 'bottom:0',
'width:240px',
'z-index:2000',
`background:${bg}`,
'flex-direction:column',
'overflow:hidden',
'box-shadow:4px 0 24px rgba(0,0,0,0.22)',
'border-right:1px solid #e5e7eb',
'transform:translateX(0)', // CSS hat translateX(-100%) → muss überschrieben werden
].join(';');
document.getElementById('sidebar')?.classList.add('open');
document.getElementById('sidebar-backdrop')?.classList.add('visible');
}
function _closeSidebar() {
const sidebar = document.getElementById('sidebar');
if (!sidebar) return;
sidebar.style.cssText = ''; // alle Inline-Styles weg → CSS übernimmt wieder
document.getElementById('sidebar')?.classList.remove('open');
document.getElementById('sidebar-backdrop')?.classList.remove('visible');
}