{"version":3,"sources":["components/container/container.jsx","components/container/content/content.jsx","components/footer/footer.jsx","components/journey/journey.jsx","components/utils/refreshButton.jsx","components/utils/iconButton.jsx","containers/slots.jsx","containers/userDetails.jsx","components/utils/secondaryButton.jsx","containers/confirmedAppointment.jsx","components/booking-summary/Booking-Summary.jsx","assets/images/loader.gif","components/country-flags/Flags.jsx","components/phase/phase.jsx","containers/branchSelection.jsx","index.js","App.js","components/utils/handler.js","containers/main.jsx","containers/deviceDetails.jsx","containers/serviceDetails.jsx","components/slot/slot.jsx","components/preparation/preparation.jsx","assets/images/calender_org.png","components/app-not-found/notFound.jsx","containers/categorySelection.jsx","containers/checkIn.jsx","containers/appInfo.jsx","containers/modifyAppointment.jsx","containers/ticketCalled.jsx","components/utils/card.jsx","serviceWorker.js","assets/images/spain-flag.png","assets/images/pakistan-flag.png","assets/images/uk-flag.png","assets/images/uae-flag.png","assets/images/location.png","assets/images/location-white.png","assets/images/calender_gry.png","services/data.service.js","components/modal-head/modalHead.jsx","components/loader/loader.jsx","components/utils/primaryButton.jsx","../src lazy /^/.*$/ groupOptions: {} namespace object","components/utils/dangerButton.jsx"],"names":["Container","props","className","children","Content","Footer","footer","window","ui","style","width","src","process","footerImage","float","Journey","state","phase","id","value","greaterPhase","dotColor","journey","counterColor","phaseChange","parseInt","position","setState","phaseReplica","newPhase","find","x","map","this","prevProps","Fragment","status","height","viewBox","fill","xmlns","fillRule","d","key","marginLeft","Component","RefreshButton","color","onClick","margin","borderRadius","backgroundColor","cursor","fontSize","IconButton","text","icon","borderColor","fontColor","disabled","disabledColor","href","target","border","marginTop","paddingLeft","textAlign","queryString","require","Slots","slotsToShowCount","runApp","defaultAheadDays","defaultLanguage","defaultLang","slotScreen","slotColor","selectedSlotColor","slotSelectionColor","defaultSlotColor","defaultFontColor","defaultTheme","applicationProperties","selectedDate","moment","Date","format","nextDates","appointmentSlots","dataLoaded","isCurrentDateSlots","futureAppointmentDays","branchDetails","length","FutureDaysForAppointment","lang","dataService","DataService","onDateChange","date","dateString","hideBtnNext","formattedDate","getDateTimeSlots","a","dateGiven","DAY","day","BranchID","category","undefined","response","data","error","slice","forEach","DayID","slotDetail","console","log","message","includes","handler","setHeading","theme","parse","location","search","currContext","$","document","ready","click","each","i","css","slotDate","closest","first","innerHTML","attr","slotId","time","dateTimeSlot","headingColor","WhenDoYouMakeAppointment","SelectDate","locale","localStorage","getItem","esES","enUS","onChange","defaultValue","disabledDate","current","add","allowClear","NoSlotsAvailable","index","timeSlots","description","NoSlotsAvailableMsg","ServerNotResponding","UserDetails","phoneNumberPrefix","userDetailsConfig","userDetails","configCollections","collections","UI","userDetailsScreen","additionalInfoLength","additionalInfo","maxLength","estimatedWaitTime","phoneNumber","defaultPhoneNumber","documentType","emailAddress","confirmedEmailAddress","isValidConfirmedEmail","isValidEmail","noOfPeople","numericArray","isTermsConditonsChecked","isAssistanceChecked","isValidConfirmEmail","isValidFirstName","isValidSurName","isValidPhoneNumber","isValidAdditionalInfo","phoneNumRef","React","createRef","setPhoneNumberPrefix","spain","uae","uk","pakistan","documentNumberValidation","isNumber","documentTypeDropdown","CE_LENGTH","DNI_LENGTH","PASSPORT_LENGTH","setLanguage","onFirstNameChange","e","regex","RegExp","test","toLowerCase","firstName","sendDataToParent","enableSurnameField","enableFirstNameField","enableEmailField","phoneNumberField","enabled","termsConditionCheckBox","isMandatory","validateConfirmEmail","onSurNameChange","surName","onEmailChange","showBtnNext","onConfirmEmailChange","onPhoneChange","minLength","charAt","onAdditionalInfoChange","onNoOfPeopleChange","onDocumentTypeChange","onCheckBoxChange","checked","isUserDetailCmp","getEstimatedWaitTime","branchId","mainState","issueQrTicket","branchid","sqn","categoryId","branchLevel","response_status","Math","floor","est_wait_time","on","event","String","fromCharCode","charCode","which","preventDefault","showEstimatedWaitTime","issueTicket","prevState","stateEmail","prevStateEmail","stateConfirmEmail","prevStateConfirmEmail","EnterYourDetailsToConfirmYourTicket","EnterAppointmentDetails","EstimatedWaitTimeMessage","Minutes","fColor","FirstName","requiredEstaricColor","type","name","placeholder","FirstNamePlaceholder","SurName","SurNamePlaceholder","enableNoOfPeopleField","NoOfPeople","EmailAddress","EmailAddressPlaceHolder","ConfirmEmailLabel","ConfirmEmailPlaceholder","PhoneNumber","PhoneNumberPlaceholder","ref","DocumentType","DocumentTypePlaceholder","documentArray","AdditionalInformation","rows","cols","columns","AdditionalInformationPlaceholder","breakColumn","enableAssistanceCheckBox","assistanceCheckBox","ReactHtmlParser","AgreementText","SecondaryButton","bgColor","mouseover","mouseout","ConfirmedAppointment","URL","enableCategorySelection","showGreetings","confirmScreen","icons","refreshInterval","notificationSound","popupExpiry","cancelButtonText","rescheduleButtonText","DoYouWantToRescheduleOrCancel","Attention","AppointmentAlreadyCanceled","AppointmentInfoNoValidToCancel","AlreadyServed","someThingWentWrong","For","Ok","CantCancelApptTcktIssued","AppointmentExpired","AppointmentCanceledAutomatically","Yes","No","TicketIssuedOn","WaitTime","Where","TotalWaitingTickets","CancelTicketConfirmation","UrlNotFound","InternetConnectionError","TicketNumber","BookingRef","Name","Email","WaitTimeMsg","Greetings","TicketNotFound","generateUrl","getData","ticket_info","branchCode","singleBranchDetails","BranchCode","selectedBranchFromMap","ticketId","ticket_id","whatsappUrl","getGreetings","headsColor","padding","getEstimatedWaitTimeMessage","alignItems","whiteSpace","display","MessageText","getUserDetails","enablePhoneNumberField","getDateTime","previous_appointment_info","appointment_date","appointment_time","substring","getBranchAddress","branch_title","address","ContactNo","BranchTitle","Address","getAppointmentNumber","fontWeight","appointment_number","issueAppointment","getTicketNumber","isTicketCalled","ticket_no","ticket_number_f","getTotalWaitingTime","category_approx_waittime","waitTime","timestamp","IsTicketCalled","getTicketIssuedDateTime","issued_on","ticket_issue_time","getTicketsWaiting","ThereArePeople","ticket_in_wait","TicketInWait","category_waiting_tickets","getService","phone_service","phoneServiceName","renderTranslations","es","ar","en","ur","CancelAppointment","Reschedule","SomeThingWentWrong","Error","AppointmentInfoNotValidToCancel","ApptCanceledAutomatically","TicketIssuedTime","WaitingTime","AtThe","rescheduleOrCancelAppointment","swal","buttons","reschedule","cancelAppointment","closeModal","then","category_id","email_id","close","resp_status","removeItem","getStepCount","cancelTicket","yes","no","replace","email","ticketNumber","categoryid","language","cancelTicketResponse","resp_message","cancelQrTicket","parsedResponse","JSON","stringify","getTicketStatus","ticket_number_f1","stateResp","toString","position_in_queue","setItem","actual_wait_time","clear","setTimeout","branchAddress","branchTitle","randomNumber","toDate","toDateString","hideBtnBack","YourTicketHasBeenIssued","YourAppointmentIsBooked","setInterval","appointmentNumber","appointmentDate","appointmentBranchId","branch_id","buttonsColor","IssueTicketConfirmedMessage","ThanksForAppointment","SeeYouOn","mapUrl","LocationDarkImg","LocationImg","flexDirection","justifyContent","CalendarImg","ModifyOrCancel","icsFileUrl","download","CalendarImgBlack","AddToCalendar","enableWhatsappButton","whatsapp","iconBtns","Whatsapp","ModifyOrCancelTicket","cancelTicketBtn","withRouter","BookingSummary","label","textSize","module","exports","Flags","heading","enabledLanguages","setLanguageOnFlagClick","url","indexOf","selectedLang","split","english","arabic","urdu","spanish","marginRight","spainFlag","ukFlag","pakistanFlag","uaeFlag","Phase","phaseColor","phaseFillColor","onPhase","queryStringBranchCode","BranchSelection","mapCenter","mapZoom","issueTicketEnabled","issueAppointmentEnabled","branchMapScreen","alertColor","alertBtnColor","apiKey","mapApiKey","pinMarker","mapMarker","branches","bounds","mapLanguage","locationAllowed","allowedLocation","locationServiceDisabled","OkText","makeAnAppointment","cancel","staticHeading","containerStyle","onInfoWindowClose","getAllBranches","branchList","points","push","lat","parseFloat","Latitude","lng","Longitude","google","maps","LatLngBounds","extend","showLocationAlert","swalAlert","LocationServiceDisabled","ok","resp","setMapLanguage","getCurrentLatLong","defaultLat","defaultLng","Bowser","getParser","navigator","userAgent","getBrowserName","geolocation","getCurrentPosition","pos","coords","latitude","longitude","watchPosition","code","PERMISSION_DENIED","clearWatch","p","permissions","query","onchange","title","onMarkerClick","branch","MakeAnAppointment","IssueTicket","setSelectedBranch","BranchMapHeading","zoom","initialCenter","center","fileName","scaledSize","Size","GoogleApiWrapper","LoadingContainer","ReactDOM","render","getElementById","serviceWorker","App","appRoute","useEffect","setStyles","setAppLanguage","AppTitle","styles","exact","path","component","Main","CheckIn","ModifyAppointment","AppInfo","TicketCalled","validation","isEmailAddress","str","isNotEmpty","isSame","str1","str2","setTranslations","urlLang","languages","langs","Object","keys","blinkText","selector","fadeToggle","disableCopyPasteInTextField","bind","customTimeOut","isStopped","openBrowserWindow","open","screen","urls","MODIFY_APPOINTMENT","origin","CHECK_IN","removeKeyFromUrl","otherQueryString","urlObject","appointmentnumber","compareArrayOfObject","firstArray","secondArray","filter","firstArrayItem","some","secondArrayItem","CategoryID","compareGroupArrayOfObject","result","element","GroupName","Categories","flag","redirect","showErrorMessage","okBtnText","showErrMsg","showSuccessMessage","redirectUrl","formatTimeStamp","ts","hours","minutes","seconds","notify","UIfx","volume","throttleMs","play","applicationMode","showConsoleLogs","onkeydown","keyCode","ctrlKey","shiftKey","charCodeAt","addEventListener","validateEmail","onBrowserReload","callback","performance","getEntriesByType","windowReloadedOldMethod","navigation","TYPE_RELOAD","info","Step","Steps","defaultCategory","showFooter","nextAndBackBtnColor","nextAndBackBtn","isAdditionalValidation","ticketIssuePassword","priority","showNextBtn","showBackBtn","deviceHealth","model","productType","productFamily","imei","isBranchPage","isConfirmedReschedule","isSingleBranchDetailsLoaded","steps","queryBranchCode","queryissueTicketFlag","issueTicketFlag","issueticket","queryStringSQN","querySQN","queryStringBranchId","queryBranchId","getSingleBranchDetails","stepJump","sendMainState","getServiceDetailsFromChild","getDeviceDetailsFromChild","getUserDetailsFromChild","getDateTimeSlotFromChild","getCategorySelectionFromChild","setSelectedBranchFromMap","sendBranchDetails","sendCategory","getStepForBranch","rescheduleAppointment","fieldName","fieldValue","TimeSlotQuotaExceed","CantRescheduleApptTcktIssued","YouAlreadyHaveAnAppointment","AppointmentAlreadyExists","keepPreviousOne","KeepPrevious","prevResponse","issueTicketResponse","TicketNotIssued","TicketAlreadyIssued","issueQRTicket","issueTicketQR","qrIssueTicketResponse","ResponseData","formatted","apiCallForSamsung","phone_model","phone_color","imei_number","device_health","InvalidFieldsCantIssue","genericApiCall","IncorrectPasswordMsg","PasswordEmptyMsg","renderStepsAction","prev","Back","next","TakeATicket","Next","renderStepTranslations","StepDevice","StepService","StepSlots","StepCustomerDetails","StepComplete","Branch","Category","content","deviceDetails","serviceDetails","categoryDetails","item","Option","Select","DeviceDetails","selectedProductType","selectedProductFamily","service","phoneModels","phoneColors","productTypes","selectedModel","imeiRef","isValidIemiSerielNumber","getDeviceDetails","productsInfo","getUpdatedDeviceDetails","dummyData","onModelSearch","val","_onProductTypeChange","family","f","ProductName","ProductFamily","_onProductFamilyChange","models","FamilyName","_onModelChange","colors","c","ModelName","PhoneColor","_onModelSearch","_onColorChange","TellDeviceDetailsHeading","ProductTypeLabel","ProductTypePlaceholder","ProductFamilyLabel","ProductFamilyPlaceholder","WhichDeviceDoYouHave","showSearch","ChooseYourModel","optionFilterProp","onSearch","WhatIsTheColourOfYourDevice","ChooseYourColor","ColorName","ServiceDetails","defaultServices","isMandatoryImei","isRepairServiceSelected","categories","phoneServices","selectedCategory","selectedService","phoneServiceResp","getCategoriesByBranchId","categoryListResp","filteredCategories","categoryList","serverResponded","phoneService","onCategoryChange","onDeviceHealthChange","isValidImei","onPhoneServiceChange","onImeiChange","TellUsSomethingElse","loader","WhenDidYouBuyIt","ChooseYourPurchaseDate","LessThanTwoYears","OverYearsAgo","WhatIsCategory","ChooseYourCategory","CategoryTitle","WhatServiceWouldYouLikeToSelect","ChooseYourService","ServiceName","imeiUrl","retrieveIMEI","DeviceIMEINumber","data-required","IMEIOrSerialNumber","Slot","NoSlot","SlotID","StartTime","Preparation","preparationLocationUrl","Preparations","SecondaryPrepHeading","SecondaryPrepOne","SecondaryPrepTwo","AppNotFound","CategorySelection","categorySelectionScreen","enableSubCategorySelection","isRtl","dropDownIndex","subcategoryIndex","getCategories","getGroupCategoriesListByBranchId","groupCategories","onCategoryChangeMainCategory","handleOnchangeSubCatetoriesInner","WhatDoYouNeed","direction","SelectCategory","subCategory","checkInScreen","divideBy","checkInIssueTicket","defaultPhoneNumberPrefix","isSuccessfullyCheckedIn","branchIp","verifyAppointmentResponse","enableCheckInButton","isValidAppointmentNumber","onCheckInClick","verifyAppointmentInfo","onTextFieldsChange","LateIssueTicket","AppointmentIsValid","AppointmentNotFound","EarlyIssueTicket","escapedPhoneNumber","additionalInformation","markAppointmentUsed","markAppointmentUsedAfterTicketIssue","labelColor","branchip","AppointmentNumber","btnColor","fColorm","appVersion","client","toUpperCase","redirectToCurrentPage","modifyAppointmentScreen","app","enableSubmitBtn","isInfoDataLoaded","getAppointmentInfo","response_code","appointment_info","branch_code","ModifyOrCancelAptMsg","Close","user_id","AppointmentCancelledSuccessfully","Submit","AppointmentInfo","start_time_12Hr","branch_name","ModifyOrCancelApt","cancelBtnColor","ticket_number","StaticHeaderHeading","ticketCalledScreen","TicketCalledHeading","cardBgColor","NoData","Card","paddingTop","boxShadow","isLocalhost","Boolean","hostname","match","register","config","swUrl","fetch","headers","contentType","get","registration","unregister","reload","registerValidSW","catch","checkValidServiceWorker","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","centralServerCommunication","timeoutInterval","requestTimeout","regionId","queryStringlang","apiUrl","axios","post","messagingServerUrl","payload","centralServerIp","body","timeout","BranchId","deviceType","Payload1","Payload2","Payload3","Payload4","Payload7","P1","P2","P3","P4","P7","prefix","payload1","payload2","payload3","payload4","payload5","payload7","payload8","payload9","payload10","QRticketUrl","issueTicketSpectra","postObject","SQN","AppointmentDate","AppointmentAheadDays","AppointmentAHeadDays","BranchAddress","BranchContactNo","DeviceType","UserID","Flag","IsReschedule","Payloads","Lang","SlotTime","branchPhoneNumber","slotid","userId","isReschedule","payloads","slotTime","PrevAppointmentNumber","PreviousApptCategoryId","prevAppointmentNumber","previousApptCategoryId","isLobbyLeader","is_lobby_leader","cell_number","Sqn","ModalHead","changeLocationUrl","logo","headerBackGround","header","backGroundColor","headerFontColor","background","showLogo","ChooseYourLanguage","ChangeLocation","Loader","PrimaryButton","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","ids","all","t","DangerButton"],"mappings":"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AiB,CAChB,IACA,EACA,EACA,EACA,GAED,cAAe,CACd,IACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,IAED,6CAA8C,CAC7C,IACA,EACA,IAED,8CAA+C,CAC9C,IACA,EACA,IAED,mCAAoC,CACnC,IACA,GAED,sCAAuC,CACtC,IACA,EACA,IAED,mCAAoC,CACnC,IACA,GAED,sCAAuC,CACtC,IACA,EACA,IAED,6BAA8B,CAC7B,IACA,GAED,qCAAsC,CACrC,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,kCAAmC,CAClC,IACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,IAED,oCAAqC,CACpC,IACA,GAED,iCAAkC,CACjC,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,8BAA+B,CAC9B,IACA,GAED,oCAAqC,CACpC,IACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,IAED,kCAAmC,CAClC,IACA,GAED,4BAA6B,CAC5B,IACA,EACA,GAED,4BAA6B,CAC5B,IACA,EACA,GAED,8BAA+B,CAC9B,IACA,EACA,GAED,sCAAuC,CACtC,IACA,GAED,0CAA2C,CAC1C,IACA,GAED,+CAAgD,CAC/C,IACA,GAED,mDAAoD,CACnD,IACA,GAED,mCAAoC,CACnC,IACA,GAED,uCAAwC,CACvC,IACA,GAED,yCAA0C,CACzC,IACA,GAED,6CAA8C,CAC7C,IACA,GAED,mCAAoC,CACnC,IACA,GAED,uCAAwC,CACvC,IACA,GAED,6BAA8B,CAC7B,IACA,GAED,iCAAkC,CACjC,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,mCAAoC,CACnC,IACA,GAED,6BAA8B,CAC7B,GACA,GAED,iCAAkC,CACjC,GACA,GAED,oDAAqD,CACpD,IACA,EACA,GAED,wDAAyD,CACxD,IACA,EACA,GAED,iCAAkC,CACjC,IACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,IAED,oCAAqC,CACpC,GACA,GAED,wCAAyC,CACxC,GACA,GAED,2BAA4B,CAC3B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,uCAAwC,CACvC,IACA,GAED,2CAA4C,CAC3C,IACA,GAED,yBAA0B,CACzB,IACA,GAED,6BAA8B,CAC7B,IACA,GAED,0BAA2B,CAC1B,IACA,GAED,8BAA+B,CAC9B,IACA,GAED,kCAAmC,CAClC,GACA,GAED,sCAAuC,CACtC,GACA,GAED,6BAA8B,CAC7B,EACA,GAED,gCAAiC,CAChC,EACA,GAED,gCAAiC,CAChC,IACA,GAED,oCAAqC,CACpC,IACA,GAED,mCAAoC,CACnC,GACA,GAED,uCAAwC,CACvC,GACA,GAED,mCAAoC,CACnC,IACA,GAED,uCAAwC,CACvC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,yCAA0C,CACzC,IACA,GAED,uBAAwB,CACvB,IACA,GAED,2BAA4B,CAC3B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,mCAAoC,CACnC,IACA,GAED,iCAAkC,CACjC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,uBAAwB,CACvB,IACA,GAED,2BAA4B,CAC3B,IACA,GAED,oCAAqC,CACpC,IACA,GAED,wCAAyC,CACxC,IACA,GAED,6BAA8B,CAC7B,IACA,GAED,iCAAkC,CACjC,IACA,GAED,oBAAqB,CACpB,IACA,GAED,wBAAyB,CACxB,IACA,GAED,iCAAkC,CACjC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,8BAA+B,CAC9B,IACA,GAED,kCAAmC,CAClC,IACA,GAED,qBAAsB,CACrB,IACA,GAED,yBAA0B,CACzB,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,gCAAiC,CAChC,IACA,GAED,2BAA4B,CAC3B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,sBAAuB,CACtB,IACA,EACA,IAED,aAAc,CACb,IACA,EACA,GAED,uBAAwB,CACvB,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,aAAc,CACb,IACA,EACA,EACA,IAED,gBAAiB,CAChB,IACA,EACA,EACA,IAED,UAAW,CACV,IACA,GAED,cAAe,CACd,IACA,EACA,IAED,aAAc,CACb,IACA,GAED,aAAc,CACb,IACA,EACA,IAED,YAAa,CACZ,IACA,EACA,IAED,iBAAkB,CACjB,IACA,EACA,IAED,sBAAuB,CACtB,IACA,EACA,IAED,iBAAkB,CACjB,IACA,EACA,IAED,kBAAmB,CAClB,IACA,GAED,qBAAsB,CACrB,IACA,GAED,0BAA2B,CAC1B,GACA,GAED,6BAA8B,CAC7B,GACA,GAED,eAAgB,CACf,IACA,EACA,EACA,EACA,IAED,kBAAmB,CAClB,IACA,EACA,EACA,EACA,KAGF,SAAS6+B,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEh/B,EAAK8+B,GAC9B,OAAOG,QAAQC,UAAUnnB,MAAK,WAC7B,IAAI/M,EAAI,IAAImM,MAAM,uBAAyB2nB,EAAM,KAEjD,MADA9zB,EAAEqW,KAAO,mBACHrW,KAIR,IAAIm0B,EAAMn/B,EAAI8+B,GAAM5/B,EAAKigC,EAAI,GAC7B,OAAOF,QAAQG,IAAID,EAAIj6B,MAAM,GAAGlF,IAAI++B,EAAoB/zB,IAAI+M,MAAK,WAChE,OAAOgnB,EAAoBM,EAAEngC,EAAIigC,EAAI,OAGvCN,EAAoBna,KAAO,WAC1B,OAAOD,OAAOC,KAAK1kB,IAEpB6+B,EAAoB3/B,GAAK,IACzBid,EAAOC,QAAUyiB,G,gCCniBjB,2BAiBeS,UAfM,SAAC,GAAgD,IAA9Cv+B,EAA6C,EAA7CA,MAAOQ,EAAsC,EAAtCA,KAAMP,EAAgC,EAAhCA,QAAgC,IAAvBW,gBAAuB,SACnE,OACE,4BACEzD,UAAU,iBACVO,MAAO,CACL0C,gBAAiBJ,GAEnBC,QAASA,EACTW,SAAUA,GAETJ,M","file":"static/js/main.97730cda.chunk.js","sourcesContent":["import React from \"react\";\r\n\r\nconst Container = (props) => {\r\n return (\r\n
\r\n
{props.children}
\r\n
\r\n );\r\n};\r\n\r\nexport default Container;\r\n","import React, { Component } from \"react\";\r\n\r\nconst Content = (props) => {\r\n return (\r\n
\r\n
\r\n
{props.children}
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Content;\r\n","import React, { Component } from \"react\";\r\n\r\nconst Footer = () => {\r\n let footer = window[\"app-config\"].ui.footer;\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Footer;\r\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-07-16 9:00:00\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2020-09-01 17:45:05\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport Phase from \"../phase/phase\";\r\n\r\nclass Journey extends Component {\r\n state = {\r\n phase: [\r\n { id: 4, value: false },\r\n { id: 3, value: false },\r\n { id: 2, value: false },\r\n { id: 1, value: false },\r\n { id: 0, value: false },\r\n ],\r\n greaterPhase: {\r\n id: 5,\r\n value: true,\r\n },\r\n };\r\n\r\n dotColor = window[\"app-config\"].ui.journey.dotColor;\r\n counterColor = window[\"app-config\"].ui.journey.counterColor;\r\n\r\n async componentDidMount() {\r\n this.phaseChange();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (parseInt(prevProps.position) !== parseInt(this.props.position)) {\r\n this.phaseChange();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n {this.state.phase.map((phase) => (\r\n \r\n ))}\r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n phaseChange = () => {\r\n if (parseInt(this.props.position) > 4) {\r\n this.setState({\r\n phase: [\r\n { id: 4, value: false },\r\n { id: 3, value: false },\r\n { id: 2, value: false },\r\n { id: 1, value: false },\r\n { id: 0, value: false },\r\n ],\r\n phase: [\r\n { id: 4, value: false },\r\n { id: 3, value: false },\r\n { id: 2, value: false },\r\n { id: 1, value: false },\r\n { id: 0, value: false },\r\n ],\r\n greaterPhase: {\r\n id: 5,\r\n value: true,\r\n },\r\n });\r\n } else {\r\n if (parseInt(this.props.position) !== -1) {\r\n let phaseReplica = this.state.phase;\r\n let newPhase = phaseReplica.find(\r\n (x) => x.id === parseInt(this.props.position)\r\n );\r\n\r\n newPhase.value = true;\r\n\r\n phaseReplica.map((x) => x.id === newPhase.id || x);\r\n phaseReplica.map((x) => {\r\n if (x.id !== newPhase.id) {\r\n x.value = false;\r\n }\r\n });\r\n\r\n this.setState({\r\n phase: phaseReplica,\r\n greaterPhase: {\r\n id: 5,\r\n value: false,\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n phase: [\r\n { id: 4, value: false },\r\n { id: 3, value: false },\r\n { id: 2, value: false },\r\n { id: 1, value: false },\r\n { id: 0, value: false },\r\n ],\r\n phase: [\r\n { id: 4, value: false },\r\n { id: 3, value: false },\r\n { id: 2, value: false },\r\n { id: 1, value: false },\r\n { id: 0, value: false },\r\n ],\r\n greaterPhase: {\r\n id: 5,\r\n value: false,\r\n },\r\n });\r\n }\r\n }\r\n };\r\n}\r\n\r\nexport default Journey;\r\n","import React from \"react\";\r\n\r\nconst RefreshButton = ({ color, onClick }) => {\r\n return (\r\n \r\n {\" \"}\r\n \r\n );\r\n};\r\n\r\nexport default RefreshButton;\r\n","import React, { Component } from \"react\";\r\n\r\nconst IconButton = ({\r\n text,\r\n onClick,\r\n icon,\r\n backgroundColor,\r\n borderColor,\r\n fontColor,\r\n disabled = false,\r\n disabledColor = \"#dddddd\",\r\n}) => {\r\n return (\r\n \r\n \r\n {text}\r\n \r\n );\r\n};\r\n\r\nexport default IconButton;\r\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-02-24 15:49:21\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2020-10-20 11:22:02\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport Slot from \"../components/slot/slot\";\r\nimport \"antd/dist/antd.css\";\r\nimport { DatePicker } from \"antd\";\r\nimport $ from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { DataService } from \"../services/data.service\";\r\nimport { Empty } from \"antd\";\r\n\r\nimport \"moment/locale/es\";\r\nimport { ConfigProvider } from \"antd\";\r\nimport esES from \"antd/es/locale/es_ES\";\r\nimport enUS from \"antd/es/locale/en_US\";\r\nimport Loader from \"../components/loader/loader\";\r\nimport * as handler from \"../components/utils/handler\"\r\nconst queryString = require(\"query-string\");\r\n\r\nclass Slots extends Component {\r\n slotsToShowCount = window[\"app-config\"].slotsToShowCount;\r\n runApp = window[\"app-config\"].runApp;\r\n defaultAheadDays = window[\"app-config\"].defaultAheadDays;\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n color = window[\"app-config\"].ui.slotScreen;\r\n slotColor = window[\"app-config\"].ui.slotScreen.fontColor;\r\n selectedSlotColor = window[\"app-config\"].ui.slotScreen.slotSelectionColor;\r\n defaultSlotColor = window[\"app-config\"].ui.slotScreen.defaultFontColor;\r\n defaultTheme =\r\n window[\"app-config\"].applicationProperties.defaultTheme;\r\n state = {\r\n selectedDate: moment(new Date()).format(\"YYYY-MM-DD\"),\r\n \r\n nextDates: [],\r\n appointmentSlots: [],\r\n dataLoaded: false,\r\n isCurrentDateSlots: false,\r\n futureAppointmentDays:\r\n this.props.branchDetails().length > 0 &&\r\n this.props.branchDetails()[0].FutureDaysForAppointment != \"\"\r\n ? this.props.branchDetails()[0].FutureDaysForAppointment\r\n : this.defaultAheadDays,\r\n lang:{}\r\n };\r\n\r\n dataService = new DataService();\r\n\r\n\r\n componentDidMount() {\r\n this.setState({lang: handler.setTranslations()});\r\n this.props.setHeading(null);\r\n this.props.hideBtnNext();\r\n this.getDateTimeSlots(this.state.selectedDate);\r\n\r\n }\r\n\r\n onDateChange = (date, dateString) => {\r\n this.props.hideBtnNext();\r\n this.setState({ dataLoaded: false, selectedDate: date });\r\n let formattedDate = moment(date === null ? new Date() : date).format(\"YYYY-MM-DD\")\r\n this.getDateTimeSlots(formattedDate);\r\n };\r\n\r\n\r\n\r\n getDateTimeSlots = async (date) => {\r\n var dateGiven = moment(date);\r\n var DAY = dateGiven.day();\r\n\r\n DAY = DAY == 0 ? 7 : DAY;\r\n\r\n var currContext = this;\r\n\r\n try {\r\n var response = await this.dataService.getDateTimeSlots(\r\n this.props.branchDetails()[0].BranchID,\r\n this.props.category(),\r\n // this.state.selectedDate,\r\n date,\r\n this.state.futureAppointmentDays\r\n );\r\n if (response.data.error !== undefined && response.data.error === true) {\r\n this.setState({ appointmentSlots: undefined, dataLoaded: true });\r\n } else if (response.data.appointmentSlots !== null) {\r\n var appointmentSlots = response.data.appointmentSlots.slice(\r\n 0,\r\n this.slotsToShowCount < 0 || this.slotsToShowCount > 7\r\n ? 7\r\n : this.slotsToShowCount\r\n );\r\n this.setState({\r\n appointmentSlots: appointmentSlots,\r\n dataLoaded: true,\r\n });\r\n } else {\r\n this.setState({ appointmentSlots: [], dataLoaded: true });\r\n }\r\n var slotValue = false;\r\n this.state.appointmentSlots.forEach(function (value, key) {\r\n if (value.DayID == DAY) {\r\n if (value.slotDetail.length == 0) {\r\n slotValue = true;\r\n }\r\n }\r\n });\r\n } catch (error) {\r\n console.log(error.message);\r\n if (\r\n error.message.includes(\"timeout\") ||\r\n error.message.includes(\"ERR_CONNECTION\")\r\n ) {\r\n this.setState({ appointmentSlots: undefined, dataLoaded: true });\r\n } else {\r\n this.setState({ appointmentSlots: [], dataLoaded: true });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n let theme = queryString.parse(window.location.search).theme == undefined ? this.defaultTheme : queryString.parse(window.location.search).theme;\r\n var currContext = this;\r\n $(document).ready(function () {\r\n $(\".time\").click(function () {\r\n $(\".time\").each((i, d) => {\r\n $(d).css(\"border-color\", \"#eee\");\r\n $(d).css(\"color\", currContext.defaultSlotColor);\r\n });\r\n \r\n theme == \"dark\" ? $(this).css(\"border-color\", \"#f4741d\") : $(this).css(\"border-color\", currContext.selectedSlotColor);\r\n // #f4741d\r\n theme == \"dark\" ? $(this).css(\"color\", \"#f4741d\") : $(this).css(\"color\", currContext.slotColor);\r\n // $(this).css(\"color\", currContext.slotColor);\r\n\r\n let slotDate = $(\r\n $(this).closest($(\".sl__modal_calendar-col\")).first()[0].innerHTML\r\n ).attr(\"date\");\r\n\r\n let slotId = $(this).attr(\"value\");\r\n let time = $(this).attr(\"time\");\r\n currContext.props.dateTimeSlot(slotId, slotDate, time);\r\n });\r\n });\r\n\r\n if (this.state.dataLoaded === false) {\r\n return (\r\n
\r\n
\r\n

\r\n {this.state.lang.WhenDoYouMakeAppointment}\r\n

