mirror of
https://github.com/immich-app/immich.git
synced 2024-12-29 11:24:37 +02:00
cb391342d7
* 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>
41 lines
1.0 KiB
Dart
41 lines
1.0 KiB
Dart
import 'package:immich_mobile/shared/models/asset.dart';
|
|
|
|
enum MapPageEventType {
|
|
mapTap,
|
|
bottomSheetScrolled,
|
|
assetsInBoundUpdated,
|
|
zoomToAsset,
|
|
zoomToCurrentLocation,
|
|
}
|
|
|
|
class MapPageEventBase {
|
|
final MapPageEventType type;
|
|
|
|
const MapPageEventBase(this.type);
|
|
}
|
|
|
|
class MapPageOnTapEvent extends MapPageEventBase {
|
|
const MapPageOnTapEvent() : super(MapPageEventType.mapTap);
|
|
}
|
|
|
|
class MapPageAssetsInBoundUpdated extends MapPageEventBase {
|
|
List<Asset> assets;
|
|
MapPageAssetsInBoundUpdated(this.assets)
|
|
: super(MapPageEventType.assetsInBoundUpdated);
|
|
}
|
|
|
|
class MapPageBottomSheetScrolled extends MapPageEventBase {
|
|
Asset? asset;
|
|
MapPageBottomSheetScrolled(this.asset)
|
|
: super(MapPageEventType.bottomSheetScrolled);
|
|
}
|
|
|
|
class MapPageZoomToAsset extends MapPageEventBase {
|
|
Asset? asset;
|
|
MapPageZoomToAsset(this.asset) : super(MapPageEventType.zoomToAsset);
|
|
}
|
|
|
|
class MapPageZoomToLocation extends MapPageEventBase {
|
|
const MapPageZoomToLocation() : super(MapPageEventType.zoomToCurrentLocation);
|
|
}
|