|
|
|
@ -46,6 +46,7 @@ import 'package:hmg_patient_app_new/widgets/chip/app_custom_chip_widget.dart';
|
|
|
|
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
|
|
|
|
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
|
|
|
|
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
|
|
|
|
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
|
|
|
|
import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
|
|
|
|
import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
|
|
|
|
|
|
|
|
import 'package:lottie/lottie.dart';
|
|
|
|
import 'package:map_launcher/map_launcher.dart';
|
|
|
|
import 'package:map_launcher/map_launcher.dart';
|
|
|
|
import 'package:permission_handler/permission_handler.dart';
|
|
|
|
import 'package:permission_handler/permission_handler.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
@ -1390,46 +1391,45 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
|
|
|
|
return Column(
|
|
|
|
return Column(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
children: [
|
|
|
|
children: [
|
|
|
|
// Message text
|
|
|
|
Lottie.asset(AppAnimations.warningAnimation,
|
|
|
|
LocaleKeys.upcomingPaymentPending.tr(context: context).toText14(
|
|
|
|
repeat: false, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
|
|
|
|
color: AppColors.textColor,
|
|
|
|
SizedBox(height: 12,),
|
|
|
|
isCenter: true,
|
|
|
|
LocaleKeys.upcomingPaymentPending.tr(context: context).toText14(color: AppColors.textColor, isCenter: true),
|
|
|
|
),
|
|
|
|
|
|
|
|
SizedBox(height: 24.h),
|
|
|
|
|
|
|
|
// Countdown Timer - DD : HH : MM : SS format with labels - Always LTR
|
|
|
|
|
|
|
|
Directionality(
|
|
|
|
|
|
|
|
textDirection: ui.TextDirection.ltr,
|
|
|
|
|
|
|
|
child: Row(
|
|
|
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
|
|
|
children: [
|
|
|
|
|
|
|
|
// Days
|
|
|
|
|
|
|
|
_buildTimeUnit(
|
|
|
|
|
|
|
|
_timeRemaining != null ? _timeRemaining!.inDays.toString().padLeft(2, '0') : '00',
|
|
|
|
|
|
|
|
LocaleKeys.days.tr(context: context),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
_buildTimeSeparator(),
|
|
|
|
|
|
|
|
// Hours
|
|
|
|
|
|
|
|
_buildTimeUnit(
|
|
|
|
|
|
|
|
_timeRemaining != null ? _timeRemaining!.inHours.remainder(24).toString().padLeft(2, '0') : '00',
|
|
|
|
|
|
|
|
LocaleKeys.hours.tr(context: context),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
_buildTimeSeparator(),
|
|
|
|
|
|
|
|
// Minutes
|
|
|
|
|
|
|
|
_buildTimeUnit(
|
|
|
|
|
|
|
|
_timeRemaining != null ? _timeRemaining!.inMinutes.remainder(60).toString().padLeft(2, '0') : '00',
|
|
|
|
|
|
|
|
LocaleKeys.minutes.tr(context: context),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
_buildTimeSeparator(),
|
|
|
|
|
|
|
|
// Seconds
|
|
|
|
|
|
|
|
_buildTimeUnit(
|
|
|
|
|
|
|
|
_timeRemaining != null ? _timeRemaining!.inSeconds.remainder(60).toString().padLeft(2, '0') : '00',
|
|
|
|
|
|
|
|
LocaleKeys.seconds.tr(context: context),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
SizedBox(height: 24.h),
|
|
|
|
SizedBox(height: 24.h),
|
|
|
|
|
|
|
|
// // Countdown Timer - DD : HH : MM : SS format with labels - Always LTR
|
|
|
|
|
|
|
|
// Directionality(
|
|
|
|
|
|
|
|
// textDirection: ui.TextDirection.ltr,
|
|
|
|
|
|
|
|
// child: Row(
|
|
|
|
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
|
|
|
// children: [
|
|
|
|
|
|
|
|
// // Days
|
|
|
|
|
|
|
|
// _buildTimeUnit(
|
|
|
|
|
|
|
|
// _timeRemaining != null ? _timeRemaining!.inDays.toString().padLeft(2, '0') : '00',
|
|
|
|
|
|
|
|
// LocaleKeys.days.tr(context: context),
|
|
|
|
|
|
|
|
// ),
|
|
|
|
|
|
|
|
// _buildTimeSeparator(),
|
|
|
|
|
|
|
|
// // Hours
|
|
|
|
|
|
|
|
// _buildTimeUnit(
|
|
|
|
|
|
|
|
// _timeRemaining != null ? _timeRemaining!.inHours.remainder(24).toString().padLeft(2, '0') : '00',
|
|
|
|
|
|
|
|
// LocaleKeys.hours.tr(context: context),
|
|
|
|
|
|
|
|
// ),
|
|
|
|
|
|
|
|
// _buildTimeSeparator(),
|
|
|
|
|
|
|
|
// // Minutes
|
|
|
|
|
|
|
|
// _buildTimeUnit(
|
|
|
|
|
|
|
|
// _timeRemaining != null ? _timeRemaining!.inMinutes.remainder(60).toString().padLeft(2, '0') : '00',
|
|
|
|
|
|
|
|
// LocaleKeys.minutes.tr(context: context),
|
|
|
|
|
|
|
|
// ),
|
|
|
|
|
|
|
|
// _buildTimeSeparator(),
|
|
|
|
|
|
|
|
// // Seconds
|
|
|
|
|
|
|
|
// _buildTimeUnit(
|
|
|
|
|
|
|
|
// _timeRemaining != null ? _timeRemaining!.inSeconds.remainder(60).toString().padLeft(2, '0') : '00',
|
|
|
|
|
|
|
|
// LocaleKeys.seconds.tr(context: context),
|
|
|
|
|
|
|
|
// ),
|
|
|
|
|
|
|
|
// ],
|
|
|
|
|
|
|
|
// ),
|
|
|
|
|
|
|
|
// ),
|
|
|
|
|
|
|
|
// SizedBox(height: 24.h),
|
|
|
|
// Green Acknowledge button with checkmark icon
|
|
|
|
// Green Acknowledge button with checkmark icon
|
|
|
|
CustomButton(
|
|
|
|
CustomButton(
|
|
|
|
text: LocaleKeys.acknowledged.tr(context: context),
|
|
|
|
text: LocaleKeys.acknowledged.tr(context: context),
|
|
|
|
|