import 'package:flutter/material.dart';
import 'package:logger/logger.dart';

bool useTestIP = false;
Logger logger = Logger(printer: PrettyPrinter(printEmojis: false, colors: true, dateTimeFormat: DateTimeFormat.none));

// 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 = "في انتظار وصول المرضى";
}

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 yellowColor = const Color(0xFFC99609);
  static Color brownColor = const Color(0xFF460707);
  static Color blackColor = Colors.black54;

  //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;
}

class ApiConstants {
  static String baseUrl = 'https://ms.hmg.com/nscapi2';
  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";
  static String ticketCallRequestUpdate = "$baseUrlApiPatientCall/CallRequest_QueueUpdate";

  //Generic
  static String createTicketForKiosk = '$baseUrlApiGen/GEN_PatientCallNo_Get';
  static String ticketAcknowledgementInsert = '$baseUrlApi/Common/TicketQueueAck_Insert';

  // Signal R Constants

  static String sendQLinePatientCall = "SendQLinePatientCall";
  static String sendQLineConfig = "SendQLineConfig";
}

class CacheConstants {
  static String lastTimeUpdated = "lastTimeUpdated";
}

// 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"
// }
