Beanstandungen der Prüfung beheben (Scan-Ansicht, Overlay, Styles)
- .stacks-Buttons auf min-height 56px angehoben, Leiste auf 76px vergrößert, damit die Buttons vollständig hineinpassen - Datei-Input bleibt dauerhaft hidden statt nach dem ersten Öffnen sichtbar zu bleiben und den Kamerabereich zu verkleinern - Rückgängig-Knopf erhält aria-label für Screenreader - showResult entfernt eine noch sichtbare vorherige Rückmeldung und deren Zeitgeber, bevor die neue eingeblendet wird Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+2
-2
@@ -38,13 +38,13 @@ body {
|
|||||||
padding: 10px 12px;
|
padding: 10px 12px;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
border-top: 1px solid var(--line);
|
border-top: 1px solid var(--line);
|
||||||
min-height: 56px;
|
min-height: 76px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stacks button {
|
.stacks button {
|
||||||
flex: none;
|
flex: none;
|
||||||
min-height: 44px;
|
min-height: 56px;
|
||||||
padding: 0 14px;
|
padding: 0 14px;
|
||||||
border: 1px solid var(--line);
|
border: 1px solid var(--line);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
|
|||||||
@@ -8,11 +8,21 @@ function beschreibung(spec) {
|
|||||||
return teile.join(' ') || 'ohne Angaben';
|
return teile.join(' ') || 'ohne Angaben';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Haelt pro Root die aktuell sichtbare Rueckmeldung samt Zeitgeber fest. */
|
||||||
|
const aktuelleRueckmeldung = new WeakMap();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Blendet die Treffer-Rueckmeldung ein und nach kurzer Zeit wieder aus.
|
* Blendet die Treffer-Rueckmeldung ein und nach kurzer Zeit wieder aus.
|
||||||
* Gruen bei Barcode, gelb bei OCR. Keine Eingabe noetig.
|
* Gruen bei Barcode, gelb bei OCR. Keine Eingabe noetig.
|
||||||
*/
|
*/
|
||||||
export function showResult(root, { stackId, spec, confidence }, dauerMs = 1200) {
|
export function showResult(root, { stackId, spec, confidence }, dauerMs = 1200) {
|
||||||
|
const vorherige = aktuelleRueckmeldung.get(root);
|
||||||
|
if (vorherige) {
|
||||||
|
clearTimeout(vorherige.timer);
|
||||||
|
vorherige.overlay.remove();
|
||||||
|
aktuelleRueckmeldung.delete(root);
|
||||||
|
}
|
||||||
|
|
||||||
const overlay = document.createElement('div');
|
const overlay = document.createElement('div');
|
||||||
overlay.className = `overlay ${confidence}`;
|
overlay.className = `overlay ${confidence}`;
|
||||||
overlay.innerHTML = `
|
overlay.innerHTML = `
|
||||||
@@ -25,9 +35,11 @@ export function showResult(root, { stackId, spec, confidence }, dauerMs = 1200)
|
|||||||
root.appendChild(overlay);
|
root.appendChild(overlay);
|
||||||
|
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
setTimeout(() => {
|
const timer = setTimeout(() => {
|
||||||
overlay.remove();
|
overlay.remove();
|
||||||
|
aktuelleRueckmeldung.delete(root);
|
||||||
resolve();
|
resolve();
|
||||||
}, dauerMs);
|
}, dauerMs);
|
||||||
|
aktuelleRueckmeldung.set(root, { overlay, timer });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -13,7 +13,7 @@ export function renderScanView(root, { onCapture, onUndo, onOpenList, onPickFile
|
|||||||
<div class="stacks" id="stacks"></div>
|
<div class="stacks" id="stacks"></div>
|
||||||
<div class="last">
|
<div class="last">
|
||||||
<span id="last">Noch nichts erfasst</span>
|
<span id="last">Noch nichts erfasst</span>
|
||||||
<button class="action secondary" id="undo" style="min-width:64px">↶</button>
|
<button class="action secondary" id="undo" style="min-width:64px" aria-label="Letzten Scan zurücknehmen">↶</button>
|
||||||
</div>
|
</div>
|
||||||
<input type="file" id="file" accept="image/*" hidden />
|
<input type="file" id="file" accept="image/*" hidden />
|
||||||
`;
|
`;
|
||||||
@@ -59,7 +59,6 @@ export function renderScanView(root, { onCapture, onUndo, onOpenList, onPickFile
|
|||||||
},
|
},
|
||||||
|
|
||||||
openFilePicker() {
|
openFilePicker() {
|
||||||
fileEl.hidden = false;
|
|
||||||
fileEl.click();
|
fileEl.click();
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user