From 12da1d44b2691713dec0919783ca244a77c81a09 Mon Sep 17 00:00:00 2001 From: Shawn Date: Thu, 21 May 2026 11:21:46 -0400 Subject: [PATCH] T2: Photo gallery picker with preview --- Home.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Home.md b/Home.md index 30e4dd9..6f609e1 100644 --- a/Home.md +++ b/Home.md @@ -12,6 +12,17 @@ Mobile-first web app for tracking physical assets via barcode scanning, OCR stic - Username: `admin` - Password: `Brett85!@` +### T2 Photo Gallery Picker — May 2026 +- **Hidden file input**: `` in Add Asset tab +- **"📱 Pick from Gallery" button** in mode toggles bar alongside Barcode/OCR/Manual +- **Photo preview card**: Dark-themed card (matching app theme) with rounded corners and shadow, displays picked image +- **Toolbar buttons**: [🔍 OCR this photo] [📍 Extract GPS] [➕ Create Asset] +- **EXIF data**: File name, size, type, last modified date in styled rows +- **Clear button**: Resets picker and hides preview +- **Manual mode integration**: "➕ Create Asset" loads photo into Manual form with pre-filled image +- JS functions: `handlePickedPhoto(file)`, `clearPickedPhoto()`, `extractExifData()`, `formatFileSize()`, `ocrPickedPhoto()`, `extractGpsFromPicked()`, `createAssetFromPicked()` +- Commit: f895bf9 + ### T1 Tesseract.js Client-Side OCR Fallback — May 2026 - **CDN**: `tesseract.js@5` added to `` - **Server-first, client-fallback**: `captureOcr()` tries `/api/ocr` with 8s AbortController timeout; on failure/timeout, falls back to `ocrImageClient()` using Tesseract.js (WASM-based, in-browser)