diff --git a/frontend/authored-outbox.js b/frontend/authored-outbox.js index 9dbbb33..943ceb1 100644 --- a/frontend/authored-outbox.js +++ b/frontend/authored-outbox.js @@ -13,17 +13,21 @@ function createAuthoredOutbox({ storage, fetchJson, coordinator, backgroundSync, } function attachmentMetadata(value) { + const note = String(value.note || '').replace(/\s+/g, ' ').trim().slice(0, 240); return { filename: String(value.filename || ''), contentType: String(value.contentType || ''), stored: true, + ...(note ? { note } : {}), }; } function durableAttachment(value) { + const note = String(value.note || '').replace(/\s+/g, ' ').trim().slice(0, 240); return { filename: String(value.filename || ''), contentType: String(value.contentType || ''), + ...(note ? { note } : {}), ...(value.blob ? { blob:value.blob } : { data:String(value.data || '') }), }; } diff --git a/frontend/dashboard.css b/frontend/dashboard.css index 8a31c6c..ae641f2 100644 --- a/frontend/dashboard.css +++ b/frontend/dashboard.css @@ -701,6 +701,14 @@ textarea { resize: vertical; min-height: 120px; } .issue-evidence-note textarea:focus-visible { outline:2px solid #60a5fa; outline-offset:2px; } .issue-evidence-review-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } .issue-evidence-review-actions button { min-width:44px; min-height:44px; } +.conversation-evidence-review { grid-template-columns:1fr; width:100%; min-width:0; box-sizing:border-box; overflow-x:hidden; } +.conversation-evidence-review > img { grid-row:auto; width:100%; height:auto; max-height:280px; } +.conversation-evidence-review .issue-evidence-tray { overflow-x:auto; } +.conversation-evidence-review .issue-evidence-review-actions { grid-template-columns:repeat(3,minmax(0,1fr)); } +.conversation-evidence-review .issue-evidence-review-actions button { min-width:44px; min-height:44px; width:100%; } +@media (max-width:390px) { + .conversation-evidence-review .issue-evidence-review-actions { grid-template-columns:1fr; } +} .issue-evidence-editor { position:fixed; inset:0; z-index:70; display:grid; place-items:end center; overflow-x:hidden; background:rgba(2,6,15,.92); } .issue-evidence-editor[hidden] { display:none; } .issue-evidence-editor-panel { box-sizing:border-box; width:min(560px,100%); max-height:100dvh; overflow:auto; overflow-x:hidden; display:grid; gap:12px; padding:16px; padding-bottom:calc(16px + env(safe-area-inset-bottom)); background:#0b1526; border:1px solid #2a496e; border-radius:14px 14px 0 0; } diff --git a/frontend/dashboard.js b/frontend/dashboard.js index 4b195d9..6cc6442 100644 --- a/frontend/dashboard.js +++ b/frontend/dashboard.js @@ -502,6 +502,11 @@ image: qs('#issue-attachment-image'), meta: qs('#issue-attachment-meta'), remove: qs('#remove-issue-attachment'), + tray: qs('#issue-attachment-tray'), + earlier: qs('#move-issue-attachment-earlier'), + later: qs('#move-issue-attachment-later'), + note: qs('#issue-attachment-note'), + noteLabel: qs('#issue-attachment-note-label'), status: qs('#issue-comment-status'), createObjectURL: file => URL.createObjectURL(file), revokeObjectURL: url => URL.revokeObjectURL(url), @@ -534,6 +539,11 @@ image: qs('#pull-attachment-image'), meta: qs('#pull-attachment-meta'), remove: qs('#remove-pull-attachment'), + tray: qs('#pull-attachment-tray'), + earlier: qs('#move-pull-attachment-earlier'), + later: qs('#move-pull-attachment-later'), + note: qs('#pull-attachment-note'), + noteLabel: qs('#pull-attachment-note-label'), status: qs('#pull-comment-status'), createObjectURL: file => URL.createObjectURL(file), revokeObjectURL: url => URL.revokeObjectURL(url), @@ -557,6 +567,11 @@ image: qs('#update-reply-attachment-image'), meta: qs('#update-reply-attachment-meta'), remove: qs('#remove-update-reply-attachment'), + tray: qs('#update-reply-attachment-tray'), + earlier: qs('#move-update-reply-attachment-earlier'), + later: qs('#move-update-reply-attachment-later'), + note: qs('#update-reply-attachment-note'), + noteLabel: qs('#update-reply-attachment-note-label'), status: qs('#update-reply-status'), readyMessage: 'Screenshot ready to send with this reply.', removedMessage: 'Screenshot removed. Your reply is unchanged.', diff --git a/frontend/index.html b/frontend/index.html index 8a521f8..00d7d44 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -667,10 +667,19 @@ -