move show timer to its own file
parent
792c85e28a
commit
8a8b55d2de
@ -0,0 +1,59 @@
|
||||
|
||||
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
|
||||
import 'package:doctor_app_flutter/util/date-utils.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class ShowTimer extends StatefulWidget {
|
||||
final PatiantInformtion patientInfo;
|
||||
|
||||
|
||||
const ShowTimer({
|
||||
Key key, this.patientInfo,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
_ShowTimerState createState() => _ShowTimerState();
|
||||
}
|
||||
|
||||
class _ShowTimerState extends State<ShowTimer> {
|
||||
|
||||
int remainingTime = 600;
|
||||
String displayTime = '';
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (displayTime.isEmpty) {
|
||||
startShowTimer();
|
||||
}
|
||||
return AppText(
|
||||
"$displayTime",
|
||||
color: Colors.red,
|
||||
textAlign: TextAlign.start,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 11,
|
||||
);
|
||||
}
|
||||
|
||||
startShowTimer() {
|
||||
// this.remainingTime--;
|
||||
setState(() {
|
||||
displayTime = this.generateShowTimerString();
|
||||
});
|
||||
|
||||
Future.delayed(Duration(seconds: 1), () {
|
||||
if (this.remainingTime > 0) {
|
||||
startShowTimer();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
generateShowTimerString() {
|
||||
DateTime now = DateTime.now();
|
||||
DateTime liveCareDate = DateTime.parse(widget.patientInfo.arrivalTime);
|
||||
String timer = AppDateUtils.differenceBetweenDateAndCurrent(
|
||||
liveCareDate, context, isShowSecond: true, isShowDays: false);
|
||||
|
||||
return timer;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue