feat(wip): implement trip persistence through a local repository. Include loaded trips in the start page UI

This commit is contained in:
2025-12-30 00:51:40 +01:00
parent 81ed2fd8c3
commit 014b48591e
28 changed files with 2395 additions and 387 deletions

View File

@@ -48,3 +48,9 @@ abstract class Landmark with _$Landmark {
factory Landmark.fromJson(Map<String, Object?> json) => _$LandmarkFromJson(json);
}
extension LandmarkVisitX on Landmark {
bool get isVisited => visited ?? false;
set isVisited(bool value) => visited = value;
}

View File

@@ -6,4 +6,14 @@ abstract class TripRepository {
Future<Trip> getTrip({Preferences? preferences, String? tripUUID, List<Landmark>? landmarks});
Future<List<Landmark>> searchLandmarks(Preferences preferences);
// TODO - should these be moved to a separate local repository?
// not every TripRepository should have a concept of "all saved trips"
Future<List<Trip>> getSavedTrips();
Future<Trip?> getSavedTrip(String uuid);
Future<void> saveTrip(Trip trip);
Future<void> deleteSavedTrip(String uuid);
}