From bf0078f2e9b447c323d17a63a3171994a2b08719 Mon Sep 17 00:00:00 2001 From: Dan Cojocaru Date: Wed, 3 Aug 2022 03:28:09 +0300 Subject: [PATCH] Fix alignment of station names in train screen --- CHANGELOG.TXT | 3 + ...in_info_cupertino_DisplayTrainStation.dart | 87 ++++++++++-------- ...ain_info_material_DisplayTrainStation.dart | 91 ++++++++++--------- pubspec.yaml | 2 +- 4 files changed, 101 insertions(+), 82 deletions(-) diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index bd9bc29..e4c5cb7 100644 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -1,3 +1,6 @@ +v2.7.2 +Fixed alignment of station names in train screen. + v2.7.1 Switched train suggestions list from hardcoded data to server data. Added Linux build files. diff --git a/lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart b/lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart index 2476696..58ee11b 100644 --- a/lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart +++ b/lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart @@ -16,51 +16,58 @@ class DisplayTrainStation extends StatelessWidget { Row( mainAxisSize: MainAxisSize.max, children: [ - Builder( - builder: (context) { - final departureStatus = station.departure?.status; - final arrivalStatus = station.arrival?.status; - int delay; - bool real; - if (departureStatus == null) { - delay = arrivalStatus?.delay ?? 0; - real = arrivalStatus?.real ?? false; - } - else if (arrivalStatus == null) { - delay = departureStatus.delay; - real = departureStatus.real; - } - else { - delay = departureStatus.delay; - real = departureStatus.real; - if (!real && arrivalStatus.real) { - delay = arrivalStatus.delay; - real = arrivalStatus.real; + Expanded( + flex: 1, + child: Align( + alignment: Alignment.centerLeft, + child: Builder( + builder: (context) { + final departureStatus = station.departure?.status; + final arrivalStatus = station.arrival?.status; + int delay; + bool real; + if (departureStatus == null) { + delay = arrivalStatus?.delay ?? 0; + real = arrivalStatus?.real ?? false; + } + else if (arrivalStatus == null) { + delay = departureStatus.delay; + real = departureStatus.real; + } + else { + 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; - final isNotScheduled = false; - - return Badge( - text: station.km.toString(), - caption: 'km', - isNotScheduled: isNotScheduled, - isDelayed: isDelayed, - isOnTime: isOnTime, - ); - } + ), + ), + ), + Title( + station: station, ), Expanded( - child: Title( - station: station, + flex: 1, + 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( diff --git a/lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart b/lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart index 4626376..a851a7c 100644 --- a/lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart +++ b/lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart @@ -19,51 +19,60 @@ class DisplayTrainStation extends StatelessWidget { Row( mainAxisSize: MainAxisSize.max, children: [ - Builder( - builder: (context) { - final departureStatus = station.departure?.status; - final arrivalStatus = station.arrival?.status; - int delay; - bool real; - if (departureStatus == null) { - delay = arrivalStatus?.delay ?? 0; - real = arrivalStatus?.real ?? false; - } - else if (arrivalStatus == null) { - delay = departureStatus.delay; - real = departureStatus.real; - } - else { - delay = departureStatus.delay; - real = departureStatus.real; - if (!real && arrivalStatus.real) { - delay = arrivalStatus.delay; - real = arrivalStatus.real; + Expanded( + flex: 1, + child: Align( + alignment: Alignment.centerLeft, + child: Builder( + builder: (context) { + final departureStatus = station.departure?.status; + final arrivalStatus = station.arrival?.status; + int delay; + bool real; + if (departureStatus == null) { + delay = arrivalStatus?.delay ?? 0; + real = arrivalStatus?.real ?? false; + } + else if (arrivalStatus == null) { + delay = departureStatus.delay; + real = departureStatus.real; + } + else { + 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; - final isNotScheduled = false; - - return Badge( - text: station.km.toString(), - caption: 'km', - isNotScheduled: isNotScheduled, - isDelayed: isDelayed, - isOnTime: isOnTime, - ); - } + ), + ), + ), + Title( + station: station, ), Expanded( - child: Title( - station: station, - ), + flex: 1, + 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( diff --git a/pubspec.yaml b/pubspec.yaml index e0f102b..3afbf16 100644 --- a/pubspec.yaml +++ b/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. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 2.7.1 +version: 2.7.2 environment: sdk: ">=2.12.0 <3.0.0"