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:
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

View File

@ -26,17 +26,17 @@ class StatusBarState extends State<StatusBar> {
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<StatusBar> {
// 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<StatusBar> {
// 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<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") +
{
"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",