diff --git a/lib/models/train_data.dart b/lib/models/train_data.dart index 0ba8ea9..cfa9c5b 100644 --- a/lib/models/train_data.dart +++ b/lib/models/train_data.dart @@ -28,9 +28,21 @@ class TrainData with _$TrainData { factory TrainData.fromJson(Map json) => _$TrainDataFromJson(json); - List get stations => groups.first.stations; - TrainDataRoute get route => groups.first.route; - TrainDataStatus? get status => groups.first.status; + TrainDataGroup get idealGroup { + var result = groups.first; + + for (final group in groups) { + if (result.stations.map((s) => s.linkName).toSet().difference(group.stations.map((s) => s.linkName).toSet()).isEmpty) { + result = group; + } + } + + return result; + } + + List get stations => idealGroup.stations; + TrainDataRoute get route => idealGroup.route; + TrainDataStatus? get status => idealGroup.status; } @freezed