Remove VIDEO tab; implement app-scoped Gallery, static map overlay, Settings & Account - #22
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 68dbe7a730
ℹ️ 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".
| const GalleryScreen({super.key, this.filteredAssets}); | ||
|
|
||
| final List<AssetEntity>? filteredAssets; | ||
| const GalleryScreen({super.key}); |
There was a problem hiding this comment.
Keep the GalleryScreen filtered constructor
Removing the filteredAssets parameter breaks the existing Locations flow: lib/features/locations/screen/locations_screen.dart still pushes GalleryScreen(filteredAssets: entry.value) when a location group is tapped, so this commit no longer builds until that caller is migrated or the constructor support is retained.
Useful? React with 👍 / 👎.
| await _photoStore.addPhoto( | ||
| AppPhoto( | ||
| id: DateTime.now().microsecondsSinceEpoch.toString(), | ||
| filePath: finalResult.filePath, |
There was a problem hiding this comment.
Store app photos outside the temp directory
This persists finalResult.filePath in the app gallery, but ImageOverlayService.composeGeoTaggedImage writes that path under getTemporaryDirectory(). On devices that clear app caches, or after routine cache cleanup, the app-scoped Gallery will silently lose saved captures even when the user expects them to remain in “My Photos”; use a durable app-documents path or copy the generated image before adding it to AppPhotoStore.
Useful? React with 👍 / 👎.
Motivation
Description
PHOTOselector and replaced the Template button withAccount(camera now initializes withAppSettings.resolutionPreset).AppPhotoandAppPhotoStorebacked byshared_preferencesto save/restore only photos created by this app and to delete files when requested.lib/features/gallery/screen/gallery_screen.dart) with a 3-columnGridView, long-press bottom sheet (View / Share), full-screenAppPhotoViewershowing metadata and offeringShareandDeleteactions viashare_plus.GalleryServiceand always records the photo in the app store (AppPhotoStore) so the gallery is scoped to app photos (lib/features/result/screen/result_screen.dart).GoogleMapService.staticMapUri) and pre-fetch/caching support; moved overlay rendering toLocationStampCardwhich now consultsSettingsServiceformapStyle,mapZoomLevel,showCoordinates, andshowCompassSpeedAltitude(lib/core/widgets/location_stamp_card.dart,lib/services/google_map_service.dart).AppSettingsmodel,SettingsServiceusingshared_preferences, and aSettingsScreenUI exposing map style, overlay position, coordinates toggles, photo quality, auto-save toggle, date format, map zoom and theme toggles (lib/models/app_settings.dart,lib/services/settings_service.dart,lib/features/settings/screen/settings_screen.dart).AccountScreenwith editable local profile sheet, guest-mode banner, photos/locations/member-stats and a backup scaffold plus aBackupServiceplaceholder for future Firebase integration (lib/features/account/screen/account_screen.dart,lib/services/backup_service.dart).AppThemeand wiredMyAppto honour the saved theme mode; addedshared_preferencestopubspec.yaml.Testing
git diff --checkto verify the working tree changes (no whitespace/patch errors) and inspected diffs manually; this passed in the environment used for development.flutter pub getbut it failed because the Flutter SDK is not installed in the container (flutter: command not found).dart --version/ formatting but the Dart SDK is not installed in the container (dart: command not found).flutter testbut this was skipped because the Flutter SDK is not available in the environment.SettingsService.Codex Task