Made google-play login working again, and fixed numerous bugs
All checks were successful
update version / increment-build-number (push) Successful in 9s
All checks were successful
update version / increment-build-number (push) Successful in 9s
This commit is contained in:
63
lib/widget/animatedTime.dart
Normal file
63
lib/widget/animatedTime.dart
Normal file
@ -0,0 +1,63 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:animated_digit/animated_digit.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AnimatedTime extends StatefulWidget {
|
||||
final Duration Function() callback;
|
||||
const AnimatedTime({Key? key, required this.callback}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<AnimatedTime> createState() => _AnimatedTimeState();
|
||||
}
|
||||
|
||||
class _AnimatedTimeState extends State<AnimatedTime> {
|
||||
Duration current = Duration.zero;
|
||||
late Timer timer;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
timer = Timer.periodic(const Duration(seconds: 1), (Timer t) => update());
|
||||
current = widget.callback();
|
||||
}
|
||||
|
||||
void update() {
|
||||
setState(() {
|
||||
current = widget.callback();
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Row(
|
||||
children: [
|
||||
const Text("Noch "),
|
||||
buildWidget(current.inDays),
|
||||
const Text(" Tage, "),
|
||||
buildWidget(current.inHours > 24 ? current.inHours - current.inDays * 24 : current.inHours),
|
||||
const Text(":"),
|
||||
buildWidget(current.inMinutes > 60 ? current.inMinutes - current.inHours * 60 : current.inMinutes),
|
||||
const Text(":"),
|
||||
buildWidget(current.inSeconds > 60 ? current.inSeconds - current.inMinutes * 60 : current.inSeconds),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
AnimatedDigitWidget buildWidget(int value) {
|
||||
return AnimatedDigitWidget(
|
||||
value: value,
|
||||
duration: const Duration(milliseconds: 100),
|
||||
textStyle: TextStyle(
|
||||
fontSize: 15,
|
||||
color: Theme.of(context).colorScheme.onSurface,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
timer.cancel();
|
||||
super.dispose();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user