added countdown timer in my appointments

fix_insurance_update
haroon amjad 4 years ago
parent 092f415457
commit a1f91d99b3

@ -16,6 +16,7 @@ import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import 'package:rating_bar/rating_bar.dart'; import 'package:rating_bar/rating_bar.dart';
import 'BookSuccess.dart'; import 'BookSuccess.dart';
@ -39,13 +40,11 @@ class BookConfirm extends StatefulWidget {
PatientShareResponse patientShareResponse; PatientShareResponse patientShareResponse;
AuthenticatedUser authUser; AuthenticatedUser authUser;
@override @override
_BookConfirmState createState() => _BookConfirmState(); _BookConfirmState createState() => _BookConfirmState();
} }
class _BookConfirmState extends State<BookConfirm> { class _BookConfirmState extends State<BookConfirm> {
ToDoCountProviderModel toDoProvider; ToDoCountProviderModel toDoProvider;
@override @override
@ -59,6 +58,7 @@ class _BookConfirmState extends State<BookConfirm> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
toDoProvider = Provider.of<ToDoCountProviderModel>(context);
return AppScaffold( return AppScaffold(
appBarTitle: TranslationBase.of(context).bookAppo, appBarTitle: TranslationBase.of(context).bookAppo,
isShowAppBar: true, isShowAppBar: true,
@ -426,9 +426,10 @@ class _BookConfirmState extends State<BookConfirm> {
AppToast.showSuccessToast(message: "Appointment Booked Successfully"); AppToast.showSuccessToast(message: "Appointment Booked Successfully");
print(res['AppointmentNo']); print(res['AppointmentNo']);
Future.delayed(new Duration(milliseconds: 1800), () { Future.delayed(new Duration(milliseconds: 500), () {
getPatientShare(context, res['AppointmentNo'], docObject.clinicID, getPatientShare(context, res['AppointmentNo'], docObject.clinicID,
docObject.projectID, docObject); docObject.projectID, docObject);
getToDoCount();
}); });
} else { } else {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);

@ -52,7 +52,6 @@ class _AppointmentActionsState extends State<AppointmentActions> {
@override @override
void initState() { void initState() {
toDoProvider = Provider.of<ToDoCountProviderModel>(context);
_getAppointmentActionButtons(); _getAppointmentActionButtons();
super.initState(); super.initState();
} }
@ -60,6 +59,7 @@ class _AppointmentActionsState extends State<AppointmentActions> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
toDoProvider = Provider.of<ToDoCountProviderModel>(context);
var size = MediaQuery.of(context).size; var size = MediaQuery.of(context).size;
final double itemHeight = projectViewModel.isArabic final double itemHeight = projectViewModel.isArabic
? ((size.height - kToolbarHeight - 24) * 0.47) / 2 ? ((size.height - kToolbarHeight - 24) * 0.47) / 2

@ -1,6 +1,10 @@
import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart'; import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart';
import 'package:diplomaticquarterapp/pages/MyAppointments/models/AppointmentType.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_countdown_timer/current_remaining_time.dart';
import 'package:flutter_countdown_timer/flutter_countdown_timer.dart';
import 'package:rating_bar/rating_bar.dart'; import 'package:rating_bar/rating_bar.dart';
import '../AppointmentDetails.dart'; import '../AppointmentDetails.dart';
@ -104,6 +108,23 @@ class _ApointmentCardState extends State<AppointmentCard> {
), ),
], ],
), ),
widget.appo.patientStatusType == AppointmentType.BOOKED ?
Container(
child: CountdownTimer(
endTime: DateTime.now().millisecondsSinceEpoch +
(widget.appo.remaniningHoursTocanPay * 1000) *
60,
widgetBuilder: (_, CurrentRemainingTime time) {
return Text(
'${time.days}:${time.hours}:${time.min}:${time.sec} ' +
TranslationBase.of(context)
.upcomingTimeLeft,
style: TextStyle(
fontSize: 12.0,
color: Color(0xff40ACC9)));
},
),
) : Container(),
], ],
), ),
), ),

Loading…
Cancel
Save