finished new status bar shit

This commit is contained in:
Kima 2024-03-17 21:06:41 +01:00
parent 2bdc26cb21
commit 561b2e4b53
3 changed files with 56 additions and 15 deletions

View File

@ -718,11 +718,12 @@ class TimetablePageState extends State<TimetablePage>
indicatorPadding: indicatorPadding:
const EdgeInsets.symmetric(horizontal: 10.0), const EdgeInsets.symmetric(horizontal: 10.0),
indicator: BoxDecoration( indicator: BoxDecoration(
color: Colors.transparent, color: AppColors.of(context).highlight,
border: Border.all( // color: Colors.transparent,
color: AppColors.of(context) // border: Border.all(
.text // color: AppColors.of(context)
.withOpacity(0.90)), // .text
// .withOpacity(0.90)),
// color: Theme.of(context) // color: Theme.of(context)
// .colorScheme // .colorScheme
// .secondary // .secondary

View File

@ -26,17 +26,17 @@ class StatusBarState extends State<StatusBar> {
return AnimatedContainer( return AnimatedContainer(
duration: const Duration(milliseconds: 250), duration: const Duration(milliseconds: 250),
curve: Curves.easeInOut, curve: Curves.easeInOut,
height: currentStatus != null ? 32.0 : 0, height: currentStatus != null ? 48.0 : 0,
width: double.infinity, width: double.infinity,
color: Theme.of(context).scaffoldBackgroundColor, color: Theme.of(context).scaffoldBackgroundColor,
child: Stack( child: Stack(
children: [ children: [
// Background // Background
AnimatedContainer( 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), duration: const Duration(milliseconds: 250),
curve: Curves.easeInOut, curve: Curves.easeInOut,
height: currentStatus != null ? 28.0 : 0, height: currentStatus != null ? 4.0 : 0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: backgroundColor, color: backgroundColor,
boxShadow: [ boxShadow: [
@ -49,10 +49,10 @@ class StatusBarState extends State<StatusBar> {
// Progress bar // Progress bar
if (currentStatus == Status.syncing) if (currentStatus == Status.syncing)
Container( Container(
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),
alignment: Alignment.bottomLeft, alignment: Alignment.topLeft,
child: AnimatedContainer( child: AnimatedContainer(
height: currentStatus != null ? 28.0 : 0, height: currentStatus != null ? 4.0 : 0,
duration: const Duration(milliseconds: 250), duration: const Duration(milliseconds: 250),
curve: Curves.easeInOut, curve: Curves.easeInOut,
width: MediaQuery.of(context).size.width * width: MediaQuery.of(context).size.width *
@ -68,7 +68,7 @@ class StatusBarState extends State<StatusBar> {
// Text // Text
Padding( Padding(
padding: const EdgeInsets.only(top: 8.0), padding: const EdgeInsets.only(top: 0.0),
child: Center( child: Center(
child: Text( child: Text(
_statusString(currentStatus), _statusString(currentStatus),
@ -76,6 +76,46 @@ class StatusBarState extends State<StatusBar> {
), ),
), ),
), ),
// 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:
// ),
], ],
), ),
); );

View File

@ -4,19 +4,19 @@ extension Localization on String {
static final _t = Translations.byLocale("hu_hu") + static final _t = Translations.byLocale("hu_hu") +
{ {
"en_en": { "en_en": {
"Syncing data": "Syncing data", "Syncing data": "Syncing data...",
"KRETA Maintenance": "KRETA Maintenance", "KRETA Maintenance": "KRETA Maintenance",
"KRETA API error": "KRETA API Error", "KRETA API error": "KRETA API Error",
"No connection": "No connection", "No connection": "No connection",
}, },
"hu_hu": { "hu_hu": {
"Syncing data": "Adatok frissítése", "Syncing data": "Adatok frissítése...",
"KRETA Maintenance": "KRÉTA Karbantartás", "KRETA Maintenance": "KRÉTA Karbantartás",
"KRETA API error": "KRÉTA API Hiba", "KRETA API error": "KRÉTA API Hiba",
"No connection": "Nincs kapcsolat", "No connection": "Nincs kapcsolat",
}, },
"de_de": { "de_de": {
"Syncing data": "Daten aktualisieren", "Syncing data": "Daten aktualisieren...",
"KRETA Maintenance": "KRETA Wartung", "KRETA Maintenance": "KRETA Wartung",
"KRETA API error": "KRETA API Fehler", "KRETA API error": "KRETA API Fehler",
"No connection": "Keine Verbindung", "No connection": "Keine Verbindung",