Fix n.n.: QR-Import – Meldung als einfliegendes Badge

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
fds2610-bot 2026-10-01 14:37:50 +02:00
parent 970e3e086e
commit 38ac132752
4 changed files with 4 additions and 9 deletions

View file

@ -2503,5 +2503,3 @@ table.liste.reihen [hidden] { display: none; }
background: color-mix(in srgb, var(--akzent) 8%, transparent); background: color-mix(in srgb, var(--akzent) 8%, transparent);
color: var(--text); color: var(--text);
} }
.qrmeldung { margin: .5rem 0 0; }

View file

@ -134,13 +134,11 @@
if (!bereich || !dialog) { if (!bereich || !dialog) {
return; return;
} }
const meldung = document.querySelector('[data-qrmeldung]');
const dateiwahl = dialog.querySelector('[data-qrdatei]'); const dateiwahl = dialog.querySelector('[data-qrdatei]');
// Die Meldung fliegt wie alle anderen oben ins Bild (FmMeldungen, app.js).
function melden(text, fehler) { function melden(text, fehler) {
meldung.textContent = text; window.FmMeldungen.zeigen(text, fehler ? 'fehler' : 'erfolg');
meldung.hidden = text === '';
meldung.className = 'qrmeldung meldung ' + (fehler ? 'meldung-fehler' : 'meldung-erfolg');
} }
function uebernehmen(zahlung) { function uebernehmen(zahlung) {
@ -165,7 +163,6 @@
if (dialog.open) { if (dialog.open) {
dialog.close(); dialog.close();
} }
melden('Wird gelesen …', false);
try { try {
uebernehmen(await dateiAuslesen(datei)); uebernehmen(await dateiAuslesen(datei));
} catch (fehler) { } catch (fehler) {

View file

@ -73,7 +73,6 @@ include __DIR__ . '/../layout/kopf.php';
</div> </div>
<?php endif; ?> <?php endif; ?>
</div> </div>
<p class="qrmeldung" data-qrmeldung role="status" hidden></p>
<?php if ($adressen !== []): ?> <?php if ($adressen !== []): ?>
<?php /* Kein „for“ auf dem Label: kombobox.js legt vor das <select> ein <?php /* Kein „for“ auf dem Label: kombobox.js legt vor das <select> ein

View file

@ -21,6 +21,7 @@ async function anmelden(page) {
} }
async function pruefeFelder(page) { async function pruefeFelder(page) {
await expect(page.locator('.meldung')).toContainText('QR-Code gelesen')
await expect(page.locator('#empfaenger')).toHaveValue('Rheinwerk Verlag GmbH') await expect(page.locator('#empfaenger')).toHaveValue('Rheinwerk Verlag GmbH')
await expect(page.locator('#iban')).toHaveValue('DE26380601863001400028') await expect(page.locator('#iban')).toHaveValue('DE26380601863001400028')
await expect(page.locator('#bic')).toHaveValue('GENODED1BRS') await expect(page.locator('#bic')).toHaveValue('GENODED1BRS')
@ -80,7 +81,7 @@ test.describe('Überweisung erfassen: QR-Code einlesen', () => {
// 1×1-Pixel-PNG // 1×1-Pixel-PNG
buffer: Buffer.from('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==', 'base64'), buffer: Buffer.from('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==', 'base64'),
}) })
await expect(page.locator('[data-qrmeldung]')).toContainText('kein QR-Code') await expect(page.locator('.meldung')).toContainText('kein QR-Code')
await expect(page.locator('#iban')).toHaveValue('') await expect(page.locator('#iban')).toHaveValue('')
}) })
}) })