You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
HMG_QLine/lib/constants/app_constants.dart

227 lines
7.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:hmg_qline/models/ticket_model.dart';
import 'package:hmg_qline/utilities/enums.dart';
bool useTestIP = false;
// app globals
bool isNeedToBreakVoiceForArabic = true;
bool isSpeechCompleted = true;
class AppStrings {
static String poweredBy = "Powered By";
static String appName = "QLine";
static String fontNamePoppins = "Poppins";
static String fontNameCairo = "Cairo";
static String noInternetConnection = "No Internet Connection";
static String awaitingArrivalEng = "Awaiting Patients Arrival";
static String awaitingQueueNumberEng = "Awaiting Queue Number";
static String awaitingQueueNumberAr = "في انتظار رقم قائمة الانتظار";
static String counterNo = "Counter Number: ";
static String awaitingArrivalAr = "في انتظار وصول المرضى";
static String configurationIssueContactAdmin = "There is something wrong with configuration. Please contact IT Support.";
static String dataLogsFileName = "data_logs.txt";
static String errorLogsFileName = "error_logs.txt";
static String openAppNativeFunctionName = "reopenApp";
}
class AppColors {
//TextColors
static Color greyColor = const Color(0xFF2B353E);
static Color darkGreyColor = const Color(0x3A1E2326);
static Color blueColor = const Color(0xFF3C86D0);
static Color redColor = Colors.red;
static Color greenColor = Colors.green;
static Color whiteColor = Colors.white;
static Color yellowColor = const Color(0xFFC99609);
static Color brownColor = const Color(0xFF460707);
static Color blackColor = Colors.black;
static Color nebulizationColor = const Color(0xFF3C86D0);
static Color vitalSignColor = const Color(0xFFD02127);
static Color doctorColor = const Color(0xFF52964F);
static Color vaccinationColor = const Color(0xFFC99609);
static Color procedureColor = const Color(0xFF460707);
//Decoration
static BoxDecoration configWidgetDecoration = BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12),
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.2),
blurRadius: 4,
offset: const Offset(4, 4), // Shadow position
),
BoxShadow(
color: Colors.grey.withOpacity(0.2),
blurRadius: 4,
offset: const Offset(-4, -4), // Shadow position
),
],
);
}
class AppAssets {
static String poppinsMedium = "assets/fonts/Poppins/Poppins-Medium.ttf";
static String hmgLogo = "assets/images/hmglogo.svg";
static String hmgLogoPharmacy = "assets/images/hmglogo_pharmacy.svg";
static String noInternetImage = "assets/images/undraw_connected_world_wuay.png";
static String cloudLogo = "assets/images/cloud_logo.png";
static String languageIcon = "assets/images/language_icon.svg";
static String kioskQueueIcon = "assets/images/kiosk_queue_icon.svg";
//IconPaths
static String vitalSignIcon = "assets/images/vitalsign_icon.svg";
static String nebulizationIcon = "assets/images/nebulization_icon.svg";
static String doctorIcon = "assets/images/doctor_icon.svg";
static String procedureIcon = "assets/images/procedure_icon.svg";
static String vaccinationIcon = "assets/images/vaccination_icon.svg";
//Widgets
static String mosqueIcon = "assets/icons/mosque.svg";
static String weatherIcon = "assets/icons/weather.svg";
static String cloudIcon = "assets/icons/cloudy.svg";
static String coldIcon = "assets/icons/cold.svg";
static String hotIcon = "assets/icons/hot.svg";
static String rainIcon = "assets/icons/rainy.svg";
static String sunnyIcon = "assets/icons/sunny.svg";
static String windIcon = "assets/icons/windy.svg";
//Tones
static String callTone = "assets/tones/call_tone.mp3";
}
class AppConstants {
static int maxSmallScreen = 660;
static String onlyNumbers = "[0-9]";
static String onlyLetters = "[a-zA-Z &'\"]";
static String onlyDate = "[0-9/]";
static String apiKey = 'EE17D21C7943485D9780223CCE55DCE5';
static String testIP = '12.4.5.1'; // projectID.QlineType.ScreenType.AnyNumber (1 to 10)
static int thresholdForListUI = 3;
static double currentBuildVersion = 8.7;
static double clearLogsHoursThreshold = 48;
}
class ApiConstants {
static String baseUrlLive = 'https://qline.hmg.com'; // LIVE
static String baseUrlUat = 'https://ms.hmg.com/nscapi'; // UAT
static String baseUrlDev = 'https://ms.hmg.com/nscapi2'; // DEV
static String baseUrl = baseUrlLive;
static String baseUrlHub = '$baseUrl/PatientCallingHub';
static String baseUrlApi = '$baseUrl/api';
static String baseUrlApiGen = '$baseUrl/api/Gen';
static String baseUrlApiPatientCall = '$baseUrlApi/PatientCall';
static String createTicket = '$baseUrlApiPatientCall/LAB_PatientCallNo_Get';
static String commonConfigGet = '$baseUrlApiPatientCall/Common_Config_GetByIP';
static String waitingAreaScreenConfigGet = '$baseUrlApiPatientCall/WaitingAreaScreen_Config_Get';
static String rssFeedGet = '$baseUrlApiPatientCall/RssFeed_Get';
static String getWeatherForecastBy5Days = "$baseUrlApiPatientCall/WeatherForecast_GetBy5Days";
static String prayerTimeToday = "$baseUrlApiPatientCall/PrayerTime_Today";
//Generic
static String createTicketForKiosk = '$baseUrlApiGen/GEN_PatientCallNo_Get';
static String ticketAcknowledgementInsert = '$baseUrlApi/Common/TicketQueueAck_Insert';
// AppointmentSpecific
static String ticketCallRequestUpdate = "$baseUrlApiPatientCall/CallRequest_QueueUpdate";
// Signal R Constants
static String sendQLinePatientCall = "SendQLinePatientCall";
static String sendQLineConfig = "SendQLineConfig";
}
class CacheConstants {
static String lastTimeUpdated = "lastTimeUpdated";
static String logLastCleared = "log_last_cleared";
}
// calling for pharmacy
// {
// "projectID": 12,
// "counterNo": 1,
// "queueID": 11,
// "isVidaPlus": false,
// "editedBy": 102,
// "apiKey": "EE17D21C7943485D9780223CCE55DCE5"
// }
// calling for RAD
//{
// "projectID": 12,
// "patientID": 0,
// "orderNo": "12",
// "invoiceNo": "12",
// "isVip": true,
// "isVidaPlus": false,
// "createdBy": 101,
// "apiKey": "EE17D21C7943485D9780223CCE55DCE5"
// }
class MockJsonRepo {
static TicketData ticket = TicketData(
id: 189805,
patientID: 4292695,
laBQGroupID: null,
queueNo: 'W-T-4',
counterBatchNo: null,
calledBy: null,
calledOn: null,
servedOn: null,
patientName: null,
mobileNo: '0598544522',
patientEmail: 'munira.ali@hotmail.com',
preferredLang: 2,
voiceLanguageEnum: LanguageEnum.arabic,
ticketNoText: 'رقم التذكرة',
postVoiceText: 'التوجه الى غرفة قياس العلامات الحيوية',
patientGender: 2,
roomNo: 'D 12',
isActive: null,
createdBy: null,
editedBy: null,
editedOn: DateTime.parse('2025-08-18 15:09:03.633'),
createdOn: DateTime.parse('2025-08-18 15:06:07.363'),
doctorNameN: null,
callTypeEnum: CallTypeEnum.doctor,
queueNoM: 'W-T-4',
callNoStr: 'W_T-4',
isQueue: false,
isToneReq: false,
isVoiceReq: false,
orientationType: 0,
isTurnOn: false,
concurrentCallDelaySec: 0,
crTypeAckIP: null,
voiceLanguageText: 'English',
vitalSignText: 'علامة حيوية',
doctorText: 'الطبيب',
procedureText: 'الاجراءات',
vaccinationText: 'المطاعيم',
nebulizationText: 'التنفس',
callForVitalSignText: 'التوجه الى غرفة قياس العلامات الحيوية',
callForDoctorText: 'التوجه الى الطبيب',
callForProcedureText: 'التوجه الى غرفة الإجراءات',
callForVaccinationText: 'التوجه الى غرفة المطاعيم',
callForNebulizationText: 'التوجه الى غرفة التنفس',
roomText: 'غرفة',
queueNoText: 'رقم الانتظار',
callForText: 'التوجه الى',
);
}
// RAW DATA: