new settings panel for url pickup
All checks were successful
Release / meta (push) Successful in 12s
Release / linux-build (push) Successful in 7m42s
Release / android-build (push) Successful in 16m34s
Release / release-dev (push) Successful in 38s
Release / release-master (push) Successful in 37s

This commit is contained in:
2025-12-22 22:45:33 +00:00
parent dc5ed2567f
commit 950978b021
14 changed files with 322 additions and 43 deletions

View File

@@ -197,7 +197,7 @@ class LocoSummary extends Loco {
this.livery,
this.location,
Map<String, dynamic>? extra,
bool powering = true,
super.powering = true,
}) : extra = extra ?? const {},
super(
id: locoId,
@@ -207,7 +207,6 @@ class LocoSummary extends Loco {
operator: locoOperator,
notes: locoNotes,
evn: locoEvn,
powering: powering,
);
factory LocoSummary.fromJson(Map<String, dynamic> json) => LocoSummary(
@@ -400,7 +399,7 @@ class LocoChange {
});
factory LocoChange.fromJson(Map<String, dynamic> json) {
String _clean(dynamic value) {
String cleanValue(dynamic value) {
final str = value?.toString().trim() ?? '';
if (str.isEmpty || str == '-' || str == '?') return '';
return str;
@@ -417,15 +416,15 @@ class LocoChange {
final validFromRaw = json['valid_from'] ?? json['validFrom'];
return LocoChange(
locoId: _asInt(json['loco_id']),
locoClass: _clean(json['loco_class']),
locoNumber: _clean(json['loco_number']),
locoName: _clean(json['loco_name']),
locoClass: cleanValue(json['loco_class']),
locoNumber: cleanValue(json['loco_number']),
locoName: cleanValue(json['loco_name']),
attrCode: _asString(json['attr_code']),
attrDisplay: _clean(json['attr_display']),
valueDisplay: _clean(valueLabel),
attrDisplay: cleanValue(json['attr_display']),
valueDisplay: cleanValue(valueLabel),
validFrom: DateTime.tryParse(validFromRaw?.toString() ?? ''),
approvedAt: DateTime.tryParse(approvedRaw?.toString() ?? ''),
approvedBy: _clean(json['approved_by']),
approvedBy: cleanValue(json['approved_by']),
);
}