feat(mobile): map view ()

* feat(mobile): map page - add map view

* map: add map-markers

* feat(map): add relative date filter

* fix: do not let users scroll past map bounds

* fix: fetch relative date from store to state on init

* feat(mobile):re-fetch markers only on filter change

* feat(mobile) - asset bottom sheet in map page

* feat(mobile): display markers based on bottom sheet scroll

* fix: exif-bottom-sheet - rebase conflict

* feat(mobile): map-view - strongly typed map page events

* feat(map): zoom to asset

* chore: dart analyzer fixes

* map-page move attribution to top-right

* feat(mobile): map view - asset selection handling

* feat(mobile): map-view display map in places row

* fix: make asset marker icon responsive

* optimise map page rebuilds

* refactor(mobile): map page

* feat(mobile): map-view: Go to location

* map-view(mobile): minor refactor

* fix(mobile): Handle invalid coords gracefully

* small styling

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
shalong-tanwen 2023-08-27 05:07:35 +00:00 committed by GitHub
parent 305889f32b
commit cb391342d7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
37 changed files with 2268 additions and 139 deletions
mobile/lib/routing

View file

@ -296,6 +296,12 @@ class _$AppRouter extends RootStackRouter {
),
);
},
MapRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const MapPage(),
);
},
AlbumOptionsRoute.name: (routeData) {
final args = routeData.argsAs<AlbumOptionsRouteArgs>();
return MaterialPageX<dynamic>(
@ -605,6 +611,14 @@ class _$AppRouter extends RootStackRouter {
duplicateGuard,
],
),
RouteConfig(
MapRoute.name,
path: '/map-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
AlbumOptionsRoute.name,
path: '/album-options-page',
@ -1337,6 +1351,17 @@ class MemoryRouteArgs {
}
}
/// [MapPage]
class MapRoute extends PageRouteInfo<void> {
const MapRoute()
: super(
MapRoute.name,
path: '/map-page',
);
static const String name = 'MapRoute';
}
/// generated route for
/// [AlbumOptionsPage]
class AlbumOptionsRoute extends PageRouteInfo<AlbumOptionsRouteArgs> {