map_page_event.model.dart 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import 'package:immich_mobile/shared/models/asset.dart';
  2. enum MapPageEventType {
  3. mapTap,
  4. bottomSheetScrolled,
  5. assetsInBoundUpdated,
  6. zoomToAsset,
  7. zoomToCurrentLocation,
  8. }
  9. class MapPageEventBase {
  10. final MapPageEventType type;
  11. const MapPageEventBase(this.type);
  12. }
  13. class MapPageOnTapEvent extends MapPageEventBase {
  14. const MapPageOnTapEvent() : super(MapPageEventType.mapTap);
  15. }
  16. class MapPageAssetsInBoundUpdated extends MapPageEventBase {
  17. List<Asset> assets;
  18. MapPageAssetsInBoundUpdated(this.assets)
  19. : super(MapPageEventType.assetsInBoundUpdated);
  20. }
  21. class MapPageBottomSheetScrolled extends MapPageEventBase {
  22. Asset? asset;
  23. MapPageBottomSheetScrolled(this.asset)
  24. : super(MapPageEventType.bottomSheetScrolled);
  25. }
  26. class MapPageZoomToAsset extends MapPageEventBase {
  27. Asset? asset;
  28. MapPageZoomToAsset(this.asset) : super(MapPageEventType.zoomToAsset);
  29. }
  30. class MapPageZoomToLocation extends MapPageEventBase {
  31. const MapPageZoomToLocation() : super(MapPageEventType.zoomToCurrentLocation);
  32. }