From b4662a175d62b9288d74a34ac561135ca96f01f8 Mon Sep 17 00:00:00 2001 From: timmy Date: Sun, 16 Aug 2026 04:29:44 +0000 Subject: [PATCH] feat: capture camera-first photo evidence (Closes #937) --- frontend/dashboard.css | 2 + frontend/dashboard.js | 1 + frontend/index.html | 10 +++-- frontend/issue-attachment.js | 28 ++++++++----- frontend/service-worker.js | 2 +- tests/test_comment_next.py | 2 +- tests/test_issue_attachment_ui.py | 49 ++++++++++++++++++++++- tests/test_later_sync.py | 2 +- tests/test_markdown_renderer.py | 2 +- tests/test_mobile_composer_integration.py | 2 +- tests/test_mobile_device_setup.py | 2 +- tests/test_mobile_start_day.py | 2 +- tests/test_plan_today.py | 2 +- tests/test_service_worker.py | 22 +++++----- tests/test_today_readiness.py | 2 +- tests/test_today_sync.py | 2 +- 16 files changed, 95 insertions(+), 37 deletions(-) diff --git a/frontend/dashboard.css b/frontend/dashboard.css index 66cc8bf..68a9421 100644 --- a/frontend/dashboard.css +++ b/frontend/dashboard.css @@ -684,6 +684,8 @@ textarea { resize: vertical; min-height: 120px; } .create-issue-filing { display:grid; gap:12px; min-width:0; } .create-issue-filing[hidden] { display:none; } .create-issue-attachment { display:grid; gap:8px; min-width:0; } +.photo-evidence-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-width:0; } +.photo-evidence-actions .issue-attachment-trigger { box-sizing:border-box; width:100%; min-width:0; text-align:center; } #create-issue-attachment-preview { grid-template-columns:1fr; } #create-issue-attachment-image { grid-row:auto; width:100%; height:auto; max-height:320px; } .issue-evidence-tray { display:flex; gap:8px; max-width:100%; padding:2px 0 6px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; } diff --git a/frontend/dashboard.js b/frontend/dashboard.js index 7d50dd3..b44773a 100644 --- a/frontend/dashboard.js +++ b/frontend/dashboard.js @@ -564,6 +564,7 @@ }); const createIssueAttachmentController = issueAttachment.mount({ input: qs('#create-issue-attachment'), + inputs: [qs('#take-create-issue-photo'), qs('#create-issue-attachment')], preview: qs('#create-issue-attachment-preview'), image: qs('#create-issue-attachment-image'), meta: qs('#create-issue-attachment-meta'), diff --git a/frontend/index.html b/frontend/index.html index e9fc4be..5821b79 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -842,15 +842,17 @@
- Evidence screenshots Optional · Up to 5 · PNG, JPEG, or WebP · 2 MB each -
- + Photo evidence Optional · Up to 5 · PNG, JPEG, or WebP · 2 MB each +
+ + +