Browse Source

Fix alignment of station names in train screen

master v2.7.2
Kenneth Bruen 2 years ago
parent
commit
bf0078f2e9
Signed by: kbruen
GPG Key ID: C1980A470C3EE5B1
  1. 3
      CHANGELOG.TXT
  2. 87
      lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart
  3. 91
      lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart
  4. 2
      pubspec.yaml

3
CHANGELOG.TXT

@ -1,3 +1,6 @@
v2.7.2
Fixed alignment of station names in train screen.
v2.7.1 v2.7.1
Switched train suggestions list from hardcoded data to server data. Switched train suggestions list from hardcoded data to server data.
Added Linux build files. Added Linux build files.

87
lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart

@ -16,51 +16,58 @@ class DisplayTrainStation extends StatelessWidget {
Row( Row(
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
children: <Widget>[ children: <Widget>[
Builder( Expanded(
builder: (context) { flex: 1,
final departureStatus = station.departure?.status; child: Align(
final arrivalStatus = station.arrival?.status; alignment: Alignment.centerLeft,
int delay; child: Builder(
bool real; builder: (context) {
if (departureStatus == null) { final departureStatus = station.departure?.status;
delay = arrivalStatus?.delay ?? 0; final arrivalStatus = station.arrival?.status;
real = arrivalStatus?.real ?? false; int delay;
} bool real;
else if (arrivalStatus == null) { if (departureStatus == null) {
delay = departureStatus.delay; delay = arrivalStatus?.delay ?? 0;
real = departureStatus.real; real = arrivalStatus?.real ?? false;
} }
else { else if (arrivalStatus == null) {
delay = departureStatus.delay; delay = departureStatus.delay;
real = departureStatus.real; real = departureStatus.real;
if (!real && arrivalStatus.real) { }
delay = arrivalStatus.delay; else {
real = arrivalStatus.real; delay = departureStatus.delay;
real = departureStatus.real;
if (!real && arrivalStatus.real) {
delay = arrivalStatus.delay;
real = arrivalStatus.real;
}
}
final isDelayed = delay > 0 && real == true;
final isOnTime = delay <= 0 && real == true;
final isNotScheduled = false;
return Badge(
text: station.km.toString(),
caption: 'km',
isNotScheduled: isNotScheduled,
isDelayed: isDelayed,
isOnTime: isOnTime,
);
} }
} ),
),
final isDelayed = delay > 0 && real == true; ),
final isOnTime = delay <= 0 && real == true; Title(
final isNotScheduled = false; station: station,
return Badge(
text: station.km.toString(),
caption: 'km',
isNotScheduled: isNotScheduled,
isDelayed: isDelayed,
isOnTime: isOnTime,
);
}
), ),
Expanded( Expanded(
child: Title( flex: 1,
station: station, child: Align(
alignment: Alignment.centerRight,
child: station.platform == null ? Container() : Badge(text: station.platform!, caption: 'linia'),
), ),
), ),
if (station.platform == null)
Container(width: 48, height: 48,)
else
Badge(text: station.platform!, caption: 'linia'),
], ],
), ),
Time( Time(

91
lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart

@ -19,51 +19,60 @@ class DisplayTrainStation extends StatelessWidget {
Row( Row(
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
children: <Widget>[ children: <Widget>[
Builder( Expanded(
builder: (context) { flex: 1,
final departureStatus = station.departure?.status; child: Align(
final arrivalStatus = station.arrival?.status; alignment: Alignment.centerLeft,
int delay; child: Builder(
bool real; builder: (context) {
if (departureStatus == null) { final departureStatus = station.departure?.status;
delay = arrivalStatus?.delay ?? 0; final arrivalStatus = station.arrival?.status;
real = arrivalStatus?.real ?? false; int delay;
} bool real;
else if (arrivalStatus == null) { if (departureStatus == null) {
delay = departureStatus.delay; delay = arrivalStatus?.delay ?? 0;
real = departureStatus.real; real = arrivalStatus?.real ?? false;
} }
else { else if (arrivalStatus == null) {
delay = departureStatus.delay; delay = departureStatus.delay;
real = departureStatus.real; real = departureStatus.real;
if (!real && arrivalStatus.real) { }
delay = arrivalStatus.delay; else {
real = arrivalStatus.real; delay = departureStatus.delay;
real = departureStatus.real;
if (!real && arrivalStatus.real) {
delay = arrivalStatus.delay;
real = arrivalStatus.real;
}
}
final isDelayed = delay > 0 && real == true;
final isOnTime = delay <= 0 && real == true;
final isNotScheduled = false;
return Badge(
text: station.km.toString(),
caption: 'km',
isNotScheduled: isNotScheduled,
isDelayed: isDelayed,
isOnTime: isOnTime,
);
} }
} ),
),
final isDelayed = delay > 0 && real == true; ),
final isOnTime = delay <= 0 && real == true; Title(
final isNotScheduled = false; station: station,
return Badge(
text: station.km.toString(),
caption: 'km',
isNotScheduled: isNotScheduled,
isDelayed: isDelayed,
isOnTime: isOnTime,
);
}
), ),
Expanded( Expanded(
child: Title( flex: 1,
station: station, child: (station.platform == null)
), ? Container()
: Align(
alignment: Alignment.centerRight,
child: Badge(text: station.platform!, caption: 'linia',),
),
), ),
if (station.platform == null)
Container(width: isSmallScreen(context) ? 42 : 48, height: isSmallScreen(context) ? 42 : 48,)
else
Badge(text: station.platform!, caption: 'linia',),
], ],
), ),
Time( Time(

2
pubspec.yaml

@ -11,7 +11,7 @@ description: O aplicație de vizualizare a datelor puse la dispoziție de Inform
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at # Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 2.7.1 version: 2.7.2
environment: environment:
sdk: ">=2.12.0 <3.0.0" sdk: ">=2.12.0 <3.0.0"

Loading…
Cancel
Save