responsive-app v1

This commit is contained in:
MEGASOL\simon.adams
2025-09-15 18:03:48 +02:00
parent 8ab6d4547f
commit 938cee689c
4 changed files with 60 additions and 32 deletions

View File

@@ -173,12 +173,14 @@ async function runQueue(){
// --- DOM refs ---
const dz = document.getElementById('dropzone');
const fi = document.getElementById('fileInput');
const btnMobilePick = document.getElementById('btnMobilePick');
const btnClearFinished = document.getElementById('btnClearFinished');
const btnClearAll = document.getElementById('btnClearAll');
const btnPing = document.getElementById('btnPing');
const pingStatus = document.getElementById('pingStatus');
const banner = document.getElementById('topBanner');
const btnTheme = document.getElementById('btnTheme');
const dropHint = document.getElementById('dropHint');
// --- Simple banner helper ---
function showBanner(text, kind='ok'){
@@ -245,6 +247,9 @@ dz.addEventListener('drop', (e)=>{
// --- Mobile-safe file input change handler ---
const isTouch = ('ontouchstart' in window) || (navigator.maxTouchPoints > 0);
let suppressClicksUntil = 0;
if (isTouch && dropHint) {
try { dropHint.classList.add('hidden'); } catch {}
}
fi.addEventListener('click', (e) => {
// prevent bubbling to parents (extra safety)
@@ -278,6 +283,14 @@ if (!isTouch) {
});
}
// Mobile sticky CTA: trigger system file picker
if (btnMobilePick) {
btnMobilePick.onclick = () => {
try { fi.value = ''; } catch {}
fi.click();
};
}
// --- Clear buttons ---
btnClearFinished.onclick = ()=>{
items = items.filter(i => !['done','duplicate'].includes(i.status));