diff --git a/app.css b/app.css
index 52222e4..20fd0c6 100644
--- a/app.css
+++ b/app.css
@@ -568,6 +568,18 @@ body {
border-radius: 10px;
font-weight: 600;
}
+.report-page-thumb .page-title-badge {
+ position: absolute;
+ bottom: 0; left: 0; right: 0;
+ background: rgba(0,0,0,0.75);
+ color: #fff;
+ font-size: 10px;
+ padding: 3px 6px;
+ text-align: center;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
/* Unterschrift-Modal */
.signature-modal .signature-meta {
diff --git a/app.js b/app.js
index 59b7322..bf586ce 100644
--- a/app.js
+++ b/app.js
@@ -630,9 +630,10 @@ router.on('/reports/:id', async (args) => {
${hasPages ? `
${data.pages.map((p, i) => `
-
+
⏳
${i + 1}
+ ${p.title ? `
${escapeHtml(p.title)}
` : ''}
`).join('')}
` : '
📭
Dieser Bericht hat noch keine Seiten. Fotos aufnehmen, um Seiten hinzuzufügen.
'}
@@ -785,7 +786,7 @@ function bindReportPageInteractions(reportId) {
// Click/Tap → Aktion-Modal (nur wenn nicht gedraggt wurde)
t.addEventListener('click', (e) => {
if (dragging) { e.preventDefault(); return; }
- openPageActionsModal(reportId, t.dataset.pageId, t.dataset.relpath, t.dataset.note || '');
+ openPageActionsModal(reportId, t.dataset.pageId, t.dataset.relpath, t.dataset.note || '', t.dataset.title || '');
});
// Long-Press → Drag-Modus
@@ -939,7 +940,7 @@ async function openNewReportModal(orderId) {
/* ============================================================
* SEITEN-AKTIONEN MODAL (Notiz, Löschen, Vollbild)
* ============================================================ */
-async function openPageActionsModal(berichtId, pageId, relpath, note) {
+async function openPageActionsModal(berichtId, pageId, relpath, note, title) {
const url = await api.getPhotoBlobUrl(relpath);
const modal = document.createElement('div');
modal.className = 'fullscreen-modal';
@@ -950,22 +951,37 @@ async function openPageActionsModal(berichtId, pageId, relpath, note) {