Fix Selection-Toolbar: Position oben statt ueber Header, direktes Button-Binding

Toolbar wird jetzt am oberen Bildschirmrand angezeigt (Desktop),
damit sie nicht mehr den Header/Nav ueberlagert. Auf Mobile
bleibt sie unterhalb des Headers. Cancel/Download-Buttons nutzen
direktes Binding auf $toolbar statt Delegation auf document.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Kroonk
2026-04-16 23:29:28 +02:00
parent f4c106bd19
commit 75a5a596c5
6 changed files with 10 additions and 16 deletions

View File

@@ -1 +1 @@
.text-fg{color:#a0a0a1}#selection-toolbar{position:fixed;bottom:4em;left:0;width:100%;background:rgba(31,34,36,.95);padding:.75em 1.5em;display:flex;align-items:center;gap:1em;z-index:10003;transform:translateY(100%);transition:transform .3s ease;box-sizing:border-box}#selection-toolbar.visible{transform:translateY(0)}#selection-toolbar #sel-count{color:#fff;font-weight:400;margin-right:auto;white-space:nowrap}#selection-toolbar button{white-space:nowrap}body.selection-mode #main .thumb{cursor:pointer;position:relative}body.selection-mode #main .thumb::before{content:"";position:absolute;top:.6em;left:.6em;width:1.4em;height:1.4em;border:2px solid rgba(255,255,255,.7);border-radius:3px;background:rgba(0,0,0,.4);z-index:2;transition:all .2s ease;pointer-events:none}body.selection-mode #main .thumb.selected::before{background:#34a58e;border-color:#34a58e}body.selection-mode #main .thumb.selected .image{outline:3px solid #34a58e;outline-offset:-3px}@media screen and (max-width: 736px){#selection-toolbar{bottom:auto;top:4em;transform:translateY(-200%);padding:.5em 1em;gap:.5em}#selection-toolbar.visible{transform:translateY(0)}#selection-toolbar button{font-size:.85em;padding:.4em .8em}}#footer .presentify{margin:0 0 1.4em 0;display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:center}#footer .presentify .presentify-logo{display:flex;align-items:center;justify-content:center}#footer .presentify .presentify-logo a{display:flex;align-items:center;justify-content:center;border:0}#footer .presentify .presentify-logo img{width:72px;height:72px;display:block}#footer .presentify .presentify-text{margin:0} .text-fg{color:#a0a0a1}#selection-toolbar{position:fixed;top:0;left:0;width:100%;background:rgba(31,34,36,.95);padding:.75em 1.5em;display:flex;align-items:center;gap:1em;z-index:10003;transform:translateY(-100%);transition:transform .3s ease;box-sizing:border-box}#selection-toolbar.visible{transform:translateY(0)}#selection-toolbar #sel-count{color:#fff;font-weight:400;margin-right:auto;white-space:nowrap}#selection-toolbar button{white-space:nowrap}body.selection-mode #main .thumb{cursor:pointer;position:relative}body.selection-mode #main .thumb::before{content:"";position:absolute;top:.6em;left:.6em;width:1.4em;height:1.4em;border:2px solid rgba(255,255,255,.7);border-radius:3px;background:rgba(0,0,0,.4);z-index:2;transition:all .2s ease;pointer-events:none}body.selection-mode #main .thumb.selected::before{background:#34a58e;border-color:#34a58e}body.selection-mode #main .thumb.selected .image{outline:3px solid #34a58e;outline-offset:-3px}@media screen and (max-width: 736px){#selection-toolbar{top:4em;padding:.5em 1em;gap:.5em}#selection-toolbar button{font-size:.85em;padding:.4em .8em}}#footer .presentify{margin:0 0 1.4em 0;display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:center}#footer .presentify .presentify-logo{display:flex;align-items:center;justify-content:center}#footer .presentify .presentify-logo a{display:flex;align-items:center;justify-content:center;border:0}#footer .presentify .presentify-logo img{width:72px;height:72px;display:block}#footer .presentify .presentify-text{margin:0}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -394,8 +394,8 @@
updateToolbar(); updateToolbar();
} }
// Download-Button // Download-Button (direkt gebunden, nicht delegiert)
$(document).on('click', '#sel-download', function() { $toolbar.on('click', '#sel-download', function() {
if (selectedImages.length === 0) return; if (selectedImages.length === 0) return;
$.ajax({ $.ajax({
url: '/api/download/selected', url: '/api/download/selected',
@@ -440,8 +440,8 @@
}); });
}); });
// Abbrechen-Button // Abbrechen-Button (direkt gebunden)
$(document).on('click', '#sel-cancel', function() { $toolbar.on('click', '#sel-cancel', function() {
selectionActive = false; selectionActive = false;
$('body').removeClass('selection-mode'); $('body').removeClass('selection-mode');
$toolbar.removeClass('visible'); $toolbar.removeClass('visible');

File diff suppressed because one or more lines are too long

View File

@@ -10,7 +10,7 @@
#selection-toolbar { #selection-toolbar {
position: fixed; position: fixed;
bottom: _size(header); top: 0;
left: 0; left: 0;
width: 100%; width: 100%;
background: rgba(31, 34, 36, 0.95); background: rgba(31, 34, 36, 0.95);
@@ -19,7 +19,7 @@
align-items: center; align-items: center;
gap: 1em; gap: 1em;
z-index: _misc(z-index-base) + 3; z-index: _misc(z-index-base) + 3;
transform: translateY(100%); transform: translateY(-100%);
transition: transform 0.3s ease; transition: transform 0.3s ease;
box-sizing: border-box; box-sizing: border-box;
@@ -75,16 +75,10 @@ body.selection-mode {
@media screen and (max-width: 736px) { @media screen and (max-width: 736px) {
#selection-toolbar { #selection-toolbar {
bottom: auto;
top: _size(header); top: _size(header);
transform: translateY(-200%);
padding: 0.5em 1em; padding: 0.5em 1em;
gap: 0.5em; gap: 0.5em;
&.visible {
transform: translateY(0);
}
button { button {
font-size: 0.85em; font-size: 0.85em;
padding: 0.4em 0.8em; padding: 0.4em 0.8em;