From 35c5dbff1c5d0960f66630a1c1c9b37501973762 Mon Sep 17 00:00:00 2001 From: FaizHashmiCS22 Date: Mon, 13 Jan 2025 17:43:08 +0300 Subject: [PATCH] finalized before open app on startup --- lib/constants/app_constants.dart | 1 + lib/models/global_config_model.dart | 6 ++ lib/repositories/screen_details_repo.dart | 2 +- .../components/priority_tickets.dart | 7 +- .../components/priority_tickets_sidelist.dart | 2 +- .../main_queue_screen/main_queue_screen.dart | 89 ++++++++++++++----- 6 files changed, 80 insertions(+), 27 deletions(-) diff --git a/lib/constants/app_constants.dart b/lib/constants/app_constants.dart index c9a44fe..aa6773c 100644 --- a/lib/constants/app_constants.dart +++ b/lib/constants/app_constants.dart @@ -16,6 +16,7 @@ class AppStrings { static String fontNameCairo = "Cairo"; static String noInternetConnection = "No Internet Connection"; static String awaitingArrivalEng = "Awaiting Patients Arrival"; + static String counterNo = "Counter Number: "; static String awaitingArrivalAr = "في انتظار وصول المرضى"; } diff --git a/lib/models/global_config_model.dart b/lib/models/global_config_model.dart index 9751527..7a58bb5 100644 --- a/lib/models/global_config_model.dart +++ b/lib/models/global_config_model.dart @@ -25,6 +25,8 @@ class GlobalConfigurationsModel { String ticketNoText = "Ticket Number"; String postVoiceText = "Please Visit Counter"; String? roomText; + int? roomNo; + String? counterText; String? queueNoText; String? callForText; String? currentServeText; @@ -80,6 +82,8 @@ class GlobalConfigurationsModel { this.ticketNoText = "Ticket Number", this.postVoiceText = "Please Visit Counter", this.roomText, + this.roomNo, + this.counterText, this.queueNoText, this.callForText, this.currentServeText, @@ -135,7 +139,9 @@ class GlobalConfigurationsModel { priorityEmail = json['priorityEmail']; ticketNoText = json['ticketNoText'] ?? "Ticket Number"; postVoiceText = json['pleaseVisitCounterText'] ?? "Please Visit Counter"; + counterText = json['counterText']; roomText = json['roomText']; + roomNo = json['roomNo']; queueNoText = json['queueNoText']; callForText = json['callForText']; currentServeText = json['currentServeText']; diff --git a/lib/repositories/screen_details_repo.dart b/lib/repositories/screen_details_repo.dart index 00d289a..4aa0c16 100644 --- a/lib/repositories/screen_details_repo.dart +++ b/lib/repositories/screen_details_repo.dart @@ -24,8 +24,8 @@ abstract class ScreenDetailsRepo { class ScreenDetailsRepoImp implements ScreenDetailsRepo { ApiClient apiClientInstance; - ScreenDetailsRepoImp({required this.apiClientInstance}); + ScreenDetailsRepoImp({required this.apiClientInstance}); @override Future getGlobalScreenConfigurations({required String ipAddress}) async { diff --git a/lib/views/main_queue_screen/components/priority_tickets.dart b/lib/views/main_queue_screen/components/priority_tickets.dart index 77c91ae..b022b36 100644 --- a/lib/views/main_queue_screen/components/priority_tickets.dart +++ b/lib/views/main_queue_screen/components/priority_tickets.dart @@ -21,10 +21,10 @@ class PriorityTickets extends StatelessWidget { children: [ TicketItem( ticketNo: firstTicket.ticketModel!.queueNo ?? '', - scale: globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen ? 1.6 : 1.2, + scale: globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen ? 2 : 1.2, blink: true, roomNo: firstTicket.ticketModel!.roomNo ?? '', - roomText: globalConfigurationsModel.roomText ?? "", + roomText: globalConfigurationsModel.counterText ?? "", isClinicAdded: false, textDirection: globalConfigurationsModel.textDirection, message: globalConfigurationsModel.ticketNoText, @@ -43,13 +43,12 @@ class PriorityTickets extends StatelessWidget { ticketNo: ticket.ticketModel!.queueNo ?? '', scale: 0.8, roomNo: firstTicket.ticketModel!.roomNo ?? '', - roomText: globalConfigurationsModel.roomText ?? "", + roomText: globalConfigurationsModel.counterText ?? "", isClinicAdded: false, textDirection: globalConfigurationsModel.textDirection, message: globalConfigurationsModel.ticketNoText, screenTypeEnum: globalConfigurationsModel.screenTypeEnum, langTypeEnum: globalConfigurationsModel.screenLanguageEnum, - ), ), ) diff --git a/lib/views/main_queue_screen/components/priority_tickets_sidelist.dart b/lib/views/main_queue_screen/components/priority_tickets_sidelist.dart index 9e68f77..4c191e2 100644 --- a/lib/views/main_queue_screen/components/priority_tickets_sidelist.dart +++ b/lib/views/main_queue_screen/components/priority_tickets_sidelist.dart @@ -90,7 +90,7 @@ class PriorityTicketsSidelist extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, children: [ AppText( - globalConfigurationsModel.roomText ?? "", + globalConfigurationsModel.counterText ?? "", letterSpacing: -2, fontHeight: 0.5, fontWeight: FontWeight.bold, diff --git a/lib/views/main_queue_screen/main_queue_screen.dart b/lib/views/main_queue_screen/main_queue_screen.dart index ddad9ee..aa76077 100644 --- a/lib/views/main_queue_screen/main_queue_screen.dart +++ b/lib/views/main_queue_screen/main_queue_screen.dart @@ -1,3 +1,5 @@ +import 'dart:developer'; + import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:hmg_qline/constants/app_constants.dart'; @@ -111,8 +113,18 @@ class MainQueueScreen extends StatelessWidget { ); } - Widget noPatientInQueue({required String text, required String fontName}) { - return Center( + Widget counterNoText(int counterNo) { + return AppText( + "${AppStrings.counterNo}$counterNo", + fontFamily: AppStrings.fontNamePoppins, + textAlign: TextAlign.center, + fontWeight: FontWeight.bold, + fontSize: SizeConfig.getWidthMultiplier() * 8, + ); + } + + Widget noPatientInQueue({required String text, required String fontName, required bool isForRoomLevel, required int counterNo}) { + Widget noPatientText = Center( child: AppText( text, fontFamily: fontName, @@ -120,6 +132,14 @@ class MainQueueScreen extends StatelessWidget { fontSize: SizeConfig.getWidthMultiplier() * 9, ), ); + if (isForRoomLevel) { + return Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [counterNoText(counterNo), noPatientText, const SizedBox.shrink()], + ); + } else { + return noPatientText; + } } Widget qamarsBirthdayWidget() { @@ -134,6 +154,17 @@ class MainQueueScreen extends StatelessWidget { ); } + // if (globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen) ...[ + // SizedBox(height: 20,), + // AppText( + // AppStrings.counterNo, + // fontFamily: AppStrings.fontNamePoppins, + // textAlign: TextAlign.center, + // fontWeight: FontWeight.bold, + // fontSize: SizeConfig.getWidthMultiplier() * 10, + // ), + // ] + Widget dataContent({required BuildContext context}) { return Consumer2( builder: (BuildContext context, ScreenConfigViewModel screenConfigViewModel, QueuingViewModel queuingViewModel, Widget? child) { @@ -146,11 +177,25 @@ class MainQueueScreen extends StatelessWidget { fontFamily = AppStrings.fontNameCairo; } if (queuingViewModel.currentTickets.isEmpty) { - widget = noPatientInQueue(text: text, fontName: fontFamily); + bool isForRoomLevel = screenConfigViewModel.globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen; + widget = noPatientInQueue(text: text, fontName: fontFamily, isForRoomLevel: isForRoomLevel, counterNo: screenConfigViewModel.globalConfigurationsModel.roomNo ?? 0); } else if (screenConfigViewModel.globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen) { - widget = PriorityTickets( - tickets: [queuingViewModel.currentTickets.first], - globalConfigurationsModel: screenConfigViewModel.globalConfigurationsModel, + widget = Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + counterNoText(screenConfigViewModel.globalConfigurationsModel.roomNo ?? 0), + PriorityTickets( + tickets: [queuingViewModel.currentTickets.first], + globalConfigurationsModel: screenConfigViewModel.globalConfigurationsModel, + ), + const SizedBox.shrink() + ], + ), + ], ); } else if (queuingViewModel.currentTickets.length > AppConstants.thresholdForListUI) { widget = PriorityTicketsSidelist( @@ -196,23 +241,25 @@ class MainQueueScreen extends StatelessWidget { builder: (BuildContext context, ScreenConfigViewModel screenConfigVM, Widget? child) { return Column( children: [ - Expanded( - flex: getFlexForScreenTypes(screenConfigVM), - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 20), - child: Row( - children: [ - if (screenConfigVM.globalConfigurationsModel.isWeatherReq) ...[ - getWeatherWidget(screenConfigVM), + if (screenConfigVM.globalConfigurationsModel.screenTypeEnum != ScreenTypeEnum.roomLevelScreen) ...[ + Expanded( + flex: getFlexForScreenTypes(screenConfigVM), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: Row( + children: [ + if (screenConfigVM.globalConfigurationsModel.isWeatherReq) ...[ + getWeatherWidget(screenConfigVM), + ], + const SizedBox(width: 20), + if (screenConfigVM.globalConfigurationsModel.isPrayerTimeReq) ...[ + getPrayerWidget(screenConfigVM), + ], ], - const SizedBox(width: 20), - if (screenConfigVM.globalConfigurationsModel.isPrayerTimeReq) ...[ - getPrayerWidget(screenConfigVM), - ], - ], + ), ), - ), - ), + ) + ], const SizedBox(height: 12), Expanded(flex: 10, child: dataContent(context: context)), if (!screenConfigVM.globalConfigurationsModel.isWeatherReq && !screenConfigVM.globalConfigurationsModel.isPrayerTimeReq) ...[