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 fontNameGesTwo = "GE_SS_Two"; 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"; static String dummyRssFeedText = "Breaking: New Flutter 3.16 released with enhanced performance and stability features • Weather Update: Sunny skies expected throughout the week with temperatures reaching 25°C • Traffic Alert: Highway A1 experiencing delays due to construction work between exits 15-18 • Market Update: Stock indices show positive growth with technology sector leading gains • Company Announcement: Q4 results exceed expectations • New product launch scheduled for next month • Employee appreciation event on Friday • Special Offer: 20% discount on all services this week • Limited time promotion • Terms and conditions apply • Contact customer service for details • Welcome to our digital queue management system • Please follow the instructions on screen • For assistance, contact our support team • Thank you for your patience"; static List prayersArray = ["الفجر", "الظهر", "العصر", "المغرب", "العشاء"]; } 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 ), ], ); // New Design Colors static Color backgroundColor = const Color(0xFFF7F7F7); static Color greyTextColor = const Color(0xFF3E3C47); static Color darkGreyTextColor = const Color(0xFF2B353E); static Color greyContainerColor = const Color(0xFF4B5B6A); static Color newGreenColor = const Color(0xFF03A567); static Color newRedColor = const Color(0xFFEC1C2B); static Color lightBorderColor = const Color(0xFFEDEDED); static Color newVitalSignColor = greyContainerColor; static Color newDoctorColor = newGreenColor; // Custom Shadow Container Colors static Color smoothContainerShadow = const Color(0x14000000); // 8% black without opacity static List gradientBorderComboForVitalSigns = [ const Color(0xFFFFFFFF), // start const Color(0xFFAFEAD4), // start const Color(0xFF42BB8D), // end const Color(0xFF42BB8D), // base color ]; static List gradientBorderComboForDoctor = [ const Color(0xFFFFFFFF), // start const Color(0xFFF2F3F4), const Color(0xFFA5ADB4), const Color(0xFF78848F), ]; } 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 doctorIcon = "assets/images/doctor_icon.svg"; static String nebulizationIcon = "assets/images/nebulization_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"; // New Design Icons static String hmgLogoPatternLightIcon = "assets/new_design_icons/hmg_logo_pattern_light.svg"; static String hmgLogoPatternDarkIcon = "assets/new_design_icons/hmg_logo_pattern_dark.svg"; static String salahTimeIcon = "assets/new_design_icons/salah_time_icon.svg"; static String hmgLogoFull = "assets/new_design_icons/hmg_logo_full.svg"; static String cloudSolutionsLogo = "assets/new_design_icons/cloud_solutions_logo.svg"; static String newVitalSignIcon = "assets/images/vitalsign_icon.svg"; static String newDoctorIcon = "assets/images/doctor_icon.svg"; } 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 = 5; static double currentBuildVersion = 8.9; 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.english, ticketNoText: 'Ticket Number', postVoiceText: 'Call for Vital Signs', 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: