diff --git a/refilc_mobile_ui/lib/pages/timetable/timetable_page.dart b/refilc_mobile_ui/lib/pages/timetable/timetable_page.dart index 0b2fb75..d420ec8 100644 --- a/refilc_mobile_ui/lib/pages/timetable/timetable_page.dart +++ b/refilc_mobile_ui/lib/pages/timetable/timetable_page.dart @@ -718,11 +718,12 @@ class TimetablePageState extends State indicatorPadding: const EdgeInsets.symmetric(horizontal: 10.0), indicator: BoxDecoration( - color: Colors.transparent, - border: Border.all( - color: AppColors.of(context) - .text - .withOpacity(0.90)), + color: AppColors.of(context).highlight, + // color: Colors.transparent, + // border: Border.all( + // color: AppColors.of(context) + // .text + // .withOpacity(0.90)), // color: Theme.of(context) // .colorScheme // .secondary diff --git a/refilc_mobile_ui/lib/screens/navigation/status_bar.dart b/refilc_mobile_ui/lib/screens/navigation/status_bar.dart index 8dd176e..44135e4 100644 --- a/refilc_mobile_ui/lib/screens/navigation/status_bar.dart +++ b/refilc_mobile_ui/lib/screens/navigation/status_bar.dart @@ -26,17 +26,17 @@ class StatusBarState extends State { return AnimatedContainer( duration: const Duration(milliseconds: 250), curve: Curves.easeInOut, - height: currentStatus != null ? 32.0 : 0, + height: currentStatus != null ? 48.0 : 0, width: double.infinity, color: Theme.of(context).scaffoldBackgroundColor, child: Stack( children: [ // Background AnimatedContainer( - margin: const EdgeInsets.only(left: 6.0, right: 6.0, top: 8.0), + margin: const EdgeInsets.only(left: 6.0, right: 6.0, top: 40.0), duration: const Duration(milliseconds: 250), curve: Curves.easeInOut, - height: currentStatus != null ? 28.0 : 0, + height: currentStatus != null ? 4.0 : 0, decoration: BoxDecoration( color: backgroundColor, boxShadow: [ @@ -49,10 +49,10 @@ class StatusBarState extends State { // Progress bar if (currentStatus == Status.syncing) Container( - margin: const EdgeInsets.only(left: 6.0, right: 6.0, top: 8.0), - alignment: Alignment.bottomLeft, + margin: const EdgeInsets.only(left: 6.0, right: 6.0, top: 40.0), + alignment: Alignment.topLeft, child: AnimatedContainer( - height: currentStatus != null ? 28.0 : 0, + height: currentStatus != null ? 4.0 : 0, duration: const Duration(milliseconds: 250), curve: Curves.easeInOut, width: MediaQuery.of(context).size.width * @@ -68,7 +68,7 @@ class StatusBarState extends State { // Text Padding( - padding: const EdgeInsets.only(top: 8.0), + padding: const EdgeInsets.only(top: 0.0), child: Center( child: Text( _statusString(currentStatus), @@ -76,6 +76,46 @@ class StatusBarState extends State { ), ), ), + + // pct + if (currentStatus == Status.syncing) + Container( + margin: const EdgeInsets.only(left: 6.0, right: 6.0, top: 34.0), + alignment: Alignment.topLeft, + child: AnimatedContainer( + duration: const Duration(milliseconds: 250), + curve: Curves.easeInOut, + width: MediaQuery.of(context).size.width * + statusProvider.progress - + 16.0, + alignment: Alignment.centerRight, + child: Container( + decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(1.0), + borderRadius: BorderRadius.zero, + color: AppColors.of(context).background, + ), + padding: const EdgeInsets.only(left: 10.0, right: 10.0), + child: Text( + '${(statusProvider.progress * 100).toStringAsFixed(0)}%', + style: TextStyle( + color: color, + fontWeight: FontWeight.w500, + height: 1.0, + ), + ), + ), + ), + ), + // Padding( + // padding: EdgeInsets.only( + // top: 32.0, + // left: ((MediaQuery.of(context).size.width) * + // statusProvider.progress) - + // 28.0, + // ), + // child: + // ), ], ), ); diff --git a/refilc_mobile_ui/lib/screens/navigation/status_bar.i18n.dart b/refilc_mobile_ui/lib/screens/navigation/status_bar.i18n.dart index 5e6453d..9c02933 100644 --- a/refilc_mobile_ui/lib/screens/navigation/status_bar.i18n.dart +++ b/refilc_mobile_ui/lib/screens/navigation/status_bar.i18n.dart @@ -4,19 +4,19 @@ extension Localization on String { static final _t = Translations.byLocale("hu_hu") + { "en_en": { - "Syncing data": "Syncing data", + "Syncing data": "Syncing data...", "KRETA Maintenance": "KRETA Maintenance", "KRETA API error": "KRETA API Error", "No connection": "No connection", }, "hu_hu": { - "Syncing data": "Adatok frissítése", + "Syncing data": "Adatok frissítése...", "KRETA Maintenance": "KRÉTA Karbantartás", "KRETA API error": "KRÉTA API Hiba", "No connection": "Nincs kapcsolat", }, "de_de": { - "Syncing data": "Daten aktualisieren", + "Syncing data": "Daten aktualisieren...", "KRETA Maintenance": "KRETA Wartung", "KRETA API error": "KRETA API Fehler", "No connection": "Keine Verbindung",