updates & fixes

pull/317/head
Haroon Amjad 1 month ago
parent 4329aa05ad
commit 9ead2cacaf

@ -0,0 +1,5 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 10.75C0 4.81294 4.81294 0 10.75 0C15.5683 0 19.597 3.1682 20.9655 7.52526C21.037 7.75307 20.9958 8.00133 20.8545 8.19382C20.7133 8.3863 20.4887 8.5 20.25 8.5H17.75C17.3357 8.5 17 8.16421 17 7.75C17 7.33579 17.3357 7 17.75 7H19.1673C17.7335 3.75655 14.5197 1.5 10.75 1.5C5.64137 1.5 1.5 5.64137 1.5 10.75C1.5 15.8586 5.64133 20 10.75 20C11.1642 20 11.5 20.3358 11.5 20.75C11.5 21.1642 11.1642 21.5 10.75 21.5C4.8129 21.5 0 16.6871 0 10.75Z" fill="white"/>
<path d="M10.75 6C11.1642 6 11.5 6.33579 11.5 6.75V10.4393L13.2803 12.2197C13.5732 12.5126 13.5732 12.9874 13.2803 13.2803C12.9874 13.5732 12.5125 13.5732 12.2196 13.2803L10.2196 11.2803C10.079 11.1397 9.99996 10.9489 9.99996 10.75V6.75C9.99996 6.33579 10.3357 6 10.75 6Z" fill="white"/>
<path d="M15.2803 14.2197C14.9874 13.9268 14.5126 13.9268 14.2197 14.2197C13.9268 14.5126 13.9268 14.9874 14.2197 15.2803L16.6893 17.75L14.2197 20.2197C13.9268 20.5126 13.9268 20.9874 14.2197 21.2803C14.5126 21.5732 14.9874 21.5732 15.2803 21.2803L17.75 18.8107L20.2197 21.2803C20.5126 21.5732 20.9874 21.5732 21.2803 21.2803C21.5732 20.9874 21.5732 20.5126 21.2803 20.2197L18.8107 17.75L21.2803 15.2803C21.5732 14.9874 21.5732 14.5126 21.2803 14.2197C20.9874 13.9268 20.5126 13.9268 20.2197 14.2197L17.75 16.6893L15.2803 14.2197Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -379,6 +379,7 @@ class AppAssets {
static const String online_checkin_icon = '$svgBasePath/online_checkin_icon.svg';
static const String hmg_pharmacy_logo = '$svgBasePath/hmg_pharmacy_logo.svg';
static const String redeem_icon = '$svgBasePath/redeem_icon.svg';
static const String expired_icon = '$svgBasePath/expired_icon.svg';
//Health Calculators
static const String bodyfatcalc = '$svgBasePath/bfc.svg';

