From cc249fb4449b2ed69c8300547339f3bba9398143 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Battistella=20Nadas?= Date: Tue, 9 Jun 2026 19:18:52 +0200 Subject: [PATCH] ux(ocr): Material Symbols icons, no default crop box, more padding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Material Symbols Outlined webfont (Google Fonts) — used for the FAB camera (photo_camera), and the rotate_left / rotate_right / restart_alt / check buttons in the crop modal. Replaces the platform-rendered 📷 emoji that was off-centre, and replaces text labels on rotate/use buttons. Cancel stays text. - Cropper: autoCrop=false — no default selection. User drags on the image to draw the crop region; if they "Use this" without drawing, falls back to the full (possibly rotated) image. - Modal-body padding bumped from 1.25 rem to 2 rem so the bottom-right corner handle sits ~48 px from the screen edge, outside Android's edge-swipe back-gesture zone. - Header copy updated to "Drag on the image to select the text region" since there's no longer a default box to convey intent. --- CHANGELOG.md | 8 ++++++-- static/index.html | 48 +++++++++++++++++++++++++++++++++-------------- 2 files changed, 40 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index adc2023..a9ed6c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,8 +15,12 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - Crop & rotate modal between image pick and OCR. After choosing an image, a modal pops up with cropperjs's drag-handle crop UI and Rotate left / Rotate right / Reset buttons. EXIF orientation is honoured automatically. Cancel / `Esc` / clicking the backdrop aborts; `Enter` accepts. Library lazy-loaded from esm.sh (no bundling). ### Changed -- "Scan image" button replaced with a 📷 floating action button at the bottom-right of the viewport (was a small button in the input pane header). Mobile thumb-friendly, doesn't crowd the input label. -- Crop modal has inner padding so cropperjs's corner handles stay away from the screen's right/bottom edges — fixes the bottom-right resize handle triggering Android's edge-swipe back gesture. Also respects iOS safe-area insets. +- "Scan image" button replaced with a floating action button at the bottom-right of the viewport, using a Material Symbols Outlined camera glyph (`photo_camera`) for consistent rendering across platforms (was a small text button in the input pane header). +- Crop modal: + - No default crop box. User drags on the image to draw the region; falls back to full image if they confirm without drawing. + - Rotate left / Rotate right / Reset / Use this buttons replaced with Material Symbols icons (`rotate_left`, `rotate_right`, `restart_alt`, `check`). Cancel kept as text. + - Inner padding bumped to 2 rem so cropperjs's corner handles never sit on the right/bottom edges where Android's edge-swipe back gesture fires. iOS safe-area insets honoured on the backdrop and FAB. + - Header text is now a hint ("Drag on the image to select the text region") instead of a title. ### Fixed - "Hot: …" status no longer claims "unloads in X" when the server's `keep_alive` is `-1` (Ollama returns an absurd year-4001 `expires_at`). Threshold: any expiry >7 days drops the suffix and just shows the model name. diff --git a/static/index.html b/static/index.html index 5b29458..81b989d 100644 --- a/static/index.html +++ b/static/index.html @@ -5,6 +5,7 @@ finrod — translator +