finalized before open app on startup

faiz_kiosk
FaizHashmiCS22 10 months ago
parent e72910f382
commit 35c5dbff1c

@ -16,6 +16,7 @@ class AppStrings {
static String fontNameCairo = "Cairo"; static String fontNameCairo = "Cairo";
static String noInternetConnection = "No Internet Connection"; static String noInternetConnection = "No Internet Connection";
static String awaitingArrivalEng = "Awaiting Patients Arrival"; static String awaitingArrivalEng = "Awaiting Patients Arrival";
static String counterNo = "Counter Number: ";
static String awaitingArrivalAr = "في انتظار وصول المرضى"; static String awaitingArrivalAr = "في انتظار وصول المرضى";
} }

@ -25,6 +25,8 @@ class GlobalConfigurationsModel {
String ticketNoText = "Ticket Number"; String ticketNoText = "Ticket Number";
String postVoiceText = "Please Visit Counter"; String postVoiceText = "Please Visit Counter";
String? roomText; String? roomText;
int? roomNo;
String? counterText;
String? queueNoText; String? queueNoText;
String? callForText; String? callForText;
String? currentServeText; String? currentServeText;
@ -80,6 +82,8 @@ class GlobalConfigurationsModel {
this.ticketNoText = "Ticket Number", this.ticketNoText = "Ticket Number",
this.postVoiceText = "Please Visit Counter", this.postVoiceText = "Please Visit Counter",
this.roomText, this.roomText,
this.roomNo,
this.counterText,
this.queueNoText, this.queueNoText,
this.callForText, this.callForText,
this.currentServeText, this.currentServeText,
@ -135,7 +139,9 @@ class GlobalConfigurationsModel {
priorityEmail = json['priorityEmail']; priorityEmail = json['priorityEmail'];
ticketNoText = json['ticketNoText'] ?? "Ticket Number"; ticketNoText = json['ticketNoText'] ?? "Ticket Number";
postVoiceText = json['pleaseVisitCounterText'] ?? "Please Visit Counter"; postVoiceText = json['pleaseVisitCounterText'] ?? "Please Visit Counter";
counterText = json['counterText'];
roomText = json['roomText']; roomText = json['roomText'];
roomNo = json['roomNo'];
queueNoText = json['queueNoText']; queueNoText = json['queueNoText'];
callForText = json['callForText']; callForText = json['callForText'];
currentServeText = json['currentServeText']; currentServeText = json['currentServeText'];

@ -24,8 +24,8 @@ abstract class ScreenDetailsRepo {
class ScreenDetailsRepoImp implements ScreenDetailsRepo { class ScreenDetailsRepoImp implements ScreenDetailsRepo {
ApiClient apiClientInstance; ApiClient apiClientInstance;
ScreenDetailsRepoImp({required this.apiClientInstance});
ScreenDetailsRepoImp({required this.apiClientInstance});
@override @override
Future<GlobalConfigurationsModel?> getGlobalScreenConfigurations({required String ipAddress}) async { Future<GlobalConfigurationsModel?> getGlobalScreenConfigurations({required String ipAddress}) async {

@ -21,10 +21,10 @@ class PriorityTickets extends StatelessWidget {
children: [ children: [
TicketItem( TicketItem(
ticketNo: firstTicket.ticketModel!.queueNo ?? '', ticketNo: firstTicket.ticketModel!.queueNo ?? '',
scale: globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen ? 1.6 : 1.2, scale: globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen ? 2 : 1.2,
blink: true, blink: true,
roomNo: firstTicket.ticketModel!.roomNo ?? '', roomNo: firstTicket.ticketModel!.roomNo ?? '',
roomText: globalConfigurationsModel.roomText ?? "", roomText: globalConfigurationsModel.counterText ?? "",
isClinicAdded: false, isClinicAdded: false,
textDirection: globalConfigurationsModel.textDirection, textDirection: globalConfigurationsModel.textDirection,
message: globalConfigurationsModel.ticketNoText, message: globalConfigurationsModel.ticketNoText,
@ -43,13 +43,12 @@ class PriorityTickets extends StatelessWidget {
ticketNo: ticket.ticketModel!.queueNo ?? '', ticketNo: ticket.ticketModel!.queueNo ?? '',
scale: 0.8, scale: 0.8,
roomNo: firstTicket.ticketModel!.roomNo ?? '', roomNo: firstTicket.ticketModel!.roomNo ?? '',
roomText: globalConfigurationsModel.roomText ?? "", roomText: globalConfigurationsModel.counterText ?? "",
isClinicAdded: false, isClinicAdded: false,
textDirection: globalConfigurationsModel.textDirection, textDirection: globalConfigurationsModel.textDirection,
message: globalConfigurationsModel.ticketNoText, message: globalConfigurationsModel.ticketNoText,
screenTypeEnum: globalConfigurationsModel.screenTypeEnum, screenTypeEnum: globalConfigurationsModel.screenTypeEnum,
langTypeEnum: globalConfigurationsModel.screenLanguageEnum, langTypeEnum: globalConfigurationsModel.screenLanguageEnum,
), ),
), ),
) )

@ -90,7 +90,7 @@ class PriorityTicketsSidelist extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
AppText( AppText(
globalConfigurationsModel.roomText ?? "", globalConfigurationsModel.counterText ?? "",
letterSpacing: -2, letterSpacing: -2,
fontHeight: 0.5, fontHeight: 0.5,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,

@ -1,3 +1,5 @@
import 'dart:developer';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:hmg_qline/constants/app_constants.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}) { Widget counterNoText(int counterNo) {
return Center( 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( child: AppText(
text, text,
fontFamily: fontName, fontFamily: fontName,
@ -120,6 +132,14 @@ class MainQueueScreen extends StatelessWidget {
fontSize: SizeConfig.getWidthMultiplier() * 9, fontSize: SizeConfig.getWidthMultiplier() * 9,
), ),
); );
if (isForRoomLevel) {
return Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [counterNoText(counterNo), noPatientText, const SizedBox.shrink()],
);
} else {
return noPatientText;
}
} }
Widget qamarsBirthdayWidget() { 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}) { Widget dataContent({required BuildContext context}) {
return Consumer2( return Consumer2(
builder: (BuildContext context, ScreenConfigViewModel screenConfigViewModel, QueuingViewModel queuingViewModel, Widget? child) { builder: (BuildContext context, ScreenConfigViewModel screenConfigViewModel, QueuingViewModel queuingViewModel, Widget? child) {
@ -146,11 +177,25 @@ class MainQueueScreen extends StatelessWidget {
fontFamily = AppStrings.fontNameCairo; fontFamily = AppStrings.fontNameCairo;
} }
if (queuingViewModel.currentTickets.isEmpty) { 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) { } else if (screenConfigViewModel.globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen) {
widget = PriorityTickets( widget = Row(
tickets: [queuingViewModel.currentTickets.first], mainAxisAlignment: MainAxisAlignment.center,
globalConfigurationsModel: screenConfigViewModel.globalConfigurationsModel, 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) { } else if (queuingViewModel.currentTickets.length > AppConstants.thresholdForListUI) {
widget = PriorityTicketsSidelist( widget = PriorityTicketsSidelist(
@ -196,23 +241,25 @@ class MainQueueScreen extends StatelessWidget {
builder: (BuildContext context, ScreenConfigViewModel screenConfigVM, Widget? child) { builder: (BuildContext context, ScreenConfigViewModel screenConfigVM, Widget? child) {
return Column( return Column(
children: [ children: [
Expanded( if (screenConfigVM.globalConfigurationsModel.screenTypeEnum != ScreenTypeEnum.roomLevelScreen) ...[
flex: getFlexForScreenTypes(screenConfigVM), Expanded(
child: Padding( flex: getFlexForScreenTypes(screenConfigVM),
padding: const EdgeInsets.symmetric(horizontal: 20), child: Padding(
child: Row( padding: const EdgeInsets.symmetric(horizontal: 20),
children: [ child: Row(
if (screenConfigVM.globalConfigurationsModel.isWeatherReq) ...[ children: [
getWeatherWidget(screenConfigVM), 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), const SizedBox(height: 12),
Expanded(flex: 10, child: dataContent(context: context)), Expanded(flex: 10, child: dataContent(context: context)),
if (!screenConfigVM.globalConfigurationsModel.isWeatherReq && !screenConfigVM.globalConfigurationsModel.isPrayerTimeReq) ...[ if (!screenConfigVM.globalConfigurationsModel.isWeatherReq && !screenConfigVM.globalConfigurationsModel.isPrayerTimeReq) ...[

Loading…
Cancel
Save