@ -195,6 +195,15 @@ class LakumWalletDetails extends StatelessWidget {
Icons.arrow_circle_down,
),
),
SizedBox(width: 8.w),
Expanded(
child: _buildStatChip(
LocaleKeys.expired.tr(),
accountInfo.expiredPoints?.toString() ?? "0",
Icons.calendar_month,
isSvg: true
),
),
],
),
],
@ -203,7 +212,7 @@ class LakumWalletDetails extends StatelessWidget {
);
}
Widget _buildStatChip(String label, String value, IconData icon) {
Widget _buildStatChip(String label, String value, IconData icon, {bool isSvg = false}) {
return Container(
padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 10.h),
decoration: BoxDecoration(
@ -213,7 +222,7 @@ class LakumWalletDetails extends StatelessWidget {
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(icon, color: Colors.white, size: 16.f),
isSvg ? Utils.buildSvgWithAssets(icon: AppAssets.expired_icon, width: 15.w, height: 15.h, applyThemeColor: false) : Icon(icon, color: Colors.white, size: 16.f),
SizedBox(width: 6.w),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
@ -232,10 +241,10 @@ class LakumWalletDetails extends StatelessWidget {
return CustomButton(
height: 46.h,
icon: AppAssets.redeem_icon,
iconColor: AppColors.whiteColor,
iconColor: AppColors.textColor,
iconSize: 24.h,
backgroundColor: AppColors.habibPharmacyColor,
textColor: AppColors.whiteColor,
textColor: AppColors.textColor,
text: LocaleKeys.redeem.tr(context: context),
borderWidth: 0.w,
fontWeight: FontWeight.w600,
@ -318,20 +327,20 @@ class LakumWalletDetails extends StatelessWidget {
return Row(
children: [
// Transaction Icon
Container(
width: 44.w,
height: 44.h,
decoration: BoxDecoration(
color: transactionColor.withAlpha(25),
borderRadius: BorderRadius.circular(12.r),
),
child: Icon(
isGained ? Icons.add_rounded : Icons.remove_rounded,
color: transactionColor,
size: 24.f,
),
),
SizedBox(width: 12.w),
// Container(
// width: 44.w,
// height: 44.h,
// decoration: BoxDecoration(
// color: transactionColor.withAlpha(25),
// borderRadius: BorderRadius.circular(12.r),
// ),
// child: Icon(
// isGained ? Icons.add_rounded : Icons.remove_rounded,
// color: transactionColor,
// size: 24.f,
// ),
// ),
// SizedBox(width: 12.w),
// Transaction Details
Expanded(

@ -148,11 +148,14 @@ class _LandingPageState extends State<LandingPage> {
notificationsViewModel.initNotificationsViewModel();
insuranceViewModel.initInsuranceProvider();
if(appState.isRatedVisible) {
appointmentRatingViewModel.getLastRatingAppointment(onSuccess: (response) {
if (appointmentRatingViewModel.appointmentRatedList.isNotEmpty) {
appointmentRatingViewModel.getAppointmentDetails(appointmentRatingViewModel.appointmentRatedList.last.appointmentNo!, appointmentRatingViewModel.appointmentRatedList.last.projectID!,
onSuccess: ((response) {
if (!appState.isRatedVisible) {
appointmentRatingViewModel.getLastRatingAppointment(
onSuccess: (response) {
if (appointmentRatingViewModel.appointmentRatedList.isNotEmpty) {
appointmentRatingViewModel.getAppointmentDetails(
appointmentRatingViewModel.appointmentRatedList.last.appointmentNo!,
appointmentRatingViewModel.appointmentRatedList.last.projectID!,
onSuccess: ((response) {
appointmentRatingViewModel.setClinicOrDoctor(false);
appointmentRatingViewModel.setTitle(LocaleKeys.rateDoctor.tr(context: context));
appointmentRatingViewModel.setSubTitle(LocaleKeys.howWasYourLastVisitWithDoctor.tr(context: context));
@ -212,10 +215,7 @@ class _LandingPageState extends State<LandingPage> {
controller: _scrollController,
physics: const AlwaysScrollableScrollPhysics(),
padding: EdgeInsets.only(
top: (appState.isAuthenticated &&
!insuranceVM.isInsuranceLoading &&
insuranceVM.isInsuranceExpired &&
insuranceVM.isInsuranceExpiryBannerShown)
top: (appState.isAuthenticated && !insuranceVM.isInsuranceLoading && insuranceVM.isInsuranceExpired && insuranceVM.isInsuranceExpiryBannerShown)
? (MediaQuery.paddingOf(context).top + 70.h)
: kToolbarHeight + 0.h,
bottom: 24),
@ -338,9 +338,7 @@ class _LandingPageState extends State<LandingPage> {
SizedBox(
width: 24.w,
),
Utils.buildSvgWithAssets(
icon: appState.isArabic() ? AppAssets.enLangIcon : AppAssets.arLangIcon, height: 24.h, width: 24.h)
.onPress(() {
Utils.buildSvgWithAssets(icon: appState.isArabic() ? AppAssets.enLangIcon : AppAssets.arLangIcon, height: 24.h, width: 24.h).onPress(() {
context.setLocale(appState.isArabic() ? Locale('en', 'US') : Locale('ar', 'SA'));
})
])
@ -484,9 +482,7 @@ class _LandingPageState extends State<LandingPage> {
),
)
: SizedBox(
height: 255.h +
20 +
30, // itemHeight + shadow padding (10 top + 10 bottom) + pagination dots space
height: 255.h + 20 + 30, // itemHeight + shadow padding (10 top + 10 bottom) + pagination dots space
child: Builder(
builder: (context) {
final int swiperItemCount = myAppointmentsVM.isMyAppointmentsLoading
@ -531,8 +527,7 @@ class _LandingPageState extends State<LandingPage> {
? _buildLiveCareRequestCard().paddingSymmetrical(24.h, 16.h)
: Container(
width: double.infinity,
decoration: RoundedRectangleBorder()
.toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.r, hasShadow: true),
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.r, hasShadow: true),
child: Padding(
padding: EdgeInsets.all(16.h),
child: Column(
@ -632,9 +627,7 @@ class _LandingPageState extends State<LandingPage> {
LocaleKeys.quickLinks.tr(context: context).toText16(isBold: true),
Row(
children: [
LocaleKeys.viewMedicalFileLandingPage
.tr(context: context)
.toText14(color: AppColors.primaryRedColor, isBold: true),
LocaleKeys.viewMedicalFileLandingPage.tr(context: context).toText14(color: AppColors.primaryRedColor, isBold: true),
SizedBox(width: 2.h),
Icon(Icons.arrow_forward_ios, color: AppColors.primaryRedColor, size: 14.h),
],
@ -662,10 +655,7 @@ class _LandingPageState extends State<LandingPage> {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
LocaleKeys.pendingAncillaryOrders
.tr(context: context)
.toText14(color: AppColors.eReferralCardColor, isBold: true)
.paddingSymmetrical(24.h, 0.h),
LocaleKeys.pendingAncillaryOrders.tr(context: context).toText14(color: AppColors.eReferralCardColor, isBold: true).paddingSymmetrical(24.h, 0.h),
CustomButton(
text: LocaleKeys.view.tr(context: context),
onPressed: () {
@ -696,10 +686,7 @@ class _LandingPageState extends State<LandingPage> {
trackColor: Color(0xffD9D9D9),
trackBorderColor: Colors.transparent,
trackRadius: Radius.circular(10.0),
padding: EdgeInsets.only(
top: 92.h + 32.h,
left: MediaQuery.sizeOf(context).width / 2.5 - 10,
right: MediaQuery.sizeOf(context).width / 2.5 - 10),
padding: EdgeInsets.only(top: 92.h + 32.h, left: MediaQuery.sizeOf(context).width / 2.5 - 10, right: MediaQuery.sizeOf(context).width / 2.5 - 10),
child: ListView.separated(
scrollDirection: Axis.horizontal,
itemCount: LandingPageData().getLoggedInServiceCardsList.length,
@ -753,10 +740,7 @@ class _LandingPageState extends State<LandingPage> {
trackColor: Color(0xffD9D9D9),
trackBorderColor: Colors.transparent,
trackRadius: Radius.circular(10.0),
padding: EdgeInsets.only(
top: 92.h + 32.h,
left: MediaQuery.sizeOf(context).width / 2.5 - 10,
right: MediaQuery.sizeOf(context).width / 2.5 - 10),
padding: EdgeInsets.only(top: 92.h + 32.h, left: MediaQuery.sizeOf(context).width / 2.5 - 10, right: MediaQuery.sizeOf(context).width / 2.5 - 10),
child: ListView.separated(
scrollDirection: Axis.horizontal,
itemCount: LandingPageData.getNotLoggedInServiceCardsList.length,
@ -879,10 +863,7 @@ class _LandingPageState extends State<LandingPage> {
),
),
),
(appState.isAuthenticated &&
!insuranceVM.isInsuranceLoading &&
insuranceVM.isInsuranceExpired &&
insuranceVM.isInsuranceExpiryBannerShown)
(appState.isAuthenticated && !insuranceVM.isInsuranceLoading && insuranceVM.isInsuranceExpired && insuranceVM.isInsuranceExpiryBannerShown)
? Container(
height: MediaQuery.paddingOf(context).top + 50.h,
decoration: ShapeDecoration(
@ -899,24 +880,17 @@ class _LandingPageState extends State<LandingPage> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
LocaleKeys.insuranceExpiredOrInactive
.tr(context: context)
.toText14(color: AppColors.primaryRedColor, isBold: true)
.paddingSymmetrical(0.h, 0.h),
LocaleKeys.insuranceExpiredOrInactive.tr(context: context).toText14(color: AppColors.primaryRedColor, isBold: true).paddingSymmetrical(0.h, 0.h),
Row(
children: [
CustomButton(
text: LocaleKeys.updateInsurance.tr(context: context),
onPressed: () {
insuranceVM.setIsInsuranceUpdateDetailsLoading(true);
insuranceVM.getPatientInsuranceDetailsForUpdate(appState.getAuthenticatedUser()!.patientId.toString(),
appState.getAuthenticatedUser()!.patientIdentificationNo.toString());
insuranceVM.getPatientInsuranceDetailsForUpdate(
appState.getAuthenticatedUser()!.patientId.toString(), appState.getAuthenticatedUser()!.patientIdentificationNo.toString());
showCommonBottomSheetWithoutHeight(context,
child: PatientInsuranceCardUpdateCard(),
callBackFunc: () {},
title: "",
isCloseButtonVisible: false,
isFullScreen: false);
child: PatientInsuranceCardUpdateCard(), callBackFunc: () {}, title: "", isCloseButtonVisible: false, isFullScreen: false);
},
backgroundColor: AppColors.primaryRedColor,
borderColor: AppColors.secondaryLightRedBorderColor,
@ -1066,8 +1040,7 @@ class _LandingPageState extends State<LandingPage> {
SizedBox(height: 6.h),
_buildServingNowSection(),
SizedBox(height: 5.h),
_buildQueueActionButton(currentStatus, currentQueue.roomNo ?? "")
.toShimmer2(isShow: myAppointmentsViewModel.patientQueueDetailsList.isEmpty),
_buildQueueActionButton(currentStatus, currentQueue.roomNo ?? "").toShimmer2(isShow: myAppointmentsViewModel.patientQueueDetailsList.isEmpty),
],
),
),
@ -1096,8 +1069,7 @@ class _LandingPageState extends State<LandingPage> {
hasShadow: false,
),
padding: EdgeInsets.all(6.h),
child: Lottie.asset(AppAnimations.hourGlass,
repeat: true, reverse: false, frameRate: FrameRate(60), width: 40.h, height: 40.h, fit: BoxFit.fill)),
child: Lottie.asset(AppAnimations.hourGlass, repeat: true, reverse: false, frameRate: FrameRate(60), width: 40.h, height: 40.h, fit: BoxFit.fill)),
],
);
}
@ -1276,8 +1248,7 @@ class _LandingPageState extends State<LandingPage> {
hasShadow: false,
),
padding: EdgeInsets.all(6.h),
child: Lottie.asset(AppAnimations.hourGlass,
repeat: true, reverse: false, frameRate: FrameRate(60), width: 40.h, height: 40.h, fit: BoxFit.fill)),
child: Lottie.asset(AppAnimations.hourGlass, repeat: true, reverse: false, frameRate: FrameRate(60), width: 40.h, height: 40.h, fit: BoxFit.fill)),
// Utils.buildSvgWithAssets(
// icon: AppAssets.waiting_icon,
// width: 24.h,
@ -1325,8 +1296,7 @@ class _LandingPageState extends State<LandingPage> {
// Appointment Card Wrapper (reusable)
Widget _buildAppointmentCardWrapper(appointment) {
return Container(
decoration:
RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.r, hasShadow: true, hasDenseShadow: true),
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.r, hasShadow: true, hasDenseShadow: true),
child: AppointmentCard(
patientAppointmentHistoryResponseModel: appointment,
myAppointmentsViewModel: myAppointmentsViewModel,

@ -179,7 +179,7 @@ class LakumWalletCard extends StatelessWidget {
).paddingSymmetrical(0.h, 0.h).onPress(() {
Navigator.of(context).push(
CustomPageRoute(
page: HabibWalletPage(),
page: LakumWalletDetails(),
),
);
}),

Loading…
Cancel
Save