\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n return (\r\n moment().add(-1, \"days\") >= current ||\r\n moment().add(\r\n this.state.futureAppointmentDays,\r\n \"days\"\r\n ) <= current\r\n );\r\n }}\r\n allowClear={false}\r\n />\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n );\r\n } else if (\r\n this.state.appointmentSlots.length > 0 &&\r\n this.state.appointmentSlots !== null\r\n ) {\r\n return (\r\n
\r\n
\r\n

\r\n {this.state.lang.WhenDoYouMakeAppointment}\r\n

\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n return (\r\n moment().add(-1, \"days\") >= current ||\r\n moment().add(\r\n this.state.futureAppointmentDays,\r\n \"days\"\r\n ) <= current\r\n );\r\n }}\r\n allowClear={false}\r\n />\r\n \r\n {this.state.isCurrentDateSlots === true ? (\r\n

{this.state.lang.NoSlotsAvailable}

\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n\r\n
\r\n {this.state.appointmentSlots !== null &&\r\n this.state.appointmentSlots.length > 0 ? (\r\n this.state.appointmentSlots.map((data, index) => {\r\n return (\r\n \r\n );\r\n })\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n } else if (this.state.appointmentSlots === undefined) {\r\n return (\r\n
\r\n
\r\n

\r\n {this.state.lang.WhenDoYouMakeAppointment}\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n return (\r\n moment().add(-1, \"days\") >= current ||\r\n moment().add(\r\n this.state.futureAppointmentDays,\r\n \"days\"\r\n ) <= current\r\n );\r\n }}\r\n allowClear={false}\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n

\r\n {this.state.lang.WhenDoYouMakeAppointment}\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n return (\r\n moment().add(-1, \"days\") >= current ||\r\n moment().add(\r\n this.state.futureAppointmentDays,\r\n \"days\"\r\n ) <= current\r\n );\r\n }}\r\n allowClear={false}\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default Slots;\r\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-02-24 15:49:21\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2021-01-26 11:32:05\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport $ from \"jquery\";\r\nimport * as handler from \"../components/utils/handler\";\r\nimport ReactHtmlParser from \"react-html-parser\";\r\nimport { DataService } from \"../services/data.service\";\r\n\r\nconst queryString = require(\"query-string\");\r\n\r\nclass UserDetails extends Component {\r\n runApp = window[\"app-config\"].runApp;\r\n phoneNumberPrefix = window[\"app-config\"].phoneNumberPrefix;\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n userDetailsConfig = window[\"app-config\"].userDetails;\r\n configCollections = window[\"app-config\"].collections;\r\n UI = window[\"app-config\"].ui.userDetailsScreen;\r\n additionalInfoLength = this.userDetailsConfig.additionalInfo.maxLength;\r\n estimatedWaitTime =\r\n window[\"app-config\"].applicationProperties.estimatedWaitTime;\r\n dataService = new DataService();\r\n\r\n state = {\r\n lang: {},\r\n phoneNumber: this.phoneNumberPrefix.defaultPhoneNumber,\r\n documentType: null,\r\n additionalInfo: undefined,\r\n estimatedWaitTime: null,\r\n emailAddress: null,\r\n confirmedEmailAddress: null,\r\n isValidConfirmedEmail: false,\r\n isValidEmail: undefined,\r\n };\r\n\r\n firstName;\r\n surName;\r\n emailAddress;\r\n confirmedEmailAddress;\r\n phoneNumber;\r\n additionalInfo;\r\n noOfPeople = this.configCollections.numericArray[0];\r\n isTermsConditonsChecked = false;\r\n isAssistanceChecked = false;\r\n\r\n isValidEmail = false;\r\n isValidConfirmEmail = false;\r\n isValidFirstName = false;\r\n isValidSurName = false;\r\n isValidPhoneNumber = false;\r\n isValidAdditionalInfo = false;\r\n\r\n phoneNumRef = React.createRef();\r\n\r\n componentDidMount() {\r\n handler.disableCopyPasteInTextField(\"#email-field\");\r\n handler.disableCopyPasteInTextField(\"#confirm-email-field\");\r\n this.props.setHeading(null);\r\n this.setPhoneNumberPrefix();\r\n this.setLanguage();\r\n\r\n if (this.runApp.toLowerCase() === \"samsung\") {\r\n $(\".validate-num\").on(\"keypress\", function (event) {\r\n var regex = new RegExp(\"^[0-9+]\");\r\n var key = String.fromCharCode(\r\n !event.charCode ? event.which : event.charCode\r\n );\r\n if (!regex.test(key)) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n });\r\n }\r\n if (\r\n this.UI.showEstimatedWaitTime &&\r\n (this.props.mainState().issueQrTicket ||\r\n this.props.mainState().issueTicket)\r\n ) {\r\n this.getEstimatedWaitTime();\r\n }\r\n\r\n this.props.hideBtnNext();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n let stateEmail =\r\n this.state.emailAddress === null\r\n ? null\r\n : this.state.emailAddress.toLowerCase();\r\n let prevStateEmail =\r\n prevState.emailAddress === null\r\n ? null\r\n : prevState.emailAddress.toLowerCase();\r\n let stateConfirmEmail =\r\n this.state.confirmedEmailAddress === null\r\n ? null\r\n : this.state.confirmedEmailAddress.toLowerCase();\r\n let prevStateConfirmEmail =\r\n prevState.confirmedEmailAddress === null\r\n ? null\r\n : prevState.confirmedEmailAddress.toLowerCase();\r\n\r\n if (\r\n stateEmail !== prevStateEmail ||\r\n stateConfirmEmail !== prevStateConfirmEmail\r\n ) {\r\n if (\r\n stateEmail !== stateConfirmEmail &&\r\n this.userDetailsConfig.validateConfirmEmail === true\r\n ) {\r\n this.setState({ isValidEmail: false });\r\n } else if (this.isValidEmail === false) {\r\n this.setState({ isValidEmail: false });\r\n } else {\r\n this.setState({ isValidEmail: true });\r\n }\r\n }\r\n console.log(\"TST VALID: \", this.state.isValidEmail);\r\n if (\r\n this.state.isValidEmail === false ||\r\n (this.isValidSurName === false &&\r\n this.userDetailsConfig.enableSurnameField === true) ||\r\n (this.isValidFirstName === false &&\r\n this.userDetailsConfig.enableFirstNameField === true) ||\r\n (this.isValidEmail === false &&\r\n this.userDetailsConfig.enableEmailField === true) ||\r\n // (this.isValidConfirmEmail === false &&\r\n // this.userDetailsConfig.validateConfirmEmail === true) ||\r\n (this.isValidPhoneNumber === false &&\r\n this.userDetailsConfig.phoneNumberField.enabled === true) ||\r\n (this.isTermsConditonsChecked === false &&\r\n this.userDetailsConfig.termsConditionCheckBox.enabled &&\r\n this.userDetailsConfig.termsConditionCheckBox.isMandatory) ||\r\n (this.documentType === null &&\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.userDetailsConfig.documentTypeDropdown.isMandatory) ||\r\n (this.isValidAdditionalInfo === false &&\r\n (this.additionalInfo === undefined || this.additionalInfo === \"\") &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory)\r\n ) {\r\n this.props.hideBtnNext();\r\n } else {\r\n this.props.showBtnNext();\r\n }\r\n }\r\n\r\n setPhoneNumberPrefix = () => {\r\n if (\r\n localStorage.getItem(\"lang\") === \"es\" &&\r\n this.phoneNumberPrefix.spain !== \"\"\r\n ) {\r\n this.setState({ phoneNumber: this.phoneNumberPrefix.spain });\r\n } else if (\r\n localStorage.getItem(\"lang\") === \"ar\" &&\r\n this.phoneNumberPrefix.uae !== \"\"\r\n ) {\r\n this.setState({ phoneNumber: this.phoneNumberPrefix.uae });\r\n } else if (\r\n localStorage.getItem(\"lang\") === \"en\" &&\r\n this.phoneNumberPrefix.uk !== \"\"\r\n ) {\r\n this.setState({ phoneNumber: this.phoneNumberPrefix.uk });\r\n } else if (\r\n localStorage.getItem(\"lang\") === \"ur\" &&\r\n this.phoneNumberPrefix.pakistan !== \"\"\r\n ) {\r\n this.setState({ phoneNumber: this.phoneNumberPrefix.pakistan });\r\n } else {\r\n this.setState({ phoneNumber: this.phoneNumberPrefix.defaultPhoneNumber });\r\n }\r\n };\r\n\r\n documentNumberValidation = (value) => {\r\n if (\r\n (this.additionalInfo !== undefined &&\r\n this.isValidAdditionalInfo === false) ||\r\n this.isValidAdditionalInfo === true\r\n ) {\r\n if (value === \"CE\") {\r\n if (\r\n !(\r\n handler.validation.isNumber(this.additionalInfo) &&\r\n this.additionalInfo.length ===\r\n this.userDetailsConfig.documentTypeDropdown.CE_LENGTH\r\n )\r\n ) {\r\n this.props.hideBtnNext();\r\n }\r\n } else if (value === \"DNI\") {\r\n if (\r\n !(\r\n handler.validation.isNumber(this.additionalInfo) &&\r\n this.additionalInfo.length ===\r\n this.userDetailsConfig.documentTypeDropdown.DNI_LENGTH\r\n )\r\n ) {\r\n this.props.hideBtnNext();\r\n }\r\n } else if (\r\n value === \"Passport\" &&\r\n this.additionalInfo.length !==\r\n this.userDetailsConfig.documentTypeDropdown.PASSPORT_LENGTH\r\n ) {\r\n this.props.hideBtnNext();\r\n }\r\n }\r\n };\r\n\r\n setLanguage = () => {\r\n this.setState({ lang: handler.setTranslations() });\r\n };\r\n\r\n /**\r\n * \r\n HANDLING CHANGE EVENTS FOR FIELDS\r\n */\r\n\r\n onFirstNameChange = (e) => {\r\n var regex = new RegExp(\"^[a-zA-ZÀ-ÿñáéíóúü ]+$\");\r\n if (\r\n ((e.target.value.length === 0 && e.target.value === \"\") ||\r\n !regex.test(e.target.value)) &&\r\n this.runApp.toLowerCase() === \"samsung\"\r\n ) {\r\n $(\"#firstname-field\").css(\"border-color\", \"red\");\r\n this.isValidFirstName = false;\r\n } else if (e.target.value.length === 0 && e.target.value === \"\") {\r\n $(\"#firstname-field\").css(\"border-color\", \"red\");\r\n this.isValidFirstName = false;\r\n } else {\r\n this.isValidFirstName = true;\r\n $(\"#firstname-field\").css(\"border-color\", \"#dadada\");\r\n this.firstName = e.target.value;\r\n this.sendDataToParent();\r\n }\r\n this.documentNumberValidation(this.state.documentType);\r\n if (\r\n (this.isValidSurName === false &&\r\n this.userDetailsConfig.enableSurnameField === true) ||\r\n (this.isValidFirstName === false &&\r\n this.userDetailsConfig.enableFirstNameField === true) ||\r\n (this.state.isValidEmail === false &&\r\n this.userDetailsConfig.enableEmailField === true) ||\r\n // (this.isValidConfirmEmail === false &&\r\n // this.userDetailsConfig.validateConfirmEmail === true) ||\r\n (this.isValidPhoneNumber === false &&\r\n this.userDetailsConfig.phoneNumberField.enabled === true) ||\r\n (this.isTermsConditonsChecked === false &&\r\n this.userDetailsConfig.termsConditionCheckBox.enabled &&\r\n this.userDetailsConfig.termsConditionCheckBox.isMandatory) ||\r\n (this.documentType === null &&\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.userDetailsConfig.documentTypeDropdown.isMandatory) ||\r\n (this.isValidAdditionalInfo === false &&\r\n (this.additionalInfo === undefined || this.additionalInfo === \"\") &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory) ||\r\n (this.userDetailsConfig.validateConfirmEmail &&\r\n this.isValidConfirmEmail === false)\r\n ) {\r\n this.props.hideBtnNext();\r\n }\r\n };\r\n\r\n onSurNameChange = (e) => {\r\n var regex = new RegExp(\"^[a-zA-ZÀ-ÿñáéíóúü ]+$\");\r\n if (\r\n ((e.target.value.length === 0 && e.target.value === \"\") ||\r\n !regex.test(e.target.value)) &&\r\n this.runApp.toLowerCase() === \"samsung\"\r\n ) {\r\n $(\"#surname-field\").css(\"border-color\", \"red\");\r\n this.isValidSurName = false;\r\n } else if (e.target.value.length === 0 && e.target.value === \"\") {\r\n $(\"#surname-field\").css(\"border-color\", \"red\");\r\n this.isValidSurName = false;\r\n } else {\r\n this.isValidSurName = true;\r\n $(\"#surname-field\").css(\"border-color\", \"#dadada\");\r\n this.surName = e.target.value;\r\n this.sendDataToParent();\r\n }\r\n this.documentNumberValidation(this.state.documentType);\r\n if (\r\n (this.isValidSurName === false &&\r\n this.userDetailsConfig.enableSurnameField === true) ||\r\n (this.isValidFirstName === false &&\r\n this.userDetailsConfig.enableFirstNameField === true) ||\r\n (this.state.isValidEmail === false &&\r\n this.userDetailsConfig.enableEmailField === true) ||\r\n // (this.isValidConfirmEmail === false &&\r\n // this.userDetailsConfig.validateConfirmEmail === true) ||\r\n (this.isValidPhoneNumber === false &&\r\n this.userDetailsConfig.phoneNumberField.enabled === true) ||\r\n (this.isTermsConditonsChecked === false &&\r\n this.userDetailsConfig.termsConditionCheckBox.enabled &&\r\n this.userDetailsConfig.termsConditionCheckBox.isMandatory) ||\r\n (this.documentType === null &&\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.userDetailsConfig.documentTypeDropdown.isMandatory) ||\r\n (this.isValidAdditionalInfo === false &&\r\n (this.additionalInfo === undefined || this.additionalInfo === \"\") &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory) ||\r\n (this.userDetailsConfig.validateConfirmEmail &&\r\n this.isValidConfirmEmail === false)\r\n ) {\r\n this.props.hideBtnNext();\r\n }\r\n };\r\n\r\n onEmailChange = (e) => {\r\n this.setState({ emailAddress: e.target.value });\r\n\r\n if (\r\n !handler.validateEmail(e.target.value) ||\r\n (e.target.value.length === 0 && e.target.value === \"\") ||\r\n /^([\\w-\\.]+([\\w-]+\\.)+[\\w-]{2,4})?$/.test(e.target.value)\r\n ) {\r\n $(\"#email-field\").css(\"border-color\", \"red\");\r\n this.isValidEmail = false;\r\n } else {\r\n $(\"#email-field\").css(\"border-color\", \"#dadada\");\r\n this.emailAddress = e.target.value;\r\n this.setState({ emailAddress: e.target.value });\r\n this.sendDataToParent();\r\n this.isValidEmail = true;\r\n }\r\n\r\n this.documentNumberValidation(this.state.documentType);\r\n if (\r\n (this.isValidSurName === false &&\r\n this.userDetailsConfig.enableSurnameField === true) ||\r\n (this.isValidFirstName === false &&\r\n this.userDetailsConfig.enableFirstNameField === true) ||\r\n (this.isValidEmail === false &&\r\n this.userDetailsConfig.enableEmailField === true) ||\r\n // (this.isValidConfirmEmail === false &&\r\n // this.userDetailsConfig.validateConfirmEmail === true) ||\r\n (this.isValidPhoneNumber === false &&\r\n this.userDetailsConfig.phoneNumberField.enabled === true) ||\r\n (this.isTermsConditonsChecked === false &&\r\n this.userDetailsConfig.termsConditionCheckBox.enabled &&\r\n this.userDetailsConfig.termsConditionCheckBox.isMandatory) ||\r\n (this.documentType === null &&\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.userDetailsConfig.documentTypeDropdown.isMandatory) ||\r\n (this.isValidAdditionalInfo === false &&\r\n (this.additionalInfo === undefined || this.additionalInfo === \"\") &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory) ||\r\n (this.userDetailsConfig.validateConfirmEmail &&\r\n this.isValidConfirmEmail === false)\r\n ) {\r\n this.props.hideBtnNext();\r\n } else {\r\n this.props.showBtnNext();\r\n }\r\n };\r\n\r\n onConfirmEmailChange = (e) => {\r\n this.setState({ confirmedEmailAddress: e.target.value });\r\n\r\n if (\r\n !handler.validateEmail(e.target.value) ||\r\n (e.target.value.length === 0 && e.target.value === \"\") ||\r\n /^([\\w-\\.]+([\\w-]+\\.)+[\\w-]{2,4})?$/.test(e.target.value)\r\n ) {\r\n $(\"#confirm-email-field\").css(\"border-color\", \"red\");\r\n this.isValidConfirmEmail = false;\r\n console.log(this.isValidConfirmEmail);\r\n } else {\r\n $(\"#confirm-email-field\").css(\"border-color\", \"#dadada\");\r\n this.confirmedEmailAddress = e.target.value;\r\n this.isValidConfirmEmail = true;\r\n }\r\n\r\n this.documentNumberValidation(this.state.documentType);\r\n if (\r\n (this.isValidSurName === false &&\r\n this.userDetailsConfig.enableSurnameField === true) ||\r\n (this.isValidFirstName === false &&\r\n this.userDetailsConfig.enableFirstNameField === true) ||\r\n (this.isValidEmail === false &&\r\n this.userDetailsConfig.enableEmailField === true) ||\r\n // (this.isValidConfirmEmail === false &&\r\n // this.userDetailsConfig.validateConfirmEmail === true) ||\r\n (this.isValidPhoneNumber === false &&\r\n this.userDetailsConfig.phoneNumberField.enabled === true) ||\r\n (this.isTermsConditonsChecked === false &&\r\n this.userDetailsConfig.termsConditionCheckBox.enabled &&\r\n this.userDetailsConfig.termsConditionCheckBox.isMandatory) ||\r\n (this.documentType === null &&\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.userDetailsConfig.documentTypeDropdown.isMandatory) ||\r\n (this.isValidAdditionalInfo === false &&\r\n (this.additionalInfo === undefined || this.additionalInfo === \"\") &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory)\r\n ) {\r\n this.props.hideBtnNext();\r\n } else {\r\n this.props.showBtnNext();\r\n }\r\n };\r\n\r\n onPhoneChange = (e) => {\r\n if (\r\n (e.target.value.length === 0 && e.target.value === \"\") ||\r\n e.target.value.length <\r\n this.userDetailsConfig.phoneNumberField.minLength ||\r\n /\\s/.test(e.target.value) ||\r\n !e.target.value.charAt(0).includes(\"+\") ||\r\n !/^[0-9+]+$/.test(e.target.value)\r\n ) {\r\n $(\"#phone-field\").css(\"border-color\", \"red\");\r\n this.isValidPhoneNumber = false;\r\n } else {\r\n this.isValidPhoneNumber = true;\r\n $(\"#phone-field\").css(\"border-color\", \"#dadada\");\r\n this.phoneNumber = this.phoneNumRef.current.value;\r\n this.sendDataToParent();\r\n }\r\n this.setState({ phoneNumber: e.target.value });\r\n this.documentNumberValidation(this.state.documentType);\r\n if (\r\n (this.isValidSurName === false &&\r\n this.userDetailsConfig.enableSurnameField === true) ||\r\n (this.isValidFirstName === false &&\r\n this.userDetailsConfig.enableFirstNameField === true) ||\r\n (this.state.isValidEmail === false &&\r\n this.userDetailsConfig.enableEmailField === true) ||\r\n // (this.isValidConfirmEmail === false &&\r\n // this.userDetailsConfig.validateConfirmEmail === true) ||\r\n (this.isValidPhoneNumber === false &&\r\n this.userDetailsConfig.phoneNumberField.enabled === true) ||\r\n (this.isTermsConditonsChecked === false &&\r\n this.userDetailsConfig.termsConditionCheckBox.enabled &&\r\n this.userDetailsConfig.termsConditionCheckBox.isMandatory) ||\r\n (this.documentType === null &&\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.userDetailsConfig.documentTypeDropdown.isMandatory) ||\r\n (this.isValidAdditionalInfo === false &&\r\n (this.additionalInfo === undefined || this.additionalInfo === \"\") &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory) ||\r\n (this.userDetailsConfig.validateConfirmEmail &&\r\n this.isValidConfirmEmail === false)\r\n ) {\r\n this.props.hideBtnNext();\r\n }\r\n };\r\n\r\n onAdditionalInfoChange = (e) => {\r\n console.log(e.target.value);\r\n this.additionalInfo = e.target.value;\r\n if (\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n !handler.validation.isNumber(e.target.value) &&\r\n (this.state.documentType === \"CE\" ||\r\n (this.state.documentType === \"DNI\" &&\r\n this.state.documentType !== \"Passport\"))\r\n ) {\r\n this.props.hideBtnNext();\r\n } else {\r\n if (\r\n e.target.value === \"\" &&\r\n e.target.value.length === 0 &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory\r\n ) {\r\n this.isValidAdditionalInfo = false;\r\n this.props.hideBtnNext();\r\n } else if (\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.state.documentType.toLowerCase() === \"dni\" &&\r\n e.target.value.length !==\r\n this.userDetailsConfig.documentTypeDropdown.DNI_LENGTH\r\n ) {\r\n this.isValidAdditionalInfo = false;\r\n this.props.hideBtnNext();\r\n } else if (\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.state.documentType.toLowerCase() === \"ce\" &&\r\n e.target.value.length !==\r\n this.userDetailsConfig.documentTypeDropdown.CE_LENGTH\r\n ) {\r\n this.isValidAdditionalInfo = false;\r\n this.props.hideBtnNext();\r\n } else if (\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.state.documentType.toLowerCase() === \"passport\" &&\r\n e.target.value.length !==\r\n this.userDetailsConfig.documentTypeDropdown.PASSPORT_LENGTH\r\n ) {\r\n this.isValidAdditionalInfo = false;\r\n this.props.hideBtnNext();\r\n } else {\r\n this.isValidAdditionalInfo = true;\r\n this.sendDataToParent();\r\n }\r\n }\r\n\r\n if (\r\n (this.isValidSurName === false &&\r\n this.userDetailsConfig.enableSurnameField === true) ||\r\n (this.isValidFirstName === false &&\r\n this.userDetailsConfig.enableFirstNameField === true) ||\r\n (this.state.isValidEmail === false &&\r\n this.userDetailsConfig.enableEmailField === true) ||\r\n (this.isValidPhoneNumber === false &&\r\n this.userDetailsConfig.phoneNumberField.enabled === true) ||\r\n (this.isTermsConditonsChecked === false &&\r\n this.userDetailsConfig.termsConditionCheckBox.enabled &&\r\n this.userDetailsConfig.termsConditionCheckBox.isMandatory) ||\r\n (this.documentType === null &&\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.userDetailsConfig.documentTypeDropdown.isMandatory) ||\r\n (this.additionalInfo === undefined &&\r\n this.isValidAdditionalInfo === false &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory) ||\r\n (this.userDetailsConfig.validateConfirmEmail &&\r\n this.isValidConfirmEmail === false)\r\n ) {\r\n this.props.hideBtnNext();\r\n }\r\n };\r\n\r\n onNoOfPeopleChange = (e) => {\r\n this.noOfPeople = e.target.value;\r\n\r\n this.sendDataToParent();\r\n this.documentNumberValidation(this.state.documentType);\r\n if (\r\n (this.isValidSurName === false &&\r\n this.userDetailsConfig.enableSurnameField === true) ||\r\n (this.isValidFirstName === false &&\r\n this.userDetailsConfig.enableFirstNameField === true) ||\r\n (this.state.isValidEmail === false &&\r\n this.userDetailsConfig.enableEmailField === true) ||\r\n // (this.isValidConfirmEmail === false &&\r\n // this.userDetailsConfig.validateConfirmEmail === true) ||\r\n (this.isValidPhoneNumber === false &&\r\n this.userDetailsConfig.phoneNumberField.enabled === true) ||\r\n (this.isTermsConditonsChecked === false &&\r\n this.userDetailsConfig.termsConditionCheckBox.enabled &&\r\n this.userDetailsConfig.termsConditionCheckBox.isMandatory) ||\r\n (this.documentType === null &&\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.userDetailsConfig.documentTypeDropdown.isMandatory) ||\r\n (this.isValidAdditionalInfo === false &&\r\n (this.additionalInfo === undefined || this.additionalInfo === \"\") &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory) ||\r\n (this.userDetailsConfig.validateConfirmEmail &&\r\n this.isValidConfirmEmail === false)\r\n ) {\r\n this.props.hideBtnNext();\r\n }\r\n };\r\n\r\n onDocumentTypeChange = (e) => {\r\n this.setState({ documentType: e.target.value });\r\n this.sendDataToParent();\r\n\r\n this.documentNumberValidation(e.target.value);\r\n\r\n if (e.target.value === \"CE\") {\r\n this.additionalInfoLength =\r\n this.userDetailsConfig.documentTypeDropdown.CE_LENGTH;\r\n } else if (e.target.value === \"DNI\") {\r\n this.additionalInfoLength =\r\n this.userDetailsConfig.documentTypeDropdown.DNI_LENGTH;\r\n } else if (e.target.value === \"Passport\") {\r\n this.additionalInfoLength =\r\n this.userDetailsConfig.documentTypeDropdown.PASSPORT_LENGTH;\r\n }\r\n\r\n if (\r\n (this.isValidSurName === false &&\r\n this.userDetailsConfig.enableSurnameField === true) ||\r\n (this.isValidFirstName === false &&\r\n this.userDetailsConfig.enableFirstNameField === true) ||\r\n (this.state.isValidEmail === false &&\r\n this.userDetailsConfig.enableEmailField === true) ||\r\n // (this.isValidConfirmEmail === false &&\r\n // this.userDetailsConfig.validateConfirmEmail === true) ||\r\n (this.isValidPhoneNumber === false &&\r\n this.userDetailsConfig.phoneNumberField.enabled === true) ||\r\n (this.isTermsConditonsChecked === false &&\r\n this.userDetailsConfig.termsConditionCheckBox.enabled &&\r\n this.userDetailsConfig.termsConditionCheckBox.isMandatory) ||\r\n (this.isValidAdditionalInfo === false &&\r\n (this.additionalInfo === undefined || this.additionalInfo === \"\") &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory) ||\r\n (this.documentType === null &&\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.userDetailsConfig.documentTypeDropdown.isMandatory) ||\r\n (this.userDetailsConfig.validateConfirmEmail &&\r\n this.isValidConfirmEmail === false)\r\n ) {\r\n this.props.hideBtnNext();\r\n }\r\n };\r\n\r\n onCheckBoxChange = (e) => {\r\n if (e.target.id === \"termsCondition\") {\r\n this.isTermsConditonsChecked = e.target.checked;\r\n this.sendDataToParent();\r\n\r\n this.documentNumberValidation(this.state.documentType);\r\n\r\n if (\r\n (this.isValidSurName === false &&\r\n this.userDetailsConfig.enableSurnameField === true) ||\r\n (this.isValidFirstName === false &&\r\n this.userDetailsConfig.enableFirstNameField === true) ||\r\n (this.state.isValidEmail === false &&\r\n this.userDetailsConfig.enableEmailField === true) ||\r\n (this.isValidConfirmEmail === false &&\r\n this.userDetailsConfig.validateConfirmEmail === true) ||\r\n (this.isValidPhoneNumber === false &&\r\n this.userDetailsConfig.phoneNumberField.enabled === true) ||\r\n (this.isTermsConditonsChecked === false &&\r\n this.userDetailsConfig.termsConditionCheckBox.enabled &&\r\n this.userDetailsConfig.termsConditionCheckBox.isMandatory) ||\r\n (this.documentType === null &&\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.userDetailsConfig.documentTypeDropdown.isMandatory) ||\r\n (this.isValidAdditionalInfo === false &&\r\n (this.additionalInfo === undefined || this.additionalInfo === \"\") &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory) ||\r\n (this.userDetailsConfig.validateConfirmEmail &&\r\n this.isValidConfirmEmail === false)\r\n ) {\r\n this.props.hideBtnNext();\r\n }\r\n } else if (e.target.id === \"assistance\") {\r\n this.isAssistanceChecked = e.target.checked;\r\n this.sendDataToParent();\r\n this.documentNumberValidation(this.state.documentType);\r\n if (\r\n (this.isValidSurName === false &&\r\n this.userDetailsConfig.enableSurnameField === true) ||\r\n (this.isValidFirstName === false &&\r\n this.userDetailsConfig.enableFirstNameField === true) ||\r\n (this.isValidEmail === false &&\r\n this.userDetailsConfig.enableEmailField === true) ||\r\n (this.isValidPhoneNumber === false &&\r\n this.userDetailsConfig.phoneNumberField.enabled === true) ||\r\n (this.isTermsConditonsChecked === false &&\r\n this.userDetailsConfig.termsConditionCheckBox.enabled &&\r\n this.userDetailsConfig.termsConditionCheckBox.isMandatory) ||\r\n (this.documentType === null &&\r\n this.userDetailsConfig.documentTypeDropdown.enabled &&\r\n this.userDetailsConfig.documentTypeDropdown.isMandatory) ||\r\n (this.isValidAdditionalInfo === false &&\r\n (this.additionalInfo === undefined || this.additionalInfo === \"\") &&\r\n this.userDetailsConfig.additionalInfo.enabled &&\r\n this.userDetailsConfig.additionalInfo.isMandatory) ||\r\n (this.userDetailsConfig.validateConfirmEmail &&\r\n this.isValidConfirmEmail === false)\r\n ) {\r\n this.props.hideBtnNext();\r\n }\r\n }\r\n };\r\n\r\n /*\r\n SENDING DATA TO MAIN\r\n */\r\n\r\n sendDataToParent = () => {\r\n this.props.userDetails({\r\n firstName: this.firstName,\r\n surName: this.surName,\r\n emailAddress: this.emailAddress,\r\n phoneNumber:\r\n this.userDetailsConfig.phoneNumberField.enabled === true\r\n ? this.phoneNumRef.current.value\r\n : null,\r\n additionalInfo: this.additionalInfo,\r\n noOfPeople: this.noOfPeople,\r\n documentType: this.state.documentType,\r\n\r\n isTermsConditonsChecked: this.isTermsConditonsChecked,\r\n isAssistanceChecked: this.isAssistanceChecked,\r\n isUserDetailCmp: this.state.isUserDetailCmp,\r\n });\r\n };\r\n\r\n getEstimatedWaitTime = async () => {\r\n try {\r\n let branchId = this.props.mainState().issueQrTicket\r\n ? queryString.parse(window.location.search).branchid\r\n : this.props.branchDetails()[0].BranchID;\r\n let sqn = this.props.mainState().issueQrTicket\r\n ? queryString.parse(window.location.search).sqn\r\n : this.props.mainState().categoryId;\r\n\r\n let response = await this.dataService.getEstimatedWaitTime(\r\n branchId,\r\n !this.estimatedWaitTime.branchLevel ? sqn : null\r\n );\r\n\r\n if (response.data.error !== undefined && response.error === true) {\r\n this.setState({\r\n estimatedWaitTime: null,\r\n });\r\n } else if (response.data.response_status === 1) {\r\n this.setState({\r\n estimatedWaitTime: Math.floor(response.data.est_wait_time / 60),\r\n });\r\n } else {\r\n this.setState({\r\n estimatedWaitTime: null,\r\n });\r\n }\r\n } catch (error) {\r\n this.setState({\r\n estimatedWaitTime: null,\r\n });\r\n console.log(\"ERROR: \", error.message);\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

\r\n {this.props.mainState().issueQrTicket ||\r\n this.props.mainState().issueTicket\r\n ? this.state.lang.EnterYourDetailsToConfirmYourTicket\r\n : this.state.lang.EnterAppointmentDetails}\r\n

\r\n {this.state.estimatedWaitTime !== null &&\r\n this.UI.showEstimatedWaitTime ? (\r\n

\r\n {this.state.lang.EstimatedWaitTimeMessage}  \r\n {`${this.state.estimatedWaitTime} ${this.state.lang.Minutes}`}\r\n
\r\n
\r\n
\r\n

\r\n ) : null}\r\n
\r\n {this.userDetailsConfig.enableFirstNameField === true ? (\r\n
\r\n \r\n {this.state.lang.FirstName}\r\n \r\n *\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n\r\n {this.userDetailsConfig.enableSurnameField === true ? (\r\n
\r\n \r\n {this.state.lang.SurName}\r\n \r\n *\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n\r\n {this.userDetailsConfig.enableNoOfPeopleField === true ? (\r\n
\r\n \r\n {this.state.lang.NoOfPeople}\r\n \r\n \r\n \r\n\r\n {this.configCollections.numericArray.map((data, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n {this.userDetailsConfig.enableEmailField === true ? (\r\n \r\n \r\n {this.state.lang.EmailAddress}\r\n \r\n *\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n\r\n {this.userDetailsConfig.validateConfirmEmail ? (\r\n \r\n \r\n {this.state.lang.ConfirmEmailLabel}\r\n \r\n *\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n\r\n {this.userDetailsConfig.phoneNumberField.enabled === true ? (\r\n \r\n \r\n {this.state.lang.PhoneNumber}\r\n \r\n *\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n \r\n
\r\n {this.userDetailsConfig.documentTypeDropdown.enabled ? (\r\n
\r\n \r\n {this.state.lang.DocumentType}\r\n {this.userDetailsConfig.documentTypeDropdown.isMandatory ? (\r\n \r\n *\r\n \r\n ) : null}\r\n \r\n \r\n \r\n {this.configCollections.documentArray.map((data, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
\r\n ) : null}\r\n {this.userDetailsConfig.additionalInfo.enabled ? (\r\n \r\n \r\n {this.state.lang.AdditionalInformation}\r\n {this.userDetailsConfig.additionalInfo.isMandatory ? (\r\n \r\n *\r\n \r\n ) : null}\r\n \r\n \r\n
\r\n ) : null}\r\n {this.userDetailsConfig.additionalInfo.breakColumn ? (\r\n
\r\n ) : null}\r\n \r\n
\r\n {this.userDetailsConfig.termsConditionCheckBox.enabled ? (\r\n \r\n \r\n
\r\n ) : null}\r\n\r\n {this.userDetailsConfig.enableAssistanceCheckBox.enabled ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n
\r\n
\r\n

\r\n {this.runApp.toLowerCase() === \"samsung\" ||\r\n this.runApp.toLowerCase() === \"others\"\r\n ? ReactHtmlParser(this.state.lang.AgreementText)\r\n : null}\r\n {/* {ReactHtmlParser(this.state.lang.AgreementText)} */}\r\n

\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default UserDetails;\r\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-03-16 15:48:31\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2020-03-16 15:48:31\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport $ from \"jquery\";\r\n\r\nconst SecondaryButton = (props) => {\r\n $(document).ready(function () {\r\n $(\".secondaryBtn\").css(\"border-color\", props.bgColor);\r\n $(\".secondaryBtn a\").css(\"color\", props.bgColor);\r\n $(\".secondaryBtn\").mouseover(function () {\r\n $(\".secondaryBtn\").css(\"background-color\", props.bgColor);\r\n $(\".secondaryBtn\").css(\"color\", \"white\");\r\n $(\".secondaryBtn\").css(\"border-color\", props.bgColor);\r\n });\r\n $(\".secondaryBtn\").mouseout(function () {\r\n $(\".secondaryBtn\").css(\"background-color\", \"white\");\r\n $(\".secondaryBtn\").css(\"color\", props.bgColor);\r\n $(\".secondaryBtn\").css(\"border-color\", props.bgColor);\r\n });\r\n });\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SecondaryButton;\r\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-02-24 15:49:21\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2020-11-11 19:24:16\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport Preparation from \"../components/preparation/preparation\";\r\nimport { DataService } from \"../services/data.service\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport LocationImg from \"../assets/images/location.png\";\r\nimport LocationDarkImg from \"../assets/images/location-white.png\";\r\nimport CalendarImg from \"../assets/images/calender_org.png\";\r\nimport CalendarImgBlack from \"../assets/images/calender_gry.png\";\r\nimport Journey from \"../components/journey/journey\";\r\nimport swal from \"sweetalert\";\r\nimport moment from \"moment\";\r\nimport $ from \"jquery\";\r\n\r\nimport * as handler from \"../components/utils/handler\";\r\nimport RefreshButton from \"./../components/utils/refreshButton\";\r\nimport DangerButton from \"../components/utils/dangerButton\";\r\nimport IconButton from \"../components/utils/iconButton\";\r\n\r\nimport socketIoClient from \"socket.io-client\";\r\nconst ENDPOINT = \"localhost:4001\";\r\n\r\nconst queryString = require(\"query-string\");\r\n\r\nclass ConfirmedAppointment extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n branchAddress:\r\n this.props.getData().response.data.previous_appointment_info !==\r\n undefined &&\r\n this.props.getData().response.data.previous_appointment_info !== null\r\n ? this.props.getData().response.data.previous_appointment_info.address\r\n : this.props.getData().singleBranchDetails.length > 0\r\n ? this.props.getData().singleBranchDetails[0].Address\r\n : this.props.getData().selectedBranchFromMap !== null\r\n ? this.props.getData().selectedBranchFromMap.Address\r\n : null,\r\n\r\n branchTitle:\r\n this.props.getData().response.data.previous_appointment_info !==\r\n undefined &&\r\n this.props.getData().response.data.previous_appointment_info !== null\r\n ? this.props.getData().response.data.previous_appointment_info\r\n .branch_title\r\n : this.props.getData().singleBranchDetails.length > 0\r\n ? this.props.getData().singleBranchDetails[0].BranchTitle\r\n : this.props.getData().selectedBranchFromMap !== null\r\n ? this.props.getData().selectedBranchFromMap.BranchTitle\r\n : null,\r\n response: this.props.getData().response,\r\n whatsappUrl: window[\"app-config\"].whatsappUrl,\r\n isTicketCalled: false,\r\n randomNumber: \"\",\r\n };\r\n }\r\n URL = window[\"app-config\"].URL;\r\n runApp = window[\"app-config\"].runApp;\r\n enableCategorySelection = window[\"app-config\"].enableCategorySelection;\r\n userDetailsConfig = window[\"app-config\"].userDetails;\r\n showGreetings = window[\"app-config\"].ui.showGreetings;\r\n color = window[\"app-config\"].ui.confirmScreen;\r\n icons = window[\"app-config\"].ui.icons;\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n refreshInterval = window[\"app-config\"].applicationProperties.refreshInterval;\r\n notificationSound = window[\"app-config\"].notificationSound;\r\n popupExpiry = window[\"app-config\"].ui.popupExpiry;\r\n dataService = new DataService();\r\n\r\n cancelButtonText = \"\";\r\n rescheduleButtonText = \"\";\r\n DoYouWantToRescheduleOrCancel = \"\";\r\n Attention = \"\";\r\n AppointmentAlreadyCanceled = \"\";\r\n AppointmentInfoNoValidToCancel = \"\";\r\n AlreadyServed = \"\";\r\n someThingWentWrong = \"\";\r\n error = \"\";\r\n For = \"\";\r\n Ok = \"\";\r\n CantCancelApptTcktIssued = \"\";\r\n AppointmentExpired = \"\";\r\n AppointmentCanceledAutomatically = \"\";\r\n Yes = \"\";\r\n No = \"\";\r\n TicketIssuedOn = \"\";\r\n WaitTime = \"\";\r\n Where = \"\";\r\n TotalWaitingTickets = \"\";\r\n CancelTicketConfirmation = \"\";\r\n UrlNotFound = \"\";\r\n InternetConnectionError = \"\";\r\n TicketNumber = \"\";\r\n BookingRef = \"\";\r\n Name = \"\";\r\n Email = \"\";\r\n PhoneNumber = \"\";\r\n NoOfPeople = \"\";\r\n WaitTimeMsg = \"\";\r\n Greetings = \"\";\r\n ServerNotResponding = \"\";\r\n TicketNotFound = \"\";\r\n\r\n componentDidMount() {\r\n this.generateUrl();\r\n handler.blinkText(\".blink\");\r\n\r\n if (\r\n this.props.getData().issueTicket ||\r\n this.props.getData().issueQrTicket\r\n ) {\r\n localStorage.setItem(\"confirmed\", true);\r\n localStorage.setItem(\"confirmedDate\", moment().toDate().toDateString());\r\n localStorage.setItem(\"prevState\", JSON.stringify(this.props.getData()));\r\n }\r\n\r\n let lang;\r\n if (localStorage.getItem(\"lang\") === \"es\") {\r\n lang = window[\"localization\"].es;\r\n } else if (localStorage.getItem(\"lang\") === \"ar\") {\r\n lang = window[\"localization\"].ar;\r\n } else if (localStorage.getItem(\"lang\") === \"en\") {\r\n lang = window[\"localization\"].en;\r\n } else if (localStorage.getItem(\"lang\") === \"ur\") {\r\n lang = window[\"localization\"].ur;\r\n } else {\r\n let defaultLang = this.defaultLanguage;\r\n lang = window[\"localization\"][defaultLang];\r\n }\r\n\r\n this.props.hideBtnBack();\r\n\r\n this.props.setHeading(\r\n this.props.getData().issueTicket === true ||\r\n this.props.getData().issueQrTicket === true\r\n ? lang.YourTicketHasBeenIssued\r\n : lang.YourAppointmentIsBooked\r\n );\r\n\r\n if (\r\n this.props.getData().issueTicket === true ||\r\n this.props.getData().issueQrTicket === true\r\n ) {\r\n // const socket = socketIoClient(ENDPOINT);\r\n // socket.on(\"getTicketStatus\", (data) => {\r\n // console.log(\"SOCKET CALLED: \", data);\r\n // this.getTicketStatus();\r\n // });\r\n setInterval(() => {\r\n this.getTicketStatus();\r\n }, this.refreshInterval);\r\n\r\n handler.onBrowserReload(this.getTicketStatus);\r\n }\r\n }\r\n\r\n generateUrl = () => {\r\n if (\r\n this.props.getData().issueTicket &&\r\n this.state.response.data.ticket_info !== undefined &&\r\n this.state.response.data.ticket_info !== null\r\n ) {\r\n let branchCode =\r\n this.props.getData().singleBranchDetails.length > 0\r\n ? this.props.getData().singleBranchDetails[0].BranchCode\r\n : this.props.getData().selectedBranchFromMap.BranchCode;\r\n\r\n let ticketId = this.state.response.data.ticket_info.ticket_id;\r\n let whatsappUrl = `${this.URL.whatsappUrl}&text=${branchCode}%20${ticketId}`;\r\n this.setState({ whatsappUrl: whatsappUrl });\r\n } else if (this.props.getData().issueQrTicket) {\r\n let branchCode = queryString.parse(window.location.search).branchCode;\r\n let ticketId = this.state.response.data.ticket_id;\r\n let whatsappUrl = `${this.URL.whatsappUrl}&text=${branchCode}%20${ticketId}`;\r\n this.setState({ whatsappUrl: whatsappUrl });\r\n }\r\n };\r\n\r\n getGreetings = () => {\r\n if (\r\n this.props.getData().firstName !== null &&\r\n this.props.getData().firstName !== \"\"\r\n ) {\r\n return (\r\n
\r\n \r\n {`${this.Greetings} ${\r\n this.props.getData().firstName !== undefined ||\r\n this.props.getData().firstName !== null\r\n ? this.props.getData().firstName\r\n : \"\"\r\n }`}\r\n \r\n
\r\n );\r\n }\r\n };\r\n\r\n getEstimatedWaitTimeMessage = () => {\r\n if (\r\n this.state.response.data !== undefined &&\r\n this.state.response.data !== null &&\r\n this.state.response.data !== \"\" &&\r\n this.props.getData().issueQrTicket === true\r\n ) {\r\n return (\r\n
\r\n
\r\n \r\n {`${this.state.response.MessageText}`}\r\n

\r\n
\r\n
\r\n
\r\n );\r\n }\r\n };\r\n\r\n getUserDetails = () => {\r\n if (this.props.getData().issueQrTicket === true) {\r\n return (\r\n
\r\n \r\n {this.userDetailsConfig.enableFirstNameField === true\r\n ? this.Name\r\n : null}\r\n \r\n

{this.props.getData().firstName}

\r\n\r\n
\r\n \r\n {this.userDetailsConfig.enableEmailField === true\r\n ? this.Email\r\n : null}\r\n \r\n

{this.props.getData().emailAddress}

\r\n\r\n
\r\n \r\n {this.userDetailsConfig.enablePhoneNumberField === true\r\n ? this.PhoneNumber\r\n : null}\r\n \r\n

{this.props.getData().phoneNumber}

\r\n
\r\n \r\n {this.userDetailsConfig.enableNoOfPeopleField === true\r\n ? this.NoOfPeople\r\n : null}\r\n \r\n {this.userDetailsConfig.enableNoOfPeopleField === true ? (\r\n

{this.props.getData().noOfPeople}

\r\n ) : null}\r\n\r\n
\r\n
\r\n );\r\n }\r\n };\r\n\r\n getDateTime = () => {\r\n if (\r\n this.state.response.data.previous_appointment_info !== undefined &&\r\n this.state.response.data.previous_appointment_info !== null\r\n ) {\r\n return (\r\n
\r\n

\r\n {moment(\r\n this.state.response.data.previous_appointment_info\r\n .appointment_date,\r\n \"MM-DD-YYYY\"\r\n ).format(\"DD-MMM-YYYY\")}{\" \"}\r\n  \r\n {this.props\r\n .getData()\r\n .response.data.previous_appointment_info.appointment_time.substring(\r\n 0,\r\n 5\r\n )}\r\n

\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n

\r\n {this.props.getData().date !== null\r\n ? this.props.getData().date\r\n : null}\r\n  {\" \"}\r\n {this.props.getData().time !== null\r\n ? this.props.getData().time\r\n : null}\r\n

\r\n
\r\n );\r\n }\r\n };\r\n\r\n getBranchAddress = () => {\r\n if (\r\n this.state.response.data.previous_appointment_info !== undefined &&\r\n this.state.response.data.previous_appointment_info !== null\r\n ) {\r\n return (\r\n
\r\n
\r\n \r\n {this.Where}\r\n \r\n
\r\n

\r\n {`${this.state.response.data.previous_appointment_info.branch_title} | ${this.state.response.data.previous_appointment_info.address}`}\r\n

\r\n

\r\n {this.props.getData().singleBranchDetails.length > 0\r\n ? this.props.getData().singleBranchDetails[0].ContactNo\r\n : this.props.getData().selectedBranchFromMap.ContactNo}\r\n

\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n \r\n {this.Where}\r\n \r\n
\r\n\r\n

\r\n {`${\r\n this.props.getData().singleBranchDetails.length > 0\r\n ? this.props.getData().singleBranchDetails[0].BranchTitle\r\n : this.props.getData().selectedBranchFromMap.BranchTitle\r\n } | ${\r\n this.props.getData().singleBranchDetails.length > 0\r\n ? this.props.getData().singleBranchDetails[0].Address\r\n : this.props.getData().selectedBranchFromMap.Address\r\n }`}\r\n

\r\n

\r\n {this.props.getData().singleBranchDetails.length > 0\r\n ? this.props.getData().singleBranchDetails[0].ContactNo\r\n : this.props.getData().selectedBranchFromMap.ContactNo}\r\n

\r\n
\r\n );\r\n }\r\n };\r\n\r\n getAppointmentNumber = () => {\r\n if (\r\n this.state.response.data.previous_appointment_info !== undefined &&\r\n this.state.response.data.previous_appointment_info !== null\r\n ) {\r\n return (\r\n
\r\n
\r\n \r\n {this.BookingRef}\r\n \r\n
\r\n \r\n {\r\n this.state.response.data.previous_appointment_info\r\n .appointment_number\r\n }\r\n

\r\n
\r\n );\r\n } else if (this.state.response.data.issueAppointment !== undefined) {\r\n return (\r\n
\r\n
\r\n \r\n {this.BookingRef}\r\n \r\n
\r\n \r\n {this.state.response.data.issueAppointment !== undefined\r\n ? this.state.response.data.issueAppointment.appointment_number\r\n : null}\r\n

\r\n
\r\n );\r\n }\r\n };\r\n\r\n getTicketNumber = () => {\r\n if (\r\n this.state.response.data.ticket_info !== undefined &&\r\n this.state.response.data.ticket_info !== null\r\n ) {\r\n return (\r\n
\r\n
\r\n \r\n {this.TicketNumber}\r\n

\r\n
\r\n \r\n \r\n {this.state.response.data.ticket_info.ticket_no}\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n } else if (\r\n this.state.response.data !== undefined &&\r\n this.state.response.data !== null &&\r\n this.state.response.data !== \"\" &&\r\n this.props.getData().issueQrTicket === true\r\n ) {\r\n return (\r\n
\r\n
\r\n \r\n {this.TicketNumber}\r\n

\r\n
\r\n \r\n \r\n {this.state.response.data.ticket_number_f}\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n getTotalWaitingTime = (lang) => {\r\n if (\r\n this.state.response.data.ticket_info !== undefined &&\r\n this.state.response.data.ticket_info !== null\r\n ) {\r\n return (\r\n
\r\n

\r\n {`${lang.EstimatedWaitTimeMessage} ${Math.floor(\r\n this.state.response.data.ticket_info.category_approx_waittime / 60\r\n )} ${lang.Minutes}`}\r\n

\r\n\r\n
\r\n
\r\n );\r\n } else if (\r\n this.state.response.data !== undefined &&\r\n this.state.response.data !== null &&\r\n this.state.response.data !== \"\" &&\r\n this.props.getData().issueQrTicket === true\r\n ) {\r\n let timestamp = this.state.response.data.category_approx_waittime;\r\n\r\n let waitTime = \"\";\r\n\r\n waitTime = handler.formatTimeStamp(timestamp, \"minutes\");\r\n return (\r\n
\r\n {this.state.response.IsTicketCalled === false ? (\r\n
\r\n \r\n {this.WaitTime}\r\n \r\n
\r\n ) : null}\r\n\r\n
\r\n \r\n {`${\r\n this.state.response.IsTicketCalled === false\r\n ? this.WaitTimeMsg\r\n : \"\"\r\n } ${\r\n this.state.response.IsTicketCalled === false ? waitTime : \"\"\r\n }`}\r\n

\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n getTicketIssuedDateTime = () => {\r\n if (\r\n this.state.response.data.ticket_info !== undefined &&\r\n this.state.response.data.ticket_info !== null\r\n ) {\r\n return (\r\n
\r\n {/* \r\n {this.TicketIssuedOn}\r\n */}\r\n

\r\n {moment(this.state.response.data.ticket_info.issued_on).format(\r\n \"DD-MMM-YYYY hh:mm A\"\r\n )}\r\n

\r\n
\r\n
\r\n );\r\n } else if (\r\n this.state.response.data !== undefined &&\r\n this.state.response.data !== null &&\r\n this.state.response.data !== \"\" &&\r\n this.props.getData().issueQrTicket === true\r\n ) {\r\n return (\r\n
\r\n {/*
\r\n \r\n {this.TicketIssuedOn}\r\n \r\n
*/}\r\n

\r\n {/* {this.state.response.data.ticket_issue_time} */}\r\n {moment(this.state.response.data.ticket_issue_time).format(\r\n \"DD-MMM-YYYY hh:mm A\"\r\n )}\r\n

\r\n
\r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n getTicketsWaiting = (lang) => {\r\n if (\r\n this.state.response.data.ticket_info !== undefined &&\r\n this.state.response.data.ticket_info !== null\r\n ) {\r\n return (\r\n
\r\n {/* \r\n {this.TotalWaitingTickets}\r\n */}\r\n\r\n

\r\n {/* {this.state.response.data.ticket_info.ticket_in_wait} */}\r\n {`${lang.ThereArePeople} ${this.state.response.data.ticket_info.ticket_in_wait} ${lang.TicketInWait} `}\r\n

\r\n\r\n
\r\n
\r\n );\r\n } else if (\r\n this.state.response.data !== undefined &&\r\n this.state.response.data !== null &&\r\n this.state.response.data !== \"\" &&\r\n this.props.getData().issueQrTicket === true\r\n ) {\r\n return (\r\n
\r\n
\r\n \r\n {this.state.response.IsTicketCalled === false\r\n ? this.TotalWaitingTickets\r\n : \"\"}\r\n \r\n
\r\n

\r\n {this.state.response.IsTicketCalled === false\r\n ? this.state.response.data.category_waiting_tickets\r\n : \"\"}\r\n

\r\n
\r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n getService = () => {\r\n if (\r\n this.state.response.data.previous_appointment_info !== undefined &&\r\n this.state.response.data.previous_appointment_info !== null\r\n ) {\r\n return (\r\n
\r\n \r\n {this.state.response.data.previous_appointment_info\r\n .phone_service === \"\"\r\n ? null\r\n : this.For}{\" \"}\r\n \r\n

\r\n {this.state.response.data.previous_appointment_info\r\n .phone_service === \"\"\r\n ? null\r\n : this.state.response.data.previous_appointment_info\r\n .phone_service}\r\n

\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n {/* For a: */}\r\n {this.props.getData().phoneServiceName !== null &&\r\n this.props.getData().phoneServiceName !== \"\" ? (\r\n \r\n {this.For}{\" \"}\r\n \r\n ) : null}\r\n

\r\n {this.props.getData().phoneServiceName == null &&\r\n this.props.getData().phoneServiceName == \"\"\r\n ? null\r\n : this.props.getData().phoneServiceName}\r\n

\r\n
\r\n );\r\n }\r\n };\r\n\r\n renderTranslations = () => {\r\n let lang;\r\n if (localStorage.getItem(\"lang\") === \"es\") {\r\n lang = window[\"localization\"].es;\r\n } else if (localStorage.getItem(\"lang\") === \"ar\") {\r\n lang = window[\"localization\"].ar;\r\n } else if (localStorage.getItem(\"lang\") === \"en\") {\r\n lang = window[\"localization\"].en;\r\n } else if (localStorage.getItem(\"lang\") === \"ur\") {\r\n lang = window[\"localization\"].ur;\r\n } else {\r\n let defaultLang = this.defaultLanguage;\r\n lang = window[\"localization\"][defaultLang];\r\n }\r\n\r\n this.cancelButtonText = lang.CancelAppointment;\r\n this.rescheduleButtonText = lang.Reschedule;\r\n this.Attention = lang.Attention;\r\n this.DoYouWantToRescheduleOrCancel = lang.DoYouWantToRescheduleOrCancel;\r\n this.For = lang.For;\r\n this.someThingWentWrong = lang.SomeThingWentWrong;\r\n this.error = lang.Error;\r\n this.AppointmentAlreadyCanceled = lang.AppointmentAlreadyCanceled;\r\n this.Ok = lang.Ok;\r\n this.AppointmentInfoNotValidToCancel = lang.AppointmentInfoNotValidToCancel;\r\n this.CantCancelApptTcktIssued = lang.CantCancelApptTcktIssued;\r\n this.AppointmentExpired = lang.AppointmentExpired;\r\n this.AlreadyServed = lang.AlreadyServed;\r\n this.AppointmentCanceledAutomatically = lang.ApptCanceledAutomatically;\r\n this.Yes = lang.Yes;\r\n this.No = lang.No;\r\n this.CancelTicketConfirmation = lang.CancelTicketConfirmation;\r\n this.TicketIssuedOn = lang.TicketIssuedTime;\r\n this.WaitTime = lang.WaitingTime;\r\n this.TotalWaitingTickets = lang.TicketInWait;\r\n this.UrlNotFound = lang.UrlNotFound;\r\n this.InternetConnectionError = lang.InternetConnectionError;\r\n this.Where = lang.AtThe;\r\n this.TicketNumber = lang.TicketNumber;\r\n this.BookingRef = lang.BookingRef;\r\n this.Name = lang.FirstNamePlaceholder;\r\n this.Email = lang.EmailAddressPlaceHolder;\r\n this.PhoneNumber = lang.PhoneNumberPlaceholder;\r\n this.NoOfPeople = lang.NoOfPeople;\r\n this.WaitTimeMsg = lang.EstimatedWaitTimeMessage;\r\n this.Greetings = lang.Greetings;\r\n this.ServerNotResponding = lang.ServerNotResponding;\r\n this.TicketNotFound = lang.TicketNotFound;\r\n };\r\n\r\n //API CALLS\r\n\r\n rescheduleOrCancelAppointment = async () => {\r\n swal(\r\n this.DoYouWantToRescheduleOrCancel,\r\n\r\n {\r\n icon: \"warning\",\r\n buttons: {\r\n reschedule: {\r\n text: this.rescheduleButtonText,\r\n value: \"reschedule\",\r\n },\r\n cancelAppointment: {\r\n text: this.cancelButtonText,\r\n value: \"cancelAppointment\",\r\n closeModal: false,\r\n },\r\n },\r\n }\r\n ).then(async (value) => {\r\n switch (value) {\r\n case \"cancelAppointment\":\r\n try {\r\n let response = await this.dataService.cancelAppointment(\r\n this.state.response.data.previous_appointment_info !== null\r\n ? this.state.response.data.previous_appointment_info\r\n .appointment_number\r\n : this.state.response.data.issueAppointment.appointment_number,\r\n this.state.response.data.previous_appointment_info !== null\r\n ? this.state.response.data.previous_appointment_info.category_id\r\n : this.props.getData().categoryId,\r\n (this.enableCategorySelection === true ||\r\n this.enableCategorySelection === false) &&\r\n this.props.getData().singleBranchDetails.length === 0\r\n ? this.props.getData().selectedBranchFromMap.BranchID\r\n : this.props.getData().singleBranchDetails[0].BranchID,\r\n this.state.response.data.previous_appointment_info !== null\r\n ? this.state.response.data.previous_appointment_info.email_id\r\n : this.props.getData().emailAddress !== undefined\r\n ? this.props.getData().emailAddress\r\n : this.props.getData().phoneNumber\r\n );\r\n swal.close();\r\n\r\n if (\r\n response.data.error !== undefined &&\r\n response.data.error === true\r\n ) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.ServerNotResponding,\r\n this.Ok\r\n );\r\n } else {\r\n if (response.data.response.resp_status === 1) {\r\n localStorage.removeItem(\"confirmed\");\r\n localStorage.removeItem(\"prevState\");\r\n handler.redirect(window.location.href);\r\n } else if (response.data.response.resp_status === 6) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.AppointmentAlreadyCanceled,\r\n this.Ok\r\n );\r\n } else if (response.data.response.resp_status === -5) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.AppointmentInfoNotValidToCancel,\r\n this.Ok\r\n );\r\n } else if (response.data.response.resp_status === 2) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.CantCancelApptTcktIssued,\r\n this.Ok\r\n );\r\n } else if (response.data.response.resp_status === 7) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.AppointmentExpired,\r\n this.Ok\r\n );\r\n } else if (response.data.response.resp_status === -2) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.AlreadyServed,\r\n this.Ok\r\n );\r\n } else if (response.data.response.resp_status === -3) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.AppointmentCanceledAutomatically,\r\n this.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.someThingWentWrong,\r\n this.Ok\r\n );\r\n }\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.ServerNotResponding,\r\n this.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.someThingWentWrong,\r\n this.Ok\r\n );\r\n }\r\n }\r\n break;\r\n\r\n case \"reschedule\":\r\n if (this.runApp.toLowerCase() === \"samsung\") {\r\n this.props.getStepCount(2, true, true);\r\n } else if (this.enableCategorySelection === false) {\r\n this.props.getStepCount(1, true, true);\r\n } else if (this.enableCategorySelection === true) {\r\n this.props.getStepCount(2, true, true);\r\n }\r\n\r\n break;\r\n\r\n default:\r\n }\r\n });\r\n };\r\n\r\n cancelTicket = async () => {\r\n swal(\r\n this.CancelTicketConfirmation,\r\n\r\n {\r\n icon: \"warning\",\r\n buttons: {\r\n yes: {\r\n text: this.Yes,\r\n value: \"yes\",\r\n closeModal: false,\r\n },\r\n no: {\r\n text: this.No,\r\n value: \"no\",\r\n },\r\n },\r\n }\r\n ).then(async (value) => {\r\n switch (value) {\r\n case \"yes\":\r\n let phoneNumber =\r\n this.props.getData().phoneNumber !== undefined\r\n ? this.props.getData().phoneNumber.replace(\"+\", \"%2b\")\r\n : \"-\";\r\n let email =\r\n this.props.getData().emailAddress !== undefined &&\r\n this.props.getData().emailAddress !== null\r\n ? this.props.getData().emailAddress\r\n : phoneNumber;\r\n\r\n let ticketId;\r\n let ticketNumber;\r\n let sqn;\r\n\r\n if (\r\n this.state.response.data.ticket_info !== undefined &&\r\n this.state.response.data.ticket_info !== null\r\n ) {\r\n ticketId = this.state.response.data.ticket_info.ticket_id;\r\n ticketNumber = this.state.response.data.ticket_info.ticket_no;\r\n sqn = this.state.response.data.ticket_info.categoryid;\r\n } else {\r\n ticketId = \"-\";\r\n ticketNumber = \"-\";\r\n sqn = \"-\";\r\n }\r\n let branchId =\r\n this.props.getData().singleBranchDetails.length > 0\r\n ? this.props.getData().singleBranchDetails[0].BranchID\r\n : this.props.getData().selectedBranchFromMap.BranchID;\r\n\r\n let language =\r\n localStorage.getItem(\"lang\") === \"es\"\r\n ? \"Sp\"\r\n : localStorage.getItem(\"lang\");\r\n\r\n try {\r\n let cancelTicketResponse = await this.dataService.cancelTicket(\r\n email,\r\n ticketId,\r\n branchId,\r\n language,\r\n ticketNumber,\r\n sqn,\r\n phoneNumber\r\n );\r\n\r\n if (\r\n cancelTicketResponse.data.error !== undefined &&\r\n cancelTicketResponse.data.error\r\n ) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.ServerNotResponding,\r\n this.Ok\r\n );\r\n } else {\r\n if (\r\n cancelTicketResponse.data.resp_message === \"Ticket cancelled\"\r\n ) {\r\n swal.close();\r\n localStorage.removeItem(\"confirmed\");\r\n localStorage.removeItem(\"prevState\");\r\n handler.redirect(window.location.href);\r\n } else if (\r\n cancelTicketResponse.data.resp_message === \"Ticket not found\" ||\r\n cancelTicketResponse.data.resp_message ===\r\n \"Operation not permitted\"\r\n ) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.TicketNotFound,\r\n this.Ok\r\n );\r\n localStorage.removeItem(\"confirmed\");\r\n localStorage.removeItem(\"prevState\");\r\n handler.redirect(window.location.href);\r\n } else {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.someThingWentWrong,\r\n this.Ok\r\n );\r\n }\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"404\")) {\r\n handler.showErrorMessage(this.error, this.UrlNotFound, this.Ok);\r\n } else if (error.message.includes(\"Network Error\")) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.InternetConnectionError,\r\n this.Ok\r\n );\r\n } else if (error.message.includes(\"timeout\")) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.ServerNotResponding,\r\n this.Ok\r\n );\r\n }\r\n }\r\n\r\n break;\r\n\r\n case \"no\":\r\n break;\r\n\r\n default:\r\n }\r\n });\r\n };\r\n\r\n cancelQrTicket = async () => {\r\n swal(\r\n this.CancelTicketConfirmation,\r\n\r\n {\r\n icon: \"warning\",\r\n buttons: {\r\n yes: {\r\n text: this.Yes,\r\n value: \"yes\",\r\n closeModal: false,\r\n },\r\n no: {\r\n text: this.No,\r\n value: \"no\",\r\n },\r\n },\r\n }\r\n ).then(async (value) => {\r\n switch (value) {\r\n case \"yes\":\r\n let branchCode = queryString.parse(window.location.search).branchCode;\r\n let branchId = queryString.parse(window.location.search).branchid;\r\n let ticketId = this.state.response.data.ticket_id;\r\n try {\r\n let cancelTicketResponse = await this.dataService.cancelQrTicket(\r\n branchId,\r\n branchCode,\r\n ticketId\r\n );\r\n if (\r\n cancelTicketResponse.data.error !== undefined &&\r\n cancelTicketResponse.data.error\r\n ) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.ServerNotResponding,\r\n this.Ok\r\n );\r\n } else {\r\n let parsedResponse = JSON.parse(\r\n JSON.parse(JSON.stringify(cancelTicketResponse.data))\r\n );\r\n console.log(parsedResponse[0].status);\r\n if (parsedResponse[0].status === \"success\") {\r\n swal.close();\r\n localStorage.removeItem(\"confirmed\");\r\n localStorage.removeItem(\"prevState\");\r\n handler.redirect(window.location.href);\r\n }\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"404\")) {\r\n handler.showErrorMessage(this.error, this.UrlNotFound, this.Ok);\r\n } else if (error.message.includes(\"Network Error\")) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.InternetConnectionError,\r\n this.Ok\r\n );\r\n } else if (error.message.includes(\"timeout\")) {\r\n handler.showErrorMessage(\r\n this.error,\r\n this.ServerNotResponding,\r\n this.Ok\r\n );\r\n }\r\n console.log(error.message);\r\n }\r\n\r\n break;\r\n\r\n case \"no\":\r\n break;\r\n\r\n default:\r\n }\r\n });\r\n };\r\n\r\n getTicketStatus = async () => {\r\n let ticketId;\r\n let ticketNumber;\r\n let branchId;\r\n let categoryId = this.props.getData().categoryId;\r\n if (\r\n this.props.getData().issueQrTicket &&\r\n (this.state.response.data !== undefined ||\r\n this.state.response.data !== null)\r\n ) {\r\n ticketId = this.state.response.data.ticket_id;\r\n ticketNumber = this.state.response.data.ticket_number_f1;\r\n branchId = queryString.parse(window.location.search).branchid;\r\n } else if (\r\n this.props.getData().issueTicket &&\r\n this.state.response.data.ticket_info !== undefined &&\r\n this.state.response.data.ticket_info !== null\r\n ) {\r\n ticketId = this.state.response.data.ticket_info.ticket_id;\r\n ticketNumber = this.state.response.data.ticket_info.ticket_no;\r\n branchId =\r\n this.props.getData().singleBranchDetails.length > 0\r\n ? this.props.getData().singleBranchDetails[0].BranchID\r\n : this.props.getData().selectedBranchFromMap.BranchID;\r\n }\r\n try {\r\n let response = await this.dataService.getTicketStatus(\r\n branchId,\r\n ticketId,\r\n ticketNumber,\r\n categoryId\r\n );\r\n console.log(\"TICKET STATUS RESPONSE: \", response);\r\n if (response.data.error !== undefined && response.data.error) {\r\n handler.showErrorMessage(this.error, this.ServerNotResponding, this.Ok);\r\n } else {\r\n if (response.data.resp_status === 1) {\r\n if (\r\n this.props.getData().issueTicket &&\r\n this.state.response.data.ticket_info !== undefined &&\r\n this.state.response.data.ticket_info !== null\r\n ) {\r\n let stateResp = { ...this.state.response };\r\n stateResp[\"data\"][\"ticket_info\"][\r\n \"category_approx_waittime\"\r\n ] = response.data.est_wait_time.toString();\r\n stateResp[\"data\"][\"ticket_info\"][\"ticket_in_wait\"] =\r\n response.data.position_in_queue <= 0\r\n ? 0\r\n : parseInt(response.data.position_in_queue);\r\n this.setState({ response: stateResp });\r\n let prevState = JSON.parse(localStorage.getItem(\"prevState\"));\r\n prevState[\"response\"] = stateResp;\r\n localStorage.setItem(\"prevState\", JSON.stringify(prevState));\r\n } else if (\r\n this.props.getData().issueQrTicket &&\r\n (this.state.response.data !== undefined ||\r\n this.state.response.data !== null)\r\n ) {\r\n let stateResp = { ...this.state.response };\r\n stateResp[\"data\"][\r\n \"category_approx_waittime\"\r\n ] = response.data.actual_wait_time.toString();\r\n stateResp[\"data\"][\"category_waiting_tickets\"] =\r\n parseInt(response.data.position_in_queue) <= 0\r\n ? 0\r\n : parseInt(response.data.position_in_queue);\r\n this.setState({ response: stateResp });\r\n let prevState = JSON.parse(localStorage.getItem(\"prevState\"));\r\n prevState[\"response\"] = stateResp;\r\n localStorage.setItem(\"prevState\", JSON.stringify(prevState));\r\n }\r\n } else if (response.data.resp_status === 2) {\r\n this.setState({ isTicketCalled: true });\r\n handler.notify();\r\n } else if (response.data.resp_status === 3) {\r\n localStorage.clear();\r\n handler.showErrorMessage(this.error, this.TicketNotFound, this.Ok);\r\n setTimeout(() => {\r\n localStorage.clear();\r\n handler.redirect(window.location.href);\r\n }, this.popupExpiry);\r\n }\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrorMessage(this.error, this.ServerNotResponding, this.Ok);\r\n } else {\r\n handler.showErrorMessage(this.error, this.someThingWentWrong, this.Ok);\r\n console.log(error.message);\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n this.renderTranslations();\r\n const queryStringColor = queryString.parse(window.location.search);\r\n var theme = queryStringColor.theme;\r\n\r\n let emailAddress = this.props.getData().emailAddress;\r\n let appointmentNumber;\r\n let appointmentDate;\r\n\r\n if (\r\n this.state.response.data.previous_appointment_info !== undefined &&\r\n this.state.response.data.previous_appointment_info !== null\r\n ) {\r\n appointmentNumber = this.state.response.data.previous_appointment_info\r\n .appointment_number;\r\n\r\n appointmentDate = moment(\r\n this.state.response.data.previous_appointment_info.appointment_date,\r\n \"MM-DD-YYYY\"\r\n ).format(\"YYYY-MM-DD\");\r\n } else if (\r\n this.state.response.data.issueAppointment !== undefined &&\r\n this.state.response.data.issueAppointment !== null\r\n ) {\r\n {\r\n appointmentNumber = this.state.response.data.issueAppointment\r\n .appointment_number;\r\n\r\n appointmentDate = moment(\r\n this.props.getData().date,\r\n \"DD-MMM-YYYY\"\r\n ).format(\"YYYY-MM-DD\");\r\n }\r\n }\r\n\r\n let appointmentBranchId =\r\n this.state.response.data.previous_appointment_info !== undefined &&\r\n this.state.response.data.previous_appointment_info !== null\r\n ? this.state.response.data.previous_appointment_info.branch_id\r\n : this.props.getData().singleBranchDetails.length > 0\r\n ? this.props.getData().singleBranchDetails[0].BranchID\r\n : this.props.getData().selectedBranchFromMap !== null\r\n ? this.props.getData().selectedBranchFromMap.BranchID\r\n : null;\r\n let lang;\r\n if (localStorage.getItem(\"lang\") === \"es\") {\r\n lang = window[\"localization\"].es;\r\n } else if (localStorage.getItem(\"lang\") === \"ar\") {\r\n lang = window[\"localization\"].ar;\r\n } else if (localStorage.getItem(\"lang\") === \"en\") {\r\n lang = window[\"localization\"].en;\r\n } else if (localStorage.getItem(\"lang\") === \"ur\") {\r\n lang = window[\"localization\"].ur;\r\n } else {\r\n let defaultLang = this.defaultLanguage;\r\n lang = window[\"localization\"][defaultLang];\r\n }\r\n\r\n return (\r\n
\r\n {/*

{this.state.randomNumber}

*/}\r\n
\r\n {this.props.getData().issueTicket ||\r\n this.props.getData().issueQrTicket ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n\r\n {(this.showGreetings === true &&\r\n this.props.getData().issueTicket === true) ||\r\n this.props.getData().issueQrTicket === true\r\n ? this.getGreetings()\r\n : null}\r\n \r\n {this.props.getData().issueTicket === true ||\r\n this.props.getData().issueQrTicket === true\r\n ? lang.IssueTicketConfirmedMessage\r\n : lang.ThanksForAppointment}\r\n \r\n\r\n
\r\n {this.getTicketsWaiting(lang)}\r\n
\r\n\r\n
\r\n {this.getEstimatedWaitTimeMessage()}\r\n
\r\n\r\n
\r\n {this.getTotalWaitingTime(lang)}\r\n
\r\n\r\n
\r\n
\r\n {this.props.getData().date === null &&\r\n this.props.getData().time === null ? null : (\r\n \r\n \r\n {lang.SeeYouOn}\r\n \r\n \r\n )}\r\n {this.props.getData().issueTicket === true ||\r\n this.props.getData().issueQrTicket === true ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n\r\n {/* DATE TIME FOR APPOINTMENT FLOW */}\r\n
\r\n {this.getDateTime()}\r\n
\r\n\r\n
\r\n {this.getTicketNumber()}\r\n
\r\n\r\n
\r\n {this.getTicketIssuedDateTime()}\r\n
\r\n\r\n
\r\n {this.props.getData().issueQrTicket === true\r\n ? this.getUserDetails()\r\n : null}\r\n
\r\n\r\n
\r\n {this.runApp === \"samsung\" ? this.getService() : null}\r\n
\r\n\r\n {this.props.getData().issueTicket === false &&\r\n this.props.getData().issueQrTicket === false ? (\r\n
\r\n {this.getBranchAddress()}\r\n
\r\n ) : null}\r\n\r\n {this.props.getData().issueQrTicket === false &&\r\n this.props.getData().issueTicket === false ? (\r\n
\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n\r\n
\r\n {this.getAppointmentNumber()}\r\n
\r\n\r\n {this.props.getData().issueQrTicket === false &&\r\n this.props.getData().issueTicket === false ? (\r\n \r\n \r\n \r\n \r\n {lang.ModifyOrCancel}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {lang.AddToCalendar}\r\n \r\n \r\n
\r\n
\r\n ) : null}\r\n\r\n {this.props.getData().issueQrTicket ||\r\n this.props.getData().issueTicket ? (\r\n
\r\n {this.color.enableWhatsappButton ? (\r\n
\r\n \r\n
\r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n ) : null}\r\n\r\n
\r\n {this.runApp.toLowerCase() === \"samsung\" ? : null}\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(ConfirmedAppointment);\r\n","import React, { Component } from \"react\";\r\n\r\nconst BookingSummary = ({ color, text, label, textSize }) => {\r\n return (\r\n
\r\n \r\n {label}\r\n \r\n

\r\n {text}\r\n

\r\n
\r\n );\r\n};\r\n\r\nexport default BookingSummary;\r\n","module.exports = __webpack_public_path__ + \"static/media/loader.b452dc69.gif\";","import React, { Component } from \"react\";\r\nimport spainFlag from \"../../assets/images/spain-flag.png\";\r\nimport pakistanFlag from \"../../assets/images/pakistan-flag.png\";\r\nimport ukFlag from \"../../assets/images/uk-flag.png\";\r\nimport uaeFlag from \"../../assets/images/uae-flag.png\";\r\n\r\nconst Flags = ({ heading }) => {\r\n let enabledLanguages = window[\"app-config\"].enabledLanguages;\r\n\r\n let setLanguageOnFlagClick = (language) => {\r\n let url = window.location.href;\r\n let index = url.indexOf(\"lang=\");\r\n let selectedLang = index !== -1 ? url.substring(index, index + 7) : \"\";\r\n if (url.includes(\"?lang=\")) {\r\n url = url.replace(`?${selectedLang}`, `?lang=${language}`);\r\n } else if (url.includes(\"&lang=\")) {\r\n url = url.replace(`&${selectedLang}`, `&lang=${language}`);\r\n } else {\r\n if (url.split(\"?\")[1] !== undefined) {\r\n url += `&lang=${language}`;\r\n } else {\r\n url += `?lang=${language}`;\r\n }\r\n }\r\n window.location.href = url;\r\n localStorage.setItem(\"lang\", language);\r\n };\r\n\r\n return (\r\n <>\r\n {enabledLanguages.english === true ||\r\n enabledLanguages.arabic === true ||\r\n enabledLanguages.urdu === true ||\r\n enabledLanguages.spanish === true ? (\r\n \r\n {heading}\r\n \r\n ) : null}\r\n\r\n \r\n {enabledLanguages.spanish === true ? (\r\n
setLanguageOnFlagClick(\"es\")} id=\"es\">\r\n \r\n
\r\n ) : null}\r\n   \r\n {enabledLanguages.english === true ? (\r\n
setLanguageOnFlagClick(\"en\")} id=\"en\">\r\n \r\n
\r\n ) : null}\r\n   \r\n {enabledLanguages.urdu === true ? (\r\n
setLanguageOnFlagClick(\"ur\")} id=\"ur\">\r\n \r\n
\r\n ) : null}\r\n   \r\n {enabledLanguages.arabic === true ? (\r\n
setLanguageOnFlagClick(\"ar\")} id=\"ar\">\r\n \r\n
\r\n ) : null}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Flags;\r\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-07-16 9:00:00\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2020-09-04 19:58:26\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport $ from \"jquery\";\r\nclass Phase extends Component {\r\n state = {};\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n phaseColor = window[\"app-config\"].ui.journey.phaseColor;\r\n phaseFillColor = window[\"app-config\"].ui.journey.phaseFillColor;\r\n\r\n onPhase = () => {\r\n return this.props.status ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n render() {\r\n let lang;\r\n if (localStorage.getItem(\"lang\") === \"es\") {\r\n lang = window[\"localization\"].es;\r\n } else if (localStorage.getItem(\"lang\") === \"ar\") {\r\n lang = window[\"localization\"].ar;\r\n } else if (localStorage.getItem(\"lang\") === \"en\") {\r\n lang = window[\"localization\"].en;\r\n } else if (localStorage.getItem(\"lang\") === \"ur\") {\r\n lang = window[\"localization\"].ur;\r\n } else {\r\n let defaultLang = this.defaultLanguage;\r\n lang = window[\"localization\"][defaultLang];\r\n }\r\n\r\n return {this.onPhase()};\r\n }\r\n}\r\n\r\nexport default Phase;\r\n","import React, { Component } from \"react\";\r\nimport GoogleMapReact from \"google-map-react\";\r\n\r\nimport swal from \"@sweetalert/with-react\";\r\nimport swalAlert from \"sweetalert\";\r\nimport { DataService } from \"../services/data.service\";\r\n\r\nimport { Empty } from \"antd\";\r\n\r\nimport Bowser from \"bowser\";\r\nimport { Map, InfoWindow, Marker, GoogleApiWrapper } from \"google-maps-react\";\r\nimport Loader from \"../components/loader/loader\";\r\nimport * as handler from \"../components/utils/handler\";\r\nconst queryString = require(\"query-string\");\r\n\r\nconst queryStringBranchCode = queryString.parse(window.location.search)\r\n .branchCode;\r\n\r\nconst Loading = () => ;\r\n\r\nclass BranchSelection extends Component {\r\n dataService = new DataService();\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n mapCenter = window[\"app-config\"].mapCenter;\r\n mapZoom = window[\"app-config\"].mapZoom;\r\n issueTicketEnabled = window[\"app-config\"].issueTicketEnabled;\r\n issueAppointmentEnabled = window[\"app-config\"].issueAppointmentEnabled;\r\n enableCategorySelection = window[\"app-config\"].enableCategorySelection;\r\n color = window[\"app-config\"].ui.branchMapScreen;\r\n alertColor = window[\"app-config\"].ui.branchMapScreen.alertBtnColor;\r\n apiKey = window[\"app-config\"].mapApiKey;\r\n runApp = window[\"app-config\"].runApp;\r\n pinMarker = window[\"app-config\"].ui.mapMarker;\r\n\r\n state = {\r\n branches: [],\r\n bounds: [],\r\n dataLoaded: false,\r\n mapLanguage: this.defaultLanguage,\r\n locationAllowed: false,\r\n allowedLocation: null,\r\n lang: {},\r\n };\r\n\r\n constructor(props) {\r\n super();\r\n this.mapZoom = parseInt(window[\"app-config\"].mapZoom);\r\n this.getCurrentLatLong();\r\n }\r\n\r\n locationServiceDisabled = \"\";\r\n OkText = \"\";\r\n Attention = \"\";\r\n makeAnAppointment = \"\";\r\n cancel = \"\";\r\n staticHeading = \"\";\r\n issueTicket = \"\";\r\n\r\n Address = \"\";\r\n\r\n containerStyle = {\r\n position: \"relative\",\r\n width: \"100%\",\r\n height: \"80%\",\r\n };\r\n\r\n componentDidMount() {\r\n this.setState({ lang: handler.setTranslations() });\r\n this.getAllBranches();\r\n this.setMapLanguage();\r\n }\r\n\r\n onInfoWindowClose = () => {};\r\n\r\n getAllBranches = async () => {\r\n try {\r\n let response = await this.dataService.getAllBranches();\r\n\r\n if (response.data.error !== undefined && response.data.error === true) {\r\n this.setState({ branches: undefined, bounds: [], dataLoaded: true });\r\n } else if (response.data.branchList === null) {\r\n this.setState({ branches: [], bounds: [], dataLoaded: true });\r\n } else {\r\n var points = [];\r\n\r\n for (let i = 0; i < response.data.branchList.length; i++) {\r\n points.push({\r\n lat: parseFloat(response.data.branchList[i].Latitude),\r\n lng: parseFloat(response.data.branchList[i].Longitude),\r\n });\r\n }\r\n var bounds = new this.props.google.maps.LatLngBounds();\r\n for (var i = 0; i < points.length; i++) {\r\n bounds.extend(points[i]);\r\n }\r\n this.setState({\r\n branches: response.data.branchList,\r\n dataLoaded: true,\r\n bounds: bounds,\r\n allowedLocation: JSON.parse(localStorage.getItem(\"location\")),\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error: \", error.message);\r\n if (error.message.includes(\"timeout\")) {\r\n this.setState({ branches: undefined, dataLoaded: true });\r\n } else {\r\n this.setState({ branches: [], dataLoaded: true });\r\n }\r\n }\r\n };\r\n\r\n showLocationAlert = async () => {\r\n let resp = await swalAlert(\r\n this.state.lang.Attention,\r\n this.state.lang.LocationServiceDisabled,\r\n \"warning\",\r\n {\r\n buttons: {\r\n ok: {\r\n text: \"Ok\",\r\n value: \"ok\",\r\n },\r\n },\r\n }\r\n );\r\n return resp;\r\n };\r\n\r\n setMapLanguage = () => {\r\n if (localStorage.getItem(\"lang\") === \"es\") {\r\n this.setState({ mapLanguage: \"es\" });\r\n } else if (localStorage.getItem(\"lang\") === \"ar\") {\r\n this.setState({ mapLanguage: \"ar\" });\r\n } else if (localStorage.getItem(\"lang\") === \"en\") {\r\n this.setState({ mapLanguage: \"en\" });\r\n } else if (localStorage.getItem(\"lang\") === \"ur\") {\r\n this.setState({ mapLanguage: \"ur\" });\r\n } else {\r\n this.setState({ mapLanguage: this.defaultLanguage });\r\n }\r\n };\r\n\r\n getCurrentLatLong = () => {\r\n let currContext = this;\r\n var defaultLat = this.mapCenter.lat;\r\n var defaultLng = this.mapCenter.lng;\r\n\r\n var browser = Bowser.getParser(window.navigator.userAgent);\r\n\r\n if (\r\n browser.getBrowserName() !== \"Safari\" &&\r\n queryStringBranchCode === undefined\r\n ) {\r\n navigator.geolocation.getCurrentPosition((pos) => {\r\n let location = {\r\n lat:\r\n pos.coords.latitude === null || pos.coords.latitude === undefined\r\n ? this.mapCenter.lat\r\n : pos.coords.latitude,\r\n lng:\r\n pos.coords.longitude === null || pos.coords.longitude === undefined\r\n ? this.mapCenter.lng\r\n : pos.coords.longitude,\r\n };\r\n this.setState({ locationAllowed: true, allowedLocation: location });\r\n localStorage.setItem(\"location\", JSON.stringify(location));\r\n });\r\n navigator.geolocation.watchPosition(\r\n function (position) {},\r\n function (error) {\r\n let location = {\r\n lat: defaultLat,\r\n lng: defaultLng,\r\n };\r\n\r\n if (error.code == error.PERMISSION_DENIED) {\r\n currContext.setState({\r\n locationAllowed: false,\r\n allowedLocation: location,\r\n });\r\n localStorage.setItem(\"location\", JSON.stringify(location));\r\n navigator.geolocation.clearWatch((p) => {});\r\n }\r\n }\r\n );\r\n navigator.permissions\r\n .query({ name: \"geolocation\" })\r\n .then(async (status) => {\r\n status.onchange = function () {\r\n if (this.state === \"granted\") {\r\n window.location.href = window.location.href;\r\n } else if (this.state === \"denied\") {\r\n let location = {\r\n lat: defaultLat,\r\n lng: defaultLng,\r\n };\r\n let lang;\r\n if (localStorage.getItem(\"lang\") === \"es\") {\r\n lang = window[\"localization\"].es;\r\n } else if (localStorage.getItem(\"lang\") === \"ar\") {\r\n lang = window[\"localization\"].ar;\r\n } else if (localStorage.getItem(\"lang\") === \"en\") {\r\n lang = window[\"localization\"].en;\r\n } else if (localStorage.getItem(\"lang\") === \"ur\") {\r\n lang = window[\"localization\"].ur;\r\n } else {\r\n let defaultLang = this.defaultLanguage;\r\n lang = window[\"localization\"][defaultLang];\r\n }\r\n swal({\r\n title: lang.Attention,\r\n text: lang.LocationServiceDisabled,\r\n\r\n icon: \"info\",\r\n buttons: {\r\n ok: {\r\n text: lang.Ok,\r\n value: \"OK\",\r\n },\r\n },\r\n }).then(() => {\r\n localStorage.setItem(\"location\", JSON.stringify(location));\r\n window.location.href = window.location.href;\r\n });\r\n }\r\n console.log(\r\n \"geolocation permission state has changed to \",\r\n this.state\r\n );\r\n };\r\n });\r\n } else {\r\n let location = {\r\n lat: defaultLat,\r\n lng: defaultLng,\r\n };\r\n localStorage.setItem(\"location\", JSON.stringify(location));\r\n }\r\n };\r\n\r\n onMarkerClick = (branch) => {\r\n console.log(\"lat: \", branch.Latitude + \" lng :\" + branch.Longitude);\r\n console.log(\"BRANCH: \", branch);\r\n if (\r\n this.issueTicketEnabled === true &&\r\n this.issueAppointmentEnabled === true\r\n ) {\r\n swal(\r\n
\r\n

{branch.BranchTitle}

\r\n {this.state.lang.Address}\r\n

{branch.Address}

\r\n
,\r\n\r\n {\r\n icon: \"info\",\r\n buttons: {\r\n yes: {\r\n text: this.state.lang.MakeAnAppointment,\r\n value: \"Yes\",\r\n className: \"alert-btn\",\r\n },\r\n issueTicket: {\r\n text: this.state.lang.IssueTicket,\r\n value: \"IssueTicket\",\r\n className: \"alert-btn\",\r\n },\r\n },\r\n }\r\n ).then((value) => {\r\n switch (value) {\r\n case \"Yes\":\r\n this.props.setSelectedBranch(branch);\r\n this.props.getStepCount(1, true, false);\r\n break;\r\n\r\n case \"IssueTicket\":\r\n this.props.setSelectedBranch(branch);\r\n this.props.getStepCount(\r\n this.enableCategorySelection === false ? 2 : 1,\r\n true,\r\n true\r\n );\r\n break;\r\n default:\r\n }\r\n });\r\n } else if (\r\n this.issueTicketEnabled === true &&\r\n this.issueAppointmentEnabled === false\r\n ) {\r\n swal(\r\n
\r\n

{branch.BranchTitle}

\r\n {this.state.lang.Address}\r\n

{branch.Address}

\r\n
,\r\n\r\n {\r\n icon: \"info\",\r\n buttons: {\r\n yes: {\r\n text: this.state.lang.IssueTicket,\r\n value: \"issueTicket\",\r\n },\r\n no: {\r\n text: this.cancel,\r\n value: \"No\",\r\n },\r\n },\r\n }\r\n ).then((value) => {\r\n switch (value) {\r\n case \"issueTicket\":\r\n this.props.setSelectedBranch(branch);\r\n this.props.getStepCount(\r\n this.enableCategorySelection === false ? 2 : 1,\r\n true,\r\n true\r\n );\r\n break;\r\n\r\n case \"No\":\r\n break;\r\n default:\r\n }\r\n });\r\n } else if (\r\n this.issueTicketEnabled === false &&\r\n this.issueAppointmentEnabled === true\r\n ) {\r\n swal(\r\n
\r\n

{branch.BranchTitle}

\r\n {this.state.lang.Address}\r\n

{branch.Address}

\r\n
,\r\n\r\n {\r\n icon: \"info\",\r\n buttons: {\r\n yes: {\r\n text: this.state.lang.MakeAnAppointment,\r\n value: \"Yes\",\r\n },\r\n no: {\r\n text: this.cancel,\r\n value: \"No\",\r\n },\r\n },\r\n }\r\n ).then((value) => {\r\n switch (value) {\r\n case \"Yes\":\r\n this.props.setSelectedBranch(branch);\r\n this.props.getStepCount(1, true, false);\r\n break;\r\n\r\n case \"No\":\r\n break;\r\n default:\r\n }\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n if (this.state.branches === undefined) {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n } else if (this.state.allowedLocation === null) {\r\n return ;\r\n } else if (this.state.dataLoaded === true) {\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n {this.state.lang.BranchMapHeading}\r\n

\r\n
\r\n \r\n {this.state.branches.length > 0 ? (\r\n this.state.branches.map((branch, i) => {\r\n return (\r\n {\r\n this.onMarkerClick(branch);\r\n }}\r\n title={branch.BranchTitle}\r\n key={i}\r\n position={{\r\n lat: branch.Latitude,\r\n lng: branch.Longitude,\r\n }}\r\n icon={{\r\n url:\r\n process.env.PUBLIC_URL +\r\n `/images/${this.pinMarker.fileName}`,\r\n // anchor: new window.google.maps.Point(0, 0),\r\n scaledSize: new window.google.maps.Size(34, 34),\r\n }}\r\n />\r\n );\r\n })\r\n ) : (\r\n \r\n )}\r\n {/* \r\n \r\n
\r\n

Demo Place

\r\n
\r\n
*/}\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n } else if (this.state.branches === null) {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return ;\r\n }\r\n }\r\n}\r\n\r\n// export default BranchSelection;\r\nexport default GoogleApiWrapper({\r\n apiKey: \"AIzaSyA85oYpaPSkYFRM8d4QcWMg4ZmH8Frnf8c\",\r\n language: localStorage.getItem(\"lang\"),\r\n LoadingContainer: Loading,\r\n})(BranchSelection);\r\n","import \"react-app-polyfill/ie11\";\nimport \"react-app-polyfill/stable\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\n// import \"./assets/styles/index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\n\nReactDOM.render(, document.getElementById(\"root\"));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","/*\n * @Author: Mufaddal Jamali\n * @Date: 2020-02-24 15:49:21\n * @Last Modified by: Mufaddal Jamali\n * @Last Modified time: 2020-11-02 11:39:32\n */\n\nimport React, { useEffect } from \"react\";\nimport Main from \"./containers/main\";\nimport CheckIn from \"./containers/checkIn\";\nimport AppInfo from \"./containers/appInfo\";\n\nimport ModifyAppointment from \"./containers/modifyAppointment\";\n\nimport * as handler from \"../src/components/utils/handler\";\n\nimport { BrowserRouter, Switch, Route } from \"react-router-dom\";\nimport TicketCalled from \"./containers/ticketCalled\";\nconst queryString = require(\"query-string\");\n\nfunction App() {\n handler.applicationMode();\n let appRoute = window[\"app-config\"].applicationProperties.appRoute;\n let defaultTheme =\n window[\"app-config\"].applicationProperties.defaultTheme;\n let runApp = window[\"app-config\"].runApp;\n let defaultLanguage = window[\"app-config\"].defaultLang;\n\n useEffect(() => {\n setStyles()\n setAppLanguage()\n // setAppTitle()\n }, []);\n\n const setAppTitle = () => {\n // if (localStorage.getItem(\"lang\") === \"es\") {\n // language = window[\"localization\"].es;\n // } else if (localStorage.getItem(\"lang\") === \"ar\") {\n // language = window[\"localization\"].ar;\n // } else if (localStorage.getItem(\"lang\") === \"en\") {\n // language = window[\"localization\"].en;\n // } else if (localStorage.getItem(\"lang\") === \"ur\") {\n // language = window[\"localization\"].ur;\n // } else {\n // let defaultLang = defaultLanguage;\n // language = window[\"localization\"][defaultLang];\n // }\n \n // console.log(\"APP: \", handler.setTranslations())\n\n \n }\n \n const setAppLanguage = () => {\n const language = queryString.parse(window.location.search).lang;\n document.title = handler.setTranslations().AppTitle;\n if (language === undefined || language === \"\") {\n localStorage.setItem(\"lang\", defaultLanguage);\n } else if (language.toLowerCase() === \"sp\") {\n localStorage.setItem(\"lang\", \"es\");\n } else {\n localStorage.setItem(\"lang\", language);\n }\n\n }\n\n const setStyles = () => {\n const theme = queryString.parse(window.location.search).theme;\n if (theme == \"dark\" || defaultTheme == \"dark\") {\n localStorage.setItem(\"theme\", \"dark\");\n import(\"./dark.css\").then((styles) => {\n console.log(\"DARK THEME\");\n });\n } else if (runApp.toLowerCase() === \"glovo\") {\n import(\"./assets/styles/Glovo.css\").then((style) => {\n console.log(\"GLOVO THEME\");\n });\n } else if (runApp.toLowerCase() === \"leroy\") {\n import(\"./assets/styles/Leroy.css\").then((style) => {\n console.log(\"LEROY THEME\");\n });\n } else if (runApp.toLowerCase() === \"samsung\") {\n import(\"./assets/styles/Samsung.css\").then((style) => {\n console.log(\"SAMSUNG THEME\");\n });\n } else {\n \n localStorage.setItem(\"theme\", defaultTheme);\n import(`./${defaultTheme === \"light\" ? \"App.css\" : \"dark.css\"}`).then(\n (styles) => {\n console.log(\"DEFAULT THEME\");\n }\n );\n }\n\n\n }\n \n return (\n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","import swal from \"sweetalert\";\nimport UIfx from \"uifx\";\nimport * as $ from \"jquery\";\nimport { type } from \"jquery\";\nconst queryString = require(\"query-string\");\n\nlet { defaultTheme, appRoute } = window[\"app-config\"].applicationProperties;\nlet defaultLang = window[\"app-config\"].defaultLang;\nlet theme = queryString.parse(window.location.search).theme;\n\nexport const validation = {\n isEmailAddress: function (str) {\n var pattern = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\n return pattern.test(str); // returns a boolean\n },\n isNotEmpty: function (str) {\n var pattern = /\\S+/;\n return pattern.test(str); // returns a boolean\n },\n isNumber: function (str) {\n var pattern = /^\\d+$/;\n return pattern.test(str); // returns a boolean\n },\n isSame: function (str1, str2) {\n return str1 === str2;\n },\n};\n\nexport const setTranslations = () => {\n const urlLang = queryString.parse(window.location.search).lang;\n let defaultLanguage = window[\"app-config\"].defaultLang;\n let languages = window[\"localization\"];\n var langs = Object.keys(languages);\n var setLanguage = {};\n\n for (let i = 0; i < langs.length; i++) {\n if (urlLang === undefined) {\n setLanguage = languages[defaultLanguage];\n break;\n }\n if (urlLang !== \"\" && langs[i] === urlLang) {\n let key = langs[i];\n setLanguage = languages[key];\n break;\n }\n }\n return setLanguage;\n};\n\nexport const blinkText = (selector) => {\n setInterval(function () {\n $(selector).fadeToggle();\n }, 750);\n};\n\nexport const disableCopyPasteInTextField = (selector) => {\n $(selector).bind(\"cut copy paste\", function (e) {\n e.preventDefault();\n });\n};\n\nexport const customTimeOut = () => {\n var isStopped = true;\n setTimeout(() => {\n isStopped = false;\n }, 3000);\n\n return isStopped;\n};\n\nexport const openBrowserWindow = (url) => {\n window.open(\n `/${url}`,\n \"myWindow\",\n `status=1,toolbar=0, width=${window.screen.width}, height=${window.screen.height}`\n );\n};\n\nexport const urls = {\n MODIFY_APPOINTMENT: `${window.location.origin\n }/modifyappointment?appointmentnumber={{appointment_number}}&theme=${theme == undefined ? defaultTheme : theme\n }&lang=`,\n CHECK_IN: `${window.location.origin}/modifyappointment`,\n};\n\nexport const removeKeyFromUrl = (path, key, otherQueryString) => {\n let urlObject = queryString.parse(window.location.search);\n if (urlObject.appointmentnumber !== undefined) {\n delete urlObject[key];\n }\n let url = `${window.location.origin}/${path}?theme=${urlObject.theme === undefined ? defaultTheme : urlObject.theme\n }&lang=${urlObject.lang === undefined ? defaultLang : urlObject.lang}${otherQueryString !== undefined ? otherQueryString : \"\"\n }`;\n return url;\n};\n\nexport const setPhoneNumberPrefix = () => {\n const language = queryString.parse(window.location.search).lang;\n let phoneNumberPrefix = window[\"app-config\"].phoneNumberPrefix;\n if (localStorage.getItem(\"lang\") === \"es\" && phoneNumberPrefix.spain !== \"\") {\n return phoneNumberPrefix.spain;\n } else if (\n localStorage.getItem(\"lang\") === \"ar\" &&\n phoneNumberPrefix.uae !== \"\"\n ) {\n return phoneNumberPrefix.uae;\n } else if (\n localStorage.getItem(\"lang\") === \"en\" &&\n phoneNumberPrefix.uk !== \"\"\n ) {\n return phoneNumberPrefix.uk;\n } else if (\n localStorage.getItem(\"lang\") === \"ur\" &&\n phoneNumberPrefix.pakistan !== \"\"\n ) {\n return phoneNumberPrefix.pakistan;\n } else {\n this.setState({ phoneNumber: phoneNumberPrefix.defaultPhoneNumber });\n }\n};\n\nexport const compareArrayOfObject = (firstArray, secondArray) => {\n return firstArray.filter((firstArrayItem) =>\n secondArray.some(\n (secondArrayItem) =>\n firstArrayItem.CategoryID === secondArrayItem.categoryId\n )\n );\n};\n\nexport const compareGroupArrayOfObject = (firstArray, secondArray) => {\n let result = firstArray.map(element => {\n return {GroupName: element.GroupName, Categories: element.Categories.filter((firstArrayItem) =>\n secondArray.some(\n (secondArrayItem) =>\n firstArrayItem.CategoryID === secondArrayItem.categoryId\n )\n )}\n });\n let flag = false;\n result.forEach(element => {\n if (element.Categories.length> 0){\n flag = true;\n }\n });\n if (flag) result = result.filter(element => element.Categories.length>0);\n return flag ? result : firstArray;\n}\n\n\nexport const redirect = (url) => {\n window.location.href = url;\n};\n\nexport const showErrorMessage = async (title, message, okBtnText) => {\n let resp = await swal(title, message, \"error\", {\n buttons: {\n ok: {\n text: okBtnText,\n value: \"ok\",\n },\n },\n });\n if (resp === \"ok\") {\n redirect(window.location.href);\n }\n};\n\nexport const showErrMsg = async (title, message, okBtnText, url) => {\n let resp = await swal(title, message, \"error\", {\n buttons: {\n ok: {\n text: okBtnText,\n value: \"ok\",\n },\n },\n });\n if (resp === \"ok\") {\n redirect(url);\n }\n};\n\nexport const showSuccessMessage = async (message, okBtnText, redirectUrl) => {\n let resp = await swal(\"\", message, \"success\", {\n buttons: {\n ok: {\n text: okBtnText,\n value: \"ok\",\n },\n },\n // closeOnClickOutside: false,\n // closeOnEsc: false,\n });\n if (resp === \"ok\") {\n window.location.href = redirectUrl;\n }\n};\n\nexport const formatTimeStamp = (ts, type) => {\n let timestamp = parseInt(ts);\n\n let hours = Math.floor(timestamp / 60 / 60);\n\n let minutes = Math.floor(timestamp / 60) - hours * 60;\n let seconds = timestamp % 60;\n\n if (parseInt(hours) < 0 || parseInt(hours) === 0) {\n hours = \"00\";\n }\n if (parseInt(minutes) < 0 || parseInt(hours) === 0) {\n minutes = type === \"minutes\" ? \"0\" : \"00\";\n }\n if (parseInt(seconds) < 0 || parseInt(hours) === 0) {\n seconds = \"00\";\n }\n\n if (hours.toString().length === 1) {\n hours = `0${hours}`;\n }\n\n if (minutes.toString().length === 1) {\n minutes = type === \"minutes\" ? `${minutes}` : `0${minutes}`;\n }\n let formatted = type === \"minutes\" ? minutes : hours + \":\" + minutes;\n return formatted;\n};\n\nexport const notify = () => {\n let notificationSound = window[\"app-config\"].notificationSound;\n let bell = new UIfx(process.env.PUBLIC_URL + `/sounds/${notificationSound}`, {\n volume: 0.8, // number between 0.0 ~ 1.0\n throttleMs: 100,\n });\n\n bell.play();\n};\n\nexport const applicationMode = () => {\n let showConsole = window[\"app-config\"].applicationProperties.showConsoleLogs;\n if (!process.env.NODE_ENV || process.env.NODE_ENV === \"development\") {\n console.log(\"DEVELOPMENT MODE\");\n } else if (!process.env.NODE_ENV || process.env.NODE_ENV === \"production\") {\n if (!showConsole) {\n console.log = () => { };\n }\n document.onkeydown = (e) => {\n if (e.keyCode == 123) {\n return false;\n }\n if (e.ctrlKey && e.shiftKey && e.keyCode == \"I\".charCodeAt(0)) {\n return false;\n }\n // if (e.ctrlKey && e.shiftKey && e.keyCode == \"C\".charCodeAt(0)) {\n // return false;\n // }\n if (e.ctrlKey && e.shiftKey && e.keyCode == \"J\".charCodeAt(0)) {\n return false;\n }\n if (e.ctrlKey && e.keyCode == \"U\".charCodeAt(0)) {\n return false;\n }\n };\n\n document.addEventListener(\"contextmenu\", function (e) {\n e.preventDefault();\n });\n }\n};\n\nexport const validateEmail = (email) => {\n var emailReg = /^([\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4})?$/;\n return emailReg.test(email);\n};\n\nexport const onBrowserReload = (callback) => {\n var type;\n if (window.performance.getEntriesByType(\"navigation\")) {\n type = window.performance.getEntriesByType(\"navigation\")[0].type;\n\n if (type == \"navigate\") {\n console.log(\"TYPE_NAVIGATE\");\n }\n if (type == \"reload\") {\n callback();\n }\n if (type == \"back_forward\") {\n console.log(\"BACK_FORWARD\");\n }\n if (type == \"prerender\") {\n console.log(\"PRE_RENDER\");\n }\n }\n\n // const entries = performance.getEntriesByType(\"navigation\");\n // console.log(\"ENTREIS: \", entries)\n // let type = entries.map((nav) => nav.type);\n // console.log(\"NAVIGATION TYPE: \", type[0]);\n\n // if (type[0] === \"reload\") {\n // if (callback) {\n // callback();\n // }\n // }\n};\n\nexport const windowReloadedOldMethod = (event) => {\n window.addEventListener(\"onbeforeunload\", () => {\n console.log(\"HELLO\");\n });\n\n if (performance.navigation.type == performance.navigation.TYPE_RELOAD) {\n console.info(\"This page is reloaded\");\n } else {\n console.info(\"This page is not reloaded\");\n }\n};\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-02-24 15:49:21\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2021-01-28 18:35:14\r\n */\r\nimport React, { Component } from \"react\";\r\nimport ModalHead from \"../components/modal-head/modalHead\";\r\nimport { Steps } from \"antd\";\r\nimport DeviceDetails from \"./deviceDetails\";\r\nimport ServiceDetails from \"./serviceDetails\";\r\nimport Slots from \"./slots\";\r\nimport UserDetails from \"./userDetails\";\r\nimport SecondaryButton from \"../components/utils/secondaryButton\";\r\nimport PrimaryButton from \"../components/utils/primaryButton\";\r\nimport ConfirmedAppointment from \"./confirmedAppointment\";\r\nimport { Empty } from \"antd\";\r\nimport { DataService } from \"../services/data.service\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport swal from \"sweetalert\";\r\nimport moment from \"moment\";\r\n\r\nimport Footer from \"../components/footer/footer\";\r\nimport AppNotFound from \"./../components/app-not-found/notFound\";\r\nimport CategorySelection from \"./categorySelection\";\r\nimport BranchSelection from \"./branchSelection\";\r\n\r\nimport Loader from \"../components/loader/loader\";\r\nimport * as handler from \"../components/utils/handler\";\r\n\r\nconst queryString = require(\"query-string\");\r\n\r\nconst { Step } = Steps;\r\n\r\nclass Main extends Component {\r\n defaultCategory = window[\"app-config\"].defaultCategory;\r\n enableCategorySelection = window[\"app-config\"].enableCategorySelection;\r\n issueTicketEnabled = window[\"app-config\"].issueTicketEnabled;\r\n runApp = window[\"app-config\"].runApp;\r\n showFooter = window[\"app-config\"].ui.footer.showFooter;\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n\r\n nextAndBackBtnColor = window[\"app-config\"].ui.nextAndBackBtn.backgroundColor;\r\n isAdditionalValidation = window[\"app-config\"].isAdditionalValidation;\r\n ticketIssuePassword = window[\"app-config\"].ticketIssuePassword;\r\n priority = window[\"app-config\"].priority;\r\n\r\n dataService = new DataService();\r\n\r\n state = {\r\n lang: {},\r\n current: 0,\r\n showNextBtn: true,\r\n showBackBtn: true,\r\n\r\n categoryId: null,\r\n deviceHealth: null,\r\n phoneServiceName: null,\r\n\r\n model: null,\r\n color: null,\r\n productType: null,\r\n productFamily: null,\r\n imei: null,\r\n\r\n firstName: null,\r\n surName: null,\r\n emailAddress: null,\r\n phoneNumber: null,\r\n additionalInfo: null,\r\n noOfPeople: null,\r\n documentType: null,\r\n isTermsConditonsChecked: false,\r\n isAssistanceChecked: false,\r\n\r\n date: null,\r\n time: null,\r\n slotId: null,\r\n\r\n response: null,\r\n\r\n singleBranchDetails: [],\r\n isBranchPage: false,\r\n selectedBranchFromMap: null,\r\n\r\n dataLoaded: true,\r\n\r\n heading: null,\r\n\r\n isConfirmedReschedule: false,\r\n\r\n issueTicket: false, //from branch map\r\n issueQrTicket: false,\r\n isSingleBranchDetailsLoaded: false,\r\n };\r\n steps = [];\r\n\r\n constructor(props) {\r\n super();\r\n if (this.runApp.toLowerCase() === \"samsung\") {\r\n this.steps = [\r\n {\r\n title: this.state.lang.StepDevice,\r\n content: (\r\n \r\n ),\r\n },\r\n {\r\n title: this.state.lang.StepService,\r\n content: (\r\n \r\n ),\r\n },\r\n {\r\n title: this.state.lang.StepSlots,\r\n content: (\r\n \r\n ),\r\n },\r\n {\r\n title: this.state.lang.StepCustomerDetails,\r\n content: (\r\n \r\n ),\r\n },\r\n {\r\n title: this.state.lang.StepComplete,\r\n content: (\r\n \r\n ),\r\n },\r\n ];\r\n } else if (this.enableCategorySelection === false) {\r\n this.steps = [\r\n {\r\n content: (\r\n \r\n ),\r\n },\r\n {\r\n content: (\r\n \r\n ),\r\n },\r\n {\r\n content: (\r\n \r\n ),\r\n },\r\n {\r\n content: (\r\n \r\n ),\r\n },\r\n ];\r\n } else if (this.enableCategorySelection === true) {\r\n this.steps = [\r\n {\r\n content: (\r\n \r\n ),\r\n },\r\n {\r\n content: (\r\n \r\n ),\r\n },\r\n {\r\n content: (\r\n \r\n ),\r\n },\r\n {\r\n content: (\r\n \r\n ),\r\n },\r\n {\r\n content: (\r\n \r\n ),\r\n },\r\n ];\r\n }\r\n }\r\n\r\n queryStringBranchCode = queryString.parse(window.location.search);\r\n queryBranchCode = this.queryStringBranchCode.branchCode;\r\n\r\n queryissueTicketFlag = queryString.parse(window.location.search);\r\n issueTicketFlag = this.queryissueTicketFlag.issueticket;\r\n\r\n queryStringSQN = queryString.parse(window.location.search);\r\n querySQN = this.queryStringSQN.sqn;\r\n\r\n queryStringBranchId = queryString.parse(window.location.search);\r\n queryBranchId = this.queryStringBranchId.branchid;\r\n\r\n componentDidMount() {\r\n this.setState({ lang: handler.setTranslations() });\r\n if (\r\n localStorage.getItem(\"confirmed\") === \"true\" &&\r\n (JSON.parse(localStorage.getItem(\"prevState\")).issueTicket == true ||\r\n JSON.parse(localStorage.getItem(\"prevState\")).issueQrTicket == true)\r\n ) {\r\n if (\r\n moment().toDate().toDateString() ===\r\n localStorage.getItem(\"confirmedDate\")\r\n ) {\r\n let prevState = JSON.parse(localStorage.getItem(\"prevState\"));\r\n this.setState(prevState);\r\n } else {\r\n localStorage.removeItem(\"confirmedDate\");\r\n localStorage.removeItem(\"prevState\");\r\n localStorage.removeItem(\"confirmed\");\r\n\r\n this.getSingleBranchDetails();\r\n if (this.enableCategorySelection === false) {\r\n this.setState({ categoryId: this.defaultCategory });\r\n }\r\n this.getStepCount();\r\n this.getStepForBranch();\r\n }\r\n } else {\r\n this.getSingleBranchDetails();\r\n if (this.enableCategorySelection === false) {\r\n this.setState({ categoryId: this.defaultCategory });\r\n }\r\n this.getStepCount();\r\n this.getStepForBranch();\r\n }\r\n }\r\n\r\n getSingleBranchDetails = async () => {\r\n try {\r\n let singleBranchDetails = await this.dataService.getSingleBranchDetails();\r\n\r\n this.setState({\r\n singleBranchDetails:\r\n singleBranchDetails === \"\" ? [] : singleBranchDetails.data.branchList,\r\n isSingleBranchDetailsLoaded: true,\r\n });\r\n\r\n this.stepJump();\r\n } catch (error) {\r\n this.setState({\r\n singleBranchDetails: [],\r\n isSingleBranchDetailsLoaded: false,\r\n });\r\n console.log(\"CATCH OF SINGLE BRANCH API\", this.state.singleBranchDetails);\r\n }\r\n };\r\n\r\n stepJump = () => {\r\n let current;\r\n\r\n //Condition for jump to user details screen when there are branchId and SQN provided in query string for issue ticket\r\n if (\r\n this.queryBranchCode != undefined &&\r\n this.querySQN != undefined &&\r\n this.queryBranchCode != \"\" &&\r\n this.querySQN != \"\" &&\r\n this.queryBranchId !== undefined &&\r\n this.queryBranchId !== \"\" &&\r\n this.enableCategorySelection === true &&\r\n this.issueTicketEnabled === true\r\n ) {\r\n current = this.state.current + 3;\r\n this.setState({\r\n current,\r\n issueQrTicket: true,\r\n categoryId: this.querySQN,\r\n });\r\n } else if (\r\n this.queryBranchCode != undefined &&\r\n this.querySQN != undefined &&\r\n this.queryBranchCode != \"\" &&\r\n this.querySQN != \"\" &&\r\n this.queryBranchId !== undefined &&\r\n this.queryBranchId !== \"\" &&\r\n this.enableCategorySelection === false &&\r\n this.issueTicketEnabled === true\r\n ) {\r\n current = this.state.current + 2;\r\n this.setState({\r\n current,\r\n issueQrTicket: true,\r\n categoryId: this.querySQN,\r\n });\r\n } else if (\r\n this.queryBranchCode !== undefined &&\r\n this.queryBranchCode !== \"\" &&\r\n this.issueTicketFlag !== undefined &&\r\n this.enableCategorySelection === true &&\r\n this.issueTicketFlag.toLowerCase() === \"true\" &&\r\n this.runApp.toLowerCase() !== \"samsung\"\r\n ) {\r\n current = this.state.current + 1;\r\n this.setState({\r\n current,\r\n issueTicket: true,\r\n });\r\n } else if (\r\n this.queryBranchCode !== undefined &&\r\n this.queryBranchCode !== \"\" &&\r\n this.issueTicketFlag !== undefined &&\r\n this.issueTicketFlag.toLowerCase() === \"true\" &&\r\n this.enableCategorySelection === false &&\r\n this.runApp.toLowerCase() !== \"samsung\"\r\n ) {\r\n current = this.state.current + 2;\r\n this.setState({\r\n current,\r\n issueTicket: true,\r\n });\r\n } else if (\r\n this.queryBranchCode !== undefined &&\r\n this.runApp.toLowerCase() !== \"samsung\"\r\n ) {\r\n current = this.state.current + 1;\r\n this.setState({ current });\r\n }\r\n };\r\n\r\n sendMainState = () => {\r\n return this.state;\r\n };\r\n\r\n hideBtnNext = () => {\r\n this.setState({ showNextBtn: false });\r\n };\r\n\r\n showBtnNext = () => {\r\n this.setState({ showNextBtn: true });\r\n };\r\n\r\n hideBtnBack = () => {\r\n this.setState({ showBackBtn: false });\r\n };\r\n\r\n getServiceDetailsFromChild = (data) => {\r\n this.setState({\r\n categoryId: data.categoryId,\r\n deviceHealth: data.deviceHealth,\r\n phoneServiceName: data.phoneServiceName,\r\n imei: data.imei,\r\n showNextBtn: data.categoryId !== null && data.deviceHealth !== null\r\n &&\r\n data.phoneServiceName !== undefined\r\n ? true\r\n : false,\r\n });\r\n };\r\n\r\n getDeviceDetailsFromChild = (data) => {\r\n this.setState({\r\n model: data.model,\r\n color: data.color,\r\n productType: data.productType,\r\n productFamily: data.productFamily,\r\n // imei: data.imei,\r\n showNextBtn:\r\n data.model !== null &&\r\n data.color !== null &&\r\n data.productType !== null &&\r\n data.productFamily !== null\r\n ? true\r\n : false,\r\n });\r\n };\r\n\r\n getUserDetailsFromChild = (data) => {\r\n this.setState({\r\n firstName: data.firstName,\r\n surName: data.surName,\r\n emailAddress: data.emailAddress,\r\n phoneNumber: data.phoneNumber,\r\n isUserDetailCmp: data.isUserDetailCmp,\r\n additionalInfo: data.additionalInfo,\r\n noOfPeople: data.noOfPeople,\r\n documentType: data.documentType,\r\n\r\n isTermsConditonsChecked: data.isTermsConditonsChecked,\r\n isAssistanceChecked: data.isAssistanceChecked,\r\n showNextBtn: true,\r\n });\r\n };\r\n\r\n getDateTimeSlotFromChild = (slotId, date, time) => {\r\n this.setState({\r\n slotId: slotId,\r\n date: date,\r\n time: time,\r\n showNextBtn: time !== null && date !== null ? true : false,\r\n });\r\n };\r\n\r\n getCategorySelectionFromChild = (data) => {\r\n this.setState({\r\n categoryId: data.categoryId,\r\n showNextBtn: data.categoryId !== null ? true : false,\r\n });\r\n };\r\n\r\n setHeading = (heading) => {\r\n this.setState({ heading: heading });\r\n };\r\n\r\n setSelectedBranchFromMap = (branch) => {\r\n this.setState({ selectedBranchFromMap: branch });\r\n };\r\n\r\n sendBranchDetails = () => {\r\n if (this.state.singleBranchDetails.length > 0) {\r\n return this.state.singleBranchDetails;\r\n } else {\r\n return [this.state.selectedBranchFromMap];\r\n }\r\n };\r\n\r\n sendCategory = () => {\r\n return this.state.categoryId;\r\n };\r\n\r\n getStepCount = (current, isConfirmedReschedule, dataLoaded) => {\r\n if (current !== undefined || isConfirmedReschedule !== undefined) {\r\n this.setState({ current, isConfirmedReschedule, dataLoaded: dataLoaded });\r\n }\r\n };\r\n\r\n getStepForBranch = (current, isBranchPage, issueTicket) => {\r\n if (\r\n current !== undefined ||\r\n isBranchPage !== undefined ||\r\n issueTicket !== undefined\r\n ) {\r\n this.setState({ current, isBranchPage, issueTicket });\r\n }\r\n };\r\n\r\n rescheduleAppointment = async () => {\r\n try {\r\n let response = await this.dataService.rescheduleAppointment(\r\n this.state.response.data.previous_appointment_info === null\r\n ? this.state.response.data.issueAppointment.appointment_number\r\n : this.state.response.data.previous_appointment_info\r\n .appointment_number,\r\n this.state.response.data.previous_appointment_info === null\r\n ? this.state.categoryId\r\n : this.state.response.data.previous_appointment_info.category_id,\r\n this.state.categoryId,\r\n this.state.singleBranchDetails.length > 0\r\n ? this.state.singleBranchDetails[0].BranchID\r\n : this.state.selectedBranchFromMap.BranchID,\r\n this.state.singleBranchDetails.length > 0\r\n ? this.state.singleBranchDetails[0].BranchTitle\r\n : this.state.selectedBranchFromMap.BranchTitle,\r\n this.state.singleBranchDetails.length > 0\r\n ? this.state.singleBranchDetails[0].Address\r\n : this.state.selectedBranchFromMap.Address,\r\n this.state.singleBranchDetails.length > 0\r\n ? this.state.singleBranchDetails[0].ContactNo\r\n : this.state.selectedBranchFromMap.ContactNo,\r\n\r\n this.state.slotId,\r\n 2,\r\n moment(this.state.date, \"DD-MMM-YYYY\").format(\"YYYY-MM-DD\"),\r\n this.state.emailAddress,\r\n 1,\r\n 0,\r\n\r\n [\r\n {\r\n fieldName: \"EmailId\",\r\n fieldValue:\r\n this.state.emailAddress != undefined\r\n ? this.state.emailAddress\r\n : this.state.phoneNumber !== undefined\r\n ? this.state.phoneNumber\r\n : \"\",\r\n },\r\n {\r\n fieldName: \"MobileNumber\",\r\n fieldValue:\r\n this.state.phoneNumber != undefined ? this.state.phoneNumber : \"\",\r\n },\r\n { fieldName: \"PhoneModel\", fieldValue: \"-\" },\r\n { fieldName: \"PhoneColor\", fieldValue: \"-\" },\r\n {\r\n fieldName: \"PhoneService\",\r\n fieldValue: \"-\",\r\n },\r\n { fieldName: \"IMEINumber\", fieldValue: \"-\" },\r\n {\r\n fieldName: \"DeviceHealth\",\r\n\r\n fieldValue: `${\r\n this.state.documentType !== null\r\n ? this.state.documentType + \"-\"\r\n : \"\"\r\n }${\r\n this.state.additionalInfo !== undefined\r\n ? this.state.additionalInfo\r\n : \"\"\r\n } `,\r\n },\r\n {\r\n fieldName: \"FirstName\",\r\n fieldValue:\r\n this.state.firstName != undefined ? this.state.firstName : \"\",\r\n },\r\n {\r\n fieldName: \"Surname\",\r\n fieldValue:\r\n this.state.surName != undefined ? this.state.surName : \"\",\r\n },\r\n\r\n {\r\n fieldName: \"AppUrl\",\r\n fieldValue: `${\r\n handler.urls.MODIFY_APPOINTMENT\r\n }${localStorage.getItem(\"lang\")}`,\r\n },\r\n ],\r\n localStorage.getItem(\"lang\") === \"es\"\r\n ? \"Sp\"\r\n : localStorage.getItem(\"lang\"),\r\n this.state.time\r\n );\r\n console.log(\"RESCHEDULE RESPONSE\", response);\r\n if (response.data.error !== undefined && response.data.error === true) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n if (response.data.issueAppointment.resp_message === \"success\") {\r\n const current = this.state.current + 1;\r\n this.setState({\r\n current,\r\n response: response,\r\n });\r\n } else if (\r\n response.data.issueAppointment.resp_message ===\r\n \"Appointment quota for this time slot has reached to its maximum value. Try selecting different time slot.\"\r\n ) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.TimeSlotQuotaExceed,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === 6) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.AppointmentAlreadyCanceled,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === 7) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.AppointmentExpired,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === 3) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.CantRescheduleApptTcktIssued,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === -2) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.AlreadyServed,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === -3) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ApptCanceledAutomatically,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === -6) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.YouAlreadyHaveAnAppointment,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n }\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n\r\n this.state.lang.Ok\r\n );\r\n }\r\n\r\n console.log(\"ERROR IN RESCHEDULE APPOINTMENT: \".error.message);\r\n }\r\n };\r\n\r\n issueAppointment = async () => {\r\n try {\r\n var response = await this.dataService.issueAppointment(\r\n this.state.categoryId,\r\n\r\n this.state.singleBranchDetails.length > 0\r\n ? this.state.singleBranchDetails[0].BranchID\r\n : this.state.selectedBranchFromMap.BranchID,\r\n this.state.singleBranchDetails.length > 0\r\n ? this.state.singleBranchDetails[0].BranchTitle\r\n : this.state.selectedBranchFromMap.BranchTitle,\r\n this.state.singleBranchDetails.length > 0\r\n ? this.state.singleBranchDetails[0].Address\r\n : this.state.selectedBranchFromMap.Address,\r\n this.state.singleBranchDetails.length > 0\r\n ? this.state.singleBranchDetails[0].ContactNo\r\n : this.state.selectedBranchFromMap.ContactNo,\r\n this.state.slotId,\r\n\r\n 2,\r\n moment(this.state.date, \"DD-MMM-YYYY\").format(\"YYYY-MM-DD\"),\r\n\r\n this.state.emailAddress,\r\n 1,\r\n 0,\r\n\r\n [\r\n {\r\n fieldName: \"EmailId\",\r\n fieldValue:\r\n this.state.emailAddress != undefined\r\n ? this.state.emailAddress\r\n : this.state.phoneNumber !== undefined\r\n ? this.state.phoneNumber\r\n : \"\",\r\n },\r\n {\r\n fieldName: \"MobileNumber\",\r\n fieldValue:\r\n this.state.phoneNumber != undefined ? this.state.phoneNumber : \"\",\r\n },\r\n { fieldName: \"PhoneModel\", fieldValue: \"-\" },\r\n { fieldName: \"PhoneColor\", fieldValue: \"-\" },\r\n {\r\n fieldName: \"PhoneService\",\r\n fieldValue: \"-\",\r\n },\r\n { fieldName: \"IMEINumber\", fieldValue: \"-\" },\r\n {\r\n fieldName: \"DeviceHealth\",\r\n fieldValue: `${\r\n this.state.documentType !== null\r\n ? this.state.documentType + \"-\"\r\n : \"\"\r\n }${\r\n this.state.additionalInfo !== undefined\r\n ? this.state.additionalInfo\r\n : \"\"\r\n } `,\r\n },\r\n {\r\n fieldName: \"FirstName\",\r\n fieldValue:\r\n this.state.firstName != undefined ? this.state.firstName : \"\",\r\n },\r\n {\r\n fieldName: \"Surname\",\r\n fieldValue:\r\n this.state.surName === undefined ? \"\" : this.state.surName,\r\n },\r\n\r\n {\r\n fieldName: \"AppUrl\",\r\n fieldValue: `${\r\n handler.urls.MODIFY_APPOINTMENT\r\n }${localStorage.getItem(\"lang\")}`,\r\n },\r\n ],\r\n localStorage.getItem(\"lang\") === \"es\"\r\n ? \"Sp\"\r\n : localStorage.getItem(\"lang\"),\r\n this.state.time\r\n );\r\n\r\n if (response.data.error !== undefined && response.data.error === true) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n this.setState({ response: response, dataLoaded: true });\r\n if (response.data.issueAppointment.resp_status === -6) {\r\n swal(\r\n this.state.lang.AppointmentAlreadyExists,\r\n this.state.lang.YouAlreadyHaveAnAppointment,\r\n\r\n {\r\n icon: \"warning\",\r\n buttons: {\r\n keepPreviousOne: {\r\n text: this.state.lang.KeepPrevious,\r\n value: \"keepPreviousOne\",\r\n },\r\n reschedule: {\r\n text: this.state.lang.Reschedule,\r\n value: \"reschedule\",\r\n closeModal: false,\r\n },\r\n },\r\n }\r\n ).then(async (value) => {\r\n var current;\r\n\r\n switch (value) {\r\n case \"keepPreviousOne\":\r\n if (\r\n this.state.response.data.previous_appointment_info != null\r\n ) {\r\n let prevResponse = this.state.response.data\r\n .previous_appointment_info;\r\n\r\n current = this.state.current + 1;\r\n console.log(\"PREV RESPONSE:\", prevResponse);\r\n this.setState({\r\n categoryId: prevResponse.category_id,\r\n current,\r\n });\r\n }\r\n break;\r\n\r\n case \"reschedule\":\r\n this.rescheduleAppointment();\r\n swal.close();\r\n\r\n break;\r\n\r\n default:\r\n }\r\n });\r\n } else if (response.data.issueAppointment.resp_status === 1) {\r\n const current = this.state.current + 1;\r\n this.setState({ current, response: response });\r\n console.log(\"ISSUE APPT RESPONSE: \", response);\r\n } else if (\r\n response.data.issueAppointment.resp_message ===\r\n \"Appointment quota for this time slot has reached to its maximum value. Try selecting different time slot.\"\r\n ) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.TimeSlotQuotaExceed,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n }\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n }\r\n }\r\n };\r\n\r\n issueTicket = async () => {\r\n try {\r\n let phoneNumber =\r\n this.state.phoneNumber != undefined\r\n ? this.state.phoneNumber.replace(\"+\", \"%2b\")\r\n : \"\";\r\n let issueTicketResponse = await this.dataService.issueTicket(\r\n this.state.singleBranchDetails.length > 0\r\n ? this.state.singleBranchDetails[0].BranchID\r\n : this.state.selectedBranchFromMap.BranchID,\r\n\r\n this.state.categoryId,\r\n\r\n 0,\r\n this.state.emailAddress != undefined\r\n ? this.state.emailAddress\r\n : phoneNumber,\r\n 3,\r\n localStorage.getItem(\"lang\") === \"es\"\r\n ? \"Sp\"\r\n : localStorage.getItem(\"lang\"),\r\n `${this.state.firstName === undefined ? \"\" : this.state.firstName}%20${\r\n this.state.surName === undefined ? \"\" : this.state.surName\r\n }`,\r\n phoneNumber,\r\n this.state.emailAddress != undefined\r\n ? this.state.emailAddress\r\n : phoneNumber,\r\n this.state.noOfPeople != undefined ? this.state.noOfPeople : \"1\",\r\n\r\n `${\r\n this.state.documentType !== null\r\n ? this.state.documentType + \"%2D\"\r\n : \"\"\r\n }${\r\n this.state.additionalInfo !== undefined\r\n ? this.state.additionalInfo\r\n : \"\"\r\n }`\r\n );\r\n if (\r\n issueTicketResponse.data.error !== undefined &&\r\n issueTicketResponse.data.error !== true\r\n ) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n console.log(\"RESPONSE OF ISSUE TICKET: \", issueTicketResponse);\r\n if (\r\n issueTicketResponse.data.ticket_info !== undefined &&\r\n issueTicketResponse.data.ticket_info !== null\r\n ) {\r\n const current = this.state.current + 1;\r\n\r\n this.setState({\r\n dataLoaded: true,\r\n response: issueTicketResponse,\r\n current,\r\n });\r\n console.log(\"STATE ON ISSUE TICKET\", this.state);\r\n } else if (issueTicketResponse.data.resp_status === \"-1\") {\r\n this.setState({ dataLoaded: true });\r\n\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.TicketNotIssued,\r\n this.state.lang.Ok\r\n );\r\n } else if (\r\n issueTicketResponse.data.resp_message ===\r\n \"You already have an issued ticket for the category, in the branch.\"\r\n ) {\r\n this.setState({ dataLoaded: true });\r\n\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.TicketAlreadyIssued,\r\n this.state.lang.Ok\r\n );\r\n }\r\n }\r\n\r\n // this.setState({ dataLoaded: true });\r\n } catch (error) {\r\n this.setState({ dataLoaded: true });\r\n if (error.message.includes(\"404\")) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.UrlNotFound,\r\n this.state.lang.Ok\r\n );\r\n } else if (error.message.includes(\"Network Error\")) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.InternetConnectionError,\r\n this.state.lang.Ok\r\n );\r\n } else if (error.message.includes(\"timeout\")) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n }\r\n console.log(\"ERROR IN ISSUE TICKET WITH CATEGORY SELECTION\", error);\r\n }\r\n };\r\n\r\n issueQRTicket = async () => {\r\n try {\r\n let phoneNumber =\r\n this.state.phoneNumber != undefined\r\n ? this.state.phoneNumber.replace(\"+\", \"%2b\")\r\n : \"\";\r\n let qrIssueTicketResponse = await this.dataService.issueTicketQR(\r\n this.queryBranchId,\r\n this.querySQN,\r\n \"W\",\r\n this.state.isAssistanceChecked ? this.priority : \"-1\",\r\n this.state.firstName != undefined ? this.state.firstName : \"\", //p1\r\n phoneNumber, //p2\r\n this.state.emailAddress != undefined ? this.state.emailAddress : \"\", //p3\r\n this.state.noOfPeople != undefined ? this.state.noOfPeople : \"1\", //p4\r\n \"-\", //p5\r\n localStorage.getItem(\"lang\") === \"es\" //p6\r\n ? \"Sp\"\r\n : localStorage.getItem(\"lang\"),\r\n `${\r\n this.state.documentType !== null\r\n ? this.state.documentType + \"%2D\"\r\n : \"\"\r\n }${\r\n this.state.additionalInfo !== undefined\r\n ? this.state.additionalInfo\r\n : \"\"\r\n } `, //p7\r\n \"\", //p8\r\n \"\", //p9\r\n \"\" //p10\r\n );\r\n if (\r\n qrIssueTicketResponse.data.error !== undefined &&\r\n qrIssueTicketResponse.data.error !== true\r\n ) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n let response = JSON.parse(qrIssueTicketResponse.data);\r\n let parsedResponse = JSON.parse(response[0].ResponseData);\r\n parsedResponse[\"MessageText\"] = response[0].MessageText;\r\n parsedResponse[\"IsTicketCalled\"] = response[0].IsTicketCalled;\r\n console.log(\"PARSED RESPONSE: \", response);\r\n let timestamp = parsedResponse[\"data\"].category_approx_waittime;\r\n console.log(\"Timestamp: \", timestamp);\r\n var hours = Math.floor(timestamp / 60 / 60);\r\n var minutes = Math.floor(timestamp / 60) - hours * 60;\r\n\r\n console.log(\"PARSED RESPONSE: \", parsedResponse);\r\n\r\n if (parseInt(hours) < 0 || parseInt(hours) === 0) {\r\n hours = \"00\";\r\n }\r\n if (parseInt(minutes) < 0 || parseInt(minutes) === 0) {\r\n minutes = \"00\";\r\n }\r\n\r\n if (hours.toString().length === 1) {\r\n hours = `0${hours}`;\r\n }\r\n\r\n if (minutes.toString().length === 1) {\r\n minutes = `0${minutes}`;\r\n }\r\n\r\n var formatted = hours + \":\" + minutes;\r\n\r\n parsedResponse[\"data\"][\"category_approx_waittime\"] = formatted;\r\n if (parsedResponse.status === \"Success\") {\r\n const current = this.state.current + 1;\r\n this.setState({\r\n dataLoaded: true,\r\n response: parsedResponse,\r\n current,\r\n });\r\n } else {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n this.setState({\r\n dataLoaded: true,\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n this.setState({\r\n dataLoaded: true,\r\n });\r\n console.log(\"ERROR IN QR Issue Ticket\", error.message);\r\n }\r\n };\r\n\r\n apiCallForSamsung = async () => {\r\n this.setState({ dataLoaded: false });\r\n if (this.state.isConfirmedReschedule === true) {\r\n try {\r\n let response = await this.dataService.rescheduleAppointment(\r\n this.state.response.data.previous_appointment_info === null\r\n ? this.state.response.data.issueAppointment.appointment_number\r\n : this.state.response.data.previous_appointment_info\r\n .appointment_number,\r\n this.state.response.data.previous_appointment_info === null\r\n ? this.state.categoryId\r\n : this.state.response.data.previous_appointment_info.category_id,\r\n this.state.categoryId,\r\n this.state.singleBranchDetails[0].BranchID,\r\n this.state.singleBranchDetails[0].BranchTitle,\r\n this.state.singleBranchDetails[0].Address,\r\n this.state.singleBranchDetails[0].ContactNo,\r\n this.state.slotId,\r\n 2,\r\n moment(this.state.date, \"DD-MMM-YYYY\").format(\"YYYY-MM-DD\"),\r\n this.state.emailAddress,\r\n 1,\r\n 0,\r\n [\r\n {\r\n fieldName: \"EmailId\",\r\n fieldValue:\r\n this.state.emailAddress != undefined\r\n ? this.state.emailAddress\r\n : this.state.phoneNumber !== undefined\r\n ? this.state.phoneNumber\r\n : \"\",\r\n },\r\n {\r\n fieldName: \"MobileNumber\",\r\n fieldValue:\r\n this.state.phoneNumber !== undefined\r\n ? this.state.phoneNumber\r\n : \"\",\r\n },\r\n { fieldName: \"PhoneModel\", fieldValue: this.state.model },\r\n { fieldName: \"PhoneColor\", fieldValue: this.state.color },\r\n {\r\n fieldName: \"PhoneService\",\r\n fieldValue: this.state.phoneServiceName,\r\n },\r\n { fieldName: \"IMEINumber\", fieldValue: this.state.imei },\r\n {\r\n fieldName: \"DeviceHealth\",\r\n fieldValue: this.state.deviceHealth,\r\n },\r\n {\r\n fieldName: \"FirstName\",\r\n fieldValue:\r\n this.state.firstName !== undefined ? this.state.firstName : \"\",\r\n },\r\n {\r\n fieldName: \"Surname\",\r\n fieldValue:\r\n this.state.surName !== undefined ? this.state.surName : \"\",\r\n },\r\n {\r\n fieldName: \"AppUrl\",\r\n fieldValue: `${\r\n handler.urls.MODIFY_APPOINTMENT\r\n }${localStorage.getItem(\"lang\")}`,\r\n },\r\n {\r\n fieldName: \"ProductType\",\r\n fieldValue:\r\n this.state.productType !== undefined\r\n ? this.state.productType\r\n : \"\",\r\n },\r\n {\r\n fieldName: \"ProductFamily\",\r\n fieldValue:\r\n this.state.productFamily !== undefined\r\n ? this.state.productFamily\r\n : \"\",\r\n },\r\n ],\r\n localStorage.getItem(\"lang\") === \"es\"\r\n ? \"Sp\"\r\n : localStorage.getItem(\"lang\"),\r\n this.state.time\r\n );\r\n console.log(\"SAMSUNG RESCHEDULE RESPONSE\", response);\r\n if (response.data.error !== undefined && response.data.error === true) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === 1) {\r\n const current = this.state.current + 1;\r\n this.setState({ current, response: response });\r\n } else if (\r\n response.data.issueAppointment.resp_message ===\r\n \"Appointment quota for this time slot has reached to its maximum value. Try selecting different time slot.\"\r\n ) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.TimeSlotQuotaExceed,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === 6) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.AppointmentAlreadyCanceled,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === 7) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.AppointmentExpired,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === 3) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.CantRescheduleApptTcktIssued,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === -2) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.AlreadyServed,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === -3) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ApptCanceledAutomatically,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === -6) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.YouAlreadyHaveAnAppointment,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n }\r\n }\r\n } else {\r\n try {\r\n var response = await this.dataService.issueAppointment(\r\n this.state.categoryId,\r\n this.state.singleBranchDetails[0].BranchID,\r\n this.state.singleBranchDetails[0].BranchTitle,\r\n this.state.singleBranchDetails[0].Address,\r\n this.state.singleBranchDetails[0].ContactNo,\r\n this.state.slotId,\r\n 2,\r\n moment(this.state.date, \"DD-MMM-YYYY\").format(\"YYYY-MM-DD\"),\r\n this.state.emailAddress,\r\n 1,\r\n 0,\r\n [\r\n {\r\n fieldName: \"EmailId\",\r\n fieldValue:\r\n this.state.emailAddress != undefined\r\n ? this.state.emailAddress\r\n : this.state.phoneNumber !== undefined\r\n ? this.state.phoneNumber\r\n : \"\",\r\n },\r\n {\r\n fieldName: \"MobileNumber\",\r\n fieldValue:\r\n this.state.phoneNumber !== undefined\r\n ? this.state.phoneNumber\r\n : \"\",\r\n },\r\n { fieldName: \"PhoneModel\", fieldValue: this.state.model },\r\n { fieldName: \"PhoneColor\", fieldValue: this.state.color },\r\n {\r\n fieldName: \"PhoneService\",\r\n fieldValue: this.state.phoneServiceName,\r\n },\r\n { fieldName: \"IMEINumber\", fieldValue: this.state.imei },\r\n { fieldName: \"DeviceHealth\", fieldValue: this.state.deviceHealth },\r\n {\r\n fieldName: \"FirstName\",\r\n fieldValue:\r\n this.state.firstName !== undefined ? this.state.firstName : \"\",\r\n },\r\n {\r\n fieldName: \"Surname\",\r\n fieldValue:\r\n this.state.surName !== undefined ? this.state.surName : \"\",\r\n },\r\n {\r\n fieldName: \"AppUrl\",\r\n fieldValue: `${`${\r\n handler.urls.MODIFY_APPOINTMENT\r\n }${localStorage.getItem(\"lang\")}`}`,\r\n },\r\n {\r\n fieldName: \"ProductType\",\r\n fieldValue:\r\n this.state.productType !== undefined\r\n ? this.state.productType\r\n : \"\",\r\n },\r\n {\r\n fieldName: \"ProductFamily\",\r\n fieldValue:\r\n this.state.productFamily !== undefined\r\n ? this.state.productFamily\r\n : \"\",\r\n },\r\n ],\r\n localStorage.getItem(\"lang\") === \"es\"\r\n ? \"Sp\"\r\n : localStorage.getItem(\"lang\"),\r\n this.state.time\r\n );\r\n this.setState({ response: response, dataLoaded: true });\r\n console.log(\r\n \"SAMSUNG RESPONSE OF ISSUE APPOINTMENT STATE\",\r\n this.state.response\r\n );\r\n\r\n if (response.data.error !== undefined && response.data.error === true) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === -6) {\r\n swal(\r\n this.state.lang.AppointmentAlreadyExists,\r\n\r\n this.state.lang.YouAlreadyHaveAnAppointment,\r\n\r\n {\r\n icon: \"warning\",\r\n buttons: {\r\n keepPreviousOne: {\r\n text: this.state.lang.KeepPrevious,\r\n value: \"keepPreviousOne\",\r\n },\r\n reschedule: {\r\n text: this.state.lang.Reschedule,\r\n value: \"reschedule\",\r\n closeModal: false,\r\n },\r\n },\r\n }\r\n ).then(async (value) => {\r\n var current;\r\n\r\n switch (value) {\r\n case \"keepPreviousOne\":\r\n if (\r\n this.state.response.data.previous_appointment_info != null\r\n ) {\r\n let prevResponse = this.state.response.data\r\n .previous_appointment_info;\r\n console.log(\"PREV RESPONSE ON KEEP PREVIOUS:\", prevResponse);\r\n\r\n current = this.state.current + 1;\r\n this.setState({\r\n model: prevResponse.phone_model,\r\n color: prevResponse.phone_color,\r\n phoneServiceName: prevResponse.phone_service,\r\n imei: prevResponse.imei_number,\r\n categoryId: prevResponse.category_id,\r\n deviceHealth: prevResponse.device_health,\r\n current,\r\n });\r\n }\r\n break;\r\n\r\n case \"reschedule\":\r\n try {\r\n let response = await this.dataService.rescheduleAppointment(\r\n this.state.response.data.previous_appointment_info\r\n .appointment_number,\r\n this.state.response.data.previous_appointment_info\r\n .category_id,\r\n this.state.categoryId,\r\n this.state.singleBranchDetails[0].BranchID,\r\n this.state.singleBranchDetails[0].BranchTitle,\r\n this.state.singleBranchDetails[0].Address,\r\n this.state.singleBranchDetails[0].ContactNo,\r\n this.state.slotId,\r\n 2,\r\n moment(this.state.date, \"DD-MMM-YYYY\").format(\"YYYY-MM-DD\"),\r\n this.state.emailAddress,\r\n 1,\r\n 0,\r\n [\r\n {\r\n fieldName: \"EmailId\",\r\n fieldValue:\r\n this.state.emailAddress != undefined\r\n ? this.state.emailAddress\r\n : this.state.phoneNumber !== undefined\r\n ? this.state.phoneNumber\r\n : \"\",\r\n },\r\n {\r\n fieldName: \"MobileNumber\",\r\n fieldValue:\r\n this.state.phoneNumber !== undefined\r\n ? this.state.phoneNumber\r\n : \"\",\r\n },\r\n { fieldName: \"PhoneModel\", fieldValue: this.state.model },\r\n { fieldName: \"PhoneColor\", fieldValue: this.state.color },\r\n {\r\n fieldName: \"PhoneService\",\r\n fieldValue: this.state.phoneServiceName,\r\n },\r\n { fieldName: \"IMEINumber\", fieldValue: this.state.imei },\r\n {\r\n fieldName: \"DeviceHealth\",\r\n fieldValue: this.state.deviceHealth,\r\n },\r\n {\r\n fieldName: \"FirstName\",\r\n fieldValue:\r\n this.state.firstName !== undefined\r\n ? this.state.firstName\r\n : \"\",\r\n },\r\n {\r\n fieldName: \"Surname\",\r\n fieldValue:\r\n this.state.surName !== undefined\r\n ? this.state.surName\r\n : \"\",\r\n },\r\n {\r\n fieldName: \"AppUrl\",\r\n fieldValue: `${\r\n handler.urls.MODIFY_APPOINTMENT\r\n }${localStorage.getItem(\"lang\")}`,\r\n },\r\n {\r\n fieldName: \"ProductType\",\r\n fieldValue:\r\n this.state.productType !== undefined\r\n ? this.state.productType\r\n : \"\",\r\n },\r\n {\r\n fieldName: \"ProductFamily\",\r\n fieldValue:\r\n this.state.productFamily !== undefined\r\n ? this.state.productFamily\r\n : \"\",\r\n },\r\n ],\r\n localStorage.getItem(\"lang\") === \"es\"\r\n ? \"Sp\"\r\n : localStorage.getItem(\"lang\"),\r\n this.state.time\r\n );\r\n console.log(\"SAMSUNG RESCHEDULE RESPONSE\", response);\r\n swal.close();\r\n if (\r\n response.data.error !== undefined &&\r\n response.data.error === true\r\n ) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === 1) {\r\n const current = this.state.current + 1;\r\n this.setState({ current, response: response });\r\n } else if (\r\n response.data.issueAppointment.resp_message ===\r\n \"Appointment quota for this time slot has reached to its maximum value. Try selecting different time slot.\"\r\n ) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.TimeSlotQuotaExceed,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === 6) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.AppointmentAlreadyCanceled,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === 7) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.AppointmentExpired,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === 3) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.CantRescheduleApptTcktIssued,\r\n this.state.lang.Ok\r\n );\r\n } else if (\r\n response.data.issueAppointment.resp_status === -2\r\n ) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.AlreadyServed,\r\n this.state.lang.Ok\r\n );\r\n } else if (\r\n response.data.issueAppointment.resp_status === -3\r\n ) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ApptCanceledAutomatically,\r\n this.state.lang.Ok\r\n );\r\n } else if (\r\n response.data.issueAppointment.resp_status === -6\r\n ) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.YouAlreadyHaveAnAppointment,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n }\r\n }\r\n\r\n break;\r\n default:\r\n }\r\n });\r\n } else if (response.data.issueAppointment.resp_status === 1) {\r\n const current = this.state.current + 1;\r\n this.setState({ current, response: response });\r\n } else if (\r\n response.data.issueAppointment.resp_message ===\r\n \"Appointment quota for this time slot has reached to its maximum value. Try selecting different time slot.\"\r\n ) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.TimeSlotQuotaExceed,\r\n this.state.lang.Ok\r\n );\r\n } else if (response.data.issueAppointment.resp_status === -1) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.InvalidFieldsCantIssue,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok\r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n genericApiCall = async () => {\r\n this.setState({ dataLoaded: false });\r\n if (this.state.isConfirmedReschedule === true) {\r\n this.rescheduleAppointment();\r\n } else if (this.state.issueTicket === true) {\r\n this.issueTicket();\r\n } else if (this.state.issueQrTicket === true) {\r\n if (\r\n this.isAdditionalValidation === true &&\r\n this.state.additionalInfo === this.ticketIssuePassword\r\n ) {\r\n this.issueQRTicket();\r\n } else if (\r\n this.isAdditionalValidation === true &&\r\n this.state.additionalInfo !== undefined &&\r\n this.state.additionalInfo != this.ticketIssuePassword\r\n ) {\r\n this.setState({ dataLoaded: true });\r\n\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.IncorrectPasswordMsg,\r\n this.state.lang.Ok\r\n );\r\n } else if (\r\n this.state.additionalInfo === undefined &&\r\n this.isAdditionalValidation === true\r\n ) {\r\n this.setState({ dataLoaded: true });\r\n\r\n handler.showErrorMessage(\r\n this.state.lang.Error,\r\n this.state.lang.PasswordEmptyMsg,\r\n this.state.lang.Ok\r\n );\r\n } else if (this.isAdditionalValidation === false) {\r\n this.issueQRTicket();\r\n }\r\n } else {\r\n this.issueAppointment();\r\n }\r\n };\r\n\r\n next() {\r\n if (this.state.current === 3 && this.runApp.toLowerCase() === \"samsung\") {\r\n this.apiCallForSamsung();\r\n } else if (\r\n this.enableCategorySelection === true &&\r\n this.runApp.toLowerCase() !== \"samsung\" &&\r\n this.state.current == 3\r\n ) {\r\n this.genericApiCall();\r\n } else if (\r\n this.state.current === 2 &&\r\n this.runApp.toLowerCase() !== \"samsung\" &&\r\n this.enableCategorySelection === false\r\n ) {\r\n this.genericApiCall();\r\n } else if (this.state.issueTicket === true && this.steps.length > 4) {\r\n //this condition for issue ticket case for not selecting slots\r\n const current = this.state.current + 2;\r\n this.setState({ current });\r\n } else {\r\n const current = this.state.current + 1;\r\n this.setState({ current });\r\n }\r\n\r\n console.log(\"CURRENT STATE\", this.state);\r\n // console.log(\"CURRENT \", this.state.current);\r\n // console.log(\"STEPS LENGTH \", this.steps.length - 1);\r\n }\r\n\r\n prev() {\r\n //condition for going back to category screen from user details in case of issue ticket\r\n if (this.state.current === 3 && this.state.issueTicket === true) {\r\n const current = this.state.current - 2;\r\n this.setState({ current });\r\n } else if (this.state.current === 2 && this.state.issueTicket === true) {\r\n const current = this.state.current - 2;\r\n this.setState({ current });\r\n } else {\r\n const current = this.state.current - 1;\r\n this.setState({ current });\r\n }\r\n }\r\n\r\n renderStepsAction = () => {\r\n const queryStringBranchCode = queryString.parse(window.location.search);\r\n var queryBranchCode = queryStringBranchCode.branchCode;\r\n const queryStringSQN = queryString.parse(window.location.search);\r\n var querySQN = queryStringSQN.sqn;\r\n if (this.runApp.toLowerCase() === \"samsung\") {\r\n return (\r\n
\r\n {this.state.showBackBtn && this.state.current > 0 && (\r\n this.prev()}\r\n bgColor={this.nextAndBackBtnColor}\r\n >\r\n {this.state.lang.Back}\r\n \r\n )}\r\n {this.state.showNextBtn &&\r\n this.state.current < this.steps.length - 1 && (\r\n (this.state.dataLoaded ? this.next() : null)}\r\n bgColor={this.nextAndBackBtnColor}\r\n >\r\n {this.state.dataLoaded === false ? (\r\n \r\n ) : null}\r\n  \r\n {this.state.issueQrTicket === true\r\n ? this.state.lang.TakeATicket\r\n : this.state.lang.Next}\r\n \r\n )}\r\n
\r\n );\r\n } else if (\r\n this.enableCategorySelection === false &&\r\n this.runApp.toLowerCase() !== \"samsung\"\r\n ) {\r\n return (\r\n
\r\n {this.state.showBackBtn &&\r\n ((this.state.current > 1 &&\r\n queryBranchCode !== undefined &&\r\n this.issueTicketFlag !== \"true\" && // this cond is for hiding backbutton when issue tic in url is true cat selection = false\r\n this.state.issueQrTicket === false) ||\r\n (this.state.current > 0 &&\r\n queryBranchCode === undefined &&\r\n this.state.issueQrTicket === false)) && (\r\n this.prev()}\r\n bgColor={this.nextAndBackBtnColor}\r\n >\r\n {this.state.lang.Back}\r\n \r\n )}\r\n {this.state.showNextBtn &&\r\n this.state.current > 0 &&\r\n this.enableCategorySelection === false &&\r\n this.runApp.toLowerCase() !== \"samsung\" &&\r\n this.state.current < this.steps.length - 1 && (\r\n (this.state.dataLoaded ? this.next() : null)}\r\n bgColor={this.nextAndBackBtnColor}\r\n >\r\n {this.state.dataLoaded === false ? (\r\n \r\n ) : null}\r\n  \r\n {this.state.issueQrTicket === true\r\n ? this.state.lang.TakeATicket\r\n : this.state.lang.Next}\r\n \r\n )}\r\n
\r\n );\r\n } else if (\r\n this.enableCategorySelection === true &&\r\n this.runApp.toLowerCase() !== \"samsung\"\r\n ) {\r\n return (\r\n
\r\n {this.state.showBackBtn &&\r\n ((this.state.current > 1 &&\r\n queryBranchCode !== undefined &&\r\n this.state.issueQrTicket === false) ||\r\n (this.state.current > 0 &&\r\n queryBranchCode === undefined &&\r\n this.state.issueQrTicket === false)) && (\r\n this.prev()}\r\n bgColor={this.nextAndBackBtnColor}\r\n >\r\n {this.state.lang.Back}\r\n \r\n )}\r\n\r\n {this.state.showNextBtn &&\r\n this.state.current > 0 &&\r\n this.enableCategorySelection === true &&\r\n this.runApp.toLowerCase() !== \"samsung\" &&\r\n this.state.current < this.steps.length - 1 && (\r\n (this.state.dataLoaded ? this.next() : null)}\r\n bgColor={this.nextAndBackBtnColor}\r\n >\r\n {this.state.dataLoaded === false ? (\r\n \r\n ) : null}\r\n  \r\n {this.state.issueQrTicket === true\r\n ? this.state.lang.TakeATicket\r\n : this.state.lang.Next}\r\n \r\n )}\r\n
\r\n );\r\n }\r\n };\r\n\r\n renderStepTranslations = () => {\r\n if (this.steps.length > 0) {\r\n if (this.runApp.toLowerCase() == \"samsung\") {\r\n this.steps[0][\"title\"] = this.state.lang.StepDevice;\r\n this.steps[1][\"title\"] = this.state.lang.StepService;\r\n this.steps[2][\"title\"] = this.state.lang.StepSlots;\r\n this.steps[3][\"title\"] = this.state.lang.StepCustomerDetails;\r\n this.steps[4][\"title\"] = this.state.lang.StepComplete;\r\n } else if (this.enableCategorySelection === false) {\r\n this.steps[0][\"title\"] = this.state.lang.Branch;\r\n this.steps[1][\"title\"] = this.state.lang.StepSlots;\r\n this.steps[2][\"title\"] = this.state.lang.StepCustomerDetails;\r\n this.steps[3][\"title\"] = this.state.lang.StepComplete;\r\n } else if (this.enableCategorySelection === true) {\r\n this.steps[0][\"title\"] = this.state.lang.Branch;\r\n this.steps[1][\"title\"] = this.state.lang.Category;\r\n this.steps[2][\"title\"] = this.state.lang.StepSlots;\r\n this.steps[3][\"title\"] = this.state.lang.StepCustomerDetails;\r\n this.steps[4][\"title\"] = this.state.lang.StepComplete;\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n this.renderStepTranslations();\r\n if (this.steps.length > 0) {\r\n if (this.state.singleBranchDetails === undefined) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {this.showFooter === false ? null :
}\r\n
\r\n
\r\n );\r\n } else if (\r\n this.queryBranchCode !== undefined &&\r\n this.runApp.toLowerCase() !== \"samsung\" &&\r\n this.state.singleBranchDetails.length >= 0\r\n ) {\r\n return (\r\n
\r\n
\r\n \r\n\r\n \r\n {this.steps.map((item, i) => (\r\n \r\n ))}\r\n \r\n
\r\n {this.steps[this.state.current].content}\r\n
\r\n\r\n {this.renderStepsAction(this.state.lang)}\r\n\r\n {this.showFooter === false ? null :
}\r\n
\r\n
\r\n );\r\n } else if (\r\n this.queryBranchCode === undefined ||\r\n this.runApp === \"samsung\"\r\n ) {\r\n return (\r\n
\r\n
\r\n \r\n\r\n \r\n {this.steps.map((item, i) => (\r\n \r\n ))}\r\n \r\n\r\n
\r\n {this.steps[this.state.current].content}\r\n
\r\n\r\n {this.renderStepsAction()}\r\n\r\n {this.showFooter === false ? null :
}\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n \r\n\r\n \r\n {this.showFooter === false ? null :
}\r\n
\r\n
\r\n );\r\n }\r\n } else {\r\n return ;\r\n }\r\n }\r\n}\r\n\r\nexport default withRouter(Main);\r\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-02-24 15:49:21\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2021-01-28 13:52:04\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport { DataService } from \"../services/data.service\";\r\n\r\nimport $ from \"jquery\";\r\n\r\nimport { Empty } from \"antd\";\r\nimport Loader from \"../components/loader/loader\";\r\nimport * as handler from \"../components/utils/handler\";\r\n\r\nimport dummyData from \"../data/deviceDetails.json\";\r\n\r\nimport { Select } from \"antd\";\r\n\r\nconst { Option } = Select;\r\n\r\nclass DeviceDetails extends Component {\r\n model = undefined;\r\n color = null;\r\n selectedProductType = null;\r\n selectedProductFamily = null;\r\n imei = null;\r\n service = new DataService();\r\n state = {\r\n phoneModels: [],\r\n phoneColors: [],\r\n productTypes: [],\r\n productFamily: [],\r\n\r\n selectedModel: undefined,\r\n\r\n dataLoaded: false,\r\n lang: {},\r\n };\r\n imeiRef = React.createRef();\r\n isValidIemiSerielNumber = false;\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n URL = window[\"app-config\"].URL;\r\n\r\n componentDidMount() {\r\n this.setState({ lang: handler.setTranslations() });\r\n this.props.hideBtnNext();\r\n this.props.setHeading(null);\r\n this.getDeviceDetails();\r\n // this.getUpdatedDeviceDetails();\r\n $(\".validate-text\").on(\"keypress\", function (event) {\r\n var regex = new RegExp(\"^[a-zA-Z0-9]+$\");\r\n var key = String.fromCharCode(\r\n !event.charCode ? event.which : event.charCode\r\n );\r\n if (!regex.test(key)) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n getDeviceDetails = async () => {\r\n try {\r\n let response = await this.service.getDeviceDetails();\r\n\r\n if (response.data.error !== undefined && response.data.error === true) {\r\n this.setState({\r\n productTypes: undefined,\r\n dataLoaded: true,\r\n });\r\n } else {\r\n let productTypes = response.data.productsInfo.productTypes;\r\n this.setState({\r\n productTypes: productTypes === \"\" ? [] : productTypes,\r\n dataLoaded: true,\r\n });\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n this.setState({\r\n productTypes: undefined,\r\n phoneColors: [],\r\n productFamily: [],\r\n phoneModels: [],\r\n dataLoaded: true,\r\n });\r\n } else {\r\n this.setState({\r\n productTypes: [],\r\n productFamily: [],\r\n phoneModels: [],\r\n phoneColors: [],\r\n dataLoaded: true,\r\n });\r\n }\r\n }\r\n };\r\n\r\n getUpdatedDeviceDetails = () => {\r\n this.setState({ productTypes: dummyData.productTypes });\r\n };\r\n\r\n onModelSearch = (val) => {\r\n console.log(\"search:\", val);\r\n };\r\n\r\n _onProductTypeChange = (e) => {\r\n this.selectedProductType = e.target.value;\r\n this.sendDataToParent();\r\n\r\n $(\"#family-selector\").val(\"-1\");\r\n $(\"#color-selector\").val(\"-1\");\r\n this.props.hideBtnNext();\r\n\r\n let family = this.state.productTypes.filter(\r\n (f) => f.ProductName === e.target.value\r\n );\r\n\r\n this.setState({\r\n productFamily: family[0].ProductFamily,\r\n phoneModels: [],\r\n selectedModel: undefined,\r\n });\r\n };\r\n\r\n _onProductFamilyChange = (e) => {\r\n this.selectedProductFamily = e.target.value;\r\n this.sendDataToParent();\r\n\r\n $(\"#model-selector\").val(\"-1\");\r\n $(\"#color-selector\").val(\"-1\");\r\n this.props.hideBtnNext();\r\n\r\n let models = this.state.productFamily.filter(\r\n (f) => f.FamilyName === e.target.value\r\n );\r\n\r\n this.setState({\r\n phoneModels: models[0].phoneModels,\r\n selectedModel: undefined,\r\n });\r\n };\r\n\r\n _onModelChange = (value) => {\r\n // this.model = value;\r\n this.setState({ selectedModel: value });\r\n\r\n this.sendDataToParent();\r\n\r\n $(\"#color-selector\").val(\"-1\");\r\n this.props.hideBtnNext();\r\n\r\n var colors = this.state.phoneModels.filter((c) => c.ModelName === value);\r\n\r\n this.setState({ phoneColors: colors[0].PhoneColor });\r\n };\r\n\r\n _onModelSearch = (val) => {\r\n console.log(\"search:\", val);\r\n };\r\n\r\n _onColorChange = (e) => {\r\n this.color = e.target.value;\r\n\r\n this.sendDataToParent();\r\n };\r\n\r\n sendDataToParent = () => {\r\n this.props.deviceDetails({\r\n model: this.state.selectedModel,\r\n color: this.color,\r\n productType: this.selectedProductType,\r\n productFamily: this.selectedProductFamily,\r\n });\r\n };\r\n\r\n render() {\r\n if (this.state.productTypes === undefined) {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n } else if (this.state.dataLoaded === false) {\r\n return (\r\n
\r\n
\r\n

{this.state.lang.TellDeviceDetailsHeading}

\r\n \r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n

{this.state.lang.TellDeviceDetailsHeading}

\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n\r\n {this.state.productTypes !== null &&\r\n this.state.productTypes.length > 0\r\n ? this.state.productTypes.map((data, i) => {\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n {this.state.productFamily.length > 0\r\n ? this.state.productFamily.map((data, i) => {\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n {this.state.phoneModels !== null\r\n ? this.state.phoneModels.map((data, i) => {\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n {this.state.phoneColors.length > 0 &&\r\n this.state.selectedModel !== undefined\r\n ? this.state.phoneColors.map((data, i) => {\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default DeviceDetails;\r\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-02-24 15:49:21\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2021-01-29 11:07:27\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport { DataService } from \"../services/data.service\";\r\nimport loader from \"../assets/images/loader.gif\";\r\nimport { Empty } from \"antd\";\r\nimport $ from \"jquery\";\r\nimport * as handler from \"../components/utils/handler\";\r\n\r\nclass ServiceDetails extends Component {\r\n defaultCategory = window[\"app-config\"].defaultCategory;\r\n defaultServices = window[\"app-config\"].defaultServices;\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n isMandatoryImei = window[\"app-config\"].isMandatoryImei;\r\n collections = window[\"app-config\"].collections;\r\n URL = window[\"app-config\"].URL;\r\n\r\n categoryId = null;\r\n deviceHealth = null;\r\n phoneServiceName = null;\r\n imei = null;\r\n\r\n imeiRef = React.createRef();\r\n isValidIemiSerielNumber = false;\r\n\r\n isRepairServiceSelected = false;\r\n\r\n dataService = new DataService();\r\n\r\n state = {\r\n categories: [],\r\n dataLoaded: false,\r\n singleBranchDetails: [],\r\n phoneServices: [],\r\n selectedCategory: null,\r\n selectedService: null,\r\n dataLoaded: false,\r\n serverResponded: true,\r\n imei: null,\r\n isValidImei: undefined,\r\n lang: {},\r\n };\r\n\r\n async componentDidMount() {\r\n this.setState({ lang: handler.setTranslations() });\r\n this.getData();\r\n this.props.setHeading(null);\r\n this.props.hideBtnNext();\r\n }\r\n\r\n getData = async () => {\r\n try {\r\n var branchId = await (await this.dataService.getSingleBranchDetails())\r\n .data.branchList[0].BranchID;\r\n\r\n let phoneServiceResp = await this.dataService.getDeviceDetails();\r\n let categoryListResp = await this.dataService.getCategoriesByBranchId(\r\n branchId\r\n );\r\n\r\n let filteredCategories = handler.compareArrayOfObject(\r\n categoryListResp.data.categoryList,\r\n this.collections.categories\r\n );\r\n\r\n if (\r\n (phoneServiceResp.data.error !== undefined &&\r\n phoneServiceResp.data.error === true) ||\r\n (categoryListResp.data.error !== undefined &&\r\n categoryListResp.data.error === true)\r\n ) {\r\n this.setState({\r\n categories: [],\r\n dataLoaded: true,\r\n phoneServices: [],\r\n serverResponded: false,\r\n });\r\n } else {\r\n var phoneServices = phoneServiceResp.data.productsInfo.phoneService;\r\n let categoryList = categoryListResp.data.categoryList;\r\n\r\n this.setState({\r\n categories:\r\n filteredCategories.length > 0 ? filteredCategories : categoryList,\r\n dataLoaded: true,\r\n // singleBranchDetails: branchID,\r\n phoneServices: phoneServices,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"ERROR\", error.message);\r\n this.setState({\r\n categories: [],\r\n phoneServices: [],\r\n dataLoaded: true,\r\n singleBranchDetails: [],\r\n serverResponded: error.message.includes(\"timeout\") ? false : true,\r\n });\r\n }\r\n };\r\n\r\n onCategoryChange = (e) => {\r\n this.categoryId = e.target.value;\r\n\r\n this.setState({ selectedCategory: e.target.value });\r\n\r\n if (e.target.value !== this.defaultCategory) {\r\n this.phoneServiceName = null;\r\n this.imei = null;\r\n this.setState({ selectedService: null, imei: null });\r\n }\r\n\r\n this.sendDataToParent();\r\n };\r\n\r\n onDeviceHealthChange = (e) => {\r\n if (this.state.isValidImei === false) {\r\n console.log(\"IN IF DH\");\r\n this.props.hideBtnNext();\r\n } else if (\r\n this.defaultServices.includes(this.state.selectedService) &&\r\n this.state.imei === null &&\r\n this.isMandatoryImei === true &&\r\n this.state.isValidImei === undefined\r\n ) {\r\n console.log(\"IN ELSEIF DH\");\r\n this.props.hideBtnNext();\r\n } else {\r\n console.log(\"IN ELSE DH\");\r\n this.deviceHealth = e.target.value;\r\n this.sendDataToParent();\r\n }\r\n };\r\n\r\n onPhoneServiceChange = (e) => {\r\n this.phoneServiceName = e.target.value;\r\n this.setState({ selectedService: e.target.value });\r\n\r\n // if (e.target.value !== this.defaultService) {\r\n // this.imei = null;\r\n // }\r\n\r\n this.sendDataToParent();\r\n\r\n if (\r\n this.defaultServices.includes(e.target.value) &&\r\n this.state.imei === null &&\r\n this.isMandatoryImei === true &&\r\n (this.state.isValidImei === false || this.state.isValidImei === undefined)\r\n ) {\r\n console.log(\"IN IF\");\r\n this.props.hideBtnNext();\r\n } else if (\r\n !this.defaultServices.includes(e.target.value) &&\r\n this.state.isValidImei === false &&\r\n this.state.imei !== \"\"\r\n ) {\r\n console.log(\"IN ELSE IF\");\r\n this.props.hideBtnNext();\r\n } else if (this.state.imei !== null && this.state.isValidImei === false) {\r\n this.props.hideBtnNext();\r\n } else {\r\n console.log(\"IN ELSE\", this.state.isValidImei);\r\n console.log(\"IN ELSE IMEIE: \", this.state.imei);\r\n this.props.showBtnNext();\r\n }\r\n };\r\n\r\n onImeiChange = (e) => {\r\n if (e.target.value.length === 0) {\r\n $(\"#imei-field\").css(\"border-color\", \"#dadada\");\r\n this.setState({ isValidImei: undefined, imei: null });\r\n // this.isValidIemiSerielNumber = true;\r\n // this.imei = e.target.value;\r\n if (\r\n this.defaultServices.includes(this.state.selectedService) &&\r\n e.target.value === \"\" &&\r\n this.isMandatoryImei === true\r\n ) {\r\n this.props.hideBtnNext();\r\n } else {\r\n this.props.showBtnNext();\r\n }\r\n } else if (\r\n (e.target.value.length !== 0 && e.target.value.length < 11) ||\r\n /\\s/.test(e.target.value) ||\r\n !/^[a-zA-ZÀ-ÿ0-9]+$/.test(e.target.value) ||\r\n (e.target.value.length > 11 && e.target.value.length < 15)\r\n ) {\r\n $(\"#imei-field\").css(\"border-color\", \"red\");\r\n // this.isValidIemiSerielNumber = false;\r\n this.setState({ isValidImei: false, imei: e.target.value });\r\n this.props.hideBtnNext();\r\n } else {\r\n $(\"#imei-field\").css(\"border-color\", \"#dadada\");\r\n // this.isValidIemiSerielNumber = true;\r\n // this.imei = e.target.value;\r\n this.setState({ imei: e.target.value, isValidImei: true });\r\n this.props.showBtnNext();\r\n this.sendDataToParent();\r\n }\r\n\r\n // if (this.state.isValidImei === false) {\r\n // console.log(\"IMEI IF\");\r\n // this.props.hideBtnNext();\r\n // } else {\r\n // console.log(\"IMEI ELSE\");\r\n // this.props.showBtnNext();\r\n // }\r\n };\r\n\r\n sendDataToParent = () => {\r\n this.props.serviceDetails({\r\n categoryId: this.categoryId,\r\n deviceHealth: this.deviceHealth,\r\n phoneServiceName:\r\n this.categoryId === this.defaultCategory &&\r\n this.phoneServiceName === null\r\n ? undefined\r\n : this.phoneServiceName,\r\n imei: this.state.imei === null ? null : this.state.imei,\r\n });\r\n };\r\n\r\n render() {\r\n if (this.state.dataLoaded === false) {\r\n return (\r\n
\r\n
\r\n

{this.state.lang.TellUsSomethingElse}

\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n } else if (!this.state.serverResponded) {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n

{this.state.lang.TellUsSomethingElse}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n {this.state.categories.length > 0\r\n ? this.state.categories.map((data, i) => {\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n \r\n
\r\n
\r\n\r\n {this.state.selectedCategory === this.defaultCategory ? (\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n {this.state.phoneServices.length > 0\r\n ? this.state.phoneServices.map((data, i) => {\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n \r\n
\r\n
\r\n ) : null}\r\n\r\n {this.state.selectedService !== null ? (\r\n
\r\n
\r\n
\r\n \r\n  \r\n \r\n {this.state.lang.retrieveIMEI}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n ) : null}\r\n\r\n {/*
\r\n

{this.state.lang.DeviceParagraph}

\r\n
*/}\r\n
\r\n
\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default ServiceDetails;\r\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-02-24 15:49:21\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2020-10-20 11:22:40\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport moment from \"moment\";\r\n\r\n\r\nclass Slot extends Component {\r\n \r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n color = window[\"app-config\"].ui.slotScreen;\r\n \r\n\r\n render() {\r\n return (\r\n
\r\n \r\n {moment(this.props.date, \"MM-DD-YYYY\").format(\"DD-MMM-YYYY\")}\r\n
\r\n
\r\n
\r\n \r\n {this.props.timeSlots.length === 0 ? (\r\n
\r\n {this.props.lang.NoSlot}\r\n
\r\n ) : (\r\n this.props.timeSlots.map((data, index) => {\r\n return (\r\n \r\n {data.StartTime}\r\n
\r\n );\r\n })\r\n )}\r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Slot;\r\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-02-24 15:49:21\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2020-11-03 11:15:07\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport ReactHtmlParser from \"react-html-parser\";\r\nimport * as handler from \"../utils/handler\";\r\n\r\nclass Preparation extends Component {\r\n URL = window[\"app-config\"].URL.preparationLocationUrl;\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n state = { lang: {} };\r\n componentDidMount() {\r\n this.setState({ lang: handler.setTranslations() });\r\n }\r\n\r\n render() {\r\n console.log(\"ARRAY: \", this.state.lang.Preparations);\r\n return (\r\n
\r\n

\r\n {this.state.lang.Preparation}\r\n

\r\n
    \r\n {/*
  1. {ReactHtmlParser(this.state.lang.PrepOne)}
  2. \r\n
  3. {ReactHtmlParser(this.state.lang.PrepTwo)}
  4. \r\n
  5. {ReactHtmlParser(this.state.lang.PrepThree)}
  6. \r\n
  7. {ReactHtmlParser(this.state.lang.PrepFour)}
  8. \r\n
  9. {ReactHtmlParser(this.state.lang.PrepFive)}
  10. */}\r\n {this.state.lang.Preparations !== undefined &&\r\n this.state.lang.Preparations.map((data, index) => (\r\n
  11. {ReactHtmlParser(data.text)}
  12. \r\n ))}\r\n
\r\n\r\n

\r\n \r\n {ReactHtmlParser(this.state.lang.SecondaryPrepHeading)}\r\n \r\n

\r\n
    \r\n
  1. {ReactHtmlParser(this.state.lang.SecondaryPrepOne)}
  2. \r\n
  3. {ReactHtmlParser(this.state.lang.SecondaryPrepTwo)}
  4. \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Preparation;\r\n","module.exports = \"data:image/png;base64,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\"","import React, { Component } from \"react\";\r\nimport \"../../assets/styles/AppNotFound.css\";\r\n\r\nconst AppNotFound = () => {\r\n return (\r\n
\r\n
\r\n
\r\n

Oops!

\r\n

The Application not found

\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AppNotFound;\r\n","import React, { Component } from \"react\";\r\nimport { DataService } from \"../services/data.service\";\r\nimport { Empty } from \"antd\";\r\n\r\nimport Loader from \"../components/loader/loader\";\r\nimport * as handler from \"../components/utils/handler\";\r\n\r\nconst queryString = require(\"query-string\");\r\nclass CategorySelection extends Component {\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n UI = window[\"app-config\"].ui.categorySelectionScreen;\r\n collections = window[\"app-config\"].collections;\r\n estimatedWaitTime =\r\n window[\"app-config\"].applicationProperties.estimatedWaitTime;\r\n enableSubCategorySelection = window[\"app-config\"].enableSubCategorySelection;\r\n dataService = new DataService();\r\n state = {\r\n lang: {},\r\n categories: [],\r\n estimatedWaitTime: null,\r\n dataLoaded: false,\r\n isRtl: false,\r\n dropDownIndex: -1,\r\n subcategoryIndex: -1,\r\n };\r\n\r\n async componentDidMount() {\r\n this.setState({ lang: handler.setTranslations() });\r\n this.getCategories();\r\n if (\r\n this.estimatedWaitTime.branchLevel &&\r\n this.props.mainState().issueTicket &&\r\n this.UI.showEstimatedWaitTime\r\n ) {\r\n this.getEstimatedWaitTime(\r\n this.props.branchDetails()[0] !== null\r\n ? this.props.branchDetails()[0].BranchID\r\n : null,\r\n\r\n null\r\n );\r\n }\r\n\r\n this.props.hideBtnNext();\r\n }\r\n\r\n sendDataToParent = (categoryId) => {\r\n this.props.categoryDetails({ categoryId: categoryId });\r\n };\r\n\r\n setLanguage = () => {\r\n const language = queryString.parse(window.location.search).lang;\r\n\r\n if (language === \"es\" || language === \"sp\") {\r\n this.setState({\r\n lang: window[\"localization\"].es,\r\n });\r\n } else if (language === \"ar\") {\r\n this.setState({\r\n lang: window[\"localization\"].ar,\r\n });\r\n } else if (language === \"en\") {\r\n this.setState({\r\n lang: window[\"localization\"].en,\r\n });\r\n } else if (language === \"ur\") {\r\n this.setState({\r\n lang: window[\"localization\"].ur,\r\n });\r\n } else {\r\n let defaultLang = this.defaultLanguage;\r\n this.setState({\r\n lang: window[\"localization\"][defaultLang],\r\n });\r\n }\r\n };\r\n\r\n getCategories = async () => {\r\n try {\r\n let branchId = this.props.branchDetails()[0].BranchID;\r\n let response = {};\r\n let filteredCategories = [];\r\n if (this.enableSubCategorySelection) {\r\n response = await this.dataService.getGroupCategoriesListByBranchId(branchId);\r\n filteredCategories = handler.compareGroupArrayOfObject(\r\n response.data.groupCategories, this.collections.categories\r\n )\r\n this.setState({\r\n categories:\r\n filteredCategories,\r\n dataLoaded: true,\r\n });\r\n } else {\r\n response = await this.dataService.getCategoriesByBranchId(branchId);\r\n filteredCategories = handler.compareArrayOfObject(\r\n response.data.categoryList,\r\n this.collections.categories\r\n );\r\n\r\n if (response.data.error !== undefined && response.error === true) {\r\n this.setState({\r\n categories: undefined,\r\n dataLoaded: true,\r\n });\r\n } else {\r\n this.setState({\r\n categories:\r\n filteredCategories.length > 0\r\n ? filteredCategories\r\n : response.data.categoryList,\r\n dataLoaded: true,\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ERROR IN GET CATEGORIES\", error.message);\r\n if (error.message.includes(\"timeout\")) {\r\n this.setState({ categories: undefined, dataLoaded: true });\r\n } else {\r\n this.setState({ categories: [], dataLoaded: true });\r\n }\r\n }\r\n };\r\n\r\n getEstimatedWaitTime = async (branchId, sqn) => {\r\n try {\r\n let response = await this.dataService.getEstimatedWaitTime(branchId, sqn);\r\n\r\n console.log(response);\r\n\r\n if (response.data.error !== undefined && response.error === true) {\r\n this.setState({\r\n estimatedWaitTime: null,\r\n dataLoaded: true,\r\n });\r\n } else if (response.data.response_status === 1) {\r\n this.setState({\r\n estimatedWaitTime: Math.floor(response.data.est_wait_time / 60),\r\n dataLoaded: true,\r\n });\r\n } else {\r\n this.setState({\r\n estimatedWaitTime: null,\r\n dataLoaded: true,\r\n });\r\n }\r\n } catch (error) {\r\n this.setState({\r\n estimatedWaitTime: null,\r\n dataLoaded: true,\r\n });\r\n console.log(\"ERROR: \", error.message);\r\n }\r\n };\r\n\r\n onCategoryChangeMainCategory = (e) => {\r\n if (this.state.categories[e.target.value].Categories[0].CategoryTitle === this.state.categories[e.target.value].GroupName) {\r\n this.sendDataToParent(this.state.categories[e.target.value].Categories[0].CategoryID);\r\n if (\r\n this.props.mainState().issueTicket &&\r\n this.UI.showEstimatedWaitTime &&\r\n !this.estimatedWaitTime.branchLevel\r\n ) {\r\n this.getEstimatedWaitTime(\r\n this.props.branchDetails()[0].BranchID,\r\n this.state.categories[e.target.value].Categories[0].CategoryID\r\n );\r\n }\r\n } else {\r\n this.props.hideBtnNext();\r\n }\r\n this.setState({ dropDownIndex: e.target.value, subcategoryIndex: -1 });\r\n };\r\n handleOnchangeSubCatetoriesInner = (value, index) => {\r\n this.sendDataToParent(value);\r\n this.setState({ subcategoryIndex: index });\r\n\r\n if (\r\n this.props.mainState().issueTicket &&\r\n this.UI.showEstimatedWaitTime &&\r\n !this.estimatedWaitTime.branchLevel\r\n ) {\r\n this.getEstimatedWaitTime(\r\n this.props.branchDetails()[0].BranchID,\r\n value\r\n );\r\n }\r\n }\r\n\r\n onCategoryChange = (e) => {\r\n this.sendDataToParent(e.target.value);\r\n\r\n if (\r\n this.props.mainState().issueTicket &&\r\n this.UI.showEstimatedWaitTime &&\r\n !this.estimatedWaitTime.branchLevel\r\n ) {\r\n this.getEstimatedWaitTime(\r\n this.props.branchDetails()[0].BranchID,\r\n e.target.value\r\n );\r\n }\r\n };\r\n\r\n render() {\r\n if (this.state.dataLoaded === false) {\r\n return ;\r\n } else if (\r\n this.state.categories === undefined &&\r\n this.state.dataLoaded === true\r\n ) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {this.state.lang.WhatDoYouNeed}\r\n \r\n {this.enableSubCategorySelection ?\r\n <>\r\n \r\n \r\n {this.state.lang.SelectCategory}\r\n \r\n {\r\n this.state.categories.length > 0\r\n ? this.state.categories.map((data, i) => {\r\n return (\r\n \r\n {data.GroupName}\r\n \r\n );\r\n })\r\n : null}\r\n \r\n

\r\n
\r\n {this.state.dropDownIndex >= 0 && (this.state.categories[this.state.dropDownIndex].Categories[0].CategoryTitle !== this.state.categories[this.state.dropDownIndex].GroupName) ?\r\n <>\r\n
\r\n
{this.state.categories[this.state.dropDownIndex].GroupName}
\r\n
\r\n\r\n
\r\n {this.state.categories[this.state.dropDownIndex].Categories.map((subCategory, index) => {\r\n return (\r\n \r\n )\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n \r\n : null}\r\n \r\n :\r\n <>\r\n \r\n \r\n {this.state.lang.SelectCategory}\r\n \r\n {this.state.categories.length > 0\r\n ? this.state.categories.map((data, i) => {\r\n return (\r\n \r\n {data.CategoryTitle}\r\n \r\n );\r\n })\r\n : null}\r\n \r\n

\r\n
\r\n \r\n }\r\n {this.state.estimatedWaitTime !== null &&\r\n this.UI.showEstimatedWaitTime ? (\r\n

\r\n {this.state.lang.EstimatedWaitTimeMessage}  \r\n {`${this.state.estimatedWaitTime} ${this.state.lang.Minutes}`}\r\n

\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default CategorySelection;\r\n","import React, { Component } from \"react\";\r\nimport ModalHead from \"./../components/modal-head/modalHead\";\r\nimport PrimaryButton from \"../components/utils/primaryButton\";\r\n\r\nimport $ from \"jquery\";\r\nimport swal from \"sweetalert\";\r\nimport Journey from \"../components/journey/journey\";\r\nimport CalendarImg from \"../assets/images/calender_org.png\";\r\n\r\nimport { DataService } from \"./../services/data.service\";\r\nimport moment from \"moment\";\r\n\r\nimport * as handler from \"../components/utils/handler\";\r\nimport RefreshButton from \"../components/utils/refreshButton\";\r\nimport DangerButton from \"../components/utils/dangerButton\";\r\n// import RefreshButton from \"./../components/utils/refreshButton\";\r\nimport IconButton from \"./../components/utils/iconButton\";\r\n\r\nconst queryString = require(\"query-string\");\r\n\r\nclass CheckIn extends Component {\r\n color = window[\"app-config\"].ui.checkInScreen;\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n divideBy = window[\"app-config\"].divideBy;\r\n checkInIssueTicket = window[\"app-config\"].checkInIssueTicket;\r\n defaultPhoneNumberPrefix = window[\"app-config\"].defaultPhoneNumberPrefix;\r\n issueTicketEnabled = window[\"app-config\"].issueTicketEnabled;\r\n URL = window[\"app-config\"].URL;\r\n whatsappUrl = window[\"app-config\"].whatsappUrl;\r\n icons = window[\"app-config\"].ui.icons;\r\n refreshInterval = window[\"app-config\"].applicationProperties.refreshInterval;\r\n popupExpiry = window[\"app-config\"].ui.popupExpiry;\r\n userDetailsConfig = window[\"app-config\"].userDetails;\r\n enableSurnameField = window[\"app-config\"].enableSurnameField;\r\n\r\n state = {\r\n isSuccessfullyCheckedIn: false,\r\n lang: {},\r\n appointmentNumber: null,\r\n phoneNumber: this.defaultPhoneNumberPrefix,\r\n emailAddress: null,\r\n branchIp: null,\r\n dataLoaded: true,\r\n verifyAppointmentResponse: \"\",\r\n issueTicketResponse: null,\r\n enableCheckInButton: false,\r\n whatsappUrl: window[\"app-config\"].URL.whatsappUrl,\r\n redirectUrl: \"\",\r\n isTicketCalled: false,\r\n };\r\n\r\n isValidAppointmentNumber = false;\r\n isValidEmail = false;\r\n isValidPhoneNumber = false;\r\n\r\n service = new DataService();\r\n phoneNumRef = React.createRef();\r\n\r\n componentDidMount() {\r\n handler.blinkText(\".blink\");\r\n if (this.state.isTicketCalled) {\r\n handler.notify();\r\n }\r\n this.setState({\r\n redirectUrl: handler.removeKeyFromUrl(\"checkin\", \"appointmentnumber\"),\r\n });\r\n\r\n if (\r\n localStorage.getItem(\"checkedIn\") === \"true\" &&\r\n localStorage.getItem(\"checkedInDate\") == moment().toDate().toDateString()\r\n ) {\r\n this.setState(JSON.parse(localStorage.getItem(\"prevCheckedInData\")));\r\n setInterval(() => {\r\n this.getTicketStatus();\r\n }, this.refreshInterval);\r\n\r\n handler.onBrowserReload(this.getTicketStatus);\r\n } else {\r\n localStorage.removeItem(\"checkedIn\");\r\n localStorage.removeItem(\"checkedInDate\");\r\n localStorage.removeItem(\"prevCheckedInData\");\r\n this.setState({ lang: handler.setTranslations() });\r\n let appointmentNumber = queryString.parse(window.location.search)\r\n .appointmentnumber;\r\n let email = \"\";\r\n let phoneNumber = \"\";\r\n let branchIp = queryString.parse(window.location.search).branchip;\r\n\r\n if (branchIp !== undefined) {\r\n this.setState({ branchIp });\r\n }\r\n\r\n if (appointmentNumber !== undefined && appointmentNumber !== \"\") {\r\n this.verifyAppointmentInfo(\r\n email,\r\n phoneNumber,\r\n appointmentNumber,\r\n branchIp === undefined ? \"\" : branchIp\r\n );\r\n }\r\n }\r\n }\r\n\r\n generateUrl = (branchCode, ticketId) => {\r\n let whatsappUrl = `${this.URL.whatsappUrl}&text=${branchCode}%20${ticketId}`;\r\n this.setState({ whatsappUrl: whatsappUrl });\r\n };\r\n\r\n /* EVENTS*/\r\n validateEmail(email) {\r\n var emailReg = /^([\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4})?$/;\r\n return emailReg.test(email);\r\n }\r\n\r\n onCheckInClick = () => {\r\n $(document).ready(function () {\r\n $(\"button\").css(\"background-color\", \"#000\");\r\n });\r\n this.verifyAppointmentInfo(\r\n this.state.emailAddress === null ? \"\" : this.state.emailAddress,\r\n this.state.phoneNumber !== undefined && this.state.phoneNumber.length > 3\r\n ? this.state.phoneNumber.replace(\"+\", \"%2b\")\r\n : \"\",\r\n\r\n this.state.appointmentNumber === null ? \"\" : this.state.appointmentNumber,\r\n this.state.branchIp === null ? \"\" : this.state.branchIp\r\n );\r\n };\r\n\r\n onTextFieldsChange = (e) => {\r\n var appointmentNumber = null;\r\n var phoneNumber = null;\r\n var email = null;\r\n if (e.target.id === \"appointmentNumber\") {\r\n if (e.target.value.length > 0 && e.target.value !== \"\") {\r\n this.isValidAppointmentNumber = true;\r\n appointmentNumber = e.target.value;\r\n this.setState({\r\n appointmentNumber: e.target.value,\r\n });\r\n } else {\r\n this.isValidAppointmentNumber = false;\r\n }\r\n } else if (e.target.id === \"phoneNumber\") {\r\n if (\r\n (e.target.value.length === 0 && e.target.value === \"\") ||\r\n e.target.value.length <\r\n this.userDetailsConfig.phoneNumberField.minLength ||\r\n /\\s/.test(e.target.value) ||\r\n !e.target.value.charAt(0).includes(\"+\") ||\r\n !/^[0-9+]+$/.test(e.target.value)\r\n ) {\r\n $(\"#phoneNumber\").css(\"border-color\", \"red\");\r\n this.isValidPhoneNumber = false;\r\n } else {\r\n this.isValidPhoneNumber = true;\r\n\r\n $(\"#phoneNumber\").css(\"border-color\", \"#dadada\");\r\n this.phoneNumber = this.phoneNumRef.current.value;\r\n }\r\n phoneNumber = e.target.value;\r\n this.setState({ phoneNumber: e.target.value });\r\n } else if (e.target.id === \"emailAddress\") {\r\n if (\r\n !this.validateEmail(e.target.value) ||\r\n /^([\\w-\\.]+([\\w-]+\\.)+[\\w-]{2,4})?$/.test(e.target.value)\r\n ) {\r\n $(\"#emailAddress\").css(\"border-color\", \"red\");\r\n this.isValidEmail = false;\r\n } else {\r\n $(\"#emailAddress\").css(\"border-color\", \"#dadada\");\r\n this.isValidEmail = true;\r\n\r\n this.setState({\r\n emailAddress: e.target.value,\r\n });\r\n }\r\n }\r\n\r\n if (\r\n this.isValidEmail === false &&\r\n this.isValidAppointmentNumber === false &&\r\n this.isValidPhoneNumber === false\r\n ) {\r\n this.setState({\r\n enableCheckInButton: false,\r\n });\r\n } else {\r\n this.setState({\r\n enableCheckInButton: true,\r\n });\r\n }\r\n };\r\n\r\n /*API METHODS*/\r\n\r\n verifyAppointmentInfo = async (\r\n email,\r\n phoneNumber,\r\n appointmentNumber,\r\n branchIp\r\n ) => {\r\n this.setState({ dataLoaded: false });\r\n try {\r\n let verifyAppointmentResponse = await this.service.verifyAppointmentInfo(\r\n email,\r\n phoneNumber,\r\n appointmentNumber,\r\n branchIp\r\n );\r\n console.log(\"VERIFY APPOINTMENT RESPONSE: \", verifyAppointmentResponse);\r\n if (\r\n verifyAppointmentResponse.data.error !== undefined &&\r\n verifyAppointmentResponse.data.error === true\r\n ) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (\r\n verifyAppointmentResponse.data.split(\"|\")[0] === \"100\" &&\r\n this.checkInIssueTicket === true &&\r\n verifyAppointmentResponse.data.split(\"|\")[14] === \"ON_TIME\"\r\n // verifyAppointmentResponse.data.split(\"|\")[14] === \"EARLY\"\r\n ) {\r\n this.setState({\r\n verifyAppointmentResponse,\r\n dataLoaded: true,\r\n });\r\n\r\n this.issueTicket();\r\n } else if (\r\n (verifyAppointmentResponse.data.split(\"|\")[0] === \"100\" || verifyAppointmentResponse.data.split(\"|\")[0] === \"106\") &&\r\n this.checkInIssueTicket === true &&\r\n verifyAppointmentResponse.data.split(\"|\")[14] === \"EARLY\"\r\n ) {\r\n this.setState({ dataLoaded: true });\r\n\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.EarlyIssueTicket,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (\r\n verifyAppointmentResponse.data.split(\"|\")[0] === \"100\" &&\r\n this.checkInIssueTicket === true &&\r\n verifyAppointmentResponse.data.split(\"|\")[14] === \"LATE\"\r\n ) {\r\n this.setState({ dataLoaded: true });\r\n\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.LateIssueTicket,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (\r\n verifyAppointmentResponse.data.split(\"|\")[0] === \"100\" &&\r\n this.checkInIssueTicket === false\r\n ) {\r\n this.setState({ dataLoaded: true });\r\n handler.showSuccessMessage(\r\n this.state.lang.AppointmentIsValid,\r\n this.state.lang.Ok\r\n );\r\n } else if (\r\n verifyAppointmentResponse.data.split(\"|\")[0] === \"103\" &&\r\n verifyAppointmentResponse.data.split(\"|\")[16] === \"TICKET_ISSUED\" &&\r\n this.checkInIssueTicket === true\r\n ) {\r\n this.setState({ dataLoaded: true });\r\n\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.TicketAlreadyIssued,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (verifyAppointmentResponse.data.split(\"|\")[0] === \"101\") {\r\n this.setState({ dataLoaded: true });\r\n\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.AppointmentNotFound,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n }\r\n this.setState({ dataLoaded: true });\r\n console.log(\"ERROR IN VERIFY APPOINTMENT\", error.message);\r\n }\r\n };\r\n\r\n issueTicket = async () => {\r\n this.setState({ dataLoaded: false });\r\n if (this.state.verifyAppointmentResponse.data.split(\"|\")[0] === \"100\") {\r\n try {\r\n let branchId = this.state.verifyAppointmentResponse.data.split(\"|\")[3];\r\n let branchCode = this.state.verifyAppointmentResponse.data.split(\r\n \"|\"\r\n )[36];\r\n let categoryId = this.state.verifyAppointmentResponse.data.split(\r\n \"|\"\r\n )[4];\r\n let priority = this.state.verifyAppointmentResponse.data.split(\"|\")[5];\r\n let emailAddress = this.state.verifyAppointmentResponse.data.split(\r\n \"|\"\r\n )[7];\r\n let phoneNumber = this.state.verifyAppointmentResponse.data.split(\r\n \"|\"\r\n )[18];\r\n let escapedPhoneNumber = phoneNumber.replace(\"+\", \"%2b\");\r\n let firstName =this.enableSurnameField == true ? this.state.verifyAppointmentResponse.data.split(\"|\")[26] : this.state.verifyAppointmentResponse.data.split(\r\n \"|\"\r\n )[33];\r\n let additionalInformation = this.state.verifyAppointmentResponse.data.split(\r\n \"|\"\r\n )[25];\r\n let surName = this.enableSurnameField ? this.state.verifyAppointmentResponse.data.split(\"|\")[27]:\"\" ;\r\n let status = this.state.verifyAppointmentResponse.data.split(\"|\")[14];\r\n console.log(\"branchCode\",branchCode)\r\n console.log(\"branchId\",branchId)\r\n console.log(\"categoryID\",categoryId)\r\n console.log(\"priority\",priority);\r\n console.log(\"email\",emailAddress)\r\n console.log(\"phoneNumber\", phoneNumber)\r\n console.log('escapedPhoneNumber',escapedPhoneNumber)\r\n console.log(\"firstName\",firstName)\r\n console.log(\"Additional Information\", additionalInformation)\r\n console.log(\"SurName\", surName);\r\n let issueTicketResponse = await this.service.issueTicket(\r\n branchId,\r\n categoryId,\r\n priority,\r\n emailAddress,\r\n 3,\r\n localStorage.getItem(\"lang\") === \"es\"\r\n ? \"Sp\"\r\n : localStorage.getItem(\"lang\"),\r\n firstName + \"%20\" + surName,\r\n escapedPhoneNumber,\r\n emailAddress,\r\n \"1\",\r\n additionalInformation\r\n );\r\n console.log(\"RESPONSE OF ISSUE TICKET : \", issueTicketResponse);\r\n\r\n if (\r\n issueTicketResponse.data.error !== undefined &&\r\n issueTicketResponse.data.error === true\r\n ) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n this.setState({ dataLoaded: true });\r\n } else if (\r\n issueTicketResponse.data.ticket_info !== undefined &&\r\n issueTicketResponse.data.ticket_info !== null\r\n ) {\r\n let heading = this.state.lang.YourTicketHasBeenIssued;\r\n this.setState({\r\n issueTicketResponse: issueTicketResponse,\r\n isSuccessfullyCheckedIn: true,\r\n heading,\r\n dataLoaded: true,\r\n });\r\n localStorage.setItem(\"checkedIn\", true);\r\n localStorage.setItem(\"prevCheckedInData\", JSON.stringify(this.state));\r\n localStorage.setItem(\r\n \"checkedInDate\",\r\n moment().toDate().toDateString()\r\n );\r\n this.generateUrl(\r\n branchCode,\r\n issueTicketResponse.data.ticket_info.ticket_id\r\n );\r\n this.markAppointmentUsed();\r\n // setInterval(() => {\r\n // this.getTicketStatus();\r\n // }, this.refreshInterval);\r\n } else if (issueTicketResponse.data.resp_status === \"-1\") {\r\n this.setState({ isSuccessfullyCheckedIn: false, dataLoaded: true });\r\n\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.TicketNotIssued,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (\r\n issueTicketResponse.data.resp_message ===\r\n \"You already have an issued ticket for the category, in the branch.\"\r\n ) {\r\n this.setState({ isSuccessfullyCheckedIn: false, dataLoaded: true });\r\n\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.TicketAlreadyIssued,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n this.setState({ dataLoaded: true });\r\n } else if (error.message.includes(\"404\")) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.UrlNotFound,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n this.setState({ dataLoaded: true });\r\n } else if (error.message.includes(\"Network Error\")) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.InternetConnectionError,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n this.setState({ dataLoaded: true });\r\n } else {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n this.setState({ dataLoaded: true });\r\n }\r\n\r\n console.log(\"ERROR IN ISSUE TICKET \", error.message);\r\n }\r\n }\r\n };\r\n\r\n cancelTicket = async () => {\r\n swal(\r\n this.state.lang.CancelTicketConfirmation,\r\n\r\n {\r\n icon: \"warning\",\r\n buttons: {\r\n no: {\r\n text: this.state.lang.No === undefined ? \"No\" : this.state.lang.No,\r\n value: \"no\",\r\n },\r\n yes: {\r\n text:\r\n this.state.lang.Yes === undefined ? \"Yes\" : this.state.lang.Yes,\r\n value: \"yes\",\r\n closeModal: false,\r\n },\r\n },\r\n }\r\n ).then(async (value) => {\r\n switch (value) {\r\n case \"yes\":\r\n let branchId = this.state.verifyAppointmentResponse.data.split(\r\n \"|\"\r\n )[3];\r\n let ticketId = this.state.issueTicketResponse.data.ticket_info\r\n .ticket_id;\r\n let ticketNumber = this.state.issueTicketResponse.data.ticket_info\r\n .ticket_no;\r\n let sqn = this.state.issueTicketResponse.data.ticket_info.categoryid;\r\n let emailAddress = this.state.verifyAppointmentResponse.data.split(\r\n \"|\"\r\n )[7];\r\n let phoneNumber = this.state.verifyAppointmentResponse.data.split(\r\n \"|\"\r\n )[18];\r\n let language =\r\n localStorage.getItem(\"lang\") === \"es\"\r\n ? \"Sp\"\r\n : localStorage.getItem(\"lang\");\r\n try {\r\n let cancelTicketResponse = await this.service.cancelTicket(\r\n emailAddress,\r\n ticketId,\r\n branchId,\r\n language,\r\n ticketNumber,\r\n sqn,\r\n phoneNumber\r\n );\r\n console.log(\"CANCEL TICKET RESPONSE: \", cancelTicketResponse);\r\n if (cancelTicketResponse.data.resp_message === \"Ticket cancelled\") {\r\n swal.close();\r\n\r\n localStorage.removeItem(\"checkedIn\");\r\n localStorage.removeItem(\"checkedInDate\");\r\n localStorage.removeItem(\"prevCheckedInData\");\r\n\r\n handler.redirect(this.state.redirectUrl);\r\n } else if (\r\n cancelTicketResponse.data.resp_message === \"Ticket not found\" ||\r\n cancelTicketResponse.data.resp_message ===\r\n \"Operation not permitted\"\r\n ) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.TicketNotFound,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n localStorage.removeItem(\"checkedIn\");\r\n localStorage.removeItem(\"checkedInDate\");\r\n localStorage.removeItem(\"prevCheckedInData\");\r\n handler.redirect(this.state.redirectUrl);\r\n } else {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"404\")) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.UrlNotFound,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (error.message.includes(\"Network Error\")) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.InternetConnectionError,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n }\r\n }\r\n\r\n break;\r\n case \"no\":\r\n break;\r\n\r\n default:\r\n }\r\n });\r\n };\r\n\r\n markAppointmentUsed = async () => {\r\n try {\r\n let appointmentNumber = this.state.verifyAppointmentResponse.data.split(\r\n \"|\"\r\n )[2];\r\n let emailAddress = this.state.verifyAppointmentResponse.data.split(\r\n \"|\"\r\n )[7];\r\n\r\n let ticketNumber = this.state.issueTicketResponse.data.ticket_info\r\n .ticket_no;\r\n let response = await this.service.markAppointmentUsedAfterTicketIssue(\r\n appointmentNumber,\r\n emailAddress,\r\n ticketNumber\r\n );\r\n if (response.data.error !== undefined && response.data.error === true) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (error.message.includes(\"404\")) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.UrlNotFound,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (error.message.includes(\"Network Error\")) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.InternetConnectionError,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n }\r\n console.log(\"ERROR IN MARKING APPOINTMENT USED: \", error.message);\r\n }\r\n };\r\n\r\n getTicketStatus = async () => {\r\n let prevState = JSON.parse(localStorage.getItem(\"prevCheckedInData\"));\r\n let branchId = prevState.verifyAppointmentResponse.data.split(\"|\")[3];\r\n let categoryId = prevState.verifyAppointmentResponse.data.split(\"|\")[4];\r\n let ticketId = prevState.issueTicketResponse.data.ticket_info.ticket_id;\r\n let ticketNumber = prevState.issueTicketResponse.data.ticket_info.ticket_no;\r\n try {\r\n let response = await this.service.getTicketStatus(\r\n branchId,\r\n ticketId,\r\n ticketNumber,\r\n categoryId\r\n );\r\n if (response.data.error !== undefined && response.data.error) {\r\n handler.showErrMsg(\r\n prevState.lang.Error,\r\n prevState.lang.ServerNotResponding,\r\n prevState.lang.Ok,\r\n prevState.redirectUrl\r\n );\r\n } else {\r\n if (response.data.resp_status === 1) {\r\n let issueTicketResponse = {\r\n ...prevState.issueTicketResponse,\r\n };\r\n issueTicketResponse[\"data\"][\"ticket_info\"][\r\n \"category_approx_waittime\"\r\n ] = response.data.est_wait_time;\r\n issueTicketResponse[\"data\"][\"ticket_info\"][\"ticket_in_wait\"] =\r\n response.data.position_in_queue <= 0\r\n ? 0\r\n : parseInt(response.data.position_in_queue);\r\n this.setState({ issueTicketResponse: issueTicketResponse });\r\n localStorage.setItem(\"prevCheckedInData\", JSON.stringify(prevState));\r\n } else if (response.data.resp_status === 2) {\r\n handler.notify();\r\n this.setState({ isTicketCalled: true });\r\n } else if (response.data.resp_status === 3) {\r\n localStorage.clear();\r\n handler.showErrMsg(\r\n prevState.lang.Error,\r\n prevState.lang.TicketNotFound,\r\n prevState.lang.Ok,\r\n prevState.redirectUrl\r\n );\r\n setTimeout(() => {\r\n localStorage.clear();\r\n handler.redirect(prevState.redirectUrl);\r\n }, this.popupExpiry);\r\n }\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrMsg(\r\n prevState.lang.Error,\r\n prevState.lang.ServerNotResponding,\r\n prevState.lang.Ok,\r\n prevState.redirectUrl\r\n );\r\n } else {\r\n handler.showErrMsg(\r\n prevState.lang.Error,\r\n prevState.lang.SomeThingWentWrong,\r\n prevState.lang.Ok,\r\n prevState.redirectUrl\r\n );\r\n console.log(error.message);\r\n }\r\n }\r\n };\r\n\r\n // START OF REDNERING JSX\r\n\r\n getTicketNumber = () => {\r\n if (\r\n this.state.issueTicketResponse.data.ticket_info !== undefined &&\r\n this.state.issueTicketResponse.data.ticket_info !== null\r\n ) {\r\n return (\r\n
\r\n
\r\n \r\n {this.state.lang.TicketNumber}\r\n

\r\n
\r\n \r\n \r\n {this.state.issueTicketResponse.data.ticket_info.ticket_no}\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n };\r\n\r\n getTotalWaitingTime = () => {\r\n let waitTime = Math.floor(\r\n this.state.issueTicketResponse.data.ticket_info.category_approx_waittime /\r\n 60\r\n );\r\n\r\n if (\r\n this.state.issueTicketResponse.data.ticket_info !== undefined &&\r\n this.state.issueTicketResponse.data.ticket_info !== null\r\n ) {\r\n return (\r\n
\r\n

\r\n {`${this.state.lang.EstimatedWaitTimeMessage} ${waitTime} ${this.state.lang.Minutes}`}\r\n

\r\n
\r\n );\r\n }\r\n };\r\n\r\n getTicketIssuedDateTime = () => {\r\n if (\r\n this.state.issueTicketResponse.data.ticket_info !== undefined &&\r\n this.state.issueTicketResponse.data.ticket_info !== null\r\n ) {\r\n return (\r\n
\r\n \r\n {this.state.lang.TicketIssuedTime}\r\n \r\n

\r\n {/* {this.state.issueTicketResponse.data.ticket_info.issued_on} */}\r\n {moment(\r\n this.state.issueTicketResponse.data.ticket_info.issued_on\r\n ).format(\"DD-MMM-YYYY hh:mm A\")}\r\n

\r\n
\r\n );\r\n }\r\n };\r\n\r\n getTicketsWaiting = () => {\r\n if (\r\n this.state.issueTicketResponse.data.ticket_info !== undefined &&\r\n this.state.issueTicketResponse.data.ticket_info !== null\r\n ) {\r\n return (\r\n
\r\n {/* \r\n {this.state.lang.TicketInWait}\r\n */}\r\n

\r\n {`${this.state.lang.ThereArePeople} ${this.state.issueTicketResponse.data.ticket_info.ticket_in_wait} ${this.state.lang.TicketInWait}`}\r\n

\r\n
\r\n );\r\n }\r\n };\r\n\r\n // END OF REDNERING JSX\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n {this.state.isSuccessfullyCheckedIn === false ? (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {this.state.lang.AppointmentNumber}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {this.state.lang.PhoneNumberPlaceholder}\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n {this.state.lang.EmailAddressPlaceHolder}\r\n {/* * */}\r\n \r\n \r\n
\r\n\r\n {this.state.enableCheckInButton === true ? (\r\n \r\n {this.state.dataLoaded === false ? (\r\n \r\n ) : null}{\" \"}\r\n  \r\n {this.state.lang.CheckIn}\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n ) : null}\r\n\r\n {this.state.isSuccessfullyCheckedIn === true ? (\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n {this.state.lang.IssueTicketConfirmedMessage}\r\n

\r\n\r\n
\r\n {this.getTotalWaitingTime()}\r\n
\r\n\r\n
\r\n {this.getTicketsWaiting()}\r\n
\r\n\r\n \r\n
\r\n {this.getTicketNumber()}\r\n
\r\n\r\n
\r\n
\r\n {this.getTicketIssuedDateTime()}\r\n
\r\n
\r\n\r\n {this.color.enableWhatsappButton ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default CheckIn;\r\n","import React from \"react\";\r\nimport ModalHead from \"./../components/modal-head/modalHead\";\r\n\r\nimport moment from \"moment\";\r\nimport Container from \"../components/container/container\";\r\nimport Content from \"../components/container/content/content\";\r\n\r\nconst AppInfo = (props) => {\r\n let appVersion = window[\"app-config\"].applicationProperties.appVersion;\r\n let client = window[\"app-config\"].runApp;\r\n // console.log(\"NAVIGATE DATA: \", props.location.state.data)\r\n return (\r\n \r\n \r\n \r\n
\r\n

{`APP VERSION : ${appVersion}`}

\r\n
\r\n
\r\n

{`CLIENT : ${client.toUpperCase()}`}

\r\n
\r\n
\r\n

{`DATE TIME : ${moment(new Date()).format(\r\n \"DD-MMM-YYYY hh:mm A\"\r\n )}`}

\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AppInfo;\r\n","import React, { Component } from \"react\";\r\nimport ModalHead from \"./../components/modal-head/modalHead\";\r\nimport * as handler from \"../components/utils/handler\";\r\nimport PrimaryButton from \"./../components/utils/primaryButton\";\r\nimport { DataService } from \"./../services/data.service\";\r\nimport swal from \"sweetalert\";\r\nimport BookingSummary from \"../components/booking-summary/Booking-Summary\";\r\nimport DangerButton from \"../components/utils/dangerButton\";\r\nimport Loader from \"./../components/loader/loader\";\r\nimport $ from \"jquery\";\r\nimport _ from \"underscore\";\r\n\r\nconst queryString = require(\"query-string\");\r\n\r\nlet appointmentNumber = queryString.parse(window.location.search)\r\n .appointmentnumber;\r\nlet language = queryString.parse(window.location.search).lang;\r\nlet { redirectToCurrentPage, appRoute } = window[\r\n \"app-config\"\r\n].applicationProperties;\r\nclass ModifyAppointment extends Component {\r\n UI = window[\"app-config\"].ui.modifyAppointmentScreen;\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n userDetailsConfig = window[\"app-config\"].userDetails;\r\n defaultTheme = window[\"app-config\"].defaultTheme;\r\n app = window[\"app-config\"].runApp;\r\n\r\n state = {\r\n lang: {},\r\n enableSubmitBtn: false,\r\n isInfoDataLoaded: false,\r\n dataLoaded: true,\r\n response: null,\r\n appointmentNumber: null,\r\n phoneNumber: null,\r\n redirectUrl: \"\",\r\n\r\n email: null,\r\n isValidEmail: false,\r\n isValidAppointmentNumber: false,\r\n isValidPhoneNumber: false,\r\n };\r\n\r\n dataService = new DataService();\r\n\r\n componentDidMount() {\r\n this.setState({\r\n lang: handler.setTranslations(),\r\n });\r\n if (appointmentNumber !== undefined && appointmentNumber !== \"\") {\r\n this.getAppointmentInfo(appointmentNumber);\r\n }\r\n }\r\n\r\n getAppointmentInfo = async (appointmentNumber) => {\r\n this.setState({ dataLoaded: false });\r\n try {\r\n let response = await this.dataService.getAppointmentInfo(\r\n appointmentNumber,\r\n this.state.email,\r\n this.state.phoneNumber\r\n );\r\n if (response.data.error !== undefined && response.data.error === true) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n this.setState({ isInfoDataLoaded: false, dataLoaded: true });\r\n } else if (\r\n response.data.response_code === 100 || response.data.response_code === 106 ||\r\n response.data.message === \"success\"\r\n ) {\r\n this.setState({\r\n response: response.data.appointment_info,\r\n redirectUrl: handler.removeKeyFromUrl(\r\n [redirectToCurrentPage ? \"modifyappointment\" : appRoute],\r\n \"appointmentnumber\",\r\n [\r\n this.app === \"samsung\" && redirectToCurrentPage === false\r\n ? `&branchCode=${response.data.appointment_info.branch_code}`\r\n : \"\",\r\n ]\r\n ),\r\n isInfoDataLoaded: true,\r\n dataLoaded: true,\r\n });\r\n } else if (\r\n response.data.response_code === 102 &&\r\n response.data.message === \"no appointment found.\"\r\n ) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.AppointmentNotFound,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n\r\n this.setState({ isInfoDataLoaded: false, dataLoaded: true });\r\n } else if (response.data.response_code === 103) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.TicketAlreadyIssued,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n this.setState({ isInfoDataLoaded: false, dataLoaded: true });\r\n } else {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n this.setState({ isInfoDataLoaded: false, dataLoaded: true });\r\n }\r\n console.log(\"RESPONSE: \", response);\r\n } catch (error) {\r\n this.setState({ isInfoDataLoaded: false, dataLoaded: true });\r\n console.log(\"ERROR: \", error.message);\r\n }\r\n };\r\n\r\n onChange = (e) => {\r\n if (e.target.id === \"appointmentNumber\") {\r\n if (\r\n e.target.value !== \"\" &&\r\n e.target.value.length > 0 &&\r\n handler.validation.isNumber(e.target.value)\r\n ) {\r\n this.setState({\r\n enableSubmitBtn: true,\r\n appointmentNumber: e.target.value,\r\n });\r\n } else {\r\n this.setState({ enableSubmitBtn: false });\r\n }\r\n } else if (e.target.id === \"phoneNumber\") {\r\n if (\r\n (e.target.value.length === 0 && e.target.value === \"\") ||\r\n e.target.value.length <\r\n this.userDetailsConfig.phoneNumberField.minLength ||\r\n /\\s/.test(e.target.value) ||\r\n !e.target.value.charAt(0).includes(\"+\") ||\r\n !/^[0-9+]+$/.test(e.target.value)\r\n ) {\r\n $(\"#phoneNumber\").css(\"border-color\", \"red\");\r\n this.setState({ enableSubmitBtn: false });\r\n } else {\r\n $(\"#phoneNumber\").css(\"border-color\", \"#dadada\");\r\n this.setState({ enableSubmitBtn: true, phoneNumber: e.target.value });\r\n }\r\n } else if (e.target.id === \"emailAddress\") {\r\n if (\r\n e.target.value !== \"\" &&\r\n e.target.value.length > 0 &&\r\n handler.validateEmail(e.target.value)\r\n ) {\r\n this.setState({ enableSubmitBtn: true, email: e.target.value });\r\n } else {\r\n $(\"#emailAddress\").css(\"border-color\", \"#dadada\");\r\n this.setState({ enableSubmitBtn: false });\r\n }\r\n }\r\n };\r\n\r\n rescheduleOrCancelAppointment = async () => {\r\n swal(\r\n this.state.lang.ModifyOrCancelAptMsg,\r\n\r\n {\r\n icon: \"warning\",\r\n buttons: {\r\n reschedule: {\r\n // text: this.state.lang.Reschedule,\r\n text: this.state.lang.Close,\r\n value: \"reschedule\",\r\n },\r\n cancelAppointment: {\r\n text: this.state.lang.CancelAppointment,\r\n value: \"cancelAppointment\",\r\n closeModal: false,\r\n },\r\n },\r\n }\r\n ).then(async (value) => {\r\n switch (value) {\r\n case \"cancelAppointment\":\r\n try {\r\n let response = await this.dataService.cancelAppointment(\r\n this.state.response.appointment_number,\r\n this.state.response.category_id,\r\n this.state.response.branch_id,\r\n this.state.response.user_id\r\n );\r\n swal.close();\r\n\r\n if (\r\n response.data.error !== undefined &&\r\n response.data.error === true\r\n ) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else {\r\n if (response.data.response.resp_status === 1) {\r\n handler.showSuccessMessage(\r\n this.state.lang.AppointmentCancelledSuccessfully,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n // handler.redirect(this.state.redirectUrl);\r\n } else if (response.data.response.resp_status === 6) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.AppointmentAlreadyCanceled,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (response.data.response.resp_status === -5) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.AppointmentInfoNotValidToCancel,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (response.data.response.resp_status === 2) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.CantCancelApptTcktIssued,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (response.data.response.resp_status === 7) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.AppointmentExpired,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (response.data.response.resp_status === -2) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.AlreadyServed,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else if (response.data.response.resp_status === -3) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.ApptCanceledAutomatically,\r\n this.state.lang.Ok\r\n );\r\n } else {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n }\r\n }\r\n } catch (error) {\r\n if (error.message.includes(\"timeout\")) {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.ServerNotResponding,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n } else {\r\n handler.showErrMsg(\r\n this.state.lang.Error,\r\n this.state.lang.SomeThingWentWrong,\r\n this.state.lang.Ok,\r\n this.state.redirectUrl\r\n );\r\n }\r\n }\r\n break;\r\n\r\n case \"reschedule\":\r\n break;\r\n\r\n default:\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n if (this.state.dataLoaded) {\r\n return (\r\n
\r\n
\r\n \r\n\r\n {this.state.isInfoDataLoaded === false ? (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {this.state.lang.AppointmentNumber}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {this.state.lang.EmailAddressPlaceHolder}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {this.state.lang.PhoneNumberPlaceholder}\r\n \r\n \r\n
\r\n
\r\n\r\n {this.state.enableSubmitBtn ? (\r\n \r\n this.getAppointmentInfo(this.state.appointmentNumber)\r\n }\r\n bgColor={this.UI.btnColor}\r\n >\r\n {this.state.dataLoaded === false ? (\r\n \r\n ) : null}{\" \"}\r\n  \r\n {this.state.lang.Submit}\r\n \r\n ) : null}\r\n
\r\n
\r\n ) : null}\r\n\r\n {this.state.isInfoDataLoaded ? (\r\n
\r\n
\r\n

\r\n {this.state.lang.AppointmentInfo}\r\n

\r\n\r\n
\r\n
\r\n {this.state.response !== null ? (\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n \r\n ) : null}\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default ModifyAppointment;\r\n","import React, { Component } from \"react\";\r\n\r\nimport { Empty } from \"antd\";\r\n\r\nimport * as handler from \"../components/utils/handler\";\r\n\r\nimport Container from \"../components/container/container\";\r\nimport Content from \"../components/container/content/content\";\r\nimport ModalHead from \"../components/modal-head/modalHead\";\r\nimport Card from \"../components/utils/card\";\r\n\r\nclass TicketCalled extends Component {\r\n state = { lang: {} };\r\n UI = window[\"app-config\"].ui;\r\n componentDidMount() {\r\n this.setState({ lang: handler.setTranslations() });\r\n handler.blinkText(\"#blink\");\r\n }\r\n\r\n render() {\r\n let ticket_number = \"\";\r\n let branch = \"\";\r\n if (\r\n JSON.parse(localStorage.getItem(\"prevState\")) !== null ||\r\n JSON.parse(localStorage.getItem(\"prevCheckedInData\")) !== null\r\n ) {\r\n ticket_number =\r\n JSON.parse(localStorage.getItem(\"prevState\")) !== null\r\n ? JSON.parse(localStorage.getItem(\"prevState\")).response.data\r\n .ticket_info !== undefined\r\n ? JSON.parse(localStorage.getItem(\"prevState\")).response.data\r\n .ticket_info.ticket_no\r\n : JSON.parse(localStorage.getItem(\"prevState\")).response.data\r\n .ticket_number_f\r\n : JSON.parse(localStorage.getItem(\"prevCheckedInData\"))\r\n .issueTicketResponse.data.ticket_info.ticket_no;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.state.lang.TicketCalledHeading}\r\n \r\n \r\n
\r\n \r\n \r\n {ticket_number}\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default TicketCalled;\r\n","import React from \"react\";\r\n\r\nconst Card = ({\r\n height = \"300px\",\r\n width = \"300px\",\r\n backgroundColor = \"#fff\",\r\n color = \"#000\",\r\n paddingTop = \"55px\",\r\n borderRadius = \"8px\",\r\n children,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default Card;\r\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","module.exports = __webpack_public_path__ + \"static/media/spain-flag.31fce790.png\";","module.exports = __webpack_public_path__ + \"static/media/pakistan-flag.a6399c4c.png\";","module.exports = __webpack_public_path__ + \"static/media/uk-flag.bd640a98.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAD6CAIAAADYySIZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk1REZBNERBMEQyQzExRTZCRkMzRjVBRjdCOTk2RTBGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk1REZBNERCMEQyQzExRTZCRkMzRjVBRjdCOTk2RTBGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTVERkE0RDgwRDJDMTFFNkJGQzNGNUFGN0I5OTZFMEYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTVERkE0RDkwRDJDMTFFNkJGQzNGNUFGN0I5OTZFMEYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7HDMEPAAADXElEQVR42uzYwUnEQBiG4ZlNVDBZJCBeveVmCRbgzVY8Wo1t7FHwHrABK1gPC4KabDIWITML4XlK+A7v/Ewcuj5QUD2nz231+Hx72FZhTgYBctiYAEDcARB3AMQdAHEHQNwBxB0AcQdA3AEQdwDEHUDcARB3AMQdAHEHQNwBEHcAcQdA3AEQdwDEHQBxBxB3AMQdAHEHQNwBEHcAxB1A3AEQdwDEHQBxB0DcAcQdAHEHQNwBEHcAxB0AcQcQdwDEHQBxB0DcARB3AHEHQNwBEHcAxB0AcQdA3AHEHQBxB0DcARB3AMQdQNwBEHcAxB0AcQdA3AEQdwBxB0DcARB3AMQdAHEHEHcAxB0AcQdA3AEQdwDEHUDcARB3AMQdAHEHQNwBxB0AcQdA3AEQdwD+pzZBeSmkr+knTJswJ2sA4r4Gc1raunm5fzpeNSGJO5BFHLreCkXP9ul4dnN99/4W2nNrAJn4cz9F30Oap287AOIOgLgDiDsA4g6AuAMg7gCIOwDiDiDuAIg7AOIOgLgDIO4A4g6AuAMg7gCIOwDiDoC4A4g7AOIOgLgDIO4AiDuAuAMg7gCIOwDiDoC4AyDuAOIOgLgDIO4AiDsA4g4g7gCIOwDiDoC4AyDuAIg7gLgDIO4AiDsA4g6AuAOIOwDiDoC4AyDuAIg7AOIOIO4AiDsA4g6AuAMg7gDiDoC4AyDuAIg7AOIOgLgDiDsA4g6AuAMg7gCIO4C4AyDuAIg7AOIOgLgDIO4A4g6AuAMg7gCIOwDiDiDulBJjrJrGDkA+tQnKl30cx9fdbmkvrQHkSs3Q9VYo+5zG/TI9HD5+bQFk41vmNMf7heUBcV9l340AiDsA4g4g7gCIOwDiDoC4AyDuAIg7gLgDIO4AiDsA4g6AuAOIOwDiDoC4AyDuAIg7AOIOIO4AiDsA4g6AuAMg7gDiDoC4AyDuAIg7AOIOgLgDiDsA4g6AuAMg7gCIO4C4AyDuAIg7AOIOgLgDIO4A4g6AuAMg7gCIOwDiDiDuAIg7AOIOgLgDIO4AiDuAuAMg7gCIOwDiDoC4A4g7AOIOgLgDIO4AiDsA4g4g7gCIOwDiDoC4AyDuAOIOgLgDIO4AiDsA4g6AuAOIOwDiDoC4AyDuAIg7gLgDsBZ/AgwAEB8xfRfdu/EAAAAASUVORK5CYIIxNzcy\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-02-24 15:49:21\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2020-11-03 10:46:48\r\n */\r\n\r\nimport axios from \"axios\";\r\nconst queryString = require(\"query-string\");\r\nexport class DataService {\r\n URL = window[\"app-config\"].URL;\r\n defaultLang = window[\"app-config\"].defaultLang;\r\n centralServerCommunication =\r\n window[\"app-config\"].applicationProperties.centralServerCommunication;\r\n timeoutInterval = window[\"app-config\"].applicationProperties.requestTimeout;\r\n regionId = window[\"app-config\"].regionId;\r\n\r\n queryStringBranchCode = queryString.parse(window.location.search);\r\n branchCode = this.queryStringBranchCode.branchCode;\r\n\r\n queryStringlang = queryString.parse(window.location.search);\r\n lang =\r\n this.queryStringlang.lang === undefined\r\n ? this.defaultLang\r\n : this.queryStringlang.lang;\r\n\r\n /* GET REQUEST */\r\n getDeviceDetails = async () => {\r\n let url = `${this.URL.apiUrl}PhoneCustomInfo`;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.get(this.URL.apiUrl + \"PhoneCustomInfo\");\r\n return response;\r\n }\r\n };\r\n\r\n getCategoriesByBranchId = async (branchId) => {\r\n let url = `${this.URL.apiUrl}Categories/${branchId}|${\r\n this.lang === \"es\" ? \"Sp\" : this.lang\r\n }`;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.get(url);\r\n return response;\r\n }\r\n };\r\n\r\n getGroupCategoriesListByBranchId = async (branchId) => {\r\n let url = `${this.URL.apiUrl}GetGroupCategoriesList/${branchId}|${\r\n this.lang === \"es\" ? \"Sp\" : this.lang\r\n }`;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.get(url);\r\n return response;\r\n }\r\n };\r\n\r\n getAllBranches = async () => {\r\n let url = `${this.URL.apiUrl}GetBranchList/2|${\r\n this.lang === \"es\" ? \"Sp\" : this.lang\r\n }|${this.regionId}`;\r\n if (\r\n this.centralServerCommunication === false &&\r\n this.branchCode === undefined\r\n ) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else if (this.branchCode === undefined) {\r\n let response = axios.get(url, { timeout: this.timeoutInterval });\r\n return response;\r\n }\r\n };\r\n\r\n getSingleBranchDetails = async () => {\r\n let url = `${this.URL.apiUrl}GetSingleBranchDetails/2|${\r\n this.lang === \"es\" ? \"Sp\" : this.lang\r\n }|branch_code=${this.branchCode}`;\r\n\r\n if (\r\n this.centralServerCommunication === false &&\r\n this.branchCode !== undefined\r\n ) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else if (this.branchCode !== undefined) {\r\n let response = axios.get(url);\r\n return response;\r\n }\r\n };\r\n\r\n cancelAppointment = async (\r\n AppointmentNumber,\r\n categoryId,\r\n BranchId,\r\n Email\r\n ) => {\r\n let url = `${\r\n this.URL.apiUrl\r\n }CancelAppointmentTicket/${AppointmentNumber}|${categoryId}|${BranchId}|${Email}|${\r\n this.lang === \"es\" ? \"Sp\" : this.lang\r\n }`;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.get(url);\r\n console.log(\r\n \"APPT NO: \",\r\n AppointmentNumber,\r\n \" Category: \",\r\n categoryId,\r\n \" Branch: \",\r\n BranchId,\r\n \" Email: \",\r\n Email\r\n );\r\n return response;\r\n }\r\n };\r\n\r\n issueTicket = async (\r\n branchId,\r\n categoryId,\r\n priority,\r\n email,\r\n deviceType,\r\n language,\r\n Payload1,\r\n Payload2,\r\n Payload3,\r\n Payload4,\r\n Payload7\r\n ) => {\r\n let url = `${this.URL.apiUrl}issueTicket/${branchId}|${categoryId}|${priority}|${email}|${deviceType}|-|-|${language}|-|${Payload1}|${Payload2}|${Payload3}|${Payload4}|-|${language}|${Payload7}`;\r\n console.log(\r\n \"DATA : \",\r\n branchId,\r\n categoryId,\r\n priority,\r\n email,\r\n deviceType,\r\n \" PAYLOADS : \",\r\n {\r\n P1: Payload1,\r\n P2: Payload2,\r\n P3: Payload3,\r\n P4: Payload4,\r\n P7: Payload7,\r\n }\r\n );\r\n console.log(\"ISSUE TICKET URL\", url);\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n\r\n return response.data;\r\n } else {\r\n let response = axios.get(url);\r\n\r\n console.log(branchId, categoryId, priority, email, deviceType);\r\n return response;\r\n }\r\n };\r\n\r\n issueTicketQR = async (\r\n branchId,\r\n categoryId,\r\n prefix,\r\n priority,\r\n payload1,\r\n payload2,\r\n payload3,\r\n payload4,\r\n payload5,\r\n language,\r\n payload7,\r\n payload8,\r\n payload9,\r\n payload10\r\n ) => {\r\n let url = `${this.URL.QRticketUrl}IssueTicketFromWebTicketing?BranchId=${branchId}&SQN=${categoryId}&prefix=${prefix}&Payload1=${payload1}&Payload2=${payload2}&Payload3=${payload3}&Payload4=${payload4}&Payload5=${payload5}&Payload6=${language}&Payload7=${payload7}&Payload8=${payload8}&Payload9=${payload9}&Payload10=${payload10}&priority=${priority}`;\r\n console.log(\"ISSUE QR TICKET URL\", url);\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n\r\n return response.data;\r\n } else {\r\n let response = axios.get(url);\r\n return response;\r\n }\r\n };\r\n\r\n cancelQrTicket = async (branchId, branchCode, ticketId) => {\r\n let url = `${this.URL.QRticketUrl}CancelTicketFromWebTicketing?BranchId=${branchId}&BranchCode=${branchCode}&TicketId=${ticketId}&CancelReason=Cancel`;\r\n\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n console.log(\"CANCEL QR TICKET URL\", url);\r\n return response.data;\r\n } else {\r\n let response = axios.get(url);\r\n return response;\r\n }\r\n };\r\n\r\n issueTicketSpectra = (postObject) => {\r\n let url = \"\";\r\n if (this.centralServerCommunication === false) {\r\n let response = axios.post(url, postObject);\r\n return response;\r\n }\r\n };\r\n\r\n cancelTicket = async (\r\n email,\r\n ticketId,\r\n branchId,\r\n language,\r\n ticketNumber,\r\n SQN,\r\n phoneNumber\r\n ) => {\r\n let url = `${this.URL.apiUrl}cancelTicket/${email}|${ticketId}|${branchId}|${language}|${ticketNumber}|${SQN}|${phoneNumber}`;\r\n console.log(\"CANCEL TICKET URL: \", url);\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.get(url);\r\n return response;\r\n }\r\n };\r\n\r\n markAppointmentUsedAfterTicketIssue = async (\r\n appointmentNumber,\r\n emailAddress,\r\n ticketNumber\r\n ) => {\r\n let url = `${this.URL.apiUrl}TicketIssuedForAppointment/${appointmentNumber}|${emailAddress}|${ticketNumber}`;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.get(url);\r\n return response;\r\n }\r\n };\r\n\r\n verifyAppointmentInfo = async (\r\n email,\r\n phoneNumber,\r\n appointmentNumber,\r\n branchIp\r\n ) => {\r\n // let url = `${this.URL.apiUrl}VerifyAppointmentInfo/||||${appointmentNumber}||${branchIp}`;\r\n let url = `${this.URL.apiUrl}VerifyAppointmentInfo/||${email}|${phoneNumber}|${appointmentNumber}||${branchIp}`;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: null,\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n console.log(\"VERIFY APPOINTMENT URL\", url);\r\n return response.data;\r\n } else {\r\n let response = axios.get(url);\r\n return response;\r\n }\r\n };\r\n\r\n /* POST REQUEST */\r\n\r\n getDateTimeSlots = async (\r\n BranchID,\r\n CategoryID,\r\n AppointmentDate,\r\n AppointmentAheadDays\r\n ) => {\r\n let url = `${this.URL.apiUrl}GetAllDaysSlotsOfBranch`;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: {\r\n BranchID: BranchID,\r\n CategoryID: CategoryID,\r\n AppointmentDate: AppointmentDate,\r\n AppointmentAHeadDays: AppointmentAheadDays,\r\n },\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.post(this.URL.apiUrl + \"GetAllDaysSlotsOfBranch\", {\r\n BranchID: BranchID,\r\n CategoryID: CategoryID,\r\n AppointmentDate: AppointmentDate,\r\n AppointmentAHeadDays: AppointmentAheadDays,\r\n });\r\n return response;\r\n }\r\n };\r\n\r\n issueAppointment = async (\r\n CategoryID,\r\n BranchID,\r\n BranchTitle,\r\n BranchAddress,\r\n BranchContactNo,\r\n SlotID,\r\n DeviceType,\r\n AppointmentDate,\r\n UserID,\r\n Flag,\r\n IsReschedule,\r\n Payloads,\r\n Lang,\r\n SlotTime\r\n ) => {\r\n let url = `${this.URL.apiUrl}IssueAppointmentTicket`;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: {\r\n categoryid: CategoryID,\r\n branchid: BranchID,\r\n branchTitle: BranchTitle,\r\n branchAddress: BranchAddress,\r\n branchPhoneNumber: BranchContactNo,\r\n slotid: SlotID,\r\n deviceType: DeviceType,\r\n appointmentDate: AppointmentDate,\r\n userId: UserID,\r\n flag: Flag,\r\n isReschedule: IsReschedule,\r\n payloads: Payloads,\r\n lang: Lang,\r\n slotTime: SlotTime,\r\n },\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.post(this.URL.apiUrl + \"IssueAppointmentTicket\", {\r\n categoryid: CategoryID,\r\n branchid: BranchID,\r\n branchTitle: BranchTitle,\r\n branchAddress: BranchAddress,\r\n branchPhoneNumber: BranchContactNo,\r\n slotid: SlotID,\r\n deviceType: DeviceType,\r\n appointmentDate: AppointmentDate,\r\n userId: UserID,\r\n flag: Flag,\r\n isReschedule: IsReschedule,\r\n payloads: Payloads,\r\n lang: Lang,\r\n slotTime: SlotTime,\r\n });\r\n return response;\r\n }\r\n };\r\n\r\n rescheduleAppointment = async (\r\n PrevAppointmentNumber,\r\n PreviousApptCategoryId,\r\n CategoryID,\r\n BranchID,\r\n BranchTitle,\r\n BranchAddress,\r\n BranchContactNo,\r\n SlotID,\r\n DeviceType,\r\n AppointmentDate,\r\n UserID,\r\n Flag,\r\n IsReschedule,\r\n Payloads,\r\n Lang,\r\n SlotTime\r\n ) => {\r\n let url = `${this.URL.apiUrl}RescheduleAppointmentTicket`;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: {\r\n prevAppointmentNumber: PrevAppointmentNumber,\r\n previousApptCategoryId: PreviousApptCategoryId,\r\n categoryid: CategoryID,\r\n branchid: BranchID,\r\n branchTitle: BranchTitle,\r\n branchAddress: BranchAddress,\r\n branchPhoneNumber: BranchContactNo,\r\n slotid: SlotID,\r\n deviceType: DeviceType,\r\n appointmentDate: AppointmentDate,\r\n userId: UserID,\r\n flag: Flag,\r\n isReschedule: IsReschedule,\r\n payloads: Payloads,\r\n lang: Lang,\r\n slotTime: SlotTime,\r\n },\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.post(this.URL.apiUrl + \"RescheduleAppointmentTicket\", {\r\n prevAppointmentNumber: PrevAppointmentNumber,\r\n previousApptCategoryId: PreviousApptCategoryId,\r\n categoryid: CategoryID,\r\n branchid: BranchID,\r\n branchTitle: BranchTitle,\r\n branchAddress: BranchAddress,\r\n branchPhoneNumber: BranchContactNo,\r\n slotid: SlotID,\r\n deviceType: DeviceType,\r\n appointmentDate: AppointmentDate,\r\n userId: UserID,\r\n flag: Flag,\r\n isReschedule: IsReschedule,\r\n payloads: Payloads,\r\n lang: Lang,\r\n slotTime: SlotTime,\r\n });\r\n return response;\r\n }\r\n };\r\n\r\n getTicketStatus = async (branchId, ticketId, ticketNumber, categoryId) => {\r\n let url = `${this.URL.apiUrl}GetTicketStatus`;\r\n let isLobbyLeader =\r\n window[\"app-config\"].applicationProperties.isLobbyLeader;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: {\r\n branch_id: branchId,\r\n ticket_id: ticketId,\r\n ticket_number: ticketNumber,\r\n category_id: categoryId,\r\n is_lobby_leader: isLobbyLeader,\r\n },\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.post(url, {\r\n branch_id: branchId,\r\n ticket_id: ticketId,\r\n ticket_number: ticketNumber,\r\n category_id: categoryId,\r\n is_lobby_leader: isLobbyLeader,\r\n });\r\n\r\n return response;\r\n }\r\n };\r\n\r\n getAppointmentInfo = async (appointmentNumber, email, phoneNumber) => {\r\n let url = `${this.URL.apiUrl}GetAllDaysSlotsOfBranch`;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: {\r\n appointment_number: appointmentNumber,\r\n email: email,\r\n cell_number: phoneNumber,\r\n },\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.post(this.URL.apiUrl + \"GetAppointmentInfo\", {\r\n appointment_number: appointmentNumber,\r\n email: email,\r\n cell_number: phoneNumber,\r\n });\r\n return response;\r\n }\r\n };\r\n\r\n getEstimatedWaitTime = async (branchId, Sqn) => {\r\n let url = `${this.URL.apiUrl}GetEstWaitTime`;\r\n if (this.centralServerCommunication === false) {\r\n let response = await axios.post(\r\n this.URL.messagingServerUrl,\r\n {\r\n payload: url,\r\n centralServerIp: this.URL.centralServerIp,\r\n body: {\r\n BranchId: branchId,\r\n SQN: Sqn,\r\n },\r\n },\r\n { timeout: this.timeoutInterval }\r\n );\r\n return response.data;\r\n } else {\r\n let response = axios.post(url, {\r\n BranchId: branchId,\r\n SQN: Sqn,\r\n });\r\n return response;\r\n }\r\n };\r\n}\r\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-02-24 15:49:21\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2020-11-09 13:25:09\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport { Spin } from \"antd\";\r\nimport Flags from \"../country-flags/Flags\";\r\nimport * as handler from \"../utils/handler\";\r\nconst queryString = require(\"query-string\");\r\n\r\nclass ModalHead extends Component {\r\n changeLocationUrl = window[\"app-config\"].URL.changeLocationUrl;\r\n defaultLanguage = window[\"app-config\"].defaultLang;\r\n runApp = window[\"app-config\"].runApp;\r\n logo = window[\"app-config\"].ui.logo;\r\n headerBackGround = window[\"app-config\"].ui.header.backGroundColor;\r\n headerFontColor = window[\"app-config\"].ui.header.fontColor;\r\n\r\n state = {\r\n lang: {},\r\n };\r\n\r\n componentDidMount() {\r\n this.setState({ lang: handler.setTranslations() });\r\n }\r\n\r\n render() {\r\n if (this.props.heading !== null) {\r\n return (\r\n \r\n
\r\n
\r\n \r\n

\r\n \r\n {this.props.heading}\r\n \r\n

\r\n
\r\n {this.logo.showLogo === true ? (\r\n \r\n ) : null}\r\n
\r\n \r\n \r\n \r\n );\r\n } else if (this.runApp.toLowerCase() !== \"samsung\") {\r\n return (\r\n \r\n
\r\n
\r\n \r\n

\r\n \r\n {/* {this.props.heading} */}\r\n {this.state.lang.StaticHeaderHeading}\r\n \r\n

\r\n
\r\n {this.logo.showLogo === true ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n
\r\n

\r\n \r\n {this.props.address !== undefined &&\r\n this.props.address.length > 0 &&\r\n this.props.address[0] !== null ? (\r\n this.props.address[0].BranchTitle + \" | \"\r\n ) : (\r\n \r\n )}\r\n\r\n {this.props.address !== undefined &&\r\n this.props.address.length > 0 &&\r\n this.props.address[0] !== null\r\n ? this.props.address[0].Address\r\n : null}\r\n \r\n

\r\n {this.runApp === \"samsung\" ? (\r\n \r\n {this.state.lang.ChangeLocation}\r\n \r\n ) : null}\r\n
\r\n {this.logo.showLogo === true ? (\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default ModalHead;\r\n","import React from \"react\";\nimport loader from \"../../assets/images/loader.gif\";\nconst Loader = () => {\n return (\n
\n
\n
\n \n
\n
\n
\n );\n};\n\nexport default Loader;\n","/*\r\n * @Author: Mufaddal Jamali\r\n * @Date: 2020-03-16 15:48:27\r\n * @Last Modified by: Mufaddal Jamali\r\n * @Last Modified time: 2020-03-16 15:48:27\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport $ from \"jquery\";\r\n\r\nconst PrimaryButton = (props) => {\r\n let nextAndBackBtn = window[\"app-config\"].ui.header.backGroundColor;\r\n $(document).ready(function () {\r\n $(\".primaryBtn\").css(\"background-color\", props.bgColor);\r\n $(\".primaryBtn\").css(\"border-color\", props.bgColor);\r\n });\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default PrimaryButton;\r\n","var map = {\n\t\"./\": [\n\t\t174,\n\t\t9\n\t],\n\t\"./App\": [\n\t\t191,\n\t\t9\n\t],\n\t\"./App.css\": [\n\t\t843,\n\t\t7,\n\t\t18\n\t],\n\t\"./App.js\": [\n\t\t191,\n\t\t9\n\t],\n\t\"./App.test\": [\n\t\t437,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t9\n\t],\n\t\"./App.test.js\": [\n\t\t437,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t9\n\t],\n\t\"./README.md\": [\n\t\t844,\n\t\t7,\n\t\t21\n\t],\n\t\"./assets/fonts/Montserrat-Bold.ttf\": [\n\t\t845,\n\t\t7,\n\t\t22\n\t],\n\t\"./assets/fonts/Montserrat-Light.ttf\": [\n\t\t846,\n\t\t7,\n\t\t23\n\t],\n\t\"./assets/fonts/Montserrat-Medium.ttf\": [\n\t\t847,\n\t\t7,\n\t\t24\n\t],\n\t\"./assets/fonts/Montserrat-Regular.ttf\": [\n\t\t848,\n\t\t7,\n\t\t25\n\t],\n\t\"./assets/fonts/Montserrat-SemiBold.ttf\": [\n\t\t849,\n\t\t7,\n\t\t26\n\t],\n\t\"./assets/fonts/SamsungSharpSans-Bold.ttf\": [\n\t\t850,\n\t\t7,\n\t\t27\n\t],\n\t\"./assets/fonts/SamsungSharpSans-Medium.ttf\": [\n\t\t851,\n\t\t7,\n\t\t28\n\t],\n\t\"./assets/fonts/SamsungSharpSans-Regular.ttf\": [\n\t\t852,\n\t\t7,\n\t\t29\n\t],\n\t\"./assets/images/calender_gry.png\": [\n\t\t281,\n\t\t7\n\t],\n\t\"./assets/images/calender_gry@2x.png\": [\n\t\t853,\n\t\t7,\n\t\t32\n\t],\n\t\"./assets/images/calender_org.png\": [\n\t\t208,\n\t\t7\n\t],\n\t\"./assets/images/calender_org@2x.png\": [\n\t\t854,\n\t\t7,\n\t\t33\n\t],\n\t\"./assets/images/loader.gif\": [\n\t\t159,\n\t\t7\n\t],\n\t\"./assets/images/location-white.png\": [\n\t\t280,\n\t\t7\n\t],\n\t\"./assets/images/location.png\": [\n\t\t279,\n\t\t7\n\t],\n\t\"./assets/images/location@2x.png\": [\n\t\t855,\n\t\t7,\n\t\t34\n\t],\n\t\"./assets/images/logo_green.svg\": [\n\t\t856,\n\t\t7,\n\t\t30\n\t],\n\t\"./assets/images/pakistan-flag.png\": [\n\t\t275,\n\t\t7\n\t],\n\t\"./assets/images/spain-flag.png\": [\n\t\t274,\n\t\t7\n\t],\n\t\"./assets/images/uae-flag.png\": [\n\t\t277,\n\t\t7\n\t],\n\t\"./assets/images/uk-flag.png\": [\n\t\t276,\n\t\t7\n\t],\n\t\"./assets/images/wavetec-title.png\": [\n\t\t857,\n\t\t7,\n\t\t35\n\t],\n\t\"./assets/images/wavetecFooter.jpeg\": [\n\t\t858,\n\t\t7,\n\t\t36\n\t],\n\t\"./assets/styles/AppNotFound.css\": [\n\t\t404,\n\t\t7\n\t],\n\t\"./assets/styles/Glovo.css\": [\n\t\t434,\n\t\t7,\n\t\t5\n\t],\n\t\"./assets/styles/Leroy.css\": [\n\t\t435,\n\t\t7,\n\t\t6\n\t],\n\t\"./assets/styles/Samsung.css\": [\n\t\t436,\n\t\t7,\n\t\t7\n\t],\n\t\"./components/app-not-found/notFound\": [\n\t\t209,\n\t\t9\n\t],\n\t\"./components/app-not-found/notFound.jsx\": [\n\t\t209,\n\t\t9\n\t],\n\t\"./components/booking-summary/Booking-Summary\": [\n\t\t139,\n\t\t9\n\t],\n\t\"./components/booking-summary/Booking-Summary.jsx\": [\n\t\t139,\n\t\t9\n\t],\n\t\"./components/container/container\": [\n\t\t108,\n\t\t9\n\t],\n\t\"./components/container/container.jsx\": [\n\t\t108,\n\t\t9\n\t],\n\t\"./components/container/content/content\": [\n\t\t109,\n\t\t9\n\t],\n\t\"./components/container/content/content.jsx\": [\n\t\t109,\n\t\t9\n\t],\n\t\"./components/country-flags/Flags\": [\n\t\t160,\n\t\t9\n\t],\n\t\"./components/country-flags/Flags.jsx\": [\n\t\t160,\n\t\t9\n\t],\n\t\"./components/footer/footer\": [\n\t\t112,\n\t\t9\n\t],\n\t\"./components/footer/footer.jsx\": [\n\t\t112,\n\t\t9\n\t],\n\t\"./components/journey/journey\": [\n\t\t129,\n\t\t9\n\t],\n\t\"./components/journey/journey.jsx\": [\n\t\t129,\n\t\t9\n\t],\n\t\"./components/loader/loader\": [\n\t\t45,\n\t\t9\n\t],\n\t\"./components/loader/loader.jsx\": [\n\t\t45,\n\t\t9\n\t],\n\t\"./components/map-branch-selection/branchSelection\": [\n\t\t438,\n\t\t9,\n\t\t4\n\t],\n\t\"./components/map-branch-selection/branchSelection.jsx\": [\n\t\t438,\n\t\t9,\n\t\t4\n\t],\n\t\"./components/map-marker/marker\": [\n\t\t428,\n\t\t9,\n\t\t10\n\t],\n\t\"./components/map-marker/marker.jsx\": [\n\t\t428,\n\t\t9,\n\t\t10\n\t],\n\t\"./components/modal-head/modalHead\": [\n\t\t42,\n\t\t9\n\t],\n\t\"./components/modal-head/modalHead.jsx\": [\n\t\t42,\n\t\t9\n\t],\n\t\"./components/phase/phase\": [\n\t\t163,\n\t\t9\n\t],\n\t\"./components/phase/phase.jsx\": [\n\t\t163,\n\t\t9\n\t],\n\t\"./components/preparation/preparation\": [\n\t\t207,\n\t\t9\n\t],\n\t\"./components/preparation/preparation.jsx\": [\n\t\t207,\n\t\t9\n\t],\n\t\"./components/slot/slot\": [\n\t\t206,\n\t\t9\n\t],\n\t\"./components/slot/slot.jsx\": [\n\t\t206,\n\t\t9\n\t],\n\t\"./components/utils/card\": [\n\t\t215,\n\t\t9\n\t],\n\t\"./components/utils/card.jsx\": [\n\t\t215,\n\t\t9\n\t],\n\t\"./components/utils/dangerButton\": [\n\t\t97,\n\t\t9\n\t],\n\t\"./components/utils/dangerButton.jsx\": [\n\t\t97,\n\t\t9\n\t],\n\t\"./components/utils/handler\": [\n\t\t2,\n\t\t9\n\t],\n\t\"./components/utils/handler.js\": [\n\t\t2,\n\t\t9\n\t],\n\t\"./components/utils/iconButton\": [\n\t\t131,\n\t\t9\n\t],\n\t\"./components/utils/iconButton.jsx\": [\n\t\t131,\n\t\t9\n\t],\n\t\"./components/utils/primaryButton\": [\n\t\t78,\n\t\t9\n\t],\n\t\"./components/utils/primaryButton.jsx\": [\n\t\t78,\n\t\t9\n\t],\n\t\"./components/utils/refreshButton\": [\n\t\t130,\n\t\t9\n\t],\n\t\"./components/utils/refreshButton.jsx\": [\n\t\t130,\n\t\t9\n\t],\n\t\"./components/utils/secondaryButton\": [\n\t\t137,\n\t\t9\n\t],\n\t\"./components/utils/secondaryButton.jsx\": [\n\t\t137,\n\t\t9\n\t],\n\t\"./containers/appInfo\": [\n\t\t212,\n\t\t9\n\t],\n\t\"./containers/appInfo.jsx\": [\n\t\t212,\n\t\t9\n\t],\n\t\"./containers/branchSelection\": [\n\t\t164,\n\t\t9\n\t],\n\t\"./containers/branchSelection.jsx\": [\n\t\t164,\n\t\t9\n\t],\n\t\"./containers/categorySelection\": [\n\t\t210,\n\t\t9\n\t],\n\t\"./containers/categorySelection.jsx\": [\n\t\t210,\n\t\t9\n\t],\n\t\"./containers/checkIn\": [\n\t\t211,\n\t\t9\n\t],\n\t\"./containers/checkIn.jsx\": [\n\t\t211,\n\t\t9\n\t],\n\t\"./containers/confirmedAppointment\": [\n\t\t138,\n\t\t9\n\t],\n\t\"./containers/confirmedAppointment.jsx\": [\n\t\t138,\n\t\t9\n\t],\n\t\"./containers/deviceDetails\": [\n\t\t202,\n\t\t9\n\t],\n\t\"./containers/deviceDetails.jsx\": [\n\t\t202,\n\t\t9\n\t],\n\t\"./containers/main\": [\n\t\t201,\n\t\t9\n\t],\n\t\"./containers/main.jsx\": [\n\t\t201,\n\t\t9\n\t],\n\t\"./containers/modifyAppointment\": [\n\t\t213,\n\t\t9\n\t],\n\t\"./containers/modifyAppointment.jsx\": [\n\t\t213,\n\t\t9\n\t],\n\t\"./containers/serviceDetails\": [\n\t\t205,\n\t\t9\n\t],\n\t\"./containers/serviceDetails.jsx\": [\n\t\t205,\n\t\t9\n\t],\n\t\"./containers/slots\": [\n\t\t135,\n\t\t9\n\t],\n\t\"./containers/slots.jsx\": [\n\t\t135,\n\t\t9\n\t],\n\t\"./containers/ticketCalled\": [\n\t\t214,\n\t\t9\n\t],\n\t\"./containers/ticketCalled.jsx\": [\n\t\t214,\n\t\t9\n\t],\n\t\"./containers/userDetails\": [\n\t\t136,\n\t\t9\n\t],\n\t\"./containers/userDetails.jsx\": [\n\t\t136,\n\t\t9\n\t],\n\t\"./custom.module.css\": [\n\t\t859,\n\t\t7,\n\t\t20\n\t],\n\t\"./dark.css\": [\n\t\t433,\n\t\t7,\n\t\t8\n\t],\n\t\"./data/deviceDetails\": [\n\t\t203,\n\t\t3\n\t],\n\t\"./data/deviceDetails.json\": [\n\t\t203,\n\t\t3\n\t],\n\t\"./firebase\": [\n\t\t439,\n\t\t9,\n\t\t3,\n\t\t11\n\t],\n\t\"./firebase.js\": [\n\t\t439,\n\t\t9,\n\t\t3,\n\t\t11\n\t],\n\t\"./index\": [\n\t\t174,\n\t\t9\n\t],\n\t\"./index.css\": [\n\t\t860,\n\t\t7,\n\t\t19\n\t],\n\t\"./index.js\": [\n\t\t174,\n\t\t9\n\t],\n\t\"./logo.svg\": [\n\t\t861,\n\t\t7,\n\t\t31\n\t],\n\t\"./package\": [\n\t\t441,\n\t\t3,\n\t\t14\n\t],\n\t\"./package-lock\": [\n\t\t440,\n\t\t3,\n\t\t13\n\t],\n\t\"./package-lock.json\": [\n\t\t440,\n\t\t3,\n\t\t13\n\t],\n\t\"./package.json\": [\n\t\t441,\n\t\t3,\n\t\t14\n\t],\n\t\"./serviceWorker\": [\n\t\t217,\n\t\t9\n\t],\n\t\"./serviceWorker.js\": [\n\t\t217,\n\t\t9\n\t],\n\t\"./services/data.service\": [\n\t\t38,\n\t\t9\n\t],\n\t\"./services/data.service.js\": [\n\t\t38,\n\t\t9\n\t],\n\t\"./setupTests\": [\n\t\t442,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12\n\t],\n\t\"./setupTests.js\": [\n\t\t442,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1])\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 839;\nmodule.exports = webpackAsyncContext;","import React from \"react\";\r\n\r\nconst DangerButton = ({ color, text, onClick, disabled = false }) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n};\r\n\r\nexport default DangerButton;\r\n"],"sourceRoot":""}