Skip to content

Add overlay templates, improve camera preview, gallery selection, and locations UI - #26

Merged
krishna3554 merged 2 commits into
mainfrom
codex/fix-camera-aspect-ratio-rendering-v9audm
May 16, 2026
Merged

krishna3554 merged 2 commits into
mainfrom
codex/fix-camera-aspect-ratio-rendering-v9audm

Conversation

@krishna3554

Copy link
Copy Markdown
Owner

Motivation

  • Introduce configurable overlay templates for saved images and on-screen previews so users can choose different metadata card styles (classic_dark, minimal_strip, field_report).
  • Improve camera preview scaling and provide a template picker in-camera for faster template selection.
  • Enhance gallery and locations experiences with selection, sharing/deleting multiple photos, date grouping, improved viewer, and a map view for location entries.

Description

  • Add OverlayTemplateIds and new overlayTemplate setting to AppSettings and persist it via SettingsService (overlayTemplateKey).
  • Rework LocationStampCard to support multiple templates and compact previews, accept settings injection, and expose _StaticMap with configurable size and label rendering.
  • Update ImageOverlayService.composeGeoTaggedImage to accept overlayTemplate and render three templates by adding _drawMinimalStrip and _drawFieldReportCard (and adjust layout, fonts, colors for rendering).
  • Update camera UI in camera_screen.dart: replace CameraPreview with _CameraPreviewCover for correct aspect fitting, pass settings into LocationStampCard, and add a _TemplateChoiceTile sheet to select and save templates.
  • Upgrade gallery in gallery_screen.dart: add date grouping (uses intl), selection mode (_selectedIds) with multi-share and multi-delete, a paged AppPhotoViewer, tile components (_GalleryTile, _DateHeader), and an empty-state widget (_EmptyGallery).
  • Implement locations UI in locations_screen.dart: load and group photo locations into _LocationEntry, add search header, entries grouped by capture date, expandable cards with thumbnails, actions sheet (view, map, share, delete), and a _LocationsMap using flutter_map for map overview.
  • Miscellaneous tweaks: increase static map request size, refine loading placeholders, style and layout adjustments across templates, and a number of small refactors to frame builders and image caching in thumbnails.

Testing

  • Ran static analysis with flutter analyze which completed without issues.
  • Ran the automated test suite with flutter test and all tests passed.

Codex Task

@krishna3554
krishna3554 merged commit dfee6da into main May 16, 2026
0 of 3 checks passed
@chatgpt-codex-connector

Copy link
Copy Markdown

💡 Codex Review

final cardTop = height - cardHeight - (height * 0.035).round();

P2 Badge Keep the watermark visible on field report exports

When users choose the new field_report template, this places the card from about 68.5% to 96.5% of the image height, but _drawWatermark is drawn earlier at about 70% of the height. Because _drawFieldReportCard is painted after the watermark, the field-report card covers the watermark on exported photos, unlike the classic/minimal templates.


const Text(
'Overlay Templates',
style: TextStyle(fontSize: 20, fontWeight: FontWeight.w800),
),

P2 Badge Set light text colors in the dark template sheet

When the app is in light theme (darkTheme=false), this modal still forces a dark background but these Text widgets inherit the light theme's dark/default text color, so the sheet title and template names render nearly unreadable on the black sheet. Give the sheet's text a light DefaultTextStyle or explicit white colors.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant