fixed size issue on calling cards

qline_android14_fixes
Faiz Hashmi 2 months ago
parent 856395f273
commit aa81f40118

@ -15,14 +15,11 @@ abstract class ApiClient {
Future<U> postJsonForObject<T, U>(FactoryConstructor<U> factoryConstructor, String url, T jsonObject, Future<U> postJsonForObject<T, U>(FactoryConstructor<U> factoryConstructor, String url, T jsonObject,
{String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0}); {String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0});
Future<http.Response> postJsonForResponse<T>(String url, T jsonObject, Future<http.Response> postJsonForResponse<T>(String url, T jsonObject, {String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0});
{String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0});
Future<U> getJsonForObject<T, U>(FactoryConstructor<U> factoryConstructor, String url, Future<U> getJsonForObject<T, U>(FactoryConstructor<U> factoryConstructor, String url, {String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0});
{String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0});
Future<http.Response> getJsonForResponse<T>(String url, Future<http.Response> getJsonForResponse<T>(String url, {String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0});
{String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0});
} }
class ApiClientImp implements ApiClient { class ApiClientImp implements ApiClient {
@ -38,9 +35,11 @@ class ApiClientImp implements ApiClient {
headers0.addAll(headers); headers0.addAll(headers);
} }
var response = var response = await postJsonForResponse(url, jsonObject, token: token, queryParameters: queryParameters, headers: headers0, retryTimes: retryTimes);
await postJsonForResponse(url, jsonObject, token: token, queryParameters: queryParameters, headers: headers0, retryTimes: retryTimes);
try { try {
if (!kReleaseMode) {
log("responseBody:${response.body}");
}
if (!kReleaseMode) { if (!kReleaseMode) {
log("statusCode:${response.statusCode}"); log("statusCode:${response.statusCode}");
} }
@ -54,8 +53,7 @@ class ApiClientImp implements ApiClient {
} }
@override @override
Future<http.Response> postJsonForResponse<T>(String url, T jsonObject, Future<http.Response> postJsonForResponse<T>(String url, T jsonObject, {String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0}) async {
{String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0}) async {
String? requestBody; String? requestBody;
if (jsonObject != null) { if (jsonObject != null) {
requestBody = jsonEncode(jsonObject); requestBody = jsonEncode(jsonObject);
@ -102,7 +100,6 @@ class ApiClientImp implements ApiClient {
loggerService.logInfo(jsonDecode(requestBody).toString()); loggerService.logInfo(jsonDecode(requestBody).toString());
loggerService.logInfo("------Response------"); loggerService.logInfo("------Response------");
loggerService.logInfo(jsonDecode(response.body).toString()); loggerService.logInfo(jsonDecode(response.body).toString());
} }
if (response.statusCode >= 200 && response.statusCode < 500) { if (response.statusCode >= 200 && response.statusCode < 500) {
@ -158,8 +155,7 @@ class ApiClientImp implements ApiClient {
} }
} }
Future<http.Response> _post(url, {Map<String, String>? headers, body, Encoding? encoding}) => Future<http.Response> _post(url, {Map<String, String>? headers, body, Encoding? encoding}) => _withClient((client) => client.post(url, headers: headers, body: body, encoding: encoding));
_withClient((client) => client.post(url, headers: headers, body: body, encoding: encoding));
@override @override
Future<U> getJsonForObject<T, U>(FactoryConstructor<U> factoryConstructor, String url, Future<U> getJsonForObject<T, U>(FactoryConstructor<U> factoryConstructor, String url,
@ -179,8 +175,7 @@ class ApiClientImp implements ApiClient {
} }
@override @override
Future<http.Response> getJsonForResponse<T>(String url, Future<http.Response> getJsonForResponse<T>(String url, {String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0}) async {
{String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0}) async {
if (headers == null) { if (headers == null) {
headers = {'Content-Type': 'application/json'}; headers = {'Content-Type': 'application/json'};
} else { } else {
@ -191,8 +186,7 @@ class ApiClientImp implements ApiClient {
bool isFirstCall = true; bool isFirstCall = true;
Future<http.Response> _getForResponse(String url, Future<http.Response> _getForResponse(String url, {String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0}) async {
{String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0}) async {
try { try {
var headers0 = <String, String>{}; var headers0 = <String, String>{};
if (token != null) { if (token != null) {

@ -178,7 +178,7 @@ class ApiConstants {
static String baseUrlUat = 'https://ms.hmg.com/nscapi'; // UAT static String baseUrlUat = 'https://ms.hmg.com/nscapi'; // UAT
static String baseUrlDev = 'https://ms.hmg.com/nscapi2'; // DEV static String baseUrlDev = 'https://ms.hmg.com/nscapi2'; // DEV
static String baseUrl = baseUrlDev; static String baseUrl = baseUrlLive;
static String baseUrlHub = '$baseUrl/PatientCallingHub'; static String baseUrlHub = '$baseUrl/PatientCallingHub';
static String baseUrlApi = '$baseUrl/api'; static String baseUrlApi = '$baseUrl/api';
static String baseUrlApiGen = '$baseUrl/api/Gen'; static String baseUrlApiGen = '$baseUrl/api/Gen';
@ -236,7 +236,7 @@ class MockJsonRepo {
id: 189805, id: 189805,
patientID: 4292695, patientID: 4292695,
laBQGroupID: null, laBQGroupID: null,
queueNo: 'W-T-4', queueNo: 'FMC W-T-4',
counterBatchNo: null, counterBatchNo: null,
calledBy: null, calledBy: null,
calledOn: null, calledOn: null,
@ -257,8 +257,8 @@ class MockJsonRepo {
createdOn: DateTime.parse('2025-08-18 15:06:07.363'), createdOn: DateTime.parse('2025-08-18 15:06:07.363'),
doctorNameN: null, doctorNameN: null,
callTypeEnum: CallTypeEnum.doctor, callTypeEnum: CallTypeEnum.doctor,
queueNoM: 'W-T-4', queueNoM: 'FMC W-T-4',
callNoStr: 'W_T-4', callNoStr: 'FMC W-T-4',
isQueue: false, isQueue: false,
isToneReq: false, isToneReq: false,
isVoiceReq: false, isVoiceReq: false,
@ -281,6 +281,9 @@ class MockJsonRepo {
queueNoText: 'رقم الانتظار', queueNoText: 'رقم الانتظار',
callForText: 'التوجه الى', callForText: 'التوجه الى',
); );
} }
// RAW DATA: // RAW DATA:

@ -69,6 +69,8 @@ class GlobalConfigurationsModel {
bool isWeatherReq = false; bool isWeatherReq = false;
bool isPrayerTimeReq = false; bool isPrayerTimeReq = false;
bool isRssFeedReq = false; bool isRssFeedReq = false;
bool globalClinicPrefixReq = false;
bool clinicPrefixReq = true;
QTypeEnum qTypeEnum = QTypeEnum.appointment; QTypeEnum qTypeEnum = QTypeEnum.appointment;
ScreenTypeEnum screenTypeEnum = ScreenTypeEnum.waitingAreaScreen; ScreenTypeEnum screenTypeEnum = ScreenTypeEnum.waitingAreaScreen;
int? projectID; int? projectID;
@ -164,6 +166,8 @@ class GlobalConfigurationsModel {
this.isWeatherReq = false, this.isWeatherReq = false,
this.isPrayerTimeReq = false, this.isPrayerTimeReq = false,
this.isRssFeedReq = false, this.isRssFeedReq = false,
this.globalClinicPrefixReq = false,
this.clinicPrefixReq = true,
this.qTypeEnum = QTypeEnum.appointment, this.qTypeEnum = QTypeEnum.appointment,
this.screenTypeEnum = ScreenTypeEnum.waitingAreaScreen, this.screenTypeEnum = ScreenTypeEnum.waitingAreaScreen,
this.projectID, this.projectID,
@ -259,6 +263,8 @@ class GlobalConfigurationsModel {
isWeatherReq = json['isWeatherReq'] ?? false; isWeatherReq = json['isWeatherReq'] ?? false;
isPrayerTimeReq = json['isPrayerTimeReq'] ?? false; isPrayerTimeReq = json['isPrayerTimeReq'] ?? false;
isRssFeedReq = json['isRssFeedReq'] ?? false; isRssFeedReq = json['isRssFeedReq'] ?? false;
globalClinicPrefixReq = json['globalClinicPrefixReq'] ?? false;
clinicPrefixReq = json['clinicPrefixReq'] ?? true;
qTypeEnum = ((json['qType'] ?? qType) as int).toQTypeEnum(); qTypeEnum = ((json['qType'] ?? qType) as int).toQTypeEnum();
screenTypeEnum = ((json['screenType'] ?? screenType) as int).toScreenTypeEnum(); screenTypeEnum = ((json['screenType'] ?? screenType) as int).toScreenTypeEnum();
projectID = json['projectID']; projectID = json['projectID'];
@ -303,6 +309,6 @@ class GlobalConfigurationsModel {
@override @override
String toString() { String toString() {
return 'GlobalConfigurationsModel{id: $id, isFromTakhasusiMain: $isFromTakhasusiMain, configType: $configType, description: $description, counterStart: $counterStart, counterEnd: $counterEnd, concurrentCallDelaySec: $concurrentCallDelaySec, voiceType: $voiceType, voiceTypeText: $voiceTypeText, screenLanguageEnum: $screenLanguageEnum, screenLanguageText: $screenLanguageText, textDirection: $textDirection, voiceLanguageEnum: $voiceLanguageEnum, voiceLanguageText: $voiceLanguageText, screenMaxDisplayPatients: $screenMaxDisplayPatients, isNotiReq: $isNotiReq, prioritySMS: $prioritySMS, priorityWhatsApp: $priorityWhatsApp, priorityEmail: $priorityEmail, ticketNoText: $ticketNoText, postVoiceText: $postVoiceText, roomText: $roomTextEng, roomNo: $roomNo, isRoomNoRequired: $isRoomNoRequired, counterText: $counterTextEng, queueNoText: $queueNoTextEng, callForText: $callForTextEng, currentServeTextArb: $currentServeTextArb,, currentServeTextEng: $currentServeTextEng, maxText: $maxText, minText: $minText, nextPrayerTextEng: $nextPrayerTextEng, nextPrayerTextArb: $nextPrayerTextArb, weatherText: $weatherText, fajarText: $fajarTextEng, dhuhrText: $dhuhrTextEng, asarText: $asarTextEng, maghribText: $maghribTextEng, ishaText: $ishaTextEng, isActive: $isActive, createdBy: $createdBy, createdOn: $createdOn, editedBy: $editedBy, editedOn: $editedOn, isToneReq: $isToneReq, isVoiceReq: $isVoiceReq, orientationTypeEnum: $orientationTypeEnum, isTurnOn: $isTurnOn, waitingAreaType: $waitingAreaType, gender: $gender, isWeatherReq: $isWeatherReq, isPrayerTimeReq: $isPrayerTimeReq, isRssFeedReq: $isRssFeedReq, qTypeEnum: $qTypeEnum, screenTypeEnum: $screenTypeEnum, projectID: $projectID, projectLatitude: $projectLatitude, projectLongitude: $projectLongitude, cityKey: $cityKey, kioskQueueList: $kioskQueueList, kioskLanguageConfigList: $kioskLanguageConfigList, vitalSignText: $vitalSignTextEng, doctorText: $doctorTextEng, procedureText: $procedureTextEng, vaccinationText: $vaccinationTextEng, nebulizationText: $nebulizationTextEng, callForVitalSignText: $callForVitalSignTextEng, callForDoctorText: $callForDoctorTextEng, callForProcedureText: $callForProcedureTextEng, callForVaccinationText: $callForVaccinationTextEng, callForNebulizationText: $callForNebulizationTextEng, vitalSignTextArb: $vitalSignTextArb, doctorTextArb: $doctorTextArb, procedureTextArb: $procedureTextArb, vaccinationTextArb: $vaccinationTextArb, nebulizationTextArb: $nebulizationTextArb, callForVitalSignTextArb: $callForVitalSignTextArb, callForDoctorTextArb: $callForDoctorTextArb, callForProcedureTextArb: $callForProcedureTextArb, callForVaccinationTextArb: $callForVaccinationTextArb, callForNebulizationTextArb: $callForNebulizationTextArb}'; return 'GlobalConfigurationsModel{id: $id, isFromTakhasusiMain: $isFromTakhasusiMain, configType: $configType, description: $description, counterStart: $counterStart, counterEnd: $counterEnd, concurrentCallDelaySec: $concurrentCallDelaySec, voiceType: $voiceType, voiceTypeText: $voiceTypeText, screenLanguageEnum: $screenLanguageEnum, screenLanguageText: $screenLanguageText, textDirection: $textDirection, voiceLanguageEnum: $voiceLanguageEnum, voiceLanguageText: $voiceLanguageText, screenMaxDisplayPatients: $screenMaxDisplayPatients, isNotiReq: $isNotiReq, prioritySMS: $prioritySMS, priorityWhatsApp: $priorityWhatsApp, priorityEmail: $priorityEmail, ticketNoText: $ticketNoText, postVoiceText: $postVoiceText, roomText: $roomTextEng, roomNo: $roomNo, isRoomNoRequired: $isRoomNoRequired, counterText: $counterTextEng, queueNoText: $queueNoTextEng, callForText: $callForTextEng, currentServeTextArb: $currentServeTextArb,, currentServeTextEng: $currentServeTextEng, maxText: $maxText, minText: $minText, nextPrayerTextEng: $nextPrayerTextEng, nextPrayerTextArb: $nextPrayerTextArb, weatherText: $weatherText, fajarText: $fajarTextEng, dhuhrText: $dhuhrTextEng, asarText: $asarTextEng, maghribText: $maghribTextEng, ishaText: $ishaTextEng, isActive: $isActive, createdBy: $createdBy, createdOn: $createdOn, editedBy: $editedBy, editedOn: $editedOn, isToneReq: $isToneReq, isVoiceReq: $isVoiceReq, orientationTypeEnum: $orientationTypeEnum, isTurnOn: $isTurnOn, waitingAreaType: $waitingAreaType, gender: $gender, isWeatherReq: $isWeatherReq, isPrayerTimeReq: $isPrayerTimeReq, isRssFeedReq: $isRssFeedReq, globalClinicPrefixReq: $globalClinicPrefixReq, clinicPrefixReq: $clinicPrefixReq, qTypeEnum: $qTypeEnum, screenTypeEnum: $screenTypeEnum, projectID: $projectID, projectLatitude: $projectLatitude, projectLongitude: $projectLongitude, cityKey: $cityKey, kioskQueueList: $kioskQueueList, kioskLanguageConfigList: $kioskLanguageConfigList, vitalSignText: $vitalSignTextEng, doctorText: $doctorTextEng, procedureText: $procedureTextEng, vaccinationText: $vaccinationTextEng, nebulizationText: $nebulizationTextEng, callForVitalSignText: $callForVitalSignTextEng, callForDoctorText: $callForDoctorTextEng, callForProcedureText: $callForProcedureTextEng, callForVaccinationText: $callForVaccinationTextEng, callForNebulizationText: $callForNebulizationTextEng, vitalSignTextArb: $vitalSignTextArb, doctorTextArb: $doctorTextArb, procedureTextArb: $procedureTextArb, vaccinationTextArb: $vaccinationTextArb, nebulizationTextArb: $nebulizationTextArb, callForVitalSignTextArb: $callForVitalSignTextArb, callForDoctorTextArb: $callForDoctorTextArb, callForProcedureTextArb: $callForProcedureTextArb, callForVaccinationTextArb: $callForVaccinationTextArb, callForNebulizationTextArb: $callForNebulizationTextArb}';
} }
} }

@ -1,6 +1,9 @@
import 'dart:async'; // Add this import import 'dart:async'; // Add this import
import 'dart:developer';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:hmg_qline/models/ticket_model.dart';
import 'package:hmg_qline/view_models/queuing_view_model.dart';
import 'package:hmg_qline/view_models/screen_config_view_model.dart'; import 'package:hmg_qline/view_models/screen_config_view_model.dart';
import 'package:hmg_qline/views/common_widgets/app_general_widgets.dart'; import 'package:hmg_qline/views/common_widgets/app_general_widgets.dart';
import 'package:hmg_qline/views/common_widgets/date_display_widget.dart'; import 'package:hmg_qline/views/common_widgets/date_display_widget.dart';
@ -309,12 +312,17 @@ class _AppFooterState extends State<AppFooter> {
Padding( Padding(
padding: EdgeInsets.only(top: SizeConfig.getHeightMultiplier()! * 0.1), padding: EdgeInsets.only(top: SizeConfig.getHeightMultiplier()! * 0.1),
child: Column(mainAxisAlignment: MainAxisAlignment.center, children: [ child: Column(mainAxisAlignment: MainAxisAlignment.center, children: [
AppText( InkWell(
onTap: () {
// context.read<QueuingViewModel>().addNewTicket(TicketDetailsModel(ticketModel: MockJsonRepo.ticket));
},
child: AppText(
AppStrings.poweredBy, AppStrings.poweredBy,
fontSize: SizeConfig.getWidthMultiplier()! * 1.5, fontSize: SizeConfig.getWidthMultiplier()! * 1.5,
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,
color: AppColors.darkGreyTextColor, color: AppColors.darkGreyTextColor,
), ),
),
AppText( AppText(
"v${screenConfigVM.currentScreenIP.replaceAll(".", "-")}(${AppConstants.currentBuildVersion})", "v${screenConfigVM.currentScreenIP.replaceAll(".", "-")}(${AppConstants.currentBuildVersion})",
fontSize: SizeConfig.getWidthMultiplier()! * 1, fontSize: SizeConfig.getWidthMultiplier()! * 1,

@ -103,7 +103,6 @@ class PriorityTickets extends StatelessWidget {
roomNo: ticket.ticketModel?.roomNo ?? '', roomNo: ticket.ticketModel?.roomNo ?? '',
roomText: _getRoomText(), roomText: _getRoomText(),
roomTextAr: _getRoomTextAr(), roomTextAr: _getRoomTextAr(),
isClinicAdded: false,
callTypeEnum: ticket.ticketModel?.callTypeEnum ?? CallTypeEnum.vitalSign, callTypeEnum: ticket.ticketModel?.callTypeEnum ?? CallTypeEnum.vitalSign,
textDirection: globalConfigurationsModel.textDirection, textDirection: globalConfigurationsModel.textDirection,
screenTypeEnum: globalConfigurationsModel.screenTypeEnum, screenTypeEnum: globalConfigurationsModel.screenTypeEnum,
@ -150,7 +149,6 @@ class PriorityTickets extends StatelessWidget {
roomNo: ticket.ticketModel?.roomNo ?? '', roomNo: ticket.ticketModel?.roomNo ?? '',
roomText: _getRoomText(), roomText: _getRoomText(),
roomTextAr: _getRoomTextAr(), roomTextAr: _getRoomTextAr(),
isClinicAdded: false,
callTypeEnum: ticket.ticketModel?.callTypeEnum ?? CallTypeEnum.vitalSign, callTypeEnum: ticket.ticketModel?.callTypeEnum ?? CallTypeEnum.vitalSign,
textDirection: globalConfigurationsModel.textDirection, textDirection: globalConfigurationsModel.textDirection,
screenTypeEnum: globalConfigurationsModel.screenTypeEnum, screenTypeEnum: globalConfigurationsModel.screenTypeEnum,

@ -1,3 +1,5 @@
import 'dart:developer';
import 'package:blinking_text/blinking_text.dart'; import 'package:blinking_text/blinking_text.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
@ -14,7 +16,6 @@ class QueueItemCallingCard extends StatelessWidget {
final String roomNo; final String roomNo;
final bool blink; final bool blink;
final double scale; final double scale;
final bool isClinicAdded;
final bool isGradientRequired; final bool isGradientRequired;
final bool isBorderRequired; final bool isBorderRequired;
final TextDirection textDirection; final TextDirection textDirection;
@ -28,7 +29,6 @@ class QueueItemCallingCard extends StatelessWidget {
const QueueItemCallingCard({ const QueueItemCallingCard({
super.key, super.key,
required this.isClinicAdded,
required this.ticketNo, required this.ticketNo,
required this.roomNo, required this.roomNo,
required this.scale, required this.scale,
@ -45,16 +45,11 @@ class QueueItemCallingCard extends StatelessWidget {
this.blink = false, this.blink = false,
}); });
String getFormattedTicket(String ticketNo, bool isClinicAdded) { bool shouldReduceSize(String ticketNo) {
if (isClinicAdded) { // Use regex to check if ticket starts with exactly 3 letters followed by " W-"
var formattedString = ticketNo.split(" "); final hasClinicPrefix = RegExp(r'^[A-Za-z]{3} W-').hasMatch(ticketNo);
if (formattedString.length > 1) {
return "${formattedString[0]} ${formattedString[1]}"; return hasClinicPrefix;
} else {
return ticketNo;
}
}
return ticketNo;
} }
@override @override
@ -107,8 +102,8 @@ class QueueItemCallingCard extends StatelessWidget {
top: SizeConfig.getHeightMultiplier() * 0.25, top: SizeConfig.getHeightMultiplier() * 0.25,
), ),
child: AppText( child: AppText(
getFormattedTicket(ticketNo, isClinicAdded), ticketNo,
fontSize: SizeConfig.getWidthMultiplier() * 7.4, fontSize: shouldReduceSize(ticketNo) ? SizeConfig.getWidthMultiplier() * 6 : SizeConfig.getWidthMultiplier() * 7.4,
letterSpacing: -1, letterSpacing: -1,
fontHeight: 0.5, fontHeight: 0.5,
color: AppColors.greyTextColor, color: AppColors.greyTextColor,

@ -11,7 +11,6 @@ import 'package:hmg_qline/views/view_helpers/size_config.dart';
class QueueItemNormalCard extends StatelessWidget { class QueueItemNormalCard extends StatelessWidget {
final String ticketNo; final String ticketNo;
final String roomNo; final String roomNo;
final bool isClinicAdded;
final TextDirection textDirection; final TextDirection textDirection;
final String roomText; final String roomText;
final String roomTextAr; final String roomTextAr;
@ -24,7 +23,6 @@ class QueueItemNormalCard extends StatelessWidget {
const QueueItemNormalCard({ const QueueItemNormalCard({
super.key, super.key,
required this.isClinicAdded,
required this.ticketNo, required this.ticketNo,
required this.roomNo, required this.roomNo,
required this.textDirection, required this.textDirection,
@ -38,16 +36,11 @@ class QueueItemNormalCard extends StatelessWidget {
this.width, this.width,
}); });
String getFormattedTicket(String ticketNo, bool isClinicAdded) { bool shouldReduceSize(String ticketNo) {
if (isClinicAdded) { // Use regex to check if ticket starts with exactly 3 letters followed by " W-"
var formattedString = ticketNo.split(" "); final hasClinicPrefix = RegExp(r'^[A-Za-z]{3} W-').hasMatch(ticketNo);
if (formattedString.length > 1) {
return "${formattedString[0]} ${formattedString[1]}"; return hasClinicPrefix;
} else {
return ticketNo;
}
}
return ticketNo;
} }
@override @override
@ -73,8 +66,8 @@ class QueueItemNormalCard extends StatelessWidget {
flex: 3, flex: 3,
child: Center( child: Center(
child: AppText( child: AppText(
getFormattedTicket(ticketNo, isClinicAdded), ticketNo,
fontSize: SizeConfig.getWidthMultiplier() * 5, fontSize: shouldReduceSize(ticketNo) ? SizeConfig.getWidthMultiplier() * 2.5 : SizeConfig.getWidthMultiplier() * 5,
letterSpacing: -1, letterSpacing: -1,
fontHeight: 0.5, fontHeight: 0.5,
color: AppColors.greyTextColor, color: AppColors.greyTextColor,

Loading…
Cancel
Save