From 90bd3f0e4b9fd12f00768ec57dd56c140086d1d7 Mon Sep 17 00:00:00 2001 From: Shawn Date: Thu, 21 May 2026 23:06:49 -0400 Subject: [PATCH] =?UTF-8?q?Remove=20capture=3Denvironment=20from=20manual?= =?UTF-8?q?=20photo=20input=20=E2=80=94=20plain=20file=20picker=20preserve?= =?UTF-8?q?s=20EXIF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - manPhotoInput now uses accept=image/* without capture attribute -> opens gallery/file picker which gives raw file bytes (EXIF preserved) - Camera shortcut preserved via openManualCamera() creates a temp capture=environment input for quick field capture (no EXIF but available) - Label updated: 'Tap to take photo' -> 'Tap to choose photo' - Manual photo capture row references openManualCamera() instead --- static/index.html | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/static/index.html b/static/index.html index 6867fce..ee23efb 100644 --- a/static/index.html +++ b/static/index.html @@ -994,12 +994,12 @@
📸 -
Tap to take photo
+
Tap to choose photo
- +
@@ -2608,6 +2608,16 @@ manualPhotoBlob = null; // reuse existing declaration let manualPhotoGps = null; + function openManualCamera() { + // Camera shortcut — EXIF won't survive but quick for field use + const inp = document.createElement('input'); + inp.type = 'file'; + inp.accept = 'image/*'; + inp.capture = 'environment'; + inp.onchange = handleManualPhotoFile; + inp.click(); + } + async function handleManualPhotoFile(event) { const file = event.target.files?.[0]; if (!file) return;