|
|
|
@ -1,4 +1,5 @@
|
|
|
|
import 'dart:async';
|
|
|
|
import 'dart:async';
|
|
|
|
|
|
|
|
import 'dart:ui' as ui;
|
|
|
|
|
|
|
|
|
|
|
|
import 'package:auto_size_text/auto_size_text.dart';
|
|
|
|
import 'package:auto_size_text/auto_size_text.dart';
|
|
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
|
|
@ -53,80 +54,83 @@ class BuildCountdownTimer extends StatelessWidget {
|
|
|
|
);
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
Widget buildEmptyWidget() {
|
|
|
|
Widget buildEmptyWidget() {
|
|
|
|
return Row(
|
|
|
|
return Directionality(
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
textDirection: ui.TextDirection.ltr,
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
|
|
child: Row(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
children: <Widget>[
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
|
|
Column(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
children: <Widget>[
|
|
|
|
children: <Widget>[
|
|
|
|
// todo @faiz: Make a separate method and pass string , so we can minimize code replication
|
|
|
|
Column(
|
|
|
|
AutoSizeText(
|
|
|
|
children: <Widget>[
|
|
|
|
"00",
|
|
|
|
// todo @faiz: Make a separate method and pass string , so we can minimize code replication
|
|
|
|
maxFontSize: 24,
|
|
|
|
AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
"00",
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
),
|
|
|
|
minFontSize: 20,
|
|
|
|
AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
LocaleKeys.days.tr(),
|
|
|
|
),
|
|
|
|
minFontSize: 7,
|
|
|
|
AutoSizeText(
|
|
|
|
maxFontSize: 8,
|
|
|
|
LocaleKeys.days.tr(),
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
minFontSize: 7,
|
|
|
|
),
|
|
|
|
maxFontSize: 8,
|
|
|
|
],
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
buildSeparator(),
|
|
|
|
],
|
|
|
|
Column(
|
|
|
|
),
|
|
|
|
children: <Widget>[
|
|
|
|
buildSeparator(),
|
|
|
|
AutoSizeText(
|
|
|
|
Column(
|
|
|
|
"00",
|
|
|
|
children: <Widget>[
|
|
|
|
maxFontSize: 24,
|
|
|
|
AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
"00",
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
),
|
|
|
|
minFontSize: 20,
|
|
|
|
AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
LocaleKeys.hours.tr(),
|
|
|
|
),
|
|
|
|
minFontSize: 7,
|
|
|
|
AutoSizeText(
|
|
|
|
maxFontSize: 8,
|
|
|
|
LocaleKeys.hours.tr(),
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
minFontSize: 7,
|
|
|
|
),
|
|
|
|
maxFontSize: 8,
|
|
|
|
],
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
buildSeparator(),
|
|
|
|
],
|
|
|
|
Column(
|
|
|
|
),
|
|
|
|
children: <Widget>[
|
|
|
|
buildSeparator(),
|
|
|
|
AutoSizeText(
|
|
|
|
Column(
|
|
|
|
"00",
|
|
|
|
children: <Widget>[
|
|
|
|
maxFontSize: 24,
|
|
|
|
AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
"00",
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
),
|
|
|
|
minFontSize: 20,
|
|
|
|
AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
LocaleKeys.minutes.tr(),
|
|
|
|
),
|
|
|
|
minFontSize: 7,
|
|
|
|
AutoSizeText(
|
|
|
|
maxFontSize: 8,
|
|
|
|
LocaleKeys.minutes.tr(),
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
minFontSize: 7,
|
|
|
|
),
|
|
|
|
maxFontSize: 8,
|
|
|
|
],
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
buildSeparator(),
|
|
|
|
],
|
|
|
|
Column(
|
|
|
|
),
|
|
|
|
children: <Widget>[
|
|
|
|
buildSeparator(),
|
|
|
|
AutoSizeText(
|
|
|
|
Column(
|
|
|
|
"00",
|
|
|
|
children: <Widget>[
|
|
|
|
maxFontSize: 24,
|
|
|
|
AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
"00",
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
),
|
|
|
|
minFontSize: 20,
|
|
|
|
AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
LocaleKeys.seconds.tr(),
|
|
|
|
),
|
|
|
|
minFontSize: 7,
|
|
|
|
AutoSizeText(
|
|
|
|
maxFontSize: 8,
|
|
|
|
LocaleKeys.seconds.tr(),
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
minFontSize: 7,
|
|
|
|
),
|
|
|
|
maxFontSize: 8,
|
|
|
|
],
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -149,108 +153,111 @@ class BuildCountdownTimer extends StatelessWidget {
|
|
|
|
|
|
|
|
|
|
|
|
return buildEmptyWidget();
|
|
|
|
return buildEmptyWidget();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return Row(
|
|
|
|
return Directionality(
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
textDirection: ui.TextDirection.ltr,
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
|
|
child: Row(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
children: <Widget>[
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
|
|
Column(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
children: <Widget>[
|
|
|
|
children: <Widget>[
|
|
|
|
// todo @faiz: Make a separate method and pass value and string , so we can minimize code replication
|
|
|
|
Column(
|
|
|
|
time.days == null
|
|
|
|
children: <Widget>[
|
|
|
|
? AutoSizeText(
|
|
|
|
// todo @faiz: Make a separate method and pass value and string , so we can minimize code replication
|
|
|
|
"00",
|
|
|
|
time.days == null
|
|
|
|
maxFontSize: 24,
|
|
|
|
? AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
"00",
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
)
|
|
|
|
minFontSize: 20,
|
|
|
|
: AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
time.days! < 10 ? "0${time.days.toString()}" : time.days.toString(),
|
|
|
|
)
|
|
|
|
maxFontSize: 24,
|
|
|
|
: AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
time.days! < 10 ? "0${time.days.toString()}" : time.days.toString(),
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
),
|
|
|
|
minFontSize: 20,
|
|
|
|
AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
LocaleKeys.days.tr(),
|
|
|
|
),
|
|
|
|
minFontSize: 7,
|
|
|
|
AutoSizeText(
|
|
|
|
maxFontSize: 8,
|
|
|
|
LocaleKeys.days.tr(),
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
minFontSize: 7,
|
|
|
|
),
|
|
|
|
maxFontSize: 8,
|
|
|
|
],
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
buildSeparator(),
|
|
|
|
],
|
|
|
|
Column(
|
|
|
|
),
|
|
|
|
children: <Widget>[
|
|
|
|
buildSeparator(),
|
|
|
|
time.hours == null
|
|
|
|
Column(
|
|
|
|
? AutoSizeText(
|
|
|
|
children: <Widget>[
|
|
|
|
"00",
|
|
|
|
time.hours == null
|
|
|
|
maxFontSize: 24,
|
|
|
|
? AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
"00",
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
)
|
|
|
|
minFontSize: 20,
|
|
|
|
: AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
time.hours! < 10 ? "0${time.hours.toString()}" : time.hours.toString(),
|
|
|
|
)
|
|
|
|
maxFontSize: 24,
|
|
|
|
: AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
time.hours! < 10 ? "0${time.hours.toString()}" : time.hours.toString(),
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
),
|
|
|
|
minFontSize: 20,
|
|
|
|
AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
LocaleKeys.hours.tr(),
|
|
|
|
),
|
|
|
|
minFontSize: 7,
|
|
|
|
AutoSizeText(
|
|
|
|
maxFontSize: 8,
|
|
|
|
LocaleKeys.hours.tr(),
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
minFontSize: 7,
|
|
|
|
),
|
|
|
|
maxFontSize: 8,
|
|
|
|
],
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
buildSeparator(),
|
|
|
|
],
|
|
|
|
Column(
|
|
|
|
),
|
|
|
|
children: <Widget>[
|
|
|
|
buildSeparator(),
|
|
|
|
time.min == null
|
|
|
|
Column(
|
|
|
|
? AutoSizeText(
|
|
|
|
children: <Widget>[
|
|
|
|
"00",
|
|
|
|
time.min == null
|
|
|
|
maxFontSize: 24,
|
|
|
|
? AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
"00",
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
)
|
|
|
|
minFontSize: 20,
|
|
|
|
: AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
time.min! < 10 ? "0${time.min.toString()}" : time.min.toString(),
|
|
|
|
)
|
|
|
|
maxFontSize: 24,
|
|
|
|
: AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
time.min! < 10 ? "0${time.min.toString()}" : time.min.toString(),
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
),
|
|
|
|
minFontSize: 20,
|
|
|
|
AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
LocaleKeys.minutes.tr(),
|
|
|
|
),
|
|
|
|
minFontSize: 7,
|
|
|
|
AutoSizeText(
|
|
|
|
maxFontSize: 8,
|
|
|
|
LocaleKeys.minutes.tr(),
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
minFontSize: 7,
|
|
|
|
),
|
|
|
|
maxFontSize: 8,
|
|
|
|
],
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
buildSeparator(),
|
|
|
|
],
|
|
|
|
Column(
|
|
|
|
),
|
|
|
|
children: <Widget>[
|
|
|
|
buildSeparator(),
|
|
|
|
time.sec == null
|
|
|
|
Column(
|
|
|
|
? AutoSizeText(
|
|
|
|
children: <Widget>[
|
|
|
|
"00",
|
|
|
|
time.sec == null
|
|
|
|
maxFontSize: 24,
|
|
|
|
? AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
"00",
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
)
|
|
|
|
minFontSize: 20,
|
|
|
|
: AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
time.sec! < 10 ? "0${time.sec.toString()}" : time.sec.toString(),
|
|
|
|
)
|
|
|
|
maxFontSize: 24,
|
|
|
|
: AutoSizeText(
|
|
|
|
minFontSize: 20,
|
|
|
|
time.sec! < 10 ? "0${time.sec.toString()}" : time.sec.toString(),
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
maxFontSize: 24,
|
|
|
|
),
|
|
|
|
minFontSize: 20,
|
|
|
|
AutoSizeText(
|
|
|
|
style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
|
|
|
|
LocaleKeys.seconds.tr(),
|
|
|
|
),
|
|
|
|
minFontSize: 7,
|
|
|
|
AutoSizeText(
|
|
|
|
maxFontSize: 8,
|
|
|
|
LocaleKeys.seconds.tr(),
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
minFontSize: 7,
|
|
|
|
),
|
|
|
|
maxFontSize: 8,
|
|
|
|
],
|
|
|
|
style: screenFlag == 0 ? styleTextHome : styleTextMarathon,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|